:root{--bg:#f6f7f5;--surface:#ffffff;--surface-2:#fafbf9;--surface-3:#f0f1ee;--hover:#f4f5f3;--ink:#14171a;--ink-2:#2c3138;--muted:#6b7280;--muted-2:#9aa0a8;--line:#e5e7e3;--line-2:#d8dad5;--line-3:#c4c7c2;--accent:oklch(0.45 0.07 195);--accent-hover:oklch(0.40 0.08 195);--accent-soft:oklch(0.96 0.025 195);--accent-soft-2:oklch(0.92 0.045 195);--accent-ink:oklch(0.30 0.06 195);--accent-line:oklch(0.85 0.04 195);--flag:oklch(0.65 0.16 35);--flag-soft:oklch(0.96 0.035 35);--good:oklch(0.62 0.12 155);--good-soft:oklch(0.96 0.025 155);--z1:oklch(0.78 0.08 155);--z2:oklch(0.82 0.11 110);--z3:oklch(0.81 0.13 75);--z4:oklch(0.74 0.14 45);--z5:oklch(0.62 0.18 25);--shadow-sm:0 1px 1px rgba(15,20,25,0.04),0 1px 2px rgba(15,20,25,0.04);--shadow-md:0 2px 4px rgba(15,20,25,0.04),0 4px 12px rgba(15,20,25,0.06);--shadow-lg:0 8px 24px rgba(15,20,25,0.08),0 2px 6px rgba(15,20,25,0.05);--shadow-drawer:-16px 0 48px rgba(15,20,25,0.10),-2px 0 8px rgba(15,20,25,0.05);--f-sans:"Inter Tight",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;--f-display:"Inter Tight",-apple-system,BlinkMacSystemFont,system-ui,sans-serif;--f-mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace;--r-xs:4px;--r-sm:6px;--r-md:8px;--r-lg:12px;--r-xl:16px}*{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:var(--f-sans);font-size:13px;line-height:1.45;-webkit-font-smoothing:antialiased;font-feature-settings:"cv11","ss01","ss03"}.tabular{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.mono{font-family:var(--f-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}button{border:0;background:none;cursor:pointer;padding:0}button,input{font:inherit;color:inherit}.app{display:grid;grid-template-rows:56px 1fr;height:100vh;background:var(--bg)}.appbar{justify-content:space-between;padding:0 20px;background:var(--surface);border-bottom:1px solid var(--line);position:relative;z-index:30}.appbar,.appbar__left{display:flex;align-items:center}.appbar__left{gap:24px}.appbar__brand{display:flex;align-items:center;gap:10px;font-family:var(--f-display);font-weight:700;font-size:18px;letter-spacing:-.025em}.appbar__brand-mark{width:28px;height:28px;border-radius:7px;background:var(--ink);color:var(--surface);display:flex;align-items:center;justify-content:center;font-size:14px}.appbar__nav{display:flex;gap:2px}.appbar__nav button{padding:6px 12px;border-radius:var(--r-sm);font-size:13px;color:var(--muted);font-weight:500}.appbar__nav button:hover{background:var(--hover);color:var(--ink)}.appbar__nav button[data-active=true]{color:var(--ink);background:var(--surface-3)}.appbar__right,.appbar__search{display:flex;align-items:center;gap:8px}.appbar__search{height:32px;padding:0 10px;background:var(--surface-3);border-radius:var(--r-sm);width:240px;color:var(--muted);font-size:12.5px;border:1px solid transparent;transition:border-color .15s,background .15s}.appbar__search:focus-within{border-color:var(--accent-line);background:var(--surface)}.appbar__search input{flex:1 1;border:0;background:transparent;outline:0;color:var(--ink)}.appbar__search kbd{font-family:var(--f-mono);font-size:10px;padding:1px 5px;background:var(--surface);border:1px solid var(--line);border-radius:3px;color:var(--muted-2)}.iconbtn{width:32px;height:32px;border-radius:var(--r-sm);display:inline-flex;align-items:center;justify-content:center;color:var(--muted);position:relative}.iconbtn:hover{background:var(--hover);color:var(--ink)}.iconbtn[data-active=true]{background:var(--accent-soft);color:var(--accent-ink)}.iconbtn .dot{position:absolute;top:7px;right:7px;width:6px;height:6px;border-radius:50%;background:var(--flag);border:1.5px solid var(--surface)}.avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,oklch(.5 .07 195),oklch(.4 .09 215));color:white;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;letter-spacing:.02em}.avatar--link{text-decoration:none;cursor:pointer;flex-shrink:0;transition:box-shadow .15s ease,transform .12s ease}.avatar--link:hover{box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--accent-line)}.avatar--link:focus-visible{outline:none;box-shadow:0 0 0 2px var(--surface),0 0 0 4px var(--accent)}.main{display:grid;grid-template-columns:240px 1fr;overflow:hidden;min-height:0}.sidebar{background:var(--surface);border-right:1px solid var(--line);padding:18px 16px;overflow-y:auto;gap:22px}.sidebar,.sidebar__group{display:flex;flex-direction:column}.sidebar__group{gap:8px}.sidebar__label{font-size:10.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;justify-content:space-between}.sidebar__label-action{font-size:11px;font-weight:500;letter-spacing:0;text-transform:none;color:var(--accent);cursor:pointer}.sidebar__label-action:hover{color:var(--accent-hover)}.datepicker{border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden}.datepicker__display{padding:8px 10px;display:flex;align-items:center;gap:8px;background:var(--surface-2);border-bottom:1px solid var(--line)}.datepicker__display>svg{flex-shrink:0;color:var(--muted)}.datepicker__display .date-text{display:flex;flex-direction:column;min-width:0;gap:1px}.datepicker__display .date{font-weight:600;font-size:13px;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.datepicker__display .day{font-size:11px;color:var(--muted);line-height:1.1}.datepicker__nav{display:flex;align-items:center;padding:4px;gap:2px}.datepicker__nav button{height:24px;flex:1 1;font-size:11px;color:var(--muted);border-radius:var(--r-xs)}.datepicker__nav button:hover{background:var(--hover);color:var(--ink)}.datepicker__seg{display:flex;padding:4px;gap:2px;background:var(--surface-2);border-top:1px solid var(--line)}.datepicker__seg button{flex:1 1;height:22px;font-size:10.5px;font-weight:500;border-radius:var(--r-xs);color:var(--muted)}.datepicker__seg button[data-active=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}.datepicker__display--btn{width:100%;text-align:left;cursor:pointer;border:0}.datepicker__display--btn:hover{background:var(--hover)}.cal{padding:6px;background:var(--surface);border-top:1px solid var(--line)}.cal__head{display:flex;align-items:center;gap:4px;padding:2px 4px 6px}.cal__title{flex:1 1;text-align:center;font-size:12px;font-weight:600;color:var(--ink)}.cal__nav{height:22px;width:22px;display:flex;align-items:center;justify-content:center;border-radius:var(--r-xs);color:var(--muted)}.cal__nav:hover{background:var(--hover);color:var(--ink)}.cal__dow{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:2px;gap:2px;margin-bottom:2px}.cal__dow-cell{text-align:center;font-size:10px;color:var(--muted);padding:2px 0}.cal__grid{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:2px;gap:2px}.cal__cell{height:26px;font-size:11.5px;color:var(--ink);border-radius:var(--r-xs);background:transparent;position:relative}.cal__cell:hover{background:var(--hover)}.cal__cell--blank{visibility:hidden}.cal__cell[data-has-data]:after{content:"";position:absolute;left:50%;bottom:3px;transform:translateX(-50%);width:4px;height:4px;border-radius:50%;background:var(--accent)}.cal__cell[data-today]{outline:1px solid var(--accent-line);outline-offset:-1px}.cal__cell[data-in-range]{background:color-mix(in srgb,var(--accent) 14%,transparent)}.cal__cell[data-selected]{background:var(--accent);color:#fff;font-weight:600}.cal__cell[data-selected][data-has-data]:after{background:#fff}.search-input{display:flex;align-items:center;gap:6px;height:28px;padding:0 8px;border:1px solid var(--line);border-radius:var(--r-sm);background:var(--surface);transition:border-color .12s}.search-input:focus-within{border-color:var(--accent-line)}.search-input input{flex:1 1;border:0;outline:0;background:transparent;font-size:12.5px;min-width:0}.search-input svg{color:var(--muted-2);flex-shrink:0}.checklist{display:flex;flex-direction:column;gap:1px;max-height:160px;overflow-y:auto;margin:0 -8px;padding:0 8px}.checklist__item{display:flex;align-items:center;gap:8px;padding:4px 6px;border-radius:var(--r-xs);font-size:12.5px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.checklist__item:hover{background:var(--hover)}.checklist__item .count{margin-left:auto;font-family:var(--f-mono);font-size:10.5px;color:var(--muted-2)}.checklist__item input[type=checkbox]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border:1.5px solid var(--line-3);border-radius:3px;background:var(--surface);cursor:pointer;display:grid;place-items:center;transition:background .1s,border-color .1s;flex-shrink:0}.checklist__item input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}.checklist__item input[type=checkbox]:checked:after{content:"";width:8px;height:8px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1.5 4l2 2L7 2'/%3E%3C/svg%3E");background-size:contain}.pill-group{display:flex;background:var(--surface-3);padding:3px;border-radius:var(--r-md);gap:2px}.pill-group button{flex:1 1;height:24px;font-size:11px;font-weight:500;border-radius:var(--r-sm);color:var(--muted)}.pill-group button[data-active=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}.pill-group button:hover:not([data-active=true]){color:var(--ink-2)}.range-row{display:flex;align-items:center;gap:8px;font-size:11.5px;color:var(--muted)}.range-row .range-input{flex:1 1}.sidebar__footer{margin-top:auto;padding-top:16px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:10px}.btn{height:30px;padding:0 12px;border-radius:var(--r-sm);font-size:12.5px;font-weight:500;display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line-2);background:var(--surface);color:var(--ink-2);transition:background .12s,border-color .12s;white-space:nowrap;flex-shrink:0}.btn:hover{background:var(--hover);border-color:var(--line-3)}.btn--primary{background:var(--accent);color:white;border-color:var(--accent)}.btn--primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn--ghost{border-color:transparent}.btn--ghost:hover{background:var(--hover)}.btn--sm{height:26px;padding:0 10px;font-size:12px}.content{display:flex;flex-direction:column;overflow:hidden;min-width:0;position:relative}.content__header{padding:18px 24px 14px;display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}.content__header>div:first-child{min-width:0;flex:1 1}.content__title{font-family:var(--f-display);font-weight:600;font-size:24px;letter-spacing:-.03em;line-height:1.05;margin:0}.content__sub{font-size:12.5px;color:var(--muted);margin-top:4px}.content__sub .filter-chip{display:inline-flex;align-items:center;gap:4px;padding:1px 7px;margin-right:4px;border-radius:999px;background:var(--accent-soft);color:var(--accent-ink);font-size:11px;font-weight:500}.content__sub .filter-chip svg{width:10px;height:10px;cursor:pointer;opacity:.6}.content__sub .filter-chip svg:hover{opacity:1}.content__actions{display:flex;gap:6px;align-items:center;flex-shrink:0}.content__actions .btn{height:32px}.statstrip{display:grid;grid-template-columns:repeat(5,1fr);grid-gap:1px;gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-md);margin:0 24px;overflow:hidden}.stat{background:var(--surface);padding:12px 14px;display:flex;flex-direction:column;gap:2px}.stat__label{font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:500}.stat__value{font-family:var(--f-display);font-size:22px;font-weight:600;letter-spacing:-.025em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.1}.stat__value .unit{font-family:var(--f-sans);font-size:12px;color:var(--muted);margin-left:2px;font-weight:400;letter-spacing:0}.stat__delta{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:4px;margin-top:2px}.stat__delta--up{color:oklch(.55 .13 155)}.stat__delta--down{color:var(--flag)}.tablewrap{margin:16px 24px 24px;flex:1 1;min-height:0;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);display:flex;flex-direction:column;overflow:hidden;box-shadow:var(--shadow-sm)}.tablescroll{flex:1 1;min-height:0;overflow:auto}.table{width:100%;min-width:1140px;display:grid;grid-template-columns:minmax(170px,1.6fr) 44px 66px minmax(120px,1.2fr) 56px 72px 82px 66px minmax(110px,1fr) minmax(100px,1fr) minmax(120px,1.2fr) 36px}.table[data-cols=c]{min-width:1040px;grid-template-columns:minmax(170px,1.6fr) 44px 66px minmax(120px,1.2fr) 56px 72px 82px 66px minmax(110px,1fr) minmax(140px,1.4fr) 36px}.table[data-cols=z]{min-width:1020px;grid-template-columns:minmax(170px,1.6fr) 44px 66px minmax(120px,1.2fr) 56px 72px 82px 66px minmax(110px,1fr) minmax(120px,1.2fr) 36px}.table[data-cols=none]{min-width:900px;grid-template-columns:minmax(170px,1.6fr) 44px 66px minmax(120px,1.2fr) 56px 72px 82px 66px minmax(110px,1.2fr) 36px}.table[data-density=compact] .table__row>div{padding:7px 12px;font-size:12px}.table[data-density=compact] .horse-cell__pip{height:22px}.table[data-density=comfortable] .table__row>div{padding:12px}.table[data-density=expanded] .table__row>div{padding:16px 12px;font-size:13px}.table[data-density=expanded] .horse-cell__name{font-size:13.5px}.table__head,.table__row{display:contents}.table__head>div{padding:10px 12px;font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:var(--surface-2);border-bottom:1px solid var(--line);position:-webkit-sticky;position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:4px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.table__head>div:hover,.table__head>div[data-sort]{color:var(--ink)}.table__head>div[data-numeric]{justify-content:flex-end}.table__row>div{padding:12px;border-bottom:1px solid var(--line);font-size:12.5px;display:flex;align-items:center;gap:6px;background:var(--surface);transition:background .08s;min-width:0;overflow:hidden}.table__row:hover>div{background:var(--hover);cursor:pointer}.table__row[data-selected=true]>div{background:var(--accent-soft)}.table__row[data-selected=true]>div:first-child{box-shadow:inset 3px 0 0 var(--accent)}.track-cell{display:flex;flex-direction:column;min-width:0;gap:1px}.track-cell__name{font-weight:500}.track-cell__name,.track-cell__surface{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.15}.track-cell__surface{font-size:10.5px;color:var(--muted-2)}.cell--num{justify-content:flex-end;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:12px}.cell--mono,.cell--num{font-family:var(--f-mono)}.cell--mono{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:12px}.horse-cell{display:flex;align-items:center;gap:10px;min-width:0}.horse-cell__pip{width:6px;height:26px;border-radius:3px;background:var(--line-2);flex-shrink:0}.horse-cell__pip[data-flag=true]{background:var(--flag)}.horse-cell__name{font-weight:600;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.horse-cell__meta{color:var(--muted)}.horse-cell__meta,.sex-badge{font-size:11px;font-family:var(--f-mono)}.sex-badge{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600}.sex-badge[data-sex=F]{background:oklch(.94 .04 350);color:oklch(.4 .1 350)}.sex-badge[data-sex=M]{background:oklch(.93 .04 240);color:oklch(.4 .1 240)}.sex-badge[data-sex=G]{background:oklch(.94 .025 80);color:oklch(.4 .08 80)}.recov{display:flex;align-items:center;gap:8px;flex:1 1;min-width:0}.recov__val{font-family:var(--f-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:12px;width:32px;text-align:right;flex-shrink:0}.recov__bar{flex:1 1;height:4px;background:var(--line);border-radius:2px;overflow:hidden;min-width:0}.recov__bar>i{display:block;height:100%;background:var(--accent);border-radius:2px}.recov__bar>i[data-q=low]{background:var(--flag)}.recov__bar>i[data-q=mid]{background:var(--z3)}.recov__bar>i[data-q=high]{background:var(--good)}.zonebar{display:flex;height:10px;width:100%;border-radius:3px;overflow:hidden;background:var(--line)}.zonebar i{display:block;height:100%}.curve{width:100%;height:28px;display:block}.curve path.line{fill:none;stroke:var(--ink);stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round}.curve path.area{fill:var(--accent-soft)}.curve circle.peak{fill:var(--accent)}.status-cell{color:var(--muted-2);justify-content:center}.status-cell .flag{color:var(--flag)}.scrim{position:absolute;inset:0;background:rgba(15,20,25,.18);z-index:40;opacity:0;pointer-events:none;transition:opacity .18s}.scrim[data-open=true]{opacity:1;pointer-events:auto}.drawer{position:absolute;top:0;right:0;bottom:0;width:720px;max-width:calc(100% - 60px);background:var(--surface);border-left:1px solid var(--line);box-shadow:var(--shadow-drawer);z-index:50;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .22s cubic-bezier(.2,.7,.3,1);overflow:hidden}.drawer[data-open=true]{transform:translateX(0)}.drawer__head{padding:18px 24px 0;border-bottom:1px solid var(--line);background:var(--surface);flex-shrink:0}.drawer__top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.drawer__horse{gap:14px;min-width:0}.drawer__avatar,.drawer__horse{display:flex;align-items:center}.drawer__avatar{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,oklch(.5 .07 195),oklch(.35 .09 215));color:white;justify-content:center;font-size:20px;letter-spacing:-.02em;flex-shrink:0}.drawer__avatar,.drawer__name{font-family:var(--f-display);font-weight:600}.drawer__name{font-size:24px;letter-spacing:-.03em;line-height:1.1}.drawer__meta{margin-top:2px;font-size:11.5px;color:var(--muted);display:flex;gap:10px;align-items:center;font-family:var(--f-mono)}.drawer__meta .sep{width:2px;height:2px;border-radius:50%;background:var(--muted-2);display:inline-block}.drawer__close{width:32px;height:32px;border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;color:var(--muted)}.drawer__close:hover{background:var(--hover);color:var(--ink)}.drawer__nav{display:flex;gap:6px;margin:14px 0 0;padding-bottom:0}.drawer__tab{padding:10px 4px;font-size:13px;font-weight:500;color:var(--muted);border-bottom:2px solid transparent;margin:0 8px -1px 0;display:flex;align-items:center;gap:6px}.drawer__tab:hover{color:var(--ink)}.drawer__tab[data-active=true]{color:var(--ink);border-bottom-color:var(--accent)}.drawer__tab .badge{background:var(--surface-3);font-family:var(--f-mono);font-size:10.5px;padding:1px 6px;border-radius:8px;color:var(--muted);font-weight:500}.drawer__tab[data-active=true] .badge{background:var(--accent-soft);color:var(--accent-ink)}.drawer__body{flex:1 1;overflow-y:auto;padding:20px 24px 24px}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:10px;gap:10px;margin-bottom:18px}.kpi{padding:12px;border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface)}.kpi__label{font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:500}.kpi__value{font-family:var(--f-display);font-size:20px;font-weight:600;letter-spacing:-.025em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin-top:4px;line-height:1.1}.kpi__value .unit{font-family:var(--f-sans);margin-left:2px;font-weight:400}.kpi__sub,.kpi__value .unit{font-size:11px;color:var(--muted)}.kpi__sub{margin-top:3px}.tg{border:1px solid var(--line);border-radius:var(--r-md);background:var(--surface);margin-bottom:10px;overflow:hidden}.tg__head{justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--line);background:var(--surface-2)}.tg__head,.tg__name{display:flex;align-items:center}.tg__name{font-weight:600;font-size:13.5px;gap:8px}.tg__pip{width:8px;height:8px;border-radius:50%;background:var(--accent)}.tg__dist{font-size:11.5px;color:var(--accent-ink);padding:2px 8px;background:var(--accent-soft);border-radius:999px}.tg__count,.tg__dist{font-family:var(--f-mono)}.tg__count{font-size:11px;color:var(--muted)}.tg__body{display:grid;grid-template-columns:1.2fr 1.2fr 1.2fr 1.5fr;padding:12px 14px;grid-gap:16px;gap:16px;align-items:center}.tg__metric{display:flex;flex-direction:column;gap:2px}.tg__metric .label{font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:500}.tg__metric .value{font-family:var(--f-display);font-weight:600;font-size:17px;letter-spacing:-.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1.1}.tg__metric .value .unit{font-family:var(--f-sans);font-size:10.5px;color:var(--muted);margin-left:2px;font-weight:400}.tg__metric .delta{font-size:10.5px;color:var(--good);font-family:var(--f-mono)}.tg__metric .delta[data-dir=down]{color:var(--flag)}.tg__chart{width:100%;height:44px}.tl-row{display:grid;grid-template-columns:64px 1fr;grid-gap:16px;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}.tl-row:first-child{padding-top:0}.tl-row:last-child{border-bottom:0}.tl-date{font-family:var(--f-mono);font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.tl-date strong{display:block;font-family:var(--f-display);font-size:22px;color:var(--ink);font-weight:600;letter-spacing:-.025em;line-height:1;margin-top:2px}.tl-card{border:1px solid var(--line);border-radius:var(--r-md);padding:12px 14px}.tl-card__head{justify-content:space-between;margin-bottom:8px}.tl-card__head,.tl-card__title{display:flex;align-items:center}.tl-card__title{font-weight:600;font-size:13px;gap:8px}.tl-card__metrics{display:grid;grid-template-columns:repeat(4,1fr) 1.8fr;grid-gap:12px;gap:12px;align-items:center}.tl-card__metric .label{font-size:10px;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-weight:500}.tl-card__metric .value{font-family:var(--f-display);font-size:15px;font-weight:600;letter-spacing:-.02em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.compare-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px;margin-bottom:18px}.compare-card{border:1px solid var(--line);border-radius:var(--r-md);padding:14px;background:var(--surface);position:relative}.compare-card[data-pivot=true]{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.compare-card__label{font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:500;margin-bottom:4px}.compare-card__title{font-family:var(--f-display);font-size:17px;font-weight:600;letter-spacing:-.02em;margin-bottom:12px}.compare-table{display:grid;grid-template-columns:1fr auto 60px;grid-gap:4px 12px;gap:4px 12px;font-size:12.5px}.compare-table .l{color:var(--muted)}.compare-table .v{font-family:var(--f-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.compare-table .d{font-family:var(--f-mono);font-size:11px;text-align:right;color:var(--good)}.compare-table .d[data-dir=down]{color:var(--flag)}.ff{display:grid;grid-gap:4px;gap:4px;font-family:var(--f-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ff__head{font-size:11px;font-weight:600;color:var(--muted);text-align:center;padding:4px 0;border-bottom:1px solid var(--line)}.ff__label{display:flex;align-items:center;gap:6px;font-family:var(--f-sans,inherit);font-size:12px;color:var(--ink);padding:0 4px}.ff__label i{display:inline-block;width:8px;height:8px;border-radius:2px}.ff__cell{border-radius:var(--r-xs);padding:6px 4px;text-align:center;background:var(--surface-2);display:flex;flex-direction:column;align-items:center;gap:2px}.ff__t{font-size:12.5px;font-weight:600;color:var(--ink)}.ff__d{font-size:10.5px;color:var(--muted-2)}.ff__cell[data-cls=vfast]{background:color-mix(in srgb,var(--flag) 42%,var(--surface))}.ff__cell[data-cls=fast]{background:color-mix(in srgb,var(--flag) 22%,var(--surface))}.ff__cell[data-cls=par]{background:var(--surface-2)}.ff__cell[data-cls=slow]{background:color-mix(in srgb,oklch(.58 .15 255) 22%,var(--surface))}.ff__cell[data-cls=vslow]{background:color-mix(in srgb,oklch(.58 .15 255) 42%,var(--surface))}.ff__cell[data-cls=na]{background:var(--surface-2);color:var(--muted-2)}.ff__legend .ff__sw{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:4px;vertical-align:middle}.ff__legend .ff__sw[data-cls=vfast]{background:color-mix(in srgb,var(--flag) 42%,var(--surface))}.ff__legend .ff__sw[data-cls=fast]{background:color-mix(in srgb,var(--flag) 22%,var(--surface))}.ff__legend .ff__sw[data-cls=par]{background:var(--surface-2);border:1px solid var(--line)}.ff__legend .ff__sw[data-cls=slow]{background:color-mix(in srgb,oklch(.58 .15 255) 22%,var(--surface))}.ff__legend .ff__sw[data-cls=vslow]{background:color-mix(in srgb,oklch(.58 .15 255) 42%,var(--surface))}.chart-card{border:1px solid var(--line);border-radius:var(--r-md);padding:16px;margin-bottom:12px}.chart-card__head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px}.chart-card__title{font-weight:600;font-size:13px}.chart-card__legend{display:flex;gap:12px;font-size:11px;color:var(--muted)}.chart-card__legend i{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:4px;vertical-align:middle}.empty-compare{border:1px dashed var(--line-2);border-radius:var(--r-md);padding:24px;text-align:center;color:var(--muted);font-size:12.5px;display:flex;flex-direction:column;align-items:center;gap:8px}.spacer{flex:1 1}.dot-sep{width:3px;height:3px;border-radius:50%;background:var(--muted-2);display:inline-block}.expand-btn{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin-right:4px;border-radius:4px;color:var(--muted);flex-shrink:0;transition:background .1s,transform .15s}.expand-btn:hover{background:var(--hover);color:var(--ink)}.expand-btn[data-open=true]{transform:rotate(90deg);color:var(--ink)}.expand-btn[data-empty=true]{visibility:hidden}.table__row[data-child=true]>div{background:var(--surface-2);border-bottom:1px solid var(--line-2);font-size:12px;color:var(--ink-2)}.table__row[data-child=true]:hover>div{background:var(--hover)}.table__row[data-child=true]>div:first-child{padding-left:38px;color:var(--muted)}.table__row[data-child=true]:last-child>div{border-bottom:1px solid var(--line)}.child-marker{color:var(--muted-2);font-family:var(--f-mono);font-size:11px}.ex-switch{display:flex;flex-direction:column;gap:6px}.ex-switch__label{font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:500}.ex-switch__group{display:inline-flex;gap:2px;padding:2px;background:var(--surface-3);border-radius:var(--r-sm);width:-moz-fit-content;width:fit-content}.ex-switch__group button{padding:5px 10px;font-size:12px;border-radius:4px;color:var(--muted);font-weight:500;white-space:nowrap}.ex-switch__group button:hover{color:var(--ink)}.ex-switch__group button[data-active=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-sm)}.ex-switch__hint{font-size:11px;color:var(--muted-2)}.auth-shell{min-height:100vh;display:grid;place-items:center;background:var(--bg);padding:32px}.auth-card{width:100%;max-width:380px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-md);padding:28px;display:grid;grid-gap:14px;gap:14px}.auth-title{margin:0;font-family:var(--f-display);font-size:28px;font-weight:700;letter-spacing:-.01em;color:var(--ink)}.auth-sub{margin:0 0 6px;font-size:13px;color:var(--muted)}.auth-field{display:grid;grid-gap:6px;gap:6px;font-size:12px;color:var(--ink-2)}.auth-field span{font-weight:500}.auth-field input{border:1px solid var(--line-2);border-radius:8px;padding:9px 11px;font:inherit;font-size:14px;background:var(--surface);color:var(--ink);outline:none}.auth-field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.auth-error{font-size:13px;color:var(--flag);background:var(--flag-soft);border:1px solid var(--flag);border-radius:8px;padding:8px 10px}.auth-submit{background:var(--accent);color:white;border:none;border-radius:8px;padding:10px 14px;font:inherit;font-size:14px;font-weight:600;cursor:pointer;margin-top:4px}.auth-submit:hover:not(:disabled){background:var(--accent-hover)}.auth-submit:disabled{opacity:.6;cursor:not-allowed}.account-page{min-height:100vh;background:var(--bg)}.account-page__bar{display:flex;align-items:center;padding:14px 24px;background:var(--surface);border-bottom:1px solid var(--line)}.account-page__back{font-size:13px;font-weight:500;color:var(--accent-ink);text-decoration:none}.account-page__back:hover{color:var(--accent)}.account-page__inner{max-width:480px;margin:0 auto;padding:28px 24px 48px;display:flex;flex-direction:column;gap:20px}.account-hero{display:flex;align-items:center;gap:16px}.account-hero__avatar{width:48px;height:48px;font-size:15px;flex-shrink:0}.account-page__title{margin:0;font-family:var(--f-display);font-size:24px;font-weight:700;letter-spacing:-.02em}.account-page__email{margin:4px 0 0}.account-muted{margin:0;font-size:13px;color:var(--muted)}.account-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);padding:20px 22px}.account-card__title{margin:0 0 14px;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.account-dl{margin:0;display:grid;grid-gap:14px;gap:14px}.account-dl>div{display:grid;grid-gap:4px;gap:4px}.account-dl dt{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.account-dl dd{margin:0;font-size:14px;color:var(--ink)}.account-form{display:grid;grid-gap:12px;gap:12px}.account-btn{font:inherit;font-size:14px;font-weight:600;padding:10px 16px;border-radius:var(--r-md);cursor:pointer;border:1px solid var(--line-2);background:var(--surface-2);color:var(--ink);margin-top:8px}.account-btn:hover:not(:disabled){background:var(--hover)}.account-btn--danger{background:var(--flag-soft);border-color:var(--flag);color:var(--ink)}.account-btn--danger:hover:not(:disabled){filter:brightness(.97)}.account-btn:disabled{opacity:.65;cursor:not-allowed}.bo-shell{min-height:100vh;background:var(--bg);padding:24px 32px}.bo-nav{display:flex;gap:18px;align-items:center;padding-bottom:18px;border-bottom:1px solid var(--line);margin-bottom:24px}.bo-nav h1{margin:0;font-size:18px;font-weight:700}.bo-nav a{color:var(--ink-2);text-decoration:none;font-size:14px}.bo-nav a:hover{color:var(--accent)}.bo-nav .spacer{flex:1 1}.bo-section{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:20px;margin-bottom:18px}.bo-section h2{margin:0 0 14px;font-size:15px;font-weight:600}.bo-table{width:100%;border-collapse:collapse;font-size:14px}.bo-table td,.bo-table th{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line)}.bo-table th{font-size:12px;color:var(--muted);font-weight:500;text-transform:uppercase;letter-spacing:.04em}.bo-table a{color:var(--accent-ink);text-decoration:none}.bo-table a:hover{text-decoration:underline}.bo-btn{background:var(--accent);color:white;border:none;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:600;cursor:pointer;text-decoration:none;display:inline-block}.bo-btn:hover{background:var(--accent-hover)}.bo-btn--ghost{background:var(--surface);color:var(--ink-2);border:1px solid var(--line-2)}.bo-btn--ghost:hover{background:var(--hover)}.bo-field{display:grid;grid-gap:6px;gap:6px;margin-bottom:14px;font-size:12px;color:var(--ink-2)}.bo-field input,.bo-field textarea{border:1px solid var(--line-2);border-radius:8px;padding:9px 11px;font:inherit;font-size:14px;background:var(--surface);color:var(--ink)}.bo-field input:focus,.bo-field textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px var(--accent-soft)}.bo-temp-pw{background:var(--flag-soft);border:1px solid var(--flag);border-radius:10px;padding:14px;margin-top:16px;font-family:var(--f-mono);font-size:15px;display:grid;grid-gap:6px;gap:6px}.bo-temp-pw .label{font-family:var(--f-sans);font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2)}.bo-mono{font-family:var(--f-mono);font-size:13px}.bo-muted{color:var(--muted);font-size:12px}