/* Refinements for the exported portfolio preview. */
:root { --neon-green: #a4ff5c; --neon-green-soft: rgba(164,255,92,.18); }
/* Crisp, resolution-aware stars replace the Firefox-saved stretched canvas tiles. */
.cosmic-points { display:none !important; }
.space-background { background:#02040a !important; overflow:hidden; }
.space-background::before { display:none !important; }
.static-starfield { position:absolute; inset:0; width:100%; height:100%; display:block; }
.galaxy-position {
  isolation:isolate;
}
.galaxy-rotator { position:relative; width:100%; height:100%; animation:galaxyTurn 300s linear infinite; will-change:transform; }
.round-galaxy { animation:none !important; }
.galaxy-dust {
  position:absolute; inset:0; width:100%; height:100%; display:block;
  opacity:.78; pointer-events:none; mix-blend-mode:screen;
  border-radius:50%;
  -webkit-mask-image:radial-gradient(circle, #000 0 52%, #000b 63%, transparent 72%);
  mask-image:radial-gradient(circle, #000 0 52%, #000b 63%, transparent 72%);
}
/* The gentle galaxy veil spins in exact lockstep with the artwork. */
.galaxy-rotator::after {
  content:""; position:absolute; inset:10%; pointer-events:none; border-radius:50%;
  background:radial-gradient(circle,transparent 15%,rgba(115,147,190,.055) 42%,rgba(151,181,213,.09) 59%,transparent 72%);
  mix-blend-mode:screen;
}
/* Remove animated fire canvases on windows; retain their original amber glow. */
.solar-window > .corona-canvas,
.project-preview > .corona-canvas,
.orbit-window > .corona-canvas,
.category-trigger > .corona-canvas,
.concept-dialog > .corona-canvas,
.comparison-overlay .corona-divider { display:none !important; }
.solar-window { box-shadow:0 0 3px #ffe1a080,0 0 19px #ffaf395a,0 0 38px #ff8a182a,inset 0 0 12px #ffb32115; }
.solar-window::after { animation:none !important; opacity:.78; }
.comparison-overlay { filter:drop-shadow(0 0 9px rgba(255,178,72,.38)); }
/* Mid-bright neon green is a secondary accent, never a replacement for solar amber. */
.logo span, .links a:last-child span, .section-number, .service-orbit,
.category-note, .hero-signature i, summary b { color:var(--neon-green) !important; }
.eyebrow span, .service-orbit::after { background:var(--neon-green) !important; box-shadow:0 0 12px var(--neon-green) !important; }
.nav-note i, .links a:first-child::after { background:var(--neon-green) !important; box-shadow:0 0 10px var(--neon-green-soft) !important; }
a:focus-visible, button:focus-visible, summary:focus-visible, .compare-handle:focus-visible {
  outline:2px solid var(--neon-green) !important; outline-offset:5px;
}
.dexter-title span, .section-head h2, .services-intro h2 { text-wrap:balance; }
.links { font-size:11px !important; font-weight:700; letter-spacing:.11em; }
.links a { color:#eef3e8 !important; text-shadow:0 0 10px #ffffff35; }
.links a:hover { color:var(--neon-green) !important; }
.hero-copy h2 { font-size:clamp(28px,2.55vw,38px); font-weight:700; line-height:1.09; text-shadow:0 2px 18px #000b; }
.hero-copy p { color:#f0f1eb; font-weight:500; text-shadow:0 1px 8px #000b; }
.hero-copy { width:min(27%,350px); }
.chapter, .scroll-note, .hero-work-link > .mono,
.hero-signature, .section-number, .contact-note {
  font-weight:700; color:#dcf9cb !important; text-shadow:0 0 10px #a4ff5c35;
}
.scroll-note { font-size:10px !important; padding:9px 12px; background:#0d1b12b8; border:1px solid #a4ff5c45; border-radius:5px; }
.scroll-note span { color:var(--neon-green) !important; }
.compare-handle { box-shadow:0 0 0 5px #a4ff5c15,0 0 24px #a4ff5c5e,0 0 24px #ff9b4255; }
.compare-handle small { font-size:9px !important; font-weight:800; letter-spacing:.14em; }
.compare-labels > span { background:#0c1b13e8; border-color:#a4ff5c6e; font-size:9px; font-weight:800; color:#f3ffe9; }
.compare-labels i { font-size:8px; color:#d5e7d0; }
.text-link { font-weight:800; font-size:11px; }
.text-link:hover { color:var(--neon-green); }
.hero-action {
  display:inline-flex; align-items:center; gap:18px; padding:12px 15px; margin-top:12px;
  background:#a4ff5c14; border:1px solid #a4ff5c9c; border-radius:6px;
  color:#e9ffd9; font-size:11px; font-weight:800; letter-spacing:.025em;
  box-shadow:0 0 18px #a4ff5c18; transition:background .25s,box-shadow .25s;
}
.hero-action:hover { background:#a4ff5c27; box-shadow:0 0 23px #a4ff5c3b; }
.hero-action span { color:var(--neon-green); }
.footer .contact-note { font-size:12px; }
@media(max-width:760px) {
  .galaxy-rotator { animation-duration:360s; }
  .links { font-size:8px !important; gap:10px !important; }
  .hero-copy { width:auto; }
  .hero-copy h2 { font-size:29px; }
  .hero-action { font-size:10px; padding:10px 12px; }
  .scroll-note { font-size:8px !important; padding:7px; }
  .compare-labels > span { font-size:7px; }
  .compare-labels i { font-size:6px; }
}
@media(prefers-reduced-motion:reduce) { .galaxy-rotator { animation:none !important; } }
/* V2: visibly luminous green, not merely a micro-accent. */
:root { --blue:#a4ff5c; --accent:#a4ff5c; --red:#ffae3c; --contrast:#a4ff5c; }
.dexter-rule { background:linear-gradient(90deg,transparent,#86e948 15%,#e8ffd6 44%,#a4ff5c 70%,transparent) !important; box-shadow:0 0 12px #a4ff5ca8 !important; }
body.studio-final .dexter-title::after { background:linear-gradient(90deg,transparent,#a4ff5c8c,transparent) !important; }
@keyframes dexterType {
  0%,7%{opacity:0;transform:translateY(35px);filter:blur(6px)}
  17%,70%{opacity:1;transform:translateY(0);filter:blur(0)}
  72%{transform:translateX(-7px);text-shadow:10px 0 #a4ff5c}
  74%{transform:translateX(5px);text-shadow:-7px 0 #a4ff5c}
  77%,100%{opacity:1;transform:translateX(0);text-shadow:none}
}
.hero h1::before {
  background:radial-gradient(circle at 35% 35%,#cbff9c,#8dfb3b 55%,#387c18 100%) !important;
  box-shadow:0 0 25px #a4ff5ca8,0 0 75px #87ff4780 !important;
  opacity:.9;
}
.red-blob {
  background:#9afa4d !important;
  box-shadow:0 0 42px #a4ff5c75 !important;
  filter:blur(1px) !important;
  opacity:.48 !important;
}
.hero h1 b, .dexter-title b { color:#a4ff5c !important; text-shadow:0 0 18px #a4ff5c8c; }
.hero-action {
  color:#071308 !important;
  background:linear-gradient(135deg,#c8ff96,#9ef650) !important;
  border:1px solid #d5ffa8 !important;
  box-shadow:0 0 16px #a4ff5c86,0 0 46px #a4ff5c3d !important;
  font-weight:900 !important;
}
.hero-action span { color:#0b3411 !important; }
.hero-action:hover { background:#ddffb8 !important; box-shadow:0 0 27px #a4ff5cc5,0 0 65px #a4ff5c65 !important; }
.text-link { border-bottom:2px solid #a4ff5c !important; }
.text-link span { color:#a4ff5c; text-shadow:0 0 14px #a4ff5c8a; }
.compare-handle {
  border-color:#a4ff5c !important;
  background:#172b16 !important;
  box-shadow:0 0 0 5px #a4ff5c26,0 0 28px #a4ff5caa !important;
}
.compare-handle > span, .compare-handle small { color:#c8ffa3 !important; }
.links a:hover, .project-meta a:hover, .back-top:hover { color:#a4ff5c !important; }
.section-head h2 em, .services-intro h2 em, .footer h2 em { color:#b4ff82; text-shadow:0 0 24px #a4ff5c60; }
.category.is-open .category-trigger, .category-trigger:hover,
.project-preview:hover, .orbit-window:hover {
  border-color:#a4ff5c9e !important;
  box-shadow:0 0 6px #a4ff5c91,0 0 24px #a4ff5c5a,inset 0 0 15px #a4ff5c19 !important;
}
.section-number { display:inline-block; padding:5px 9px; background:#a4ff5c19; border:1px solid #a4ff5c63; border-radius:3px; }
.hero-copy .chapter { color:#d0ffae !important; background:#153116ab; border-left:3px solid #a4ff5c; padding:6px 8px; }
@media(max-width:760px) {
  .hero h1::before { box-shadow:0 0 15px #a4ff5c90,0 0 38px #87ff4752 !important; }
  .hero-action { box-shadow:0 0 14px #a4ff5c6d !important; }
}
