/* Star Davos V4 polish layer. Kept separate for clean rollback. */
:root {
  --v4-orange-glow: rgba(255,118,24,.34);
  --v4-blue-glow: rgba(39,169,255,.30);
}
.story { min-height: 1120vh; }
.story-spacer { height: 1120vh; }
.mission-console { box-shadow: 0 42px 130px rgba(0,0,0,.54), 0 0 60px rgba(39,169,255,.035), inset 0 0 0 1px rgba(255,255,255,.02); }
.console-topbar { position: relative; }
.console-topbar::after { content:""; position:absolute; left:0; right:0; bottom:-1px; height:1px; pointer-events:none; background:linear-gradient(90deg,transparent,rgba(255,118,24,.65),rgba(39,169,255,.55),transparent); transform:scaleX(calc(.18 + var(--story-p) * .82)); transform-origin:left center; }
.build-link { appearance:none; border:1px solid rgba(255,118,24,.55); border-radius:7px; padding:8px 11px; color:#fff5ec; background:rgba(255,118,24,.08); cursor:pointer; font:800 .64rem/1 ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing:.09em; transition:border-color .18s ease,background .18s ease,transform .18s ease,box-shadow .18s ease; }
.build-link:hover,.build-link:focus-visible { outline:none; border-color:var(--orange); background:rgba(255,118,24,.16); box-shadow:0 0 24px rgba(255,118,24,.12); transform:translateY(-1px); }
.scene { transition:opacity .24s linear,filter .24s linear; }
.scene:not(.is-active) { filter:saturate(.82) brightness(.85); }
.scene.is-active { filter:none; }
.arsenal-rail article { transform-origin:center bottom; transition:border-color .18s ease,box-shadow .18s ease; }
.arsenal-rail article:hover { border-color:rgba(39,169,255,.62); box-shadow:0 16px 44px rgba(0,0,0,.22); }
.constellation { isolation:isolate; filter:drop-shadow(0 18px 55px rgba(0,0,0,.34)); }
.constellation::before,.constellation::after { content:""; position:absolute; inset:4%; border-radius:50%; pointer-events:none; z-index:0; }
.constellation::before { background:radial-gradient(circle at center,rgba(255,118,24,calc(.05 + var(--peak-glow,0) * .11)) 0 16%,transparent 36%),radial-gradient(circle at center,transparent 0 46%,rgba(39,169,255,calc(.02 + var(--peak-glow,0) * .08)) 47%,transparent 67%); box-shadow:inset 0 0 80px rgba(39,169,255,calc(.02 + var(--peak-glow,0) * .08)); }
.constellation::after { inset:10%; background:conic-gradient(from var(--orbit-rot,0deg),transparent 0 20%,rgba(39,169,255,.16) 23%,transparent 27% 56%,rgba(255,118,24,.16) 59%,transparent 63% 100%); mask:radial-gradient(circle,transparent 0 55%,#000 56% 58%,transparent 59% 100%); opacity:calc(.24 + var(--peak-glow,0) * .76); }
.orbit { z-index:1; border-style:dashed; box-shadow:0 0 28px rgba(39,169,255,.04); }
.orbit-one { rotate:var(--orbit-rot,0deg); }
.orbit-two { rotate:calc(0deg - var(--orbit-rot,0deg)); }
.constellation-core { overflow:visible; transition:border-color .18s ease,box-shadow .18s ease,width .24s ease; }
.constellation-core::before { content:""; position:absolute; inset:-10%; border:1px solid rgba(255,118,24,calc(.14 + var(--dock,0) * .60)); border-radius:50%; opacity:calc(.20 + var(--dock,0) * .80); transform:scale(calc(.88 + var(--dock,0) * .34)); box-shadow:0 0 40px rgba(255,118,24,calc(.04 + var(--dock,0) * .16)); }
.constellation.is-docked .constellation-core { border-color:var(--orange); box-shadow:0 0 95px rgba(255,118,24,.32),inset 0 0 34px rgba(255,118,24,.08); }
.constellation.is-docked .orbit { opacity:.38; }
.constellation.lock-flash::before { box-shadow:inset 0 0 130px rgba(255,118,24,.16),0 0 70px rgba(255,118,24,.10); }
.project-node { transition:border-color .15s ease,box-shadow .15s ease,background .15s ease; }
.project-node::after { content:""; position:absolute; inset:-7px; border-radius:50%; border:1px solid transparent; pointer-events:none; }
.project-node.is-selected { background:linear-gradient(145deg,rgba(255,118,24,.12),#07162b 52%); box-shadow:0 0 32px rgba(255,118,24,.30),inset 0 0 18px rgba(255,118,24,.05); }
.project-node.is-selected::after { border-color:rgba(255,118,24,.55); box-shadow:0 0 22px rgba(255,118,24,.12); }
.project-node:focus-visible { outline:2px solid var(--yellow); outline-offset:5px; }
.dock-line { height:2px; z-index:1; box-shadow:0 0 12px rgba(255,118,24,.26); }
.mission-detail { position:relative; transition:border-color .18s ease,background .18s ease,box-shadow .18s ease,padding .18s ease; }
.mission-detail.is-locked { padding:18px 16px 14px; border:1px solid rgba(255,118,24,.38); border-radius:10px; background:rgba(255,118,24,.035); box-shadow:inset 0 0 32px rgba(255,118,24,.025); }
.mission-lock { display:inline-flex; margin-top:13px; padding:6px 8px; border:1px solid rgba(39,169,255,.34); border-radius:5px; color:var(--blue); font:800 .56rem/1 ui-monospace,monospace; letter-spacing:.10em; }
.mission-detail.is-locked .mission-lock { color:var(--orange); border-color:rgba(255,118,24,.62); box-shadow:0 0 18px rgba(255,118,24,.10); }
.public-repo-link { display:inline-flex; margin:10px 0 0 8px; color:var(--green); text-decoration:none; font:800 .56rem/1 ui-monospace,monospace; letter-spacing:.08em; }
.public-repo-link[hidden] { display:none; }
.public-repo-link:hover,.public-repo-link:focus-visible { color:#b6ffb8; outline:none; text-decoration:underline; }
.contact-actions { display:flex; flex-wrap:wrap; gap:9px; margin-top:18px; opacity:0; transform:translateY(12px); }
.contact-actions a,.contact-actions button { min-height:38px; display:inline-flex; align-items:center; justify-content:center; padding:0 12px; border-radius:6px; text-decoration:none; cursor:pointer; font:800 .60rem/1 ui-monospace,monospace; letter-spacing:.08em; }
.contact-actions a { border:1px solid rgba(255,118,24,.58); background:rgba(255,118,24,.10); color:#fff3e8; }
.contact-actions button { border:1px solid var(--line); background:rgba(39,169,255,.07); color:var(--ink); }
.contact-actions a:hover,.contact-actions a:focus-visible,.contact-actions button:hover,.contact-actions button:focus-visible { outline:none; filter:brightness(1.12); border-color:currentColor; }
@media (max-width:900px){
  .story{min-height:1080vh}.story-spacer{height:1080vh}
  .build-link{margin-left:auto;font-size:.53rem;padding:7px 8px}.console-status{margin-left:0}
  .identity-banner{height:auto;aspect-ratio:3.05/1;background:#04101f}.identity-banner img{object-fit:contain}
  .missions-copy h2{font-size:clamp(2.1rem,9vw,3.1rem)}.mission-detail{margin-top:16px}.mission-detail p{margin:7px 0;font-size:.82rem}.mission-detail small,.mission-detail b{font-size:.54rem}.mission-lock,.public-repo-link{font-size:.49rem}
  .constellation{width:min(44vh,350px);margin-top:-10px}
  .contact-actions{margin-top:13px}.contact-actions a,.contact-actions button{min-height:34px;font-size:.52rem}
}
@media (max-width:560px){
  .github-link{display:none}.console-topbar{gap:8px}.build-link{margin-left:auto}.console-status{margin-left:0}
  .identity-banner{margin-top:4vh}.scene-identity .identity-grid{margin-top:16px}
  .constellation{width:min(39vh,290px)}.project-node{width:54px;height:54px}.project-node b{font-size:.54rem}.project-node span{font-size:.43rem}
  .scene-contact .contact-copy h2{font-size:clamp(1.9rem,9.6vw,2.75rem)}.scene-contact .contact-copy>p{font-size:.84rem}.service-lines{margin-top:13px}.contact-actions{gap:6px}.contact-actions a,.contact-actions button{width:100%}.command-form{padding:14px}
}
@media (max-height:700px) and (min-width:700px){
  .identity-banner{height:min(34vh,230px)}.scene{padding-top:18px;padding-bottom:54px}.constellation{width:min(58vh,440px)}.contact-grid{gap:24px}.contact-copy h2{font-size:clamp(2.2rem,4vw,3.8rem)}
}
@media (prefers-reduced-motion:reduce){
  .arsenal-rail{transform:none!important;max-width:100%;overflow-x:auto;scroll-snap-type:x proximity}.arsenal-rail article{opacity:1!important;transform:none!important;scroll-snap-align:start}.orbit{rotate:0deg!important}.constellation::after{display:none}.contact-actions{transform:none!important}
}
