@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-latin-600-normal-DepVgxBB.woff2)format("woff2"),url(/assets/barlow-condensed-latin-600-normal-BFJEwTuo.woff)format("woff")}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-latin-700-normal-v1xN8_Wq.woff2)format("woff2"),url(/assets/barlow-condensed-latin-700-normal-Dmwat-ge.woff)format("woff")}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-vietnamese-600-normal-A5AYRdjN.woff2)format("woff2"),url(/assets/barlow-condensed-vietnamese-600-normal-CNlPk46_.woff)format("woff")}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-vietnamese-700-normal-DYeBwlKR.woff2)format("woff2"),url(/assets/barlow-condensed-vietnamese-700-normal-DhIzd8Tb.woff)format("woff")}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/be-vietnam-pro-latin-400-normal-PpnXBOrz.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-400-normal-bXgqVju9.woff)format("woff")}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/be-vietnam-pro-latin-500-normal-B6LVzGNe.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-500-normal-BJkVuMHw.woff)format("woff")}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/be-vietnam-pro-latin-600-normal-BZDkUTrt.woff2)format("woff2"),url(/assets/be-vietnam-pro-latin-600-normal-5IO4e7bK.woff)format("woff")}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/be-vietnam-pro-vietnamese-400-normal-CRcqvyg1.woff2)format("woff2"),url(/assets/be-vietnam-pro-vietnamese-400-normal-BuGn0gnm.woff)format("woff")}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/be-vietnam-pro-vietnamese-500-normal-DREgrEoJ.woff2)format("woff2"),url(/assets/be-vietnam-pro-vietnamese-500-normal-CfdwVo8-.woff)format("woff")}@font-face{font-family:Be Vietnam Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/be-vietnam-pro-vietnamese-600-normal-nyU-ZL2p.woff2)format("woff2"),url(/assets/be-vietnam-pro-vietnamese-600-normal-DkpCIyan.woff)format("woff")}:root{color:#f6faff;font-synthesis:none;--yellow:#ffda59;--muted:#cdd5bc;--ink:#374739;--red:#ff8a79;background:#8c927f;font-family:Be Vietnam Pro,sans-serif;font-weight:400}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:0}button:disabled{cursor:default}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--yellow);outline-offset:5px}button svg{flex-shrink:0;width:20px;height:20px}button:active{transform:translateY(1px)}[hidden]{display:none!important}#game-canvas{touch-action:none;width:100%;height:100%;display:block}.vignette{pointer-events:none;background:radial-gradient(at 51% 48%,#0000 60%,#282b2020 100%),linear-gradient(#2d392f6b,#0000 20% 82%,#272d245e);position:fixed;inset:0}#flash{opacity:0;pointer-events:none;z-index:25;background:#e9ad6c;position:fixed;inset:0}.topbar{justify-content:space-between;align-items:center;gap:20px;height:104px;padding:26px 36px;display:flex;position:absolute;top:0;left:0;right:0}.brand{color:inherit;align-items:center;gap:13px;text-decoration:none;display:flex}.brand-mark{background:var(--yellow);color:#2a3e31;border-radius:3px;place-items:center;width:48px;height:48px;font:700 32px Barlow Condensed,sans-serif;display:grid;transform:rotate(-4deg);box-shadow:3px 3px #11271b66}.brand strong{letter-spacing:2px;font-family:Barlow Condensed,sans-serif;font-size:30px;font-weight:600;line-height:1}.brand strong b{color:var(--yellow);font-weight:700}.brand-dot{vertical-align:top;margin-left:5px;font-family:sans-serif;font-size:10px}.brand small{letter-spacing:2.6px;color:#d3d7c7;margin-top:8px;font-size:8px;font-weight:500;display:block}.station{letter-spacing:2px;color:#c6cebe;align-items:center;gap:10px;font-size:9px;display:flex}.station-line{background:#b2bfa244;width:1px;height:12px;margin:0 4px}.live-dot{background:#bbcb92;border-radius:50%;flex-shrink:0;width:6px;height:6px;display:inline-block;box-shadow:0 0 9px #bddc8650}.topbar nav{align-items:center;gap:8px;display:flex}.manual-button{letter-spacing:1.5px;background:#203b326b;border:1px solid #c1cba553;border-radius:3px;align-items:center;gap:12px;padding:12px 15px;font-size:10px;font-weight:600;transition:background .2s;display:flex}.manual-button svg{color:var(--yellow)}kbd{color:#c6cdbd;text-align:center;border:1px solid #cbd5b945;border-radius:3px;min-width:20px;padding:3px 5px;font:500 10px Be Vietnam Pro,sans-serif;display:inline-block}.icon-button{color:#d5d8c7;background:0 0;border-radius:3px;place-items:center;width:39px;height:43px;display:grid}.icon-button:hover{background:#a7b99425}.eyebrow{letter-spacing:2px;color:#d9d8b9;align-items:center;gap:7px;font-size:9px;font-weight:600;display:flex}.text-button{color:var(--yellow);letter-spacing:.6px;pointer-events:auto;background:0 0;align-items:center;gap:9px;padding:12px 0;font-size:10px;display:flex}.text-button svg{width:16px;height:16px}.text-button:hover{text-decoration:underline}.ready-panel{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:linear-gradient(100deg,#203b33ed,#243d34ee);border:1px solid #b0bd884d;border-radius:4px;grid-template-columns:1fr auto;gap:12px 24px;width:700px;padding:23px 25px 18px;display:grid;position:absolute;bottom:76px;left:50%;transform:translate(-50%);box-shadow:0 12px 50px #0b21184d}.ready-panel .eyebrow{color:var(--yellow);font-size:8px}.ready-panel h2{margin:8px 0;font:600 29px Barlow Condensed}.ready-panel p{color:#bcc9b5;margin:0;font-size:9px;line-height:1.7}.primary{background:var(--yellow);color:#243b2e;letter-spacing:1px;border-radius:3px;justify-content:center;align-items:center;gap:18px;min-height:49px;padding:16px 20px;font-size:11px;font-weight:600;transition:background .2s;display:flex;box-shadow:0 3px #9a7839}.primary:hover{background:#f2d48a}.ready-panel .primary{align-self:center}.ready-meta{letter-spacing:1px;color:#a4b49b;border-top:1px solid #c3cca51f;grid-column:1/-1;align-items:center;gap:11px;padding-top:12px;font-size:7px;display:flex}.ready-meta i{background:#aabca0;border-radius:50%;width:3px;height:3px}.hover-prompt{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);letter-spacing:1px;pointer-events:none;background:#18352de8;border:1px solid #c5d09c55;border-radius:3px;align-items:center;gap:12px;padding:10px 14px;font-size:9px;display:flex;position:absolute;top:57%;left:50%;transform:translate(-50%)}.hover-prompt svg{width:17px;height:17px;color:var(--yellow)}.hover-kanji{color:var(--yellow);font:24px Yu Gothic,serif}#toast{text-align:center;z-index:11;background:#233d32ed;border:1px solid #b9c09255;border-radius:3px;max-width:min(600px,90vw);padding:12px 20px;font-size:11px;line-height:1.6;position:absolute;top:111px;left:50%;transform:translate(-50%);box-shadow:0 5px 25px #10251f44}#toast[data-type=danger]{color:#f5b69a;border-color:#d57f5f}#toast[data-type=success]{color:#c3e6a7}#toast[data-type=warning]{color:var(--yellow)}.overlay{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);z-index:20;background:#0d241f9e;justify-content:center;align-items:center;padding:32px;animation:.2s appear;display:flex;position:absolute;inset:0}.dialog{text-align:center;background:#263f34;border:1px solid #92a87d75;border-radius:6px;width:480px;max-height:calc(100dvh - 64px);padding:38px 40px;overflow:auto;box-shadow:0 30px 100px #061b1866}.dialog .eyebrow{color:var(--yellow);justify-content:center;margin-bottom:14px}.dialog h2{white-space:pre-line;margin:12px 0 18px;font:600 46px/1.05 Barlow Condensed}.dialog>p{color:#bacab1;margin-bottom:28px;font-size:12px;line-height:1.8}.dialog .primary{width:100%;margin-top:22px}.dialog-symbol{color:var(--yellow);margin-bottom:20px;font:38px Barlow Condensed}.secondary{letter-spacing:1px;background:0 0;border:1px solid #a6b58b4a;border-radius:3px;justify-content:center;align-items:center;gap:10px;width:100%;margin-top:12px;padding:14px;font-size:10px;display:flex}.secondary:hover{background:#42573d}.secondary svg{width:16px}.motion-option{color:#c5d0b8;justify-content:center;align-items:center;gap:8px;margin-top:23px;font-size:10px;display:flex}.motion-option input{accent-color:var(--yellow)}.pause-help{text-align:left;color:#b4c5ab;border-top:1px solid #a2b68d33;grid-template-columns:1fr 1fr;gap:12px;margin-top:25px;padding-top:22px;font-size:8px;display:grid}.pause-help span{align-items:center;gap:8px;display:flex}.result-dialog{width:560px}.learned-character{text-align:left;border-block:1px solid #a2b68d33;align-items:center;gap:20px;margin:25px 0 15px;padding:20px 0;display:flex}.learned-character>span{color:var(--yellow);min-width:90px;font:78px/1.1 Yu Gothic,Meiryo,serif}.learned-character h3{margin:0;font:600 26px Barlow Condensed}.learned-character p{color:#b9c7b2;margin:7px 0 12px;font-size:11px}.learned-character b{font:19px Yu Gothic,Meiryo,serif}.learned-character>i{color:#bad6a4;margin-left:auto}.learned-character svg{width:27px;height:27px}.dialog .explanation{color:#c5ceb8;text-align:left;font-size:11px;line-height:1.9}.word-example{background:#1a332b70;align-items:center;gap:12px;padding:13px 16px;display:flex}.word-example>span{letter-spacing:1px;color:var(--yellow);font-size:7px}.word-example>b{font-size:13px;font-weight:500}.word-example>small{color:#b5c4a9;margin-left:auto;font-size:9px}.result-stats{justify-content:space-around;margin-top:24px;display:flex}.result-stats div{flex-direction:column;gap:6px;display:flex}.result-stats strong{color:var(--yellow);font:600 31px Barlow Condensed}.result-stats small{letter-spacing:1px;color:#b8c6ac;font-size:7px}.result-dialog .text-button{color:#b6c5ad;margin:14px auto 0;font-size:8px}.failed-symbol{color:#e9a17c;border:1px solid #e39b7666;border-radius:50%;place-items:center;width:82px;height:82px;margin:30px auto;display:grid}.failed-symbol svg{width:35px;height:35px}.retry-tip{text-align:left;color:#d0bb8d;background:#bb976516;border-left:2px solid #bd9e5b;padding:14px;font-size:10px;line-height:1.8}.manual-overlay{background:#10271cd4;flex-direction:column;gap:20px}.field-book{color:#344637;background:#e5ddbd;border:6px solid #4c6851;border-radius:4px 10px 10px 4px;grid-template-columns:1fr 1fr;width:920px;max-width:95vw;max-height:calc(100dvh - 100px);display:grid;position:relative;overflow:visible;transform:rotate(-.5deg);box-shadow:0 22px 80px #071e16a6,inset 0 0 80px #7e794b1c}.book-left,.book-right{padding:32px 36px 48px;position:relative;overflow:auto}.book-left{background:linear-gradient(90deg,#0000 90%,#66562a22);border-right:1px solid #a6a07766}.book-right{background:linear-gradient(90deg,#8a764719,#0000 12%)}.book-spine{z-index:1;pointer-events:none;background:linear-gradient(90deg,#0000,#78664030,#0000);width:14px;height:100%;position:absolute;left:50%;transform:translate(-50%)}.book-close{color:#344834;z-index:3;background:#e4be69;border-radius:50%;place-items:center;width:36px;height:36px;display:grid;position:absolute;top:-17px;right:-17px;box-shadow:0 3px 10px #1c301b44}.book-topline{letter-spacing:1.3px;border-bottom:1px solid #6e7a535c;justify-content:space-between;padding-bottom:15px;font-size:7px;display:flex}.book-topline span{color:#7e8866}.book-edition{letter-spacing:2px;color:#78825b;margin-top:29px;font-size:8px}.book-left h2{margin:10px 0 20px;font:600 37px/1.08 Barlow Condensed}.book-illustration{border-block:1px solid #a1a47e50;justify-content:center;align-items:center;gap:18px;height:130px;margin:20px 0;display:flex}.book-illustration>span{color:#586d4e;border:1px dashed #88957377;padding:10px;font:56px Yu Gothic,serif;transform:rotate(-5deg)}.book-illustration>span:last-child{transform:rotate(6deg)}.diagram-lines{align-items:center;gap:5px;display:flex}.diagram-lines i{background:#8d9674;width:13px;height:1px}.diagram-lines b{color:#987746;font:26px Barlow Condensed}.book-intro{color:#5e7051;font-size:11px;line-height:1.9}.book-note{background:#c6c99d4f;border:1px solid #8e9b6b4d;margin-top:23px;padding:15px 17px;transform:rotate(-1.5deg)}.book-note b{letter-spacing:1.5px;font-size:7px}.book-note p{color:#667653;margin:8px 0 0;font-size:9px;line-height:1.9}.page-number{letter-spacing:1.3px;color:#7d8865;justify-content:space-between;font-size:6px;display:flex;position:absolute;bottom:16px;left:36px;right:36px}.page-number span{font-size:9px}.book-tabs{border-bottom:1px solid #939b7055;gap:18px;margin-bottom:26px;display:flex}.book-tabs button{color:#8a8f6c;letter-spacing:1px;background:0 0;border-bottom:2px solid #0000;padding:0 0 12px;font-size:7px}.book-tabs button.active{color:#344c39;border-color:#577354}.book-kicker{letter-spacing:1.2px;color:#8a7956;font-size:7px}#book-content h3{margin:11px 0 4px;font:600 39px Barlow Condensed}#book-content .book-subtitle{color:#7a8762;margin:8px 0 22px;font-size:9px}.hint-quote{gap:10px;padding:0 8px;display:flex}.hint-quote>span{color:#b19c66;height:40px;font:64px Georgia,serif}.hint-quote p{color:#56694b;margin:6px 0;font-size:14px;line-height:1.8}.book-layout{width:210px;height:155px;margin:16px auto 0;position:relative}.book-layout>div{top:calc(50% + var(--z) * 60px);left:calc(50% + var(--x) * 70px);background:#d1d2aa55;border:1px dashed #6d805850;flex-direction:column;justify-content:center;align-items:center;gap:5px;width:67px;height:67px;display:flex;position:absolute;transform:translate(-50%,-50%)}.book-layout b{color:#8a9773;font:26px Barlow Condensed}.book-layout span{letter-spacing:1px;color:#7e8767;font-size:6px}.more-hint{color:#64764c;text-align:left;background:0 0;border:1px dashed #83926088;width:100%;padding:11px;font-size:9px}.more-hint:hover{background:#c3c99b44}.extra-hint{color:#5b6f4c;background:#d1d2a96b;margin:0;padding:10px 12px;font-size:10px;line-height:1.8}.extra-hint b{letter-spacing:1px;margin-bottom:4px;font-size:7px;display:block}.pencil-note{color:#8c7b53;margin-top:18px;font-size:9px;line-height:1.8;transform:rotate(-1deg)}.book-warning{color:#a0764f;align-items:center;gap:7px;margin-top:20px;font-size:7px;display:flex}.book-warning .live-dot{width:4px;height:4px;box-shadow:none;background:#b98a54}.close-note{color:#bbc8aa;letter-spacing:1px;align-items:center;gap:9px;font-size:9px;display:flex}.glossary{grid-template-columns:1fr;gap:4px;display:grid}.glossary>div{border-bottom:1px solid #a3ab8255;align-items:center;gap:17px;padding:9px;display:flex}.glossary span{color:#405b3e;min-width:36px;font:30px Yu Gothic,Meiryo,serif}.glossary p{color:#63754e;margin:0;font-size:10px}.webgl-error{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:30px;display:flex;position:absolute;inset:0}.webgl-error button{background:var(--yellow);color:var(--ink);padding:15px}@keyframes appear{0%{opacity:0}to{opacity:1}}@keyframes pulse{50%{opacity:.3}}@media (width<=1150px){.station{display:none}.topbar{padding:22px 25px}.field-book{width:850px}.book-left,.book-right{padding:25px 26px 42px}.book-left h2{font-size:33px}.book-intro{font-size:10px}.book-illustration{height:110px}.hint-quote p{font-size:12px}.page-number{left:26px;right:26px}}@media (height<=740px) and (width>=801px){.topbar{height:80px;padding-top:18px}.ready-panel{width:660px;padding:17px 22px;bottom:62px}.dialog{padding:27px 34px}.book-left,.book-right{padding-top:22px}.book-edition{margin-top:18px}.book-left h2{margin-bottom:14px;font-size:30px}.book-illustration{height:100px;margin:15px 0}.book-illustration>span{font-size:43px}.book-note{margin-top:14px;padding:10px 14px}.book-layout{height:135px}.book-tabs{margin-bottom:16px}.hint-quote p{font-size:12px}.book-warning{margin-top:10px}.pencil-note{margin-top:12px}.book-intro{font-size:10px}.field-book{max-height:calc(100dvh - 70px)}.manual-overlay{gap:12px;padding:22px}}@media (width<=800px){.topbar{gap:10px;height:78px;padding:17px 18px}.brand-mark{width:37px;height:37px;font-size:26px}.brand{gap:10px}.brand strong{font-size:24px}.brand small{letter-spacing:1.8px;margin-top:5px;font-size:6px}.topbar nav{gap:3px}.manual-button{gap:7px;padding:9px;font-size:8px}.manual-button kbd{display:none}.icon-button{width:32px;height:37px}.icon-button svg{width:17px}.desktop-only{display:none}.eyebrow{letter-spacing:1px;gap:5px;font-size:7px}.text-button{font-size:8px}.ready-panel{grid-template-columns:1fr;gap:15px;width:calc(100% - 40px);max-width:600px;padding:20px;bottom:65px}.ready-panel h2{font-size:27px}.ready-panel p{font-size:9px}.ready-panel .primary{min-height:46px}.ready-meta{gap:8px;font-size:6px}.field-book{grid-template-columns:1fr;width:100%;max-width:560px;max-height:calc(100dvh - 90px)}.book-left,.book-spine{display:none}.book-right{padding:24px 26px 46px}.book-tabs{margin-bottom:20px}.book-tabs button{font-size:8px}.book-layout{height:150px}.book-warning{margin-top:16px}.hint-quote p{font-size:13px}.overlay{padding:20px}.dialog{max-height:calc(100dvh - 40px);padding:30px 26px}.dialog h2{font-size:36px}.learned-character>span{min-width:70px;font-size:68px}.learned-character{gap:13px}.learned-character h3{font-size:23px}.word-example{flex-wrap:wrap;gap:10px}.word-example>small{margin-left:0}.hover-prompt{width:max-content;max-width:90vw;font-size:8px;top:50%}#toast{padding:10px 14px;font-size:9px;top:84px}.result-stats strong{font-size:27px}}@media (width<=480px){.brand strong{font-size:21px}.brand small{font-size:5px}.brand-mark{width:33px;height:33px;font-size:23px}.manual-button>span{display:none}.ready-panel{padding:17px;bottom:56px}.ready-meta{letter-spacing:.6px;font-size:5px}.ready-panel h2{font-size:25px}.ready-panel p{font-size:8px}.primary{font-size:10px}.book-tabs{gap:17px}#book-content h3{font-size:34px}.result-dialog .explanation{font-size:10px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.brand-mark{color:#29466a;box-shadow:3px 3px #20496b66}.brand small,.station,.icon-button{color:#f3f0dc}.manual-button{background:#303f34d9;border-color:#d7d3af66}.manual-button:hover{background:#4d5d43}.ready-panel,.dialog{background:linear-gradient(130deg,#303e34f5,#45513ef5);border-color:#bdc3a077}.ready-panel p,.ready-meta,.dialog>p,.motion-option,.pause-help,.dialog .explanation{color:#d3ddc5}.overlay{background:#20291e99}.manual-overlay{background:#283425bd}.field-book{border-color:#8067ac}.book-note{background:#d7d1ef55}.hover-prompt,#toast{background:#304136f2;border-color:#cbd0aa88}.music-option{color:#dce1cf;justify-content:space-between;align-items:center;gap:18px;margin:18px 0;font-size:12px;display:flex}.music-option input{accent-color:#ffcc24;cursor:pointer;width:45%}.solved-targets{grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin:22px 0;display:grid}.solved-targets>div{background:#243d41;border:1px solid #70d79755;border-radius:5px;flex-direction:column;align-items:center;gap:8px;padding:12px 3px;display:flex}.solved-targets span{color:#bcf5c5;font-size:42px;line-height:1.2}.solved-targets b{color:#e5eddc;text-align:center;font-size:8px}.solved-targets small{color:#b8c9b8;font-size:10px}@media (width<=800px){.solved-targets{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.solved-targets span{font-size:32px}}.glossary{grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 8px}.glossary>div{gap:8px;padding:6px 2px}.glossary p{font-size:9px}.book-right .page-number{margin-top:24px;position:static}@media (width<=800px){.glossary{grid-template-columns:repeat(2,minmax(0,1fr))}.glossary p{font-size:8px}.glossary span{min-width:26px;font-size:25px}}#toast{pointer-events:none;max-width:min(520px,90vw);top:auto;bottom:22px}.hover-prompt{width:max-content;max-width:90vw;top:auto;bottom:17%}@media (width<=800px){.hover-prompt{bottom:28%}}.manual-button:disabled{opacity:.45;cursor:default}.ready-panel{bottom:32px}.ready-panel p{font-size:12px;line-height:1.65}.ready-panel .eyebrow,.ready-meta{font-size:9px}.ready-meta{flex-wrap:wrap;line-height:1.6}@media (width<=800px){.ready-panel{bottom:22px}.ready-panel p{font-size:11px}.ready-meta{gap:6px;font-size:8px}}@media (height<=740px) and (width>=801px){.ready-panel{gap:8px 22px;padding:14px 20px;bottom:18px}.ready-panel p{font-size:11px}.ready-panel h2{margin:5px 0}.ready-meta{padding-top:7px}}:root{--paper:#f4e8c7;--paper-ink:#263b32;--kanji-font:"Yu Gothic","Meiryo","Hiragino Kaku Gothic ProN","Noto Sans CJK JP",sans-serif}[lang=ja],.hover-kanji{font-family:var(--kanji-font)}#game-canvas:focus-visible{outline:2px solid var(--yellow);outline-offset:-4px}.icon-button:disabled{opacity:.35}body:not([data-phase=ready]) .station{visibility:hidden}.ready-actions{flex-direction:column;justify-content:center;gap:8px;display:flex}.ready-actions .text-button{justify-content:center;margin:0;padding:5px;font-size:12px}.ready-panel{width:min(790px,100vw - 40px)}.ready-panel p{font-size:13px}.ready-meta{font-size:10px}.text-button{letter-spacing:0;font-size:12px}.primary,.secondary{letter-spacing:.5px;font-size:12px}.hover-prompt{letter-spacing:0;padding:9px 14px;font-size:12px;bottom:20%}.hover-kanji{font-size:30px}.pause-dialog{text-align:left;width:500px}.pause-dialog h2{font-size:40px}.pause-dialog .eyebrow{justify-content:flex-start}.pause-dialog>p{margin-bottom:18px;font-size:14px;line-height:1.7}.pause-dialog .primary{margin-top:12px}.pause-dialog .text-button{margin:16px auto 0}.pause-help{gap:12px;margin-top:20px;padding-top:18px;font-size:11px;line-height:1.5}.audio-settings{border:0;border-top:1px solid #bdc3a044;margin:24px 0 16px;padding:16px 0 0}.audio-settings legend{color:var(--yellow);padding-right:12px;font-size:14px;font-weight:600}.audio-settings>label:not(.check-option){justify-content:space-between;margin:10px 0 8px;font-size:13px;display:flex}.audio-settings output{font-variant-numeric:tabular-nums;color:#f9e6a5}.audio-settings input[type=range]{accent-color:var(--yellow);cursor:pointer;width:100%;height:24px;margin:0}.check-option{align-items:center;gap:10px;margin:15px 0;font-size:13px;line-height:1.5;display:flex}.check-option input{width:18px;height:18px;accent-color:var(--yellow);flex-shrink:0}.manual-sheet{background:var(--paper);width:min(1040px,100vw - 56px);max-width:none;max-height:calc(100dvh - 48px);color:var(--paper-ink);border:5px solid #8067ac;border-radius:5px 12px 12px 5px;grid-template-rows:auto minmax(0,1fr);grid-template-columns:minmax(0,1.45fr) minmax(260px,.9fr);overflow:hidden;transform:none}.manual-heading{background:#f0e3bf;border-bottom:1px solid #8a846c66;grid-column:1/-1;align-items:center;gap:24px;padding:18px 26px;display:flex;position:relative}.manual-heading h2{margin:5px 0 0;font:600 32px/1.1 Barlow Condensed}.manual-heading .book-kicker{color:#5d654d;letter-spacing:1px;font-size:10px}.manual-heading .book-close{width:40px;height:40px;box-shadow:none;background:#d7c78f;flex-shrink:0;margin-left:0;position:static}.manual-clock{color:#ff6a59;text-align:left;background:#181e21;border:1px solid #555c50;border-radius:3px;grid-template-columns:auto auto;gap:3px 12px;min-width:148px;margin-left:auto;padding:10px 14px;display:grid}.manual-clock>span{color:#e6d7b9;grid-column:1/-1;font-size:10px}.manual-clock strong{font-variant-numeric:tabular-nums;font:600 36px/1 Barlow Condensed}.manual-clock small{color:#f2cab6;align-self:center;max-width:80px;font-size:10px;line-height:1.5}.manual-clock[data-urgent=true]{outline-offset:2px;color:#ff9c7e;outline:2px solid #b53d30}.manual-main{overscroll-behavior:contain;min-height:0;padding:25px 30px 30px;overflow:auto}.manual-reference{background:linear-gradient(90deg,#b4a47322,#0000 18%);border-left:1px solid #a69d7c66;min-height:0;padding:25px 28px;overflow:auto}.manual-reference h3{margin:0 0 10px;font:600 24px Barlow Condensed}.manual-reference>p{font-size:12px;line-height:1.7}.manual-sheet .book-tabs{flex-wrap:wrap;gap:8px 16px;margin-bottom:28px}.manual-sheet .book-tabs button{letter-spacing:0;color:#5f684e;padding-bottom:10px;font-size:12px;line-height:1.4}.manual-sheet .book-tabs button.active{color:#20392b;border-color:#314b37;font-weight:600}.manual-sheet button:focus-visible,.manual-sheet [tabindex]:focus-visible{outline-color:#3e6247}.manual-sheet #book-content h3{color:#263b32;margin:13px 0 10px;font:700 42px/1.1 Barlow Condensed}.manual-sheet #book-content>p{font-size:14px;line-height:1.8}.manual-sheet #book-content .book-subtitle{color:#586448;margin:8px 0 24px;font-size:13px}.manual-sheet .book-kicker{letter-spacing:.6px;color:#5c6248;font-size:10px}.manual-sheet .hint-quote{background:#b3c29426;border-left:3px solid #7d9167;margin:0 0 24px;padding:18px 20px;display:block}.manual-sheet .hint-quote p{color:#2c4835;margin:0;font-size:18px;line-height:1.8}.manual-sheet .more-hint{color:#334e35;border-color:#7a8d62;padding:14px;font-size:13px}.manual-sheet .extra-hint{color:#304e34;padding:14px 16px;font-size:15px;line-height:1.8}.manual-sheet .extra-hint b{letter-spacing:0;font-size:12px}.manual-sheet #book-content .pencil-note{color:#696443;margin-top:22px;font-size:12px;transform:none}.manual-sheet .book-layout{width:220px;height:172px;margin:16px auto}.manual-sheet .book-layout>div{width:60px;height:60px;top:calc(50% + var(--z) * 66px);left:calc(50% + var(--x) * 70px);background:#c9cba455;border-color:#6c7e55;gap:3px}.manual-sheet .book-layout>div.selected{background:#b9c69566;border:2px solid #526e42}.manual-sheet .book-layout b{color:#3e5738;font-size:25px}.manual-sheet .book-layout span{letter-spacing:0;color:#495c3d;text-align:center;font-size:8px}.manual-steps{margin:22px 0;padding-left:21px;font-size:13px;line-height:1.8}.manual-steps li{margin-bottom:10px;padding-left:4px}.manual-reference .book-note{background:#b9b69a22;border-color:#9b9c7a66;margin-top:22px;padding:13px 15px;font-size:12px;line-height:1.8;transform:none}.manual-shortcuts kbd,.controls-list kbd{color:#36503c;border-color:#6b79566b}.manual-sheet .glossary{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 14px}.manual-sheet .glossary>div{gap:10px;min-height:47px;padding:8px 0}.manual-sheet .glossary span{min-width:34px;font-size:30px}.manual-sheet .glossary p{color:#455d3e;font-size:12px;line-height:1.6}.controls-list{font-size:13px;line-height:1.8}.controls-list>div{margin:16px 0}.controls-list dt{font-weight:600}.controls-list dd{margin:3px 0 0}.tutorial-guide{border:1px solid #f1d07888;border-left:4px solid var(--yellow);z-index:12;background:#243b32f5;border-radius:4px;align-items:center;gap:20px;width:min(530px,100vw - 36px);padding:16px 22px;display:flex;position:absolute;bottom:20px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #11271b55}.tutorial-guide .eyebrow{letter-spacing:1px;color:#f3d77c;font-size:9px}.tutorial-guide h2{margin:6px 0;font:600 25px Barlow Condensed}.tutorial-guide p{color:#e3e7d7;margin:0;font-size:12px;line-height:1.7}.tutorial-guide .text-button{text-align:left;flex-shrink:0;width:72px;font-size:11px;line-height:1.6}body[data-mode=tutorial] #toast{bottom:175px}#onboarding-overlay .dialog p{font-size:14px;line-height:1.8}#onboarding-overlay .text-button{margin:14px auto 0}.result-dialog{text-align:left;grid-template-rows:auto minmax(0,1fr) auto;width:min(900px,100vw - 40px);height:min(830px,100dvh - 64px);max-height:none;padding:26px 32px 0;display:grid;overflow:hidden}.result-heading .eyebrow{justify-content:flex-start;margin-bottom:8px}.result-heading h2{margin:0 0 18px;font-size:42px}#result-content{overscroll-behavior:contain;scrollbar-gutter:stable;min-height:0;padding-right:12px;overflow:auto}#result-content:focus-visible{outline:2px solid var(--yellow);outline-offset:-2px}.result-summary{color:#e4e9dc;margin:0 0 20px;font-size:14px;line-height:1.7}.result-actions{background:0 0;border-top:1px solid #bdc3a044;flex-wrap:wrap;align-items:center;gap:12px 24px;margin-top:15px;padding:17px 0 22px;display:flex}.result-actions .primary{width:auto;min-width:220px;margin:0}.result-actions .text-button{margin:0;font-size:12px}.result-dialog .solved-targets{margin:12px 0 20px}.result-dialog .solved-targets>div{background:#22392f;border-color:#9ab68c55;padding:12px 5px}.result-dialog .solved-targets b{font-size:10px}.result-dialog .solved-targets small{font-size:13px}.result-dialog .result-stats{justify-content:flex-start;gap:40px;margin:20px 0 28px}.result-stats small{letter-spacing:.5px;font-size:9px}.review-heading{color:#f5df9a;margin:25px 0 15px;font:600 26px Barlow Condensed}.learning-card{border-top:1px solid #bdc3a044;grid-template-columns:84px minmax(0,1fr);gap:20px;padding:22px 0;display:grid}.learning-glyph{color:#b9edbc;text-align:center;background:#20362c66;border-radius:3px;align-self:start;font-size:64px;line-height:1.3}.learning-copy h3{color:#f4ead2;margin:0 0 6px;font:600 26px Barlow Condensed}.learning-copy p{color:#dce5d5;margin:8px 0;font-size:13px;line-height:1.8}.learning-copy .parts-equation{color:#bdddb7;font-size:20px;line-height:1.6}.word-study{background:#182f2766;border-left:2px solid #b4bd82;flex-wrap:wrap;align-items:baseline;gap:8px 18px;margin-top:14px;padding:12px 15px;display:flex}.word-study>b{color:#ffe7a1;font-size:21px}.word-study>span{color:#e3e8d9;font-size:13px}.word-study small{color:#d8dfcd;flex-basis:100%;font-size:12px;line-height:1.7}.study-note{color:#c5ceb6;margin:0;padding:12px 0;font-size:12px;line-height:1.8}.assembly-report{overflow-x:auto}.assembly-report table{border-collapse:collapse;text-align:left;width:100%;font-size:13px;line-height:1.6}.assembly-report caption{text-align:left;color:#d3dcc8;padding-bottom:12px}.assembly-report th,.assembly-report td{border-bottom:1px solid #b9c39944;padding:10px 12px}.assembly-report thead{background:#1e332a}.assembly-report th{font-weight:500}.assembly-report td[lang=ja]{font-size:25px}.assembly-report [data-result=correct] td:last-child{color:#b8edbc}.assembly-report tr:not([data-result=correct]) td:last-child{color:#ffcd9e}.result-dialog .retry-tip{font-size:13px;line-height:1.8}body[data-reduced-motion=true] *,body[data-reduced-motion=true] :before,body[data-reduced-motion=true] :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}@media (height<=760px) and (width>=801px){.manual-heading{padding:12px 24px}.manual-main,.manual-reference{padding-top:20px}.manual-sheet .book-tabs{margin-bottom:20px}.manual-sheet .hint-quote p{font-size:17px}.manual-sheet .book-layout{height:148px}.manual-steps{margin:14px 0}.manual-steps li{margin-bottom:6px}.pause-dialog{padding:24px 32px}.pause-dialog h2{margin:8px 0 12px;font-size:34px}.audio-settings{margin-top:18px}.pause-dialog .primary{margin-top:6px}.pause-dialog .text-button{margin-top:10px}.pause-dialog>p{margin-bottom:8px}.audio-settings{margin:12px 0 8px;padding-top:10px}.audio-settings input[type=range]{height:20px}.check-option{margin:10px 0}.pause-help{gap:8px;margin-top:12px;padding-top:12px}.result-dialog{height:calc(100dvh - 36px)}.result-heading h2{margin-bottom:12px;font-size:36px}}@media (width<=800px){.manual-sheet{border-width:4px;grid-template-columns:minmax(0,1fr);width:calc(100vw - 28px);max-height:calc(100dvh - 30px)}.manual-heading{gap:10px;padding:13px 15px}.manual-heading h2{font-size:25px}.manual-heading .book-kicker{font-size:8px}.manual-clock{grid-template-columns:1fr;gap:2px;min-width:114px;padding:8px 10px}.manual-clock strong{font-size:30px}.manual-clock small{max-width:none;font-size:9px}.manual-clock>span{font-size:9px}.manual-heading .book-close{width:32px;height:32px}.manual-reference{display:none}.manual-main{padding:20px}.manual-sheet .book-tabs{flex-wrap:nowrap;gap:15px}.manual-sheet .book-tabs button{font-size:11px;line-height:1.5}.manual-sheet #book-content h3{font-size:35px}.manual-sheet .hint-quote p{font-size:16px}.manual-sheet .glossary p{font-size:11px}.result-dialog{width:100%;height:calc(100dvh - 28px);padding:20px 18px 0}.result-heading h2{font-size:34px}#result-content{padding-right:6px}.result-actions{gap:10px 18px;padding:12px 0 16px}.result-actions .primary{min-width:180px}.result-actions .text-button{font-size:11px}.learning-card{grid-template-columns:56px minmax(0,1fr);gap:12px}.learning-glyph{font-size:45px}.learning-copy h3{font-size:23px}.learning-copy p{font-size:12px}.result-dialog .result-stats{gap:20px}.result-stats small{font-size:8px}.assembly-report th,.assembly-report td{padding:8px 6px;font-size:11px}.assembly-report td[lang=ja]{font-size:23px}.tutorial-guide{gap:10px;padding:12px 16px}.tutorial-guide h2{font-size:23px}.tutorial-guide p{font-size:11px}.tutorial-guide .text-button{width:58px}.ready-panel{grid-template-columns:1fr}.ready-actions{gap:5px}.ready-panel p{font-size:12px}.ready-meta{font-size:8px}}.account-gate{--gate-steel:#414e43;--gate-dark:#25332d;--gate-paper:#f2e9ce;--gate-yellow:#ffda59;height:100%;min-height:100%;color:var(--gate-paper);background:#767c68;grid-template-columns:minmax(320px,1fr) minmax(360px,490px);align-items:center;gap:clamp(32px,7vw,112px);padding:clamp(28px,5vw,76px);display:grid;overflow:auto}.account-story{justify-self:end;width:100%;max-width:610px}.account-station{letter-spacing:1px;border-bottom:2px solid #f2e9ce50;justify-content:space-between;gap:20px;padding-bottom:15px;font-size:12px;display:flex}.account-station span{align-self:center;font-size:10px}.account-story h1{letter-spacing:3px;color:#f8efcf;margin:30px 0 24px;font:700 clamp(70px,8vw,124px)/.88 Barlow Condensed,sans-serif}.account-tagline{margin:0 0 26px;font:600 clamp(22px,2.4vw,34px)/1.3 Barlow Condensed,sans-serif}.account-emblem{gap:12px;margin:24px 0;display:flex}.account-emblem span{color:#26392e;width:64px;height:64px;font:42px var(--kanji-font);background:#ece8d5;border-bottom:6px solid #ffc85c;border-radius:4px;place-items:center;display:grid;box-shadow:0 5px #26332c}.account-emblem span:nth-child(2){border-color:#73d3c4}.account-emblem span:nth-child(3){border-color:#e99065}.account-brief{color:#fff9e8;max-width:440px;font-size:13px;line-height:1.85}.account-stripe{background:repeating-linear-gradient(135deg,#ffda59 0 12px,#354036 12px 24px);max-width:440px;height:12px;margin-top:28px}.account-terminal{background:var(--gate-dark);border:2px solid #a7ad8f;border-radius:10px;width:100%;padding:30px 34px 24px;box-shadow:0 10px #303d31,0 18px 40px #1c251a35}.terminal-status{color:#dce6ca;align-items:center;gap:10px;font-size:11px;display:flex}.terminal-status i{background:#a5e48e;border-radius:50%;width:9px;height:9px;box-shadow:0 0 10px #a5e48555}.account-terminal h2{margin:14px 0 10px;font:600 36px/1.15 Barlow Condensed,sans-serif}.account-intro{color:#c7d0bd;margin-bottom:20px;font-size:12px;line-height:1.7}.account-tabs{background:#16271f;border-radius:5px;gap:3px;margin-bottom:20px;padding:4px;display:flex}.account-tabs button{background:0 0;border-radius:3px;flex:1;padding:10px 5px;font-size:12px}.account-tabs button[aria-pressed=true]{color:#fff9df;background:#56624c}.account-terminal label{margin:15px 0 8px;font-size:12px;font-weight:600;display:block}.account-terminal input{color:#fff9e6;background:#17261e;border:1px solid #89937d;border-radius:4px;width:100%;min-height:45px;padding:10px 12px;font:15px Be Vietnam Pro,sans-serif}.account-terminal small{color:#c2ceb7;margin-top:7px;font-size:10px;line-height:1.6;display:block}.password-field{position:relative}.password-field input{padding-right:65px}.password-field button{color:#ffda59;background:0 0;min-width:52px;font-size:11px;position:absolute;top:3px;bottom:3px;right:3px}.account-terminal #auth-status{color:#ffdc81;min-height:20px;margin:18px 0 12px;font-size:11px;line-height:1.65}.account-submit{color:#263429;background:#ffda59;border-radius:4px;width:100%;min-height:48px;padding:10px;font-size:13px;font-weight:600}.account-submit:disabled{opacity:.5}.account-note{color:#d9d5bc;font-size:11px;line-height:1.7}.account-footer{color:#c2ccb6;text-align:center;margin:20px 0 0;font-size:10px}#account-bar{border-bottom:1px solid #d8ddbb35;flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:9px 16px;width:100%;margin-bottom:4px;padding-bottom:12px;font-size:11px;display:flex}#account-name{color:#f9ebbc;font-weight:600}#cloud-status{color:#c9e7b0;text-align:left;background:0 0;padding:4px 0;font-size:10px}#cloud-status[data-pending=true]{color:#ffda59}#logout-button{background:0 0;border:1px solid #a8b195;border-radius:3px;margin-left:auto;padding:7px 10px;font-size:10px}@media (width<=760px){.account-gate{padding:24px 18px 36px;display:block}.account-story{max-width:490px;margin:auto}.account-story h1{margin:20px 0 10px;font-size:54px;line-height:1}.account-story h1 br{display:none}.account-story h1 br:after{content:" "}.account-station{font-size:10px}.account-tagline{margin-bottom:20px;font-size:24px}.account-tagline br,.account-emblem,.account-brief,.account-stripe{display:none}.account-terminal{max-width:490px;margin:0 auto;padding:24px}.account-terminal h2{font-size:32px}#account-bar{gap:8px}#cloud-status{max-width:55%}}
