/* Shared Angeli Systems visual design: independently running HTML apps retain their own logic */
:root{--as-blue:#286af5;--as-blue-dark:#174bd8;--as-border:#dce6f4;--as-ink:#122648;--as-muted:#697993;--as-surface:#fff;--as-page:#f1f6fe;--as-shadow:0 12px 32px #173f8611}
body.climate-page,body.finance-page{background:linear-gradient(135deg,#ebf3fe,#f7fafe 45%,#eaf2fd);color:var(--as-ink);font-family:Inter,"Segoe UI",Arial,sans-serif}
body.climate-page header,body.finance-page header{background:#ffffffd9;border-bottom:1px solid #dce7f6;box-shadow:none;backdrop-filter:blur(16px)}
body.climate-page header .shell,body.finance-page header .container{max-width:1510px}
body.climate-page a.brand,body.finance-page a.brand,body.studio-page a.brand{display:inline-flex!important;align-items:center!important;gap:9px!important;font:inherit!important;letter-spacing:0!important;text-decoration:none!important;text-transform:none!important;white-space:nowrap!important}
.brand-mark{width:35px;height:35px;display:block;flex-shrink:0}
body.climate-page .brand-words,body.finance-page .brand-words,body.studio-page .brand-words{font-size:22px;letter-spacing:-.075em;font-weight:780;color:#102650;line-height:1}
body.climate-page .brand-words b,body.finance-page .brand-words b,body.studio-page .brand-words b{color:#2877fd;font-weight:480;font-size:1.16em;margin:0 3px}
body.climate-page .back,body.finance-page header a:last-child{font-size:12px;color:#617795}
body.climate-page .lang,body.studio-page .lang{background:#eaf2ff;border:0;padding:4px;border-radius:40px;gap:3px}
body.climate-page .lang button,body.studio-page .lang button{border-radius:30px;color:#61799e;padding:7px 11px}
body.climate-page .lang button[aria-pressed=true],body.studio-page .lang button[aria-pressed=true]{background:#fff;color:#2868eb;box-shadow:0 2px 8px #2764bd20}
body.climate-page .shell{max-width:1490px}
body.climate-page .nav{height:74px}
body.climate-page .topline{margin:31px 0 20px;gap:22px;align-items:center}
body.climate-page .kicker{color:#4771bd;font-size:10px;letter-spacing:.15em}
body.climate-page .topline h1{font-size:clamp(32px,3.5vw,52px);color:#112750;letter-spacing:-.055em;margin:5px 0}
body.climate-page .topline h1 span{color:#286af5}
body.climate-page .topline .lede{color:#6b7a94;font-size:13px;max-width:720px}
body.climate-page .dataset{background:#fff;color:#7486a0;border:1px solid #dce8f7;border-radius:25px;padding:8px 13px;font-size:11px}
body.climate-page .dashboard{grid-template-columns:minmax(0,1.86fr) minmax(280px,.9fr);gap:16px}
body.climate-page .panel{background:#fff;border:1px solid #dce7f5;border-radius:23px;box-shadow:var(--as-shadow);overflow:hidden}
body.climate-page .panel-head{border-color:#e9eef7;padding:15px 19px}
body.climate-page .panel-title{font-size:15px;font-weight:800;color:#17325b}
body.climate-page .status-warn{font-size:10px;color:#6d819f}
body.climate-page .controls{background:#fbfdff;padding:15px;border-bottom:1px solid #e5edf8;gap:12px}
body.climate-page .field label{color:#647694;font-size:11px;font-weight:740}
body.climate-page .controls select,body.climate-page .lookup input,body.climate-page .comparison input{border:1px solid #dce6f3!important;background:#f8fbff!important;color:#203a65!important;border-radius:12px!important;min-height:41px}
body.climate-page .period-tabs{background:#e9f1ff;border-radius:13px;padding:4px}
body.climate-page .period-tabs button{color:#597298}
body.climate-page .period-tabs button.active{background:#286bfa!important;color:white!important;box-shadow:0 4px 10px #286bf933}
body.climate-page .map-frame{background:#bbd8e9;border-radius:0;min-height:440px;height:clamp(440px,45vw,635px)}
body.climate-page .map-edge{background:#fff;border-color:#e6effb}
body.climate-page .map-actions button{border-radius:11px;color:#2b5dc3}
body.climate-page .detail,body.climate-page .lookup,body.climate-page .comparison{padding:20px}
body.climate-page .detail h2{color:#122d62}
body.climate-page .fig-score{background:#eaf3ff}
body.climate-page .fig-score strong{color:#286af5}
body.climate-page .fig strong{color:#223b65}
body.climate-page .source-note{background:#f2f6fe;border-left-color:#83b3fa}
body.climate-page .lookup{margin-top:0}
body.climate-page .notes{color:#6d7f9c;font-size:11px}
body.finance-page .container{max-width:1490px}
body.finance-page header .container{min-height:74px}
body.finance-page main{padding:31px 0 65px}
body.finance-page .top{margin:0 0 23px}
body.finance-page .eyebrow{color:#4771bd}
body.finance-page .top h1{font-size:clamp(34px,3.5vw,53px);margin:4px 0 8px;color:#12264f}
body.finance-page .top h1 em{color:#286bf5}
body.finance-page .top p{color:#6b7f9d}
body.finance-page .pill{border-color:#dfe9f6;background:white;color:#496899}
body.finance-page .layout{grid-template-columns:minmax(340px,410px) minmax(0,1fr);gap:15px}
body.finance-page .panel{background:#fff;border:1px solid #dfe8f7;border-radius:22px;box-shadow:var(--as-shadow)}
body.finance-page .form{max-height:calc(100vh - 104px);padding:21px;gap:0 12px}
body.finance-page .group-title{color:#3f6fc6}
body.finance-page .field input{border-color:#dce6f5;background:#f7faff;border-radius:11px}
body.finance-page .btn.dark{background:#286bf5;border-color:#286bf5;color:white;border-radius:12px}
body.finance-page .btn.dark:hover{background:#114fd0}
body.finance-page .btn{border-radius:11px}
body.finance-page .main-panel{gap:14px}
body.finance-page .kpi.primary{background:linear-gradient(135deg,#14377d,#286cf3);border:0}
body.finance-page .kpi{border-radius:15px;background:#f3f7fd;border-color:#e9eff9}
body.finance-page .kpi .num{color:#19315c}
body.finance-page .kpi.primary .num{color:white}
body.finance-page .period-tag{background:#edf4ff;border-color:#e2ecf9;color:#3064be}
body.finance-page .chart-panel svg{max-width:100%}
body.finance-page .footer-note{color:#8191ac}
/* Short Studio retains dark canvas, sharing the same cobalt buttons, radii and typography */
body.studio-page{--bg:#07172f;--bg2:#0e2140;--panel:#122744;--line:#294466;--ink:#f3f7ff;--dim:#aebed8;--mint:#80b5ff;--green:#3578ee;background:radial-gradient(ellipse at 80% -15%,#123f82 0,transparent 47%),#07172c;color:#eaf2ff;font-family:Inter,"Segoe UI",Arial,sans-serif}
body.studio-page header{max-width:1510px;background:#0b1e3bde;border-bottom:1px solid #243d64;padding:13px 26px;min-height:76px}
body.studio-page .brand-words{color:#f1f7ff}
body.studio-page .home-link{color:#bbd1f2}
body.studio-page .lang{background:#172d4c}
body.studio-page .lang button{color:#bbd1ed}
body.studio-page .lang button[aria-pressed=true]{background:#3378ed;color:white}
body.studio-page main{max-width:1510px;padding:28px 26px 55px}
body.studio-page .intro{margin-bottom:23px}
body.studio-page .intro .eyebrow{color:#7faef5}
body.studio-page .intro h1{font-size:clamp(33px,3.6vw,55px);color:white;letter-spacing:-.055em}
body.studio-page .intro h1 span{color:#77b5ff!important}
body.studio-page .intro p:not(.eyebrow){color:#a7bbd8}
body.studio-page .free-chip{border-radius:30px;background:#173357;color:#bddeff;border:1px solid #315c91}
body.studio-page .workspace{grid-template-columns:minmax(0,1.12fr) minmax(430px,1fr);gap:17px}
body.studio-page .panel{border:1px solid #2c456a;border-radius:22px;background:#102641;box-shadow:0 16px 35px #010c2045;overflow:hidden}
body.studio-page .panel-title{border-bottom:1px solid #29435f;background:#122846}
body.studio-page .preview-wrap{background:#0c1d36}
body.studio-page .preview-card{border-radius:14px;overflow:hidden}
body.studio-page .transport{border-top:1px solid #29445e}
body.studio-page .btn.export{background:#2d72fc;border-color:#2d72fc;color:white}
body.studio-page .btn.export:hover{background:#1655d9}
body.studio-page .btn.primary{background:#183a6f;border-color:#2a5797;color:white}
body.studio-page .drop{border-radius:15px;background:#1a3659;border-color:#4a73aa}
body.studio-page .drop:hover{background:#214577}
body.studio-page .clip-row{background:#152e4f;border-color:#2e507c}
body.studio-page .clip-row.selected{background:#214478;border-color:#6ea5ff}
body.studio-page .control input,body.studio-page .control textarea,body.studio-page .control select,body.studio-page .caption-workspace textarea{background:#0a1d36!important;border-color:#355b88!important;color:#f8fbff!important;border-radius:12px!important}
body.studio-page .caption-indicator{background:#294a79;color:#c5ddff}
body.studio-page .editor .section+.section{border-color:#2b496e}
body.studio-page .foot{background:#0f2545;border-color:#2c496c}
body.studio-page .audio-line input[type=range]{accent-color:#4b91ff}
@media(max-width:1100px){body.climate-page .dashboard{grid-template-columns:1fr}body.climate-page .stack{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}body.climate-page .stack .detail{grid-column:1/-1}body.finance-page .layout{grid-template-columns:330px minmax(0,1fr)}body.studio-page .workspace{grid-template-columns:1fr}body.studio-page .editor{display:grid;grid-template-columns:1fr 1fr}}
@media(max-width:720px){.brand-mark{width:29px;height:29px}body.climate-page .brand-words,body.finance-page .brand-words,body.studio-page .brand-words{font-size:19px}body.climate-page .shell{padding:0 14px}body.climate-page .nav{height:65px}body.climate-page .topline{margin:25px 3px 17px}body.climate-page .topline h1{font-size:35px}body.climate-page .controls{grid-template-columns:1fr 1fr;padding:12px}body.climate-page .controls .period-field{grid-column:1/-1}body.climate-page .map-frame{height:355px;min-height:340px}body.climate-page .stack{display:grid;grid-template-columns:1fr}body.climate-page .stack .detail{grid-column:auto}body.finance-page .container{width:calc(100% - 25px)}body.finance-page main{padding-top:23px}body.finance-page header .container{min-height:65px}body.finance-page .top h1{font-size:36px}body.finance-page .layout{display:flex;flex-direction:column-reverse}body.finance-page .form{width:100%;max-height:none}body.finance-page .main-panel{width:100%}body.studio-page header{padding:12px 15px;min-height:65px}body.studio-page main{padding:20px 13px 45px}body.studio-page .intro h1{font-size:37px}body.studio-page .workspace{grid-template-columns:1fr}body.studio-page .editor{display:flex;flex-direction:column}}
