:root{--bg: #070707;--fg: #c9cccd;--dim: #565a5c;--accent: #7e74a6;--accent-soft: rgba(126, 116, 166, .35);--mono: "Space Mono", ui-monospace, "SFMono-Regular", Menlo, monospace}*{margin:0;padding:0;box-sizing:border-box}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}html,body{height:100%;background:var(--bg);color:var(--fg);font-family:var(--mono);overflow:hidden;cursor:crosshair}#scene{position:fixed;inset:0;width:100vw;height:100vh;display:block;z-index:0}.grain{position:fixed;inset:0;z-index:2;pointer-events:none;opacity:.04;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}.scanlines{position:fixed;inset:0;z-index:3;pointer-events:none;opacity:.12;background:repeating-linear-gradient(0deg,#0000 0px 2px,#00000059 3px,#0000 4px)}.vignette{position:fixed;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse at center,#0000 40%,#0000008c 80%,#000000e6)}.intro{position:fixed;inset:0;z-index:5;display:flex;align-items:center;justify-content:center;pointer-events:none;text-align:center;padding:2rem}.intro__line{font-size:clamp(1.15rem,4.4vw,2.4rem);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#eef0f1;opacity:0;max-width:min(92vw,32rem);line-height:1.2;text-wrap:balance;text-shadow:0 0 30px rgba(0,0,0,.8);animation:introLine var(--dur, 3s) ease both;will-change:transform,opacity,filter}@keyframes introLine{0%{opacity:0;transform:translateY(.5em);filter:blur(8px)}18%,72%{opacity:1;transform:translateY(0);filter:blur(0)}to{opacity:0;transform:translateY(-.5em);filter:blur(8px)}}.help{pointer-events:auto;width:2rem;height:2rem;border-radius:50%;border:1px solid var(--dim);background:transparent;color:var(--fg);font-family:var(--mono);font-size:.9rem;line-height:1;cursor:pointer;transition:background .18s ease,color .18s ease,border-color .18s ease}.help:hover{background:var(--fg);color:#050505;border-color:var(--fg)}.modal{position:fixed;inset:0;z-index:7;display:flex;align-items:center;justify-content:center;padding:1.5rem}.modal[hidden]{display:none}.modal__backdrop{position:absolute;inset:0;background:#030303b3;backdrop-filter:blur(3px);animation:fade .25s ease both}.modal__card{position:relative;max-width:30rem;width:100%;background:#0c0d0e;border:1px solid #23262a;padding:clamp(1.5rem,4vw,2.4rem);color:#c9cccd;font-size:.86rem;line-height:1.7;animation:rise .3s cubic-bezier(.2,.8,.2,1) both;box-shadow:0 30px 80px #0009}.modal__x{position:absolute;top:.6rem;right:.8rem;background:transparent;border:none;color:var(--dim);font-size:1.4rem;line-height:1;cursor:pointer}.modal__x:hover{color:var(--fg)}.modal__title{font-size:1.3rem;letter-spacing:.2em;margin-bottom:1rem;color:#eef0f1}.modal p{margin-bottom:1rem}.modal strong{color:var(--accent);font-weight:700}.modal__list{list-style:none;display:grid;gap:.85rem;margin-bottom:1.3rem}.modal__list li{display:grid;grid-template-columns:8.6em 1fr;column-gap:.8rem;align-items:baseline}.modal__list li>span:first-child{color:var(--accent);font-weight:700;letter-spacing:.06em;white-space:nowrap}.modal__desc{color:var(--fg)}.modal__foot{color:var(--dim);font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;margin-bottom:0}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes rise{0%{opacity:0;transform:translateY(1.5rem)}to{opacity:1;transform:translateY(0)}}.ui{position:fixed;inset:0;z-index:4;display:flex;flex-direction:column;justify-content:space-between;padding:clamp(1.2rem,4vw,3rem);pointer-events:none}.hud{display:flex;justify-content:space-between;align-items:flex-start;font-size:clamp(.62rem,1.4vw,.78rem);letter-spacing:.22em;text-transform:uppercase}.hud--bottom{align-items:flex-end}.tag{position:relative}.tag--dim{color:var(--dim)}.contact{pointer-events:auto;text-decoration:none;color:var(--dim);transition:color .2s ease}.contact:hover{color:var(--accent)}.hero{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center}.title{font-size:clamp(3.2rem,16vw,12rem);font-weight:700;line-height:.86;letter-spacing:-.04em;text-transform:uppercase;position:relative;color:#eef0f1}.title:before,.title:after{content:attr(data-text);position:absolute;inset:0;overflow:hidden}.title:before{color:#e6e8e9;clip-path:inset(0 0 55% 0);animation:glitch-top 4s steps(40) infinite alternate-reverse}.title:after{color:#6f7476;clip-path:inset(55% 0 0 0);animation:glitch-bottom 3.3s steps(50) infinite alternate-reverse}@keyframes glitch-top{0%,92%,to{transform:translate(0)}94%{transform:translate(-.04em,-.01em)}96%{transform:translate(.03em,.01em)}}@keyframes glitch-bottom{0%,90%,to{transform:translate(0)}93%{transform:translate(.05em,.01em)}97%{transform:translate(-.03em,-.01em)}}.subtitle{margin-top:1.6rem;font-size:clamp(.8rem,2vw,1rem);line-height:1.7;color:#b8b8b8;max-width:44ch;letter-spacing:.02em}.accent{color:var(--accent);text-shadow:0 0 18px var(--accent-soft)}.jack{pointer-events:auto;width:clamp(120px,26vw,168px);cursor:pointer;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;outline:none;-webkit-tap-highlight-color:transparent;touch-action:none;transition:transform .9s cubic-bezier(.16,.84,.3,1)}body.live .jack{transform:translateY(min(40vh,360px)) scale(.62)}.jack__svg{display:block;width:100%;height:auto;overflow:visible}.ig__prog{transition:opacity .2s ease}.ig__core{filter:drop-shadow(0 0 6px var(--accent))}.ig__glyph{transition:stroke .25s ease}.jack:hover .ig__glyph,.jack.is-charging .ig__glyph{stroke:#aeb3b6}.jack.is-connected .ig__glyph{stroke:var(--accent)}.jack.is-connected .ig__prog{filter:drop-shadow(0 0 7px var(--accent-soft));animation:igPulse 1.8s ease-in-out infinite}.jack.is-connected .ig__core{animation:igPulse 1.8s ease-in-out infinite}.jack.is-busy{opacity:.7}.ig__hint{display:block;margin-top:.9rem;text-align:center;font-size:clamp(.6rem,1.5vw,.72rem);letter-spacing:.24em;text-transform:uppercase;color:var(--dim);transition:color .2s ease}.jack:hover .ig__hint{color:var(--fg)}.jack.is-connected .ig__hint{color:var(--accent)}@keyframes igPulse{0%,to{opacity:1}50%{opacity:.5}}@media (max-width: 640px){.subtitle{display:none}}@media (prefers-reduced-motion: reduce){.grain,.title:before,.title:after,.jack.is-connected .jack__led{animation:none}}
