html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-horizontal]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-behavior:allow-discrete;transition-property:overflow;transition-duration:1ms}:root{--bg:#04080f;--bg-rgb:4, 8, 15;--surface:#0a1118;--text-primary:#fffffff2;--text-secondary:#ffffffb8;--text-tertiary:#ffffff7a;--text-dim:#ffffff47;--border:#ffffff14;--border-hover:#ffffff2e;--link:#ffffff85;--link-hover:#ffffffe6;--overlay-bg:#04080fb8;--glow-soft:#ffffff38;--glow-med:#ffffff1f;--glow-sharp:#ffffff2e;--glow-edge:#ffffff59;--hero-text:#fffc;--glass-h1:linear-gradient(158deg, #ffffffeb 0%, #ffffff14 12%, #b4d7ffa6 24%, #ffffff0a 38%, #a0cdff8c 50%, #ffffff0f 62%, #c8e1ffb3 76%, #ffffff1a 88%, #ffffffe0 100%);--nav-bg:#04080fd9;--nav-blur:12px;--theme-toggle-bg:#ffffff0f;--theme-toggle-hover:#ffffff1f;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[data-theme=light]{--bg:#f5f0eb;--bg-rgb:245, 240, 235;--surface:#ede7e0;--text-primary:#1e1914f5;--text-secondary:#1e1914b8;--text-tertiary:#0000009e;--text-dim:#00000094;--border:#1e19141a;--border-hover:#1e191438;--link:#0000009e;--link-hover:#1e1914e0;--overlay-bg:#f5f0ebad;--glow-soft:#1e19140f;--glow-med:#1e19140a;--glow-sharp:#1e191414;--glow-edge:#1e19141f;--hero-text:#1e1914c7;--glass-h1:linear-gradient(158deg, #0a0805e6 0%, #0a08050f 12%, #2d37559e 24%, #0a08050a 38%, #37416485 50%, #0a08050d 62%, #283450ad 76%, #0a080514 88%, #0a0805d9 100%);--nav-bg:#f5f0ebd9;--nav-blur:12px;--theme-toggle-bg:#1e19140f;--theme-toggle-hover:#1e19141f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-size:18px;overflow-x:hidden}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body{background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-user-select:none;user-select:none;font-family:JetBrains Mono,monospace;transition:background .4s,color .4s;overflow-x:hidden}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}#fluid-canvas{pointer-events:none;z-index:0;width:100%;height:100%;display:block;position:fixed;inset:0}#overlay{background:var(--overlay-bg);pointer-events:none;z-index:1;transition:background .4s;position:fixed;inset:0}.nav{z-index:400;background:var(--nav-bg);-webkit-backdrop-filter:blur(var(--nav-blur));justify-content:space-between;align-items:center;padding:1.2rem 2.4rem;transition:background .4s;display:flex;position:fixed;top:0;left:0;right:0}.nav-brand{letter-spacing:.28em;color:var(--text-secondary);font-size:.65rem;font-weight:500;text-decoration:none;transition:color .2s}.nav-brand:hover{color:var(--text-primary)}.nav-links{align-items:center;gap:2rem;display:flex}.nav-links a{letter-spacing:.22em;color:var(--text-tertiary);text-transform:uppercase;font-size:.58rem;font-weight:300;text-decoration:none;transition:color .2s}.nav-links a:hover,.nav-links a.active{color:var(--text-primary)}.theme-toggle{background:var(--theme-toggle-bg);width:2rem;height:2rem;color:var(--text-secondary);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;transition:background .2s,color .2s;display:flex}.theme-toggle:hover{background:var(--theme-toggle-hover);color:var(--text-primary)}.theme-toggle:active{transform:scale(.88)}.theme-toggle svg{width:14px;height:14px}.theme-toggle .icon-sun{display:none}.theme-toggle .icon-moon,[data-theme=light] .theme-toggle .icon-sun{display:block}[data-theme=light] .theme-toggle .icon-moon{display:none}.page{z-index:2;max-width:900px;margin:0 auto;padding:6rem 3rem 14rem;animation:.5s both pageIn;position:relative}@keyframes pageIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.footer{z-index:2;text-align:center;letter-spacing:.16em;color:var(--text-dim);padding:4rem 2rem 3rem;font-size:.5rem;font-weight:300;position:relative}#hero h1,.page-header h1,.about-content h1,.project-detail h1{background:var(--glass-h1);-webkit-text-fill-color:transparent;color:#0000;-webkit-background-clip:text;background-clip:text;transition:none}#fps{z-index:401;letter-spacing:.08em;color:var(--text-dim);pointer-events:none;-webkit-user-select:none;user-select:none;font-family:JetBrains Mono,monospace;font-size:.46rem;font-weight:300;position:fixed;top:4rem;right:2.4rem}.hide-toggle{letter-spacing:.18em;color:var(--text-tertiary);border:1px solid var(--text-tertiary);cursor:pointer;background:0 0;border-radius:2px;padding:.25rem .5rem;font-family:JetBrains Mono,monospace;font-size:.52rem;font-weight:300;transition:color .2s,border-color .2s}.hide-toggle:hover{color:var(--text-primary);border-color:var(--text-primary)}.hide-toggle:active{opacity:.6;transform:scale(.94)}.nav-center{pointer-events:auto;align-items:center;gap:.6rem;display:flex;position:absolute;left:50%;transform:translate(-50%)}.nav-player{align-items:center;gap:.15rem;display:flex}.player-btn{letter-spacing:.1em;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:.1rem .3rem;font-family:JetBrains Mono,monospace;font-size:.72rem;font-weight:300;line-height:1;transition:color .2s;display:flex}#player-pause{padding:.15rem .4rem}.player-btn:hover{color:var(--text-primary)}.player-btn:active{opacity:.6;transform:scale(.9)}#player-track,.player-track{letter-spacing:.22em;color:var(--text-tertiary);-webkit-user-select:none;user-select:none;text-align:center;min-width:5rem;font-family:JetBrains Mono,monospace;font-size:.48rem;font-weight:300}.nav-player #player-prev,.nav-player #player-pause,.nav-player #player-next,.nav-player #player-track,.nav-player .player-btn,.nav-player .player-track{max-width:6rem;transition:opacity .4s cubic-bezier(.22,1,.36,1),max-width .4s cubic-bezier(.22,1,.36,1),margin .4s cubic-bezier(.22,1,.36,1);overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 15% 85%,#0000);mask-image:linear-gradient(90deg,#0000,#000 15% 85%,#0000)}.nav-player.muted #player-prev,.nav-player.muted #player-pause,.nav-player.muted #player-next,.nav-player.muted #player-track,.nav-player.muted .player-btn,.nav-player.muted .player-track{opacity:0;pointer-events:none;max-width:0;margin:0}@keyframes audio-beacon{0%{opacity:0;transform:scale(1)}8%{opacity:.65;transform:scale(1.08)}to{opacity:0;transform:scale(2.6)}}#audio-mute{font-size:.62rem;position:relative;overflow:visible}#audio-mute:before{content:"";opacity:0;pointer-events:none;border:1px solid;border-radius:2px;position:absolute;inset:-2px}#audio-mute.pulse:before{animation:1.05s ease-out 3 audio-beacon}#audio-mute.muted{opacity:.45;text-decoration:line-through}#audio-mute.muted:before{animation:none}.nav-hamburger{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;flex-direction:column;justify-content:center;gap:5px;padding:4px;transition:color .2s;display:none}.nav-hamburger:hover{color:var(--text-primary)}.nav-hamburger span{background:currentColor;width:18px;height:1px;transition:transform .22s,opacity .22s;display:block}.nav-hamburger.open span:first-child{transform:translateY(6px)rotate(45deg)}.nav-hamburger.open span:nth-child(2){opacity:0}.nav-hamburger.open span:nth-child(3){transform:translateY(-6px)rotate(-45deg)}#trail-canvas{pointer-events:none;z-index:3;width:100%;height:100%;position:fixed;inset:0}@media (width<=640px){.nav{padding:1rem 1.4rem}#fps{top:3.6rem;right:1.4rem}.nav-hamburger{display:flex}.nav-links{background:var(--nav-bg);-webkit-backdrop-filter:blur(var(--nav-blur));border-top:1px solid var(--border);flex-direction:column;align-items:flex-start;gap:1.2rem;padding:1.2rem 1.4rem;display:none;position:absolute;top:100%;left:0;right:0}.nav-links.open{display:flex}.page{padding:5rem 1.5rem 10rem}}.cv-page,.cv-page *{-webkit-user-select:text;user-select:text}.cv-page{--cv-card-bg:#ffffff09;--cv-card-bg-hover:#ffffff0f;--ease-out-expo:cubic-bezier(.16, 1, .3, 1);color:var(--text-secondary)}.reveal{opacity:0;transition:opacity .85s var(--ease-out-expo), transform .85s var(--ease-out-expo);will-change:opacity, transform;transform:translateY(1.35rem)}.reveal.is-visible{opacity:1;transform:translate(0,0)}.reveal-fade{opacity:0;transition:opacity .85s var(--ease-out-expo);will-change:opacity}.reveal-fade.is-visible,.is-visible>.reveal-fade{opacity:1}.delay-1{transition-delay:80ms}.delay-2{transition-delay:.16s}.delay-3{transition-delay:.24s}.delay-4{transition-delay:.32s}.delay-5{transition-delay:.4s}.reveal-line{transform-origin:0;transition:transform .95s var(--ease-out-expo) .2s;will-change:transform;transform:scaleX(0)}.reveal-line.is-visible,.is-visible .reveal-line{transform:scaleX(1)}[data-theme=light] .cv-page{--cv-card-bg:#00000006;--cv-card-bg-hover:#0000000b}#hero{grid-template-rows:minmax(24rem,58vh) auto auto;align-content:end;min-height:100vh;padding-bottom:5rem;display:grid;position:relative}.hero-visual{width:100%;min-height:24rem;position:relative;overflow:visible}#hero h1,#hero .role,.hero-copy{z-index:3;position:relative}.intro-decrypt{z-index:5;isolation:isolate;background:linear-gradient(180deg, rgba(var(--bg-rgb), .34), rgba(var(--bg-rgb), .58)), linear-gradient(90deg, transparent, #ffffff12, transparent);width:max-content;max-width:min(100%,24rem);box-shadow:0 0 26px var(--glow-med), inset 0 0 18px #ffffff0b;letter-spacing:.16em;color:var(--text-secondary);text-align:center;text-transform:uppercase;pointer-events:none;border:1px solid #ffffff24;border-radius:.35rem;flex-direction:column;grid-row:2;justify-self:center;align-items:center;gap:.32rem;margin:-2.2rem auto 1.45rem;padding:.58rem .82rem .5rem;font-family:JetBrains Mono,monospace;font-size:.58rem;font-weight:300;transition:opacity .6s,transform .6s;display:flex;position:relative;overflow:hidden;transform:translate(0,0)}.intro-decrypt:before,.intro-decrypt:after{content:"";pointer-events:none;position:absolute}.intro-decrypt:before{z-index:0;opacity:.16;mix-blend-mode:screen;background:repeating-linear-gradient(#ffffff14 0 1px,#0000 1px 5px);inset:0}.intro-decrypt:after{z-index:1;background:linear-gradient(90deg, transparent, var(--text-secondary), transparent);opacity:.45;width:7.5rem;height:1px;animation:1.1s ease-in-out infinite decrypt-scan;bottom:.28rem;left:50%;transform:translate(-50%)}.intro-decrypt-ready{opacity:0;transition-delay:1s;transform:translateY(.5rem)}.intro-decrypt-label{z-index:2;opacity:.66;font-size:.45rem;position:relative}.intro-decrypt-word{z-index:2;color:var(--text-primary);text-shadow:0 0 18px var(--glow-med), 0 0 7px var(--glow-sharp);white-space:pre;position:relative}@keyframes decrypt-scan{0%,to{opacity:.2;transform:translate(-50%)scaleX(.35)}50%{opacity:.65;transform:translate(-50%)scaleX(1)}}#hero .hero-title{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}#hero h1{letter-spacing:-.02em;text-shadow:0 0 160px var(--glow-soft), 0 0 60px var(--glow-med), 0 0 12px var(--glow-sharp), 0 1px 0 var(--glow-edge);font-size:clamp(5rem,16vw,13rem);font-weight:500;line-height:.92}.hero-copy{max-width:760px}.hero-intro{opacity:0;pointer-events:none;transition:opacity .9s var(--ease-out-expo), transform .9s var(--ease-out-expo);will-change:opacity, transform;transform:translateY(.9rem)}.hero-intro .hero-summary,.hero-intro .cv-jump{opacity:0;transition:opacity .75s var(--ease-out-expo), transform .75s var(--ease-out-expo);will-change:opacity, transform;transform:translateY(.5rem)}.hero-intro.intro-ready{opacity:1;pointer-events:auto;transform:translate(0,0)}.hero-intro.intro-ready .hero-summary{opacity:1;transition-delay:.12s;transform:translate(0,0)}.hero-intro.intro-ready .cv-jump{opacity:1;transition-delay:.22s;transform:translate(0,0)}#hero .role{letter-spacing:-.04em;max-width:720px;color:var(--text-primary);margin-top:1.4rem;font-size:clamp(1.15rem,3.2vw,2.6rem);font-weight:300;line-height:1.12;transition:color .4s}.hero-summary{letter-spacing:.02em;max-width:660px;color:var(--text-secondary);margin-top:1.2rem;font-size:clamp(.78rem,1.45vw,.95rem);font-weight:100;line-height:1.8}.cv-jump{flex-wrap:wrap;gap:.55rem;margin-top:1.8rem;display:flex}.cv-jump a,.inline-link{border:1px solid var(--border);min-height:2rem;color:var(--link);letter-spacing:.16em;text-transform:uppercase;border-radius:999px;align-items:center;padding:.55rem .8rem;font-size:.56rem;font-weight:300;text-decoration:none;transition:border-color .2s,color .2s,background .2s;display:inline-flex}.cv-jump a:hover,.cv-jump a.scroll-hover,.inline-link:hover,.inline-link.scroll-hover{border-color:var(--border-hover);color:var(--link-hover);background:var(--cv-card-bg-hover)}.block{border-top:1px solid var(--border);padding:4rem 0;scroll-margin-top:6rem;transition:border-color .4s}.label{letter-spacing:.38em;color:var(--text-tertiary);text-transform:uppercase;margin-bottom:1.8rem;font-size:.58rem;font-weight:300;transition:color .4s;display:block}.spec{letter-spacing:.18em;color:var(--text-secondary);font-size:clamp(.8rem,2.2vw,1.2rem);font-weight:100;transition:color .4s}.cv-focus{gap:2rem;display:grid}.quick-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.fact{border:1px solid var(--border);background:var(--cv-card-bg);border-radius:10px;min-height:5rem;padding:1rem}.fact span{color:var(--text-tertiary);letter-spacing:.18em;text-transform:uppercase;margin-bottom:.7rem;font-size:.54rem;font-weight:300;display:block}.fact strong{color:var(--text-secondary);letter-spacing:.02em;font-size:.72rem;font-weight:300;line-height:1.55;display:block}.cv-prose{gap:1rem;max-width:720px;display:grid}.cv-prose p,.experience-card p,.experience-card li,.contact-pitch{letter-spacing:.025em;color:var(--text-secondary);font-size:clamp(.72rem,1.4vw,.86rem);font-weight:100;line-height:1.85}.row-title,.row-meta,.contact a,.spec{transform-origin:0;transition:color 80ms linear,transform 80ms linear}.rows{flex-direction:column;gap:0;display:flex}.row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:baseline;padding:1rem 0;transition:border-color .4s;display:flex}.row:first-child{border-top:1px solid var(--border)}.row-title{letter-spacing:.1em;color:var(--text-secondary);font-size:clamp(.8rem,2vw,1.15rem);font-weight:100}.row-meta{letter-spacing:.12em;color:var(--text-dim);white-space:nowrap;text-align:right;margin-left:2rem;font-size:.58rem;font-weight:300}.experience-list{gap:1rem;display:grid}.experience-card{border:1px solid var(--border);background:var(--cv-card-bg);border-radius:12px;padding:1.2rem;transition:border-color .2s,background .2s,transform .2s}.experience-card:hover,.experience-card.scroll-hover{border-color:var(--border-hover);background:var(--cv-card-bg-hover);transform:translateY(-2px)}.experience-head{align-items:flex-start;padding-top:0;border-top:none!important}.experience-card p{margin-top:.8rem}.experience-card ul{gap:.5rem;margin:1rem 0 0;padding-left:1rem;display:grid}.experience-card li::marker{color:var(--text-tertiary)}.cv-tags{margin-top:1.1rem}.inline-link{margin-top:1rem}.work-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem;display:grid}.work-card{border:1px solid var(--border);background:var(--cv-card-bg);min-height:11rem;color:var(--text-secondary);border-radius:12px;flex-direction:column;padding:1rem;text-decoration:none;transition:border-color .2s,background .2s,transform .2s;display:flex}.work-card:hover,.work-card.scroll-hover{border-color:var(--border-hover);background:var(--cv-card-bg-hover);transform:translateY(-2px)}.work-card strong{color:var(--text-primary);letter-spacing:.12em;text-transform:uppercase;font-size:.72rem;font-weight:300;line-height:1.45}.work-card span{color:var(--text-secondary);letter-spacing:.025em;margin-top:auto;padding-top:1.2rem;font-size:.66rem;font-weight:100;line-height:1.7}.skill-rows .row-meta{white-space:normal;max-width:58%}.contact-pitch{max-width:680px;margin-bottom:1.4rem}.contact{gap:0}.contact a{border-bottom:1px solid var(--border);letter-spacing:.06em;color:var(--link);justify-content:space-between;gap:1rem;padding:.9rem 0;font-size:clamp(.75rem,1.8vw,1rem);font-weight:100;text-decoration:none;transition:color .2s,border-color .4s;display:flex}.contact a:first-child{border-top:1px solid var(--border)}.contact a:hover,.contact a.scroll-hover{color:var(--link-hover)}.contact a span{color:var(--text-tertiary);letter-spacing:.18em;text-transform:uppercase;font-size:.56rem;font-weight:300}.contact a strong{color:inherit;font:inherit;text-align:right}@media (prefers-reduced-motion:reduce){.reveal,.reveal-fade,.reveal-line,.intro-decrypt{opacity:1;transition:none;transform:none}.intro-decrypt:after{animation:none}.intro-decrypt.intro-decrypt-ready{opacity:0}}@media (width<=760px){.work-grid,.quick-facts{grid-template-columns:1fr}.work-card{min-height:9rem}}@media (width<=640px){#hero{grid-template-rows:minmax(17rem,48vh) auto auto;padding-bottom:2rem}.hero-visual{min-height:17rem}.intro-decrypt{letter-spacing:.12em;margin:-1.1rem auto 1.15rem;padding-inline:.68rem;font-size:.54rem}#hero .role{margin-top:1rem;font-size:clamp(1.45rem,9vw,2.25rem)}.hero-summary{font-size:.82rem;line-height:1.7}.cv-jump{gap:.45rem}.cv-jump a,.inline-link{letter-spacing:.1em;padding:.5rem .7rem;font-size:.56rem}.block{padding:2.5rem 0}.label{letter-spacing:.22em;margin-bottom:1.2rem}.spec{letter-spacing:.06em;flex-direction:column;gap:.5rem;font-size:.78rem;display:flex}.spec .sep{display:none}.fact{min-height:auto}.row,.experience-head,.contact a{flex-direction:column;align-items:flex-start;gap:.35rem}.row{padding:.8rem 0}.row-title{letter-spacing:.06em;font-size:.9rem}.row-meta{text-align:left;white-space:normal;margin-left:0;font-size:.6rem}.skill-rows .row-meta{max-width:none}.experience-card{padding:1rem}.cv-prose p,.experience-card p,.experience-card li,.contact-pitch{letter-spacing:.02em;font-size:.8rem;line-height:1.75}.contact a{letter-spacing:.04em;padding:.7rem 0;font-size:.85rem}.contact a strong{text-align:left}}.about-content{max-width:640px}.about-hero{border-bottom:1px solid var(--border);flex-direction:column;justify-content:flex-end;min-height:100vh;padding-top:calc(80px + 2rem);padding-bottom:5rem;display:flex;position:relative}.about-scan{z-index:0;width:100vw;height:100%;position:absolute;top:0;left:50%;transform:translate(-50%)}.about-scan canvas{cursor:grab}.about-scan canvas:active{cursor:grabbing}.about-scan-pills{z-index:4;gap:.4rem;display:flex;position:absolute;bottom:1.4rem;left:50%;transform:translate(-50%)}.about-scan-pills button{-webkit-backdrop-filter:blur(8px);border:1px solid var(--border);color:var(--text-tertiary);letter-spacing:.18em;text-transform:uppercase;cursor:pointer;background:#0000002e;padding:.5rem .9rem;font-family:inherit;font-size:.58rem;font-weight:300;transition:color .2s,border-color .2s,background .2s}.about-scan-pills button:hover{color:var(--text-primary);border-color:var(--text-primary)}.about-scan-pills button.active{color:var(--text-primary);border-color:var(--text-primary);background:#00000052}.about-scan-pills button.loading{cursor:wait;animation:1.4s ease-in-out infinite about-scan-pulse}@keyframes about-scan-pulse{0%,to{opacity:1}50%{opacity:.5}}.about-hero h1{z-index:3;pointer-events:none;letter-spacing:-.02em;text-shadow:0 0 160px var(--glow-soft), 0 0 60px var(--glow-med), 0 0 12px var(--glow-sharp), 0 1px 0 var(--glow-edge);font-size:clamp(5rem,16vw,13rem);font-weight:500;line-height:.92;position:relative}.about-section{border-top:1px solid var(--border);padding:2.5rem 0}.about-section:first-of-type{border-top:none}.about-section h2{letter-spacing:.38em;color:var(--text-tertiary);text-transform:uppercase;margin-bottom:1.4rem;font-size:.58rem;font-weight:300}.about-section p{letter-spacing:.03em;color:var(--text-secondary);font-size:clamp(.72rem,1.4vw,.85rem);font-weight:100;line-height:1.9}.about-section p+p{margin-top:1rem}@media (width<=640px){.about-hero{padding-bottom:3rem}.about-hero h1{margin-bottom:0}.about-section{padding:1.8rem 0}.about-section h2{letter-spacing:.22em;margin-bottom:1rem}.about-section p{letter-spacing:.02em;font-size:.8rem;line-height:1.75}.about-scan-pills button{padding:.4rem .7rem;font-size:.55rem}}.page-header{padding-top:calc(80px + 6rem);padding-bottom:4rem}.page-header h1{letter-spacing:-.02em;text-shadow:0 0 160px var(--glow-soft), 0 0 60px var(--glow-med), 0 0 12px var(--glow-sharp), 0 1px 0 var(--glow-edge);font-size:clamp(5rem,16vw,13rem);font-weight:500;line-height:.92}.page-header p{letter-spacing:.24em;color:var(--text-tertiary);margin-top:1.2rem;font-size:clamp(.6rem,1.2vw,.72rem);font-weight:300}.project-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;padding-bottom:4rem;display:grid}.project-card{border:1px solid var(--border);border-radius:4px;padding:2rem;transition:border-color .2s,transform .2s}.project-card:hover{border-color:var(--border-hover);transform:translateY(-2px)}.project-video{border-radius:2px;width:100%;margin:1rem 0 1.2rem;padding-top:56.25%;text-decoration:none;display:block;position:relative;overflow:hidden}.project-video img{object-fit:cover;width:100%;height:100%;transition:opacity .2s;position:absolute;inset:0}.project-video-play{color:#fff;background:#00000047;justify-content:center;align-items:center;transition:background .2s;display:flex;position:absolute;inset:0}.project-video:hover img{opacity:.85}.project-video:hover .project-video-play{background:#00000073}.project-card h3{letter-spacing:.12em;color:var(--text-primary);text-transform:uppercase;margin-bottom:.8rem;font-size:.85rem;font-weight:300}.project-card p{letter-spacing:.04em;color:var(--text-secondary);margin-bottom:1.2rem;font-size:.68rem;font-weight:100;line-height:1.7}.project-tags{flex-wrap:wrap;gap:.5rem;display:flex}.project-tags span{letter-spacing:.18em;color:var(--text-tertiary);border:1px solid var(--border);text-transform:uppercase;border-radius:2px;padding:.3rem .7rem;font-size:.5rem;font-weight:300;transition:border-color .2s,color .2s}.project-card a{letter-spacing:.18em;color:var(--link);text-transform:uppercase;margin-top:1rem;font-size:.55rem;font-weight:300;text-decoration:none;transition:color .2s;display:inline-block}.project-card a:hover{color:var(--link-hover)}@media (width<=640px){.page-header{padding-top:calc(80px + 3rem);padding-bottom:2rem}.page-header p{letter-spacing:.14em;font-size:.65rem}.project-grid{grid-template-columns:1fr;gap:1rem}.project-card{padding:1.4rem}.project-card h3{letter-spacing:.08em;font-size:.8rem}.project-card p{letter-spacing:.02em;font-size:.7rem}.project-tags span{letter-spacing:.12em;font-size:.52rem}.project-card a{letter-spacing:.12em;font-size:.58rem}}.project-detail{max-width:720px;padding-top:calc(80px + 5rem)}.project-detail-back{letter-spacing:.22em;color:var(--text-tertiary);text-transform:uppercase;margin-bottom:3rem;font-size:.52rem;font-weight:300;text-decoration:none;transition:color .2s;display:inline-block}.project-detail-back:hover{color:var(--text-primary)}.project-detail h1{letter-spacing:-.02em;text-shadow:0 0 160px var(--glow-soft), 0 0 60px var(--glow-med), 0 0 12px var(--glow-sharp), 0 1px 0 var(--glow-edge);margin-bottom:2.5rem;font-size:clamp(2.4rem,8vw,5.5rem);font-weight:500;line-height:1}.project-detail-meta{letter-spacing:.22em;color:var(--text-tertiary);text-transform:uppercase;margin-bottom:3rem;font-size:.56rem;font-weight:300}.project-detail-video{border:1px solid var(--border);border-radius:2px;width:100%;margin-bottom:3rem;padding-top:56.25%;text-decoration:none;display:block;position:relative;overflow:hidden}.project-detail-video img{object-fit:cover;width:100%;height:100%;transition:opacity .2s;position:absolute;inset:0}.project-detail-video-play{color:#fff;background:#0000004d;justify-content:center;align-items:center;transition:background .2s;display:flex;position:absolute;inset:0}.project-detail-video:hover img{opacity:.85}.project-detail-video:hover .project-detail-video-play{background:#0000007a}.project-detail-section{border-top:1px solid var(--border);padding:2rem 0}.project-detail-section h2{letter-spacing:.36em;color:var(--text-tertiary);text-transform:uppercase;margin-bottom:1.2rem;font-size:.56rem;font-weight:300}.project-detail-section p{letter-spacing:.03em;color:var(--text-secondary);font-size:clamp(.68rem,1.3vw,.8rem);font-weight:100;line-height:1.95}.project-detail-section p+p{margin-top:.9rem}.project-detail-tags{flex-wrap:wrap;gap:.5rem;display:flex}.project-detail-tags span{letter-spacing:.18em;color:var(--text-tertiary);border:1px solid var(--border);text-transform:uppercase;border-radius:2px;padding:.3rem .7rem;font-size:.5rem;font-weight:300}body:has(#game-wrap){overflow:hidden}body:has(#game-wrap) .page{align-items:stretch;max-width:100%;height:100vh;margin:0;padding:0;display:flex}#game-wrap{box-sizing:border-box;flex-direction:column;flex:1;align-items:center;gap:.6rem;width:100%;height:100%;padding-top:4.5rem;padding-bottom:3rem;display:flex}#game-header{flex-shrink:0;align-items:center;gap:1.6rem;display:flex}#game-title{letter-spacing:.28em;color:var(--text-tertiary);text-transform:uppercase;font-size:.6rem;font-weight:300}#game-score{letter-spacing:.2em;color:var(--text-secondary);font-size:.6rem;font-weight:300}#game-high{letter-spacing:.18em;color:var(--text-tertiary);font-size:.55rem;font-weight:300}#game-canvas-area{flex:1;justify-content:center;align-items:center;width:100%;min-height:0;display:flex;position:relative;overflow:hidden}#game-over-panel{z-index:10;pointer-events:auto;justify-content:center;gap:.8rem;display:flex;position:absolute}.game-over-btn{letter-spacing:.22em;text-transform:uppercase;color:var(--text-secondary);background:var(--nav-bg);border:1px solid var(--border);cursor:pointer;-webkit-backdrop-filter:blur(8px);border-radius:2px;padding:.45rem 1rem;font-family:JetBrains Mono,monospace;font-size:.58rem;font-weight:300;text-decoration:none;transition:color .2s,border-color .2s}.game-over-btn:hover{color:var(--text-primary);border-color:var(--text-secondary)}#game-canvas{image-rendering:pixelated;touch-action:none;background:0 0;display:block}#game-msg{display:none}.game-btn{border:1px solid var(--text-tertiary);color:var(--text-tertiary);cursor:pointer;background:0 0;border-radius:2px;flex-shrink:0;justify-content:center;align-items:center;width:1.6rem;height:1.6rem;padding:0;transition:color .2s,border-color .2s;display:flex}.game-btn:hover{color:var(--text-primary);border-color:var(--text-primary)}.game-btn:active{opacity:.5;transform:scale(.92)}:root{--piano-wk-w:48px;--piano-bk-w:28px;--piano-wk-h:220px;--piano-bk-h:140px;--piano-neon:#3dffd0;--piano-neon-glow:#3dffd073;--piano-neon-dim:#3dffd024}@media (width<=640px){:root{--piano-wk-h:160px;--piano-bk-h:104px}}.piano-page{min-height:100vh}.piano-wrap{z-index:10;pointer-events:none;background:linear-gradient(#0000 0%,#04080ffa 40%);flex-direction:column;align-items:center;padding-top:2rem;display:flex;position:fixed;bottom:0;left:0;right:0}.piano{touch-action:none;-webkit-tap-highlight-color:transparent;pointer-events:auto;position:relative}.piano:before{content:"";background:var(--piano-neon);height:1px;box-shadow:0 0 10px var(--piano-neon-glow), 0 0 28px #3dffd02e;pointer-events:none;position:absolute;top:-1px;left:0;right:0}.piano-keys{display:flex;position:relative}.key-white{width:var(--piano-wk-w);height:var(--piano-wk-h);cursor:pointer;z-index:1;background:#081226f5;border:1px solid #3dffd052;border-top:none;border-radius:0 0 3px 3px;transition:background 60ms,box-shadow 60ms,border-color 60ms;position:relative;box-shadow:inset 0 0 10px #3dffd008}.key-white+.key-white{border-left:none}.key-white.active{border-color:var(--piano-neon);box-shadow:0 0 20px var(--piano-neon-glow), 0 0 40px #3dffd02e, inset 0 0 16px #3dffd014;background:#3dffd01a}.key-black{width:var(--piano-bk-w);height:var(--piano-bk-h);cursor:pointer;z-index:2;background:#02040afa;border:1px solid #3dffd033;border-top:none;border-radius:0 0 2px 2px;transition:background 60ms,box-shadow 60ms,border-color 60ms;position:absolute;top:0;box-shadow:0 6px 14px #000000e6}.key-black.active{border-color:var(--piano-neon);box-shadow:0 0 16px var(--piano-neon-glow), 0 0 30px #3dffd026;background:#3dffd024}.key-label{letter-spacing:.06em;color:#3dffd066;pointer-events:none;-webkit-user-select:none;user-select:none;font-family:JetBrains Mono,monospace;font-size:.42rem;position:absolute;bottom:8px;left:50%;transform:translate(-50%)}.key-black .key-label{color:#3dffd052;bottom:6px}.piano-hint{letter-spacing:.22em;color:#3dffd038;text-transform:uppercase;pointer-events:none;margin-bottom:.9rem;font-size:.42rem}[data-theme=light] .piano-wrap{background:linear-gradient(#0000 0%,#f5f0ebfa 40%)}[data-theme=light] .key-white{background:#d2dcf0d1;border-color:#2864c82e}[data-theme=light] .key-white.active{background:#2878dc24;border-color:#2878dcd9;box-shadow:0 0 14px #2878dc59,inset 0 0 12px #2878dc0f}[data-theme=light] .key-black{background:#0e1628f5;border-color:#2864c81a}[data-theme=light] .key-black.active{background:#1446b466;border-color:#2878dca6;box-shadow:0 0 12px #2878dc4d}[data-theme=light] .key-label{color:#2864b438}[data-theme=light] .key-black .key-label{color:#8cbeff47}[data-theme=light] .piano-hint{color:#2864b447}@media (width<=640px){.piano-hint{display:none}}.playlist-manager{flex-direction:column;gap:2.5rem;max-width:640px;margin:0 auto;padding:2rem 1rem 4rem;display:flex}.pl-section{flex-direction:column;gap:.75rem;display:flex}.pl-section-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.pl-heading{letter-spacing:.15em;opacity:.5;margin:0;font-size:.65rem;font-weight:300}.pl-track-list{border-top:1px solid var(--border);border-bottom:1px solid var(--border);margin:0;padding:0;list-style:none}.pl-track-item{border-bottom:1px solid var(--border);letter-spacing:.08em;align-items:center;gap:.75rem;padding:.6rem .5rem;font-size:.75rem;transition:background .1s;display:flex}.pl-track-item:last-child{border-bottom:none}.pl-track-item.dragging{opacity:.4}.pl-track-item.drag-over{background:var(--nav-bg)}.pl-drag-handle{cursor:grab;opacity:.35;touch-action:none;flex-shrink:0;font-size:1rem;line-height:1}.pl-track-label{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.pl-remove-btn,.pl-add-btn{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:2px;flex-shrink:0;padding:.2rem .5rem;font-family:inherit;font-size:.65rem;transition:opacity .15s}.pl-remove-btn:hover,.pl-add-btn:hover:not(.pl-in-list){opacity:.6}.pl-add-btn.pl-in-list{opacity:.3;cursor:default}.pl-hint{letter-spacing:.1em;opacity:.3;text-align:right;margin:0;font-size:.6rem}.pl-library .pl-track-item{cursor:default}.pl-autoplay-toggle{letter-spacing:.15em;opacity:.7;align-items:center;gap:.6rem;font-size:.65rem;display:flex}.pl-toggle-btn{border:1px solid var(--border);color:var(--text);letter-spacing:.1em;cursor:pointer;background:0 0;border-radius:2px;min-width:2.8rem;padding:.2rem .6rem;font-family:inherit;font-size:.6rem;transition:border-color .15s,color .15s}.pl-toggle-btn.pl-toggle-on{border-color:var(--link-hover);color:var(--link-hover)}.pl-inbox-section{border-top:1px solid var(--border);padding-top:1.5rem}.pl-inbox-desc{opacity:.6;margin:0;font-size:.7rem;line-height:1.6}.pl-code{background:var(--nav-bg);border:1px solid var(--border);letter-spacing:.05em;border-radius:2px;margin:0;padding:.5rem .75rem;font-family:inherit;font-size:.7rem}.pl-inbox-files{flex-direction:column;gap:.25rem;display:flex}.param-menu-pill-host{z-index:998;pointer-events:none;flex-direction:column-reverse;align-items:flex-end;gap:8px;display:flex;position:fixed;bottom:12px;right:12px}.param-menu-pill-host>*{pointer-events:auto}.param-menu-pill{--pm-accent:#c4f;--pm-text:color-mix(in srgb, var(--pm-accent) 40%, #fff);background:color-mix(in srgb, var(--pm-accent) 10%, transparent);-webkit-backdrop-filter:blur(var(--nav-blur,12px));border:1px solid color-mix(in srgb, var(--pm-accent) 30%, transparent);letter-spacing:.14em;text-transform:uppercase;color:var(--pm-text);cursor:pointer;border-radius:3px;align-items:center;gap:.4rem;padding:4px 10px;font-family:JetBrains Mono,monospace;font-size:.48rem;transition:color .18s,border-color .18s,background .18s;display:inline-flex}.param-menu-pill:hover{color:var(--pm-accent);border-color:color-mix(in srgb, var(--pm-accent) 50%, transparent);background:color-mix(in srgb, var(--pm-accent) 15%, transparent)}.param-menu-pill-dot{background:var(--pm-accent);width:5px;height:5px;box-shadow:0 0 5px var(--pm-accent);border-radius:50%;animation:2.4s ease-in-out infinite param-menu-pulse}@keyframes param-menu-pulse{0%,to{opacity:.5}50%{opacity:1}}.param-menu-panel{--pm-accent:#c4f;--pm-text:color-mix(in srgb, var(--pm-accent) 40%, #fff);--pm-tip:color-mix(in srgb, var(--pm-accent) 45%, gray);z-index:999;width:min(96vw,600px);max-width:min(96vw,600px);max-height:70vh;-webkit-backdrop-filter:blur(var(--nav-blur,12px));border:1px solid color-mix(in srgb, var(--pm-accent) 15%, transparent);letter-spacing:.1em;color:var(--pm-text);-webkit-user-select:none;user-select:none;background:#0a061273;border-radius:6px;flex-direction:column;gap:8px;padding:10px 14px;font-family:JetBrains Mono,monospace;font-size:.48rem;display:flex;position:fixed;bottom:12px;left:50%;overflow-y:auto;transform:translate(-50%)}.param-menu-head{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.param-menu-title{text-transform:uppercase;letter-spacing:.14em;color:var(--pm-accent);font-size:.5rem;font-weight:500}.param-menu-close{appearance:none;background:color-mix(in srgb, var(--pm-accent) 10%, transparent);border:1px solid color-mix(in srgb, var(--pm-accent) 30%, transparent);cursor:pointer;color:var(--pm-text);border-radius:3px;padding:2px 8px;font-family:JetBrains Mono,monospace;font-size:.7rem;line-height:1;transition:color .18s,border-color .18s}.param-menu-close:hover{color:var(--pm-accent);border-color:color-mix(in srgb, var(--pm-accent) 60%, transparent)}.param-menu-header-slot{flex-direction:column;gap:4px;display:flex}.param-menu-tabs{flex-wrap:wrap;gap:4px;margin-bottom:2px;display:flex}.param-menu-tab{letter-spacing:.12em;text-transform:uppercase;border:1px solid color-mix(in srgb, var(--pm-accent) 20%, transparent);color:var(--pm-text);cursor:pointer;background:0 0;border-radius:3px;padding:4px 10px;font-family:JetBrains Mono,monospace;font-size:.46rem;transition:color .18s,border-color .18s,background .18s}.param-menu-tab:hover{border-color:color-mix(in srgb, var(--pm-accent) 40%, transparent)}.param-menu-tab.is-active{color:var(--pm-accent);border-color:color-mix(in srgb, var(--pm-accent) 50%, transparent);background:color-mix(in srgb, var(--pm-accent) 12%, transparent)}.param-menu-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 14px;display:grid}.param-knob{flex-direction:column;gap:2px;min-width:0;display:flex}.param-knob-row{text-transform:uppercase;justify-content:space-between;align-items:center;gap:4px;display:flex}.param-knob-label.has-tip{cursor:pointer}.param-knob-value{opacity:.65;font-variant-numeric:tabular-nums}.param-knob-tip{letter-spacing:.02em;text-transform:none;max-height:0;color:var(--pm-tip);opacity:.75;font-size:.82em;line-height:1.25;transition:max-height .18s;overflow:hidden}.param-knob-tip.is-open{max-height:80px}.param-knob-slider{width:100%;accent-color:var(--pm-accent);cursor:pointer;height:14px}.param-menu-footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:2px;display:flex}.param-menu-profiles,.param-menu-actions{align-items:center;gap:6px;display:flex}.param-menu-profile{--pm-slot-color:var(--pm-accent);letter-spacing:.14em;text-transform:uppercase;text-align:center;cursor:pointer;min-width:32px;color:var(--pm-text);border:1px solid color-mix(in srgb, var(--pm-slot-color) 20%, transparent);opacity:.5;background:0 0;border-radius:3px;padding:4px 8px;font-family:JetBrains Mono,monospace;font-size:.48rem;transition:color .18s,border-color .18s,background .18s,opacity .18s}.param-menu-profile.has-data{opacity:1;border-color:color-mix(in srgb, var(--pm-slot-color) 40%, transparent)}.param-menu-profile.is-active{opacity:1;color:var(--pm-slot-color);border-color:color-mix(in srgb, var(--pm-slot-color) 80%, transparent);background:color-mix(in srgb, var(--pm-slot-color) 12%, transparent)}.param-menu-btn{letter-spacing:.14em;text-transform:uppercase;border:1px solid color-mix(in srgb, var(--pm-accent) 30%, transparent);background:color-mix(in srgb, var(--pm-accent) 10%, transparent);color:var(--pm-text);cursor:pointer;border-radius:3px;padding:4px 10px;font-family:JetBrains Mono,monospace;font-size:.48rem;transition:color .18s,border-color .18s,background .18s,opacity .18s}.param-menu-btn:hover:not(:disabled){color:var(--pm-accent);border-color:color-mix(in srgb, var(--pm-accent) 50%, transparent);background:color-mix(in srgb, var(--pm-accent) 15%, transparent)}.param-menu-btn:disabled{opacity:.4;cursor:not-allowed}@media (width<=640px){.param-menu-panel{gap:6px;padding:9px 12px}.param-menu-grid{gap:14px 10px}}.mesh-vu-row{align-items:flex-end;gap:4px;min-height:50px;margin-bottom:4px;display:flex}.mesh-vu-col{flex-direction:column;flex:1;align-items:center;gap:2px;min-width:0;display:flex}.mesh-vu-col-detect{border-radius:2px;padding:2px 3px;transition:background-color 80ms ease-out;position:relative}.mesh-vu-col-detect.is-flash{animation:.18s ease-out mesh-vu-flash}@keyframes mesh-vu-flash{0%{background-color:color-mix(in srgb, var(--band-color) 55%, transparent)}to{background-color:#0000}}.mesh-vu-meter{width:100%;height:32px;position:relative}.mesh-vu-meter-dual{justify-content:center;align-items:flex-end;gap:3px;display:flex}.mesh-vu-bar-slow,.mesh-vu-bar-fast{border-radius:1px;width:6px;height:0;transition:height 60ms linear}.mesh-vu-bar-slow{background:color-mix(in srgb, var(--band-color) 30%, transparent)}.mesh-vu-bar-fast{background:var(--band-color)}.mesh-vu-tick{background:color-mix(in srgb, var(--band-color) 70%, white 20%);height:1px;box-shadow:0 0 3px color-mix(in srgb, var(--band-color) 60%, transparent);pointer-events:none;position:absolute;left:0;right:0}.mesh-vu-bar{background:var(--pm-accent,#c4f);border-radius:1px;width:100%;height:0;transition:height 60ms linear;position:absolute;bottom:0}.mesh-vu-peak{background:color-mix(in srgb, var(--pm-accent,#c4f) 25%, transparent);border-radius:1px;width:100%;height:0;position:absolute;bottom:0}.mesh-vu-label{opacity:.6;text-transform:uppercase;text-align:center;font-size:.4rem;line-height:1.1}.mesh-vu-label-detect{opacity:.85;white-space:pre;letter-spacing:.02em;font-family:JetBrains Mono,monospace;font-size:.42rem;font-weight:400}.page:has(.live-page){max-width:none;margin:0;padding:0;animation:none;overflow:hidden;transform:none}.live-page{pointer-events:none;-webkit-overflow-scrolling:touch;z-index:5;flex-direction:column;justify-content:flex-start;gap:.75rem;padding:6.5rem 1.5rem 1.5rem;display:flex;overflow-y:auto}.live-page>*{pointer-events:auto}.live-controls{z-index:10;flex-wrap:nowrap;flex-shrink:0;align-items:center;gap:.5rem;display:flex}.live-play{letter-spacing:.12em;border:1px solid var(--text-secondary);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:2px;padding:.45rem 1rem;font-family:JetBrains Mono,monospace;font-size:.72rem;font-weight:500;transition:all .2s}.live-play:hover{color:var(--text-primary);border-color:var(--text-primary)}.live-play.active{color:#c4f;border-color:#c4f;box-shadow:0 0 12px #cc44ff40}.live-layers{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;flex:1;gap:.3rem;min-width:0;padding:.3rem 0;display:flex;overflow-x:auto}.live-layers::-webkit-scrollbar{display:none}.live-layer{letter-spacing:.08em;border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:0 0;border-radius:2px;padding:.3rem .6rem;font-family:JetBrains Mono,monospace;font-size:.6rem;font-weight:300;transition:all .2s}.live-layer:hover{color:var(--text-primary);border-color:var(--text-primary)}.live-layer.active[data-band=bass]{color:#f46;background:#ff446614;border-color:#f46}.live-layer.active[data-band=mids]{color:#c4f;background:#cc44ff14;border-color:#c4f}.live-layer.active[data-band=highs]{color:#4cf;background:#44ccff14;border-color:#4cf}.live-toggle-editor{letter-spacing:.08em;border:1px solid var(--border);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:2px;padding:.3rem .6rem;font-family:JetBrains Mono,monospace;font-size:.6rem;font-weight:300;transition:all .2s}.live-toggle-editor:hover{color:var(--text-primary)}.live-toggle-editor.active{color:#c4f;border-color:#c4f}.live-editor-wrap{z-index:10;flex-shrink:0;width:min(480px,100%)}.live-editor{resize:none;width:100%;height:150px;color:var(--text-primary);-webkit-backdrop-filter:blur(12px);tab-size:2;white-space:pre;background:#0a061273;border:1px solid #c4f3;border-radius:4px;outline:none;padding:1rem;font-family:JetBrains Mono,monospace;font-size:.78rem;font-weight:300;line-height:1.6;overflow:auto}[data-theme=light] .live-editor{background:#ffffffb3;border-color:#0000001f}.live-editor:focus{border-color:#cc44ff80;box-shadow:0 0 20px #cc44ff1a}.live-editor::placeholder{color:var(--text-secondary);opacity:.5}.live-editor-hint{color:var(--text-secondary);opacity:.5;text-align:right;letter-spacing:.06em;padding-top:.3rem;font-family:JetBrains Mono,monospace;font-size:.58rem;font-weight:300}@media (width<=640px){.live-page{gap:.5rem;padding:6rem 1rem 1rem}.live-editor-wrap{width:100%}.live-editor{font-size:.7rem}.live-controls{gap:.4rem}.live-layer{padding:.25rem .45rem;font-size:.55rem}.live-play{padding:.4rem .8rem;font-size:.65rem}.live-toggle-editor{font-size:.55rem}}.live-trigger-dots{flex-shrink:0;align-items:center;gap:.35rem;padding:0 .25rem;display:flex}.live-trigger-dot{background:color-mix(in srgb, var(--dot-color) 30%, transparent);width:6px;height:6px;box-shadow:none;border-radius:50%;transition:background .18s ease-out,box-shadow .18s ease-out}.live-trigger-dot.is-pulse{animation:.3s ease-out live-trigger-pulse}@keyframes live-trigger-pulse{0%{background:var(--dot-color);box-shadow:0 0 8px var(--dot-color), 0 0 14px color-mix(in srgb, var(--dot-color) 60%, transparent);transform:scale(1.6)}to{background:color-mix(in srgb, var(--dot-color) 30%, transparent);box-shadow:none;transform:scale(1)}}@media (width<=640px){.live-trigger-dots{gap:.25rem;padding:0 .15rem}.live-trigger-dot{width:5px;height:5px}}
