/* Local system fonts. No network dependencies. */
:root{--paper:#f5f7f4;--surface:#fff;--ink:#182c29;--muted:#65736c;--line:#e0e7df;--green:#126047;--green-dark:#104b39;--green-soft:#eaf3eb;--amber:#80571d;--amber-soft:#fbf6e9;--radius:18px;--shadow:0 4px 20px #1b332906;font-family:Inter,"Helvetica Neue",Arial,sans-serif;font-size:14px;color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a,summary,input,select{touch-action:manipulation}button,select,summary{cursor:pointer}button{color:inherit}a{color:inherit;text-decoration:none}button,input,select{min-height:44px}input,select{color:var(--ink);background:var(--surface);border:1px solid #cdd8cf;border-radius:9px;padding:10px 12px;min-width:0}input{width:100%}input:focus,select:focus{border-color:var(--green)}input[type=date]{min-width:0;max-width:100%}button{border:0;background:none}button:disabled{cursor:wait;opacity:.6}button,select,a{transition:background-color .16s,border-color .16s,color .16s}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:600}h1{font-size:36px;letter-spacing:-1.5px;line-height:1.1}h2{font-size:22px;letter-spacing:-.7px;line-height:1.25}h3{font-size:15px}p{line-height:1.6}svg{display:block}[hidden]{display:none!important}:focus-visible{outline:3px solid #297b60;outline-offset:4px}::selection{background:#cde5d1}html{scroll-behavior:smooth;scroll-padding-top:24px}.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}.skip-link{position:fixed;top:8px;left:8px;z-index:20;padding:14px;background:var(--ink);color:white;border-radius:8px;transform:translateY(-150%)}.skip-link:focus{transform:translateY(0)}.eyebrow{display:block;font-size:10px;font-weight:700;letter-spacing:1.8px;line-height:1.6;color:var(--muted)}.muted{color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:44px;padding:12px 18px;border-radius:10px;font-weight:600;white-space:nowrap}.button-primary{background:var(--green);color:white}.button-primary:hover{background:var(--green-dark)}.button-quiet{background:transparent;padding:10px 12px;color:var(--muted)}.button-quiet:hover{background:var(--green-soft);color:var(--green)}.text-button{min-height:44px;padding:8px 0;font-size:12px;font-weight:600;color:var(--green);display:inline-flex;align-items:center;gap:12px}.small-dot{display:inline-block;flex:none;width:6px;height:6px;border-radius:50%;background:var(--green)}.wordmark{font-size:26px;line-height:1;letter-spacing:-1.3px;font-weight:750}.wordmark-dot{color:var(--green)}
/* Entry: never mount private data before the session has been checked. */
.boot-screen{min-height:100svh;display:flex;align-items:center;justify-content:center;gap:12px;color:var(--muted)}.loading-dot{width:8px;height:8px;background:var(--green);border-radius:50%;animation:pulse 1s ease-in-out infinite alternate}@keyframes pulse{to{opacity:.25}}.login-screen{min-height:100svh;display:grid;grid-template-columns:1fr}.login-story{padding:30px 24px;background:#eaf0e8;display:flex;flex-direction:column;justify-content:space-between}.login-editorial{padding:48px 0 24px}.login-editorial h1{font-size:34px;line-height:1.13;margin:16px 0 20px;letter-spacing:-1.6px}.login-editorial p{font-size:15px;max-width:390px;color:#4f655b}.login-footnote{display:none;font-size:12px;color:var(--muted)}.login-panel{display:flex;align-items:center;justify-content:center;padding:40px 24px 60px;background:white}.login-form{width:100%;max-width:360px}.login-form h2{margin:10px 0 10px;font-size:29px;letter-spacing:-1px}.login-form>.muted{margin-bottom:28px}.login-form label{display:block;margin:18px 0 8px;font-size:12px;font-weight:600}.login-form input{min-height:48px}.password-field{position:relative}.password-field input{padding-right:80px}.password-field button{position:absolute;right:4px;top:2px;font-size:12px;color:var(--green);padding:0 12px}.login-form>.button{width:100%;margin-top:24px;justify-content:space-between}.login-security{margin-top:20px;font-size:11px;text-align:center;color:var(--muted)}.form-error{font-size:12px;color:#a12f2a;padding-top:10px}.error-screen{max-width:580px;margin:20vh auto;padding:24px}.error-screen h1{margin:14px 0;font-size:30px}.error-screen .button{margin-top:24px}.noscript{padding:24px;background:#fff3d6}
/* Navigation and page frame. */
.sidebar{display:none}.workspace{min-width:0}.topbar{height:66px;border-bottom:1px solid var(--line);padding:0 20px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:#ffffffa8}.breadcrumb{display:flex;align-items:center;gap:12px;font-size:11px;color:var(--muted)}.mobile-brand{font-weight:750;color:var(--ink);font-size:17px;letter-spacing:-.8px}.desktop-breadcrumb{display:none}.account-controls{display:flex;align-items:center;gap:12px;min-width:0}.access-label{display:none}.access-label.preview-label{display:block;font-size:10px;color:var(--green)}.is-preview .topbar{height:auto;min-height:76px;flex-wrap:wrap;padding-top:12px;padding-bottom:12px}.topbar .button{font-size:12px;padding-left:4px;padding-right:4px}.workspace main{padding:30px 20px 0;max-width:1440px;margin:auto;outline:none}.page-heading{display:flex;flex-direction:column;gap:22px;margin-bottom:25px}.page-heading h1{margin-top:8px}.heading-dot{color:var(--green)}.client-line{display:flex;flex-wrap:wrap;gap:4px 10px;margin-top:13px;font-size:12px;align-items:center}.client-line strong{font-weight:600}.client-line>span{color:var(--muted);font-size:11px;overflow-wrap:anywhere}.update-stamp{display:flex;align-items:center;gap:8px;font-size:10px;color:var(--muted)}.update-stamp>div{display:flex;gap:8px;flex-wrap:wrap}.update-stamp strong{font-weight:500;color:#455a4e;font-variant-numeric:tabular-nums}
/* Filter bar, defaults are the real source window. */
.filter-panel{border:1px solid var(--line);border-radius:12px;background:var(--surface);padding:14px;display:flex;flex-wrap:wrap;align-items:center;gap:14px;box-shadow:var(--shadow)}.period-control{display:flex;flex-direction:column;gap:5px;flex:1;min-width:170px}.period-control label{font-size:10px;color:var(--muted)}.period-control select{border:0;padding:0 24px 0 0;min-height:44px;font-size:13px;font-weight:600;background:transparent;max-width:100%}.filter-divider{display:none}.range-caption{font-size:12px;color:var(--ink);display:flex;flex-direction:column;gap:5px}.range-caption small{font-size:10px;line-height:1.45;color:var(--muted);max-width:220px}.segmented{display:flex;border:1px solid var(--line);padding:3px;background:#f6f8f5;border-radius:9px;flex:1 0 100%;gap:3px}.segmented button{flex:1;min-height:44px;border-radius:6px;font-size:11px;font-weight:600;padding:8px 13px;white-space:nowrap}.segmented button[aria-pressed=true]{background:var(--green-soft);color:var(--green-dark);box-shadow:0 1px 2px #142b1009}.segmented button:hover{background:#e3ede3}.custom-dates{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0 0;padding:16px;background:white;border:1px solid var(--line);border-radius:12px}.custom-dates>div{min-width:0}.custom-dates label{display:block;font-size:11px;color:var(--muted);margin-bottom:7px}.custom-dates input{font-size:13px}.custom-dates .button{grid-column:1/-1}.custom-dates .form-error{grid-column:1/-1;padding:0}
/* Three KPIs: one visual anchor, no decorative metrics. */
.metrics-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:20px}.metric-card{padding:20px 16px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);min-width:0}.metric-featured{grid-column:1/-1;background:var(--green-dark);border-color:var(--green-dark);color:#fff;padding:23px 22px}.metric-label{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:11px;font-weight:500;line-height:1.4}.metric-symbol{color:#6c8974;font-size:20px;line-height:1}.metric-featured .metric-symbol{color:#b6d6ac}.metric-value{display:block;font-size:30px;line-height:1.1;letter-spacing:-1.3px;font-weight:550;margin-top:24px;font-variant-numeric:tabular-nums;white-space:nowrap}.metric-featured .metric-value{font-size:52px;margin-top:22px;letter-spacing:-2px}.metric-card>p{color:var(--muted);font-size:10px;line-height:1.5;margin-top:12px}.metric-featured>p{color:#c3d9c9}.coverage-banner{display:flex;gap:8px;align-items:flex-start;background:var(--amber-soft);border:1px solid #e8dabc;border-radius:10px;color:var(--amber);margin:14px 0 0;padding:12px 16px;font-size:12px;line-height:1.6}.coverage-banner strong{font-weight:650}
/* Real readings only; gaps stay gaps. */
.chart-panel{background:white;border:1px solid var(--line);border-radius:var(--radius);margin-top:20px;padding:22px 18px 0;box-shadow:var(--shadow);overflow:hidden}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.section-heading .eyebrow{margin-bottom:7px}.section-heading h2{font-size:20px}.section-description{font-size:11px;color:var(--muted);margin-top:7px;max-width:520px}.chart-legend{font-size:10px;display:flex;gap:7px;align-items:center;color:var(--muted)}.chart-container{height:230px;width:100%;margin-top:12px}.chart-container svg{width:100%;height:100%;overflow:visible}.chart-grid{stroke:#e9eee8;stroke-dasharray:3 4;stroke-width:1}.chart-axis{fill:#718076;font-size:10px;font-family:inherit;font-variant-numeric:tabular-nums}.chart-line{fill:none;stroke:var(--green);stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}.chart-point{fill:var(--green);stroke:#fff;stroke-width:2}.chart-point-partial{fill:#fff;stroke:#997037;stroke-width:2}.chart-range{fill:#eef4ed}.chart-footer{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:56px;margin-top:8px}.chart-footer p{font-size:10px;color:var(--muted);max-width:75%}.chart-footer .text-button{font-size:10px;white-space:nowrap}.chart-table{margin-bottom:20px;max-height:340px;overflow:auto;border:1px solid var(--line);border-radius:8px}.chart-table table{width:100%;border-collapse:collapse;font-size:11px}.chart-table caption{text-align:left;font-size:12px;font-weight:600;padding:12px}.chart-table th,.chart-table td{padding:11px 12px;text-align:left;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}.chart-table th{background:var(--paper);font-size:10px;color:var(--muted);font-weight:600}.chart-empty{height:100%;display:flex;flex-direction:column;justify-content:center;text-align:center;padding:20px;gap:8px;color:var(--muted);font-size:12px}.chart-empty strong{color:var(--ink);font-size:15px}
/* Publication cards with original covers and progressive detail. */
.contents{margin-top:34px}.contents-heading{margin-bottom:20px;align-items:center}.count-label{font-size:11px;background:#e9eee7;color:#58705b;border:1px solid #dce5d9;border-radius:6px;padding:7px 10px;white-space:nowrap}.posts-grid{display:grid;grid-template-columns:1fr;gap:16px;align-items:start}.post-card{border:1px solid var(--line);border-radius:var(--radius);background:white;overflow:hidden;box-shadow:var(--shadow);min-width:0}.post-cover{height:166px;position:relative;overflow:hidden;background:#e6ebe3}.post-cover img{height:100%;width:100%;object-fit:cover;object-position:center 35%;display:block;transition:transform .35s ease}.post-card:hover .post-cover img{transform:scale(1.025)}.post-cover:has(img)::after{content:"";position:absolute;inset:0;box-shadow:inset 0 -45px 45px -36px #15251cd9;pointer-events:none}.cover-fallback{display:flex;align-items:center;justify-content:center;height:100%;color:#5b6e5e;font-size:12px;letter-spacing:.2px}.post-status{position:absolute;top:12px;left:12px;display:flex;align-items:center;gap:6px;border-radius:6px;padding:6px 9px;background:#fffffff5;font-size:10px;font-weight:600;box-shadow:0 2px 8px #17351a15;z-index:1}.post-status .small-dot{width:5px;height:5px}.post-status.paused{color:#647064}.post-status.paused .small-dot{background:#919c8c}.post-type{position:absolute;right:12px;bottom:12px;padding:5px 7px;background:#ffffffeb;border-radius:4px;font-size:9px;letter-spacing:1px;color:#294a38;z-index:1}.post-main{padding:18px}.post-title{font-size:16px;font-weight:600;letter-spacing:-.4px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:46px;overflow-wrap:anywhere}.post-meta{margin-top:8px;color:var(--muted);font-size:10px}.post-kpis{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-top:20px;padding-bottom:20px;border-bottom:1px solid var(--line)}.post-kpi{min-width:0}.post-kpi dt{font-size:9px;color:var(--muted);line-height:1.4}.post-kpi dd{margin:7px 0 0;font-size:18px;font-weight:600;letter-spacing:-.6px;font-variant-numeric:tabular-nums;white-space:nowrap}.post-kpi.kpi-gain dd{color:var(--green)}.before-after{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;background:#f5f7f3;border:1px solid #edf0e9;border-radius:9px;padding:12px 14px;margin-top:16px}.reading:last-child{text-align:right}.reading-label{font-size:9px;color:var(--muted);display:block}.reading-value{display:block;font-size:18px;font-weight:550;margin-top:4px;font-variant-numeric:tabular-nums;letter-spacing:-.5px}.reading-date{font-size:9px;color:var(--muted);display:block;margin-top:4px}.reading-arrow{color:#93a18c;font-size:19px}.pending-note{font-size:10px;line-height:1.55;color:var(--amber);background:var(--amber-soft);border-radius:7px;padding:10px 12px;margin-top:14px}.post-details{border-top:1px solid var(--line)}.post-details summary{padding:0 18px;min-height:50px;display:flex;align-items:center;justify-content:space-between;gap:10px;list-style:none;color:#52674f;font-size:11px;font-weight:600}.post-details summary::-webkit-details-marker,.source-section summary::-webkit-details-marker{display:none}.details-plus{font-size:20px;font-weight:400;color:#71866b;transition:transform .16s}.post-details[open] .details-plus,.source-section details[open] .details-plus{transform:rotate(45deg)}.post-detail-body{padding:0 18px 20px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 14px;margin:8px 0 20px}.detail-grid dt{font-size:9px;line-height:1.4;color:var(--muted)}.detail-grid dd{margin:5px 0 0;font-size:11px;line-height:1.6;overflow-wrap:anywhere}.detail-grid .detail-wide{grid-column:1/-1}.limitations{padding:12px 12px 12px 25px;margin:16px 0;background:var(--amber-soft);color:var(--amber);font-size:10px;line-height:1.7;border-radius:8px}.post-detail-body h3{font-size:11px;color:#456340;margin:20px 0 12px}.event-list{list-style:none;padding:0;margin:0}.event-list li{padding:0 0 16px 15px;position:relative;border-left:1px solid var(--line);margin-left:3px}.event-list li:last-child{padding-bottom:4px}.event-list li::before{content:"";width:5px;height:5px;background:#93a589;border:2px solid white;border-radius:50%;position:absolute;top:3px;left:-5px;box-sizing:content-box}.event-list time{display:block;color:var(--muted);font-size:9px;margin-bottom:4px}.event-list strong{font-size:11px;line-height:1.6;font-weight:500}.event-list p{font-size:10px;color:var(--muted);margin-top:3px}.original-link{display:inline-flex;align-items:center;justify-content:space-between;width:100%;min-height:44px;font-size:11px;color:var(--green);border:1px solid var(--line);border-radius:8px;padding:10px 12px;margin-top:18px}.original-link:hover{background:var(--green-soft)}.empty-state{grid-column:1/-1;text-align:center;padding:40px 24px;background:white;border:1px solid var(--line);border-radius:var(--radius)}.empty-state h3{font-size:17px;margin-bottom:8px}.empty-state p{font-size:12px;color:var(--muted)}
/* Provenance remains accessible without taking over the page. */
.source-section{margin-top:28px;border:1px solid var(--line);border-radius:12px;background:#edf1e9}.source-section summary{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;list-style:none;min-height:70px}.source-section summary>span:first-child{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:500}.source-section .eyebrow{font-size:9px}.source-body{padding:0 20px 24px;font-size:12px;color:#576952;line-height:1.7}.source-body>p{margin:12px 0}.source-body h3{font-size:11px;margin:22px 0 12px}.source-timestamps{display:grid;gap:8px;margin-top:18px;font-size:11px}.source-timestamps strong{color:var(--ink);font-weight:500}.available-dates{display:flex;flex-wrap:wrap;gap:6px}.date-chip{font-size:10px;padding:4px 8px;border:1px solid #d4dfd0;border-radius:5px;background:#ffffff80;font-variant-numeric:tabular-nums}.source-notes{padding-left:17px;margin-top:16px}.source-notes li+li{margin-top:8px}.page-footer{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:9px;color:#7e8c79;padding:30px 0}.page-footer>span:first-child{font-weight:650;color:#65785e}.footer-divider{padding:0 8px;color:#9eac95}.page-footer>span:last-child{text-align:right}
@media(min-width:600px){.workspace main{padding:36px 30px 0}.topbar{padding:0 30px}.access-label{display:block;font-size:10px;color:var(--muted)}.page-heading{flex-direction:row;justify-content:space-between;align-items:center;gap:24px}.update-stamp>div{flex-direction:column;gap:5px}.metrics-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.metric-featured{grid-column:auto}.metric-card{padding:23px 20px}.metric-value,.metric-featured .metric-value{font-size:35px;letter-spacing:-1.5px;margin-top:28px}.metric-label{font-size:11px}.metric-card>p{font-size:10px}.posts-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.post-cover{height:185px}.custom-dates{grid-template-columns:1fr 1fr auto;align-items:end}.custom-dates .button{grid-column:auto}.chart-panel{padding:26px 24px 0}.chart-container{height:260px}.chart-legend{margin-top:20px}.chart-footer p{font-size:11px}.chart-footer .text-button{font-size:11px}.segmented{flex:0 0 auto;margin-left:auto}.filter-panel{gap:14px;padding:12px 16px}.period-control{flex:0 1 auto;min-width:155px}.range-caption small{max-width:180px}.login-editorial h1{font-size:44px}.source-section summary{padding:20px 24px}.source-body{padding:0 24px 24px}.source-timestamps{grid-template-columns:1fr 1fr}.page-footer{font-size:10px}}
@media(min-width:1000px){.dashboard{display:grid;grid-template-columns:216px minmax(0,1fr)}.sidebar{display:flex;position:sticky;top:0;height:100svh;flex-direction:column;border-right:1px solid var(--line);background:#f0f3ed;padding:32px 20px}.sidebar-brand{padding:0 10px;min-height:44px;display:flex;align-items:center;font-size:27px}.sidebar-caption{font-size:8px;letter-spacing:1.5px;color:#7d8c74;margin:46px 10px 17px;font-weight:600}.sidebar nav{display:flex;flex-direction:column;gap:6px}.nav-link{display:flex;align-items:center;gap:12px;min-height:46px;padding:10px 14px;font-size:12px;color:#728167;border-radius:8px}.nav-link svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:1.4}.nav-link.current{background:#e1eadc;color:#2d603a;font-weight:600}.nav-link:hover{background:#e5edde}.sidebar-note{display:flex;gap:9px;margin:34px 12px;font-size:10px;line-height:1.8;color:#7b8971}.sidebar-note .small-dot{margin-top:6px;background:#a3b598;width:5px;height:5px}.sidebar-bottom{display:flex;flex-direction:column;gap:9px;margin-top:auto;border-top:1px solid #dfe6d9;padding:23px 10px 0;font-size:10px;color:#708164}.sidebar-bottom .eyebrow{font-size:8px;color:#748b67}.sidebar-bottom small{font-size:9px;color:#8b9882}.mobile-brand{display:none}.desktop-breadcrumb{display:inline}.desktop-breadcrumb>span{padding:0 10px;color:#a1ad98}.topbar{height:76px;padding:0 40px}.workspace main{padding:39px 40px 0}h1{font-size:42px}.page-heading{margin-bottom:30px}.client-line{margin-top:14px}.client-line strong{font-size:13px}.update-stamp{font-size:10px}.page-heading .eyebrow{font-size:9px}.metrics-grid{margin-top:22px;gap:16px}.metric-card{padding:24px}.metric-value,.metric-featured .metric-value{font-size:39px}.metric-label{font-size:11px}.filter-divider{display:block;width:1px;height:30px;background:var(--line)}.filter-panel{gap:18px}.chart-panel{margin-top:24px;padding:26px 26px 0}.chart-container{height:250px;margin-top:22px}.chart-footer{min-height:57px}.section-heading h2{font-size:21px}.contents{margin-top:34px}.post-title{font-size:15px}.post-main{padding:19px}.post-cover{height:177px}.login-screen{grid-template-columns:1fr 1fr}.login-story{padding:48px 60px}.login-editorial{padding:70px 0}.login-editorial h1{font-size:52px;letter-spacing:-2.5px}.login-footnote{display:block}.login-panel{padding:60px}.page-footer{padding:32px 0}}
@media(min-width:1280px){.dashboard{grid-template-columns:230px minmax(0,1fr)}.workspace main{padding-left:46px;padding-right:46px}.topbar{padding-left:46px;padding-right:46px}.posts-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.metric-value,.metric-featured .metric-value{font-size:43px}.metric-label{font-size:12px}.metric-card>p{font-size:11px}.post-kpi dd{font-size:20px}.post-cover{height:180px}.range-caption small{max-width:none}.period-control{min-width:175px}}
@media(max-width:359px){.workspace main{padding-left:14px;padding-right:14px}.topbar{padding:0 14px}.breadcrumb{gap:8px;font-size:10px}.metric-value{font-size:25px}.metric-label{font-size:10px}.metric-card{padding:18px 12px}.post-kpi dd{font-size:17px}.page-footer{font-size:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.post-card:hover .post-cover img{transform:none}}
