:root{--bg:#0a0618;--panel:#150c33;--line:#5a3fd0;--yellow:#ffd23a;--green:#8dff5a;--pink:#ff8fcf;--text:#f2eeff;--dim:#9f94c8}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%;overflow:hidden;background:radial-gradient(ellipse at 50% 40%,#1a0f40 0%,#07040f 70%);color:var(--text);font-family:ui-monospace,"SF Mono",Menlo,Consolas,"Liberation Mono",monospace;overscroll-behavior:none;touch-action:none;user-select:none;-webkit-user-select:none}#game{position:fixed;inset:0;width:100%;height:100%;display:block;touch-action:none}#screens{position:fixed;inset:0;pointer-events:none;display:grid;place-items:center}.screen,.modal{pointer-events:auto}[hidden]{display:none !important}.screen{display:flex;flex-direction:column;align-items:center;gap:14px;padding:16px;text-align:center;max-width:92vw}.screen h2{margin:0;font-size:clamp(22px,5vw,34px);letter-spacing:0.12em;text-transform:uppercase;color:var(--yellow);text-shadow:3px 3px 0 #000}#logo{width:min(78vw,560px);height:auto;image-rendering:pixelated;filter:drop-shadow(0 0 14px rgba(255,190,60,0.45))}.tag{margin:-4px 0 6px;letter-spacing:0.4em;text-transform:uppercase;color:var(--green);font-size:clamp(11px,2.6vw,15px);text-shadow:2px 2px 0 #000}.hint{margin:6px 0 0;color:var(--dim);font-size:12px;max-width:34ch;line-height:1.5;text-shadow:1px 1px 0 #000}.final{margin:0;font-size:18px;text-shadow:2px 2px 0 #000}.final b{color:var(--yellow);font-size:26px}.dim{color:var(--dim)}.menu{display:flex;flex-direction:column;gap:10px;min-width:min(70vw,280px)}button{font:inherit;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--text);background:var(--panel);border:3px solid var(--line);padding:12px 18px;cursor:pointer;box-shadow:4px 4px 0 #000;transition:transform 0.06s,background 0.1s,border-color 0.1s}button:hover,button:focus-visible{background:#24144f;border-color:var(--yellow);outline:none}button:active{transform:translate(3px,3px);box-shadow:1px 1px 0 #000}button.big{background:#3a1f9a;border-color:var(--yellow);color:var(--yellow);font-size:1.1em;padding:14px 20px}button.big:hover,button.big:focus-visible{background:#5030c8}.modal{position:fixed;inset:0;display:grid;place-items:center;background:rgba(5,2,14,0.74);backdrop-filter:blur(2px);padding:16px}.card{background:var(--panel);border:3px solid var(--line);box-shadow:6px 6px 0 #000;padding:18px 20px;width:min(92vw,460px);max-height:88vh;overflow:auto;display:flex;flex-direction:column;gap:12px}.card.wide{width:min(94vw,560px)}.card h2{margin:0;color:var(--yellow);letter-spacing:0.12em;text-transform:uppercase;font-size:20px}.opt{display:flex;align-items:center;gap:10px;font-size:14px;letter-spacing:0.04em;justify-content:space-between}.opt input[type="checkbox"]{order:-1;width:20px;height:20px;accent-color:var(--yellow)}.opt input[type="range"]{accent-color:var(--yellow);width:55%}.rules{margin:0;padding-left:18px;display:grid;gap:8px;font-size:13px;line-height:1.5;color:#ddd6ff}.rules b{color:var(--yellow)}.row{display:flex;flex-direction:column;gap:6px;align-items:center}.row label{font-size:12px;color:var(--dim);text-transform:uppercase;letter-spacing:0.2em}input[type="text"]{font:inherit;font-size:22px;font-weight:700;text-align:center;letter-spacing:0.2em;text-transform:uppercase;color:var(--yellow);background:#0b0620;border:3px solid var(--line);padding:10px;width:min(70vw,280px)}input[type="text"]:focus{outline:none;border-color:var(--yellow)}.msg{min-height:1.3em;margin:0;font-size:13px;color:var(--green)}.tabs{display:flex;gap:8px}.tabs button{flex:1;padding:8px 6px;font-size:12px}.tabs button.on{background:#3a1f9a;border-color:var(--yellow);color:var(--yellow)}.list{margin:0;padding:0;list-style:none;display:grid;gap:4px;font-size:14px;max-height:46vh;overflow:auto}.list li{display:grid;grid-template-columns:2.2em 1fr auto auto;gap:10px;padding:5px 8px;background:#0e0826;border-left:4px solid transparent;align-items:center}.list li.me{border-left-color:var(--yellow);background:#231452}.list .rk{color:var(--dim)}.list .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:0.06em}.list .sc{color:var(--yellow);font-weight:700}.list .lv{color:var(--dim);font-size:12px}.list li.empty{display:block;text-align:center;color:var(--dim)}#hudbtns{position:fixed;display:flex;gap:6px;z-index:5;transform-origin:center}#hudbtns button{padding:6px 9px;font-size:11px;border-width:2px;box-shadow:2px 2px 0 #000;opacity:0.75}#hudbtns button:hover{opacity:1}#joy{position:fixed;width:88px;height:88px;margin:-44px 0 0 -44px;border-radius:50%;border:3px solid rgba(255,210,58,0.55);background:rgba(255,210,58,0.08);pointer-events:none;z-index:4}#joyknob{position:absolute;left:50%;top:50%;width:36px;height:36px;margin:-18px 0 0 -18px;border-radius:50%;background:rgba(255,210,58,0.7);box-shadow:0 0 14px rgba(255,210,58,0.7)}#loading{position:fixed;inset:0;display:grid;place-items:center;background:var(--bg);color:var(--yellow);letter-spacing:0.3em;text-transform:uppercase;z-index:20}#loading.fail{color:#ff8a8a;padding:24px;text-align:center;line-height:1.7;letter-spacing:0.08em}@media (max-height:560px){.screen{gap:8px}.menu{gap:6px}button{padding:8px 14px}#logo{width:min(50vw,360px)}}@media (prefers-reduced-motion:reduce){button{transition:none}}#title,#pause,#over{background:radial-gradient(ellipse at center,rgba(6,3,18,0.82) 0%,rgba(6,3,18,0.62) 70%,rgba(6,3,18,0) 100%);border-radius:12px;padding:22px 26px}#intro{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:#07040f;transition:opacity 0.5s ease}#intro.out{opacity:0;pointer-events:none}#introCv{image-rendering:pixelated;image-rendering:crisp-edges;display:block}#gate{display:flex;flex-direction:column;align-items:center;gap:18px;padding:16px;text-align:center}#intro.playing #gate{display:none}.gname{margin:0;letter-spacing:0.5em;padding-left:0.5em;text-transform:uppercase;color:#e0a560;font-size:clamp(14px,4vw,20px);text-shadow:2px 2px 0 #000}#btnGate{animation:gatepulse 1.4s ease-in-out infinite}@keyframes gatepulse{50%{box-shadow:4px 4px 0 #000,0 0 22px rgba(255,210,58,0.55)}}.install{border-color:#6aff7a;color:#6aff7a}.fly{position:relative;width:120px;height:56px}.fly i{position:absolute;left:0;top:24px;width:8px;height:8px;background:#fff27a;box-shadow:0 0 10px 4px rgba(255,230,90,0.8),0 0 28px 10px rgba(255,190,60,0.35);animation:flyby 3.6s ease-in-out infinite}@keyframes flyby{0%{transform:translate(0,0);opacity:0}10%{opacity:1}25%{transform:translate(30px,-18px)}50%{transform:translate(60px,8px)}75%{transform:translate(90px,-14px)}90%{opacity:1}100%{transform:translate(120px,0);opacity:0}}@media (prefers-reduced-motion:reduce){.fly i,#btnGate{animation:none}}.ver{margin:0;font-size:12px;letter-spacing:0.12em;color:#9f94c8;text-shadow:1px 1px 0 #000;opacity:0.9}.helpcv{width:100%;max-width:384px;aspect-ratio:128 / 92;align-self:center;image-rendering:pixelated;image-rendering:crisp-edges;border:3px solid var(--line);background:#0d0822;cursor:pointer;touch-action:pan-y}.helpnav{display:flex;align-items:center;justify-content:center;gap:10px}.helpnav>button{padding:6px 12px;min-width:44px}.dots{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}.dots .dot{width:10px;height:10px;min-width:0;padding:0;border:2px solid var(--line);background:transparent;box-shadow:none}.dots .dot.on{background:var(--yellow);border-color:var(--yellow)}