:root{--accent:#63d4e7;--accent-deep:#2f9fb4;--accent-ink:#08222c;--tile:#253247;--open:#111a28}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}a{color:inherit}h2{font-size:var(--fs-md);font-weight:650;letter-spacing:-.25px;margin-bottom:var(--s1)}h3{font-size:var(--fs-sm);font-weight:650;margin:var(--s5) 0 var(--s3)}h4{font-size:var(--fs-xs);margin:var(--s2) 0}.muted{color:var(--muted);font-size:var(--fs-xs);line-height:1.6}p.muted{margin-bottom:0}[hidden]{display:none!important}.acct{display:flex;flex-direction:column;align-items:stretch;gap:var(--s2)}.acct>span{display:flex;align-items:center;min-height:var(--tap);padding:0 var(--s3)}.acct .button{min-height:var(--tap)}.connection{font-size:var(--fs-2xs);letter-spacing:.2px;color:var(--muted)}.connection::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--muted);margin-right:var(--s2)}.connection.online::before{background:var(--accent)}.connection.offline::before{background:var(--warn)}.hero{display:flex;justify-content:space-between;align-items:center;gap:var(--s5);flex-wrap:wrap}.eyebrow{font-size:var(--fs-2xs);font-weight:700;letter-spacing:2px;color:var(--muted);margin-bottom:var(--s3)}.title-accent{color:var(--accent)}.versus{font-size:.48em;letter-spacing:-.5px;color:var(--muted);margin-left:var(--s4);font-weight:400}.subtitle{font-size:var(--fs-sm);color:var(--muted);margin-bottom:0;max-width:48ch}.hero-status{text-align:right;display:grid;gap:var(--s2);justify-items:end}.hero-status .eyebrow{margin:0}.clock{font-family:var(--mono);font-variant-numeric:tabular-nums;font-size:var(--fs-sm);letter-spacing:.5px;font-weight:650;color:var(--text)}.pill{display:inline-flex;align-items:center;border:1px solid var(--line);background:var(--raised);color:var(--muted);font-size:var(--fs-2xs);letter-spacing:.15px;font-weight:650;padding:var(--s1) var(--s2);border-radius:var(--radius-sm)}.pill.amber{border-color:#594a32;color:var(--warn);background:#302a20}.toolbar{display:flex;gap:var(--s3) var(--s4);align-items:end;flex-wrap:wrap;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--s4)}.toolbar label,.filter-row label,.section-heading label,.search-label{display:flex;flex-direction:column;gap:var(--s2);font-size:var(--fs-2xs);font-weight:650;color:var(--muted);letter-spacing:.2px}select,input[type=search]{background:var(--sunken);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text);padding:var(--s2) var(--s6) var(--s2) var(--s2);font-size:var(--fs-sm);min-height:var(--tap)}.toolbar-actions{display:flex;gap:var(--s2);margin-left:auto;align-items:center;flex-wrap:wrap}.button{border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--s2) var(--s3);background:var(--raised);color:var(--text);font-size:var(--fs-sm);font-weight:600;white-space:nowrap;min-height:var(--tap)}@media(hover:hover){.button:hover:not(:disabled){background:#2a3a50;border-color:var(--accent)}}.button:active:not(:disabled){background:#2a3a50;border-color:var(--accent)}.button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}@media(hover:hover){.button.primary:hover:not(:disabled){background:#89e4f1}}.button.primary:active:not(:disabled){background:#89e4f1}.button.quiet{background:transparent;color:var(--muted)}.button.small{font-size:var(--fs-xs);padding:var(--s2) var(--s3);min-height:var(--tap)}.notice{font-size:var(--fs-xs);color:var(--muted);padding:var(--s4) 2px;min-height:49px;line-height:1.6}.notice.error{color:var(--danger)}.notice.success{color:var(--accent)}.arena{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--s4);align-items:stretch}.board-card,.decision-card{}.board-header{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);margin-bottom:var(--s4)}.player-title{display:flex;align-items:center;gap:var(--s2)}.player-title h2{font-size:var(--fs-md);margin-bottom:0}.player-title .muted{font-size:var(--fs-2xs)}.player-token{width:34px;height:34px;border-radius:var(--radius-sm);display:grid;place-items:center;font-weight:750;font-size:var(--fs-sm)}.you-token{background:color-mix(in srgb,var(--human) 22%,var(--sunken));color:var(--human)}.jev-token{background:color-mix(in srgb,var(--jev) 22%,var(--sunken));color:var(--jev)}.board-count{display:grid;gap:3px;text-align:right;font-variant-numeric:tabular-nums}.board-count strong{font-size:var(--fs-sm);font-weight:600}.board-count span{font-size:var(--fs-2xs);color:var(--muted)}progress{width:100%;height:3px;display:block;border:0;border-radius:3px;background:#263144;accent-color:var(--accent);margin-bottom:var(--s5)}progress::-webkit-progress-bar{background:#263144;border-radius:3px}progress::-webkit-progress-value{background:var(--accent);border-radius:3px}#jevMeter{accent-color:var(--jev)}#jevMeter::-webkit-progress-value{background:var(--jev)}.board-scroll{overflow:auto;max-width:100%;padding:3px;container-type:inline-size;max-height:calc(100dvh - var(--header-h) - 12rem)}.board{--cell-min:28px;--cell-max:34px;--cell-size:clamp(var(--cell-min),calc((100cqw - (var(--cols,9) - 1) * 3px - 14px) / var(--cols,9)),var(--cell-max));display:grid;gap:3px;width:max-content;margin:auto;padding:var(--s1);border:1px solid #2c3b51;border-radius:var(--radius-sm);background:var(--sunken)}.board-row{display:grid;grid-template-columns:repeat(var(--cols,9),var(--cell-size));gap:3px}.cell{display:grid;place-items:center;width:var(--cell-size);height:var(--cell-size);border:1px solid #36465d;border-top-color:#455970;border-radius:var(--radius-sm);padding:0;background:var(--tile);color:var(--text);font-family:var(--mono);font-size:clamp(14px,calc(var(--cell-size) * .55),20px);font-weight:750;line-height:1;user-select:none;box-shadow:0 2px 0 #152032}@media(hover:hover){.cell:not(.open):hover{background:#344961}}.cell:not(.open):active{background:#3d5672}.cell.open{background:var(--open);border-color:#1d2a3d;box-shadow:none}.cell.flagged{color:var(--warn)}.cell.exploded{background:#6b2435;color:#ffe8e8;border-color:#b95168}.cell.n1{color:#73c0ff}.cell.n2{color:#83dfa9}.cell.n3{color:#ff9794}.cell.n4{color:#c2a0ff}.cell.n5{color:#e8bb82}.cell.n6{color:#78ddd1}.cell.n7{color:#eff2f8}.cell.n8{color:#aebdce}.cell{--focus-offset:0}.cell:focus-visible{position:relative;z-index:1}.readonly .cell{cursor:default}@media(hover:hover){.readonly .cell:not(.open):hover{background:var(--tile)}}.readonly .cell:not(.open):active{background:var(--tile)}.board-footer{display:flex;gap:var(--s2);align-items:center;justify-content:space-between;margin-top:var(--s4);flex-wrap:wrap}.segmented{display:flex;gap:var(--s1);padding:3px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--sunken)}.segmented button{background:transparent;border:0;color:var(--muted);padding:0 var(--s4);min-height:var(--tap);min-width:var(--tap);font-size:var(--fs-sm);font-weight:600;border-radius:var(--radius-sm)}.segmented button[aria-pressed=true]{background:var(--accent);color:var(--accent-ink)}.segmented button:active{background:#2b3f54;color:var(--text)}.board-footer .muted{font-size:var(--fs-2xs)}.board-help{font-size:var(--fs-xs);color:var(--muted);margin:var(--s3) 0 0;line-height:1.6}.decision-card{display:flex;flex-direction:column}.section-heading{display:flex;justify-content:space-between;gap:var(--s4);align-items:center;margin-bottom:var(--s4)}.section-heading h2,.section-heading h3{margin:0 0 4px}.section-heading label.switch-label{display:flex;flex-direction:row;align-items:center;gap:var(--s1);font-size:var(--fs-2xs);font-weight:400}.switch-label input{accent-color:var(--accent)}.amber-text{color:var(--warn);font-size:var(--fs-2xs);letter-spacing:1.2px;margin:var(--s4) 0 var(--s3)}.decision-action{font-size:var(--fs-xl);letter-spacing:-.6px;margin-bottom:var(--s2)}.decision-metrics{margin:var(--s4) 0 0}.decision-metrics div{display:flex;justify-content:space-between;border-bottom:1px solid #253147;padding:var(--s3) 0;gap:var(--s3)}.decision-metrics dt{font-size:var(--fs-2xs);color:var(--muted)}.decision-metrics dd{margin:0;font-size:var(--fs-2xs);font-variant-numeric:tabular-nums;text-align:right}.decision-card h3{font-size:var(--fs-2xs)}.evidence-list{display:grid;gap:var(--s2)}.evidence-tag{font-size:var(--fs-2xs);color:var(--accent);line-height:1.6}.lab-note{border-left:2px solid #4d6075;padding-left:var(--s3);font-size:var(--fs-2xs);line-height:1.65;color:var(--muted);margin-top:var(--s5)}.live-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));border:1px solid var(--line);background:var(--surface);border-radius:var(--radius-lg);padding:var(--s4) 0;gap:var(--s4) 0}.live-strip>div{padding:0 var(--s5);display:flex;flex-direction:column;gap:var(--s2);border-right:1px solid var(--line)}.live-strip>div:last-child{border:0}.live-strip span{font-size:var(--fs-2xs);font-weight:650;letter-spacing:1px;color:var(--muted)}.live-strip strong{font-size:var(--fs-num-sm);line-height:28px;font-weight:550;font-variant-numeric:tabular-nums}.live-strip strong.small-value{font-size:var(--fs-xs)}.workspace{border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;background:var(--surface)}.tabs{display:flex;gap:var(--s2);border-bottom:1px solid var(--line);background:var(--sunken);padding:var(--s2) var(--s4);overflow:auto}.tabs button{border:0;border-bottom:2px solid transparent;background:none;color:var(--muted);padding:0 var(--s3);min-height:var(--tap);font-size:var(--fs-sm);font-weight:600;white-space:nowrap}.tabs button[aria-selected=true]{color:var(--accent);border-bottom-color:var(--accent)}.jv-panel>section{margin-top:var(--s5)}.chart-legend{display:flex;gap:var(--s4);font-size:var(--fs-2xs);color:var(--muted)}.chart-legend span::before{content:"";width:14px;height:3px;display:inline-block;vertical-align:middle;margin-right:var(--s1)}.human-key::before{background:var(--human)}.jev-key::before{background:var(--jev)}canvas{width:100%;display:block;max-width:100%}.integrity-note{padding:var(--s3) var(--s4);background:var(--sunken);border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--muted);font-size:var(--fs-2xs);line-height:1.8;margin-top:var(--s4)}.integrity-note strong{color:var(--text)}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--s3);margin:var(--s4) 0}.stat{padding:var(--s4);background:var(--sunken);border:1px solid var(--line);border-radius:var(--radius-sm)}.stat span{display:block;font-size:var(--fs-2xs);color:var(--muted);margin-bottom:var(--s2)}.stat strong{font-size:var(--fs-xl);font-weight:550}.export-bar,.filter-row{display:flex;align-items:end;gap:var(--s2);flex-wrap:wrap;margin:var(--s4) 0}.report-columns{display:grid;grid-template-columns:1fr 1fr;gap:var(--s5)}.table-scroll{overflow:auto;border:1px solid var(--line);border-radius:var(--radius-sm)}.table-scroll:empty{border:0}.table-scroll.tall{max-height:400px}table{border-collapse:collapse;width:100%;font-size:var(--fs-2xs);text-align:left}th{background:var(--sunken);color:var(--muted);font-weight:550;position:sticky;top:0;z-index:1}td,th{padding:var(--s3) var(--s3);border-bottom:1px solid var(--line);white-space:nowrap}td{font-variant-numeric:tabular-nums}tbody tr:last-child td{border-bottom:0}@media(hover:hover){tbody tr:hover{background:#1a2639}}td.wrap{white-space:normal;min-width:200px}.empty-state{padding:var(--s6);text-align:center;color:var(--muted);font-size:var(--fs-xs);line-height:1.8}.heatmap-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s4)}.heatmap-grid>div{background:var(--sunken);padding:var(--s3);border-radius:var(--radius-sm)}.heatmap-grid h4{color:var(--muted);font-size:var(--fs-xs)}.search-label{max-width:370px;margin:var(--s3) 0}details{margin-top:var(--s4)}summary{font-size:var(--fs-sm);cursor:pointer;color:var(--text);padding:var(--s3) 0;min-height:var(--tap)}details .table-scroll{margin-top:var(--s3)}.prose{max-width:1000px}.prose p{font-size:var(--fs-xs);line-height:1.9;color:var(--muted)}.prose h3{color:var(--text);margin-top:var(--s5)}footer{display:flex;justify-content:space-between;flex-wrap:wrap;gap:var(--s3);max-width:var(--shell);margin:0 auto;width:100%;padding:var(--s5) var(--s4) calc(var(--s5) + var(--sa-b));font-size:var(--fs-xs);color:var(--subtle);letter-spacing:.3px}.replay-dialog{background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:var(--radius-lg);padding:var(--s5);max-width:1000px;width:95%;max-height:95vh;max-height:95dvh}.replay-dialog::backdrop{background:#030811d9}.replay-controls{display:flex;align-items:center;gap:var(--s4);margin:var(--s4) 0}.replay-controls input{flex:1;accent-color:var(--accent);min-height:var(--tap)}.replay-boards{display:grid;grid-template-columns:1fr 1fr;gap:var(--s4);min-width:0}.replay-boards>div{min-width:0}.nowrap{white-space:nowrap}
@media(min-width:1500px){.board{--cell-size:36px}}
@media(min-width:900px){.arena{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.decision-card{grid-column:1/-1}.decision-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:0 var(--s5)}.lab-note{max-width:650px}.acct{flex-direction:row;align-items:center;gap:var(--s3)}.acct>span{min-height:0;padding:0}}
@media(min-width:1280px){.arena{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(220px,.68fr)}.decision-card{grid-column:auto}.board{--cell-max:36px}}
@media(max-width:600px){.hero{gap:var(--s3);align-items:start}.versus{display:block;margin:var(--s2) 0 0;font-size:var(--fs-md)}.hero .subtitle{font-size:var(--fs-xs);line-height:1.7}.toolbar{padding:var(--s3)}.toolbar label{flex:1;min-width:9rem}.toolbar-actions{flex-basis:100%}.board-card,.decision-card{padding:var(--s3)}.decision-metrics{display:grid;grid-template-columns:1fr}.section-heading{gap:var(--s2);align-items:start}.report-columns,.heatmap-grid,.replay-boards{grid-template-columns:1fr}.replay-dialog{padding:var(--s4)}.stat-grid{grid-template-columns:repeat(2,1fr)}footer span:nth-child(2){display:none}.board-scroll{max-height:none}}
@media(max-height:560px) and (orientation:landscape){.jv-hero{display:none}.notice{min-height:0;padding:var(--s2) 0}.board{--cell-min:24px;--cell-max:28px}.board-scroll{max-height:calc(100dvh - var(--header-h) - 9rem)}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.board.large{--cell-min:44px;--cell-max:44px}
