html .grammar-lesson-card,html .learn-page .practice-card{--reading-body:18px;--reading-example:20px;--reading-translation:18px;--reading-action:17px;--reading-caption:13px}html .learn-page .practice-card .practice-word{font-size:calc(72px * var(--student-font-scale));line-height:1.25;overflow-wrap:anywhere}html .learn-page .practice-card .practice-hanja{font-size:calc(15px * var(--student-font-scale));line-height:1.7}html .learn-page .practice-card .practice-hanja b{font-size:calc(22px * var(--student-font-scale))}html .learn-page .practice-card .teaching-meaning-block h3{font-size:calc(26px * var(--student-font-scale));line-height:1.55;overflow-wrap:anywhere}html .learn-page .practice-card :is(.word-usage-note,.full-meaning p,.hanja-source-details dd,.collocation-line b,.teaching-collocations b,.teaching-collocations span){font-size:calc(var(--reading-body) * var(--student-font-scale));line-height:1.75;overflow-wrap:anywhere}html .learn-page .practice-card :is(.teaching-meaning-block>small,.full-meaning summary,.hanja-source-details summary,.hanja-source-details dt,.word-example-heading>span,.teaching-collocations>small,.collocation-line>small,.revealed-area>p){font-size:calc(var(--reading-caption) * var(--student-font-scale));line-height:1.6}html .learn-page .practice-card .example-box{gap:8px;padding-block:16px;padding-right:54px;min-width:0}html .learn-page .practice-card .example-box>b{font-size:calc(var(--reading-example) * var(--student-font-scale));line-height:1.75;overflow-wrap:anywhere}html .learn-page .practice-card .example-box>span{font-size:calc(var(--reading-translation) * var(--student-font-scale));line-height:1.75;overflow-wrap:anywhere}html .learn-page .practice-card .word-example-list{gap:12px}html .learn-page .practice-card :is(.word-step-actions,.memory-actions){gap:12px}html .learn-page .practice-card :is(.word-step-actions,.memory-actions) button{min-width:0;height:auto;min-height:62px;padding:12px;column-gap:8px;overflow-wrap:anywhere}html .learn-page .practice-card .reveal-button,html .learn-page .practice-card :is(.word-step-actions,.memory-actions) b{font-size:calc(var(--reading-action) * var(--student-font-scale));line-height:1.5}html .learn-page .practice-card :is(.word-step-actions,.memory-actions) small{font-size:calc(12px * var(--student-font-scale));line-height:1.6}html .grammar-lesson-card .grammar-lesson-heading h2{font-size:calc(clamp(32px, 3vw, 42px) * var(--student-font-scale));line-height:1.4;overflow-wrap:anywhere}html .grammar-lesson-card .grammar-lesson-hero-note{font-size:calc(var(--reading-body) * var(--student-font-scale));line-height:1.75}html .grammar-lesson-card .grammar-reference-lesson{overflow-wrap:anywhere;min-width:0}html .grammar-lesson-card .grammar-reference-lesson :is(.grammar-reference-usage>li,.grammar-reference-rules>li,.grammar-reference-cautions>li,.grammar-reference-related li,.grammar-reference-related p,.grammar-conjugation-grid p,.grammar-conjugation-grid li,.grammar-comparison-body>p,.grammar-comparison-pair p){font-size:calc(var(--reading-body) * var(--student-font-scale));line-height:1.85}html .grammar-lesson-card .grammar-reference-lesson :is(.grammar-reference-usage-title>b,.grammar-reference-related b,.grammar-conjugation-grid b,.grammar-comparison-pair b,.grammar-reference-example b){font-size:calc(var(--reading-example) * var(--student-font-scale));line-height:1.75}html .grammar-lesson-card .grammar-reference-lesson .grammar-reference-example p{font-size:calc(var(--reading-translation) * var(--student-font-scale));line-height:1.75}html .grammar-lesson-card .grammar-reference-lesson .grammar-reference-usage.is-numbered{grid-template-columns:minmax(0,1fr)}html .grammar-lesson-card .grammar-reference-lesson .grammar-reference-usage>li{min-width:0}html .grammar-lesson-card .grammar-reference-lesson .grammar-reference-translation{font-size:calc(var(--reading-body) * var(--student-font-scale))!important;line-height:1.75!important}html .grammar-lesson-card .grammar-reference-lesson :is(.grammar-reference-section h3,.grammar-comparison-body>h3){font-size:calc(24px * var(--student-font-scale));line-height:1.5}html .grammar-lesson-card .grammar-reference-lesson :is(.grammar-reference-disclosure>summary span,.grammar-sense-rule-section>header h3,.grammar-sense-caution-section>h3,.grammar-practice-launch){font-size:calc(var(--reading-action) * var(--student-font-scale));line-height:1.6}html .grammar-lesson-card .grammar-reference-lesson :is(.grammar-reference-example>div,.grammar-reference-usage-title){min-width:0}html .grammar-lesson-card .grammar-reference-lesson .grammar-reference-example{gap:14px;padding-block:12px}html .grammar-lesson-card .grammar-reference-lesson .grammar-reference-example button{margin-top:4px}html .grammar-lesson-card .grammar-reference-lesson :is(.grammar-reference-usage-title,.grammar-sense-rule-section>header){flex-wrap:wrap}@media (min-width:601px){html .learn-page .practice-card .practice-word{font-size:calc(84px * var(--student-font-scale))}html .grammar-lesson-card,html .learn-page .practice-card{--reading-body:19px;--reading-example:22px;--reading-translation:20px;--reading-action:18px;--reading-caption:14px}}@media (min-width:1100px){html .learn-page .practice-card .practice-word{font-size:calc(96px * var(--student-font-scale))}html .grammar-lesson-card,html .learn-page .practice-card{--reading-body:20px;--reading-example:24px;--reading-translation:21px}}@media (max-width:720px){html .grammar-lesson-card .grammar-reference-lesson :is(.grammar-conjugation-grid,.grammar-comparison-pair){grid-template-columns:minmax(0,1fr)}}.game-status>.pwa-install-button{min-height:44px;padding:4px 12px 4px 5px;display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(255,245,190,.9);border-radius:999px;background:linear-gradient(135deg,#fff8c9,#ffe071);color:#155950;box-shadow:0 8px 20px rgba(0,56,63,.2);font:inherit;cursor:pointer;backdrop-filter:none;transition:transform .2s ease,box-shadow .2s ease}.pwa-install-button:hover{transform:translateY(-1px);box-shadow:0 11px 24px rgba(0,56,63,.27)}.pwa-install-button:focus-visible{outline:3px solid rgba(255,255,255,.85);outline-offset:2px}.pwa-install-button img{width:34px;height:34px;flex:0 0 auto;border-radius:11px;box-shadow:0 2px 7px rgba(7,94,91,.2)}.pwa-install-button>span{padding:0;display:flex;flex-direction:column;align-items:flex-start;border:0;background:transparent;line-height:1.12}.pwa-install-button b{font-size:10px}.pwa-install-button small{margin-top:3px;color:#4a746e;font-size:7px}.game-status>.pwa-install-notice{position:absolute;top:calc(100% + 8px);right:0;max-width:270px;padding:8px 11px;border:1px solid rgba(255,255,255,.62);border-radius:12px;background:rgba(8,90,94,.94);color:#fff;box-shadow:0 10px 28px rgba(0,45,50,.25);font-size:8px;line-height:1.5}.game-status>.pwa-install-backdrop{position:fixed;inset:0;z-index:1200;padding:20px;display:grid;place-items:center;border:0;border-radius:0;background:rgba(7,48,50,.56);backdrop-filter:blur(7px)}.pwa-install-dialog{width:min(430px,100%);max-height:min(680px,calc(100dvh - 32px));overflow:auto;padding:27px;display:grid;grid-template-columns:76px 1fr;gap:15px 17px;position:relative;border:1px solid rgba(255,255,255,.9);border-radius:27px;background:linear-gradient(160deg,#fffdf0,#e8fbf6);color:#174d46;box-shadow:0 30px 90px rgba(0,43,46,.35);text-align:left}.pwa-install-dialog>img{width:76px;height:76px;border-radius:22px;box-shadow:0 9px 20px rgba(15,104,96,.18)}.pwa-install-dialog>div{align-self:center}.pwa-install-kicker{color:#16877b;font-size:8px;font-weight:950;letter-spacing:.13em}.pwa-install-dialog h2{margin:6px 0 0;color:#173f3b;font-size:23px;line-height:1.25}.pwa-install-dialog ol{grid-column:1/-1;margin:3px 0 0;padding:15px 17px 15px 40px;border-radius:16px;background:rgba(255,255,255,.72)}.pwa-install-dialog li{padding:6px 0;font-size:16px;line-height:1.6}.pwa-install-dialog p{grid-column:1/-1;margin:0;color:#668078;font-size:14px;line-height:1.7}.pwa-install-close{position:absolute;top:13px;right:13px;width:32px;height:32px;padding:0;border:0;border-radius:50%;background:rgba(22,119,108,.09);color:#47726c;font-size:19px;cursor:pointer}.pwa-install-done{grid-column:1/-1;min-height:45px;border:0;border-radius:13px;background:#168f83;color:#fff;font-size:16px;font-weight:900;cursor:pointer}@media(max-width:760px){.main-game-map .game-topbar{gap:6px}.main-game-map .game-status>a[href="/test"]{display:none}.main-game-map .game-status{gap:6px}.game-status>.pwa-install-button{min-height:40px;padding:3px 9px 3px 4px;gap:6px}.pwa-install-button img{width:32px;height:32px;border-radius:10px}.pwa-install-button small{display:none}.pwa-install-button b{font-size:9px}.game-status>.pwa-install-notice{right:max(8px,env(safe-area-inset-right))}}@media(max-width:390px){.main-game-map .game-brand{gap:7px}.main-game-map .game-brand>span{width:36px;height:36px}.main-game-map .game-brand small{display:none}.main-game-map .game-status{gap:4px}.game-status>.pwa-install-button{padding-right:7px}.pwa-install-button img{width:29px;height:29px}.pwa-install-dialog{padding:23px 19px;grid-template-columns:64px 1fr;border-radius:23px}.pwa-install-dialog>img{width:64px;height:64px;border-radius:19px}.pwa-install-dialog h2{font-size:20px}}@media(prefers-reduced-motion:reduce){.pwa-install-button{transition:none}}@supports (-webkit-touch-callout:none){@media (display-mode:standalone){body{padding-top:env(safe-area-inset-top,0)}body:has(.game-map-page){background-color:#087f91}.admin-sidebar,.site-header{top:env(safe-area-inset-top,0)}.admin-sidebar:before,.site-header:before{content:"";position:absolute;bottom:100%;left:0;width:100%;height:env(safe-area-inset-top,0);background:inherit;pointer-events:none}}}