:root{color-scheme:light;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--paper: #f7f4ed;--raised: #fffdf8;--ink: #1a1a1f;--soft: #4a4a52;--faint: #8b8b93;--rule: #d8d3c6;--accent: #8c2f22;--positive: #1d6b45;--positive-bg: #e5efe7;--negative: #8c2f22;--negative-bg: #f4e8e3;--wash: #f0ece2;--chart-spy: #1d6b45;--chart-qqq: #8c2f22;--chart-iwm: #4a4a52;--chart-dia: #8b8b93;--chart-previous: #8b8b93;--serif: "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--mono: "SF Mono", SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace}@media(prefers-color-scheme:dark){:root{color-scheme:dark;--paper: #16151a;--raised: #1d1c22;--ink: #e8e5dc;--soft: #b8b4ac;--faint: #85828c;--rule: #35333c;--accent: #d96a58;--positive: #5bbf8b;--positive-bg: #14261c;--negative: #d96a58;--negative-bg: #2b1918;--wash: #242229;--chart-spy: #5bbf8b;--chart-qqq: #d96a58;--chart-iwm: #c0bbb1;--chart-dia: #77737e;--chart-previous: #77737e}}*{box-sizing:border-box}html{min-width:320px;background:var(--paper)}body{min-width:320px;min-height:100vh;margin:0;background:var(--paper);color:var(--ink)}button,input{font:inherit}button{cursor:pointer}button,input,a{transition:color .15s ease,background-color .15s ease,border-color .15s ease}button:focus-visible,input:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}a{color:inherit;text-decoration-color:var(--faint);text-underline-offset:3px}a:hover{color:var(--accent)}h1,h2,h3,p{margin:0}h1,h2{font-family:var(--serif);font-weight:600;letter-spacing:-.02em}.app-shell{width:min(1520px,calc(100vw - 56px));margin:0 auto;padding:18px 0 30px}.masthead{display:flex;align-items:center;gap:8px;min-height:27px;padding:0 2px 8px;border-bottom:1px solid var(--rule);color:var(--soft);font-family:var(--mono);font-size:.66rem;font-weight:650;letter-spacing:.14em;line-height:1;text-transform:uppercase}.masthead span:first-child{color:var(--accent)}.top-bar{display:flex;align-items:center;justify-content:space-between;gap:28px;min-height:104px;padding:20px 2px 18px;border-bottom:3px double var(--ink)}.brand-block,.top-controls,.date-control,.segmented,.command-button,.icon-button,.panel-header,.index-card-top,.score-top,.legend,.status-banner{display:flex;align-items:center}.brand-block{min-width:310px}.publication-kicker,.eyebrow{display:block;color:var(--accent);font-family:var(--mono);font-size:.63rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.brand-block h1{margin-top:5px;font-size:clamp(1.75rem,2.7vw,2.8rem);line-height:1}.brand-block p{max-width:560px;margin-top:8px;overflow:hidden;color:var(--faint);font-family:var(--mono);font-size:.66rem;text-overflow:ellipsis;white-space:nowrap}.top-controls{justify-content:flex-end;gap:7px;flex-wrap:wrap}.freshness-pill,.date-control,.segmented,.command-button,.icon-button{min-height:34px;border:1px solid var(--rule);border-radius:2px;background:transparent;color:var(--ink);font-family:var(--mono);font-size:.68rem}.freshness-pill{display:inline-flex;align-items:center;gap:6px;padding:0 10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.freshness-pill:before,.mode-chip:before{content:"";width:6px;height:6px;flex:0 0 auto;border-radius:50%;background:currentColor}.freshness-pill.good{border-color:color-mix(in srgb,var(--positive) 45%,var(--rule));background:var(--positive-bg);color:var(--positive)}.freshness-pill.warn,.freshness-pill.bad{border-color:color-mix(in srgb,var(--negative) 45%,var(--rule));background:var(--negative-bg);color:var(--negative)}.date-control{gap:7px;padding:0 9px}.date-control input{width:132px;border:0;outline:0;background:transparent;color:var(--ink);font-family:var(--mono);font-size:.68rem}.segmented{overflow:hidden}.segmented button{min-width:40px;min-height:32px;border:0;border-left:1px solid var(--rule);background:transparent;color:var(--soft);font-family:var(--mono);font-size:.66rem;font-weight:700}.segmented button:first-child{border-left:0}.segmented button:hover,.icon-button:hover,.command-button:hover{background:var(--wash);color:var(--accent)}.segmented button.active{background:var(--ink);color:var(--paper)}.command-button,.icon-button{justify-content:center;gap:7px;padding:0 11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.icon-button{width:34px;padding:0}.spinning{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.status-strip{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(320px,1.15fr);gap:16px;margin:18px 0 0}.source-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.source-badge{min-height:55px;display:flex;flex-direction:column;justify-content:center;gap:4px;padding:8px 10px;border:1px solid var(--rule);border-top-width:2px;background:var(--raised)}.source-badge span,.source-badge strong,.timestamp,.header-note,.empty-state span{font-family:var(--mono);font-size:.66rem}.source-badge span,.timestamp,.header-note,.empty-state span{color:var(--faint)}.source-badge strong{color:var(--ink);font-weight:650}.source-badge.fresh{border-top-color:var(--positive)}.source-badge.stale,.source-badge.partial,.source-badge.no_key,.source-badge.error{border-top-color:var(--negative)}.source-badge.empty-source{grid-column:1 / -1;border-top-color:var(--faint)}.banner-list{display:grid;gap:8px}.status-banner{min-height:34px;gap:8px;padding:7px 10px;border:1px solid var(--rule);background:var(--raised);color:var(--soft);font-size:.76rem;line-height:1.35}.status-banner.error,.status-banner.stale,.status-banner.partial,.status-banner.no-key{border-left:2px solid var(--negative);color:var(--negative)}.provenance-panel{display:grid;grid-template-columns:minmax(260px,1fr) minmax(260px,.9fr) minmax(260px,1fr);gap:20px;margin:12px 0 0;padding:14px 16px;border:1px solid var(--rule);background:var(--raised)}.provenance-panel div,.provenance-panel ul{min-width:0;margin:0}.provenance-panel div{display:grid;align-content:start;gap:5px}.provenance-panel p,.provenance-panel span,.provenance-panel li{color:var(--soft);font-size:.72rem;line-height:1.45}.provenance-panel ul{padding-left:18px}.mode-chip{width:fit-content;display:inline-flex;align-items:center;gap:6px;padding:3px 7px;border:1px solid currentColor;color:var(--positive);font-family:var(--mono);font-size:.6rem!important;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.mode-chip.demo,.mode-chip.fallback{color:var(--negative)}.dashboard-grid{display:grid;gap:14px;margin-top:24px;padding-top:13px;border-top:3px double var(--ink)}.first-row{grid-template-columns:minmax(360px,1.2fr) minmax(240px,.55fr) minmax(420px,1.5fr)}.second-row{grid-template-columns:minmax(520px,1.15fr) minmax(420px,.85fr)}.third-row{grid-template-columns:minmax(360px,.95fr) minmax(290px,.7fr) minmax(320px,.8fr)}.fourth-row{grid-template-columns:minmax(620px,1.15fr) minmax(380px,.85fr)}.fifth-row{grid-template-columns:1fr}.panel,.index-card,.empty-state{min-width:0;border:1px solid var(--rule);background:var(--raised)}.panel{padding:16px}.panel-header{justify-content:space-between;gap:14px;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--rule)}.panel-header h2{margin-top:4px;font-size:1.24rem;line-height:1.15}.confidence,.direction{display:inline-flex;align-items:center;padding:3px 7px;border:1px solid currentColor;color:var(--soft);font-family:var(--mono);font-size:.6rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.confidence.high,.direction.positive{background:var(--positive-bg);color:var(--positive)}.confidence.medium,.direction.neutral{background:var(--wash);color:var(--soft)}.confidence.low,.direction.negative{background:var(--negative-bg);color:var(--negative)}.regime-change{margin-bottom:15px;color:var(--soft);font-family:var(--serif);font-size:1rem;line-height:1.48}.score-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.score-item{min-width:0}.score-top{justify-content:space-between;gap:6px;margin-bottom:6px;color:var(--faint);font-family:var(--mono);font-size:.66rem}.score-top strong{color:var(--ink);font-variant-numeric:tabular-nums}.score-track{height:4px;overflow:hidden;background:var(--wash)}.score-track span{display:block;height:100%}.score-high{background:var(--positive)}.score-mid{background:var(--soft)}.score-low{background:var(--negative)}.signal-split{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:17px;padding-top:14px;border-top:1px solid var(--rule)}.mini-list h3,.watch-list h3,.limitations h3{margin-bottom:7px;color:var(--accent);font-family:var(--mono);font-size:.63rem;letter-spacing:.12em;text-transform:uppercase}.mini-list ul,.note-list{margin:0;padding-left:17px}.mini-list li,.note-list li{margin-bottom:6px;color:var(--soft);font-size:.78rem;line-height:1.48}.metric-list,.index-card dl,.compact-kpis{display:grid;gap:0;margin:0}.metric-list div,.index-card dl div,.compact-kpis div{min-width:0;display:flex;align-items:baseline;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--rule)}dt,dd,.price,.positive,.negative,.neutral{font-family:var(--mono);font-variant-numeric:tabular-nums}dt{color:var(--faint);font-size:.66rem;letter-spacing:.04em;text-transform:uppercase}dd{margin:0;color:var(--ink);font-size:.8rem;font-weight:700;text-align:right}.timestamp{margin-top:11px}.index-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.index-card{min-height:184px;padding:13px;border-top:2px solid var(--ink)}.index-card:hover{background:color-mix(in srgb,var(--wash) 55%,var(--raised))}.index-card-top{align-items:flex-start;justify-content:space-between;gap:8px}.index-card-top div,.asset-row>div{min-width:0;display:grid;gap:3px}.index-card-top strong,.asset-row strong{font-family:var(--mono);font-variant-numeric:tabular-nums}.index-card-top strong{font-size:.88rem}.index-card span,.asset-row span,.asset-row p{color:var(--faint);font-size:.68rem}.price{margin:14px 0 11px;color:var(--ink);font-size:1.3rem;font-weight:600;letter-spacing:-.03em}.index-card dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 12px}.index-card dl div{display:block;padding:0;border:0}.index-card dd{margin-top:2px;text-align:left}.table-wrap{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain}table{width:100%;border-collapse:collapse;font-family:var(--mono);font-variant-numeric:tabular-nums}th,td{padding:9px 10px;border-bottom:1px solid var(--rule);text-align:right;vertical-align:middle;white-space:nowrap;font-size:.68rem}thead th{border-top:1px solid var(--rule);background:var(--wash);color:var(--soft);font-size:.6rem;letter-spacing:.08em;text-transform:uppercase}tbody tr{transition:background-color .15s ease}tbody tr:hover{background:var(--wash)}tbody th,thead th:first-child{text-align:left}tbody th{color:var(--ink);font-weight:700}tbody th span{display:block}tbody th small{color:var(--faint);font-size:.59rem;font-weight:500}.heatmap-table td{font-weight:700}.legend{gap:12px;flex-wrap:wrap}.legend span{display:inline-flex;align-items:center;gap:5px;color:var(--soft);font-family:var(--mono);font-size:.62rem;font-weight:650}.legend i{width:11px;height:2px}.line-chart,.yield-chart,.history-chart{width:100%;display:block;overflow:visible}.line-chart{min-height:260px}.yield-chart{min-height:190px}.history-chart{min-height:260px}.grid-line{stroke:var(--rule);stroke-width:1}.axis-label{fill:var(--faint);font-family:var(--mono);font-size:10px}.axis-title{font-weight:700;letter-spacing:.04em;text-transform:uppercase}.compact-kpis{grid-template-columns:repeat(3,minmax(0,1fr));margin-top:11px;border-top:1px solid var(--rule)}.compact-kpis div{display:block;padding:10px 9px 2px 0;border-bottom:0;border-right:1px solid var(--rule)}.compact-kpis div:not(:first-child){padding-left:9px}.compact-kpis div:last-child{border-right:0}.compact-kpis dd{margin-top:3px;text-align:left}.asset-list{display:grid}.asset-row{display:grid;grid-template-columns:minmax(104px,.95fr) minmax(86px,.6fr);gap:8px 10px;align-items:start;padding:10px 2px;border-bottom:1px solid var(--rule);transition:background-color .15s ease}.asset-row:first-child{padding-top:0}.asset-row:hover{background:var(--wash)}.asset-row>div:last-of-type{text-align:right}.asset-row p{grid-column:1 / -1;line-height:1.4}.signal-table th,.signal-table td{white-space:normal;text-align:left}.signal-table th:nth-child(3),.signal-table th:nth-child(5),.signal-table td:nth-child(3),.signal-table td:nth-child(5){text-align:right;white-space:nowrap}.note-list{margin-bottom:15px}.watch-list{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:15px;padding-top:12px;border-top:1px solid var(--rule)}.watch-list h3,.limitations h3{width:100%}.watch-list span{padding:5px 7px;border:1px solid var(--rule);background:var(--wash);color:var(--soft);font-family:var(--mono);font-size:.62rem}.limitations p{margin-top:6px;color:var(--faint);font-size:.72rem;line-height:1.45}.history-notes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin-top:12px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}.history-notes div{min-width:0;padding:11px 13px;border-right:1px solid var(--rule)}.history-notes div:last-child{border-right:0}.history-notes strong,.history-notes span{font-family:var(--mono)}.history-notes span,.history-notes p{display:block;margin-top:4px;color:var(--faint);font-size:.69rem;line-height:1.42}.positive{color:var(--positive)!important}.negative{color:var(--negative)!important}.neutral{color:var(--soft)!important}.empty-state{min-height:130px;display:grid;place-items:center;align-content:center;gap:7px;padding:18px;color:var(--faint);text-align:center}.empty-state strong{color:var(--ink);font-family:var(--serif);font-size:1rem}.empty-state.compact{min-height:72px;border:0}.loading-shell{display:grid;gap:14px}.loading-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.skeleton-block{min-height:150px;position:relative;overflow:hidden}.skeleton-block:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,transparent,color-mix(in srgb,var(--ink) 5%,transparent),transparent);animation:shimmer 1.2s infinite}@keyframes shimmer{to{transform:translate(100%)}}.centered-state{min-height:100vh;display:grid;grid-template-rows:auto 1fr auto}.fatal-card{min-height:65vh;display:grid;place-items:center;align-content:center;gap:12px;text-align:center}.fatal-card h1{font-size:2rem}.fatal-card p{color:var(--soft)}.site-footer{display:flex;justify-content:center;gap:8px;margin-top:28px;padding:18px 2px 0;border-top:3px double var(--ink);color:var(--faint);font-family:var(--mono);font-size:.64rem;letter-spacing:.04em;text-align:center}@media(max-width:1250px){.first-row,.second-row,.third-row,.fourth-row,.fifth-row,.provenance-panel,.status-strip{grid-template-columns:1fr}.index-card-grid,.source-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:820px){.app-shell{width:min(100vw - 24px,820px);padding-top:12px}.top-bar{align-items:stretch}.top-bar,.brand-block,.top-controls{flex-direction:column}.brand-block,.top-controls{align-items:stretch}.top-controls{justify-content:stretch}.date-control,.command-button,.freshness-pill{justify-content:center}.date-control input{width:auto}.segmented{display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}.segmented button{min-width:0}.source-grid,.index-card-grid,.score-grid,.signal-split,.compact-kpis,.history-notes,.loading-grid{grid-template-columns:1fr}.index-card{min-height:0}.compact-kpis div,.compact-kpis div:not(:first-child),.history-notes div{padding:9px 0;border-right:0;border-bottom:1px solid var(--rule)}.history-notes div:last-child,.compact-kpis div:last-child{border-bottom:0}.site-footer{flex-wrap:wrap}}@media(max-width:520px){.app-shell{width:min(100vw - 16px,520px);padding-top:8px}.masthead{align-items:flex-start;font-size:.57rem;line-height:1.35}.brand-block h1{font-size:1.85rem}.panel{padding:13px}.panel-header{align-items:flex-start}.legend{justify-content:flex-end}th,td{padding:8px}.line-chart,.history-chart{min-height:210px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
