:root{--ink: #0d0906;--panel: #1a120a;--panel-2: #241809;--edge: #4b3416;--brass: #e0a44a;--brass-lit: #ffdfa4;--steel: #aab4c2;--text: #f6e7cb;--muted: #c4ab84;--danger: #e2704a;--font: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;--mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace}*{box-sizing:border-box}html,body{margin:0;height:100%;background:#0b0805;color:var(--text);font-family:var(--font);overflow:hidden;overscroll-behavior:none;-webkit-text-size-adjust:100%}body{touch-action:manipulation}#app{position:relative;width:100%;height:100dvh;min-height:100vh;overflow:hidden}#stage{position:absolute;inset:0;width:100%;height:100%;display:block}#vignette{position:absolute;inset:0;pointer-events:none;background:radial-gradient(120% 80% at 50% 46%,#0000 44%,#0604029e),linear-gradient(180deg,#06040280,#06040200 22% 74%,#0604028c)}.solid{background:var(--panel)}button{font-family:var(--mono);font-size:12px;letter-spacing:.14em;color:var(--text);background:var(--panel-2);border:1px solid var(--edge);border-radius:6px;padding:10px 16px;cursor:pointer;touch-action:manipulation}button:hover{border-color:var(--brass);color:var(--brass-lit)}button:focus-visible{outline:2px solid var(--brass-lit);outline-offset:2px}button.primary{background:#3a2509;border-color:#8a6524;color:var(--brass-lit);font-weight:700}button.primary:hover{background:#4a300c}button[aria-pressed=false]{color:#8d7c62}kbd{font-family:var(--mono);font-size:.85em;background:#0f0a05;border:1px solid #5a3f1c;border-radius:4px;padding:1px 5px;color:var(--brass-lit)}.eyebrow{display:block;font-family:var(--mono);font-size:10px;letter-spacing:.24em;color:var(--brass);margin-bottom:10px}#hud{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--panel);border-bottom:1px solid var(--edge);z-index:4}#hud[hidden]{display:none}#hud .mark{display:flex;align-items:center;gap:8px;flex:0 0 auto}#hud .mark i{width:14px;height:14px;border-radius:50%;border:3px dotted var(--brass);display:block}#hud .mark span{font-family:var(--mono);font-size:12px;letter-spacing:.2em;color:var(--brass-lit);line-height:1.1}#hud .mark small{display:block;font-size:8px;letter-spacing:.18em;color:var(--muted)}.readouts{display:flex;gap:8px;margin-left:auto}.readouts p{margin:0;text-align:center;min-width:52px}.readouts span{display:block;font-family:var(--mono);font-size:8px;letter-spacing:.18em;color:var(--muted)}.readouts b{display:block;font-family:var(--mono);font-size:17px;color:var(--brass-lit);line-height:1.15}.hud-actions{display:flex;gap:6px;flex:0 0 auto}.hud-actions button{padding:7px 10px;font-size:11px;min-width:40px}#pause-button{font-size:13px}#status{position:absolute;top:62px;left:12px;right:12px;margin:0;z-index:3;font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--text);background:var(--panel);border:1px solid var(--edge);border-left:3px solid var(--brass);border-radius:4px;padding:7px 10px}#play{position:absolute;inset:0;z-index:3;pointer-events:none}#play[hidden]{display:none}#aim-readout{position:absolute;left:10px;right:10px;top:84px;display:flex;justify-content:center;gap:26px;padding:5px 12px;border:1px solid var(--edge);border-radius:6px}#aim-readout p{margin:0;text-align:center}#aim-readout span{display:block;font-family:var(--mono);font-size:8px;letter-spacing:.18em;color:var(--muted)}#aim-readout b{display:block;font-family:var(--mono);font-size:14px;color:var(--brass-lit)}#charge{position:absolute;left:50%;transform:translate(-50%);bottom:108px;width:min(300px,68vw);height:14px;border:1px solid var(--edge);border-radius:7px;overflow:hidden}#charge-fill{height:100%;width:0%;background:linear-gradient(90deg,#8a5a1c,var(--brass-lit))}#charge-label{position:absolute;inset:0;display:grid;place-items:center;font-family:var(--mono);font-size:9px;letter-spacing:.22em;color:#1c1206;font-weight:700}#pads{position:absolute;left:50%;transform:translate(-50%);bottom:44px;display:flex;gap:10px;pointer-events:auto}.pad{background:var(--panel-2);border:1px solid var(--edge);border-radius:10px;padding:14px 20px;font-size:13px;min-width:74px;min-height:56px;user-select:none;-webkit-user-select:none}.pad small{display:block;font-size:8px;letter-spacing:.16em;color:var(--muted);margin-top:3px}.pad.launch{background:#3d2809;border-color:#8a6524;color:var(--brass-lit);font-weight:700;min-width:118px}.pad.launch.winding{background:#5c3d0d}#hint{position:absolute;left:50%;transform:translate(-50%);bottom:20px;margin:0;font-family:var(--mono);font-size:10px;letter-spacing:.08em;color:var(--muted);background:var(--panel);border-radius:4px;padding:5px 10px;white-space:nowrap}.screen{position:absolute;inset:0;z-index:5;display:grid;gap:16px;align-content:center;justify-items:center;padding:18px;background:#090603b8;overflow:auto}.screen[hidden]{display:none}.title-screen{grid-template-columns:minmax(0,1fr)}.title-copy{width:min(620px,100%);padding:20px;border:1px solid var(--edge);border-radius:10px}.title-copy h1{margin:0 0 10px;font-size:clamp(38px,11vw,66px);letter-spacing:.06em;line-height:.94;color:var(--brass-lit)}.title-copy h1 span{color:var(--brass)}.title-copy p{margin:0 0 14px;font-size:14px;line-height:1.55;color:var(--text)}.howto{margin:0 0 16px;display:grid;grid-template-columns:74px 1fr;gap:6px 12px}.howto dt{font-family:var(--mono);font-size:10px;letter-spacing:.16em;color:var(--brass);padding-top:2px}.howto dd{margin:0;font-size:13px;line-height:1.45;color:var(--muted)}.title-buttons{display:flex;flex-wrap:wrap;gap:8px}.title-buttons button{flex:1 1 150px;padding:12px 14px}#best-label{display:block;margin-top:12px;font-family:var(--mono);font-size:10px;letter-spacing:.12em;color:var(--muted)}.card{width:min(620px,100%);padding:16px 20px;border:1px solid var(--edge);border-radius:10px}.tower-card>span{font-family:var(--mono);font-size:10px;letter-spacing:.22em;color:var(--brass)}.tower-card ol{list-style:none;display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 10px;padding:0}.tower-card li{width:30px;height:30px;display:grid;place-items:center;font-family:var(--mono);font-size:11px;color:var(--muted);border:1px solid var(--edge);border-radius:50%;background:var(--panel-2)}.tower-card li.rung{color:#1c1206;background:var(--brass-lit);border-color:var(--brass-lit)}.tower-card li.spent{color:var(--danger);border-color:#6a2e1c}.tower-card p{margin:0;font-size:12px;color:var(--muted)}.modal{background:#090603d1}.modal-card{width:min(560px,100%);padding:22px;border:1px solid var(--edge);border-radius:10px;display:grid;gap:12px}.modal-card h2{margin:0;font-size:26px;color:var(--brass-lit)}.modal-card p{margin:0;font-size:14px;line-height:1.5;color:var(--text)}.modal-card button{width:100%;padding:12px}.help-card dl{margin:0;display:grid;grid-template-columns:92px 1fr;gap:8px 14px}.help-card dt{font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:var(--brass)}.help-card dd{margin:0;font-size:13px;line-height:1.45;color:var(--muted)}.toggle{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--muted)}.toggle input{width:16px;height:16px;accent-color:var(--brass)}.result-stats{display:flex;flex-wrap:wrap;gap:8px}.result-stats p{margin:0;flex:1 1 96px;padding:10px;background:var(--panel-2);border:1px solid var(--edge);border-radius:6px;text-align:center;font-size:11px;letter-spacing:.1em;color:var(--muted)}.result-stats b{display:block;font-family:var(--mono);font-size:20px;color:var(--brass-lit);letter-spacing:0}.result-buttons{display:grid;gap:8px}@media(min-width:720px){.title-screen{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}.title-copy,.card{width:100%}#status{top:62px}}@media(min-width:1040px){#aim-readout{inset:auto auto 82px 26px;justify-content:flex-start;gap:22px;min-width:268px}#charge{left:26px;transform:none;bottom:34px;width:268px;height:18px}#pads{left:auto;right:26px;transform:none;bottom:34px}#hint{left:26px;transform:none;bottom:8px;background:none;padding:0}}.tower-card{align-self:start}@media(max-width:1039px){#hint{display:none}}@media(max-height:620px){.title-copy p{display:none}.howto{margin-bottom:10px}#aim-readout{top:76px}}@media(prefers-reduced-motion:reduce){#vignette{background:radial-gradient(120% 80% at 50% 46%,#0000 44%,#06040299)}}@media(max-width:560px){#hud{gap:6px;padding:8px 10px;overflow:hidden}#hud .mark span{display:none}.readouts{gap:5px}.readouts p{min-width:40px}.readouts b{font-size:15px}.hud-actions{gap:4px}.hud-actions button{padding:6px 7px;font-size:10px;min-width:32px}#status{top:56px;left:8px;right:8px;font-size:10px;padding:6px 8px}}
