html,body{margin:0;height:100%;background:#02030a;overflow:hidden;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;color:#dfe8f5}#app,#app canvas{position:fixed;inset:0;width:100%;height:100%;display:block;touch-action:none}#hud.hidden{display:none}#hud,#help{position:fixed;left:12px;padding:8px 12px;border-radius:8px;background:#060a149e;backdrop-filter:blur(6px);font-size:12px;line-height:1.55;pointer-events:none;white-space:pre}#hud{top:12px}#help{bottom:12px;white-space:normal;max-width:min(820px,calc(100vw - 48px));opacity:.85}#help.hidden{display:none}#crosshair{position:fixed;left:50%;top:50%;width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:#ffffffd9;box-shadow:0 0 0 1.5px #00000059;pointer-events:none}#prompt{position:fixed;left:50%;top:calc(50% + 28px);transform:translate(-50%);padding:7px 14px 7px 8px;border-radius:999px;background:#0a0e18c7;font-family:PingFang SC,Noto Sans SC,system-ui,sans-serif;font-size:15px;display:none;align-items:center;gap:8px;pointer-events:none;white-space:nowrap}#prompt.show{display:flex}#prompt kbd{display:inline-grid;place-items:center;min-width:22px;height:22px;border-radius:50%;background:#f0c64a;color:#1a1408;font-weight:700;font-family:inherit;font-size:13px}#toast{position:fixed;left:50%;top:18%;transform:translate(-50%,-8px);max-width:min(640px,calc(100vw - 32px));padding:10px 18px;border-radius:10px;background:#0a0e18d1;font-family:PingFang SC,Noto Sans SC,system-ui,sans-serif;font-size:16px;text-align:center;opacity:0;transition:opacity .25s,transform .25s;pointer-events:none}#toast.show{opacity:1;transform:translate(-50%)}#overlay{position:fixed;inset:0;display:none;place-items:center;background:#02040ab3;backdrop-filter:blur(4px);z-index:5}#overlay.show{display:grid}#overlay-frame{display:flex;flex-direction:column;align-items:center;gap:12px}#overlay-page{border-radius:14px;overflow:hidden;box-shadow:0 20px 60px #0009}#overlay-hint{font-size:13px;opacity:.75}#boot{position:fixed;inset:0;display:grid;place-items:center;background:#02030a;font-size:15px;letter-spacing:1px;z-index:10;text-align:center;padding:24px;white-space:pre-wrap}#boot.hidden{display:none}#html-pages{position:fixed;left:0;top:0;width:0;height:0;overflow:visible;pointer-events:none}#menu{position:fixed;top:12px;right:12px;width:250px;max-height:calc(100vh - 24px);display:flex;flex-direction:column;border-radius:10px;background:#060a14b3;backdrop-filter:blur(8px);font-family:PingFang SC,Noto Sans SC,system-ui,sans-serif;font-size:13px;z-index:4;overflow:hidden}#menu button{font:inherit;color:inherit;cursor:pointer}.menu-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 8px 8px 12px;border:0;background:transparent;font-weight:600;letter-spacing:.5px;text-align:left}.menu-title kbd{margin-left:6px;padding:0 5px;border-radius:4px;background:#ffffff24;font-family:ui-monospace,monospace;font-size:11px;font-weight:400}.menu-caret{display:grid;place-items:center;width:24px;height:24px;border-radius:6px;background:#ffffff1f;font-size:16px;line-height:1;flex:none}.menu-head:hover .menu-caret{background:#ffffff3d}.menu-body{overflow-y:auto;padding:0 8px 8px;max-height:calc(100vh - 80px);transition:max-height .25s ease,opacity .2s ease,padding .25s ease}#menu.collapsed{width:auto}#menu.collapsed .menu-body{max-height:0;opacity:0;padding-top:0;padding-bottom:0;overflow:hidden;pointer-events:none}.menu-group h4{margin:8px 4px 4px;font-size:11px;font-weight:500;opacity:.6;letter-spacing:1px}.menu-item{display:block;width:100%;margin:2px 0;padding:6px 10px;border:1px solid transparent;border-radius:6px;background:#ffffff0f;text-align:left;transition:background .15s,border-color .15s}.menu-item:hover{background:#ffffff24}.menu-item.active{border-color:#f0c64a;background:#f0c64a29}.menu-row{display:flex;flex-wrap:wrap;gap:4px}.menu-item.small{width:auto;flex:1 1 40%;text-align:center;padding:5px 6px}.menu-group{display:grid;grid-template-columns:1fr 1fr;gap:0 6px}.menu-group h4,.menu-group .menu-row{grid-column:1 / -1}.menu-item{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px}
