:root{--bg: #081635;--bg2: #0d2664;--bg3: #173992;--ink: #f2f7ff;--muted: #b6c5e8;--line: rgba(184, 208, 255, .3);--accent: #78e4ff;--card: rgba(9, 23, 58, .82);--card-strong: rgba(8, 20, 50, .92)}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:radial-gradient(1100px 700px at 102% -8%,rgba(120,228,255,.1) 0%,transparent 62%),radial-gradient(1300px 920px at -18% 112%,rgba(72,116,255,.08) 0%,transparent 66%),linear-gradient(170deg,#15388d 0%,var(--bg2) 34%,var(--bg) 84%);font-family:Zen Kaku Gothic New,sans-serif;min-height:100vh;letter-spacing:.01em}.bg-layer{position:fixed;inset:0;pointer-events:none;background-image:linear-gradient(rgba(132,166,255,.1) 1px,transparent 1px),linear-gradient(90deg,rgba(132,166,255,.1) 1px,transparent 1px);background-size:42px 42px;mask-image:radial-gradient(circle at 50% 26%,black 12%,transparent 72%);opacity:.28}.wave-layer{position:fixed;inset:0;pointer-events:none;opacity:.2;background:radial-gradient(70% 20% at 50% 50%,rgba(109,224,255,.2),transparent 70%),repeating-linear-gradient(90deg,transparent 0 26px,rgba(140,200,255,.08) 26px 27px);transform:translateY(35vh);animation:pulseShift 11s ease-in-out infinite alternate}.sound-map-layer{position:fixed;inset:0;pointer-events:none;z-index:0;opacity:.72;mix-blend-mode:normal;mask-image:radial-gradient(circle at 50% 44%,black 14%,rgba(0,0,0,.85) 54%,transparent 100%)}.sound-map-layer svg{width:100%;height:100%;display:block}.terrain-lines path{fill:none;stroke:#96b6ff2e;stroke-width:1.05;stroke-linecap:round}.wave-beds .wave{fill:none;stroke:#78e4ff33;stroke-width:2.2;stroke-linecap:round;filter:drop-shadow(0 0 4px rgba(120,228,255,.14));animation:waveBreath 7.6s ease-in-out infinite}.wave-beds .w2{stroke-width:1.9;opacity:.88;animation-delay:-1.8s;animation-duration:9s}.wave-beds .w3{stroke-width:1.7;opacity:.82;animation-delay:-3s;animation-duration:10.2s}.sample-traces .route{fill:none;stroke:#78e4ffeb;stroke-width:1.65;stroke-linecap:round;stroke-dasharray:2 18;filter:drop-shadow(0 0 6px rgba(120,228,255,.24));animation:routeFlow 4.8s linear infinite}.sample-traces .r2{stroke-width:1.4;opacity:.76;animation-duration:5.9s;animation-delay:-1.5s}.sample-traces .r3{stroke-width:1.35;opacity:.7;animation-duration:6.8s;animation-delay:-2.3s}.nodes circle{fill:#78e4fff2;filter:drop-shadow(0 0 7px rgba(120,228,255,.26));animation:nodeBlink 4.2s ease-in-out infinite}.nodes circle:nth-child(2){animation-delay:.8s}.nodes circle:nth-child(3){animation-delay:1.4s}.nodes circle:nth-child(4){animation-delay:2.1s}.nodes circle:nth-child(5){animation-delay:2.7s}.nodes circle:nth-child(6){animation-delay:3.2s}.pulse-rings .ring{fill:none;stroke:#78e4ff52;stroke-width:1.4;transform-origin:center;opacity:0;animation:ringPulse 5.6s ease-out infinite}.pulse-rings .ring2{animation-delay:1.7s}.pulse-rings .ring3{animation-delay:3.3s}.site-header{position:sticky;top:0;z-index:30;backdrop-filter:blur(12px);background:#07122ec7;border-bottom:1px solid rgba(184,208,255,.28);display:flex;align-items:center;justify-content:space-between;padding:12px 24px}.brand{color:var(--ink);text-decoration:none;font-family:Roboto Mono,monospace;font-size:1.4rem;letter-spacing:.12em;font-weight:500}nav{display:flex;gap:14px;flex-wrap:wrap}nav a{color:var(--ink);text-decoration:none;border:1px solid rgba(184,208,255,.16);padding:6px 11px;border-radius:999px;transition:border-color .2s,transform .2s,color .2s,background-color .2s;font-size:.85rem;color:var(--muted);font-family:Roboto Mono,monospace}nav a:focus-visible,.footer-links a:focus-visible{outline:2px solid rgba(120,228,255,.62);outline-offset:2px}.nav-contact{color:#03203a;background:linear-gradient(180deg,#78e4ff,#5fd6f8f2);border-color:#78e4ffcc}.nav-contact:hover{color:#03203a;background:linear-gradient(180deg,#80e7ff,#66d8f9f7)}nav a:hover{border-color:#78e4ff70;transform:translateY(-1px);color:var(--ink);background:#78e4ff14}main{max-width:1120px;margin:0 auto;padding:28px 18px 80px;position:relative;z-index:1}.site-footer{position:relative;z-index:1;border-top:1px solid var(--line);background:#050e276b;backdrop-filter:blur(10px)}.footer-inner{max-width:1120px;margin:0 auto;padding:14px 18px 16px;display:grid;gap:10px}.footer-line,.footer-links{border:1px solid rgba(170,197,255,.12);border-radius:14px;background:#ffffff04;padding:10px 14px}.footer-line{display:flex;flex-wrap:wrap;align-items:center;gap:10px;row-gap:6px}.footer-name{color:var(--ink);font-family:Roboto Mono,monospace;font-size:.9rem;letter-spacing:.08em}.footer-copy{color:var(--muted);font-size:.82rem;line-height:1.45}.footer-divider{width:6px;height:6px;border-radius:999px;background:#6de0ff80;flex:0 0 auto}.footer-links{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.footer-links a{color:var(--muted);text-decoration:none;font-family:Roboto Mono,monospace;font-size:.75rem;letter-spacing:.06em;border:1px solid rgba(170,197,255,.12);border-radius:999px;padding:5px 9px;transition:border-color .2s ease,color .2s ease,background-color .2s ease}.footer-links a:hover{color:var(--ink);border-color:#6de0ff59;background:#6de0ff0f}a{color:var(--ink)}.panel{background:linear-gradient(180deg,#0a183ce6,#081432eb);border:1px solid rgba(184,208,255,.24);border-radius:16px;padding:20px;box-shadow:inset 0 0 0 1px #b8d0ff0d,0 6px 14px #050c2038}.meta{color:var(--muted);font-size:.86rem}.kicker{color:var(--accent);text-transform:uppercase;font-size:.72rem;letter-spacing:.22em;margin-bottom:8px;display:block;font-family:Roboto Mono,monospace}article :global(img),article :global(video),article :global(iframe){max-width:100%;height:auto}@media(max-width:760px){.site-header{padding:12px}.brand{font-size:1.1rem}nav{gap:8px}nav a{font-size:.75rem;padding:5px 8px}.sound-map-layer{opacity:.42;mask-image:radial-gradient(circle at 50% 36%,black 8%,rgba(0,0,0,.85) 62%,transparent 100%)}.footer-inner{gap:8px;padding-top:12px;padding-bottom:14px}.footer-line,.footer-links{padding:9px 10px;border-radius:12px}.footer-line{gap:8px}.footer-name{font-size:.84rem}.footer-copy{font-size:.76rem}}@keyframes pulseShift{0%{transform:translateY(34vh) scaleX(1);opacity:.2}to{transform:translateY(31vh) scaleX(1.05);opacity:.36}}@keyframes routeFlow{0%{stroke-dashoffset:0}to{stroke-dashoffset:-120}}@keyframes waveBreath{0%,to{opacity:.72}50%{opacity:1}}@keyframes nodeBlink{0%,to{opacity:.35;transform:scale(1)}25%{opacity:.9;transform:scale(1.25)}55%{opacity:.55;transform:scale(1.06)}}@keyframes ringPulse{0%{opacity:0;transform:scale(.7)}10%{opacity:.45}70%{opacity:.08;transform:scale(2.8)}to{opacity:0;transform:scale(3.4)}}@media(prefers-reduced-motion:reduce){.wave-layer,.wave-beds .wave,.sample-traces .route,.nodes circle,.pulse-rings .ring{animation:none!important}}
