*{box-sizing:border-box}html,body{background:#0d1120;height:100%;margin:0;overflow:hidden}#app{position:fixed;inset:0}#app canvas{image-rendering:pixelated}#crt{pointer-events:none;z-index:5;background:repeating-linear-gradient(#0d112000 0 3px,#0d112047 4px),radial-gradient(#0000 58%,#06081280 100%);position:fixed;inset:0}#ui{pointer-events:none;z-index:10;font-family:PingFang SC,Microsoft YaHei,system-ui,sans-serif;position:fixed;inset:0}.dialogue{pointer-events:auto;color:#e8ecf8;-webkit-user-select:none;user-select:none;background:#101526f0;border:2px solid #4a5a8a;border-radius:6px;width:min(680px,92vw);padding:14px 16px 10px;position:absolute;bottom:4vh;left:50%;transform:translate(-50%);box-shadow:0 6px 24px #00000080}.dialogue[hidden]{display:none}.dialogue-name{color:#8fd0ff;margin-bottom:6px;font-size:14px;font-weight:700}.dialogue-text{white-space:pre-wrap;min-height:3.4em;font-size:16px;line-height:1.7}.dialogue-choices{flex-direction:column;gap:8px;margin-top:10px;display:flex}.choice{text-align:left;color:#e8ecf8;cursor:pointer;background:#1d2745;border:1px solid #4a5a8a;border-radius:4px;padding:8px 12px;font-family:inherit;font-size:15px}.choice:hover,.choice:focus-visible{background:#2a3763;border-color:#8fd0ff;outline:none}.dialogue-hint{text-align:right;color:#8fd0ff;font-size:12px;animation:1s infinite bob}@keyframes bob{50%{transform:translateY(3px)}}.touch-stick{pointer-events:auto;left:calc(18px + env(safe-area-inset-left));bottom:calc(18px + env(safe-area-inset-bottom));touch-action:none;background:#1015268c;border:2px solid #4a5a8a;border-radius:50%;width:96px;height:96px;position:absolute}.touch-stick-nub{pointer-events:none;background:#2a3763;border:2px solid #8fd0ff;border-radius:50%;width:40px;height:40px;margin:-20px 0 0 -20px;position:absolute;top:50%;left:50%}.touch-btn{pointer-events:auto;right:calc(22px + env(safe-area-inset-right));bottom:calc(30px + env(safe-area-inset-bottom));color:#e8ecf8;touch-action:none;-webkit-user-select:none;user-select:none;background:#1d2745d9;border:2px solid #4a5a8a;border-radius:50%;width:64px;height:64px;font-family:inherit;font-size:15px;position:absolute}.touch-btn:active{background:#2a3763;border-color:#8fd0ff}.touch-stick[hidden],.touch-btn[hidden]{display:none}.countdown{pointer-events:auto;width:min(420px,92vw);position:absolute;top:44%;left:50%;transform:translate(-50%,-50%)}.countdown[hidden]{display:none}.countdown-timer{color:#e8ecf8;align-items:baseline;gap:10px;margin-bottom:6px;padding:0 2px;display:flex}.countdown-clock{font-variant-numeric:tabular-nums;color:#8fd0ff;font-size:20px;font-weight:700}.countdown-deadline{color:#9fb0d8;margin-left:auto;font-size:12px}.countdown-bar{background:#1d2745;border:1px solid #4a5a8a;border-radius:2px;height:4px;margin-bottom:10px;overflow:hidden}.countdown-bar-fill{background:#8fd0ff;width:0;height:100%;transition:width .2s linear}.is-urgent .countdown-clock{color:#ff8f8f;animation:1s steps(2,start) infinite countdown-blink}.is-urgent .countdown-bar-fill{background:#ff8f8f}@keyframes countdown-blink{50%{opacity:.55}}.countdown-paper{color:#2b2b33;background:#ece7d3;border:2px solid #4a5a8a;border-radius:4px;padding:14px 16px;box-shadow:0 6px 24px #00000080}.countdown-title{text-align:center;letter-spacing:.35em;text-indent:.35em;font-size:16px;font-weight:700}.countdown-sub{color:#6b6a5f;text-align:center;margin:4px 0 12px;font-size:12px}.countdown-options{flex-direction:column;gap:8px;display:flex}.countdown-option{text-align:left;color:#2b2b33;cursor:pointer;background:#f7f3e4;border:1px dashed #8a8467;border-radius:3px;padding:9px 12px;font-family:inherit;font-size:15px}.countdown-option:hover,.countdown-option:focus-visible{border-color:#2b2b33;outline:none}.countdown-option.is-selected{background:#eef3e2;border:2px solid #2b6b3f;padding:8px 11px}.countdown-option.is-selected:after{content:" ✔";color:#2b6b3f}.countdown-actions{align-items:center;gap:8px;margin-top:14px;display:flex}.countdown-submit{color:#e8ecf8;cursor:pointer;background:#1d2745;border:1px solid #4a5a8a;border-radius:4px;flex:1;padding:9px 12px;font-family:inherit;font-size:15px}.countdown-submit:disabled{opacity:.45;cursor:default}.countdown-submit:not(:disabled):hover,.countdown-submit:not(:disabled):focus-visible{background:#2a3763;border-color:#8fd0ff;outline:none}.countdown-aside{color:#6b6a5f;cursor:pointer;background:0 0;border:none;padding:9px 6px;font-family:inherit;font-size:13px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.countdown-aside[hidden]{display:none}.countdown-aside:hover,.countdown-aside:focus-visible{color:#2b2b33;outline:none}.title-menu{pointer-events:auto;right:calc(14px + env(safe-area-inset-right));bottom:calc(12px + env(safe-area-inset-bottom));gap:8px;display:flex;position:absolute}.title-menu[hidden]{display:none}.title-menu-btn{color:#9fb0d8;cursor:pointer;background:#1d2745d9;border:1px solid #4a5a8a;border-radius:4px;padding:6px 10px;font-family:inherit;font-size:13px}.title-menu-btn:hover,.title-menu-btn:focus-visible{color:#e8ecf8;background:#2a3763;border-color:#8fd0ff;outline:none}.ui-toast{top:calc(12px + env(safe-area-inset-top));color:#e8ecf8;z-index:2;background:#101526f0;border:1px solid #4a5a8a;border-radius:4px;max-width:92vw;padding:8px 14px;font-size:13px;position:absolute;left:50%;transform:translate(-50%)}.ui-toast[hidden]{display:none}.sysmenu-fab{pointer-events:auto;left:calc(14px + env(safe-area-inset-left));top:calc(10px + env(safe-area-inset-top));color:#9fb0d8;cursor:pointer;-webkit-user-select:none;user-select:none;background:#1d2745d9;border:2px solid #4a5a8a;border-radius:50%;width:40px;height:40px;font-family:inherit;font-size:17px;line-height:1;position:absolute}.sysmenu-fab:hover,.sysmenu-fab:focus-visible{color:#e8ecf8;background:#2a3763;border-color:#8fd0ff;outline:none}.sysmenu-fab[hidden]{display:none}.sysmenu{pointer-events:auto;background:#0609148c;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.sysmenu[hidden]{display:none}.sysmenu-panel{background:#101526f0;border:2px solid #4a5a8a;border-radius:6px;flex-direction:column;gap:10px;width:min(300px,86vw);padding:16px;display:flex;box-shadow:0 6px 24px #00000080}.sysmenu-btn{color:#e8ecf8;cursor:pointer;background:#1d2745;border:1px solid #4a5a8a;border-radius:4px;padding:10px 12px;font-family:inherit;font-size:15px}.sysmenu-btn:hover,.sysmenu-btn:focus-visible{background:#2a3763;border-color:#8fd0ff;outline:none}
