/* CEAS institutional visual language: typography, proportion, evidence-led motion. */
:root{--ceas-55-ink:#090909;--ceas-55-paper:#f3f3f3;--ceas-55-graphite:#131313;--ceas-55-rose:#e00000;--ceas-55-red:#c80000;--ceas-55-stroke:rgba(240,240,240,.16);--ceas-55-scale:clamp(22px,2.1vw,30px)}
html{scroll-behavior:smooth}body{font-feature-settings:"kern" 1,"tnum" 1;min-width:320px}body h1,body h2,body h3{font-optical-sizing:auto;text-wrap:balance}body p{overflow-wrap:break-word}body .brand,body .masthead .mast-main,body .hero-v45,body .radar-hero{transform:translateZ(0)}
/* Static content must remain visible without JS; animations opt in only after setup. */
html[data-ceas-motion="ready"] .ceas-v55-reveal{transition:opacity .72s cubic-bezier(.22,1,.36,1),transform .72s cubic-bezier(.22,1,.36,1);will-change:opacity,transform}
html[data-ceas-motion="ready"] .ceas-v55-reveal:not(.ceas-v55-visible){opacity:.75;transform:translateY(13px)}
html[data-ceas-motion="ready"] .ceas-v55-reveal.ceas-v55-visible{opacity:1;transform:none}
/* Calm focus-first surfaces across public site and dashboards. */
:where(.inst-card,.signal-card,.radar-row,.home-module,.feature-card,.intelligence-card,.pub-card){transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease}
:where(.inst-card,.signal-card,.home-module,.feature-card):hover{border-color:rgba(224,0,0,.38);box-shadow:0 18px 46px rgba(0,0,0,.11)}
:where(.primary-nav,.mobile-nav,.footer-links,.mast-actions) a{outline-offset:5px}
:where(.primary-nav,.mobile-nav,.footer-links,.mast-actions) a:hover{color:#e00000}
:where(.hero-v45 h1,.radar-hero h1,.inst-hero h1){letter-spacing:-.058em;line-height:1.04}
:where(.article-body,.inst-card p,.signal-card p){line-height:1.75}
:where(.topbar,.masthead){-webkit-backdrop-filter:saturate(110%);backdrop-filter:saturate(110%)}
:where(.radar-scope,.radar-v55,.inst-hero,.article-card){isolation:isolate}
/* Force accessible text contrast while preserving original CEAS color identity. */
:where(.inst-card,.radar-side,.signal-card,.article-card,.panel,.radar-v55) :where(input,textarea,select){min-width:0;max-width:100%}
:where(.site-footer,.radar-standard) a:focus-visible{outline:2px solid #e00000}
.ceas-v55-progress{position:fixed;top:0;left:0;height:2px;width:var(--v55-progress,0%);background:linear-gradient(90deg,#c80000,#e00000);pointer-events:none;z-index:99999}
@media(max-width:960px){:where(.radar-hero,.inst-hero) h1{font-size:clamp(38px,7vw,70px)}:where(.signal-card,.inst-card){min-width:0}}
@media(max-width:600px){.mast-actions a,.mast-actions button{min-height:44px}:where(.hero-v45 h1,.radar-hero h1,.inst-hero h1){letter-spacing:-.04em}:where(.article-card,.radar-console-main){overflow-wrap:anywhere}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}html[data-ceas-motion="ready"] .ceas-v55-reveal{transition:none!important;opacity:1!important;transform:none!important}.ceas-v55-progress{display:none}}
@media(prefers-reduced-transparency:reduce){:where(.masthead,.topbar){backdrop-filter:none!important;-webkit-backdrop-filter:none!important}}
/* International observatory / homepage. An editorial panel, not fabricated incident telemetry. */
.ceas-world-feed{margin:clamp(26px,4vw,70px) auto;background:#121212;color:#f1f1f1;border:1px solid #333333;max-width:1560px;padding:clamp(18px,4vw,58px);box-shadow:0 16px 72px rgba(0,0,0,.14)}
.ceas-world-head{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(210px,.55fr);gap:30px;align-items:end;border-bottom:1px solid #3e3e3e;padding-bottom:32px;margin-bottom:28px}
.ceas-world-kicker{font:700 11px ui-monospace,monospace!important;color:#e00000!important;letter-spacing:.2em!important}
.ceas-world-head h2{color:#f4f4f4!important;font-size:clamp(30px,4vw,69px)!important;line-height:1.07!important;font-weight:720!important;letter-spacing:-.06em!important;margin:14px 0!important}.ceas-world-head em{font-style:normal;color:#e00000}.ceas-world-head p{max-width:70ch;color:#bdbdbd!important;font-size:14px!important;line-height:1.65!important}
.ceas-world-controls{display:grid;gap:10px;align-content:end}.ceas-world-controls label{font:700 10px ui-monospace,monospace;color:#c80000;letter-spacing:.13em}.ceas-world-controls select,.ceas-world-controls button{width:100%;min-height:46px;border:1px solid #555555;background:#202020;color:#f7f7f7;padding:12px 15px;font:700 12px ui-monospace,monospace;cursor:pointer}.ceas-world-controls button{background:#c80000;border-color:#e00000}.ceas-world-controls button:disabled{opacity:.65;cursor:wait}.ceas-world-controls span{font:10px/1.55 ui-monospace,monospace;color:#e00000;min-height:30px}
.ceas-world-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:#3b3b3b;border:1px solid #3b3b3b}.ceas-world-article{display:flex;flex-direction:column;gap:15px;min-height:185px;background:#171717;padding:clamp(16px,2.2vw,29px);transition:background .2s}.ceas-world-article:hover{background:#212121}.ceas-world-article a{font-size:clamp(15px,1.3vw,20px);font-weight:640;line-height:1.37;letter-spacing:-.015em;text-decoration:none;color:#f2f2f2;overflow-wrap:anywhere}.ceas-world-article a:hover{color:#e00000}.ceas-world-meta{display:flex;justify-content:space-between;gap:10px;font:10px ui-monospace,monospace;color:#e00000;overflow-wrap:anywhere}.ceas-world-article small{margin-top:auto;font:9px ui-monospace,monospace;color:#9d9d9d;letter-spacing:.12em}.ceas-world-empty{background:#171717;color:#dddddd;text-align:center;grid-column:1/-1;padding:45px}.ceas-world-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:25px;flex-wrap:wrap}.ceas-world-bottom a{font-size:11px;font-weight:760;letter-spacing:.1em;color:#e00000;text-decoration:none}.ceas-world-bottom a:hover{text-decoration:underline}.ceas-world-bottom small{font:10px ui-monospace,monospace;color:#a5a5a5}
@media(max-width:900px){.ceas-world-head{grid-template-columns:1fr}.ceas-world-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:560px){.ceas-world-feed{padding:18px;margin:20px 12px}.ceas-world-list{grid-template-columns:1fr}.ceas-world-article{min-height:130px}.ceas-world-head{gap:15px}.ceas-world-head h2{font-size:32px!important}}
@media(prefers-reduced-motion:reduce){.ceas-world-article{transition:none}}
