@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;font-stretch:75% 100%;src:url(/assets/bricolage-grotesque-vietnamese-standard-normal-Br4FGdAc.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;font-stretch:75% 100%;src:url(/assets/bricolage-grotesque-latin-ext-standard-normal-qp-RdZgh.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque Variable;font-style:normal;font-display:swap;font-weight:200 800;font-stretch:75% 100%;src:url(/assets/bricolage-grotesque-latin-standard-normal-C5Lc8Qmc.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;font-stretch:75% 100%;src:url(/assets/instrument-sans-latin-ext-standard-normal-C5E2Gvlv.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;font-stretch:75% 100%;src:url(/assets/instrument-sans-latin-standard-normal-BVScPF0l.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--void:#050816;--night:#0c1330;--core:#2d6bff;--ice:#8fc3ff;--periwinkle:#8b93ff;--star:#f2f5ff;--slate:#7a84ad;--line:#8fc3ff29;--glass:#0c13308c;--display:"Bricolage Grotesque Variable", system-ui, sans-serif;--text:"Instrument Sans Variable", system-ui, sans-serif;--gutter:clamp(1.25rem, 4vw, 4rem);--timeline-h:3.5rem;--ease-out:cubic-bezier(.16, 1, .3, 1)}*,:before,:after{box-sizing:border-box}html{background:var(--void);color:var(--star);font-family:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility}html.lenis,html.lenis body{height:auto}html,body{overflow-x:clip}body{margin:0;line-height:1.55}::selection{background:var(--core);color:#fff}a{color:inherit}img{display:block}:focus-visible{outline:2px solid var(--ice);outline-offset:4px;border-radius:6px}#scene{z-index:0;pointer-events:none;width:100%;height:100%;position:fixed;inset:0}.vignette{z-index:1;pointer-events:none;background:radial-gradient(120% 90% at 50% 40%,#0000 55%,#02040cd9 100%);position:fixed;inset:0}.grain{z-index:1;pointer-events:none;opacity:.06;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='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}main{z-index:2;position:relative}.cursor{z-index:100;pointer-events:none;opacity:0;width:2.2rem;height:2.2rem;transition:width .45s var(--ease-out), height .45s var(--ease-out), margin .45s var(--ease-out), background .3s, border-color .3s, opacity .3s;border:1.5px solid #f2f5ffb3;border-radius:50%;place-items:center;margin:-1.1rem 0 0 -1.1rem;display:grid;position:fixed;top:0;left:0}.cursor.is-on{opacity:1}.cursor.is-link{border-color:var(--ice);background:#8fc3ff24;width:3.4rem;height:3.4rem;margin:-1.7rem 0 0 -1.7rem}.cursor.is-play{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#05081659;border-color:#f2f5ffe6;width:4.2rem;height:4.2rem;margin:-2.1rem 0 0 -2.1rem}.cursor-play{width:1.1rem;height:1.1rem;fill:var(--star);opacity:0;transition:opacity .25s, transform .4s var(--ease-out);margin-left:.15rem;transform:scale(.5)}.cursor.is-play .cursor-play{opacity:1;transform:scale(1)}@media (pointer:coarse){.cursor{display:none}}.topbar{z-index:20;padding:1rem var(--gutter) 2rem;pointer-events:none;background:linear-gradient(#050816e0,#05081600);justify-content:space-between;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.topbar>*{pointer-events:auto}.mark{align-items:center;gap:.7rem;text-decoration:none;display:inline-flex}.nav-avatar{object-fit:cover;width:2.4rem;height:2.4rem;box-shadow:0 0 0 2px var(--void), 0 0 0 3.5px #8fc3ffb3, 0 0 18px #2d6bff99;border-radius:50%}.mark-text{flex-direction:column;line-height:1.1;display:flex}.mark-text strong{font-family:var(--display);letter-spacing:-.01em;font-size:1.02rem;font-weight:700}.mark-text small{color:var(--periwinkle);font-size:.8rem}.topbar-right{align-items:center;gap:.75rem;display:flex}.lang{border:1px solid var(--line);background:var(--glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:999px;padding:3px;display:flex}.lang button{color:var(--slate);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:.3rem .65rem;font-size:.8rem;font-weight:600;transition:background .3s,color .3s}.lang button[aria-pressed=true]{background:var(--core);color:#fff;box-shadow:0 0 14px #2d6bff99}.lang button:hover{color:var(--star)}.status{border:1px solid var(--line);background:var(--glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:999px;align-items:center;gap:.55rem;margin:0;padding:.45rem .9rem;font-size:.875rem;display:inline-flex}.dot{background:#5be3a2;border-radius:50%;width:.5rem;height:.5rem;animation:2.4s infinite pulse}@keyframes pulse{0%{box-shadow:0 0 #5be3a299}70%,to{box-shadow:0 0 0 8px #5be3a200}}.top-socials{gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.icon-btn{border:1px solid var(--line);background:var(--glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:2.35rem;height:2.35rem;color:var(--star);cursor:pointer;transition:background .3s, border-color .3s, transform .4s var(--ease-out), box-shadow .3s;border-radius:50%;place-items:center;display:grid}.icon-btn svg{fill:currentColor;width:1rem;height:1rem}.icon-btn:hover{background:var(--core);border-color:var(--core);transform:translateY(-2px);box-shadow:0 0 22px #2d6bff99}.hero{min-height:100svh;padding:5.5rem var(--gutter) calc(var(--timeline-h) + 2rem);grid-template-rows:1fr auto;display:grid;position:relative}.hero-stage{place-items:center;display:grid;position:relative}.hero-stage>*{grid-area:1/1}.hero-name,.name-stroke{font-family:var(--display);letter-spacing:-.03em;text-transform:uppercase;white-space:nowrap;text-align:center;perspective:900px;margin:0;font-size:clamp(5rem,22vw,24rem);font-weight:800;font-stretch:75%;line-height:.8}.hero-name{z-index:1;filter:drop-shadow(0 0 40px #2d6bff59)}.name-fill,.name-stroke{transform-style:preserve-3d;display:block}.name-fill .ci{background:linear-gradient(#fff 10%,#cfe0ff 55%,#6e9cff 100%);color:#0000;-webkit-background-clip:text;background-clip:text}.name-stroke{z-index:3;color:#0000;-webkit-text-stroke:1.5px #f2f5ffd9;pointer-events:none}.char,.ci{transform-origin:50% 100%;display:inline-block}.char.space{width:.18em}.avatar-wrap{z-index:2;aspect-ratio:1;will-change:transform;width:clamp(12rem,36vh,23rem);position:relative}.halo{filter:blur(10px);background:radial-gradient(circle,#8fc3ff8c 0%,#2d6bff47 30%,#0000 62%);border-radius:50%;animation:6s ease-in-out infinite breathe;position:absolute;inset:-45%}@keyframes breathe{50%{opacity:.8;transform:scale(1.08)}}.hero-avatar{object-fit:cover;width:100%;height:100%;box-shadow:0 0 0 4px var(--void), 0 0 0 6px #f2f5ffd9, 0 0 90px #2d6bff99;border-radius:50%;position:absolute;inset:0}.orbit{width:144%;height:144%;animation:40s linear infinite spin;position:absolute;inset:-22%;overflow:visible}.orbit-line{fill:none;stroke:#8fc3ff40;stroke-width:1px;stroke-dasharray:2 6}.orbit text{fill:var(--ice);font-family:var(--text);letter-spacing:.22em;font-size:11.5px;font-weight:500}.orbit-dot{animation:14s linear infinite reverse spin;position:absolute;inset:-22%}.orbit-dot i{width:12px;height:12px;box-shadow:0 0 14px #fff, 0 0 30px var(--core);background:#fff;position:absolute;top:calc(2.5% - 6px);left:calc(50% - 6px);transform:rotate(45deg)}@keyframes spin{to{transform:rotate(360deg)}}.hero-foot{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1.5rem 3rem;margin-top:1.5rem;display:flex}.hero-lede{color:#c9d3f5;max-width:36ch;margin:0;font-size:clamp(1.02rem,1.4vw,1.25rem);line-height:1.45}.hero-cta{background:linear-gradient(135deg, #4f86ff, var(--core));color:#fff;transition:transform .4s var(--ease-out), box-shadow .4s;border-radius:999px;align-items:center;gap:.8rem;padding:1rem 1.6rem;font-weight:600;text-decoration:none;display:inline-flex;position:relative;box-shadow:inset 0 0 0 1px #ffffff2e,0 12px 40px -8px #2d6bffcc}.hero-cta:before{content:"";border-top:.3rem solid #0000;border-bottom:.3rem solid #0000;border-left:.5rem solid}.hero-cta:hover{transform:translateY(-2px);box-shadow:inset 0 0 0 1px #ffffff4d,0 18px 50px -6px #2d6bfff2}.bands{height:clamp(9rem,18vw,14rem);margin:2rem 0;position:relative;overflow:hidden}.band{white-space:nowrap;font-family:var(--display);text-transform:uppercase;letter-spacing:.01em;padding:.9rem 0;font-size:clamp(1.6rem,3.6vw,3rem);font-weight:800;font-stretch:75%;line-height:1;position:absolute;top:50%;left:-5%;right:-5%;overflow:hidden}.band-a{color:#fff;z-index:2;background:linear-gradient(90deg,#2459ff,#4f86ff 50%,#2459ff);transform:translateY(-50%)rotate(-4deg);box-shadow:0 0 60px #2d6bff73}.band-b{background:var(--star);color:var(--void);z-index:1;transform:translateY(-50%)rotate(3deg)}.band-track{will-change:transform;display:inline-block}.section-title,.contact-title{font-family:var(--display);text-transform:uppercase;letter-spacing:-.01em;margin:0;font-weight:800;font-stretch:75%;line-height:.88}.section-title{font-size:clamp(3rem,8vw,7.5rem)}.section-title span,.contact-title span{display:inline-block}.outline{letter-spacing:.02em;color:#0000;-webkit-text-stroke:1.5px var(--ice)}.profil{padding:clamp(6rem, 14vh, 10rem) var(--gutter);grid-template-columns:minmax(0,1.55fr) minmax(17rem,1fr);align-items:center;gap:clamp(2.5rem,6vw,7rem);display:grid}.statement{max-width:24ch;font-family:var(--display);letter-spacing:-.025em;margin:0;font-size:clamp(1.8rem,3.6vw,3.2rem);font-weight:600;line-height:1.1}.statement .w{opacity:.14;transition:opacity .2s linear}.idcard{border:1px solid var(--line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0c1330bf;border-radius:20px;position:relative;overflow:hidden;box-shadow:0 40px 90px -40px #2d6bff8c}.idcard-banner{filter:saturate(1.2);background:linear-gradient(#0000 30%,#0c1330e6),url(/avatar.jpg) 50% 30%/cover;height:6.5rem}.idcard-head{align-items:end;gap:1rem;margin-top:-2.4rem;padding:0 1.25rem 1rem;display:flex;position:relative}.idcard-head img{object-fit:cover;border-radius:50%;width:4.5rem;height:4.5rem;box-shadow:0 0 0 4px #111a3c,0 0 24px #2d6bff99}.idcard-head strong{font-family:var(--display);font-size:1.3rem;font-weight:700;line-height:1.1;display:block}.idcard-head span{color:var(--periwinkle);font-size:.9rem}.props{border-top:1px solid var(--line);margin:0}.props div{border-top:1px solid var(--line);grid-template-columns:6rem 1fr;gap:1rem;padding:.8rem 1.25rem;font-size:.95rem;display:grid}.props div:first-child{border-top:0}.props dt{color:var(--slate)}.props dd{margin:0}.work{padding:clamp(5rem, 12vh, 9rem) var(--gutter) clamp(6rem, 14vh, 10rem)}.work-head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:1.25rem 3rem;margin-bottom:clamp(2.5rem,6vh,4rem);display:flex}.work-note{max-width:38ch;color:var(--slate);margin:0;font-size:.95rem}.grid-stage{perspective:1600px;perspective-origin:50% 0}.grid{max-width:1200px;transform-style:preserve-3d;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.25rem,2.4vw,2rem) clamp(1rem,2vw,1.5rem);margin:0 auto;padding:0;list-style:none;display:grid}.card{transform-style:preserve-3d}.card-btn{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0;display:block}.thumb{--mx:50%;--my:50%;aspect-ratio:16/9;background:var(--night);transition:transform .6s var(--ease-out), box-shadow .6s var(--ease-out);border-radius:14px;position:relative;overflow:hidden;box-shadow:0 30px 60px -30px #000000e6}.thumb img,.thumb video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.thumb video{opacity:0;transition:opacity .35s}.card.is-playing .thumb video{opacity:1}.thumb:before{content:"";z-index:2;border-radius:inherit;background:radial-gradient(240px circle at var(--mx) var(--my), #8fc3fff2, #8fc3ff1f 60%);-webkit-mask-composite:xor;pointer-events:none;padding:1.5px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.thumb:after{content:"";z-index:1;background:radial-gradient(420px circle at var(--mx) var(--my), #8fc3ff2e, transparent 50%);opacity:0;pointer-events:none;transition:opacity .4s;position:absolute;inset:0}.card-btn:hover .thumb:after{opacity:1}.card-btn:hover .thumb,.card-btn:focus-visible .thumb{transform:translateY(-6px);box-shadow:0 40px 80px -30px #2d6bff99}.duration{z-index:3;font-variant-numeric:tabular-nums;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#050816cc;border-radius:6px;padding:.15rem .5rem;font-size:.75rem;position:absolute;bottom:.6rem;right:.6rem}.card-info{justify-content:space-between;align-items:baseline;gap:1rem;padding:.9rem .15rem 0;display:flex}.card-info h3{font-family:var(--display);letter-spacing:-.01em;margin:0;font-size:1.2rem;font-weight:700}.card-info p{color:var(--slate);margin:.15rem 0 0;font-size:.875rem;line-height:1.4}.tag{color:var(--ice);border:1px solid var(--line);white-space:nowrap;background:#2d6bff1a;border-radius:999px;flex:none;padding:.12rem .6rem;font-size:.75rem}.services-pin{min-height:100svh;padding:6rem 0 calc(var(--timeline-h) + 2rem);flex-direction:column;justify-content:center;gap:clamp(2rem,5vh,3.5rem);display:flex;overflow:hidden}.services-title{padding:0 var(--gutter)}.rail{padding:0 var(--gutter);perspective:1400px;gap:clamp(1.25rem,3vw,2.5rem);width:max-content;display:flex}.panel{border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);width:clamp(19rem,38vw,32rem);min-height:clamp(19rem,46vh,25rem);transform-style:preserve-3d;background:radial-gradient(110% 80% at 100% 0,#8fc3ff29,#0000 55%),radial-gradient(120% 90% at 0 100%,#2d6bff4d,#0000 60%),#0c1330cc;border-radius:24px;flex-direction:column;padding:clamp(1.5rem,3vw,2.5rem);display:flex;position:relative;box-shadow:0 40px 100px -50px #2d6bffb3}.panel-icon{fill:none;width:3rem;height:3rem;stroke:var(--ice);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round;filter:drop-shadow(0 0 10px #8fc3ffb3);margin-bottom:1.75rem}.panel h3{font-family:var(--display);text-transform:uppercase;margin:0 0 1rem;font-size:clamp(2.2rem,3.8vw,3.3rem);font-weight:800;font-stretch:75%;line-height:.92}.panel p{color:#c3cdf0;max-width:34ch;margin:0;font-size:1.02rem}.panel-meta{color:var(--ice);margin-top:auto;padding-top:2rem;font-size:.9rem}.method{padding:clamp(7rem, 16vh, 11rem) var(--gutter)}.method-body{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);align-items:start;gap:clamp(2.5rem,6vw,6rem);margin-top:clamp(2.5rem,6vh,4rem);display:grid}.steps{gap:1rem;margin:0;padding:0;list-style:none;display:grid}.steps li{border:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0c1330b3;border-radius:20px;grid-template-columns:auto 1fr;align-items:start;gap:1.25rem;padding:1.4rem 1.5rem;display:grid}.step-n{width:2.6rem;height:2.6rem;font-family:var(--display);color:#fff;background:linear-gradient(135deg, #4f86ff, var(--core));border-radius:50%;place-items:center;font-size:1.15rem;font-weight:800;display:grid;box-shadow:0 0 22px #2d6bffa6}.steps h3{font-family:var(--display);letter-spacing:-.01em;margin:.2rem 0 .35rem;font-size:1.35rem;font-weight:700}.steps p{color:#c3cdf0;max-width:44ch;margin:0}.nomore-lead{color:var(--slate);margin:0 0 .75rem;font-size:1.1rem}.nomore-list{gap:.35rem;margin:0;padding:0;list-style:none;display:grid}.nomore-list li{--s:0;font-family:var(--display);text-transform:uppercase;justify-self:start;font-size:clamp(2.2rem,4.6vw,4rem);font-weight:800;font-stretch:75%;line-height:1;position:relative}.nomore-list li:after{content:"";height:.12em;transform:scaleX(var(--s)) rotate(-2deg);transform-origin:0;background:#ff3b5c;border-radius:1em;position:absolute;top:52%;left:-.1em;right:-.1em;box-shadow:0 0 18px #ff3b5cb3}.nomore-tail{margin:.9rem 0 0}.nomore-tag{background:var(--star);color:var(--void);border-radius:999px;margin:1.75rem 0 0;padding:.7rem 1.2rem;font-weight:700;display:inline-block;box-shadow:0 0 40px #8fc3ff66}.contact{min-height:100svh;padding:8rem var(--gutter) calc(var(--timeline-h) + 2rem);flex-direction:column;justify-content:center;display:flex}.contact-title{font-size:clamp(3.5rem,11vw,10.5rem)}.contact-title span{display:block}.contact-lede{color:#c3cdf0;max-width:40ch;margin:2rem 0 2.5rem;font-size:clamp(1.05rem,1.5vw,1.25rem)}.socials{flex-wrap:wrap;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.social{border:1px solid var(--line);background:var(--glass);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--star);font:inherit;cursor:pointer;transition:background .3s, border-color .3s, transform .4s var(--ease-out), box-shadow .3s;border-radius:999px;align-items:center;gap:.7rem;padding:.95rem 1.4rem;font-weight:600;text-decoration:none;display:inline-flex}.social svg{fill:currentColor;width:1.15rem;height:1.15rem}.social small{color:var(--slate);font-size:.85rem;font-weight:400}.social:hover{background:var(--core);border-color:var(--core);transform:translateY(-2px);box-shadow:0 0 30px #2d6bff99}.social:hover small{color:#dfe5ff}.foot{color:var(--slate);margin-top:clamp(4rem,12vh,8rem);font-size:.875rem}.foot p{margin:0}.timeline{z-index:30;height:var(--timeline-h);padding:0 var(--gutter);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--line);background:linear-gradient(#050816b3,#050816f2);align-items:center;gap:1.25rem;display:flex;position:fixed;bottom:0;left:0;right:0}.tc{font-variant-numeric:tabular-nums;color:var(--ice);flex:none;min-width:6.6rem;font-size:.85rem}.track{flex:1;height:100%;position:relative}.track:before{content:"";background:var(--line);height:1px;position:absolute;top:50%;left:0;right:0}.track-fill{background:linear-gradient(90deg, var(--core), var(--ice));transform-origin:0;width:100%;height:2px;margin-top:-.5px;position:absolute;top:50%;left:0;transform:scaleX(0);box-shadow:0 0 10px #2d6bffcc}.playhead{background:var(--star);border-radius:2px;width:2px;margin-left:-1px;position:absolute;top:.55rem;bottom:.55rem;left:0;box-shadow:0 0 10px #f2f5ffcc}.playhead:before{content:"";background:var(--star);clip-path:polygon(0 0,100% 0,50% 100%);width:10px;height:7px;position:absolute;top:-4px;left:50%;transform:translate(-50%)}.key{color:var(--slate);font:inherit;cursor:pointer;background:0 0;border:0;align-items:center;padding:.4rem;font-size:.8rem;transition:color .3s;display:flex;position:absolute;top:50%;transform:translate(-50%,-50%)}.key i{background:var(--void);border:1.5px solid var(--slate);width:9px;height:9px;transition:background .3s,border-color .3s,box-shadow .3s;transform:rotate(45deg)}.key span{white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .25s;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.key:hover span,.key:focus-visible span,.key.is-active span{opacity:1}.key.is-passed i,.key.is-active i{background:var(--core);border-color:var(--ice)}.key.is-active i{box-shadow:0 0 12px var(--core)}.key.is-active,.key:hover{color:var(--star)}.viewer{z-index:50;position:fixed;inset:0}.viewer[hidden]{display:none}.viewer-backdrop{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#03050ee0;position:absolute;inset:0}.viewer-frame{background:#000;border-radius:14px;margin:0;position:fixed;overflow:hidden;box-shadow:0 0 0 1px #8fc3ff40,0 60px 160px -40px #2d6bffb3}.viewer-frame video{object-fit:cover;background:#000;width:100%;height:100%;display:block}.viewer-frame figcaption{color:#c3cdf0;padding-top:1rem;font-size:.95rem;position:absolute;top:100%;left:0;right:0}.viewer-frame figcaption strong{font-family:var(--display);color:var(--star);margin-right:.4rem;font-weight:700}.viewer-frame.is-open{overflow:visible}.viewer-frame.is-open video{border-radius:14px}.viewer-close{top:1.25rem;right:var(--gutter);border:1px solid var(--line);width:3rem;height:3rem;color:var(--star);cursor:pointer;background:#0c1330d9;border-radius:50%;place-items:center;transition:background .3s;display:grid;position:fixed}.viewer-close svg{stroke:currentColor;stroke-width:2px;stroke-linecap:round;fill:none;width:1.2rem;height:1.2rem}.viewer-close:hover{background:var(--core)}.toast{left:50%;bottom:calc(var(--timeline-h) + 1.25rem);z-index:60;background:var(--star);color:var(--void);opacity:0;pointer-events:none;transition:opacity .3s, transform .5s var(--ease-out);border-radius:999px;padding:.75rem 1.2rem;font-size:.9rem;font-weight:600;position:fixed;transform:translate(-50%,1rem);box-shadow:0 0 40px #8fc3ff80}.toast.is-on{opacity:1;transform:translate(-50%)}@media (width<=960px){.method-body{grid-template-columns:1fr}.grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.grid{grid-template-columns:1fr}.status,.mark-text small,.key span{display:none}.panel{width:80vw}.avatar-wrap{width:42vw}.hero-name,.name-stroke{font-size:27vw}.topbar-right,.top-socials{gap:.3rem}.icon-btn{width:2rem;height:2rem}.lang button{padding:.25rem .5rem}.nav-avatar{width:2rem;height:2rem}.mark{gap:.5rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation:none!important}.statement .w{opacity:1}}
