:root{font-family:Segoe UI,Microsoft YaHei,sans-serif;color:#344b3c;background:#e9e7df;font-synthesis:none;font-weight:400;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden}body{background:radial-gradient(ellipse at 46% 39%,#faf8f0,#eeebe4 49%,#deddd7)}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;border:0;background:none;cursor:pointer}a{color:inherit}button:focus-visible,a:focus-visible{outline:4px solid currentColor;outline-offset:3px}#scene{width:100%;height:100%;position:relative;isolation:isolate}#scene>canvas{display:block;width:100%;height:100%;touch-action:none;cursor:grab}#scene>canvas.dragging{cursor:grabbing}.screen-layer{position:absolute;inset:0;pointer-events:none;overflow:hidden}.screen-layer>div{pointer-events:none!important}.lcd{width:720px;height:436px;pointer-events:auto;position:relative;color:var(--lcd-accent,#4c6244);background:color-mix(in srgb,var(--lcd-tint,#b4bd8b) 24%,#f6f4db);overflow:hidden;border-radius:0;display:flex;flex-direction:column;box-shadow:inset 0 0 30px #23372b25;-webkit-user-select:text;user-select:text;transition:filter .16s,opacity .16s;backface-visibility:hidden}.lcd:after{content:"";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,#2b3e2920 0 1px,transparent 1px 4px);opacity:.18;z-index:10}.lcd.loading{opacity:.15;filter:brightness(.4);pointer-events:none}.lcd-top{height:43px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;margin:0 25px;padding:0 0 1px;border-bottom:2px solid color-mix(in srgb,var(--lcd-accent) 35%,transparent);font:600 16px Cascadia Code,Consolas,monospace;letter-spacing:1px}.lcd-dot{font-size:11px;vertical-align:super;margin-left:4px;margin-right:4px}.lcd-top button{padding:7px 0 7px 12px;font-size:16px}.lcd-page{position:relative;flex:1;min-height:0;padding:22px 32px 12px;overflow:auto;scrollbar-width:thin;scrollbar-color:var(--lcd-accent) transparent}.page-eyebrow{font:600 15px Cascadia Code,Consolas,monospace;letter-spacing:1px;margin-bottom:17px;opacity:.76}.lcd h1{font-size:36px;line-height:1.35;letter-spacing:1px;margin:0 0 15px;font-weight:750;max-width:94%;text-wrap:balance}.lcd-page:not(.detail-page) h1{max-width:540px}.lcd-page p{font-size:23px;line-height:1.8;margin:0;letter-spacing:.5px;max-width:625px}.lcd-page:not(.detail-page) p{max-width:545px}.mascot{position:absolute;right:35px;top:35px;width:66px;height:72px;image-rendering:pixelated;filter:drop-shadow(5px 5px 0 #45583d15);transform:rotate(-6deg)}.screen-hint{font-size:17px;line-height:1.8;margin-top:20px;opacity:.73;letter-spacing:.6px}.page-note{font-size:15px;opacity:.62;position:absolute;bottom:19px}.lcd-bottom{height:41px;margin:0 25px;display:flex;align-items:center;justify-content:space-between;border-top:2px solid color-mix(in srgb,var(--lcd-accent) 35%,transparent);flex-shrink:0;font:600 15px Cascadia Code,Consolas,monospace;letter-spacing:1px;gap:12px}.lcd-bottom button{padding:7px 0;font-size:16px}.lcd-bottom button:hover,.lcd-top button:hover{color:#fff9e8;text-shadow:1px 0 currentColor;background:var(--lcd-accent)}.lcd-bottom>span{margin:auto;opacity:.75}.lcd-bottom #reset{font-size:24px;line-height:1;padding:0 0 3px 8px}.detail-page h1{font-size:34px}.detail-page p{font-size:25px;line-height:1.9}#contact-links{display:flex;gap:20px;margin-top:16px;font:16px Consolas,monospace}#contact-links span{opacity:.7}#contact-links a{font-weight:700}.model-focus{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.fallback-console{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:70px 140px;background:#9480ba;border-radius:100px;box-shadow:0 25px #6d5b8c}.fallback-console .lcd{position:relative}.webgl-notice{color:#a23b31;font-size:18px!important;margin-top:15px!important}@media(max-width:600px){.fallback-console{transform:translate(-50%,-50%) scale(.35)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}#scene{touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none}#scene>canvas{position:absolute;inset:0;z-index:2;pointer-events:none}#scene.dragging{cursor:grabbing!important}.screen-layer{z-index:1}.lcd{-webkit-user-select:none;user-select:none;touch-action:none}.lcd,.lcd *{pointer-events:none!important;-webkit-user-select:none;user-select:none}.lcd.loading{opacity:0!important;visibility:hidden!important;transition:none!important;filter:none}.menu-page h1{font-size:32px;margin-bottom:15px}.menu-page .page-eyebrow{margin-bottom:11px}.screen-menu{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:15px}.screen-option{display:flex;gap:9px;align-items:center;padding:9px 10px;font-size:21px;line-height:1.5;border:2px solid transparent;border-radius:3px;min-height:50px}.screen-option>span{font:18px monospace;flex-shrink:0}.screen-option.is-selected{background:var(--lcd-accent);color:#fbf6e3;border-color:var(--lcd-accent)}.settings-menu{grid-template-columns:1fr;gap:5px;margin-top:5px}.settings-menu .screen-option{min-height:44px;padding:6px 12px;font-size:22px}.article-page h1{font-size:31px;margin-bottom:12px}.article-page p{font-size:24px;line-height:1.85;max-width:650px!important}.article-actions{display:flex;gap:8px;padding:2px 28px 8px;flex-shrink:0}.article-actions .screen-option{font-size:18px;padding:4px 8px;min-height:34px;flex:1}.lcd-bottom{font-size:15px;letter-spacing:0;justify-content:space-between}.lcd-bottom>span{margin:0}.contact-display{font:19px/1.6 monospace;margin-top:12px}.screen-menu{grid-template-columns:1fr;gap:4px;margin-top:10px}.screen-option{font-size:24px;min-height:43px;padding:5px 10px;line-height:1.25}.menu-page h1{font-size:36px;margin-bottom:12px}.menu-page .page-eyebrow{margin-bottom:9px}.article-actions .screen-option{font-size:18px;min-height:34px}.lcd.power-off{opacity:0!important;visibility:hidden!important;transition:none!important}.lcd{filter:brightness(var(--screen-brightness,1))}.lcd.brightness-feedback:before{content:attr(data-brightness-label);position:absolute;z-index:20;left:50%;bottom:55px;transform:translate(-50%);padding:10px 22px;border:2px solid #edeed8;border-radius:4px;background:#384636;color:#f5f5df;font:600 21px Microsoft YaHei,sans-serif;white-space:nowrap;pointer-events:none}.settings-menu{gap:2px;margin-top:0}.settings-menu .screen-option{min-height:38px;padding:3px 10px;font-size:22px}.cartridge-error{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:15px 32px}.cartridge-error svg{width:86px;height:70px;margin-bottom:12px}.cartridge-error .page-eyebrow{margin-bottom:8px;letter-spacing:3px}.cartridge-error h1{margin-bottom:10px;font-size:40px}.cartridge-error p{font-size:24px;line-height:1.6}.cartridge-app-root,.system-overlay{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.lcd [hidden]{display:none!important}.arcade-app{--arcade-paper:color-mix(in srgb,var(--lcd-tint) 24%,#f6f4db);background:var(--arcade-paper);color:var(--lcd-accent);font-family:Cascadia Code,Microsoft YaHei,monospace}.arcade-menu{padding:11px 27px 10px;display:flex;flex-direction:column;height:100%}.arcade-marquee{position:relative;height:88px;border-bottom:2px solid currentColor;flex-shrink:0}.arcade-marquee>span{display:block;font-size:11px;letter-spacing:3px}.arcade-marquee strong{font-size:48px;line-height:1.35;letter-spacing:2px}.arcade-marquee strong>span{font-size:22px}.arcade-marquee small{position:absolute;right:0;bottom:19px;font-size:12px;letter-spacing:1px}.arcade-game-list{display:flex;flex-direction:column;gap:3px;padding-top:10px}.arcade-game-row{display:flex;align-items:center;gap:12px;padding:7px 10px;font-size:21px;line-height:1.2;border:1px solid transparent;border-radius:2px}.arcade-game-row>b{font-size:18px;font-weight:400}.arcade-game-row>small{margin-left:auto;font-size:12px;letter-spacing:1px}.arcade-game-row.selected,.arcade-pause-option.selected{background:var(--lcd-accent);color:var(--arcade-paper)}.arcade-menu-bottom{display:flex;justify-content:flex-end;margin-top:auto;padding-top:7px;font-size:12px;letter-spacing:.5px}.arcade-play{height:100%;padding:7px 12px 8px;display:flex;flex-direction:column}.arcade-hud{display:flex;justify-content:space-between;align-items:center;height:30px;flex-shrink:0;font-size:15px;padding:0 7px}.arcade-hud small{font-size:12px;margin-left:12px}.arcade-stage{position:relative;flex:1;min-height:0;display:flex;align-items:center;justify-content:center;background:var(--arcade-paper);border:1px solid currentColor}.arcade-stage canvas{width:100%;height:100%;object-fit:contain;image-rendering:pixelated}.arcade-overlay{position:absolute;inset:0;background:var(--arcade-paper);display:flex;align-items:center;justify-content:center;text-align:center}.arcade-overlay>div{min-width:340px;border:2px solid currentColor;padding:12px 30px}.arcade-overlay small{font-size:12px;letter-spacing:3px}.arcade-overlay h2{font-size:28px;margin:5px 0}.arcade-overlay p{font-size:16px;margin:5px 0 12px}.arcade-pause-option{font-size:19px;padding:5px 18px;text-align:left}.lcd:has(.arcade-app:not([hidden])) .lcd-bottom{font-size:12px;gap:8px}.guide-app{--guide-paper:#f4f4de}.guide-index,.guide-detail{padding:16px 28px 8px;flex:1;min-height:0;display:flex;flex-direction:column}.guide-heading,.guide-detail-heading{display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.guide-heading .page-eyebrow,.guide-detail-heading .page-eyebrow{font-size:13px;margin:0 0 4px;letter-spacing:1.4px}.lcd .guide-app h1{font-size:29px;margin:0 0 10px;letter-spacing:.5px;max-width:none;white-space:nowrap}.guide-book{font-size:52px;line-height:1;transform:rotate(-9deg);margin-right:16px}.guide-chapters{display:grid;grid-template-columns:1fr 1fr;gap:8px 14px}.guide-chapter{display:flex;gap:13px;align-items:center;padding:8px 12px;font-size:21px;border:1.5px solid #3c71684d;border-radius:5px;line-height:1.3}.guide-chapter>span{font:15px monospace;opacity:.6}.guide-chapter>small{margin-left:auto;opacity:.6}.guide-chapter.is-selected{background:var(--lcd-accent);color:var(--guide-paper);border-color:var(--lcd-accent)}.guide-index-note{font-size:16px;margin-top:auto;padding-top:8px;opacity:.8}.guide-detail{padding-top:12px}.lcd .guide-detail-heading h1{font-size:27px;margin:0}.guide-status{font:14px monospace;padding:6px 9px;border:1px solid #3c71685c;border-radius:4px}.guide-demo-row{display:flex;gap:22px;min-height:0;flex:1;align-items:center}.guide-diagram{width:270px;flex-shrink:0;height:236px;display:flex;align-items:center;justify-content:center}.guide-diagram svg{width:100%;height:100%;overflow:visible;fill:var(--lcd-accent)}.guide-diagram text{font:700 16px Microsoft YaHei,sans-serif;text-anchor:middle;stroke:none}.guide-diagram .guide-small-text{font-size:12px;font-weight:400}.guide-body{fill:#aec5b9;stroke:var(--lcd-accent);stroke-width:3}.guide-display{fill:var(--guide-paper);stroke:var(--lcd-accent);stroke-width:4}.guide-pad,.guide-a,.guide-b{fill:var(--lcd-accent);stroke:var(--guide-paper);stroke-width:2}.guide-line,.guide-track{stroke:var(--lcd-accent);stroke-width:2;fill:none}.guide-track{opacity:.4;stroke-dasharray:4 5}.guide-led{fill:#d7ed9d;stroke:var(--lcd-accent);stroke-width:1}.guide-arrow{fill:none;stroke:var(--lcd-accent);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.guide-instructions{flex:1;min-width:0}.guide-instructions p{font-size:18px;line-height:1.55;margin:0 0 14px;display:flex;gap:9px}.guide-instructions b{font:13px monospace;border:1px solid currentColor;border-radius:50%;width:21px;height:21px;flex-shrink:0;text-align:center;line-height:19px;margin-top:4px;opacity:.7}.guide-caption{font-size:15px;letter-spacing:.4px;text-align:center;padding:5px 0 2px;border-top:1px dashed #3c71685c}.guide-screen-selection text{fill:var(--guide-paper);font-size:10px}.guide-screen-selection{animation:guide-select 4s infinite}.guide-hand{animation:guide-point 4s infinite}.guide-pointer{fill:var(--guide-paper);stroke:var(--lcd-accent);stroke-width:2}.guide-controls .guide-a{animation:guide-press 4s infinite;transform-box:fill-box;transform-origin:center}.guide-button-label{fill:var(--guide-paper);font-size:12px!important}.guide-card{fill:#d9c6ab;stroke:var(--lcd-accent);stroke-width:3}.guide-new-card .guide-card{fill:#b5cec5}.guide-old-card{animation:guide-eject 7s infinite}.guide-new-card{animation:guide-insert 7s infinite}.guide-swap-display{animation:guide-swap-power 7s infinite}.guide-rotate{transform-origin:150px 130px;animation:guide-rotate 6s infinite}.guide-fold-base{animation:guide-center 6s infinite}.guide-fold-lid{transform-origin:150px 144px;animation:guide-fold 6s infinite}.guide-switch-track{fill:#74968c}.guide-switch{animation:guide-switch 3s infinite}.guide-power .guide-led{animation:guide-blink 1.8s infinite}.guide-backlight{fill:#ffffd5;animation:guide-backlight 6s steps(1) infinite}.guide-rays{fill:none;stroke:var(--lcd-accent);stroke-width:2;animation:guide-glow 1.5s infinite}.guide-wave{fill:none;stroke:var(--lcd-accent);stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:450;animation:guide-wave 3s infinite}.guide-wave-mechanical{animation-delay:1s}.guide-sound-card{fill:none;stroke:var(--lcd-accent);stroke-width:1.5}.guide-keyboard{width:100%;height:auto}.guide-mapping{width:100%;display:flex;gap:17px;align-items:stretch}.guide-mapping-device{width:430px;flex-shrink:0}.guide-map-title{font-size:15px;letter-spacing:1px;margin:1px 0 6px;opacity:.8}.guide-mapping-device svg{height:222px;width:100%}.guide-diagram .guide-key-label{fill:var(--guide-paper);font:700 12px monospace}.guide-diagram .guide-physical-label{font:9px monospace}.guide-diagram .guide-map-brand{font:700 19px monospace;letter-spacing:3px}.guide-map-wire{fill:none;stroke:var(--lcd-accent);stroke-width:1.5}.guide-keycap{fill:var(--guide-paper);stroke:var(--lcd-accent);stroke-width:1.5}.guide-diagram .guide-keycap-text{font:700 17px monospace}.guide-shortcuts{border-left:1px dashed #3c71685c;padding-left:15px;flex:1}.guide-shortcuts>div:not(.guide-map-title){display:flex;gap:9px;align-items:center;margin:14px 0;font-size:15px;white-space:nowrap}.guide-shortcuts kbd{min-width:46px;font:600 15px monospace;text-align:center;border:1.5px solid currentColor;border-bottom-width:3px;border-radius:4px;padding:4px;background:#f4f4de77}.guide-shortcuts p{font-size:13px;line-height:1.9;margin:18px 0 0}.guide-app[data-demo-paused=true] *,.cartridge-app-root[data-paused=true] *{animation-play-state:paused!important}@keyframes guide-select{0%,25%{transform:translateY(0)}35%,65%{transform:translateY(18px)}75%,to{transform:translateY(0)}}@keyframes guide-point{0%,25%{transform:translate(117px,185px)}40%,80%{transform:translate(207px,173px)}to{transform:translate(117px,185px)}}@keyframes guide-press{0%,45%,65%,to{transform:scale(1)}50%,60%{transform:scale(.82)}}@keyframes guide-eject{0%,12%{transform:translate(0)}28%,35%{transform:translateY(70px)}50%,to{transform:translate(-95px,70px)}}@keyframes guide-insert{0%,35%{transform:translate(95px)}50%,60%{transform:translate(0)}80%,to{transform:translateY(-70px)}}@keyframes guide-swap-power{0%,8%,88%,to{fill:#f4f4de}14%,82%{fill:#3a4b45}}@keyframes guide-rotate{0%,12%,85%,to{transform:scaleX(1) skewY(0)}38%{transform:scaleX(.5) skewY(-8deg)}65%{transform:scaleX(.65) skewY(7deg)}}@keyframes guide-fold{0%,10%,90%,to{transform:scaleY(1)}35%,65%{transform:scaleY(-.69)}}@keyframes guide-center{0%,35%,75%,to{transform:translateY(0)}48%,62%{transform:translateY(-55px)}}@keyframes guide-switch{0%,15%,40%,to{transform:translateY(0)}24%,29%{transform:translateY(-15px)}}@keyframes guide-blink{0%,to{opacity:.28}50%{opacity:1}}@keyframes guide-backlight{0%{opacity:.15}25%{opacity:.4}50%{opacity:.7}75%{opacity:1}}@keyframes guide-glow{0%,75%,to{opacity:.3}25%,50%{opacity:1}}@keyframes guide-wave{0%{stroke-dashoffset:450;opacity:.3}65%,to{stroke-dashoffset:0;opacity:1}}
