.session-head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:12px;display:flex}.session-head h1{text-wrap:balance;margin:0;font-size:1.5rem}.session-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.session-actions .confirm{flex-wrap:wrap;align-items:center;gap:8px;font-size:.9rem;display:flex}.tiles{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}@media (width<=560px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}.up{color:var(--good)}.down{color:var(--bad)}.panel h2{margin:0;font-size:1.15rem}.panel.empty{justify-items:start}.panel.empty p{max-width:65ch;margin:0}a.button{border:1px solid var(--line);border-radius:8px;padding:8px 14px;text-decoration:none;display:inline-block}a.button.primary{background:var(--felt);border-color:var(--felt);color:var(--felt-ink);font-weight:700}.table-scroll{min-width:0;position:relative;overflow-x:auto}table.data{border-collapse:collapse;width:100%;font-size:.88rem}table.data th,table.data td{border-top:1px solid var(--line);text-align:left;vertical-align:top;padding:7px 8px}table.data thead th{color:var(--fg-muted);border-top:none;font-size:.75rem;font-weight:700}table.data tbody th{font-weight:600}table.data .n{text-align:right;white-space:nowrap}table.data tr.on{background:var(--felt-soft)}table.hands .lesson{min-width:16em;max-width:34em}table.hands .verdicts{white-space:nowrap;letter-spacing:1px}.block{display:block}.status.fixed{color:var(--good);font-weight:700}.status.open{color:var(--warn);font-weight:700}.session-strip{background:var(--surface);border:1px solid var(--line);border-radius:8px;flex-wrap:wrap;align-items:center;gap:6px 14px;padding:8px 12px;display:flex}.session-link{color:inherit;flex-wrap:wrap;align-items:baseline;gap:4px 12px;font-weight:600;text-decoration:none;display:flex}.session-link:hover{text-decoration:underline}.session-strip .primary{padding:6px 12px}.focus-note{background:color-mix(in srgb, var(--warn) 14%, transparent);border-left:3px solid var(--warn);border-radius:6px;margin:0;padding:6px 10px}@media (width<=560px){table.hands thead{display:none}table.hands,table.hands tbody{display:block}table.hands tr{border-top:1px solid var(--line);grid-template-columns:auto 1fr auto;gap:2px 10px;padding:8px 0;display:grid}table.hands td{border:none;padding:0;display:block}table.hands td:first-child{grid-row:span 2}table.hands td:nth-child(2){grid-column:2}table.hands td:nth-child(5){grid-area:1/3}table.hands td:nth-child(3){text-align:right;grid-area:2/3}table.hands td.verdicts{grid-column:2}table.hands td.lesson{grid-column:2/4;min-width:0;max-width:none}}.replay{gap:12px;min-width:0;display:grid}.replay-head{flex-wrap:wrap;justify-content:space-between;align-items:start;gap:8px;display:flex}.replay-head h2{margin:0}.replay-steps,.replay-nav{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.replay-steps button.on{border-color:var(--felt);background:var(--felt-soft)}.replay-nav{grid-template-columns:repeat(4,auto) 1fr;display:grid}.replay-nav .muted{margin:0 4px}@media (width<=480px){.replay-nav{grid-template-columns:repeat(4,1fr)}.replay-nav .muted{grid-area:1/1/auto/-1;justify-self:start}}.replay-decision{background:var(--surface-2);border-radius:8px;gap:6px;padding:10px 12px;display:grid}.replay-decision p{margin:0}.replay-decision .range-text{gap:2px;display:grid}.replay-result{margin:0}.adapt-note{background:color-mix(in srgb, var(--felt) 12%, transparent);border-left:3px solid var(--felt);border-radius:6px;gap:4px;margin:0;padding:6px 10px;display:grid}.adapt-note p{margin:0}.import-screen h1{text-wrap:balance;margin:0;font-size:1.5rem}.measure{max-width:65ch;margin:0}.hh-text{box-sizing:border-box;background:var(--surface);width:100%;min-width:0;color:var(--fg);border:1px solid var(--line);resize:vertical;border-radius:8px;padding:8px 10px;font-size:.8rem}.import-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.file-pick{border:1px solid var(--line);cursor:pointer;border-radius:8px;padding:8px 14px;display:inline-block;position:relative}.file-pick input{opacity:0;cursor:pointer;position:absolute;inset:0}.file-pick:focus-within{outline:2px solid var(--felt);outline-offset:2px}.skipped summary{cursor:pointer;font-weight:600}.skipped ul{margin:6px 0 0;padding-left:1.2em}.progress{gap:16px;display:grid}.progress>p{margin:0}.chart{gap:6px;min-width:0;margin:0;display:grid}.chart figcaption{font-size:.9rem}.chart-box{min-width:0;position:relative}.chart svg{touch-action:pan-y;width:100%;height:auto;display:block;overflow:visible}.chart .grid{stroke:var(--line);stroke-width:1px}.chart .tick{fill:var(--fg-muted);font-size:11px;font-family:var(--font-body);font-variant-numeric:tabular-nums}.chart .bar-label{fill:var(--fg);font-size:11px;font-family:var(--font-body)}.chart .session-line{stroke:var(--fg-muted);stroke-width:1px;stroke-dasharray:3 3;opacity:.6}.chart .trend-line{fill:none;stroke:var(--felt);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.chart .trend-end{fill:var(--felt);stroke:var(--surface);stroke-width:2px}.chart .crosshair{stroke:var(--fg-muted);stroke-width:1px;pointer-events:none}.chart .ev-bar{fill:var(--felt)}.chart .ev-bar.on{fill:color-mix(in srgb, var(--felt) 75%, var(--fg))}.chart-tip{pointer-events:none;background:var(--surface);border:1px solid var(--line);max-width:min(18rem,90%);box-shadow:0 2px 8px color-mix(in srgb, var(--fg) 15%, transparent);border-radius:6px;padding:4px 8px;font-size:.8rem;position:absolute;top:0;transform:translate(-50%)}table.leak-grid td.n{text-align:center;min-width:2.6em}table.leak-grid .heat-1{background:color-mix(in srgb, var(--felt) 15%, var(--surface))}table.leak-grid .heat-2{background:color-mix(in srgb, var(--felt) 30%, var(--surface))}table.leak-grid .heat-3{background:color-mix(in srgb, var(--felt) 45%, var(--surface))}table.leak-grid .heat-4{background:color-mix(in srgb, var(--felt) 60%, var(--surface));font-weight:700}.opp-notes{gap:4px;max-width:75ch;margin:0;padding-left:1.1rem;display:grid}table.data .opp-table-row th,table.data .opp-table-row td{color:var(--fg-muted)}.real-play{gap:10px;display:grid}.real-play h2,.real-play h3,.real-play p{margin:0}.real-play h3{margin-top:6px;font-size:1rem}.real-leaks,.real-costly{gap:4px;max-width:75ch;margin:0;padding-left:20px;display:grid}
