@font-face{font-family:Big Shoulders Display;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/big-shoulders-display-latin-800-normal-DDUD9Xuh.woff2) format("woff2"),url(/assets/big-shoulders-display-latin-800-normal-CI0lhnTM.woff) format("woff")}:root{--hall: #0b2340;--hall-2: #12345a;--court: #e2672a;--court-deep: #b94d18;--line: #f5f3ec;--muted: #b9c4d3;--ok: #57c78a;--warn: #f2c94c;--bad: #ff6b5b;--video: #000;--line-w: 3px;--display: "Big Shoulders Display", "Arial Narrow", sans-serif;--text: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--safe-t: env(safe-area-inset-top, 0px);--safe-r: env(safe-area-inset-right, 0px);--safe-b: env(safe-area-inset-bottom, 0px);--safe-l: env(safe-area-inset-left, 0px);color-scheme:dark}*{box-sizing:border-box}html,body{margin:0;height:100%}body{background:var(--hall);color:var(--line);font:17px/1.45 var(--text);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overflow:hidden;overscroll-behavior:none}[hidden]{display:none!important}button{font:inherit;color:inherit;cursor:pointer}:focus-visible{outline:3px solid var(--court);outline-offset:3px}a{color:inherit}.display{font:800 clamp(64px,12vw,148px) / .86 var(--display);letter-spacing:-.01em;margin:0}.display-s{font:800 clamp(30px,4vw,44px) / 1 var(--display);margin:0}.screen{position:fixed;inset:0;padding:calc(24px + var(--safe-t)) calc(24px + var(--safe-r)) calc(24px + var(--safe-b)) calc(24px + var(--safe-l))}.big-btn{display:block;width:100%;min-height:84px;padding:18px 24px;text-align:left;font-weight:650;font-size:21px;line-height:1.2;background:transparent;border:var(--line-w) solid var(--line);border-radius:4px}.big-btn small{display:block;margin-top:4px;font-weight:400;font-size:15px;color:var(--muted)}.big-btn.primary{background:var(--court);border-color:var(--court);color:#fff}.big-btn:active{transform:translateY(1px)}.big-btn.primary:active{background:var(--court-deep)}.big-btn:disabled{opacity:.4;cursor:not-allowed}.small-btn{min-height:48px;padding:10px 18px;font-weight:600;font-size:16px;background:#0b2340e0;border:2px solid var(--line);border-radius:999px}.back{min-height:48px;padding:8px 18px 8px 14px;background:none;border:2px solid var(--muted);border-radius:999px;font-weight:600}.back:before{content:"";display:inline-block;width:9px;height:9px;margin-right:8px;border-left:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-1px) rotate(45deg)}.home{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,1fr);gap:48px;align-items:center;overflow-y:auto;background:linear-gradient(90deg,transparent calc(38% - 1.5px),rgba(245,243,236,.09) calc(38% - 1.5px),rgba(245,243,236,.09) calc(38% + 1.5px),transparent calc(38% + 1.5px)),var(--hall)}.lede{max-width:34ch;margin:24px 0 0;font-size:19px;color:var(--muted)}.note{max-width:40ch;margin:18px 0 0;padding:12px 14px;border-left:4px solid var(--warn);background:#f2c94c14}.home-choices{display:grid;gap:16px}.choice{display:grid;gap:10px}.seg{display:flex;gap:8px}.seg label{flex:1}.seg input{position:absolute;opacity:0;pointer-events:none}.seg span{display:block;padding:12px;text-align:center;border:2px solid rgba(245,243,236,.35);border-radius:4px;font-weight:600;cursor:pointer}.seg input:checked+span{border-color:var(--line);background:var(--hall-2)}.seg input:focus-visible+span{outline:3px solid var(--court);outline-offset:2px}.pair{display:flex;flex-direction:column;gap:16px;overflow-y:auto}.pair-head{display:flex;align-items:center;gap:20px}.pair-body{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-rows:minmax(0,1fr);gap:24px;flex:1;min-height:0}.pair-step{margin:0;display:flex;flex-direction:column;gap:12px;min-height:0;min-width:0}.pair-step figcaption{font-size:18px;max-width:46ch}.pair-step figcaption b{display:inline-grid;place-items:center;width:32px;height:32px;margin-right:8px;font:800 22px/1 var(--display);border:2px solid var(--line);border-radius:50%}.qr-frame,.scan-frame{position:relative;flex:1;min-height:240px;display:grid;place-items:center;border-radius:4px;overflow:hidden}.qr-frame{background:#fff;padding:12px}.qr-frame canvas{position:absolute;inset:12px;width:calc(100% - 24px);height:calc(100% - 24px);object-fit:contain;image-rendering:pixelated}.qr-wait{position:absolute;color:var(--hall);font-weight:600}.scan-frame{background:var(--video)}.scan-frame video{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}.scan-reticle{position:absolute;width:min(60%,60vh);aspect-ratio:1;left:50%;top:50%;transform:translate(-50%,-50%);border:var(--line-w) solid var(--line);border-radius:6px;box-shadow:0 0 0 100vmax #00000059;pointer-events:none}.pair-status{margin:0;min-height:1.5em;font-weight:600}.pair-status.bad{color:var(--bad)}.manual{border-top:2px solid rgba(245,243,236,.2);padding-top:12px}.manual summary{cursor:pointer;font-weight:600;min-height:32px}.manual-body{display:grid;gap:12px;padding-top:12px;max-width:70ch}.manual-body p{margin:0;color:var(--muted)}.row{display:flex;gap:12px;flex-wrap:wrap}.field{display:grid;gap:6px;font-weight:600}.field textarea{font:16px/1.3 ui-monospace,Menlo,monospace;color:var(--line);background:var(--hall-2);border:2px solid rgba(245,243,236,.4);border-radius:4px;padding:10px;word-break:break-all;resize:vertical}.check{display:flex;gap:10px;align-items:flex-start;color:var(--muted);font-size:15px}.check input{width:22px;height:22px;flex:none;margin-top:1px;accent-color:var(--court)}.tx{padding:0;background:var(--video)}.tx-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .3s}.tx-video.dim{opacity:.15}.tx-head{position:absolute;top:calc(16px + var(--safe-t));left:calc(16px + var(--safe-l));right:calc(16px + var(--safe-r));display:flex;gap:12px;align-items:flex-start;flex-wrap:wrap}.tx-head .back{background:#0b2340d9}.tx-panel{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(92vw,520px);display:grid;gap:14px;padding:20px;background:var(--hall);border:var(--line-w) solid var(--line);border-radius:6px;text-align:center}.tx-panel p{margin:0;font-weight:600;font-size:19px}.tx-panel.answer .qr-frame{min-height:0;aspect-ratio:1;width:min(100%,62vh);justify-self:center}.tx-manual{position:absolute;left:calc(16px + var(--safe-l));right:calc(16px + var(--safe-r));bottom:calc(16px + var(--safe-b));background:#0b2340e6;padding:12px 16px;border-radius:6px;border-top:0}.tx-tools{position:absolute;bottom:calc(16px + var(--safe-b));right:calc(16px + var(--safe-r));display:flex;gap:10px}.stage{padding:0;background:var(--video)}.viewport{position:absolute;inset:0}.viewport.mirror{transform:scaleX(-1)}.feed{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:var(--video)}.stage-head{position:absolute;top:calc(14px + var(--safe-t));left:calc(14px + var(--safe-l));right:calc(14px + var(--safe-r));display:flex;justify-content:space-between;align-items:flex-start;gap:12px;pointer-events:none}.stage-head>*{pointer-events:auto}.pill{margin:0;padding:8px 16px 8px 14px;font-weight:650;font-size:17px;background:#0b2340d1;border-radius:999px;max-width:min(70vw,640px)}.pill:before{content:"";display:inline-block;width:10px;height:10px;margin-right:10px;border-radius:50%;background:var(--muted);vertical-align:1px}.pill[data-tone=ok]:before{background:var(--ok)}.pill[data-tone=warn]:before{background:var(--warn)}.pill[data-tone=bad]:before{background:var(--bad)}.pill:empty{display:none}.menu-btn{min-width:96px;min-height:52px;padding:8px 18px;font-weight:700;background:#0b2340d1;border:2px solid var(--line);border-radius:999px}.menu{position:absolute;top:calc(78px + var(--safe-t));right:calc(14px + var(--safe-r));display:grid;gap:10px;min-width:min(320px,calc(100vw - 28px));padding:16px;background:var(--hall);border:2px solid var(--line);border-radius:6px}.toggle{display:flex;align-items:center;gap:12px;min-height:44px;font-weight:600;cursor:pointer}.toggle input{width:26px;height:26px;accent-color:var(--court)}.stage-foot{position:absolute;left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center;pointer-events:none}.stage-foot>*{pointer-events:auto}.board{width:100%;padding:10px calc(18px + var(--safe-r)) calc(12px + var(--safe-b)) calc(18px + var(--safe-l));display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;background:linear-gradient(to top,#0b2340f0 60%,#0b234000)}.step-btn{width:clamp(88px,13vmin,140px);aspect-ratio:1;display:grid;place-items:center;background:#0b234099;border:var(--line-w) solid var(--line);border-radius:50%}.step-btn svg{width:46%;fill:var(--line)}.step-btn:active{background:var(--court);border-color:var(--court)}.step-btn:disabled{opacity:.3}.readout{text-align:center;line-height:1}.delay-num{font:800 clamp(96px,19vmin,220px) / .82 var(--display);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.delay-unit{font:800 clamp(40px,7vmin,80px) / 1 var(--display);margin-left:.12em;color:var(--muted)}.fill{height:6px;margin:8px auto 0;width:min(420px,70vw);background:#f5f3ec2e;border-radius:4px;overflow:hidden}.fill-bar{height:100%;width:0;background:var(--court);border-radius:4px;transition:width .25s linear}.fill.done{visibility:hidden}.delay-msg{margin:0;min-height:1.3em;font-size:clamp(17px,2.6vmin,24px);font-weight:650}.intro-hint{margin:10px 0 0;color:var(--muted);font-size:clamp(16px,2.4vmin,22px)}.intro-done{margin-top:12px;min-height:56px;padding:10px 40px}.status-line{margin:0 0 calc(14px + var(--safe-b));padding:10px 18px 12px;text-align:center;background:#0b2340d9;border-radius:12px}.delay-set{display:grid;gap:8px;padding-bottom:12px;border-bottom:2px solid var(--line)}.delay-set-head{display:flex;justify-content:space-between;align-items:baseline;font-weight:700}.delay-set-num{font:800 34px / 1 var(--display);font-variant-numeric:tabular-nums}.delay-set-row{display:grid;grid-template-columns:52px 1fr 52px;align-items:center;gap:10px}.mini-step{width:52px;height:52px;display:grid;place-items:center;background:#0b234099;border:2px solid var(--line);border-radius:50%}.mini-step svg{width:46%;fill:var(--line)}.mini-step:active{background:var(--court);border-color:var(--court)}.mini-step:disabled{opacity:.3}.delay-range{width:100%;height:44px;accent-color:var(--court)}.problem{position:fixed;inset:0;display:grid;place-items:center;padding:24px;background:#000000b3;z-index:10}.problem-card{width:min(560px,100%);display:grid;gap:16px;padding:28px;background:var(--hall);border:var(--line-w) solid var(--bad);border-radius:6px}.problem-card p{margin:0;color:var(--muted);font-size:18px}.problem-card .small-btn{justify-self:start}.toast{position:fixed;left:50%;top:calc(76px + var(--safe-t));transform:translate(-50%);padding:10px 18px;font-weight:650;background:var(--line);color:var(--hall);border-radius:999px;z-index:11}@media(max-width:760px),(orientation:portrait){.home{grid-template-columns:1fr;align-content:start;gap:28px;background:var(--hall)}.display{font-size:clamp(64px,20vw,120px)}.pair-body{grid-template-columns:minmax(0,1fr);grid-template-rows:none;align-content:start}.qr-frame{flex:none;width:min(100%,56vh);aspect-ratio:1;min-height:0;align-self:center}.scan-frame{flex:none;aspect-ratio:4 / 3;min-height:0}}@media(max-height:520px)and (orientation:landscape){.home{align-items:start}.display{font-size:64px}.lede{margin-top:12px;font-size:16px}.big-btn{min-height:64px;padding:12px 18px;font-size:18px}.board{gap:10px}.delay-num{font-size:22vmin}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
