@font-face{font-family:anton;src:url(../media/Anton_Regular-s.p.0rdx7inwt1thp.woff2)format("woff2");font-display:swap;font-weight:400}@font-face{font-family:anton Fallback;src:local(Arial);ascent-override:127.93%;descent-override:35.79%;line-gap-override:0.0%;size-adjust:91.94%}.anton_1b4e10fb-module__MpLtcG__className{font-family:anton,anton Fallback;font-weight:400}.anton_1b4e10fb-module__MpLtcG__variable{--font-anton:"anton", "anton Fallback"}
@font-face{font-family:inter;src:url(../media/Inter_Latin-s.p.055ydel_y7o6i.woff2)format("woff2");font-display:swap;font-weight:100 900}@font-face{font-family:inter Fallback;src:local(Arial);ascent-override:89.79%;descent-override:22.36%;line-gap-override:0.0%;size-adjust:107.89%}.inter_1572c6bc-module__KTLiea__className{font-family:inter,inter Fallback}.inter_1572c6bc-module__KTLiea__variable{--font-inter:"inter", "inter Fallback"}
:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#04050a;--fg:#eef1f8;--muted:#a3abc0;--body:#d3d8e6;--accent:#cfe8ff;--display:var(--font-anton), Impact, sans-serif;--text:var(--font-inter), system-ui, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body{overflow-x:clip}body{background:var(--bg);color:var(--fg);font-family:var(--text)}canvas#gl{z-index:0;width:100%;height:100lvh;display:block;position:fixed;top:0;left:0}.vig{z-index:1;pointer-events:none;background:radial-gradient(#0000 45%,#000000b3 100%);position:fixed;inset:0}nav{z-index:10;justify-content:space-between;align-items:center;padding:22px clamp(16px,4vw,48px);font-size:14px;display:flex;position:fixed;top:0;left:0;right:0}nav b{letter-spacing:.02em;font-weight:500}nav .links{color:#d6dbe8;gap:clamp(14px,3vw,28px);display:flex}nav .nav-mobile{display:none}nav a{color:inherit;text-decoration:none;transition:color .3s}nav a:hover{color:var(--fg)}.menu-btn{cursor:pointer;background:#ffffff14;border:1px solid #fff3;border-radius:999px;place-content:center;gap:6px;width:44px;height:44px;display:grid;box-shadow:inset 0 1px #ffffff40}.menu-btn i{background:var(--fg);width:16px;height:1.5px;transition:transform .3s;display:block}.menu-btn[aria-expanded=true] i:first-child{transform:translateY(3.75px)rotate(45deg)}.menu-btn[aria-expanded=true] i:last-child{transform:translateY(-3.75px)rotate(-45deg)}.menu-btn:focus-visible,nav a:focus-visible,.btn:focus-visible,.list.work a:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.dots{z-index:10;flex-direction:column;gap:12px;display:flex;position:fixed;top:50%;right:clamp(16px,3vw,36px);transform:translateY(-50%)}.dots i{border:1px solid var(--muted);border-radius:50%;width:8px;height:8px;transition:background .5s,border-color .5s,transform .5s}.dots i.on{background:var(--accent);border-color:var(--accent);transform:scale(1.3)}main{z-index:5;position:relative}section{align-items:center;min-height:100svh;padding:96px clamp(16px,7vw,110px) 64px;display:flex}.card{max-width:min(520px,46vw)}h1,h2{font-family:var(--display);text-transform:uppercase;letter-spacing:.005em;font-weight:400;line-height:1.06}h1{font-size:clamp(56px,10vw,150px)}h2{margin-bottom:22px;font-size:clamp(44px,7vw,104px)}.glow{color:var(--accent);transition:color .8s}p{color:var(--body);text-shadow:0 1px 14px #000000a6;max-width:46ch;margin-top:20px;font-size:clamp(16px,1.35vw,19px);line-height:1.7}p.note{font-size:14px}.list{border-top:1px solid #ffffff1a;margin-top:8px;list-style:none}.list li{border-bottom:1px solid #ffffff1a;justify-content:space-between;gap:16px;padding:15px 0;font-size:17px;display:flex}.list li span:last-child{color:var(--muted);text-align:right;font-size:14px}.list.work li{padding:12px 0;display:block}.list.work a{color:var(--fg);justify-content:space-between;align-items:baseline;gap:12px;text-decoration:none;display:flex}.list.work .pn{color:var(--fg);text-align:left;font-size:clamp(20px,2vw,26px);transition:color .3s}.list.work .ar{color:var(--muted);margin-left:8px;font-size:.8em;transition:color .3s,transform .3s;display:inline-block}.list.work em{color:var(--accent);white-space:nowrap;border:1px solid #ffffff24;border-radius:999px;padding:3px 10px;font-size:13px;font-style:normal;transition:color .8s}.list.work a:hover .pn,.list.work a:hover .ar{color:var(--accent)}.list.work a:hover .ar{transform:translate(3px,-3px)}.list.work .pd{color:var(--body);max-width:none;margin-top:4px;font-size:15px;line-height:1.5}.list.work .ps{color:var(--muted);margin-top:4px;font-size:13px}.chips{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.chips span{background:#ffffff08;border:1px solid #ffffff24;border-radius:999px;padding:8px 14px;font-size:14px}p.workflow{color:var(--muted);margin-top:16px;font-size:14px}.lab li{cursor:default}.list.work.lab .pn{transition:color .3s;display:block}.list.work.lab li:hover .pn{color:var(--accent)}.preview{z-index:30;pointer-events:none;opacity:0;visibility:hidden;will-change:transform;background:#05060c;border:1px solid #ffffff24;border-radius:12px;width:min(clamp(300px,30vw,480px),100vw - 32px);position:fixed;top:0;left:0;overflow:hidden;box-shadow:0 30px 80px -20px #000000d9,0 0 0 1px #0006}.preview-screen{aspect-ratio:16/10;transform-origin:0;transition:transform .45s cubic-bezier(.2,.8,.2,1);position:relative;transform:scale(.92)}.preview.show{opacity:1;visibility:visible;transition:opacity .25s}.preview:not(.show){transition:opacity .2s,visibility 0s linear .2s}.preview.show .preview-screen{transform:none}.preview-bar{background:#ffffff0f;border-bottom:1px solid #ffffff14;align-items:center;gap:6px;height:26px;padding:0 10px;display:flex}.preview-bar i{background:#ffffff38;border-radius:50%;width:8px;height:8px}.preview-bar span{letter-spacing:.02em;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-left:8px;font-size:11px;overflow:hidden}.preview video{object-fit:cover;opacity:0;width:100%;height:100%;transition:opacity .3s;position:absolute;inset:0}.preview video.on{opacity:1}@media (hover:none),(pointer:coarse){.preview{display:none}}.btns{flex-wrap:wrap;gap:12px;margin-top:30px;display:flex}.btn{color:var(--fg);border:1px solid #fff3;border-radius:999px;padding:13px 22px;font-size:14px;text-decoration:none;transition:border-color .3s,background .3s}.btn:hover{border-color:var(--accent)}.btn.solid{background:var(--accent);color:#05060a;border-color:var(--accent);transition:background .8s,border-color .8s}.sound{z-index:12;color:var(--muted);font:500 12px var(--text);letter-spacing:.03em;cursor:pointer;background:#04050a80;border:1px solid #ffffff29;border-radius:999px;align-items:center;gap:10px;padding:9px 14px;transition:color .3s,border-color .3s;display:flex;position:fixed;bottom:18px;right:clamp(16px,4vw,48px)}.sound:hover,.sound[aria-pressed=true]{color:var(--fg);border-color:var(--accent)}.sound:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sound i{align-items:flex-end;gap:2px;height:12px;display:flex}.sound b{background:currentColor;border-radius:1px;width:2px;height:3px}.sound[aria-pressed=true] b{background:var(--accent);animation:1s ease-in-out infinite eq}.sound b:nth-child(2){animation-delay:-.3s}.sound b:nth-child(3){animation-delay:-.6s}.sound b:nth-child(4){animation-delay:-.15s}@keyframes eq{0%,to{height:3px}50%{height:12px}}.soundhint{z-index:12;color:var(--fg);opacity:0;pointer-events:none;text-shadow:none;background:#04050ab3;border:1px solid #ffffff24;border-radius:999px;max-width:none;margin:0;padding:7px 12px;font-size:12px;transition:opacity .5s,transform .5s;position:fixed;bottom:66px;right:clamp(16px,4vw,48px);transform:translateY(6px)}.soundhint.show{opacity:1;transform:none}.soundhint .fine{display:none}@media (pointer:fine){.soundhint .fine{display:inline}.soundhint .coarse{display:none}}@media (max-width:720px){nav{top:max(12px, env(safe-area-inset-top,0px));-webkit-backdrop-filter:blur(22px)saturate(170%);backdrop-filter:blur(22px)saturate(170%);background:linear-gradient(#0e101cb8,#06070ea8);border:1px solid #ffffff24;border-radius:999px;min-height:56px;padding:6px 6px 6px 18px;left:12px;right:12px;box-shadow:inset 0 1px #ffffff38,inset 0 -1px #ffffff0a,0 10px 30px -10px #0009}nav:before{content:"";border-radius:inherit;pointer-events:none;background:radial-gradient(120% 140% at 15% -40%,#ffffff1f,#0000 55%);position:absolute;inset:0}nav b{font-size:13px}nav .nav-mobile{align-items:center;gap:12px;display:flex}nav .nav-mobile .nav-cv{color:var(--fg);font-size:14px}nav .links{-webkit-backdrop-filter:blur(30px)saturate(180%);backdrop-filter:blur(30px)saturate(180%);background:linear-gradient(#202438e6,#0c0e18eb);border:1px solid #ffffff29;border-radius:26px;flex-direction:column;gap:0;padding:6px 20px 10px;display:none;position:absolute;top:calc(100% + 10px);left:0;right:0;box-shadow:inset 0 1px #ffffff40,0 18px 40px -12px #0009}nav .links.open{display:flex}nav .links a{color:var(--fg);border-bottom:1px solid #ffffff14;padding:14px 0;font-size:17px}nav .links a:last-of-type{border-bottom:0}nav .links .nav-cv{display:none}h1{font-size:clamp(40px,11vw,48px)}h2{margin-bottom:14px;font-size:clamp(34px,9.5vw,42px)}p{margin-top:12px;font-size:15px;line-height:1.6}.btns{margin-top:18px}.btn{padding:11px 18px}section{justify-content:flex-start;align-items:flex-end;padding-bottom:80px}.card{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#04050a8c;border-radius:18px;max-width:100%;margin:0 -8px;padding:18px 16px}.dots{display:none}}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){@media (max-width:720px){nav{background:#080910eb}}}.no-gl canvas#gl{display:none}.no-gl body:before{content:"";z-index:0;pointer-events:none;aspect-ratio:500/760;background:url(/crystal-poster.jpg) 50%/cover;height:82vh;position:fixed;top:9vh;right:4%;-webkit-mask-image:radial-gradient(50% 50%,#000 45%,#0000 100%);mask-image:radial-gradient(50% 50%,#000 45%,#0000 100%)}@media (max-width:720px){.no-gl body:before{height:46vh;top:6vh;left:50%;right:auto;transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){*{transition:none!important}.sound b{animation:none!important}}
