/* VANTAGE V4 / CINEMATIC SYSTEM
   Built as a visual layer over the V3 experience. */
:root{--void:#050410;--ink:#f5f3ff;--muted:#a8a4bd;--dim:#5f5a74;--violet:#7c3aed;--indigo:#6366f1;--cyan:#7dd3fc;--line:rgba(211,202,255,.11);--glass:rgba(9,7,22,.64)}
*{box-sizing:border-box}html{background:var(--void);scroll-behavior:auto}body{overflow-x:hidden;background:#050410;}
#world{opacity:.75;mix-blend-mode:screen;filter:saturate(.85)}
#cinemaCanvas{position:fixed;inset:0;width:100%;height:100%;z-index:2;pointer-events:none;mix-blend-mode:screen;opacity:.9}
.cinema-hud{position:fixed;inset:0;z-index:4;pointer-events:none;opacity:.7;transition:opacity .6s ease}.hud-corner{position:absolute;width:80px;height:80px;border-color:rgba(196,181,253,.18);border-style:solid}.hud-corner.tl{top:20px;left:20px;border-width:1px 0 0 1px}.hud-corner.tr{top:20px;right:20px;border-width:1px 1px 0 0}.hud-corner.bl{bottom:20px;left:20px;border-width:0 0 1px 1px}.hud-corner.br{bottom:20px;right:20px;border-width:0 1px 1px 0}.hud-readout{position:absolute;font:7px/1.6 'JetBrains Mono',monospace;letter-spacing:.16em;color:rgba(196,181,253,0.68);text-transform:uppercase}.hud-readout.left{left:25px;top:112px}.hud-readout.right{right:25px;top:112px;text-align:right}.hud-readout.bottom{left:25px;bottom:25px}.hud-meter{position:absolute;left:50%;top:24px;transform:translateX(-50%);width:min(260px,35vw);height:1px;background:rgba(196,181,253,.12);overflow:hidden}.hud-meter i{display:block;height:100%;width:0;background:linear-gradient(90deg,transparent,var(--violet),var(--cyan),transparent);box-shadow:0 0 18px var(--violet);transition:width .3s ease}.scene-tag{display:none;position:fixed;z-index:5;right:28px;bottom:28px;padding:9px 12px;border:1px solid rgba(196,181,253,.13);background:rgba(3,2,9,.5);backdrop-filter:blur(12px);font:11px 'JetBrains Mono';letter-spacing:.14em;color:rgba(230,226,255,0.68);pointer-events:none}
.boot{z-index:30}.boot:after{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 50%,rgba(99,102,241,.12),transparent 42%);pointer-events:none}.boot.done{animation:bootOut 1.15s cubic-bezier(.76,0,.24,1) forwards}@keyframes bootOut{to{opacity:0;visibility:hidden;transform:scale(1.03);filter:blur(12px)}}
/* kinetic text */
.kinetic-word{display:inline-block;overflow:hidden;padding-bottom:.22em;margin-bottom:-.22em}.kinetic-word span{display:inline-block;transform:translateY(110%);opacity:0}.is-live .kinetic-word span{animation:wordRise .9s cubic-bezier(.16,1,.3,1) forwards}@keyframes wordRise{to{transform:none;opacity:1}}
.hero{isolation:isolate}.hero:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 52%,rgba(99,102,241,.05),transparent 20%),radial-gradient(circle at 20% 80%,rgba(125,211,252,.02),transparent 28%);z-index:-1}.hero-field{transform-style:preserve-3d}.hero-field:before,.hero-field:after{content:'';position:absolute;inset:8%;border:1px solid rgba(196,181,253,.07);border-radius:50%;transform:rotateX(72deg) rotateY(12deg);animation:heroDisc 14s linear infinite}.hero-field:after{inset:17%;animation-duration:9s;animation-direction:reverse;opacity:.7}@keyframes heroDisc{to{transform:rotateX(72deg) rotateY(12deg) rotateZ(360deg)}}
.signal-strip{position:relative;z-index:6;overflow:hidden}.signal-track{animation-duration:32s!important}.signal-strip:before,.signal-strip:after{content:'';position:absolute;top:0;bottom:0;width:16vw;z-index:2;pointer-events:none}.signal-strip:before{left:0;background:linear-gradient(90deg,var(--void),transparent)}.signal-strip:after{right:0;background:linear-gradient(-90deg,var(--void),transparent)}
/* Decision: make the environment react */
.decision-stage{perspective:1100px}.decision-stage:before{content:'';position:absolute;inset:5%;background:radial-gradient(circle,rgba(99,102,241,.09),transparent 52%);filter:blur(10px);animation:breath 4s ease-in-out infinite}@keyframes breath{50%{transform:scale(1.12);opacity:.55}}.node{backdrop-filter:blur(15px);transition:transform .5s cubic-bezier(.16,1,.3,1),border-color .4s,box-shadow .4s}.node:hover{border-color:rgba(196,181,253,.4)!important;box-shadow:0 0 40px rgba(99,102,241,.12)}.decision-core{box-shadow:0 0 70px rgba(99,102,241,.16),inset 0 0 40px rgba(139,92,246,.06)}.decision-core:after{content:'';position:absolute;inset:-25px;border:1px solid rgba(125,211,252,.08);border-radius:50%;animation:corePulse 3s ease-in-out infinite}@keyframes corePulse{50%{transform:scale(1.12);opacity:.2}}
/* New cinematic interstitials */
.cinematic-portal{min-height:105svh;position:relative;display:grid;place-items:center;overflow:hidden;padding:0 6vw;background:transparent}.portal-noise{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:80px 80px;mask-image:radial-gradient(circle at center,#000 0,transparent 72%);opacity:.6}.portal-copy{position:relative;z-index:2;text-align:center;max-width:1100px}.portal-copy .portal-kicker{font:11px 'JetBrains Mono';letter-spacing:.25em;color:var(--dim);text-transform:uppercase}.portal-copy h2{font:700 clamp(32px,5vw,64px)/1.1 'Cormorant Garamond',serif;letter-spacing:-.01em;margin:26px 0}.portal-copy h2 em{font-family:'Cormorant Garamond';font-weight:500;color:#c4b5fd}.portal-copy p{max-width:560px;margin:auto;color:var(--muted);font-size:14px;line-height:1.8}.portal-ring{position:absolute;border:1px solid rgba(196,181,253,.12);border-radius:50%;left:50%;top:50%;transform:translate(-50%,-50%) rotateX(70deg);width:min(75vw,900px);height:min(75vw,900px);animation:portalSpin 20s linear infinite}.portal-ring:nth-child(2){width:min(48vw,580px);height:min(48vw,580px);animation-duration:13s;animation-direction:reverse}.portal-ring:nth-child(3){width:min(27vw,330px);height:min(27vw,330px);animation-duration:8s}.portal-core{position:absolute;width:5px;height:5px;background:#c4b5fd;border-radius:50%;left:50%;top:50%;box-shadow:0 0 35px 12px rgba(99,102,241,.45)}@keyframes portalSpin{to{transform:translate(-50%,-50%) rotateX(70deg) rotateZ(360deg)}}
/* Decision choices become command modules */
.choices button{position:relative;overflow:hidden}.choices button:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(139,92,246,.09),transparent);transform:translateX(-120%);transition:transform .7s}.choices button:hover:before{transform:translateX(120%)}.choices button.active{box-shadow:0 0 50px rgba(99,102,241,.14),inset 0 0 30px rgba(99,102,241,.04)}
/* Meridian gets a dimensional halo */
.meridian{position:relative;overflow:hidden}.meridian:after{content:'';position:absolute;width:60vw;height:60vw;right:-25vw;top:10%;border:1px solid rgba(125,211,252,.05);border-radius:50%;box-shadow:0 0 120px rgba(99,102,241,.05);animation:meridianHalo 18s linear infinite;pointer-events:none}@keyframes meridianHalo{to{transform:rotate(360deg)}}.orbit-core{box-shadow:0 0 90px rgba(99,102,241,.22),inset 0 0 50px rgba(125,211,252,.04)}.orbit-core:after{content:'';position:absolute;inset:-12px;border-radius:50%;border:1px solid rgba(125,211,252,.12);animation:coreScan 2.4s ease-in-out infinite}@keyframes coreScan{0%,100%{opacity:.15;transform:scale(.94)}50%{opacity:.55;transform:scale(1.05)}}
/* ARIA room */
.aria-room{perspective:1000px}.aria-room:after{content:'';position:absolute;inset:12% 8%;border:1px solid rgba(196,181,253,.07);transform:rotateX(68deg);box-shadow:0 0 80px rgba(99,102,241,.08);animation:roomOrbit 10s linear infinite}@keyframes roomOrbit{to{transform:rotateX(68deg) rotateZ(360deg)}}.aria-figure img{filter:contrast(1.1) brightness(1.1) drop-shadow(0 0 35px rgba(139,92,246,.3));animation:ariaFloat 5s ease-in-out infinite}@keyframes ariaFloat{50%{transform:translateY(-9px) scale(1.015)}}
/* Tool constellation becomes floating glass */
.tool-constellation{perspective:1200px}.tool-tile{backdrop-filter:blur(15px);transform-style:preserve-3d;transition:transform .5s cubic-bezier(.16,1,.3,1),border-color .4s,background .4s}.tool-tile:hover{transform:translateY(-10px) rotateX(4deg) rotateY(-4deg)!important;background:rgba(17,13,38,.84);border-color:rgba(196,181,253,.28);box-shadow:0 35px 90px rgba(0,0,0,.3),0 0 60px rgba(99,102,241,.08)}.tool-tile:after{content:'';position:absolute;inset:0;background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(196,181,253,.1),transparent 35%);pointer-events:none}
/* finance field */
.finance-field{box-shadow:inset 0 0 100px rgba(99,102,241,.05)}.finance-field:before{content:'HUMACITY / LIVE MODEL';position:absolute;left:24px;bottom:20px;font:11px 'JetBrains Mono';letter-spacing:.16em;color:rgba(196,181,253,0.62)}.flow-path{filter:drop-shadow(0 0 5px rgba(139,92,246,.25))}.fnode{transition:transform .5s}.fnode circle{animation:nodePulse 3.5s ease-in-out infinite}@keyframes nodePulse{50%{filter:drop-shadow(0 0 8px rgba(139,92,246,.45))}}
/* record */
.record-universe:before{content:'';position:absolute;width:65%;height:65%;border-radius:50%;background:radial-gradient(circle,rgba(99,102,241,.08),transparent 60%);filter:blur(20px);animation:recordGlow 5s ease-in-out infinite}@keyframes recordGlow{50%{transform:scale(1.15);opacity:.55}}.record-point{backdrop-filter:blur(12px);transition:transform .6s cubic-bezier(.16,1,.3,1),border-color .4s}.record-point:hover{border-color:rgba(196,181,253,.35);z-index:5}
/* final */
.final{min-height:115svh}.final:before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(0deg,transparent 0 7px,rgba(255,255,255,.01) 8px),radial-gradient(circle at center,rgba(139,92,246,.08),transparent 30%);mix-blend-mode:screen;pointer-events:none}.final-radial{animation:finalBreath 6s ease-in-out infinite}@keyframes finalBreath{50%{transform:scale(1.25);opacity:.7}}
/* tiny film frames */
.film-frame{position:absolute;width:clamp(120px,14vw,190px);aspect-ratio:4/5;border:1px solid rgba(196,181,253,.14);background:linear-gradient(145deg,rgba(196,181,253,.06),rgba(99,102,241,.015));overflow:hidden;opacity:.5;transform:rotate(var(--r));box-shadow:0 20px 70px rgba(0,0,0,.35);pointer-events:none}.film-frame:before{content:'';position:absolute;inset:0;background:linear-gradient(120deg,transparent 20%,rgba(196,181,253,.16) 48%,transparent 52%);animation:filmSweep 4s ease-in-out infinite}.film-frame:after{content:'';position:absolute;inset:12px;border:1px solid rgba(196,181,253,.08);background:repeating-linear-gradient(0deg,rgba(196,181,253,.04) 0 1px,transparent 1px 5px);mix-blend-mode:screen}@keyframes filmSweep{50%{transform:translateX(120%)}}.film-frame.f1{left:7%;top:22%;--r:-8deg}.film-frame.f2{right:8%;top:31%;--r:7deg}.film-frame.f3{left:14%;bottom:16%;--r:5deg}.film-frame.f4{right:14%;bottom:12%;--r:-6deg}
/* mobile */
@media(max-width:900px){#cinemaCanvas{opacity:.65}.cinema-hud{opacity:.35}.hud-corner{width:45px;height:45px}.hud-readout{display:none}.scene-tag{right:16px;bottom:16px}.cinematic-portal{min-height:90svh}.portal-ring{width:95vw!important;height:95vw!important}.portal-copy h2{font-size:9vw}.film-frame{opacity:.22}.meridian:after{display:none}}
@media(prefers-reduced-motion:reduce){#cinemaCanvas{display:none}.cinema-hud{display:none}.portal-ring,.film-frame,.aria-figure img,.final-radial{animation:none!important}}

/* =========================================================
   VANTAGE V7 / THE INTELLIGENCE ENGINE
   The interface behaves like a system, not a dashboard.
   ========================================================= */
:root{--v7-cyan:#7dd3fc;--v7-lav:#c4b5fd;--v7-indigo:#6366f1;--v7-hot:#a78bfa;--v7-green:#75f5bb;--v7-amber:#ffb547;--v7-red:#ff6b81}
body{--system-energy:.5;--system-risk:0;--system-precision:.45;--system-hue:260}
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:79;background:radial-gradient(circle at 50% 45%,rgba(99,102,241,calc(.025 + var(--system-energy)*.025)),transparent 34%),radial-gradient(circle at 75% 60%,rgba(125,211,252,calc(.012 + var(--system-precision)*.025)),transparent 28%);mix-blend-mode:screen;transition:background 1.2s ease}
.intel-rail{position:fixed;right:26px;top:50%;transform:translateY(-50%);z-index:7;width:132px;pointer-events:none;opacity:.46;font:11px 'JetBrains Mono';letter-spacing:.12em;color:rgba(196,181,253,0.68);transition:opacity .5s,transform .5s}
.intel-rail-head{display:flex;align-items:center;gap:7px;margin-bottom:13px;color:rgba(244,243,255,0.68)}
.intel-rail-head i{width:4px;height:4px;border-radius:50%;background:var(--v7-green);box-shadow:0 0 12px var(--v7-green);animation:v7Pulse 1.8s infinite}
.intel-row{position:relative;padding:8px 0 9px;border-top:1px solid rgba(196,181,253,.08);display:grid;grid-template-columns:1fr auto;gap:4px;align-items:end}
.intel-row>span{font-size:6px;color:rgba(196,181,253,0.62)}
.intel-row>b{font-size:7px;color:rgba(244,243,255,.6);font-weight:500;text-align:right}
.intel-row>i{grid-column:1/-1;height:1px;background:rgba(196,181,253,.06);overflow:hidden;display:block}
.intel-row>i em{display:block;width:38%;height:100%;background:linear-gradient(90deg,transparent,var(--v7-lav));box-shadow:0 0 10px var(--v7-indigo);transition:width .8s ease}
.intel-row:nth-child(2)>i em{width:72%}.intel-row:nth-child(3)>i em{width:56%}.intel-row:nth-child(4)>i em{width:22%}.intel-row:nth-child(5)>i em{width:88%}
@keyframes v7Pulse{50%{opacity:.25;transform:scale(.7)}}
.portal-readouts{display:flex;justify-content:center;gap:24px;margin-top:38px;flex-wrap:wrap;font:11px 'JetBrains Mono';letter-spacing:.12em;color:rgba(196,181,253,0.62)}
.portal-readouts span{padding-top:8px;border-top:1px solid rgba(196,181,253,.1)}.portal-readouts b{color:rgba(117,245,187,0.72);font-weight:500;margin-left:5px}
.portal-exit .portal-readouts{display:none}
/* decision field becomes a causal instrument */
.decision-stage{--field-alpha:.6;isolation:isolate}
.decision-stage:after{content:"";position:absolute;inset:0;z-index:0;background:radial-gradient(circle at 50% 50%,rgba(125,211,252,.04),transparent 18%),linear-gradient(90deg,transparent 49.9%,rgba(196,181,253,.035) 50%,transparent 50.1%);pointer-events:none}
.decision-causality{position:absolute;inset:0;z-index:1;pointer-events:none;opacity:.75;transition:opacity .6s}
.decision-causality svg{position:absolute;inset:0;width:100%;height:100%;filter:drop-shadow(0 0 5px rgba(125,211,252,.12))}
.decision-causality path{fill:none;stroke:url(#decisionFlow);stroke-width:1;stroke-dasharray:2 10;animation:v7Flow 7s linear infinite}
.decision-causality path:nth-child(2){animation-delay:-2s}.decision-causality path:nth-child(3){animation-delay:-4s}.decision-causality path:nth-child(4){animation-delay:-6s}
@keyframes v7Flow{to{stroke-dashoffset:-120}}
.field-readout{position:absolute;font:11px 'JetBrains Mono';letter-spacing:.1em;color:rgba(196,181,253,0.62);padding:7px 9px;border:1px solid rgba(196,181,253,.06);background:rgba(2,2,7,.36);backdrop-filter:blur(8px);transition:all .6s}
.field-readout b{color:rgba(244,243,255,0.72);font-weight:500;margin-left:4px}.fr1{left:33%;top:12%}.fr2{right:33%;top:12%}.fr3{left:33%;bottom:12%}.fr4{right:33%;bottom:12%}
.decision-state{position:absolute;left:50%;top:50%;z-index:4;transform:translate(-50%,132px);font:11px 'JetBrains Mono';letter-spacing:.12em;text-align:center;color:rgba(196,181,253,0.62);pointer-events:none;white-space:nowrap}.decision-state b{display:block;margin-top:5px;color:rgba(244,243,255,0.72);font-weight:500}
.decision-core{z-index:3;transition:transform .55s cubic-bezier(.16,1,.3,1),border-color .5s,box-shadow .7s,background .7s}
.decision-stage[data-state="defensible"] .decision-core{border-color:rgba(117,245,187,.5);box-shadow:0 0 110px rgba(117,245,187,.12),inset 0 0 60px rgba(117,245,187,.06)}
.decision-stage[data-state="risk"] .decision-core{border-color:rgba(255,107,129,.5);box-shadow:0 0 110px rgba(255,107,129,.13),inset 0 0 60px rgba(255,107,129,.06)}
.decision-stage[data-state="partial"] .decision-core{border-color:rgba(255,181,71,.45);box-shadow:0 0 100px rgba(255,181,71,.1)}
.node{z-index:3}
.decision-stage[data-state="defensible"] .node-policy{border-color:rgba(117,245,187,.35)}
.decision-stage[data-state="risk"] .node-money{border-color:rgba(255,107,129,.4)}
/* Case navigator: decision propagates beyond the result card */
.case-machine{transform:perspective(1300px) rotateX(var(--tiltX,0deg)) rotateY(var(--tiltY,0deg));transition:transform .7s cubic-bezier(.16,1,.3,1),border-color .5s,box-shadow .7s}
.case-machine[data-outcome="C"]{border-color:rgba(117,245,187,.25);box-shadow:0 30px 100px rgba(117,245,187,.06),inset 0 0 100px rgba(117,245,187,.025)}
.case-machine[data-outcome="A"],.case-machine[data-outcome="D"]{border-color:rgba(255,107,129,.25);box-shadow:0 30px 100px rgba(255,107,129,.07),inset 0 0 100px rgba(255,107,129,.025)}
.case-machine[data-outcome="B"]{border-color:rgba(255,181,71,.22)}
.case-machine[data-outcome="C"] .radar-dot{background:var(--v7-green);box-shadow:0 0 30px var(--v7-green)}
.case-machine[data-outcome="A"] .radar-dot,.case-machine[data-outcome="D"] .radar-dot{background:var(--v7-red);box-shadow:0 0 30px var(--v7-red)}
/* contextual locking */
.orbit-label{transition:transform .5s,border-color .5s,color .5s,box-shadow .5s}
.orbit-label.lit{border-color:rgba(125,211,252,.22);color:rgba(125,211,252,.65);box-shadow:0 0 30px rgba(125,211,252,.05)}
.orbit-label.lit b{color:var(--v7-lav)}
.meridian[data-calibrated="true"] .orbit-core{border-color:rgba(125,211,252,.34);box-shadow:0 0 120px rgba(125,211,252,.12),inset 0 0 60px rgba(125,211,252,.05)}
/* ARIA is a mode change, not a chat card */
.aria[data-mode="rehearsal"] .aria-room{background:radial-gradient(circle at 50% 45%,rgba(196,181,253,.18),transparent 28%),linear-gradient(180deg,#080614,#020207)}
.aria[data-mode="rehearsal"] .aria-ring{border-color:rgba(125,211,252,.3)}
.aria[data-mode="rehearsal"] .bubble.aria{box-shadow:0 0 50px rgba(99,102,241,.08)}
/* finance field: the same signal travels into money */
.humacity[data-mode="financial"] .finance-field{border-color:rgba(196,181,253,.18);box-shadow:inset 0 0 130px rgba(99,102,241,.07),0 30px 100px rgba(99,102,241,.04)}
.humacity[data-mode="financial"] .finance-caption strong{text-shadow:0 0 35px rgba(196,181,253,.65)}
/* Record: memory accumulates */
.record[data-memory="active"] .record-core{box-shadow:0 0 130px rgba(99,102,241,.22),inset 0 0 60px rgba(125,211,252,.05)}
.record[data-memory="active"] .record-point{border-color:rgba(196,181,253,.2)}
/* system state transitions */
body.system-risk #world{filter:saturate(1.35) hue-rotate(-8deg)}
body.system-risk #cinemaCanvas{opacity:1}
body.system-defensible #world{filter:saturate(1.05) hue-rotate(7deg)}
body.system-defensible .cinema-hud{opacity:.85}
body.system-partial #cinemaCanvas{opacity:.82}
/* less interface chrome at the moments of highest attention */
body.focus-state .intel-rail{opacity:.75;transform:translateY(-50%) translateX(-3px)}
body.focus-state .cinema-hud{opacity:.9}
@media(max-width:1100px){.intel-rail{display:none}}
@media(max-width:900px){.field-readout{font-size:6px}.fr1,.fr2{top:15%}.fr3,.fr4{bottom:15%}.decision-state{transform:translate(-50%,112px)}}
@media(max-width:560px){.portal-readouts{gap:10px;font-size:6px}.decision-causality{opacity:.45}.field-readout{padding:5px 6px}.fr1{left:8%;top:17%}.fr2{right:8%;top:17%}.fr3{left:8%;bottom:17%}.fr4{right:8%;bottom:17%}.decision-state{transform:translate(-50%,95px)}}
