.theme-toggle{position:relative;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;color:var(--text);background:var(--surface);border:1px solid var(--line);cursor:pointer;transition:scale .16s var(--ease-out),background .2s}.theme-toggle:active{scale:.92}.tt-icon{grid-area:1/1;transition:transform .45s var(--ease-out),opacity .25s,filter .25s}.theme-toggle .tt-sun{opacity:0;transform:rotate(-80deg) scale(.6);filter:blur(3px)}.theme-toggle[data-selected] .tt-sun{opacity:1;transform:none;filter:none}.theme-toggle[data-selected] .tt-moon{opacity:0;transform:rotate(80deg) scale(.6);filter:blur(3px)}@media (hover:hover) and (pointer:fine){.theme-toggle:hover{background:var(--surface-hi)}}.theme-toggle[data-focus-visible]{outline:2px solid var(--aqua);outline-offset:3px}.social-links{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.social-link{display:inline-flex;align-items:center;gap:6px;min-height:44px;padding:0 18px;border-radius:999px;border:1px solid var(--line);background:var(--surface);color:var(--text);font-weight:500;font-size:.95rem;text-decoration:none;transition:transform .25s var(--ease-out),background .25s,border-color .25s}.social-link svg{transition:transform .25s var(--ease-out)}.social-link:active{transform:scale(.96)}@media (hover:hover) and (pointer:fine){.social-link:hover{background:var(--surface-hi);border-color:color-mix(in srgb,var(--violet) 55%,transparent);transform:translateY(-2px)}.social-link:hover svg{transform:translate(2px,-2px)}}.lang-switcher{display:inline-flex;padding:3px;gap:2px;border-radius:999px;background:var(--surface);border:1px solid var(--line)}.lang-switcher-btn{min-width:40px;height:36px;padding:0 10px;border:0;border-radius:999px;background:transparent;color:var(--muted);font-size:.82rem;font-weight:600;letter-spacing:.02em;cursor:pointer;transition:background .2s var(--ease-out),color .2s,scale .16s var(--ease-out)}.lang-switcher-btn:active{scale:.94}.lang-switcher-btn[data-active]{background:var(--text);color:var(--bg)}@media (hover:hover) and (pointer:fine){.lang-switcher-btn:not([data-active]):hover{color:var(--text);background:var(--surface-hi)}}.lang-switcher-btn[data-focus-visible]{outline:2px solid var(--aqua);outline-offset:2px}.backdrop{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;contain:strict}.aurora{inset:0;opacity:var(--aurora-opacity)}.aurora,.blob{position:absolute}.blob{border-radius:50%;mix-blend-mode:var(--blend);will-change:transform}.blob-1{width:90vmax;height:90vmax;top:-40vmax;left:-30vmax;background:radial-gradient(closest-side,var(--violet),transparent 70%);animation:drift-1 38s ease-in-out infinite alternate}.blob-2{width:80vmax;height:80vmax;top:10vh;right:-40vmax;background:radial-gradient(closest-side,var(--aqua),transparent 70%);animation:drift-2 46s ease-in-out infinite alternate}.blob-3{width:70vmax;height:70vmax;bottom:-45vmax;left:5vw;background:radial-gradient(closest-side,var(--amber),transparent 70%);opacity:.7;animation:drift-3 52s ease-in-out infinite alternate}@keyframes drift-1{to{transform:translate3d(18vmax,12vmax,0) scale(1.15)}}@keyframes drift-2{to{transform:translate3d(-22vmax,16vmax,0) scale(.9)}}@keyframes drift-3{to{transform:translate3d(20vmax,-14vmax,0) scale(1.1)}}.dotgrid{inset:0;background-image:radial-gradient(circle,var(--text) 1px,transparent 1.4px);background-size:28px 28px;opacity:.5;-webkit-mask-image:radial-gradient(circle 240px at var(--mx,50%) var(--my,30%),#000,transparent);mask-image:radial-gradient(circle 240px at var(--mx,50%) var(--my,30%),#000,transparent)}.dotgrid,.spot{position:absolute}.spot{top:0;left:0;width:720px;height:720px;border-radius:50%;background:radial-gradient(closest-side,color-mix(in srgb,var(--violet) 22%,transparent),transparent);will-change:transform}.grain{position:absolute;inset:0;opacity:var(--grain-opacity);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 .9 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}.burst-layer{position:fixed;inset:0;z-index:90;pointer-events:none;overflow:hidden}.burst-dot{position:absolute;width:7px;height:7px;border-radius:50%}.cursor-dot,.cursor-ring{position:fixed;top:0;left:0;z-index:95;pointer-events:none;opacity:0;display:none}.cursor-ring{width:36px;height:36px;border-radius:50%;border:1.5px solid var(--text);will-change:transform}.cursor-dot,.cursor-ring{mix-blend-mode:difference}.cursor-dot{width:6px;height:6px;border-radius:50%;background:var(--text)}@media (hover:hover) and (pointer:fine){.cursor-dot,.cursor-ring{display:block}}