@charset "UTF-8";
:root{--ink:#234b43;--muted:#36594f;--green:#2c6b56;--mint:#edf8f3;--yellow:#ffdc70;--orange:#ffab87;--line:#cfe1d7;--font:"Microsoft JhengHei","PingFang TC",sans-serif;color:var(--ink);font-family:var(--font);background:var(--mint);font-synthesis:none;font-size:26px;font-weight:700}
*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button{color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}button:disabled{cursor:default}button:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:4px solid #e08b26;outline-offset:5px}button{touch-action:manipulation}svg{display:block}ruby{ruby-position:over;ruby-align:center;white-space:nowrap}rt{font-family:"Bopomofo","Microsoft JhengHei",sans-serif;font-size:max(14px,.5em);font-weight:700;letter-spacing:0;line-height:1.1;color:inherit}button ruby{pointer-events:none}.annotated{line-height:2;word-break:keep-all}.icon{width:28px;height:28px;flex:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.shell{max-width:1320px;margin:auto;padding:0 44px}.topbar{height:auto;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);gap:20px;min-height:120px;padding:20px 0;flex-wrap:wrap}.brand{display:flex;align-items:center;gap:12px;font-size:30px;font-weight:900;letter-spacing:0}.brand-icon{width:48px;height:48px}.header-tools{display:flex;align-items:center;gap:12px;margin-left:auto}.grade{font-size:24px;color:var(--muted);border-right:1px solid var(--line);padding-right:18px;margin-right:4px}.round-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:56px;min-height:56px;border:1px solid #bfd6c9;border-radius:50%;background:transparent}.round-button:hover{background:#dbeee3}.score{display:flex;gap:9px;align-items:center;background:#fff6d7;padding:10px 18px;border-radius:30px;font-size:26px;font-weight:800;border:1px solid #efdfab}.score .icon{color:#d09323;fill:#ffd361}
.hero{display:grid;grid-template-columns:1.18fr 1fr;align-items:center;padding:40px 0;position:relative;gap:30px}.eyebrow{display:flex;align-items:center;gap:8px;font-size:24px;color:var(--green);font-weight:700;margin:0 0 8px}.eyebrow:before{content:"";width:8px;height:8px;background:#62a785;border-radius:50%}h1{font-size:58px;letter-spacing:3px;font-weight:900;margin:6px 0 1px;line-height:1.95}h1 .highlight{position:relative;z-index:0;display:inline-block;white-space:nowrap}h1 .highlight:after{content:"";position:absolute;bottom:3px;left:-3px;right:-3px;height:18px;background:var(--yellow);border-radius:40% 30% 30% 40%;z-index:-1;transform:rotate(-2deg)}.hero-copy>p{margin:7px 0 20px;font-size:26px;color:var(--muted);line-height:2.2;text-wrap:balance}.primary{border:2px solid var(--ink);background:var(--yellow);border-radius:16px;box-shadow:0 5px 0 var(--ink);padding:12px 24px;font-size:32px;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:84px;transition:transform .15s,box-shadow .15s}.primary:hover{transform:translateY(-2px);box-shadow:0 7px 0 var(--ink)}.primary:active{transform:translateY(4px);box-shadow:0 1px 0 var(--ink)}.hero-art{position:relative;display:flex;align-items:center;justify-content:center;min-height:260px}.hero-art>svg{width:100%;max-width:360px;overflow:visible}.orbit-label{position:absolute;right:0;top:22px;background:white;border:1px solid #cbded1;padding:8px 16px;border-radius:13px 13px 13px 0;transform:rotate(4deg);font-size:24px}.hero-spark{position:absolute;left:5%;bottom:30px;color:#d7972d;font-size:32px}.map-top{display:flex;justify-content:space-between;align-items:center;margin:15px 0 22px;flex-wrap:wrap;gap:12px 24px}.map-top h2{font-size:32px;letter-spacing:0;margin:0}.map-top p{font-size:24px;color:var(--muted);margin:0}.map-top p:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:#6ba78d;margin-right:8px}
.map{position:relative;padding:25px 24px 14px;border:1px solid #d4e7da;border-radius:30px;background:#f8fcf9;background-image:radial-gradient(#d8e9de 1.1px,transparent 1.1px);background-size:20px 20px;overflow:hidden}.trail{position:absolute;inset:36px 0 15px;width:100%;height:calc(100% - 51px);color:#cee2d3;pointer-events:none}.missions{position:relative;display:grid;grid-template-columns:repeat(4,1fr);column-gap:20px;row-gap:28px}.mission{position:relative;border:0;background:transparent;display:flex;flex-direction:column;align-items:center;padding:20px 4px;border-radius:20px;min-width:0;transition:background .2s,transform .2s;gap:8px}.mission:hover{background:#e6f1e9;transform:translateY(-4px)}.mission-art{position:relative;width:138px;height:94px;display:flex;align-items:center;justify-content:center;margin-bottom:7px}.island{position:absolute;bottom:0;left:0;width:100%;height:48px;border-radius:48% 51% 39% 44%;background:var(--island,#d8e8c7);border-bottom:7px solid var(--edge,#bad0a2);transform:rotate(-3deg)}.mission-art>.art{position:relative;width:92px;height:86px;z-index:1;margin-top:-18px;filter:drop-shadow(0 4px 0 #234b4310)}.mission:nth-child(2n) .island{transform:rotate(4deg)}.mission-number{position:absolute;top:10px;left:calc(50% - 76px);width:38px;height:38px;display:grid;place-items:center;border:1.5px solid var(--ink);border-radius:50%;background:white;font-size:22px;font-weight:800;z-index:2}.mission.done .mission-number{background:var(--green);color:white}.mission-name{font-weight:800;font-size:32px;letter-spacing:0;max-width:100%;text-align:center;text-wrap:balance}.mission-skill{font-size:26px;text-wrap:balance;color:var(--muted);margin-top:1px;max-width:100%;text-align:center;line-height:2.2}.mission.next{background:#fff8df;box-shadow:inset 0 0 0 2px #ecd68b}.mission-status{position:absolute;right:calc(50% - 79px);top:10px;color:#a87012;fill:#f5cd67;width:21px;height:21px}.footer{display:flex;justify-content:space-between;align-items:center;padding:22px 0 28px;color:var(--muted);font-size:24px;gap:20px;flex-wrap:wrap;line-height:2.2}.quiet-button{border:0;background:transparent;display:inline-flex;gap:7px;align-items:center;font-size:24px;padding:8px;font-weight:700}.quiet-button:hover{color:var(--green);text-decoration:underline}.quiet-button .icon{width:20px;height:20px}
dialog{border:2px solid var(--ink);padding:0;max-width:none;color:var(--ink);border-radius:26px;box-shadow:0 20px 80px #123b3540;background:#fffdf7;width:min(1080px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto}dialog::backdrop{background:#153b35a8;backdrop-filter:blur(5px)}.game-header{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;border-bottom:1px solid #dbe6da;gap:12px}.game-heading{display:flex;gap:13px;align-items:center;min-width:0}.game-heading h2{font-size:30px;margin:0;text-wrap:balance}.game-heading .level-badge{display:grid;place-items:center;background:var(--green);color:white;width:42px;height:46px;border-radius:11px;font-weight:800;flex-shrink:0;font-size:24px}.game-header .round-button{min-width:52px;min-height:52px}.instruction{display:flex;align-items:center;justify-content:center;gap:16px;min-height:130px;padding:22px 18px}.instruction h3{font-size:36px;text-wrap:balance;margin:0;text-align:center;line-height:2;min-width:0}.instruction .round-button{background:#edf5ec;min-width:52px;min-height:52px}.game-surface{position:relative;margin:0 26px;border:1px solid #d0e2d3;border-radius:20px;height:420px;overflow:hidden;background:#eaf6f1;background-image:radial-gradient(#cee4d6 1.5px,transparent 1.5px);background-size:25px 25px;isolation:isolate}.game-bottom{display:flex;justify-content:space-between;align-items:center;min-height:100px;padding:15px 28px;gap:14px;flex-wrap:wrap}.dots{display:flex;align-items:center;gap:9px}.dot{width:13px;height:13px;border:2px solid #a8c8b4;border-radius:50%;background:#fff}.dot.filled{background:var(--green);border-color:var(--green)}.feedback{font-size:26px;text-align:center;margin:0;min-height:46px;line-height:2}.hint-button{border:1px solid #c6d5c7;border-radius:13px;background:transparent;min-height:64px;padding:5px 13px;font-size:24px;display:flex;align-items:center;gap:8px;font-weight:700}.hint-button .icon{width:22px;height:22px}.demo-banner{position:absolute;inset:auto 12px 12px;background:white;border:1px solid #c5d9ca;border-radius:12px;padding:10px 16px;text-align:center;z-index:8;font-size:26px;box-shadow:0 3px 12px #183b3512;pointer-events:none;text-wrap:balance}.demo-pointer{position:absolute;width:34px;height:34px;left:15%;top:65%;z-index:9;pointer-events:none;animation:demo-move 2.4s 2 ease-in-out}.demo-pointer .icon{width:34px;height:34px;fill:white;color:#234b43;filter:drop-shadow(0 2px 3px #0003)}@keyframes demo-move{0%,100%{transform:translate(0,0)}50%{transform:translate(140px,-100px) scale(.85)}}
.star-target,.bubble{position:absolute;display:grid;place-items:center;width:80px;height:80px;border:0;border-radius:50%;background:#ffedb0;color:#ae7517;font-size:43px;transition:transform .18s,opacity .18s}.star-target .icon{width:49px;height:49px;fill:#ffd363;stroke:#bb8526}.star-target:hover{transform:scale(1.12)}.bubble{border:3px solid #96bdcf;background:#c9e9f5;color:#44778e;box-shadow:inset 8px 8px 0 #ffffff55,inset -5px -5px 0 #80adbf20}.bubble:nth-child(even){background:#ffe3c9;border-color:#ddb28b;color:#8c5c36}.bubble .icon{width:38px;height:38px;fill:currentColor}.collected{opacity:0;transform:scale(.2);pointer-events:none}.surface-center{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:18px}.treasure{border:0;background:none;width:180px;height:160px;position:relative;user-select:none}.treasure .art{width:180px;height:160px}.click-prompt{display:flex;gap:7px;align-items:center;color:var(--muted);font-size:26px}.mouse-diagram{width:34px;height:43px;border:2px solid var(--ink);border-radius:17px;position:relative;background:#fff;display:inline-block}.mouse-diagram:before{content:"";position:absolute;left:0;top:0;width:15px;height:19px;border-radius:14px 0 0;background:var(--yellow);border-right:1px solid var(--ink);border-bottom:1px solid var(--ink)}.mouse-diagram:after{content:"";position:absolute;width:2px;height:6px;background:var(--ink);top:6px;left:14px}.drag-item{position:absolute;top:30px;width:78px;height:78px;border:2px solid #d0d8b2;border-radius:20px;background:#fffbed;font-size:46px;display:grid;place-items:center;touch-action:none;cursor:grab;z-index:3;user-select:none}.drag-item.dragging{cursor:grabbing;box-shadow:0 8px 20px #234b4325}.drop-home{position:absolute;bottom:22px;width:22%;height:168px;border:3px dashed #8ab19b;border-radius:22px;background:#ffffff70;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:38px}.drop-home span{font-size:24px;font-weight:700;max-width:100%;text-align:center;line-height:1.8}.drop-home.arrived{background:#d8edc5;border-style:solid}.scroll-land{height:100%;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:auto;scrollbar-color:#51836a #dbeadf}.scroll-story{height:1200px;position:relative;background:linear-gradient(#e5f4f7 0 30%,#f0f6d8 30% 65%,#d9eabf 65%);text-align:center}.scroll-story:before{content:"";position:absolute;width:75px;top:35px;bottom:0;left:calc(50% - 37px);background:#fff5cc;border-left:3px dashed #d2bf7b;border-right:3px dashed #d2bf7b}.landmark{position:absolute;font-size:62px}.scroll-sign{position:relative;display:inline-flex;flex-direction:column;align-items:center;gap:10px;margin-top:30px;background:white;padding:16px 25px;border-radius:18px;border:2px solid #9bbdac}.scroll-sign .icon{width:37px;height:37px}.rabbit{position:absolute;bottom:48px;left:calc(50% - 53px);width:106px;height:106px;background:#fffdf3;border:3px solid #90af7e;border-radius:30px;font-size:68px}.rabbit:disabled{opacity:.7}.grid-world{height:100%;display:flex;align-items:center;justify-content:center;gap:30px}.board{display:grid;grid-template-columns:repeat(5,49px);grid-template-rows:repeat(4,49px);gap:5px;padding:10px;background:#bfd6c0;border-radius:17px}.cell{display:grid;place-items:center;background:#f6faef;border-radius:9px;font-size:27px}.cell .icon{width:28px;height:28px;fill:var(--yellow);stroke:#b17c25}.cell.robot{background:#d2eaf2}.keypad{display:grid;grid-template-columns:repeat(3,54px);gap:6px}.keypad button,.keycap{background:white;border:2px solid #a4baaa;border-bottom-width:5px;border-radius:10px;min-width:46px;height:46px;font-size:23px;display:inline-flex;align-items:center;justify-content:center}.keypad button{min-width:54px;height:54px;font-size:32px}.keypad button:hover{background:#fff0bf}.keypad button:first-child{grid-column:2}.keypad button:nth-child(2){grid-column:1}.keyboard-area{width:min(100%,510px);padding:12px}.typing-step{text-align:center;font-size:28px;min-height:52px}.typing-input{display:block;width:100%;height:76px;border:3px solid #749b83;border-radius:16px;background:white;font-size:42px;text-align:center;letter-spacing:8px;color:var(--ink);caret-color:var(--green);padding:8px;margin:10px 0 16px}.key-row{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.keycap{font-size:28px;min-width:54px;height:62px}.keycap.active{background:var(--yellow);border-color:#bf953a}.keycap.wide{min-width:116px;font-size:24px}.typing-input:focus{outline:4px solid #e7c75d55;outline-offset:3px}
.desktop{background:#c4e2d9;background-image:linear-gradient(135deg,#d5eee2,#add4d2);height:100%;position:relative;padding:17px}.desktop-shortcut{position:absolute;left:15px;top:22px;display:flex;flex-direction:column;align-items:center;gap:5px;font-size:24px}.desktop-shortcut .icon{width:38px;height:38px;fill:#fff6cd}.sim-window{position:absolute;top:56px;left:5%;width:90%;height:280px;background:#fffef8;border:2px solid #5c897b;box-shadow:0 8px 20px #33574820;border-radius:10px;overflow:hidden;transition:width .15s,height .15s,top .15s,left .15s}.sim-window.maximized{top:0;left:0;width:100%;height:calc(100% - 68px);border-radius:0}.window-titlebar{height:66px;text-wrap:balance;display:flex;align-items:center;justify-content:space-between;background:#f0f7f1;border-bottom:1px solid #d8e4d9;padding-left:13px;font-size:24px}.window-controls{display:flex;align-self:stretch}.window-controls button{border:0;border-left:1px solid #dae5db;background:transparent;width:56px;font-size:32px}.window-controls button:hover{background:#e0ecdf}.window-controls .close-window:hover{background:#efb2a2}.window-content{height:calc(100% - 66px);display:flex;align-items:center;justify-content:center;flex-direction:column;gap:9px}.window-content>svg{width:95px;height:88px}.window-content p{font-size:24px;margin:0;text-align:center;text-wrap:balance}.taskbar{position:absolute;left:0;right:0;bottom:0;height:68px;background:#ffffffad;border-top:1px solid #a5c7b8;display:flex;align-items:center;justify-content:center;gap:12px}.taskbar button{height:58px;min-width:46px;padding:4px 10px;border:0;border-radius:7px;background:#f5faf2;display:flex;align-items:center;gap:8px;font-size:24px}.taskbar .icon{width:23px;height:23px}.taskbar button.running{border-bottom:3px solid #3c8067}.blocked-control{animation:nudge .25s 2}@keyframes nudge{50%{transform:translateX(4px)}}
.win-overlay{position:absolute;inset:0;background:#fcfff4f2;display:flex;align-items:center;justify-content:center;flex-direction:column;z-index:15;padding:20px;animation:reveal .25s ease-out}.win-star{flex-shrink:0;width:75px;height:75px;color:#b48622;fill:#ffcf4d;filter:drop-shadow(0 5px 0 #e2b54855)}.win-overlay h3{font-size:40px;margin:6px 0;text-wrap:balance}.win-overlay p{margin:0 0 14px;font-size:26px;color:var(--muted);text-align:center;text-wrap:balance}.win-actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap;justify-content:center}.win-actions .primary{font-size:28px;min-height:72px;padding:8px 19px}.win-actions .hint-button{font-size:26px}.confetti{position:absolute;inset:0;overflow:hidden;pointer-events:none}.confetti i{position:absolute;top:-20px;width:11px;height:20px;border-radius:3px;animation:fall 1.9s ease-in both}@keyframes fall{to{transform:translateY(420px) rotate(300deg)}}@keyframes reveal{from{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}#help{width:min(820px,calc(100% - 32px));padding:25px 28px}#help h2{font-size:32px;margin:0 0 10px}#help p{font-size:26px;line-height:2.8;text-wrap:balance}#help .help-close{float:right}#help .primary{font-size:28px;margin-bottom:10px}.device-note{background:#fff4cf;border:1px solid #e7cc78;padding:7px 14px;border-radius:10px;font-size:24px;margin:0 26px 10px;text-align:center}
@media(min-width:1200px){.hero{padding-top:35px;padding-bottom:24px;padding:40px 0}.mission{padding-bottom:11px;padding:20px 4px;gap:8px}.map{padding-top:19px}.hero-art{min-height:260px}}@media(max-width:1100px){.shell{padding:0 24px;max-width:1320px}.topbar{height:auto;min-height:120px;padding:20px 0;flex-wrap:wrap}.brand{font-size:30px;gap:8px;letter-spacing:0}.brand-icon{width:40px;height:40px}.grade{display:none;font-size:24px}.hero{grid-template-columns:1.2fr .9fr;gap:8px;padding:40px 0}h1{font-size:58px;letter-spacing:1px}.hero-art{min-height:220px}.orbit-label{font-size:24px;right:-6px;top:7px}.hero-copy>p{font-size:26px;line-height:2.2;text-wrap:balance}.missions{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px;row-gap:28px}.map{padding:20px 10px 10px}.mission-name{font-size:32px;letter-spacing:0;max-width:100%;text-align:center;text-wrap:balance}.mission-skill{font-size:26px;text-wrap:balance;max-width:100%;text-align:center;line-height:2.2}.mission-art{width:112px}.mission-number{left:calc(50% - 61px);width:38px;height:38px;font-size:22px}.mission-status{right:calc(50% - 61px)}.primary{font-size:32px;padding:12px 24px;min-height:84px}.header-tools{gap:8px;margin-left:auto}.score{padding:9px 13px;font-size:26px}.game-heading h2{font-size:30px;text-wrap:balance}.instruction h3{font-size:36px;text-wrap:balance;line-height:2;min-width:0}}
@media(max-width:580px){.shell{padding:0 17px;max-width:1320px}.topbar{height:auto;gap:8px;min-height:120px;padding:20px 0;flex-wrap:wrap}.brand{font-size:30px;letter-spacing:0;gap:6px}.brand-icon{width:34px;height:34px}.header-tools{gap:6px;margin-left:auto}.header-tools .round-button{min-width:52px;min-height:52px}.score{font-size:26px;padding:7px 10px;gap:4px}.score .icon{width:23px;height:23px}.hero{grid-template-columns:1fr .65fr;padding:40px 0;gap:0}.eyebrow{font-size:24px;margin-bottom:8px}h1{font-size:58px;letter-spacing:1px}.hero-copy>p{font-size:26px;margin-bottom:17px;line-height:2.2;text-wrap:balance}.hero-art{min-height:180px;margin-right:-9px}.orbit-label{display:none;font-size:24px}.hero-spark{bottom:0;font-size:23px}.hero .primary{font-size:32px;min-height:84px;padding:12px 24px;gap:10px;border-radius:13px}.hero .primary .icon{width:22px}.map-top h2{font-size:32px;letter-spacing:0}.map-top p{font-size:24px}.map-top p:before{display:none}.map-top{margin-bottom:13px;flex-wrap:wrap;gap:12px 24px;margin:15px 0 22px}.missions{grid-template-columns:1fr;gap:24px;row-gap:28px}.mission{padding:20px 4px;gap:8px}.mission-art{width:125px;height:92px}.mission-number{left:calc(50% - 65px);width:38px;height:38px;font-size:22px}.mission-status{right:calc(50% - 65px)}.mission-name{font-size:32px;letter-spacing:0;max-width:100%;text-align:center;text-wrap:balance}.mission-skill{font-size:26px;text-wrap:balance;max-width:100%;text-align:center;line-height:2.2}.map{padding:10px 10px 12px;border-radius:23px}.trail{display:none}.footer{align-items:center;font-size:24px;padding-top:17px;flex-wrap:wrap;gap:20px;line-height:2.2}.footer>span{max-width:100%;line-height:2;text-wrap:balance}.quiet-button{font-size:24px;padding-top:0;font-weight:700}.quiet-button .icon{width:18px}dialog{width:min(1080px,calc(100% - 32px));max-height:calc(100dvh - 20px);border-radius:20px}.game-header{padding:18px 22px}.game-heading{gap:8px;min-width:0}.game-heading h2{font-size:30px;text-wrap:balance}.game-header .round-button{min-width:52px;min-height:52px}.game-heading .level-badge{width:42px;height:46px;font-size:24px;flex-shrink:0}.instruction{padding:22px 18px;min-height:130px;gap:16px}.instruction h3{font-size:36px;text-wrap:balance;line-height:2;min-width:0}.instruction .round-button{min-width:52px;min-height:52px}.game-surface{margin:0 10px;height:420px}.game-bottom{padding:14px 13px;flex-wrap:wrap;gap:14px;justify-content:space-between;min-height:100px}.feedback{font-size:26px;order:3;width:100%;min-height:46px;line-height:2}.star-target,.bubble{width:65px;height:65px}.star-target .icon{width:42px;height:42px}.grid-world{flex-direction:column;gap:13px}.board{grid-template-columns:repeat(5,41px);grid-template-rows:repeat(4,41px);gap:4px;padding:8px}.keypad{grid-template-columns:repeat(3,54px);gap:4px}.keypad button{min-width:54px;height:54px;font-size:32px}.drop-home{width:26%;height:168px;font-size:35px}.drop-home span{font-size:24px;max-width:100%;text-align:center;line-height:1.8}.drag-item{width:63px;height:63px;font-size:37px}.keycap{min-width:54px;height:62px;font-size:28px}.keycap.wide{min-width:116px;font-size:24px}.key-row{gap:5px;flex-wrap:wrap}.typing-input{font-size:42px;letter-spacing:6px}.sim-window{left:6%;width:88%;top:56px;height:280px}.window-titlebar{padding-left:8px;height:66px;font-size:24px}.window-controls button{width:56px;font-size:32px}.window-titlebar>.annotated{font-size:24px}.desktop-shortcut{top:8px;left:12px;flex-direction:row;font-size:24px}.desktop-shortcut .icon{width:25px;height:25px}.win-actions{gap:12px;flex-wrap:wrap;justify-content:center}.win-actions .primary{font-size:28px;padding:6px 13px;min-height:72px}.win-overlay h3{font-size:40px;text-wrap:balance}.win-overlay p{font-size:26px;text-align:center;text-wrap:balance}.device-note{margin:0 10px 10px;font-size:24px}.game-bottom .hint-button{font-size:24px}}
ruby{display:inline-flex;align-items:center;vertical-align:middle;line-height:1.4;margin-right:.035em}rt{display:flex;align-items:center;line-height:1;font-size:max(14px,.5em);margin-left:.13em;letter-spacing:0;min-width:1em;font-weight:700}.bopomofo{writing-mode:vertical-rl;text-orientation:upright;letter-spacing:0;line-height:1.05}.tone{font-size:1.1em;letter-spacing:0;min-width:.55em;font-weight:800}.tone.neutral{align-self:flex-start;transform:translate(-1.1em,-.4em);width:0;min-width:0}.annotated{word-break:normal}.reading-unit{display:inline-flex;align-items:center;white-space:nowrap;vertical-align:middle}.demo-ghost{font-size:44px;width:78px;height:78px;opacity:.8}.demo-ghost>.icon{position:absolute;right:-3px;bottom:-2px}@keyframes demo-move{0%,15%,100%{transform:translate(0,0)}55%,80%{transform:translate(var(--dx,90px),var(--dy,-60px))}}
@media(max-width:1100px){.hero h1 .highlight{display:block;white-space:nowrap;width:max-content}.hero h1>.annotated{white-space:nowrap}}
@media(max-width:1100px){h1{font-size:48px}.orbit-label,.trail{display:none}.hero{grid-template-columns:1fr;position:relative}.hero-copy{position:relative;z-index:1}.hero-art{align-self:center;position:absolute;right:0;top:110px;width:32%;min-height:220px}}
@media(max-width:580px){.game-header{padding:16px 12px;gap:8px}.game-heading{gap:6px}.game-heading .level-badge{width:34px;height:40px}.game-surface:has(.win-overlay){height:560px}h1{font-size:44px}.brand{font-size:26px}.hero{grid-template-columns:1fr}.hero-art{position:static;width:100%;max-width:240px;justify-self:center;min-height:180px}.hero .primary{font-size:28px}.instruction h3{font-size:30px}.game-heading h2{font-size:26px;text-wrap:balance}.instruction{padding:18px 12px}.game-surface{margin:0 10px}.game-bottom{padding:16px 14px}.window-titlebar{padding-left:8px}.window-controls button{width:42px}.window-titlebar{height:112px}.window-content{height:calc(100% - 112px)}.sim-window{top:64px;left:2%;width:96%}.mission-art{width:150px;height:100px}.desktop-shortcut{top:8px}.win-actions .primary{font-size:26px}.win-overlay h3{font-size:36px;text-wrap:balance}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
