@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Noto+Sans+KR:wght@400;500;600;700&display=swap");:root{--ink:#102a2d;--mint:#b6efc5;--paper:#f1f4f0;--line:#d8e1dc;--muted:#657572}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:DM Sans,Noto Sans KR,sans-serif;font-size:16px;line-height:1.6}button,input,select{font:inherit}a,button{touch-action:manipulation}button{cursor:pointer;border:0;color:inherit;background:none}button:disabled{cursor:default;opacity:.5}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #247c66;outline-offset:4px}h1,h2,h3,p{margin:0}h1{font-size:clamp(1.9rem,3vw,2.65rem);line-height:1.2;letter-spacing:-.045em}h2{font-size:1.25rem;line-height:1.4}h3{font-size:1.15rem}small{font-size:.875rem}a{color:inherit}.topbar{height:90px;padding:0 5%;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line);gap:25px}.brand,.topbar{display:flex;align-items:center}.brand{text-decoration:none;gap:12px}.brand>span{font-size:1.5rem;font-weight:700;display:flex;align-items:center;gap:14px}.brand b{font-size:.8rem;letter-spacing:.17em;border-left:1px solid var(--line);padding-left:14px}.topbar nav{display:flex;gap:25px;height:100%;align-items:center}.topbar nav :is(button,a){display:flex;align-items:center;text-decoration:none;height:100%;font-size:.95rem;position:relative;color:var(--muted);padding:0}.topbar nav :is(button,a).active{color:var(--ink);font-weight:700}.topbar nav :is(button,a).active:after{position:absolute;content:"";height:3px;bottom:0;background:var(--ink);left:0;right:0}.topbar nav span{font-size:.8rem;padding:2px 6px;background:var(--paper);border-radius:4px}.private{display:flex;align-items:center;gap:7px;font-size:.8rem;color:var(--muted)}main{max-width:1360px;margin:auto;padding:44px 5% 22px}.heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px;gap:20px}.eyebrow{font-size:.75rem;font-weight:700;color:var(--muted);margin-bottom:10px}.eyebrow,.stamp{letter-spacing:.16em}.stamp{border:1px solid #789383;color:#4a705d;font:600 .75rem monospace;padding:9px 13px;transform:rotate(-5deg)}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 310px;gap:32px}.sectionline{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;gap:12px}.sectionline a,.sectionline button,.sectionline span{font-size:.875rem;color:var(--muted)}.sectionline a,.sectionline button{text-decoration:underline}.modes{display:grid;grid-template-columns:1fr 1fr;gap:18px}.mode{text-align:left;background:#fff;border:1px solid var(--line);padding:25px 26px 20px;border-radius:10px;transition:transform .18s,border-color .18s}.mode:hover:not(:disabled){transform:translateY(-3px);border-color:#568976}.modehead{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.modehead>span{font:14px monospace;color:#99a9a0}.mode h3{font-size:1.45rem;letter-spacing:-.04em}.mode p{color:var(--muted);margin:3px 0 24px}.mode footer{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding-top:15px;font-size:.75rem;letter-spacing:.08em}.mode footer span{font-size:.875rem;letter-spacing:0;font-weight:600}.mode0 .modehead svg{color:#416755}.mode1 .modehead svg{color:#826442}.mode2 .modehead svg{color:#57768c}.mode3 .modehead svg{color:#876078}.brief{margin:25px 0 30px;display:flex;gap:16px;padding:20px 22px;background:#e4ede5;border-left:3px solid #7ca68b}.brief svg{flex-shrink:0;margin-top:4px}.brief p{color:#546b5a;font-size:.9rem;margin-top:4px}.leads{border:1px solid var(--line);border-radius:9px;background:#fff}.leads>div{padding:14px 18px;display:grid;grid-template-columns:95px 1fr auto;gap:12px;align-items:center;border-bottom:1px solid var(--line)}.leads>div:last-child{border:0}.leads>div>span:first-child{font-size:1.1rem;font-weight:600}.leads small{color:var(--muted)}.tag{font-size:.75rem;white-space:nowrap;border-radius:4px;padding:3px 8px}.tag.s0{background:#ecefec;color:#64736d}.tag.s1{background:#f6e9cf;color:#815c1b}.tag.s2{background:#e1eaf5;color:#426489}.tag.s3{background:#dff2e5;color:#286947}.readinesspanel{background:var(--ink);border-radius:12px;padding:28px;color:#fff;align-self:start;position:sticky;top:24px}.readinesspanel .eyebrow{color:#94b6af}.readinesspanel h2{font-size:1.6rem;font-weight:500;letter-spacing:-.03em;line-height:1.4}.readinesspanel h2 span{color:var(--mint)}.meter{width:202px;height:202px;border-radius:50%;margin:26px auto 18px;padding:9px}.meter>div{background:var(--ink);height:100%;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-direction:column}.meter strong{font-size:3.5rem;font-weight:500;letter-spacing:-.06em;line-height:1.3}.meter small{font-size:1.3rem;letter-spacing:0}.meter span{font-size:.7rem;letter-spacing:.17em;color:#91aea8}.metercaption{text-align:center;font-size:.875rem;color:#b9d0ca}.stagecounts{padding:20px 0;margin-top:18px;border-top:1px solid #345052;border-bottom:1px solid #345052;display:grid;gap:13px}.stagecounts>div{display:flex;justify-content:space-between;font-size:.9rem}.stagecounts span{display:flex;align-items:center;gap:10px}.dot{width:7px;height:7px;border-radius:50%}.dot.s0{background:#81938d}.dot.s1{background:#e9bf74}.dot.s2{background:#9fbedf}.dot.s3{background:var(--mint)}.panelbutton{font-size:.875rem;text-decoration:underline;color:#c0d6cf;display:block;margin:20px auto}.savebadge{display:flex;gap:8px;font-size:.8rem;color:var(--mint);align-items:center}.quiet{font-size:.8rem;color:#94b0aa;line-height:1.7;margin-top:12px}.bottom{display:flex;justify-content:space-between;margin-top:38px;padding-top:18px;border-top:1px solid var(--line);font-size:.75rem;letter-spacing:.04em;color:var(--muted);gap:18px}.bottom span:first-child{display:flex;align-items:center;gap:7px}.notice{padding:15px 20px;background:#fff0d8;border:1px solid #d8b77e;margin-bottom:20px;border-radius:8px}.notice a,.notice button{margin-left:14px;font-weight:700;text-decoration:underline}.game,.readinesscopy,.session{padding:30px;background:#fff;border:1px solid var(--line);border-radius:12px}.gamebar{display:flex;justify-content:space-between;font-size:.8rem;letter-spacing:.12em;color:var(--muted)}.roundtrack{height:4px;background:var(--paper);margin:16px 0 26px}.roundtrack i{height:100%;background:#2b735e;display:block}.instruction{color:var(--muted);font-size:.95rem}.prompt{font-size:clamp(2rem,4vw,3.5rem);margin:28px 0 32px;line-height:1.6;font-weight:600;overflow-wrap:anywhere}.prompt.english{font-size:2rem}.gloss{margin-bottom:24px;color:var(--muted)}.answers{display:grid;grid-template-columns:1fr 1fr;gap:13px}.answers button{border:1px solid var(--line);border-radius:7px;text-align:left;padding:17px;display:flex;gap:14px;align-items:center;min-height:75px}.answers button span{background:var(--paper);padding:4px 10px;border-radius:4px;color:var(--muted)}.answers button:hover:not(:disabled),.matchgrid button:hover:not(:disabled){border-color:#568976;background:#eff7f0}.primary{background:var(--ink);color:var(--mint);padding:12px 20px;border-radius:6px;font-weight:600}.feedback{padding:20px;margin-top:22px;border-radius:7px}.positive{background:#e1f2e5;color:#275d3f}.negative{background:#f9ece5;color:#8b462d}.feedback p{margin:8px 0 15px}.quit{font-size:.875rem;text-decoration:underline;color:var(--muted);display:block;margin-top:28px}.quit[aria-disabled=true]{opacity:.5;cursor:default}.recallrow{display:flex;gap:12px;margin-top:7px}.recallrow input{width:100%;min-width:0;border:1px solid var(--line);padding:12px;border-radius:6px}.hint{margin-top:15px;text-decoration:underline;color:var(--muted);font-size:.875rem}.matchgrid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:22px}.matchgrid>div{display:grid;gap:12px}.matchgrid button{background:#f7f9f6;border:1px solid var(--line);border-radius:7px;min-height:86px;padding:12px;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:8px}.matchgrid button[lang=ko]{font-size:1.3rem}.matchgrid .selected{border:2px solid #348367;background:#e5f1e8}.matchgrid .matched{background:#e1f2e5;opacity:.65}.session{text-align:center;min-height:440px;display:flex;align-items:center;flex-direction:column;justify-content:center;gap:20px}.session h2{font-size:2rem}.boardtools{display:flex;gap:14px;margin-bottom:22px}.boardtools label{background:#fff;border:1px solid var(--line);border-radius:6px;padding:8px 12px;display:flex;align-items:center;gap:8px;flex:1}.boardtools input{border:0;background:none;width:100%;min-width:0}.boardtools select{border:1px solid var(--line);border-radius:6px;padding:8px;background:#fff;max-width:45%}.wordgrid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.wordgrid details{background:#fff;padding:18px;border:1px solid var(--line);border-radius:8px}.wordgrid summary{cursor:pointer;list-style:none}.wordgrid summary>span:first-child{font-size:1.25rem;font-weight:600;display:inline-block;margin-right:12px}.wordgrid summary p{color:var(--muted);margin-top:8px;font-size:.9rem}.wordgrid details>p{margin-top:13px}.wordgrid details>small{display:block;margin-top:14px;color:var(--muted)}.artifact{font-size:.875rem;color:var(--muted);margin-top:22px}.readinesscopy h2{font-size:2rem;margin-bottom:18px}.readinesscopy p{margin-bottom:22px;color:#586e63}.stagecards{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:25px 0}.stagecards>div{border:1px solid var(--line);padding:20px;border-radius:7px}.stagecards h3{margin:12px 0}.stagecards p{font-size:.9rem;margin:0}@media(max-width:1050px){.topbar{padding:0 4%;gap:15px}.private{display:none}.workspace{gap:22px;grid-template-columns:minmax(0,1fr) 280px}.mode{padding:20px}.mode footer{flex-direction:column}.leads>div{grid-template-columns:80px 1fr}.leads .tag{display:none}}@media(max-width:760px){.topbar{height:auto;flex-direction:column;align-items:flex-start;padding:20px 5% 0;gap:15px}.topbar nav{gap:24px;width:100%;height:48px}.topbar nav :is(button,a){font-size:.875rem}.brand>span{font-size:1.4rem}.workspace{grid-template-columns:1fr}.readinesspanel{position:static;display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;padding:24px}.readinesspanel .eyebrow,.readinesspanel h2{grid-column:1}.meter{grid-column:2;grid-row:1/5;width:140px;height:140px;margin:auto}.meter strong{font-size:2.7rem}.metercaption{grid-column:1;text-align:left}.stagecounts{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;margin-top:8px;gap:10px 20px}.panelbutton,.quiet,.savebadge{grid-column:1/-1}.heading{margin-bottom:24px}.stamp{display:none}main{padding-top:30px}.bottom{flex-direction:column;gap:8px}.readinesspanel h2{font-size:1.4rem}.mode h3{font-size:1.25rem}.mode p{font-size:.875rem}.game{padding:22px}.prompt{font-size:2rem}.recallrow{flex-direction:column}}@media(max-width:460px){.modes{gap:12px}.mode{padding:16px}.modehead{margin-bottom:20px}.mode footer span{font-size:.8rem}.sectionline{align-items:flex-start}.sectionline>span{font-size:.8rem;max-width:100px;text-align:right}.sectionline h2{font-size:1.1rem}.answers,.stagecards,.wordgrid{grid-template-columns:1fr}.boardtools{flex-wrap:wrap}.boardtools select{max-width:100%}.leads>div{grid-template-columns:75px 1fr}.matchgrid{gap:10px}.matchgrid button{font-size:.875rem}.readinesspanel{gap:10px}.meter{width:125px;height:125px}.brief{padding:18px}.brief svg{display:none}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}.account-menu{display:flex;align-items:center;gap:14px;min-width:0}.account-identity{display:grid;min-width:0;line-height:1.3}.account-identity span{font-size:.7rem;color:var(--muted)}.account-identity strong{font-size:.85rem;max-width:220px;overflow-wrap:anywhere}.account-identity small{font-size:.72rem;color:var(--muted);max-width:220px;overflow-wrap:anywhere}.account-guest a,.signout-link{font-size:.8rem;font-weight:700;white-space:nowrap;border:1px solid var(--line);border-radius:6px;padding:7px 10px;text-decoration:none}.account-guest a:hover,.signout-link:hover{background:var(--paper)}.account-guest{display:flex;align-items:center;gap:12px;font-size:.8rem;color:var(--muted)}@media(max-width:1050px){.account-identity small{display:none}}@media(max-width:760px){.topbar .account-menu{align-self:flex-end;margin:0 0 14px;max-width:100%}.account-identity strong{max-width:45vw}.account-identity small{display:block;max-width:45vw}}