:root,:root[data-theme=light]{color-scheme:light;--plane: #f9f9f7;--surface: #fcfcfb;--surface-2: #f2f2ee;--border: rgba(11, 11, 11, .1);--grid: #e1e0d9;--axis: #c3c2b7;--ink: #0b0b0b;--ink-2: #52514e;--ink-muted: #898781;--accent: #2a78d6;--accent-strong: #1c5cab;--track: #cde2fb;--good: #0ca30c;--warning: #fab219;--critical: #d03b3b;--success-text: #006300;--shadow: 0 1px 2px rgba(11, 11, 11, .05), 0 8px 24px rgba(11, 11, 11, .06)}:root[data-theme=dark]{color-scheme:dark;--plane: #0d0d0d;--surface: #1a1a19;--surface-2: #232322;--border: rgba(255, 255, 255, .1);--grid: #2c2c2a;--axis: #383835;--ink: #ffffff;--ink-2: #c3c2b7;--ink-muted: #898781;--accent: #3987e5;--accent-strong: #5598e7;--track: #0d366b;--good: #0ca30c;--warning: #fab219;--critical: #d03b3b;--success-text: #0ca30c;--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 8px 24px rgba(0, 0, 0, .35)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--plane);color:var(--ink);font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{margin:0;font-weight:600;letter-spacing:-.01em}h1{font-size:20px}h2{font-size:15px}h3{font-size:13px;color:var(--ink-2)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.dim{color:var(--ink-muted)}.sub{color:var(--ink-2)}.topbar{position:sticky;top:0;z-index:20;height:56px;background:var(--surface);border-bottom:1px solid var(--border)}.topbar>.bar{display:flex;align-items:center;gap:20px;height:100%;padding-inline:20px}@media (max-width: 940px){.topbar>.bar{gap:12px}.topbar nav{overflow-x:auto;min-width:0;flex-shrink:1;scrollbar-width:none}.topbar nav::-webkit-scrollbar{display:none}.topbar nav a{white-space:nowrap}}@media (max-width: 640px){.topbar>.bar{gap:8px}.brand img{height:20px}}.brand{display:inline-flex;align-items:center;text-decoration:none;flex:0 0 auto}.brand:hover{text-decoration:none}.brand img{height:26px;width:auto;display:block;align-self:center}:root[data-theme=dark] .brand{background:#f4f4f1;border-radius:8px;padding:5px 10px;margin-left:-10px}.topbar nav{display:flex;gap:4px}.topbar nav a{padding:6px 11px;border-radius:7px;color:var(--ink-2);font-weight:500;text-decoration:none}.topbar nav a:hover{background:var(--surface-2);text-decoration:none}.topbar nav a.on{background:var(--surface-2);color:var(--ink)}.spacer{flex:1}.btn-training{display:inline-flex;align-items:center;flex:0 0 auto;padding:7px 14px;border-radius:8px;border:1px solid color-mix(in srgb,var(--warning) 35%,transparent);background:color-mix(in srgb,var(--warning) 16%,transparent);color:color-mix(in srgb,var(--warning) 70%,var(--ink));font-weight:600;font-size:13px;white-space:nowrap}.btn-training:hover{background:color-mix(in srgb,var(--warning) 24%,transparent);text-decoration:none}.btn-training.on{border-color:var(--warning)}.profile-menu{position:relative;flex:0 0 auto}.profile-trigger{display:flex;align-items:center;background:transparent;border:1px solid transparent;border-radius:999px;padding:4px;color:var(--ink)}.profile-trigger:hover{background:var(--surface-2);border-color:var(--border)}.profile-avatar{display:inline-flex;align-items:center;justify-content:center;flex:none;width:28px;height:28px;border-radius:50%;background:var(--accent);color:#fff;font-size:12px;font-weight:600}.profile-dropdown{position:absolute;top:calc(100% + 8px);right:0;z-index:30;min-width:190px;display:flex;flex-direction:column;gap:2px;padding:6px;border-radius:10px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow)}.profile-dropdown button{text-align:left;background:none;border:1px solid transparent;padding:8px 10px;border-radius:7px;font-weight:500}.profile-dropdown button:hover{background:var(--surface-2);border-color:transparent}.profile-dropdown-who{padding:6px 10px 8px;font-size:12px;border-bottom:1px solid var(--border);margin-bottom:4px}.profile-dropdown-confirm{padding:6px 10px 2px;font-size:12px;color:var(--ink-2)}.profile-dropdown-row{display:flex;gap:6px;padding:4px 6px 2px}.profile-dropdown-row button{flex:1;text-align:center}main.gate{min-height:100vh;display:grid;align-content:center;padding-block:clamp(16px,5vh,56px)}.auth-split{display:grid;grid-template-columns:1fr 1fr;gap:0;align-items:stretch;border:1px solid var(--border);border-radius:16px;overflow:hidden;box-shadow:var(--shadow)}.auth-brand{background:#0f264b;color:#fff;padding:clamp(28px,4vw,48px);display:flex;flex-direction:column;justify-content:center;gap:22px}.auth-brand-mark{height:30px;width:auto;align-self:flex-start;box-sizing:content-box;background:#fcfcfb;border-radius:10px;padding:11px 15px}.auth-brand h1{margin:0;font-size:clamp(21px,1.9vw,27px);line-height:1.25;letter-spacing:-.02em;font-weight:600;max-width:20ch}.auth-form{display:grid;place-items:center;padding:clamp(28px,4vw,48px);background:var(--surface)}.auth-switch{text-align:center;margin-bottom:0;font-size:13px;color:var(--ink-muted)}@media (max-width: 860px){.auth-split{grid-template-columns:1fr}.auth-brand{padding:24px;gap:14px}.auth-brand h1{font-size:20px;max-width:none}}.container{width:100%;margin-inline:auto;padding-inline:16px}@media (min-width: 576px){.container{max-width:540px}}@media (min-width: 768px){.container{max-width:720px}}@media (min-width: 992px){.container{max-width:960px}}@media (min-width: 1200px){.container{max-width:1140px}}@media (min-width: 1400px){.container{max-width:1320px}}main{width:100%;margin-inline:auto;padding:22px 16px 64px}body.training-mode{background:color-mix(in srgb,var(--warning) 12%,var(--plane))}body.training-mode .topbar{background:color-mix(in srgb,var(--warning) 16%,var(--surface))}body.training-mode .card{background:color-mix(in srgb,var(--warning) 8%,var(--surface))}body.training-mode .review-bar{background:color-mix(in srgb,var(--warning) 14%,var(--surface))}main:not(.fill)>*+*{margin-top:14px}main:not(.fill)>.page-head+*{margin-top:18px}@media (min-width: 576px){main:not(.fill){max-width:572px}}@media (min-width: 768px){main:not(.fill){max-width:752px}}@media (min-width: 992px){main:not(.fill){max-width:992px}}@media (min-width: 1200px){main:not(.fill){max-width:1172px}}@media (min-width: 1400px){main:not(.fill){max-width:1352px}}#root{display:flex;flex-direction:column;min-height:100%}main.fill{flex:1;min-height:0;display:flex;flex-direction:column;padding:12px 0 0;max-width:none;overflow:hidden}.page-head{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}.card{background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);overflow:hidden;min-width:0}.card>header{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid var(--border)}.card>.body{padding:16px}.subcard{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;overflow:hidden;min-width:0}.subcard+.subcard{margin-top:14px}.subcard>header{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:10px 14px;border-bottom:1px solid var(--border)}.subcard>header h3{margin:0;font-size:14px;font-weight:600}.subcard>.body{padding:14px}.subcard>.body:has(table){overflow-x:auto;min-width:0}.subcard-summary{display:flex;align-items:center;gap:20px;flex-wrap:wrap}.subcard-stat{display:flex;flex-direction:column;align-items:flex-end;line-height:1.15}.subcard-stat .stat-label{font-size:12px;color:var(--ink-2)}.subcard-stat .stat-value{font-size:22px;font-weight:600;color:var(--ink);letter-spacing:-.01em}.card>.body:has(table){overflow-x:auto;min-width:0}.card>.body::-webkit-scrollbar{height:9px}.card>.body::-webkit-scrollbar-track{background:transparent}.card>.body::-webkit-scrollbar-thumb{background:var(--axis);border-radius:5px;border:2px solid var(--surface)}.card>.body::-webkit-scrollbar-thumb:hover{background:var(--ink-muted)}button{font:inherit;font-weight:500;padding:8px 14px;border-radius:8px;border:1px solid var(--border);background:var(--surface-2);color:var(--ink);cursor:pointer}button:hover:not(:disabled){border-color:var(--axis)}button:disabled{opacity:.5;cursor:not-allowed}button.primary{background:var(--accent);border-color:transparent;color:#fff}button.primary:hover:not(:disabled){background:var(--accent-strong)}button.ghost{background:transparent}input,select{font:inherit;color:var(--ink);padding:8px 11px;border-radius:8px;border:1px solid var(--border);background:var(--surface);width:100%}input:focus,select:focus{outline:2px solid var(--accent);outline-offset:-1px}label.field{display:block;margin-bottom:12px}label.field>span{display:block;margin-bottom:5px;color:var(--ink-2);font-weight:500}kbd{font:inherit;font-size:11px;padding:1px 5px;border-radius:4px;margin-left:6px;background:var(--surface-2);border:1px solid var(--border);color:var(--ink-muted)}.notice{padding:10px 13px;border-radius:8px;margin-bottom:14px;background:var(--surface-2);border:1px solid var(--border);color:var(--ink-2)}.notice.bad{border-color:var(--critical);color:var(--critical)}.tiles{display:grid;gap:12px;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:1fr}@media (max-width: 1100px){.tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}.tile{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px 16px}.tile .k{color:var(--ink-2);font-size:12px;font-weight:500}.tile .v{font-size:26px;font-weight:600;letter-spacing:-.02em;margin-top:3px}.tile .foot{font-size:12px;color:var(--ink-muted);margin-top:2px}.hero{display:flex;align-items:flex-end;gap:14px}.hero .v{font-size:52px;font-weight:600;line-height:1;letter-spacing:-.03em}.meter{height:8px;border-radius:999px;background:var(--track);overflow:hidden}.meter>span{display:block;height:100%;border-radius:999px;background:var(--accent)}.bar-row{display:grid;grid-template-columns:150px 1fr 52px;gap:12px;align-items:center}.bar-track{background:var(--grid);border-radius:2px;height:14px}.bar-fill{height:100%;background:var(--accent);border-radius:0 4px 4px 0;min-width:2px}.bar-value{text-align:right;font-variant-numeric:tabular-nums;color:var(--ink-2)}.split{display:flex;height:14px;gap:2px}.split>i{display:block;border-radius:2px}.split>i:first-child{border-radius:4px 2px 2px 4px}.split>i:last-child{border-radius:2px 4px 4px 2px}.swatch{width:9px;height:9px;border-radius:2px;display:inline-block}.legend{display:flex;gap:16px;flex-wrap:wrap;margin-top:12px;color:var(--ink-2);font-size:12px}.legend>span{display:inline-flex;align-items:center;gap:6px}.is-accept{background:var(--good)}.is-reject{background:var(--critical)}.pill{display:inline-flex;align-items:center;gap:5px;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:500;border:1px solid var(--border);background:var(--surface-2);color:var(--ink-2)}.pill.accept{color:var(--success-text)}.pill.reject{color:var(--critical)}table.grid{width:100%;border-collapse:collapse;font-size:13px}table.grid th,table.grid td{padding:8px 12px;text-align:left;border-bottom:1px solid var(--grid)}table.grid .num{white-space:nowrap}table.grid th{color:var(--ink-muted);font-weight:500;font-size:12px}table.grid tbody tr:last-child td{border-bottom:0}table.grid tbody tr:hover{background:var(--surface-2)}table.grid .num{text-align:right;font-variant-numeric:tabular-nums}.review{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(340px,1fr);gap:12px;flex:1;min-height:0;align-items:stretch}.viewer{position:relative;background:var(--surface-2);border:1px solid var(--border);border-radius:12px;overflow:auto;min-height:0}.viewer .page-canvas{display:block;width:100%;height:auto}.viewer.zoom{cursor:zoom-out}.viewer.zoom .page-canvas{width:auto;max-width:none}.side{display:flex;flex-direction:column;gap:10px;min-height:0;overflow:hidden}.side>.card{flex:0 0 auto}.side>.card.grow{flex:1 1 auto;display:flex;flex-direction:column;min-height:0}.side>.card.grow>.body{overflow:auto;min-height:0}.fields{width:100%;border-collapse:collapse;font-size:13px}.fields td{padding:5px 10px;border-bottom:1px solid var(--grid);vertical-align:top}.fields td.f{color:var(--ink-muted);width:45%;word-break:break-word}.fields td.v{font-weight:500;word-break:break-word}.fields tr.empty td.v{color:var(--ink-muted);font-weight:400}.verdict-row{display:flex;gap:8px}.verdict-row button{flex:1}button.accept:hover:not(:disabled){border-color:var(--good);color:var(--success-text)}button.reject:hover:not(:disabled){border-color:var(--critical);color:var(--critical)}.progress-strip{display:flex;gap:3px;flex-wrap:wrap}.progress-strip i{width:9px;height:9px;border-radius:2px;background:var(--grid)}.progress-strip i.done{background:var(--accent)}.progress-strip i.here{outline:2px solid var(--accent);outline-offset:1px}.dash-top{display:grid;gap:12px;grid-template-columns:minmax(260px,320px) minmax(0,1fr)}.dash-grid{display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr))}.dash-grid>.wide{grid-column:1 / -1}@media (max-width: 1100px){.dash-top,.dash-grid{grid-template-columns:minmax(0,1fr)}}.auth{width:100%;max-width:340px}.empty{padding:40px;text-align:center;color:var(--ink-muted)}@media (max-width: 900px){.review{grid-template-columns:minmax(0,1fr)}.side,.viewer{max-height:none}}.viewer-bar{display:flex;align-items:center;gap:10px;padding:6px 10px;border-bottom:1px solid var(--border);background:var(--surface);position:sticky;top:0;z-index:2}.viewer-bar .spacer{flex:1}.viewer-bar .toggle{display:flex;align-items:center;gap:5px;font-size:12px}.seg{display:inline-flex;border:1px solid var(--border);border-radius:6px;overflow:hidden}.seg button{border:0;border-radius:0;padding:3px 12px;font-size:12px;background:none}.seg button+button{border-left:1px solid var(--border)}.seg button.on{background:var(--accent, #2b6cb0);color:#fff}.page-stack{position:relative;line-height:0}.page-stack .page-canvas{display:block;width:100%;height:auto}.page-stack.loading .page-canvas{opacity:0}.page-stack.ready .page-canvas{opacity:1;transition:opacity .14s ease-out}.page-stack.loading{background:var(--surface-2)}.page-stack.ready svg.zones{animation:zones-in .16s ease-out 60ms both}@keyframes zones-in{0%{opacity:0}to{opacity:1}}.page-wait{position:absolute;top:0;right:0;bottom:0;left:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;line-height:1.4;color:var(--ink-muted);font-size:13px;text-align:center;padding:24px;animation:wait-in .12s ease-out .18s both}@keyframes wait-in{0%{opacity:0}to{opacity:1}}.page-wait.bad{color:var(--critical);max-width:42ch;margin:0 auto;animation-delay:0ms}.spinner{width:22px;height:22px;border-radius:50%;border:2px solid var(--track);border-top-color:var(--accent);animation:spin .62s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion: reduce){.page-stack.ready .page-canvas,.page-stack.ready svg.zones,.page-wait{transition:none;animation:none}.page-wait{opacity:1}.spinner{animation-duration:1.4s}}.viewer.zoom .page-stack{display:inline-block}.viewer.zoom .page-stack .page-canvas{width:auto;max-width:none}svg.zones{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}svg.zones .zone{fill:currentColor;stroke:currentColor;stroke-width:1.25;fill-opacity:.07;vector-effect:non-scaling-stroke;transition:fill-opacity 90ms linear,stroke-width 90ms linear,opacity 90ms linear}svg.zones .zone.text{color:#2f6fed}svg.zones .zone.graphic{color:#1f9d55}svg.zones .zone.table{color:#d64545}svg.zones .zone.other{color:#b7791f}svg.zones .zone.on{stroke-width:3;fill-opacity:.3;filter:drop-shadow(0 0 3px rgb(0 0 0 / .55))}svg.zones.has-hover .zone:not(.on){opacity:.25}@media (prefers-reduced-motion: reduce){svg.zones .zone{transition:none}}.zones-table{table-layout:fixed}.zones-table td.ord{width:2.4em;text-align:right;color:var(--ink-muted)}.zones-table td.f{width:9.5em;word-break:normal}.zones-table td.f .chip{white-space:nowrap}.zones-table td.v{overflow:hidden;max-width:0}.zones-table tr{cursor:default;transition:background 90ms linear}.zones-table tr:hover{background:var(--surface-2)}.zones-table tr.on{background:var(--surface-2);box-shadow:inset 3px 0 0 currentColor}.zones-table tr.on td.ord{color:var(--ink);font-weight:600}.chip{display:inline-block;padding:0 6px;border-radius:999px;font-size:11px;line-height:17px;border:1px solid currentColor}.chip.text{color:#2f6fed}.chip.graphic{color:#1f9d55}.chip.table{color:#d64545}.chip.other{color:#b7791f}.zone-table-wrap{overflow-x:auto;max-width:100%;margin:2px 0}.zone-table{border-collapse:collapse;font-size:11px;line-height:1.35;white-space:pre-wrap;width:max-content;max-width:none}.zone-table th,.zone-table td{border:1px solid var(--border);padding:2px 6px;text-align:left;vertical-align:top;min-width:3.5ch;max-width:28ch}.zone-table th{background:var(--surface-2);font-weight:600}.zone-table thead th{position:sticky;top:0}.zone-table [colspan],.zone-table [rowspan]{background:color-mix(in srgb,var(--accent, #2b6cb0) 7%,transparent)}.raw-table{white-space:pre-wrap;word-break:break-all;font-size:10px;margin:2px 0;color:var(--ink-muted)}.review-bar{flex:0 0 auto;z-index:30;margin-top:12px;background:color-mix(in srgb,var(--surface) 92%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-top:1px solid var(--border);box-shadow:0 -1px 2px #0b0b0b0a,0 -10px 28px #0b0b0b0f}.rb-progress{height:2px;background:var(--track)}.rb-progress i{display:block;height:100%;width:100%;background:var(--accent);transform-origin:left center;transition:transform .18s cubic-bezier(.2,.8,.3,1)}.rb-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;padding:9px 18px}.rb-left{display:flex;align-items:center;gap:12px;min-width:0}.rb-right{display:flex;align-items:center;justify-content:flex-end;gap:8px}.rb-row .spacer{flex:1}.rb-where{display:flex;align-items:baseline;gap:8px;font-size:14px;min-width:0}.rb-where .count{flex:0 0 auto;white-space:nowrap}.rb-where strong{font-size:17px;font-variant-numeric:tabular-nums}.rb-name{font-size:12px}.rb-step{display:inline-flex;gap:4px}.rb-step button{padding:3px 10px;font-size:14px;line-height:1.2}.rb-verdicts{display:flex;gap:8px;justify-content:center}.rb-verdicts button{padding:7px 18px;font-weight:600;background:var(--v-bg);border-color:var(--v-border);color:var(--v-ink);transition:background .12s ease,border-color .12s ease}.rb-verdicts button:hover:not(:disabled){background:var(--v-bg-hover);border-color:var(--v-ink)}.rb-verdicts button:disabled{background:var(--surface-2);border-color:var(--border);color:var(--ink-muted)}.rb-verdicts kbd{background:color-mix(in srgb,var(--v-ink) 12%,transparent);border-color:transparent;color:inherit}.rb-verdicts button.accept{--v-bg: #d1e7dd;--v-bg-hover: #badbcc;--v-border: #a3cfbb;--v-ink: #0a3622}.rb-verdicts button.reject{--v-bg: #f8d7da;--v-bg-hover: #f1aeb5;--v-border: #f1aeb5;--v-ink: #58151c}:root[data-theme=dark] .rb-verdicts button.accept{--v-bg: #0b2b1c;--v-bg-hover: #14432b;--v-border: #1c6540;--v-ink: #8fd3af}:root[data-theme=dark] .rb-verdicts button.reject{--v-bg: #2c0b0e;--v-bg-hover: #451115;--v-border: #8b2028;--v-ink: #f0949c}.rb-judged{display:flex;align-items:center;gap:8px;font-size:13px;justify-content:center}.rb-project{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:22ch}.rb-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}button.ghost.keys{padding:5px 10px;display:inline-flex;align-items:center;gap:6px}button.ghost.keys kbd{pointer-events:none}@media (max-width: 900px){button.ghost.keys{display:none}}.chip.script{text-transform:uppercase;letter-spacing:.04em;font-size:10px}.chip.script.sc{color:var(--accent)}.chip.script.tc{color:#7b5bd6}@media (max-width: 900px){.rb-name{display:none}.rb-row{gap:8px;padding:8px 10px}.rb-verdicts{gap:6px}.rb-verdicts button{padding:7px 9px;font-size:13px;white-space:nowrap}.rb-verdicts kbd{display:none}.rb-where strong{font-size:15px}.topbar>.bar,.rb-row{padding-inline:12px}.rb-project{display:none}.rb-row{grid-template-columns:auto 1fr auto}}dialog{border:0;padding:0;color:var(--ink);background:var(--surface)}dialog::backdrop{background:#0b0b0b73;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.reason-dialog,.shortcuts,.profile-dialog{border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);animation:dialog-in .14s cubic-bezier(.2,.8,.3,1)}@keyframes dialog-in{0%{opacity:0;transform:translateY(6px) scale(.99)}to{opacity:1;transform:none}}@media (prefers-reduced-motion: reduce){.reason-dialog,.shortcuts,.profile-dialog{animation:none}}.reason-dialog{width:min(440px,calc(100vw - 32px))}.reason-dialog header{display:flex;align-items:baseline;gap:10px;padding:14px 16px 10px;border-bottom:1px solid var(--border)}.reason-dialog h2{margin:0;font-size:15px}.reason-dialog header .mono{font-size:11px}.reason-list{list-style:none;margin:0;padding:6px;max-height:46vh;overflow:auto}.reason-list:focus,.reason-list:focus-visible{outline:none}.reason:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.reason{display:flex;align-items:center;gap:10px;width:100%;padding:7px 10px;border:1px solid transparent;border-radius:7px;background:none;color:var(--ink);text-align:left;font-size:13px}.reason .tick{flex:none;width:16px;height:16px;border-radius:4px;border:1px solid var(--axis);display:grid;place-items:center;font-size:11px;line-height:1;color:#fff}.reason.on .tick{background:var(--accent);border-color:var(--accent)}.reason-label{flex:1}.reason.cursor{background:var(--surface-2);border-color:var(--border)}.reason.cursor .reason-label{font-weight:500}.reason kbd{opacity:.55}.reason-note{margin:4px 12px 12px;width:calc(100% - 24px)}.reason-dialog footer,.shortcuts footer,.profile-dialog footer{display:flex;align-items:center;gap:8px;padding:10px 12px;border-top:1px solid var(--border);background:var(--surface-2);border-radius:0 0 12px 12px}.reason-dialog footer p{margin:0;font-size:11px;line-height:1.9}.reason-dialog footer{flex-wrap:wrap}.reason-dialog footer .spacer{flex:1}.profile-dialog{width:min(440px,calc(100vw - 32px));padding:0}.profile-dialog header{display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:14px 16px 10px;border-bottom:1px solid var(--border)}.profile-dialog h2{margin:0;font-size:15px}.profile-dialog h3{margin:0;font-size:12px;text-transform:uppercase;letter-spacing:.04em}.profile-section{display:flex;flex-direction:column;gap:10px;padding:14px 16px;border-bottom:1px solid var(--border)}.profile-section label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--ink-2)}.profile-section-foot{display:flex;align-items:center;justify-content:flex-end;gap:10px}.shortcuts{width:min(680px,calc(100vw - 32px));padding:0}.shortcuts h2{margin:0;padding:14px 18px 10px;font-size:15px;border-bottom:1px solid var(--border)}.shortcut-groups{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:4px 26px;padding:14px 18px}.shortcuts h3{margin:0 0 6px;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted)}.shortcuts dl{margin:0 0 14px;display:grid;gap:4px}.shortcuts dl>div{display:flex;align-items:baseline;gap:10px}.shortcuts dt{flex:none;min-width:62px}.shortcuts dd{margin:0;font-size:13px;color:var(--ink-2)}@media (max-width: 900px){.zones-table,.zones-table tbody,.zones-table tr,.zones-table td{display:block}.zones-table tr{padding:8px 10px;border-bottom:1px solid var(--grid)}.zones-table td{border:0;padding:0}.zones-table td.ord{display:inline-block;width:auto;text-align:left;margin-right:8px}.zones-table td.f{display:inline-block;width:auto}.zones-table td.v{max-width:none;margin-top:4px}.zones-table tr.on{box-shadow:inset 3px 0 0 currentColor}}.lede{color:var(--ink-muted);margin:2px 0 0;font-size:13px}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}td.off-target{color:var(--critical);font-weight:600}.meter-cell{display:flex;align-items:center;gap:8px;min-width:9rem}.meter-cell .muted{color:var(--ink-muted);font-size:12px;white-space:nowrap}.routes{display:flex;flex-wrap:wrap;gap:4px}.chip.warn{color:var(--warning);margin-left:6px}td.nested{padding:0 0 0 24px;background:var(--surface-2)}.grid.tight th,.grid.tight td{padding:3px 8px;font-size:12px}.grid tr.flagged td{background:color-mix(in srgb,var(--warning) 12%,transparent)}button.link{background:none;border:0;padding:0;cursor:pointer;color:var(--accent);font:inherit;font-size:12px}button.link:hover{color:var(--accent-strong);text-decoration:underline}.two-up{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}@media (max-width: 860px){.two-up{grid-template-columns:minmax(0,1fr)}}.cat-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}.cat-tile{display:flex;flex-direction:column;gap:6px;text-align:left;background:var(--surface-2);border:1px solid var(--border);border-radius:10px;padding:12px 14px;font:inherit;color:inherit;min-width:0}button.cat-tile{cursor:pointer}button.cat-tile.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}.cat-tile.empty-cat{background:transparent;border-style:dashed;min-height:120px}.cat-tile .cat-name{font-weight:600;font-size:14px}.cat-figure{display:flex;align-items:baseline;gap:6px;margin-top:4px}.cat-figure .v{font-size:26px;font-weight:600;letter-spacing:-.02em;line-height:1.1}.cat-figure .dim{font-size:12px}.cat-counts{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:var(--ink-2);font-variant-numeric:tabular-nums}.cat-tile .legend{gap:12px}.cat-rule{border-top:1px solid var(--border);margin:4px 0 2px}.goal-overall{display:grid;gap:24px;grid-template-columns:minmax(240px,1fr) minmax(0,2fr);align-items:center}@media (max-width: 860px){.goal-overall{grid-template-columns:minmax(0,1fr)}}.facts{display:grid;gap:12px 20px;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.fact .k{color:var(--ink-2);font-size:12px;font-weight:500}.fact .v{font-size:20px;font-weight:600;letter-spacing:-.01em;margin-top:2px}.fact .foot{font-size:12px;color:var(--ink-muted);margin-top:1px}.daychart-head{font-size:13px;min-height:20px;margin-bottom:10px}.daychart-plot{position:relative;height:180px;margin-left:40px}.daychart-grid{position:absolute;left:0;right:0;border-top:1px solid var(--grid)}.daychart-grid span{position:absolute;right:calc(100% + 8px);top:-8px;font-size:11px;color:var(--ink-muted);font-variant-numeric:tabular-nums}.daychart-bars{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;gap:2px;align-items:stretch}.daychart-col{flex:1;display:flex;align-items:flex-end;cursor:default;min-width:0}.daychart-col i{display:block;width:100%;max-width:28px;margin:0 auto;background:var(--accent);border-radius:4px 4px 0 0}.daychart-col.on{background:color-mix(in srgb,var(--accent) 8%,transparent)}.daychart-col.on i{background:var(--accent-strong)}.daychart-axis{display:flex;gap:2px;margin:6px 0 0 40px}.daychart-axis span{flex:1;min-width:0;font-size:11px;color:var(--ink-muted);white-space:nowrap;overflow:visible}.daychart-table{margin-top:12px;font-size:12px}.daychart-table summary{cursor:pointer}.daychart-table table{margin-top:8px;max-width:360px}
