@font-face{font-family:"Fusion Pixel 12px";src:url(/vite-assets/fusion-pixel-12px-mono-zh_hans-KrVUrH-A.woff2) format("woff2");unicode-range:U+4E00-9FFF,U+3400-4DBF,U+3000-303F,U+FF00-FFEF,U+2000-206F;font-display:swap}@font-face{font-family:"Fusion Pixel 12px";src:url(/vite-assets/fusion-pixel-12px-mono-latin-CmZG9cHC.woff2) format("woff2");unicode-range:U+0000-00FF,U+0100-024F,U+0250-02AF;font-display:swap}*{margin:0;padding:0;box-sizing:border-box}body{overflow:hidden;font-family:"Fusion Pixel 12px",monospace;font-size:24px;-webkit-font-smoothing:none;background:#000}#app{width:100vw;height:100vh;height:100dvh;position:relative}#canvas{width:100%;height:100%;display:block}#ui-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:10}#debug-info{position:absolute;top:10px;left:10px;background:#000000b3;color:#0f0;padding:10px;font-size:12px;border:1px solid #0f0}#debug-info.hidden{display:none}#controls-panel{position:absolute;top:10px;right:10px;background:#000c;color:#0f0;padding:15px;font-size:12px;border:1px solid #0f0;min-width:250px;pointer-events:all}#controls-panel.hidden{display:none}#controls-panel h3{margin:0 0 15px;color:#0ff;font-size:14px;border-bottom:1px solid #0f0;padding-bottom:5px}.control-group{margin-bottom:10px}.control-group label{display:block;margin-bottom:5px}.control-group input[type=range]{width:100%;-webkit-appearance:none;appearance:none;height:5px;background:#333;outline:none;border-radius:3px}.control-group input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:15px;height:15px;background:#0f0;cursor:pointer;border-radius:50%}.control-group input[type=range]::-moz-range-thumb{width:15px;height:15px;background:#0f0;cursor:pointer;border-radius:50%}#loading-screen{position:fixed;top:0;left:0;width:100%;height:100%;background:#000;display:flex;align-items:center;justify-content:center;z-index:100;transition:opacity .5s ease-out,background 1s ease-out}#loading-screen.start-ready{background:#000000a6}#loading-screen.hidden{opacity:0;pointer-events:none}.loading-container{text-align:center;max-width:500px;padding:40px}.series-banner{height:80px;width:auto;image-rendering:pixelated}.loading-title{color:#fff;line-height:1.3}.title-en{display:block;font-size:18px;letter-spacing:1px}.title-zh{display:block;font-size:18px;margin-top:4px}.progress-container{margin-top:20px}.progress-bar{width:100%;height:4px;background:#03a062;border-radius:2px;overflow:hidden;position:relative}.progress-fill{height:100%;width:0%;background:#03a062;border-radius:10px;transition:width .3s ease-out}.progress-percentage{margin-top:20px;font-size:24px;font-weight:700;color:#0ff;text-shadow:0 0 10px #03a062}.loading-status{margin-top:20px;font-size:14px;color:#ffffffb3;min-height:20px}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}@keyframes glow{0%,to{text-shadow:0 0 20px rgba(0,255,255,.8),0 0 40px rgba(0,255,255,.4)}50%{text-shadow:0 0 30px rgba(0,255,255,1),0 0 60px rgba(0,255,255,.6)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}#start-btn{margin-top:30px;padding:14px 40px;font-family:inherit;font-size:16px;color:#03a062;background:transparent;border:1px solid #03a062;cursor:pointer;letter-spacing:2px;text-shadow:0 0 6px rgba(3,160,98,.8),0 0 14px rgba(3,160,98,.5),0 0 30px rgba(3,160,98,.3);box-shadow:0 0 8px #03a06266,0 0 20px #03a06233,inset 0 0 8px #03a0621a;animation:start-glow 1s ease-in-out infinite alternate;transition:background .2s,color .2s,box-shadow .2s,text-shadow .2s}@keyframes start-glow{0%{box-shadow:0 0 8px #03a06266,0 0 20px #03a06233,inset 0 0 8px #03a0621a}to{box-shadow:0 0 12px #03a06299,0 0 30px #03a06259,0 0 50px #03a06226,inset 0 0 12px #03a06226}}.start-ready #start-btn{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}#start-btn:hover{background:#03a062;color:#000;text-shadow:none;box-shadow:0 0 15px #03a062b3,0 0 35px #03a06266,0 0 60px #03a06233}#banner-caption{position:fixed;bottom:calc(60px + env(safe-area-inset-bottom,0px));left:50%;transform:translate(-50%);background:#00000080;color:#86c0a8;text-shadow:0 0 8px rgba(3,160,98,.9),0 0 20px rgba(3,160,98,.6),0 0 40px rgba(3,160,98,.3);padding:10px 24px;pointer-events:none;z-index:50;max-width:80vw;text-align:center;line-height:1.5;will-change:opacity;contain:layout style paint}#instructions-panel{position:fixed;bottom:calc(20px + env(safe-area-inset-bottom,0px));left:calc(20px + env(safe-area-inset-left,0px));background:#000c;color:#fff;padding:15px 20px;font-size:14px;border:1px solid #03a062;border-radius:4px;pointer-events:none;z-index:50;opacity:1;transition:opacity .5s ease-out}#instructions-panel.hidden{opacity:0;pointer-events:none}#instructions-panel .instruction-text{line-height:1.6}#instructions-panel strong{color:#03a062;font-weight:700}#about-btn{position:fixed;bottom:calc(20px + env(safe-area-inset-bottom,0px));left:calc(20px + env(safe-area-inset-left,0px));width:32px;height:32px;background:transparent;border:1px solid #03a062;color:#03a062;font-family:Georgia,Times New Roman,serif;font-style:italic;font-size:20px;line-height:1;cursor:pointer;z-index:50;padding:0;transition:background .2s,color .2s}#about-btn:hover{background:#03a062;color:#000}#music-btn{position:fixed;bottom:calc(20px + env(safe-area-inset-bottom,0px));left:calc(62px + env(safe-area-inset-left,0px));width:32px;height:32px;background:transparent;border:1px solid #03a062;color:#03a062;cursor:pointer;z-index:50;padding:0;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s}#music-btn:hover{background:#03a062;color:#000}#music-btn .music-icon{width:16px;height:16px;display:none}#music-btn .music-off{display:block}#music-btn.music-on .music-off{display:none}#music-btn.music-on .music-on{display:block}#about-modal{display:none;position:fixed;inset:0;z-index:90;align-items:center;justify-content:center}#about-modal.visible{display:flex}.about-backdrop{position:absolute;inset:0;background:#000000b3}.about-content{position:relative;background:#000000eb;border:1px solid #03a062;color:#fff;padding:30px;max-width:480px;width:90vw;max-height:80vh;overflow-y:auto;font-size:14px;line-height:1.8}.about-content h2{color:#03a062;font-size:18px;margin-bottom:16px}.about-content p{margin-bottom:16px;color:#fffc}.about-content h3{color:#03a062;font-size:14px;margin-bottom:8px;margin-top:4px}.about-content ul{list-style:none;margin-bottom:16px}.about-content li{color:#ffffffb3;margin-bottom:4px}.about-content a{color:#86c0a8;text-decoration:none}.about-content a:hover{text-decoration:underline}.about-close{position:absolute;top:10px;right:14px;background:none;border:none;color:#fff6;font-size:22px;cursor:pointer;padding:0;line-height:1;font-family:inherit}.about-close:hover{color:#fff}.zh-inline{font-size:.85em;position:relative;top:-.14em}.about-byline{font-size:12px;color:#ffffff80}#rotate-overlay{display:none;position:fixed;inset:0;background:#000000a6;z-index:200;align-items:center;justify-content:center}#rotate-overlay.visible{display:flex}.rotate-content{text-align:center;color:#ffffffb3}.rotate-icon{width:40px;height:56px;color:#03a062;margin-bottom:20px;animation:rock 3s ease-in-out infinite}@keyframes rock{0%,20%{transform:rotate(0)}40%,70%{transform:rotate(90deg)}90%,to{transform:rotate(0)}}.rotate-text{font-size:14px;letter-spacing:1px}@media(pointer:coarse){body{font-size:16px}.title-en,.title-zh{font-size:18px}#start-btn{padding:10px 30px;font-size:13px}.series-banner{height:48px;margin-top:20px}.loading-status{font-size:12px}#banner-caption{font-size:14px;padding:6px 14px;bottom:calc(30px + env(safe-area-inset-bottom,0px))}#instructions-panel{bottom:calc(12px + env(safe-area-inset-bottom,0px));left:calc(12px + env(safe-area-inset-left,0px));padding:10px 14px;font-size:12px}#about-btn{bottom:calc(12px + env(safe-area-inset-bottom,0px));left:calc(12px + env(safe-area-inset-left,0px));width:28px;height:28px;font-size:16px}#music-btn{bottom:calc(12px + env(safe-area-inset-bottom,0px));left:calc(48px + env(safe-area-inset-left,0px));width:28px;height:28px}#music-btn .music-icon{width:14px;height:14px}.about-content{padding:24px;font-size:12px}.about-content h2{font-size:16px}}
