/* V3 / The Observer. Deliberately restrained: no neon planets, no dashboards. */
:root{--hot:#ef6a25;--pale:#f0e7db;--muted:#806960}
body{background:#050504}
.stage{background:radial-gradient(ellipse 45% 60% at 78% 48%,#30180d 0%,#100c09 49%,#060505 93%)}
.stage:before{content:"";position:absolute;inset:0;z-index:9;pointer-events:none;box-shadow:inset 0 0 105px #0009;opacity:.85}
.masthead,.footer{background:#070605de;backdrop-filter:blur(12px)}
.masthead{height:94px}
.main-view{inset:94px 0 110px;will-change:transform;transition:filter .18s}
.main-copy{padding-top:clamp(70px,10vh,134px)}
h1{font-size:clamp(90px,10vw,172px);text-shadow:0 0 16px #0006}
.effect-controls{display:flex;align-items:center;gap:14px;border-right:1px solid #58382b;padding-right:20px}
.control-toggle{background:none;border:0;color:#877267;font:9px/1.1 ui-monospace,Consolas,monospace;letter-spacing:1.5px;padding:10px 2px;white-space:nowrap}
.control-toggle strong{font-weight:600;color:var(--hot)}
.control-toggle[aria-pressed="false"] strong{color:#76665b}
.control-toggle:hover{color:#e7bb99}
.upper-right{gap:25px}
.portrait-zone{position:absolute;inset:0 0 0 auto;width:min(73vw,1020px);height:100%;transform:none!important;transition:none;cursor:default;pointer-events:none;z-index:1}
.portrait-art{position:absolute;right:0;bottom:-104px;width:min(68vw,860px);aspect-ratio:1;pointer-events:auto;cursor:crosshair;isolation:isolate;transform:translateZ(0);filter:drop-shadow(-36px 20px 65px #0005)}
.hero-portrait{width:100%;height:100%;display:block;object-fit:cover;object-position:center;user-select:none;filter:contrast(1.12) brightness(.70) saturate(.82);-webkit-mask-image:radial-gradient(ellipse 75% 77% at 51% 45%,#000 46%,#000e 67%,transparent 99%);mask-image:radial-gradient(ellipse 75% 77% at 51% 45%,#000 46%,#000e 67%,transparent 99%)}
.portrait-halo{inset:8% 8% 20%;background:radial-gradient(ellipse 56% 46% at 51% 38%,#ba4a2418,transparent 85%);filter:blur(30px);pointer-events:none}
.eye-layer{position:absolute;width:3.828%;height:3.828%;z-index:4;pointer-events:none;overflow:visible}
.eye-layer img{width:100%;height:100%;display:block;filter:brightness(.70) contrast(1.12) saturate(.82);will-change:transform}
.left-eye{left:41.79%;top:28.72%}.right-eye{left:57.25%;top:29.12%}
.portrait-art .face-ticks{left:29%;right:27%;top:21%;bottom:27%;opacity:.14}
.portrait-art .scanbeam{left:21%;width:60%;opacity:.18}
.portrait-art.is-near .face-ticks{opacity:.75}
.portrait-art.is-near .hero-portrait{filter:contrast(1.17) brightness(.79) saturate(.9)}
.portrait-art.is-near .eye-layer img{filter:brightness(.79) contrast(1.17) saturate(.9)}
.portrait-art.is-near{filter:drop-shadow(0 0 35px #7f2e1626)}
.approach-label{position:absolute;right:6%;top:24%;color:#d66836;text-shadow:0 2px 8px #000;font:9px ui-monospace,Consolas,monospace;letter-spacing:1.8px;display:flex;gap:8px;align-items:center;opacity:0;transition:opacity .2s;white-space:nowrap}
.approach-bar{display:inline-block;width:19px;height:1px;background:var(--hot)}
.stage.threatened .approach-label{opacity:1}
.stage.threatened .main-view{transform:translate3d(var(--shake-x,0px),var(--shake-y,0px),0)}
.stage.threatened .main-copy{filter:drop-shadow(1px 0 0 #e95a2460)}
.pressure-overlay{position:absolute;inset:0;z-index:12;background:radial-gradient(ellipse 42% 45% at 70% 40%,transparent 30%,#ea4a0e1a 99%);opacity:0;pointer-events:none;transition:opacity .25s}
.stage.threatened .pressure-overlay{opacity:1}
body.effects-enabled .stage,body.effects-enabled .stage button,body.effects-enabled .stage a,body.effects-enabled .portrait-art{cursor:none}
body.effects-enabled .reticle{border-color:#f9773b88;box-shadow:0 0 22px #ed5b2228;transform:translate(calc(-50% + var(--push-x, 0px)),calc(-50% + var(--push-y, 0px)));transition:width .1s,height .1s,border-color .1s;z-index:60}
body.effects-enabled .stage.threatened .reticle{width:36px;height:36px;border-color:#fa9a76}
body.effects-enabled .stage.threatened .reticle span{inset:15px}
.escape-decoy{position:absolute;z-index:6;right:6.5%;bottom:15%;border:1px solid #a34b2829;background:#0b080860;color:#b95e39;letter-spacing:2px;font:10px/1.1 ui-monospace,Consolas,monospace;padding:10px 13px;transition:color .2s,border-color .2s;--dodge-x:0px;--dodge-y:0px;transform:translate(var(--dodge-x),var(--dodge-y));white-space:nowrap}
.escape-decoy:hover{border-color:#ec793366;color:#ff9c5b}
.warning-crawl{position:absolute;z-index:11;bottom:110px;left:38px;right:0;height:26px;border-top:1px solid #f86c2c16;background:#0b0808a8;display:flex;align-items:center;overflow:hidden;pointer-events:none}
.warning-crawl>div{white-space:nowrap;font:9px ui-monospace,Consolas,monospace;letter-spacing:2.4px;color:#a65b3a;animation:crawl 26s linear infinite;min-width:100%;text-align:center}
@keyframes crawl{0%{transform:translateX(100%)}100%{transform:translateX(-110%)}}
.floating-alerts{position:absolute;inset:0;z-index:34;pointer-events:none;overflow:hidden}
.float-alert{position:absolute;min-width:185px;max-width:min(330px,74vw);width:max-content;padding:12px 16px 15px;background:#0b0908e8;border:1px solid #c66a3e63;border-left:3px solid #f07735;box-shadow:0 20px 70px #0009,0 0 40px #c14f2010;color:#eee0d1;opacity:0;transform:translateY(13px) scale(.96);transition:opacity .22s,transform .22s;contain:layout;backdrop-filter:blur(9px)}
.float-alert.visible{opacity:1;transform:translateY(0) scale(1)}
.float-alert.fading{opacity:0;transform:translateY(-12px) scale(.98)}
.float-alert .alert-top{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:10px;color:#ed763f;font:9px ui-monospace,Consolas,monospace;letter-spacing:1.6px}
.float-alert .alert-top span:last-child{color:#725f57}.float-alert .alert-text{font-family:Impact,'Arial Black',sans-serif;font-size:clamp(17px,2vw,25px);font-weight:700;line-height:1.08;letter-spacing:.5px;text-transform:uppercase}
.float-alert .alert-foot{font:8px ui-monospace,Consolas,monospace;color:#806960;margin-top:11px;letter-spacing:1.1px}
.incident-stamp{position:absolute;z-index:35;left:50%;top:47%;transform:translate(-50%,-50%) rotate(-3deg) scale(.92);color:#f78c58;opacity:0;pointer-events:none;font:clamp(48px,7vw,112px)/.95 Impact,'Arial Black',sans-serif;letter-spacing:1px;text-align:center;white-space:nowrap;text-shadow:4px 6px 0 #090403,0 0 35px #df612c55;filter:drop-shadow(0 10px 50px #000)}
.incident-stamp small{display:block;font:12px ui-monospace,Consolas,monospace;letter-spacing:5px;margin-top:18px}
.incident-stamp.show{animation:stampin 1.5s ease-out both}
@keyframes stampin{0%{opacity:0;transform:translate(-50%,-50%) rotate(-5deg) scale(1.12)}12%{opacity:1;transform:translate(-50%,-50%) rotate(-3deg) scale(1)}68%{opacity:1;transform:translate(-50%,-50%) rotate(-3deg) scale(1)}100%{opacity:0;transform:translate(-50%,-50%) rotate(-3deg) scale(.98)}}
.footer-right small{display:block;margin-top:4px;letter-spacing:1.4px;color:#7d675c}.footer-right small b{color:var(--hot);font-weight:400}
.look-notice{z-index:40}
body.calm .pressure-overlay,body.calm .eye-layer,body.calm .floating-alerts,body.calm .incident-stamp,body.calm .approach-label{display:none!important}
body.calm .main-view{transform:none!important}
body.calm .portrait-art{filter:none}
body.calm .warning-crawl>div{animation:none}
body.calm .escape-decoy{transform:none!important}
body.calm .reticle{display:none!important}
@media(max-width:1180px){.status{display:none}.upper-right{gap:14px}.effect-controls{gap:8px;padding-right:12px}.masthead{padding-left:calc(38px + 4%);padding-right:4%}}
@media(max-width:900px){.masthead{height:82px}.main-view{inset:82px 0 105px}.portrait-art{width:88vw;right:-22vw;bottom:-36px}.portrait-zone{width:100vw}.main-copy{padding-top:11vh}.warning-crawl{bottom:105px}.escape-decoy{bottom:20%;right:4%;font-size:9px}}
@media(max-width:640px){.stage{min-height:690px}.masthead{height:78px;padding:0 15px}.main-view{inset:78px 0 125px}.brand{font-size:12px}.brand-mark{width:25px}.header-links{gap:7px}.effect-controls{gap:6px;padding-right:10px}.control-toggle{font-size:8px;letter-spacing:.2px}.upper-right{gap:7px}.status{display:none}.main-copy{padding-top:clamp(35px,6vh,75px);margin-left:22px}.main-copy h1{font-size:clamp(74px,19.2vw,113px)}.portrait-art{width:146vw;right:-45vw;bottom:-26px}.portrait-zone{width:100vw}.face-ticks{display:none}.approach-label{top:44%;right:4%;font-size:7px;letter-spacing:1px}.escape-decoy{bottom:20%;right:16px;font-size:8px;padding:9px}.warning-crawl{left:0;bottom:125px;height:21px}.warning-crawl>div{font-size:7px;letter-spacing:1.5px}.watch-label{right:4%;top:auto;bottom:10%}.floating-alerts{z-index:34}.float-alert{min-width:140px;max-width:75vw;padding:8px 11px 12px}.float-alert .alert-text{font-size:18px}.incident-stamp{font-size:clamp(44px,11vw,72px)}.incident-stamp small{font-size:8px;letter-spacing:2px}.footer-right{display:none}}
@media(prefers-reduced-motion:reduce){.warning-crawl>div{animation:none}.float-alert,.pressure-overlay,.incident-stamp{animation:none!important;transition:none!important}}
