/* Brand-specific sizing; the original animation selectors and timing stay intact. */
:root { --bg: #0a0a0a; --stroke: #1f1f1f; --text: #f5f5f5; --text-soft: #c5c5c5; --text-faint: #8a8a8a; --em: #9560ff; --em-soft: #cfb8ff; --em-deep: #5926c9; }
/* Preserve the reference WebGL renderer byte-for-byte; recolor only its green light. */
#cosmos { filter: hue-rotate(110deg); }
::selection { background: #9560ff; color: #fff; }
nav { mix-blend-mode: normal; }
.nav-brand { display: inline-flex; align-items: center; gap: 12px; }
.nav-logo { width: 34px; height: 34px; border-radius: 5px; object-fit: cover; }
.ld-fill { box-shadow: 0 0 12px #9560ff66; }
#nav-dot { box-shadow: 0 0 8px #9560ff80; }
#cur-visit svg { filter: drop-shadow(0 0 12px #9560ff66); }
.hero-name-glow { text-shadow: 0 0 12px #9560ff80, 0 0 34px #9560ff38; }
.hero-sub-glow { text-shadow: 0 0 8px #9560ff80, 0 0 20px #9560ff38; }
.hero-tag-glow { text-shadow: 0 0 10px #9560ff80, 0 0 26px #9560ff38; }
.pvisual { background: radial-gradient(ellipse at 30% 20%, #9560ff14, transparent 60%), #0e0b14; }
.hero-name { font-size: clamp(2.1rem, 9.2vw, 9.8rem); letter-spacing: .035em; }
#contact .mail { font-size: clamp(1.05rem, 4.2vw, 3.6rem); }
.ptext .psur { letter-spacing: .15em; }
.ambient-toggle { position: fixed; right: 2rem; bottom: 1.5rem; z-index: 100; display: flex; align-items: center; gap: .65rem; min-height: 44px; padding: .6rem .9rem; border: 1px solid #ffffff24; border-radius: 30px; background: #0a0a0ad9; color: #c0c5c9; font: 12px Manrope, sans-serif; cursor: pointer; transition: color .2s, border-color .2s; }
.ambient-toggle { background: #100b1bd9; color: #cfc3e0; }
.ambient-toggle:hover, .ambient-toggle:focus-visible { color: #e1d2ff; border-color: #9560ff99; }
.ambient-toggle:focus-visible { outline: 2px solid #b994ff; outline-offset: 4px; }
.ambient-bars { display: flex; align-items: center; gap: 3px; height: 16px; }
.ambient-bars i { width: 2px; height: 5px; background: currentColor; }
.ambient-toggle[aria-pressed="true"] .ambient-bars i { animation: ambient-level 1.2s ease-in-out infinite alternate; }
@keyframes ambient-level { from { transform: scaleY(.7); } to { transform: scaleY(3); } }
@media (prefers-reduced-motion: reduce) { .ambient-toggle[aria-pressed="true"] .ambient-bars i { animation: none; } }
@media (max-width: 767px) {
  .ambient-toggle { right: 1rem; bottom: 1rem; }
  .hero-name { font-size: clamp(1.65rem, 8.5vw, 4rem); }
  .nav-brand { font-size: .58rem; letter-spacing: .16em; }
}
