/* FinSight illustrated theme. Self-hosted art, no third-party runtime requests. */
.config-form .stack-form{align-content:start}.config-form .consent{align-items:flex-start;line-height:1.6}.config-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.config-tools{margin-top:24px}.config-form label .small-label{display:block;color:#6d6c9d;font-size:12px;font-weight:500}.config-form input,.config-form select,.config-tools input,.config-tools select{max-width:100%;min-width:0}.config-form .notice{margin:0}.config-tools .admin-actions{align-items:flex-start}.config-tools .admin-actions form{margin-bottom:8px}@media(max-width:480px){.config-fields{grid-template-columns:1fr}.config-form .button,.config-tools .button{width:100%;white-space:normal}.config-form .heading-with-icon{gap:10px}}
@font-face{font-family:Nunito;font-style:normal;font-weight:400 600;font-display:swap;src:url("fonts/nunito-regular.woff2") format("woff2")}
@font-face{font-family:Nunito;font-style:normal;font-weight:700 800;font-display:swap;src:url("fonts/nunito-bold.woff2") format("woff2")}
@font-face{font-family:Nunito;font-style:normal;font-weight:900;font-display:swap;src:url("fonts/nunito-black.woff2") format("woff2")}
:root{--ink:#243461;--muted:#536889;--blue:#386cf4;--blue-dark:#2653c8;--line:#d8e5fb;--bg:#f5f9ff;--radius:24px;--shadow:0 5px 22px #6183b90b;font-family:"Nunito","Segoe UI",sans-serif}
body{font-size:16px;line-height:1.7;background:radial-gradient(ellipse at 80% 0,#edf5ff,transparent 60%),#f8fbff}
.skip-link:not(:focus){clip-path:inset(100%);width:1px;height:1px;overflow:hidden}
h1,h2,h3{font-weight:800;letter-spacing:-.025em;color:var(--ink)}p{color:var(--muted)}a,button{touch-action:manipulation}img{max-width:100%}
.sidebar{width:180px;padding:18px 12px 24px;border-right:1px solid #dce9ff;background:linear-gradient(160deg,#f9fcff,#f3f8ff);overflow-y:auto}
.brand-icon{width:100%;height:auto;display:flex;flex-direction:column;gap:0;margin:0 0 28px;background:none;box-shadow:none;color:var(--ink)}
.brand-icon:hover{color:var(--ink)}.brand-icon img{width:72px;height:72px}.brand-icon strong{font-size:29px;line-height:1.15;letter-spacing:-1px}.brand-icon strong span{color:#406ce1}.brand-icon small{font-size:12px;color:#5b7096;margin-top:5px}
.sidebar nav{gap:8px}.nav-item{min-height:60px;flex-direction:row;justify-content:flex-start;text-align:left;gap:11px;font-size:15px;font-weight:700;padding:11px 13px;color:#43587f;border:1px solid transparent}
.nav-item.active{background:#e5eeff;border-color:#d8e5ff;color:#295ee2}.nav-item .icon{width:28px;height:28px;color:#5279d8;fill:#d8e6ff;stroke-width:1.8}.nav-item .art-icon{width:32px;height:32px}
.sidebar-footer{font-size:14px;color:#536889}.sidebar-footer .icon{color:#6d9e62;fill:#d8efb9;width:42px;height:42px}
.app-shell{margin-left:180px}.topbar{height:84px;padding:0 30px;background:#f6faff;border-bottom-color:#e5edfc}.wordmark{font-size:27px}.wordmark small{font-size:10px;letter-spacing:1px;color:#52698d}
.topbar-right{gap:18px}.topbar .quiet{font-size:14px}.topbar .quiet .icon{width:18px;height:18px}.topbar-greeting{display:flex;align-items:center;gap:8px;font-size:14px;color:#4e6386}.topbar-greeting .icon{color:#bd8100;fill:#fff0b7;width:28px;height:28px}
.icon-button{min-width:44px;min-height:44px}.button,.button-sm{font-size:15px;min-height:44px;border-radius:15px;padding:10px 18px}.button{box-shadow:inset 0 2px 0 #ffffff25}.button-soft{color:#2856b1}
main{max-width:1600px;padding:22px 28px 0}.text-link{font-size:15px;font-weight:750;color:#2959c5}.text-link .icon{width:18px;height:18px}.pill-link{padding:8px 16px;border:1px solid #b5ccfc;border-radius:30px;width:fit-content;background:#ffffff80}
.art-icon{width:76px;height:76px;object-fit:contain;flex-shrink:0;vertical-align:middle;filter:drop-shadow(0 4px 3px #7997c31a)}
.hero{padding:0;min-height:355px;grid-template-columns:minmax(0,1.08fr) minmax(0,1fr);background:linear-gradient(110deg,#fffefa,#f8fcff);border:1px solid #e1ebfb;overflow:hidden;border-radius:26px}
.hero-copy{padding:28px 0 28px 30px;align-self:center;min-width:0}.hero-kicker{font-size:20px;font-style:italic;letter-spacing:0;font-weight:700;color:#5071a9;margin-bottom:8px;gap:9px}.hero-kicker .icon{width:28px;height:28px;color:#bd8100}.hero-kicker>span{color:#f2b641;font-size:28px}
.hero h1{font-size:clamp(30px,2.8vw,45px);font-weight:900;line-height:1.2;letter-spacing:-.8px;margin-bottom:16px}.hero h1 span{color:#386cf4}.hero p{font-size:17px;line-height:1.65;max-width:520px;margin-bottom:20px;color:#536b94}
.hero-chips{display:flex;flex-wrap:wrap;gap:8px}.hero-chips>span,.hero-chips>a{display:flex;align-items:center;gap:9px;border-radius:17px;padding:10px 11px;background:#fff;border:1px solid #e1eaff;box-shadow:0 3px 6px #4569a60a}
.hero-chips strong,.hero-chips small{display:block;font-size:13px;line-height:1.5;white-space:nowrap}.hero-chips strong{font-weight:800;color:#2b3c69}.hero-chips small{color:#526b98}.hero-chips .icon{width:28px;height:28px;color:#547deb}.hero-chips>span:nth-child(2) .icon{color:#248461}.hero-chips>span:first-child .icon{color:#b87b00}
.hero-art{min-height:100%;transform:none;overflow:hidden;border-radius:0 24px 24px 0}.hero-illustration{width:100%;height:100%;object-fit:cover;object-position:58% center;position:absolute;inset:0}.hero-art:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fcfdfd,transparent 16%);pointer-events:none}
.hero-note{font-size:14px;position:absolute;top:auto;bottom:16px;right:18px;padding:8px 14px;color:#344879;background:#fffdf2eb;border:1px solid #fff;transform:rotate(-3deg);z-index:2;border-radius:14px;box-shadow:0 3px 12px #3c53831a}
.hero-note span{color:#dc6f90}.edition-strip{font-size:13px;color:#52698b;padding:17px 4px}.edition-strip strong{color:#435c82;font-weight:700}
.panel{border-color:#d2e2ff}.morning-panel{padding:24px}.section-heading{margin-bottom:20px;gap:16px}.heading-with-icon{gap:16px;min-width:0}.heading-with-icon>div{min-width:0}.section-heading h2{font-size:25px;margin:3px 0 3px}.section-heading p{font-size:15px}.edition-tag{display:inline-block;border-radius:25px;background:#f2689a;color:white;padding:3px 14px;font-size:12px;font-weight:800;letter-spacing:.6px}
.eyebrow{font-size:12px;letter-spacing:1px;color:#536c94}.first-edition{grid-template-columns:76px minmax(0,1fr) 100px;min-height:155px;padding:20px;gap:22px;background:linear-gradient(110deg,#f5faff,#fff);border-color:#cfdef7}
.first-edition h3{font-size:21px;margin:4px 0 7px}.first-edition p{font-size:15px;line-height:1.7;max-width:760px}.first-edition .text-link{font-size:14px}.empty-seal{font-size:13px;color:#5b6c87;padding-left:20px}.empty-seal .art-icon{width:54px;height:54px}
.headline-grid{gap:14px}.headline-card,.headline-card:first-child,.headline-card:last-child{border:1px solid #dce7fa;padding:20px;border-radius:18px;background:#fcfdff}.headline-card h3{font-size:20px;line-height:1.45}.headline-card>p{font-size:15px}.headline-card .eyebrow{margin-top:18px}.badge{font-size:12px;padding:5px 11px}.badge.high{color:#ad3653;background:#ffe9f0}.badge.medium{color:#88620f;background:#fff3d5}.badge.watch{color:#21634e;background:#e4f6ed}.source-line{font-size:13px}.briefing-cta{font-size:15px;min-height:44px}
.analysis-heading{display:flex;align-items:center;gap:10px;font-size:21px;margin:24px 4px 12px}.analysis-heading .icon{color:#c48c20;fill:#ffecad;width:29px;height:29px}.analysis-heading>span{font-size:14px;font-weight:500;color:#536b8c;margin-left:auto}
.analysis-grid{gap:18px;margin:0 0 20px}.analysis-card{padding:23px 20px;min-height:0;border-radius:22px;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
.analysis-card.pink{background:linear-gradient(135deg,#fff3f7,#fffafd);border-color:#fac5d8}.analysis-card.blue{background:linear-gradient(135deg,#eff8ff,#f8fcff);border-color:#bbdaff}.analysis-card.green{background:linear-gradient(135deg,#f1fae9,#f9fff5);border-color:#c6e5b4}
.analysis-card-heading{display:flex;align-items:center;gap:10px;position:relative;margin-bottom:17px;min-height:76px}.analysis-card-heading>.art-icon{width:70px;height:70px}.analysis-card-heading>div{min-width:0}.analysis-card h2{font-size:23px;line-height:1.25;margin-bottom:6px;letter-spacing:-.6px}.analysis-subtitle{font-size:14px;line-height:1.5;margin:0;color:#49668e}.step-number{position:absolute;top:-14px;right:-9px;font-size:24px;color:#637aa9;opacity:.55;font-weight:500}
.analysis-description,.analysis-card ul{font-size:16px;line-height:1.75;color:#4c6287;margin-bottom:20px}.analysis-card .text-link{margin-top:auto;font-size:14px}.analysis-card.pink .pill-link{border-color:#f6b1ca;color:#ae365e}.analysis-card.green .pill-link{border-color:#a4d3a7;color:#276d45}
.insight-row{grid-template-columns:minmax(0,1.65fr) minmax(300px,1fr);gap:18px;margin:20px 0}.chat-panel{padding:22px;background:linear-gradient(120deg,#f5f2ff,#fcfbff);border-color:#d4c9ff}
.chat-panel .heading-with-icon h2{font-size:24px}.chat-panel .art-icon{width:58px;height:58px}.chat-panel .section-heading p{font-size:15px}.chat-panel .small-label{display:none}
.chat-input{background:white;border-color:#d7cdfa;border-radius:18px;padding:7px 7px 7px 14px;align-items:center}.chat-input textarea{width:100%;min-height:64px;max-height:240px;resize:vertical;background:transparent;border:0;color:var(--ink);font:inherit;font-size:16px;line-height:1.5;padding:8px 0;display:block}.chat-input textarea::placeholder{color:#657696}.chat-input textarea:focus-visible{outline:2px solid #9a8ae4;outline-offset:3px;border-radius:5px}
.chat-input .button{width:46px;height:46px;min-height:46px;border-radius:15px;background:#7656d4}.suggestions{gap:8px}.suggestions button{font-size:13px;padding:8px 11px;min-height:36px;background:#ece9ff;color:#534391;border:1px solid #ddd6fa}.suggestions button:disabled{opacity:.55}
.fineprint{font-size:13px;line-height:1.65;color:#536584}.trust-panel{display:block;padding:24px;background:linear-gradient(130deg,#fff8e6,#fffdf5);border-color:#f7dfa1}.trust-heading{display:flex;align-items:center;gap:14px;margin-bottom:12px}.trust-heading .art-icon{width:64px;height:64px}.trust-panel h3{font-size:23px;line-height:1.35;margin:0}.trust-panel p{font-size:15px;line-height:1.65;margin:9px 0;color:#536584;display:flex;align-items:flex-start;gap:8px}.trust-panel p .icon{width:18px;height:18px;margin-top:4px;color:#8c741c}.trust-panel .text-link{font-size:14px;margin-top:13px}
.subscribe-band{grid-template-columns:75px minmax(0,1.05fr) minmax(0,1fr);padding:25px;gap:20px;background:linear-gradient(120deg,#edf2ff,#f2f7ff);border:1px solid #c6d9ff;border-radius:26px}.subscription-art{width:75px;height:75px;background:none;box-shadow:none;transform:none}.subscription-art .art-icon{width:75px;height:75px}.subscribe-copy .eyebrow{font-size:11px;letter-spacing:.7px}.subscribe-copy h2{font-size:24px;line-height:1.35}.subscribe-copy p{font-size:15px;line-height:1.65;margin-bottom:0}
.subscribe-form{grid-column:auto;max-width:none;margin:0}.input-with-button{border-radius:30px;background:white;padding:5px;border-color:#cfdefb}.input-with-button input{font-size:16px;padding:9px 10px}.input-with-button .button{border-radius:25px;font-size:14px;padding:10px 15px}.consent{font-size:13px;line-height:1.6;color:#536584;align-items:flex-start;flex-wrap:wrap;gap:5px}.consent input{width:17px;height:17px;flex-shrink:0;margin-top:3px}.consent a{text-decoration:underline}.form-message{font-size:13px;color:#536584;line-height:1.6}.form-message.is-error{color:#9e2840}.form-message.is-success{color:#276d45}
.footer{font-size:13px;line-height:1.6;color:#536584;padding:25px 0;flex-wrap:wrap;gap:12px}.footer>div{flex-wrap:wrap;gap:14px}.footer a{text-decoration:underline;text-underline-offset:3px}
/* Shared reading sizes, including the admin and article views. */
.page-heading>p,.archive-card>p,.empty-state p,.auth-card>p,.method-card p,.prose p,.prose li,.story-section p,.chat-welcome p{font-size:17px;line-height:1.8}
.page-heading>p,.archive-card>p,.empty-state p,.auth-card>p,.method-card p,.prose p,.prose li,.story-section p,.chat-welcome p,.story-section h3 small,.article-header>p,.stack-form label,.admin-tabs a,.review-details,.evidence-text{color:var(--muted)}
.admin-tabs a.selected{color:#2b55b5}
.page-heading h1{font-size:38px}.archive-card h2{font-size:27px}.archive-search input,.stack-form input{font-size:16px}.stack-form label{font-size:15px}.auth-card{max-width:530px}.auth-card h1{font-size:30px}
.archive-date,.archive-bottom,.pagination,.article-meta,.back-link,.priority-reason,.toc-note p,.article-toc>a,.story-sources>a,.story-sources>span,.chat-time,.chat-sources,.chat-principles,.notice{font-size:14px;color:#4e6486}
.story-sources small{font-size:13px;color:#536584}.story-section h3{font-size:21px}.story-section h3 small{font-size:13px}.article-header>p{font-size:19px}.story h2{font-size:28px;line-height:1.4}.chat-answer,.chat-question{font-size:16px;line-height:1.8;overflow-wrap:anywhere}.chat-welcome h3{font-size:27px}
.admin-tabs a,.settings-list,table,summary,.review-details,.retry-form{font-size:15px}.metric div>span,.connection,th,.status-label,.domain-list span,.audit-list>div,.evidence-text,code,.toast,.small-label{font-size:13px}.metric strong{font-size:30px}.settings-list dt,.settings-list dd,td,th,.metric div>span,.connection,.audit-list time,.audit-list strong,.audit-list span,.domain-list span{color:#4f6587}.admin-panel h2{font-size:25px}.evidence-text{line-height:1.8}.metric{min-width:0}.metric div{min-width:0}.admin-actions .button{font-size:14px;min-height:44px}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #6b74d2;outline-offset:3px}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.analysis-card:hover{transform:translateY(-4px);box-shadow:0 10px 24px #4968a714}.nav-item:hover .art-icon,.heading-with-icon:hover .art-icon,.trust-heading:hover .art-icon{transform:rotate(-7deg) scale(1.07)}.art-icon{transition:transform .22s ease}.hero-note{animation:hello-note 1.2s ease-out 1}@keyframes hello-note{from{opacity:0;transform:translateY(8px) rotate(0)}to{opacity:1;transform:translateY(0) rotate(-3deg)}}}
@media(min-width:1600px){.hero h1{font-size:46px}.hero-copy{padding:38px}.hero{min-height:400px}.hero p{font-size:18px}.analysis-card h2{font-size:25px}}
@media(max-width:1250px){.sidebar{width:158px;padding:18px 9px}.nav-item{font-size:14px;gap:8px;padding:10px}.app-shell{margin-left:158px}.topbar-greeting{display:none}main{padding:20px}.topbar{padding:0 20px}.hero-copy{padding:24px 0 24px 24px}.hero h1{font-size:34px}.hero p{font-size:16px}.hero-chips{gap:6px}.hero-chips>span,.hero-chips>a{padding:8px;gap:6px}.hero-chips strong,.hero-chips small{font-size:12px}.hero-chips .icon{width:23px;height:23px}.hero{grid-template-columns:1.2fr 1fr}.analysis-card-heading{display:block;padding-right:10px}.analysis-card-heading .art-icon{width:68px;height:68px;margin-bottom:8px}.analysis-card h2{font-size:23px}.subscribe-band{grid-template-columns:75px 1fr}.subscribe-form{grid-column:1/-1;max-width:660px;width:100%;margin:auto}.insight-row{grid-template-columns:minmax(0,1.6fr) minmax(270px,1fr)}}
@media(max-width:980px){.sidebar{width:145px}.app-shell{margin-left:145px}.nav-item{padding:10px 7px;font-size:13px}.nav-item .art-icon{width:27px;height:27px}.brand-icon strong{font-size:27px}.topbar .desktop-only{display:none}.hero{grid-template-columns:1fr;min-height:0}.hero-copy{padding:26px}.hero h1{font-size:39px}.hero-art{height:270px;min-height:0;border-radius:0 0 24px 24px;display:block}.hero-illustration{object-position:50% 47%}.hero-art:after{background:linear-gradient(180deg,#fcfdfd,transparent 18%)}.hero-note{font-size:14px;right:15px;bottom:15px}.analysis-grid{grid-template-columns:1fr}.analysis-card-heading{display:flex;padding:0;margin-bottom:14px}.analysis-card-heading .art-icon{margin:0;width:76px;height:76px}.analysis-description{font-size:16px}.analysis-card h2{font-size:25px}.analysis-heading>span{display:none}.insight-row{grid-template-columns:1fr}.first-edition{grid-template-columns:65px minmax(0,1fr)}.empty-seal{display:none}.first-edition h3{font-size:20px}.section-heading h2{font-size:24px}.morning-panel .section-heading{flex-wrap:wrap}.headline-grid{grid-template-columns:1fr}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.article-toc{display:none}.trust-panel{display:block}.trust-panel h3 br{display:none}.trust-panel p{font-size:16px}}
@media(max-width:700px){.sidebar{width:210px;visibility:hidden;transform:translateX(-100%);padding:20px 15px}.menu-open .sidebar{visibility:visible;transform:translateX(0)}.menu-open .app-shell:before{inset:76px 0 0 210px;pointer-events:auto}.nav-item{font-size:16px;padding:12px;gap:12px}.nav-item .art-icon{width:34px;height:34px}.sidebar-footer{font-size:14px}.app-shell{margin-left:0}.topbar{height:76px;gap:8px;padding:0 12px}.topbar .wordmark{font-size:24px}.wordmark small{font-size:8px}.topbar-right .button{font-size:13px;padding:9px 11px;min-height:44px}.topbar-right .button .icon{width:17px;height:17px}.mobile-menu{display:grid}
main{padding:14px 12px 0}.hero-copy{padding:23px 19px}.hero h1{font-size:32px;line-height:1.25;letter-spacing:-.8px}.hero-kicker{font-size:19px;margin-bottom:10px}.hero p{max-width:none;font-size:16px;line-height:1.7}.hero-chips{gap:8px}.hero-chips>span,.hero-chips>a{flex:1 1 130px;padding:10px;gap:8px}.hero-chips strong,.hero-chips small{font-size:13px}.hero-art{height:220px}.hero-note{font-size:12px;padding:7px 12px}.edition-strip{font-size:13px;gap:7px;padding:16px 4px}
.morning-panel{padding:19px 16px}.heading-with-icon{gap:10px}.heading-with-icon>.art-icon{width:62px;height:62px}.section-heading h2{font-size:23px;line-height:1.3}.section-heading p{font-size:14px}.morning-panel .section-heading>.text-link{font-size:14px;max-width:none;margin:0}.first-edition{grid-template-columns:1fr;padding:18px;gap:10px}.first-edition .empty-art{width:65px;height:65px}.first-edition .eyebrow{font-size:11px}.first-edition h3{font-size:21px}.first-edition p{font-size:16px}.first-edition .text-link{font-size:14px}.headline-card,.headline-card:first-child,.headline-card:last-child{padding:20px}.headline-card h3{font-size:21px}.headline-card p{font-size:16px}
.analysis-heading{font-size:21px;margin:23px 3px 12px}.analysis-card{padding:22px 18px}.analysis-card h2{font-size:23px}.analysis-card-heading .art-icon{width:67px;height:67px}.analysis-subtitle{font-size:14px;margin:0}.analysis-description{font-size:16px;margin-bottom:17px}.step-number{font-size:22px;top:-14px;right:-7px}.analysis-card .text-link{font-size:14px}
.chat-panel{padding:20px 16px}.chat-panel .section-heading{display:flex}.chat-panel .heading-with-icon h2{font-size:24px}.chat-panel .section-heading p{font-size:14px}.chat-input textarea{font-size:16px}.suggestions button{font-size:13px;min-height:40px}.fineprint{font-size:13px}.trust-panel{padding:22px}.trust-panel h3{font-size:23px}.trust-panel .text-link{font-size:14px}
.subscribe-band{grid-template-columns:1fr;padding:22px 18px;gap:15px}.subscription-art{width:65px;height:65px}.subscribe-copy .eyebrow{font-size:11px}.subscribe-copy h2{font-size:25px}.subscribe-copy p{font-size:16px}.subscribe-form{grid-column:auto}.input-with-button input{font-size:16px;padding:10px 7px}.input-with-button .button{font-size:14px;padding:10px 13px}.input-with-button .button .icon{display:none}.consent,.form-message{font-size:13px}.footer{font-size:13px;padding:22px 3px}
.page-heading h1{font-size:32px}.article-header h1{font-size:30px}.article-meta{font-size:14px}.story{padding:23px 18px}.story h2{font-size:25px}.story-section p{font-size:17px}.story-section h3{font-size:20px}.story-section h3 small{font-size:13px}.prose p,.prose li,.method-card p{font-size:16px}.archive-search input{font-size:16px}.archive-search .button{font-size:14px}.auth-card>p{font-size:16px}.stack-form label{font-size:15px}
.admin-tabs a{font-size:14px;padding:9px 10px}.metric div>span{font-size:13px}.metric strong{font-size:27px}.metric .icon-tile{display:none}.admin-heading .button{font-size:14px}.admin-panel,.admin-draft{padding:20px 16px}.settings-list{font-size:14px}.audit-list>div{font-size:13px}.admin-actions .button{font-size:14px}.chat-welcome p{font-size:16px}.chat-welcome h3{font-size:25px}}
@media(max-width:370px){.hero h1{font-size:29px}.wordmark small{display:none}.topbar-right .button .icon{display:none}.analysis-card h2{font-size:21px}.analysis-card-heading .art-icon{width:56px;height:56px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.app-shell{margin:0}main{padding:0}.hero-art{display:none}.analysis-card{break-inside:avoid}}
