:root{--ink: #070a11;--bone: #ded3c0;--bone-dim: #9a9284;--ochre: #c98f52;--gold: #e8b45c;--edge: rgba(222, 211, 192, .16);--serif: "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;--mono: "SFMono-Regular", "DejaVu Sans Mono", "Liberation Mono", Menlo, Consolas, monospace;--pad: clamp(10px, 1.6vmin, 18px)}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;background:var(--ink);color:var(--bone);font-family:var(--mono);overflow:hidden;overscroll-behavior:none;-webkit-text-size-adjust:100%}#app{position:fixed;inset:0;isolation:isolate}#scene{position:absolute;inset:0;width:100%;height:100%;display:block;touch-action:none;cursor:crosshair}.vignette,.haze{position:absolute;inset:0;pointer-events:none}.vignette{z-index:2;background:radial-gradient(130% 96% at 62% 44%,transparent 34%,rgba(6,9,15,.5) 82%,rgba(5,7,12,.78) 100%)}.haze{z-index:3;opacity:.5;background-image:linear-gradient(180deg,rgba(190,206,224,.05) 0%,transparent 26%,transparent 74%,rgba(10,14,22,.16) 100%);mix-blend-mode:screen}.topbar{position:absolute;z-index:8;top:0;left:0;right:0;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:calc(var(--pad) + env(safe-area-inset-top)) calc(var(--pad) + env(safe-area-inset-right)) var(--pad) calc(var(--pad) + env(safe-area-inset-left));pointer-events:none}.brand{display:flex;flex-direction:column;gap:2px;text-shadow:0 1px 10px rgba(4,6,11,.85)}.brand b{font-family:var(--serif);font-size:clamp(15px,2.1vmin,21px);letter-spacing:.34em;font-weight:600}.brand span{font-size:clamp(8px,1.05vmin,10px);letter-spacing:.19em;color:var(--bone-dim)}.brand i{font-style:normal;color:var(--ochre)}.actions{display:flex;gap:6px;pointer-events:auto}button{font-family:var(--mono);font-size:clamp(8.5px,1.05vmin,10.5px);letter-spacing:.16em;color:var(--bone);background:#090d1499;border:1px solid var(--edge);padding:7px 11px;cursor:pointer;transition:background .14s ease,border-color .14s ease,color .14s ease}button:hover:not(:disabled){background:#1c2432c7;border-color:#ded3c066}button:focus-visible{outline:2px solid var(--gold);outline-offset:2px}button[aria-pressed=true]{color:var(--gold);border-color:#e8b45c73}button:disabled{opacity:.34;cursor:default}.prompt,.toast{position:absolute;z-index:8;left:50%;transform:translate(-50%);margin:0;font-size:clamp(9px,1.2vmin,12px);letter-spacing:.2em;text-align:center;text-shadow:0 1px 12px rgba(4,6,11,.9);pointer-events:none;width:min(88vw,640px)}.prompt{top:clamp(62px,11vh,104px);color:var(--gold)}.toast{top:clamp(88px,16vh,140px);color:var(--bone);line-height:1.55;letter-spacing:.11em}.legend{position:absolute;z-index:8;left:calc(var(--pad) + env(safe-area-inset-left));bottom:calc(var(--pad) + env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:3px;font-size:clamp(8px,1vmin,10px);letter-spacing:.13em;color:var(--bone-dim);pointer-events:none;text-shadow:0 1px 8px rgba(4,6,11,.9)}kbd{display:inline-block;min-width:1.35em;padding:1px 3px;margin-right:3px;border:1px solid var(--edge);color:var(--bone);text-align:center;font:inherit}.commit-strip{position:absolute;z-index:9;left:50%;transform:translate(-50%);bottom:calc(var(--pad) + env(safe-area-inset-bottom));display:flex;gap:4px}.commit-strip button{display:flex;align-items:baseline;gap:6px;padding:6px 10px;background:#080b12a8}.commit-strip button b{color:var(--ochre);font-weight:400}.commit-strip button[data-active=true]{border-color:var(--gold);color:var(--gold);background:#3a2a1485}.commit-strip button[data-active=true] b{color:var(--gold)}.pads,.pads-row,.walk-pads,.verb-pads{display:none}.screen{position:absolute;inset:0;z-index:10;display:flex;align-items:center;justify-content:flex-start;padding:clamp(16px,4vmin,48px);pointer-events:none}.screen[hidden]{display:none}.title-screen{background:linear-gradient(100deg,rgba(6,9,15,.94) 0%,rgba(6,9,15,.8) 34%,rgba(6,9,15,.16) 62%,transparent 84%)}.modal-screen{background:#05070ca3;justify-content:center}.title-card,.modal-card{pointer-events:auto;width:min(560px,100%);max-height:calc(100vh - 32px);overflow:auto;padding:clamp(18px,3.4vmin,34px);background:linear-gradient(180deg,#0b1018f2,#070a11ed);border:1px solid var(--edge)}.modal-card{width:min(520px,100%)}.eyebrow{display:block;font-size:clamp(8px,1vmin,10px);letter-spacing:.28em;color:var(--ochre);margin-bottom:10px}.title-card h1{margin:0 0 14px;font-family:var(--serif);font-size:clamp(40px,9.4vmin,92px);line-height:.9;letter-spacing:.06em;font-weight:500}.lede{margin:0 0 16px;max-width:46ch;font-family:var(--serif);font-size:clamp(13px,1.7vmin,16px);line-height:1.62;color:#c3bcb0}.rule-strip{display:flex;flex-wrap:wrap;gap:4px 14px;margin-bottom:18px;font-size:clamp(8px,1vmin,10px);letter-spacing:.17em;color:var(--bone-dim)}.rule-strip span{position:relative;padding-left:12px}.rule-strip span:before{content:"";position:absolute;left:0;top:.45em;width:6px;height:1px;background:var(--ochre)}.controls-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:4px 16px;margin-bottom:20px;font-size:clamp(8.5px,1.05vmin,10.5px);letter-spacing:.12em;color:var(--bone-dim)}.controls-grid b{color:var(--bone);font-weight:400}.primary,.secondary{display:block;width:100%;padding:12px 16px;font-size:clamp(10px,1.25vmin,12.5px);letter-spacing:.24em}.primary{background:#c88f5229;border-color:#c88f528c;color:var(--gold)}.primary:hover:not(:disabled){background:#c88f524d;border-color:var(--gold)}.secondary{margin-top:8px;color:var(--bone-dim)}.title-card small{display:block;margin-top:12px;font-size:clamp(8px,1vmin,10px);letter-spacing:.15em;color:var(--bone-dim)}.modal-card h2{margin:0 0 12px;font-family:var(--serif);font-size:clamp(20px,3.4vmin,30px);line-height:1.16;font-weight:500}.modal-card p{margin:0 0 16px;font-family:var(--serif);font-size:clamp(12px,1.55vmin,15px);line-height:1.62;color:#bdb6a9}.pause-tally,.end-tally{display:grid;grid-template-columns:repeat(auto-fit,minmax(84px,1fr));gap:10px;margin:0 0 18px;padding:12px 0;border-top:1px solid var(--edge);border-bottom:1px solid var(--edge)}.pause-tally div,.end-tally div{display:flex;flex-direction:column;gap:4px}.pause-tally dt,.end-tally dt{font-size:clamp(7.5px,.95vmin,9.5px);letter-spacing:.2em;color:var(--bone-dim)}.pause-tally dd,.end-tally dd{margin:0;font-size:clamp(14px,2.1vmin,20px);color:var(--bone)}.end-records{font-family:var(--mono)!important;font-size:clamp(8.5px,1.05vmin,10.5px)!important;letter-spacing:.16em;color:var(--bone-dim)!important;margin-bottom:18px!important}.reduced-motion .haze{display:none}@media(pointer:coarse),(max-width:900px){.legend{display:none}.screen{padding:calc(var(--pad) + env(safe-area-inset-top)) calc(var(--pad) + env(safe-area-inset-right)) calc(var(--pad) + env(safe-area-inset-bottom)) calc(var(--pad) + env(safe-area-inset-left))}.title-screen{background:linear-gradient(180deg,#06090fe6,#06090f99 42%,#06090fe6 72%,#06090ff5);align-items:center}.title-card{width:100%}.title-card h1{font-size:clamp(38px,13vw,64px)}.commit-strip{left:calc(var(--pad) + env(safe-area-inset-left));right:calc(var(--pad) + env(safe-area-inset-right));transform:none;bottom:calc(104px + env(safe-area-inset-bottom))}.commit-strip button{flex:1;justify-content:center;padding:12px 4px;min-height:44px}.pads{position:absolute;z-index:9;left:0;right:0;bottom:0;display:flex;pointer-events:none;padding:8px calc(var(--pad) + env(safe-area-inset-right)) calc(10px + env(safe-area-inset-bottom)) calc(var(--pad) + env(safe-area-inset-left));background:linear-gradient(180deg,#06090f00,#06090fad 38%,#06090fe6)}.pads-row{display:flex;width:100%;gap:8px}.pads button{pointer-events:auto;touch-action:none}.walk-pads{display:flex;gap:8px;flex:0 0 auto}.walk-pads button{width:64px;height:72px;font-size:19px}.verb-pads{display:flex;gap:8px;flex:1}.verb-pads button{flex:1;min-height:72px;font-size:clamp(9px,2.5vw,12px);letter-spacing:.08em}.pad-cut{background:#c88f5233;border-color:#c88f5299;color:var(--gold)}.pad-coil,.pad-stow{background:#0d131cbd}button[data-held=true]{background:#e8b45c4d;border-color:var(--gold);color:#fff3dd}.prompt{top:calc(env(safe-area-inset-top) + 58px);width:min(92vw,460px)}.toast{top:calc(env(safe-area-inset-top) + 90px);width:min(92vw,460px)}}@media(min-width:901px){.commit-strip button{font-size:clamp(8px,.95vmin,9.5px)}}@media(max-height:560px)and (orientation:landscape){.commit-strip{bottom:calc(76px + env(safe-area-inset-bottom))}.pads-row{justify-content:flex-end}.walk-pads button{width:54px;height:58px}.verb-pads button{min-height:58px}}
