:root{--bg: #ffffff;--surface: #ffffff;--surface-2: #f4f7f9;--surface-3: #f0f4f7;--surface-hover: #eef3f6;--header-bg: rgba(255, 255, 255, .85);--sidebar-bg: #ffffff;--border: #e8edf1;--border-strong: #d4dce3;--text: #0c1a23;--text-muted: #5a6b78;--text-faint: #8a99a6;--accent: #0fb5a8;--accent-strong: #0da096;--accent-text: #046b63;--accent-mid: #8ad9d3;--accent-soft: #e6f7f5;--accent-line: #b8e5e1;--accent-contrast: #0c1a23;--ink: #0c1a23;--ink-contrast: #ffffff;--success: #0a7d55;--success-soft: #e3f5ed;--warn: #8a5300;--warn-soft: #fbefdd;--error: #b32626;--error-soft: #fbe9e9;--chart-1: #0fb5a8;--chart-2: #8ad9d3;--chart-3: #cde9e7;--chart-track: #f0f4f7;--chart-grid: #e8edf1;--demand-cold: #24457c;--demand-cold-soft: #e4ebf7;--demand-cool: #2a6294;--demand-cool-soft: #e6eff8;--demand-balanced: #5a6b78;--demand-balanced-soft: #eef1f4;--demand-firm: #96590d;--demand-firm-soft: #fbf0dd;--demand-hot: #b3362b;--demand-hot-soft: #fbe8e6;--footer-bg: #f4f7f9;--footer-text: #0c1a23;--footer-text-muted: #5a6b78;--footer-border: #e1e8ed;--sp-1: .25rem;--sp-2: .5rem;--sp-3: .75rem;--sp-4: 1rem;--sp-5: 1.5rem;--sp-6: 2rem;--sp-8: 3rem;--sp-10: 4rem;--sp-12: 6.5rem;--r-xs: 6px;--r-sm: 8px;--r: 12px;--r-lg: 16px;--r-pill: 999px;--font-sans: "Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;--fs-xs: .75rem;--fs-sm: .8125rem;--fs-base: .9375rem;--fs-md: 1.0625rem;--fs-lg: 1.25rem;--fs-xl: 1.5625rem;--fs-2xl: 2.375rem;--fs-3xl: 2.875rem;--fs-display: 4.5rem;--shadow-sm: 0 1px 2px rgba(12, 26, 35, .04), 0 1px 3px rgba(12, 26, 35, .04);--shadow: 0 1px 2px rgba(12, 26, 35, .04), 0 6px 16px rgba(12, 26, 35, .06);--shadow-lg: 0 2px 4px rgba(12, 26, 35, .04), 0 24px 64px rgba(12, 26, 35, .1);--ease: cubic-bezier(.2, 0, .13, 1);--dur: .16s;--page-max: 1280px;color-scheme:light}:root[data-theme=dark]{--bg: #0a1218;--surface: #101a21;--surface-2: #16222b;--surface-3: #1d2b35;--surface-hover: #1b2831;--header-bg: rgba(16, 26, 33, .85);--sidebar-bg: #101a21;--border: #223039;--border-strong: #2e3f4a;--text: #e8eef2;--text-muted: #93a5b1;--text-faint: #6b7c88;--accent: #2ed3c6;--accent-strong: #4bdcd1;--accent-text: #5fe0d5;--accent-mid: #1c7a74;--accent-soft: #0f2b2b;--accent-line: #235a56;--accent-contrast: #04171a;--ink: #e8eef2;--ink-contrast: #0a1218;--success: #3fcb94;--success-soft: #0f2a20;--warn: #e0a94f;--warn-soft: #2b2113;--error: #f2807d;--error-soft: #2e1717;--chart-1: #2ed3c6;--chart-2: #1c7a74;--chart-3: #164e4a;--chart-track: #1d2b35;--chart-grid: #223039;--demand-cold: #8fa8dd;--demand-cold-soft: #161f30;--demand-cool: #7fb3e0;--demand-cool-soft: #14232f;--demand-balanced: #93a5b1;--demand-balanced-soft: #1d2b35;--demand-firm: #e0a94f;--demand-firm-soft: #2b2113;--demand-hot: #f2807d;--demand-hot-soft: #2e1717;--footer-bg: #0d151b;--footer-text: #e8eef2;--footer-text-muted: #93a5b1;--footer-border: #223039;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 6px 16px rgba(0, 0, 0, .3);--shadow-lg: 0 2px 4px rgba(0, 0, 0, .4), 0 24px 64px rgba(0, 0, 0, .45);color-scheme:dark}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}*{box-sizing:border-box}html,body{height:100%}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font-sans);font-size:var(--fs-base);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4{margin:0;line-height:1.12;letter-spacing:-.035em;font-weight:800}h1{font-size:var(--fs-2xl)}h2{font-size:var(--fs-xl)}h3{font-size:var(--fs-lg);font-weight:700;letter-spacing:-.028em}h4{font-size:var(--fs-md);font-weight:700;letter-spacing:-.02em}p{margin:0}a{color:var(--accent-text)}:focus-visible{outline:2px solid var(--accent-text);outline-offset:2px;border-radius:var(--r-xs)}.skip-link{position:absolute;left:var(--sp-4);top:var(--sp-4);z-index:100;padding:var(--sp-2) var(--sp-4);background:var(--accent);color:var(--accent-contrast);border-radius:var(--r-sm);font-size:var(--fs-sm);font-weight:700;text-decoration:none;transform:translateY(-250%);transition:transform var(--dur) var(--ease)}.skip-link:focus-visible{transform:translateY(0)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.page{display:flex;flex-direction:column;gap:var(--sp-6)}.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-2);min-width:0}.page-sub{color:var(--text-muted);font-size:var(--fs-base);max-width:68ch}.page-head-actions{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.section{display:flex;flex-direction:column;gap:var(--sp-5)}.section-head{display:flex;flex-direction:column;gap:var(--sp-3);max-width:64ch}.eyebrow{font-size:var(--fs-xs);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-text)}.chip{display:inline-flex;align-items:center;gap:var(--sp-2);padding:.4rem .9rem;border-radius:var(--r-pill);background:var(--accent-soft);color:var(--accent-text);font-size:var(--fs-xs);font-weight:700}.chip-dot{width:6px;height:6px;border-radius:var(--r-pill);background:var(--accent);flex:none}.meta{color:var(--text-faint);font-size:var(--fs-xs);font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);box-shadow:var(--shadow-sm)}.card-interactive{cursor:pointer;transition:box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease),border-color var(--dur) var(--ease)}.card-interactive:hover{border-color:var(--border-strong);box-shadow:var(--shadow);transform:translateY(-2px)}.card-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3);flex-wrap:wrap;padding:var(--sp-4) var(--sp-5);border-bottom:1px solid var(--border)}.card-title{display:flex;align-items:baseline;gap:var(--sp-2);font-size:var(--fs-sm);font-weight:700;color:var(--text);letter-spacing:-.015em}.card-actions{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.card-body{padding:var(--sp-5)}.card-quiet{background:var(--surface-2);box-shadow:none}.icon-tile{display:grid;place-items:center;width:44px;height:44px;flex:none;border-radius:10px;background:var(--accent-soft);color:var(--accent-text)}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:.6rem 1.1rem;font-size:var(--fs-sm);font-weight:700;line-height:1.4;white-space:nowrap;cursor:pointer;text-decoration:none;transition:background-color var(--dur) var(--ease),border-color var(--dur) var(--ease),color var(--dur) var(--ease),box-shadow var(--dur) var(--ease),transform var(--dur) var(--ease)}.btn:hover:not(:disabled),button:hover:not(:disabled){background:var(--accent-strong)}.btn:active:not(:disabled),button:active:not(:disabled){transform:translateY(1px)}button:disabled,.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn-secondary,button.secondary{background:var(--surface);color:var(--text);border-color:var(--border-strong)}.btn-secondary:hover:not(:disabled),button.secondary:hover:not(:disabled){background:var(--surface-hover);border-color:var(--text-faint)}.btn-ink{background:var(--ink);color:var(--ink-contrast)}.btn-ink:hover:not(:disabled){background:var(--text-muted)}.btn-ghost{background:transparent;color:var(--text-muted);border-color:transparent}.btn-ghost:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.btn-danger,button.danger{background:transparent;color:var(--error);border-color:var(--error)}.btn-danger:hover:not(:disabled),button.danger:hover:not(:disabled){background:var(--error-soft)}.btn-sm,button.sm{padding:.32rem .7rem;font-size:var(--fs-xs);border-radius:var(--r-xs)}.btn-lg{height:52px;padding:0 1.75rem;font-size:var(--fs-base)}.link,.btn-link{color:var(--accent-text);background:none;border:none;padding:0;font-size:var(--fs-sm);font-weight:700;text-decoration:none;white-space:nowrap;cursor:pointer}.link:hover,.btn-link:hover:not(:disabled){background:none;text-decoration:underline}.link-arrow{display:inline-flex;align-items:center;gap:var(--sp-2)}.link-arrow svg{transition:transform var(--dur) var(--ease)}.link-arrow:hover svg{transform:translate(3px)}input,select,textarea{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r-sm);padding:.5rem .75rem;font-size:var(--fs-sm);transition:border-color var(--dur) var(--ease),box-shadow var(--dur) var(--ease)}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:700;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}.segmented{display:flex;flex-wrap:wrap;gap:var(--sp-1);padding:var(--sp-1);border:1px solid var(--border);border-radius:var(--r);background:var(--surface-2)}.segment{flex:1 1 auto;display:flex;flex-direction:column;gap:2px;min-width:8rem;padding:var(--sp-3) var(--sp-4);border:1px solid transparent;border-radius:var(--r-sm);background:transparent;color:var(--text-muted);font:inherit;text-align:left;cursor:pointer}.segment:hover:not(.active){background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.segment.active{border-color:var(--border);background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.segment.active:hover{background:var(--surface);border-color:var(--border-strong);color:var(--text)}.segment-label{font-size:var(--fs-sm);font-weight:700}.segment-hint{font-size:var(--fs-xs);color:var(--text-faint)}.segment.active .segment-hint{color:var(--text-muted)}.segment:hover:not(.active) .segment-hint{color:var(--accent-contrast);opacity:.78}.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}.data-table{width:100%;border-collapse:collapse;font-size:var(--fs-sm)}.data-table th,.data-table td{text-align:left;padding:.85rem var(--sp-5);white-space:nowrap}.data-table thead th{position:sticky;top:0;z-index:1;background:var(--surface);color:var(--text-faint);font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding-top:var(--sp-3);padding-bottom:var(--sp-3);border-bottom:1px solid var(--border-strong)}.data-table tbody tr{transition:background-color var(--dur) var(--ease)}.data-table tbody tr:hover{background:var(--surface-hover)}.data-table tbody tr.row-link{cursor:pointer}.data-table tbody tr+tr td{border-top:1px solid var(--border)}.data-table a{text-decoration:none;font-weight:700}.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;font-weight:700}.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:600;color:var(--text-muted);border-bottom:none}.data-table tr.dim,.data-table tr.unmeasured,.data-table tr.thin{opacity:.55}.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-xs);padding:.3rem .6rem;min-width:2.2rem;font-size:var(--fs-xs);font-weight:600;font-variant-numeric:tabular-nums}.page-btn:hover:not(:disabled){background:var(--surface-hover)}.page-btn.active,.page-btn.active:hover{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent);cursor:default}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:var(--sp-3)}.stat{display:flex;flex-direction:column;gap:var(--sp-1);padding:var(--sp-4);border:1px solid var(--border);border-radius:var(--r-sm);background:var(--surface)}.stat-label{font-size:var(--fs-xs);font-weight:700;color:var(--text-muted);line-height:1.35}.stat-value{font-size:var(--fs-xl);font-weight:800;letter-spacing:-.035em;font-variant-numeric:tabular-nums}.stat-note{font-size:var(--fs-xs);color:var(--text-faint)}.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:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-faint)}.headline-price{font-size:var(--fs-2xl);font-weight:800;line-height:1.05;letter-spacing:-.04em;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:.18rem .6rem;border-radius:var(--r-xs);font-size:var(--fs-xs);font-weight:700;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-3);color:var(--text-muted)}.badge-accent{background:var(--accent-soft);color:var(--accent-text)}.tag{display:inline-block;padding:.05rem .45rem;border:1px solid currentColor;border-radius:var(--r-pill);font-size:var(--fs-xs);font-weight:600;white-space:nowrap}.tag-quiet{color:var(--text-faint);font-size:.7rem;text-transform:uppercase;letter-spacing:.06em}.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{display:flex;align-items:flex-start;gap:var(--sp-2);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{display:flex;flex-direction:column;align-items:center;gap:var(--sp-3);padding:var(--sp-8) var(--sp-5);text-align:center;color:var(--text-muted);font-size:var(--fs-sm);max-width:52ch;margin:0 auto}.empty-icon{color:var(--text-faint)}.empty-title{font-size:var(--fs-md);font-weight:700;color:var(--text)}.skeleton{position:relative;overflow:hidden;background:var(--surface-3);border-radius:var(--r-xs)}.skeleton:after{content:"";position:absolute;inset:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);animation:skeleton-sweep 1.4s infinite}:root[data-theme=dark] .skeleton:after{background:linear-gradient(90deg,transparent,rgba(255,255,255,.06),transparent)}@keyframes skeleton-sweep{to{transform:translate(100%)}}.skeleton-text{height:.7rem;margin-bottom:var(--sp-2)}.skeleton-text:last-child{margin-bottom:0}.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:700}.muted{color:var(--text-muted)}.faint{color:var(--text-faint);font-size:var(--fs-xs)}.pos{color:var(--success);font-weight:700}.neg{color:var(--error);font-weight:700}.stack{display:flex;flex-direction:column;gap:var(--sp-4)}.row{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap}.nums{font-variant-numeric:tabular-nums}.feature-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:var(--sp-4)}.feature-card{display:flex;flex-direction:column;gap:var(--sp-2);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r);padding:var(--sp-5);text-decoration:none;color:inherit;transition:border-color var(--dur) var(--ease),background-color var(--dur) var(--ease),transform var(--dur) var(--ease)}.feature-card:hover{background:var(--surface);border-color:var(--border-strong);transform:translateY(-2px)}.feature-card-planned{opacity:.65}.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:700;font-size:var(--fs-md);letter-spacing:-.02em}.feature-card-desc{font-size:var(--fs-sm);color:var(--text-muted);line-height:1.6}.feature-card-arrow{flex:none;color:var(--text-faint);transition:transform var(--dur) var(--ease),color var(--dur) var(--ease)}.feature-card:hover .feature-card-arrow{transform:translate(3px);color:var(--accent-text)}@media (max-width: 860px){:root{--fs-display: 2.5rem;--fs-3xl: 2rem;--fs-2xl: 1.75rem;--fs-xl: 1.375rem}.card-body,.card-head{padding:var(--sp-4)}.data-table th,.data-table td{padding:.7rem var(--sp-4)}}@media (max-width: 560px){.stat-grid{grid-template-columns:repeat(auto-fit,minmax(8.5rem,1fr))}.page-head-actions,.card-actions{width:100%}}
