:root{color-scheme:light;--ocean-900:#123b5d;--ocean-700:#176b91;--ocean-500:#36a9cf;--surface:#fff;--line:#c6dce8;--text:#456b82;--muted:#6b8798}
*{box-sizing:border-box}html{background:#eef8fc}body{margin:0;background:linear-gradient(180deg,#e7f7fc 0%,#f8fcfe 42%,#eef8fc 100%);color:var(--text);font-family:Inter,Arial,sans-serif}.shell{width:min(1700px,100%);margin:auto;padding:18px 24px 28px}.polar-header{padding:30px 34px;border:1px solid #acdbea;border-radius:8px;background:linear-gradient(120deg,#fff 0%,#dff4fb 68%,#c9ebf7 100%);box-shadow:0 12px 30px rgba(30,105,143,.1)}h1,h2,h3{color:var(--ocean-900);letter-spacing:0}.polar-header h1{margin:0 0 8px;font-size:30px}.polar-header p{margin:0;max-width:1100px}.tabs{display:flex;overflow-x:auto;margin-top:12px;border-bottom:1px solid var(--line);background:#fff}.tab{flex:0 0 auto;padding:13px 17px;border:0;border-bottom:3px solid transparent;background:#fff;color:#41677e;font-weight:700;cursor:pointer}.tab.active{border-color:var(--ocean-500);background:#e5f6fb;color:var(--ocean-900)}.panel{display:none;padding:22px 2px;background:#fff}.panel.active{display:block}.section-note{margin:2px 0 14px;font-size:26px;line-height:1.3}.overview-intro h2{font-size:26px}.kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(145px,1fr));gap:10px}.kpi{padding:14px 16px;border-radius:6px;background:linear-gradient(135deg,#f7fcfe,#e3f4fa)}.kpi span,.kpi small{display:block}.kpi span{font-weight:700;color:var(--ocean-900)}.kpi strong{display:block;margin:7px 0 5px;color:var(--ocean-700);font-size:24px}.band{margin-top:22px;padding:22px 0;border-top:1px solid #c7dfe9}.eyebrow{margin:0 0 5px;color:var(--ocean-700);font-size:12px;font-weight:800;text-transform:uppercase}.pipeline{display:flex;max-width:1120px;margin:18px auto;flex-direction:column;align-items:center}.pipeline>article{width:min(100%,920px);padding:17px 20px;border:1px solid #c8dfe9;border-radius:6px;background:linear-gradient(135deg,#fbfeff,#e9f7fb)}.pipeline>article>b,.pipeline>article>strong,.pipeline>article>span{display:block}.pipeline>article>b{text-transform:uppercase;font-size:13px;color:var(--ocean-900)}.pipeline>article>strong{margin-top:4px;color:var(--ocean-700);font-size:27px}.pipeline>article>span{font-weight:700}.pipeline aside{display:grid;gap:3px;margin-top:12px;padding:10px 12px;border-left:4px solid #42b6d5;background:#f2fbfe}.pipeline ul{display:grid;grid-template-columns:1fr 1fr;gap:5px 24px}.pipeline>i{padding:4px;color:#73a9bd;font-size:23px;font-style:normal}.pipeline .final{background:linear-gradient(135deg,#e8f7fc,#ccecf7)}.split{display:grid;grid-template-columns:1fr 1fr;gap:40px}.note,.caption,.status-strip,.warning{padding:11px 14px;border-radius:6px;background:#edf8fc;line-height:1.5}.balance{margin:14px 0}.balance b{display:flex;justify-content:space-between}.balance i{display:block;height:13px;margin-top:6px;background:#2795bd}.balance.unknown i{background:#009e73}.model-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.model-grid article{padding:16px;border:1px solid var(--line);border-radius:6px}.model-grid h3{margin:6px 0}.controls{display:flex;align-items:end;flex-wrap:wrap;gap:12px;margin:14px 0;padding:14px;border:1px solid var(--line);background:#f7fbfd}.controls label,.controls fieldset{display:grid;gap:6px;color:var(--ocean-900);font-weight:700}.controls fieldset{display:flex;align-items:center;border:0}.controls legend{margin-right:10px}select,input,button{min-height:40px;padding:8px 11px;border:1px solid #b7d5e3;border-radius:5px;background:#fff;color:var(--text)}select[multiple]{min-width:210px;height:88px}button{cursor:pointer;font-weight:700}.controls button,.download{border-color:#2795bd;background:#2795bd;color:#fff}.question{display:grid;gap:5px;margin-bottom:16px;padding:13px 16px;background:#f3f9fc;font-size:18px;line-height:1.5}.plot-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.plot{width:100%;min-height:410px;border:1px solid var(--line);background:#fff}.plot.wide{min-height:520px}.table-title{margin:22px 0 9px;font-size:26px;font-weight:800}.table-title.compact{font-size:18px}.table-wrap{max-width:100%;max-height:520px;overflow:auto;border:1px solid var(--line);background:#fff}.data-table{width:100%;border-collapse:collapse;font-size:13px}.data-table th,.data-table td{padding:8px 10px;border:1px solid #d6e5ed;text-align:left;white-space:nowrap}.data-table th{position:sticky;top:0;z-index:1;background:#dff2f9;color:var(--ocean-900)}.data-table tr:nth-child(even) td{background:#f3f9fc}.download{margin:10px 0 16px}.task-key,.representation-key{margin:14px 0;padding:16px;background:#f3f9fc}.task-grid,.rep-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px}.task-item{display:grid;grid-template-columns:112px 1fr;gap:8px}.rep-item{display:grid;grid-template-columns:22px 1fr;gap:8px}.swatch{width:22px;height:16px;border:1px solid #263746}.loading{position:fixed;inset:auto 20px 20px auto;padding:12px 16px;border-radius:5px;background:var(--ocean-900);color:#fff}.loading.hidden{display:none}footer{text-align:center;color:var(--muted);font-size:12px}.institutional-footer{display:flex;justify-content:center;margin:32px 0 10px}.institutional-footer img{width:min(300px,72vw)}code{padding:2px 4px;background:#dff2f9;color:#0f5578}
@media(max-width:900px){.shell{padding:10px 12px}.polar-header{padding:22px 20px}.polar-header h1{font-size:25px}.kpi-grid,.model-grid,.split,.plot-grid,.task-grid,.rep-grid{grid-template-columns:1fr}.kpi-grid{grid-template-columns:1fr 1fr}.pipeline ul{grid-template-columns:1fr}.section-note{font-size:22px}}

/* Match Plotly: only solid series use a fully colored swatch. */
.swatch{background-color:#fff}
.pattern-solid{background-color:var(--swatch-color)}
.pattern-dots{background-image:radial-gradient(var(--swatch-color) 1.2px,transparent 1.3px);background-size:6px 6px}
.pattern-slash{background-image:repeating-linear-gradient(135deg,transparent 0 4px,var(--swatch-color) 4px 5px,transparent 5px 9px)}
.pattern-backslash{background-image:repeating-linear-gradient(45deg,transparent 0 4px,var(--swatch-color) 4px 5px,transparent 5px 9px)}
.pattern-horizontal{background-image:repeating-linear-gradient(0deg,transparent 0 4px,var(--swatch-color) 4px 5px,transparent 5px 9px)}
.pattern-vertical{background-image:repeating-linear-gradient(90deg,transparent 0 4px,var(--swatch-color) 4px 5px,transparent 5px 9px)}
.pattern-plus{background-image:linear-gradient(var(--swatch-color),var(--swatch-color)),linear-gradient(var(--swatch-color),var(--swatch-color));background-position:center;background-repeat:repeat;background-size:1px 8px,8px 1px}
.pattern-cross{background-image:repeating-linear-gradient(45deg,transparent 0 5px,var(--swatch-color) 5px 6px,transparent 6px 10px),repeating-linear-gradient(135deg,transparent 0 5px,var(--swatch-color) 5px 6px,transparent 6px 10px)}
