@import url("https://fonts.googleapis.com/css2?family=Nanum+Pen+Script&display=swap");:root{color-scheme:light;--bg:#faf5ff;--surface:#fff;--surface-strong:#ede9fe;--text:#1e1b4b;--muted:#6b7280;--line:#c4b5fd;--accent:#8b5cf6;--accent-strong:#7c3aed;--accent-soft:#f5f3ff;--ink:#5b21b6;--good:#0c7a53;--warn:#b45309;--bad:#b91c1c}*{box-sizing:border-box}body{margin:0;font-family:inherit;background:#fff;color:var(--text);min-height:100vh}a{color:var(--accent-strong);font-weight:700}main{max-width:960px;margin:0 auto;padding:2rem 1rem 3rem;display:grid;grid-gap:1rem;gap:1rem}.card{background:linear-gradient(180deg,var(--surface) 0,#f8f5ff 100%);border:1px solid var(--line);border-radius:20px;padding:1.25rem;box-shadow:0 10px 26px rgba(139,92,246,.12)}.stack{display:grid;grid-gap:.75rem;gap:.75rem}h1,h2,h3{margin:0;line-height:1.1}.eyebrow{margin:0;font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:var(--accent-strong);font-weight:800}.heroCard{background:linear-gradient(180deg,#fff,#ede9fe);border:1px solid var(--line);border-radius:24px;box-shadow:0 16px 34px rgba(139,92,246,.16);padding:1.4rem;display:grid;grid-gap:.9rem;gap:.9rem}.heroMeta{display:flex;flex-wrap:wrap;gap:.45rem}.heroMeta span{border:1px solid #c4b5fd;background:#f5f3ff;border-radius:999px;padding:.24rem .56rem;font-size:.82rem;font-weight:700}.ctaLink{display:inline-flex;width:-moz-fit-content;width:fit-content;border-radius:999px;background:linear-gradient(120deg,var(--accent) 0,var(--accent-strong) 100%);color:#fff;text-decoration:none;font-weight:800;padding:.72rem 1.05rem;box-shadow:0 8px 16px rgba(139,92,246,.22)}.miniInfoRow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.6rem;gap:.6rem}.miniInfoCard{border:1px solid var(--line);border-radius:14px;padding:.75rem;background:#f5f3ff}.miniInfoCard p{margin:.3rem 0 0;font-size:.92rem}input{width:100%;padding:.65rem;border:1px solid #d6c3b7;border-radius:10px;background:#fff}button{border:0;border-radius:999px;padding:.65rem 1rem;background:linear-gradient(120deg,var(--accent) 0,var(--accent-strong) 100%);color:#fff;cursor:pointer;font-weight:700}button:disabled{opacity:.5;cursor:not-allowed}a:focus-visible,button:focus-visible{outline:2px solid #8b5cf6;outline-offset:2px}.muted{color:var(--muted);font-size:.95rem}.danger{color:var(--bad)}select{width:100%;margin-top:.35rem;padding:.5rem .55rem;border-radius:10px;border:1px solid #d6c3b7;background:#fff}.pillRow{gap:.5rem}.pillRow,.statsBar{display:flex;flex-wrap:wrap}.statsBar{gap:.75rem}.statsBar p{margin:0;font-size:.84rem;background:var(--surface-strong);border:1px solid #f0d6b8;border-radius:999px;padding:.28rem .65rem;color:#4c343b}.pill{background:#ffe9d9;color:#5d3330}.activePill{background:linear-gradient(120deg,var(--ink) 0,#24425f 100%);color:#fff}.controlGrid{display:grid;grid-gap:.75rem;gap:.75rem}.controlGrid.twoCols{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.languagePanel{display:grid;grid-gap:.5rem;gap:.5rem;border:1px solid var(--line);border-radius:12px;background:#fff8ef;padding:.8rem}.languageSearchInput{margin-top:.35rem;margin-bottom:.45rem}.languageList{display:grid;grid-gap:.65rem;gap:.65rem;max-height:260px;overflow:auto;border:1px solid #f0d6b8;border-radius:10px;padding:.6rem;background:#fffdf8}.languageGroup{display:grid;grid-gap:.45rem;gap:.45rem}.languageGroupLabel{margin:0;font-size:.78rem;font-weight:800;color:#7b4f43;text-transform:uppercase;letter-spacing:.04em}.languageOptionGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));grid-gap:.4rem;gap:.4rem}.languageChip{border-radius:10px;border:1px solid #efcfaf;background:#fff6eb;color:#402a2f;padding:.45rem .55rem;display:grid;grid-gap:.1rem;gap:.1rem;text-align:left}.languageChip small{font-size:.7rem;opacity:.8}.activeLanguageChip{border-color:#2f5f8a;background:linear-gradient(120deg,#24425f,#2f628c);color:#fff}.checkboxLabel{display:flex;align-items:center;gap:.5rem;font-size:.95rem}.checkboxLabel input{width:auto;margin:0}.jamoCard{border:1px solid var(--line);border-radius:14px;background:linear-gradient(160deg,#fff8ea,#ffe6cf);padding:.9rem}.jamoSymbol{font-size:3.2rem;line-height:1;margin:0;font-weight:800}.stepList{margin:0;padding-left:1.2rem;display:grid;grid-gap:.35rem;gap:.35rem}.writingCanvas{width:min(320px,100%);height:min(320px,100%);border:2px dashed #d4a27d;border-radius:14px;background:#fffdfa;touch-action:none}.buttonRow{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}.secondaryButton{background:linear-gradient(120deg,#475569,#334155)}.result{border-radius:12px;padding:.85rem;border:1px solid transparent}.resultExcellent{color:#0f172a;background:#dcfce7;border-color:#86efac}.resultGood{color:#0f172a;background:#e0f2fe;border-color:#93c5fd}.resultFair{color:#0f172a;background:#fef3c7;border-color:#fcd34d}.resultRetry{color:#0f172a;background:#fee2e2;border-color:#fca5a5}.wordGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));grid-gap:.75rem;gap:.75rem}.wordlineGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));grid-gap:.65rem;gap:.65rem}.wordlineCard{border-radius:12px;border:1px solid #c4b5fd;background:#f5f3ff;color:#3b1f7a;padding:.7rem;text-align:left;display:grid;grid-gap:.15rem;gap:.15rem}.wordlineCard small{opacity:.85}.activeWordlineCard{border-color:#7c3aed;background:linear-gradient(120deg,#8b5cf6,#7c3aed);color:#fff}.wordlinePanel{border:1px solid var(--line);border-radius:12px;background:#f5f3ff;padding:.85rem}.strokeChip{border:1px solid #c4b5fd;background:#f5f3ff;padding:.3rem .55rem;border-radius:999px;font-size:.85rem}.wordlineTextarea{width:100%;min-height:110px;border-radius:12px;border:1px solid #d6c3b7;padding:.65rem;resize:vertical;background:#fff;font-family:inherit}.sharePreview{border:1px dashed #c4b5fd;border-radius:12px;padding:.7rem;background:#f5f3ff}.compactHeader{gap:.45rem}.lessonTopRow{display:flex;align-items:center;justify-content:space-between}.xpBadge{margin:0;border:1px solid #c4b5fd;background:#f5f3ff;border-radius:999px;padding:.24rem .52rem;font-weight:800;font-size:.82rem;color:#5b21b6}.metricRow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:.55rem;gap:.55rem}.metricCard{border:1px solid #c4b5fd;background:#f5f3ff;border-radius:12px;padding:.55rem;display:grid;grid-gap:.15rem;gap:.15rem}.metricCard strong{font-size:1.05rem}.metricCard small{font-size:.76rem;color:#7c3aed;font-weight:700}.progressTrack{width:100%;height:12px;border-radius:999px;border:1px solid #c4b5fd;background:#ede9fe;overflow:hidden}.progressFill{height:100%;background:linear-gradient(90deg,#8b5cf6,#a78bfa);border-radius:999px;transition:width .18s ease}.stepPath{display:flex;align-items:center;gap:.55rem}.stepNode{width:34px;height:34px;border-radius:50%;border:2px solid #c4b5fd;background:#fff;color:#a78bfa;display:grid;place-items:center;font-weight:800;font-size:.86rem;cursor:pointer}.activeStepNode{border-color:#8b5cf6;background:#8b5cf6;color:#fff}.lessonNav{display:flex;justify-content:space-between;gap:.65rem}.dottedHangul{margin:0;font-size:2rem;font-weight:800;letter-spacing:.12em;padding:.4rem .2rem .6rem;border-bottom:2px dotted #c4b5fd;color:#a78bfa}.finalCardCanvas{width:100%;height:auto;border:2px solid #c4b5fd;border-radius:16px;background:#fff}.wordCard{padding:.85rem;background:linear-gradient(180deg,#fffdf9,#fff4e4);display:grid;grid-gap:.35rem;gap:.35rem}.quizCard,.wordCard{border:1px solid var(--line);border-radius:12px}.quizCard{background:linear-gradient(180deg,#fff9ef,#fff2df);padding:.9rem}.quizCard h3{margin:0}.quizOptions{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));grid-gap:.5rem;gap:.5rem}.quizOptionButton{background:linear-gradient(120deg,var(--ink) 0,#1b3a58 100%)}.quizResult{margin:0;font-weight:700}.correctAnswer{color:var(--good)}.wrongAnswer{color:var(--bad)}.wordHeading{font-size:1.3rem;margin:0;font-weight:800}.tagLine{margin:0;display:flex;gap:.5rem;font-size:.8rem;color:#4b5563}.tagLine span{background:var(--accent-soft);border:1px solid #f1c6ab;border-radius:999px;padding:.2rem .5rem}.fullWordList{margin-top:.75rem;max-height:280px;overflow:auto;border:1px solid var(--line);border-radius:10px;padding:.75rem;background:#fffdf8}.fullWordList p{margin:.2rem 0}.adminWordRow{display:flex;align-items:center;justify-content:space-between;gap:.5rem;border-bottom:1px solid #f1dec8;padding:.35rem 0}.adminWordRow:last-child{border-bottom:0}.adminWordRow p{margin:0}.smallDangerButton{background:linear-gradient(120deg,#c02f2f,#991b1b);padding:.35rem .55rem;font-size:.8rem}@media (max-width:640px){main{padding-top:1rem}.metricRow,.miniInfoRow{grid-template-columns:1fr}.writingCanvas{width:100%;height:auto;aspect-ratio:1/1}}@font-face{font-family:__Nunito_38e4a9;font-style:normal;font-weight:200;font-display:swap;src:url(/_next/static/media/abfec168c8990f67-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Nunito_38e4a9;font-style:normal;font-weight:200;font-display:swap;src:url(/_next/static/media/3131c862d4942660-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Nunito_38e4a9;font-style:normal;font-weight:200;font-display:swap;src:url(/_next/static/media/6a9c36ea9dc9b36b-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Nunito_38e4a9;font-style:normal;font-weight:200;font-display:swap;src:url(/_next/static/media/e1694c6cb47c173f-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Nunito_38e4a9;font-style:normal;font-weight:200;font-display:swap;src:url(/_next/static/media/ee40bb094c99a29a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Nunito_38e4a9;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/abfec168c8990f67-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Nunito_38e4a9;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/3131c862d4942660-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Nunito_38e4a9;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/6a9c36ea9dc9b36b-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Nunito_38e4a9;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/e1694c6cb47c173f-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Nunito_38e4a9;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ee40bb094c99a29a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Nunito_38e4a9;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/abfec168c8990f67-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Nunito_38e4a9;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/3131c862d4942660-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Nunito_38e4a9;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/6a9c36ea9dc9b36b-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Nunito_38e4a9;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/e1694c6cb47c173f-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Nunito_38e4a9;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/ee40bb094c99a29a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Nunito_38e4a9;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/abfec168c8990f67-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Nunito_38e4a9;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/3131c862d4942660-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Nunito_38e4a9;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/6a9c36ea9dc9b36b-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Nunito_38e4a9;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/e1694c6cb47c173f-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Nunito_38e4a9;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/ee40bb094c99a29a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Nunito_38e4a9;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/abfec168c8990f67-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__Nunito_38e4a9;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/3131c862d4942660-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__Nunito_38e4a9;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/6a9c36ea9dc9b36b-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Nunito_38e4a9;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/e1694c6cb47c173f-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:__Nunito_38e4a9;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/ee40bb094c99a29a-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Nunito_Fallback_38e4a9;src:local("Arial");ascent-override:99.71%;descent-override:34.82%;line-gap-override:0.00%;size-adjust:101.39%}.__className_38e4a9{font-family:__Nunito_38e4a9,__Nunito_Fallback_38e4a9;font-style:normal}