.glass,.wrap{position:relative}.btn,.chip{align-items:center}.btn,body{color:var(--text);letter-spacing:.2px}.glass,.pd-bgfx,.skeleton,body.cm-lock{overflow:hidden}.dl-desc,.dl-title,.ux-modal__desc,.ux-modal__title{text-align:center}:root{--header-h:64px;--bg:#0B0E18;--panel-1:#0F1324;--panel-2:#161B30;--text:#E8EEFF;--muted:rgba(232,238,255,.75);--ring:rgba(255,255,255,.12);--blue:#5E74FF;--lav:#9AA5FF;--outline:1px solid rgba(255,255,255,.10);--shadow:0 12px 48px rgba(8,12,26,.48),inset 0 1px 0 rgba(255,255,255,.06);--radius:22px;--focus:0 0 0 3px rgba(94,116,255,.55);--spot-x:50vw;--spot-y:40vh;--maxw:min(1100px,94vw)}html{scroll-behavior:smooth}[id]{scroll-margin-top:calc(var(--header-h) + 16px)}[data-theme=light]{--bg:#f7f8ff;--panel-1:#fff;--panel-2:#fbfbff;--text:#0B0E18;--muted:rgba(11,14,24,.70);--ring:rgba(11,14,24,.12);--outline:1px solid rgba(11,14,24,.10);--shadow:0 12px 48px rgba(0,0,0,.08),inset 0 1px 0 rgba(0,0,0,.06);--focus:0 0 0 3px rgba(94,116,255,.35)}*,::after,::before{box-sizing:border-box}body{margin:0;background:var(--bg);font:500 16px/1.65 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI","Helvetica Neue",Arial;overflow-x:hidden}a{color:inherit;text-decoration:none}:focus-visible{outline:rgba(79,98,255,.6) solid 2px;outline-offset:3px}.container{width:var(--maxw);margin:0 auto;padding:0 clamp(12px,3vw,24px)}.wrap{z-index:1;padding:clamp(16px,3vw,32px) 0 64px}.glass{border-radius:var(--radius);background:linear-gradient(180deg,color-mix(in oklab,var(--panel-1),transparent 10%) 0,color-mix(in oklab,var(--panel-2),transparent 4%) 100%);border:var(--outline);box-shadow:var(--shadow);backdrop-filter:blur(10px) saturate(120%);-webkit-backdrop-filter:blur(10px) saturate(120%);isolation:isolate}.grain::after{content:"";position:absolute;inset:0;pointer-events:none;mix-blend-mode:overlay;opacity:.04;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="160" height="160" viewBox="0 0 160 160"><filter id="n"><feTurbulence type="fractalNoise" baseFrequency="0.9" numOctaves="2" stitchTiles="stitch"/></filter><rect width="100%" height="100%" filter="url(%23n)"/></svg>')}.pad{padding:clamp(16px,3vw,36px)}.btn{display:inline-flex;gap:10px;padding:10px 14px;border-radius:14px;border:1px solid var(--ring);background:color-mix(in oklab,var(--panel-1),transparent 18%);box-shadow:inset 0 1px 0 rgba(255,255,255,.06);font-weight:700;transition:transform .18s;transform:translateY(0)}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0) scale(.99)}.btn.primary{background:linear-gradient(180deg,color-mix(in oklab,var(--blue),transparent 14%),color-mix(in oklab,var(--lav),transparent 28%));border-color:color-mix(in oklab,var(--blue),transparent 40%)}.toolbar{display:flex;flex-wrap:wrap;gap:10px}.chip{display:inline-flex;gap:8px;padding:7px 12px;border-radius:999px;border:1px solid var(--ring);background:rgba(255,255,255,.06);color:var(--muted);font-size:12px}.dock-row,.toast{align-items:center;gap:10px}.dot{width:8px;height:8px;border-radius:999px;background:linear-gradient(180deg,var(--lav),var(--blue))}.typography{color:var(--text)}.typography :is(h2,h3,h4){line-height:1.28;margin:1.2em 0 .5em;letter-spacing:.2px}.typography h2{font-size:clamp(20px,3.2vw,32px)}.typography h3{font-size:clamp(18px,2.4vw,24px)}.typography p{margin:.65em 0}.typography ul{margin:.6em 0 .6em 1.2em}.typography li{margin:.3em 0}.typography blockquote{margin:1em 0;padding:14px 16px;border-left:3px solid var(--blue);background:color-mix(in oklab,var(--panel-1),transparent 8%);border-radius:12px;color:var(--muted)}.typography a{color:#c7d2ff;text-decoration:underline dotted;text-underline-offset:3px}.progress{position:fixed;inset:0 0 auto 0;height:3px;z-index:5;background:linear-gradient(90deg,var(--blue),var(--lav));width:0%;box-shadow:0 0 16px rgba(94,116,255,.5);transition:width .1s linear}.skeleton{position:relative;border-radius:12px;background:rgba(255,255,255,.06)}.skeleton .shimmer{position:absolute;inset:0;background:linear-gradient(90deg,transparent 0,rgba(255,255,255,.08) 45%,rgba(255,255,255,.16) 50%,rgba(255,255,255,.08) 55%,transparent 100%);transform:translateX(-100%);animation:1.6s linear infinite shimmer;height:100%}.glassDock{padding:8px 10px;border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.14);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 10px 34px rgba(8,12,26,.45);backdrop-filter:blur(10px) saturate(120%);-webkit-backdrop-filter:blur(10px) saturate(120%)}.dock-row{display:flex;margin:0;padding:0;list-style:none}.dock-btn{display:grid;place-items:center;width:42px;height:42px;border-radius:14px;color:#e8eeff;border:1px solid rgba(255,255,255,.16);background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.05));box-shadow:inset 0 1px 0 rgba(255,255,255,.1);transition:transform .16s,background .16s,border-color .16s,box-shadow .16s}.dock-btn:hover{transform:translateY(-1px);border-color:rgba(255,255,255,.22);background:linear-gradient(180deg,rgba(255,255,255,.1),rgba(255,255,255,.06))}.dock-btn:active{transform:translateY(0) scale(.98)}.dock-btn.is-active,.dock-btn[aria-current=page]{background:linear-gradient(180deg,rgba(15,19,36,.96),rgba(22,27,48,.96));border-color:rgba(255,255,255,.22);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1),inset 0 8px 18px rgba(255,255,255,.04)}[data-theme=light] body{color:rgba(0,0,0,.85);background:#f7f8ff}[data-theme=light] .glass{background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(255,255,255,.72));border-color:rgba(0,0,0,.12);color:rgba(0,0,0,.85)}[data-theme=light] .shadow-glow{box-shadow:0 0 0 1px rgba(0,0,0,.06) inset,0 10px 30px rgba(79,98,255,.08),0 2px 8px rgba(0,0,0,.06)}[data-theme=light] .text-white\/90{color:rgba(0,0,0,.9)!important}[data-theme=light] .text-white\/85{color:rgba(0,0,0,.85)!important}[data-theme=light] .text-white\/80{color:rgba(0,0,0,.8)!important}[data-theme=light] .text-white\/75{color:rgba(0,0,0,.75)!important}[data-theme=light] .text-white\/70{color:rgba(0,0,0,.7)!important}[data-theme=light] .text-white\/60{color:rgba(0,0,0,.6)!important}[data-theme=light] .text-white\/50{color:rgba(0,0,0,.55)!important}[data-theme=light] .text-white\/40{color:rgba(0,0,0,.48)!important}[data-theme=light] .bg-white\/10{background-color:rgba(0,0,0,.06)!important}[data-theme=light] .bg-white\/5{background-color:rgba(0,0,0,.03)!important}[data-theme=light] .ring-white\/10{--tw-ring-color:rgba(0,0,0,.12)!important}[data-theme=light] .ring-white\/15{--tw-ring-color:rgba(0,0,0,.16)!important}[data-theme=light] .hover\:ring-white\/20:hover{--tw-ring-color:rgba(0,0,0,.18)!important}@media (max-width:640px){body{padding-bottom:88px}}#toast-root{position:fixed;z-index:70;bottom:16px;right:16px;display:flex;flex-direction:column;gap:8px;width:clamp(220px,36vw,380px);pointer-events:none;background:0 0}.toast{pointer-events:auto;display:flex;padding:10px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:rgba(20,20,20,.96);color:#fff;box-shadow:0 10px 30px rgba(0,0,0,.25)}.toast--ok{border-color:rgba(16,185,129,.35)}.toast--err{border-color:rgba(244,63,94,.35)}.toast--info{border-color:rgba(99,102,241,.35)}.toast__msg{font-size:13px;line-height:1.35}.toast__btn{margin-left:auto;opacity:.8;border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:2px 6px;font-size:11px;background:0 0;color:inherit}.toast-enter{animation:.12s ease-out both toastIn}.toast-leave{animation:.12s ease-in both toastOut}@keyframes toastIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes toastOut{from{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(6px)}}::selection{--tw-text-opacity:1;color:rgb(255 255 255 / var(--tw-text-opacity,1));background-color:rgb(79 98 255 / .3)}.btn-glass{position:relative;display:inline-flex;align-items:center;gap:.5rem;padding:.65rem 1.1rem;border-radius:1rem;font-size:.95rem;font-weight:600;line-height:1;color:#e8eeff;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);backdrop-filter:blur(12px) saturate(160%);-webkit-backdrop-filter:blur(12px) saturate(160%);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 6px 20px -8px rgba(0,0,0,.45);transition:background .25s,box-shadow .25s,transform .15s}.dl-panel,.ux-modal__panel{box-shadow:0 20px 60px rgba(0,0,0,.5)}.btn-glass:hover{background:rgba(255,255,255,.12);box-shadow:0 8px 24px -10px rgba(94,116,255,.45),inset 0 1px 0 rgba(255,255,255,.12);transform:translateY(-1px)}.btn-glass:active{transform:translateY(0);box-shadow:0 4px 14px -8px rgba(94,116,255,.5)}.btn-glass:focus-visible{outline:0;box-shadow:0 0 0 2px #0e121c,0 0 0 4px rgba(124,139,255,.5)}.btn-glass .icon{width:16px;height:16px;opacity:.85}.pd-bgfx{position:fixed;inset:0;z-index:0;pointer-events:none;background:radial-gradient(1200px 900px at 18% 8%,#101632 0,#0b0e18 45%,#070a12 100%) fixed}.pd-bgfx::before{content:"";position:absolute;inset:-18%;background:radial-gradient(560px 520px at 10% 26%,rgba(88,108,255,.28),transparent 62%),radial-gradient(700px 600px at 92% 58%,rgba(88,108,255,.2),transparent 70%),radial-gradient(520px 520px at 22% 86%,rgba(88,108,255,.16),transparent 68%),radial-gradient(380px 360px at 74% 14%,rgba(88,108,255,.18),transparent 70%);animation:26s ease-in-out infinite alternate mesh-breathe;filter:saturate(118%);will-change:transform}@keyframes mesh-breathe{0%{transform:translate3d(0,0,0) scale(1);opacity:.92}100%{transform:translate3d(-22px,-18px,0) scale(1.035);opacity:1}}.pd-twinkle{position:absolute;inset:-80px;mix-blend-mode:screen;opacity:.2;background-image:radial-gradient(300px 260px at 8% 34%,rgba(88,108,255,.22),transparent 72%),radial-gradient(260px 220px at 88% 76%,rgba(88,108,255,.18),transparent 70%),radial-gradient(220px 220px at 78% 22%,rgba(88,108,255,.16),transparent 68%),radial-gradient(240px 220px at 18% 92%,rgba(88,108,255,.14),transparent 70%);background-repeat:no-repeat;animation:48s linear infinite twinkle-drift;will-change:background-position}@keyframes twinkle-drift{from{background-position:0 0,0 0,0 0,0 0}to{background-position:-60px -30px,40px 30px,-35px 25px,30px -20px}}.pd-gridfx{position:absolute;inset:0;opacity:.1;background:linear-gradient(transparent 31px,rgba(255,255,255,.06) 32px),linear-gradient(90deg,transparent 31px,rgba(255,255,255,.06) 32px);background-size:32px 32px;animation:44s linear infinite grid-slow;mask:radial-gradient(900px 600px at 12% 28%,black 0%,transparent 70%),radial-gradient(900px 600px at 88% 68%,black 0%,transparent 70%);-webkit-mask:radial-gradient(900px 600px at 12% 28%,black 0%,transparent 70%),radial-gradient(900px 600px at 88% 68%,black 0%,transparent 70%)}@keyframes grid-slow{from{background-position:0 0,0 0}to{background-position:32px 32px,32px 32px}}@media (max-width:639px){.btn-glass.hide-mobile{display:none!important}}.dl-modal.done .dl-arrow,.dl-modal.hidden,.ux-modal.hidden{display:none}.ux-modal{position:fixed;inset:0;z-index:9999}.ux-modal__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.55);opacity:0;transition:opacity .25s}.ux-modal__panel{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(.96);width:min(92vw,420px);background:rgba(17,17,17,.8);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:22px 20px 20px;color:#fff;opacity:0;transition:transform .25s,opacity .25s}.dl-modal.show .dl-backdrop,.ux-modal.show .ux-modal__backdrop{opacity:1}.dl-modal.show .dl-panel,.ux-modal.show .ux-modal__panel{opacity:1;transform:translate(-50%,-50%) scale(1)}.ux-modal__close{position:absolute;right:10px;top:6px;width:36px;height:36px;border-radius:10px;background:0 0;color:#fff;font-size:26px;border:1px solid rgba(255,255,255,.12);cursor:pointer}.ux-modal__icon{display:flex;justify-content:center;margin-top:6px;margin-bottom:10px}.cm-icon{width:96px;height:96px;display:none}.ux-modal[data-variant=error] .cm-error,.ux-modal[data-variant=success] .cm-success{display:block}.cm-circle{fill:none;stroke:rgba(255,255,255,.18);stroke-width:10;stroke-linecap:round;transform-origin:center;animation:.7s both cmPulse}@keyframes cmPulse{0%{transform:scale(.85);opacity:.5}100%{transform:scale(1);opacity:1}}.cm-check{fill:none;stroke:#34d399;stroke-width:10;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:120;stroke-dashoffset:120;animation:.5s .25s forwards drawCheck}@keyframes drawCheck{to{stroke-dashoffset:0}}.cm-cross{fill:none;stroke:#f87171;stroke-width:10;stroke-linecap:round;stroke-dasharray:52;stroke-dashoffset:52}.ux-modal.show[data-variant=error] .cm-cross-a{animation:.45s .25s forwards drawX}.ux-modal.show[data-variant=error] .cm-cross-b{animation:.45s .4s forwards drawX}@keyframes drawX{to{stroke-dashoffset:0}}.ux-modal__title{font-weight:600;margin:2px 0 4px;font-size:18px}.ux-modal__desc{color:rgba(255,255,255,.75);font-size:14px}.dl-modal{position:fixed;inset:0;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);z-index:2147483600}.dl-backdrop,.dl-close,.dl-panel{position:absolute}.dl-backdrop{inset:0;background:rgba(0,0,0,.55);opacity:0;transition:opacity .22s}.dl-panel{left:50svw;top:50svh;transform:translate(-50%,-50%) scale(.96);width:min(92svw,420px);background:rgba(17,17,17,.86);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:20px;color:#fff;opacity:0;transition:transform .22s,opacity .22s}.dl-close{right:10px;top:8px;width:36px;height:36px;border-radius:10px;background:0 0;border:1px solid rgba(255,255,255,.12);color:#fff;font-size:26px;cursor:pointer}.dl-title{font-weight:600;margin:.25rem 0 .35rem;font-size:18px}.dl-desc{color:rgba(255,255,255,.75);font-size:14px;margin:0}.dl-ico{display:flex;justify-content:center;margin:6px 0 10px}.dl-svg{width:96px;height:96px}.dl-tray{fill:none;stroke:rgba(255,255,255,.18);stroke-width:10;stroke-linecap:round}.dl-arrow{fill:none;stroke:#d1fae5;stroke-width:10;stroke-linecap:round;stroke-linejoin:round;animation:.6s ease-in-out infinite alternate fall}.dl-check{fill:none;stroke:#34d399;stroke-width:10;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:120;stroke-dashoffset:120}.dl-modal.done .dl-check{animation:.5s forwards draw}@keyframes fall{0%{transform:translateY(-18px)}100%{transform:translateY(0)}}@keyframes draw{to{stroke-dashoffset:0}}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.dl-backdrop,.dl-panel,.dock-btn{transition:none}.pd-bgfx::before,.pd-gridfx,.pd-twinkle{animation:none!important}.dl-arrow{animation:none;opacity:.7}}@media (max-width:420px){.dl-panel{width:min(94svw,360px)}}