:root{--bg: #ffffff;--surface: #ffffff;--surface-2: #f8f9fb;--surface-hover: #f1f3f5;--sidebar-bg: #ffffff;--border: #e4e7eb;--border-strong: #d2d7de;--text: #14171c;--text-muted: #64707f;--text-faint: #98a2b0;--accent: #1e3a72;--accent-strong: #16294f;--accent-soft: rgba(30, 58, 114, .1);--accent-contrast: #ffffff;--success: #12805c;--success-soft: rgba(18, 128, 92, .12);--warn: #a55a00;--warn-soft: rgba(165, 90, 0, .12);--error: #c02929;--error-soft: rgba(192, 41, 41, .1);--footer-bg: #14171c;--footer-text: #f3f4f6;--footer-text-muted: #9aa3af;--footer-border: rgba(255, 255, 255, .1);--sp-1: .25rem;--sp-2: .5rem;--sp-3: .75rem;--sp-4: 1rem;--sp-5: 1.25rem;--sp-6: 1.5rem;--sp-8: 2rem;--r-xs: 3px;--r-sm: 4px;--r: 4px;--r-pill: 999px;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--fs-xs: .75rem;--fs-sm: .8125rem;--fs-base: .9375rem;--fs-md: 1rem;--fs-lg: 1.125rem;--fs-xl: 1.375rem;--fs-display: 2rem;--shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 1px 3px rgba(16, 24, 40, .06);color-scheme:light}:root[data-theme=dark]{--bg: #0e1013;--surface: #16191e;--surface-2: #1b1f25;--surface-hover: #21262d;--sidebar-bg: #121519;--border: #262c34;--border-strong: #343b45;--text: #e7eaee;--text-muted: #97a1af;--text-faint: #6c7682;--accent: #7c98cc;--accent-strong: #a3bce0;--accent-soft: rgba(124, 152, 204, .16);--accent-contrast: #0b1220;--success: #3ecf8e;--success-soft: rgba(62, 207, 142, .14);--warn: #e0a33c;--warn-soft: rgba(224, 163, 60, .14);--error: #f2726f;--error-soft: rgba(242, 114, 111, .14);--footer-bg: #05070a;--footer-text: #e7eaee;--footer-text-muted: #838d99;--footer-border: rgba(255, 255, 255, .08);--shadow: 0 1px 2px rgba(0, 0, 0, .35);color-scheme:dark}*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--fs-base);line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3{margin:0;letter-spacing:-.011em}h1{font-size:var(--fs-xl);font-weight:650}h2{font-size:var(--fs-md);font-weight:620}h3{font-size:var(--fs-sm);font-weight:650}p{margin:0}a{color:var(--accent)}.page{display:flex;flex-direction:column;gap:var(--sp-5)}.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-4);flex-wrap:wrap}.page-head-text{display:flex;flex-direction:column;gap:var(--sp-1);min-width:0}.page-sub{color:var(--text-muted);font-size:var(--fs-sm);max-width:76ch}.page-head-actions{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.meta{color:var(--text-faint);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;white-space:nowrap}.card{background:var(--surface-2);border:1px solid var(--border-strong);border-radius:var(--r);box-shadow:var(--shadow)}.card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);flex-wrap:wrap;padding:var(--sp-3) var(--sp-5);border-bottom:1px solid var(--border)}.card-title{display:flex;align-items:baseline;gap:var(--sp-2);font-size:var(--fs-xs);font-weight:650;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.card-actions{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.card-body{padding:var(--sp-5)}input,select,textarea,button{font:inherit;color:inherit}.btn,button{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);background:var(--accent);color:var(--accent-contrast);border:1px solid transparent;border-radius:var(--r-sm);padding:.4rem .85rem;font-size:var(--fs-sm);font-weight:550;line-height:1.4;white-space:nowrap;cursor:pointer;text-decoration:none;transition:background-color .12s ease,border-color .12s ease,color .12s ease}button:hover:not(:disabled),.btn:hover{filter:brightness(1.06)}.btn:not(.btn-secondary):not(.btn-ghost):not(.btn-danger):hover:not(:disabled),button:not(.secondary):not(.danger):not(.sm):not(.page-btn):hover:not(:disabled){filter:none;opacity:.85}button:disabled,.btn:disabled{opacity:.45;cursor:not-allowed;filter:none}button:focus-visible,.btn:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn-secondary,button.secondary{background:var(--surface);color:var(--text);border-color:var(--border-strong);filter:none}.btn-secondary:hover,button.secondary:hover:not(:disabled){background:var(--surface-hover);filter:none}.btn-ghost{background:transparent;color:var(--text-muted);border-color:transparent;filter:none}.btn-ghost:hover{background:var(--surface-hover);color:var(--text);filter:none}.btn-danger,button.danger{background:transparent;color:var(--error);border-color:var(--error);filter:none}.btn-danger:hover,button.danger:hover:not(:disabled){background:var(--error-soft);filter:none}.btn-sm,button.sm{padding:.2rem .55rem;font-size:var(--fs-xs)}.link,.btn-link{color:var(--accent);background:none;border:none;padding:0;font-size:var(--fs-sm);font-weight:550;text-decoration:none;white-space:nowrap;cursor:pointer}.link:hover,.btn-link:hover{text-decoration:underline;filter:none}input,select,textarea{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-sm);padding:.4rem .55rem;font-size:var(--fs-sm)}input[type=number]{font-variant-numeric:tabular-nums}option{background:var(--surface);color:var(--text)}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}input:disabled,select:disabled{background:var(--surface-2);color:var(--text-faint);cursor:not-allowed}input[type=checkbox]{width:auto;accent-color:var(--accent);cursor:pointer}.field{display:flex;flex-direction:column;gap:var(--sp-1);min-width:0}.field>span,.field-label{font-size:var(--fs-xs);font-weight:550;color:var(--text-muted)}.field.wide{grid-column:1 / -1}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:var(--sp-4)}.form-grid .actions{grid-column:1 / -1;display:flex;gap:var(--sp-2);flex-wrap:wrap}.toolbar{display:flex;align-items:flex-end;gap:var(--sp-3) var(--sp-4);flex-wrap:wrap}.toolbar>.meta{align-self:center;margin-left:auto}.control{display:flex;align-items:center;gap:var(--sp-2);color:var(--text-muted);font-size:var(--fs-sm);white-space:nowrap}.control input[type=number]{width:5.5rem}.check-grid{display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-5);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface);padding:var(--sp-3);margin:0}.check-grid.wide{grid-column:1 / -1}.check{display:flex;align-items:center;gap:var(--sp-2);font-size:var(--fs-sm);white-space:nowrap;cursor:pointer}.table-wrap{overflow-x:auto;padding:var(--sp-4) 0;min-height:22rem}.data-table{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.data-table th,.data-table td{text-align:left;padding:1.4rem var(--sp-4);white-space:nowrap}.data-table thead th{position:sticky;top:0;z-index:1;background:var(--surface);color:var(--text-muted);font-size:var(--fs-xs);font-weight:650;text-transform:uppercase;letter-spacing:.05em;padding-top:1.1rem;padding-bottom:1.1rem;border-top:2px solid var(--text)}.data-table tbody tr:hover{background:var(--surface-hover)}.data-table a{text-decoration:none;font-weight:550}.data-table a:hover{text-decoration:underline}.data-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.data-table th.sortable:hover{color:var(--text);background:var(--surface-hover)}.data-table .num,.num{text-align:right;font-variant-numeric:tabular-nums}.data-table .rank{width:2.5rem;color:var(--text-faint);font-variant-numeric:tabular-nums}.data-table .pick{width:2.5rem}.data-table .row-selected{background:var(--accent-soft)}.data-table .row-editing td:first-child{box-shadow:inset 3px 0 0 var(--accent)}.data-table.record th{position:static;width:12rem;background:transparent;text-transform:none;letter-spacing:0;font-size:var(--fs-sm);font-weight:550;color:var(--text-muted)}.data-table tr.dim,.data-table tr.unmeasured,.data-table tr.thin{opacity:.6}.pager{display:flex;align-items:center;flex-wrap:wrap;gap:var(--sp-1);padding:var(--sp-3) var(--sp-5);border-top:1px solid var(--border)}.page-btn{background:var(--surface);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--r-sm);padding:.25rem .55rem;min-width:2.1rem;font-size:var(--fs-xs);font-variant-numeric:tabular-nums;filter:none}.page-btn:hover:not(:disabled){background:var(--surface-hover);filter:none}.page-btn.active{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent);cursor:default}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:var(--sp-3)}.stat{display:flex;flex-direction:column;gap:var(--sp-1);padding:var(--sp-3) var(--sp-4);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface)}.stat-value{font-size:var(--fs-md);font-weight:620;font-variant-numeric:tabular-nums}.stat-label{font-size:var(--fs-xs);color:var(--text-muted);line-height:1.35}.headline{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-4);flex-wrap:wrap}.headline-main{display:flex;flex-direction:column;gap:var(--sp-1);min-width:0}.headline-label{font-size:var(--fs-xs);font-weight:650;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.headline-price{font-size:var(--fs-display);font-weight:700;line-height:1.1;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.headline-range{font-size:var(--fs-sm);color:var(--text-muted);font-variant-numeric:tabular-nums}.badge{display:inline-block;padding:.1rem .5rem;border-radius:var(--r-xs);font-size:var(--fs-xs);font-weight:600;white-space:nowrap}.badge-live,.badge-high{background:var(--success-soft);color:var(--success)}.badge-medium{background:var(--warn-soft);color:var(--warn)}.badge-low{background:var(--error-soft);color:var(--error)}.badge-soon{background:var(--surface-hover);color:var(--text-muted)}.tag{display:inline-block;padding:.05rem .4rem;border:1px solid currentColor;border-radius:var(--r-pill);font-size:var(--fs-xs);white-space:nowrap}.tag-quiet{color:var(--text-faint);font-size:.7rem;text-transform:uppercase;letter-spacing:.04em}.tag-muted{color:var(--text-muted)}.tag-good{color:var(--success)}.tag-bad{color:var(--error)}.note{display:flex;flex-direction:column;gap:var(--sp-2);border-left:2px solid var(--border-strong);padding-left:var(--sp-4);color:var(--text-muted);font-size:var(--fs-sm);max-width:82ch}.hint{color:var(--text-muted);font-size:var(--fs-sm)}.error{background:var(--error-soft);border-radius:var(--r-sm);padding:var(--sp-3) var(--sp-4);color:var(--error);font-size:var(--fs-sm)}.success{background:var(--success-soft);border-radius:var(--r-sm);padding:var(--sp-3) var(--sp-4);color:var(--success);font-size:var(--fs-sm)}.empty{padding:var(--sp-8) var(--sp-5);text-align:center;color:var(--text-muted);font-size:var(--fs-sm);max-width:60ch;margin:0 auto}.kv{margin:0;display:grid;grid-template-columns:minmax(7rem,max-content) 1fr;row-gap:var(--sp-2);column-gap:var(--sp-4);font-size:var(--fs-sm)}.kv dt{color:var(--text-muted)}.kv dd{margin:0;font-weight:550}.muted{color:var(--text-muted)}.faint{color:var(--text-faint);font-size:var(--fs-xs)}.pos{color:var(--success);font-weight:600}.neg{color:var(--error);font-weight:600}.stack{display:flex;flex-direction:column;gap:var(--sp-4)}.feature-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:0 var(--sp-6)}.feature-card{display:flex;flex-direction:column;gap:var(--sp-2);border-radius:var(--r-sm);border-bottom:1px solid var(--border);padding:var(--sp-4);text-decoration:none;color:inherit;transition:background-color .12s ease}.feature-card:hover{background:var(--surface-hover)}.feature-card-planned{opacity:.7}.feature-card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2)}.feature-card-title-group{display:flex;align-items:center;gap:var(--sp-2);min-width:0}.feature-card-title{font-weight:650;font-size:var(--fs-md)}.feature-card-desc{font-size:var(--fs-sm);color:var(--text-muted);line-height:1.5}.feature-card-arrow{flex:none;color:var(--text-faint);opacity:0;transform:translate(-4px);transition:opacity .15s ease,transform .15s ease,color .15s ease}.feature-card:hover .feature-card-arrow{opacity:1;transform:translate(0);color:var(--accent)}.row{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}
