:root{--bg:#fbf8ff;--surface:#fff;--surface-2:#f2edfb;--text:#170b2e;--muted:#655c7a;--line:rgba(23,11,46,.12);--accent:#c0129c;--accent-hover:#a10f84;--accent-text:#fff;--accent-rgb:192,18,156;--gold:#d97a00;--cyan:#0a9fbd;--violet:#7b2cf0;--brand-grad:linear-gradient(100deg,#7b2cf0,#d417c4 48%,#ff4d6d);--brand-grad-text:linear-gradient(95deg,#a531fa,#f012cf 30%,#ff5c5c 55%,#ff9f0a 75%,#12c9e6);--sidebar:#140a2b;--sidebar-text:#f6f0ff;--sidebar-muted:rgba(246,240,255,.62);--sidebar-hover:rgba(246,240,255,.07);--danger:#b3261e;--ok:#2e7d5b;--shadow:0 1px 2px rgba(23,11,46,.06),0 12px 32px -16px rgba(23,11,46,.28);--radius:14px;--display:"Bodoni Moda","Didot","Bodoni 72",Georgia,serif;--sans:"Manrope","Avenir Next",system-ui,-apple-system,"Segoe UI",sans-serif;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#0f0822;--surface:#1a1033;--surface-2:#241842;--text:#f6f0ff;--muted:#ada3c4;--line:rgba(246,240,255,.12);--accent:#ff4fd8;--accent-hover:#ff7ae2;--accent-text:#170b2e;--accent-rgb:255,79,216;--gold:#ffb020;--cyan:#2ee6ff;--violet:#b06bff;--sidebar:#0a0518;--danger:#ff8a80;--ok:#74c69d;--shadow:0 1px 2px rgba(0,0,0,.3),0 16px 40px -18px rgba(0,0,0,.75);color-scheme:dark}}:root[data-theme=dark]{--bg:#0f0822;--surface:#1a1033;--surface-2:#241842;--text:#f6f0ff;--muted:#ada3c4;--line:rgba(246,240,255,.12);--accent:#ff4fd8;--accent-hover:#ff7ae2;--accent-text:#170b2e;--accent-rgb:255,79,216;--gold:#ffb020;--cyan:#2ee6ff;--violet:#b06bff;--sidebar:#0a0518;--danger:#ff8a80;--ok:#74c69d;--shadow:0 1px 2px rgba(0,0,0,.3),0 16px 40px -18px rgba(0,0,0,.75);color-scheme:dark}*,:after,:before{box-sizing:border-box}body,html{background:var(--bg);color:var(--text)}body{margin:0;font-family:var(--sans);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:inherit}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}[hidden]{display:none!important}.logo{display:inline-block;line-height:0;border-radius:10px;text-decoration:none;transition:transform .25s ease,filter .25s ease}.logo img{display:block;height:var(--logo-h,44px);width:auto}.logo:hover{transform:rotate(-2deg) scale(1.03);filter:drop-shadow(0 6px 18px rgba(var(--accent-rgb),.35))}@media (prefers-reduced-motion:reduce){.logo,.logo:hover{transition:none;transform:none}}h1 em,h2 em{background:var(--brand-grad-text);-webkit-background-clip:text;background-clip:text;color:transparent;padding-right:.06em}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 20px;border-radius:999px;border:1px solid transparent;font-weight:700;font-size:15px;text-decoration:none;transition:background .2s,border-color .2s,transform .1s,opacity .2s}.btn:active{transform:scale(.98)}.btn-primary{background:var(--brand-grad);color:#fff;box-shadow:0 10px 26px -12px rgba(var(--accent-rgb),.7)}.btn-primary:hover{background:var(--brand-grad);filter:brightness(1.08) saturate(1.1)}.btn-ghost{background:transparent;border-color:var(--line);color:var(--text)}.btn-ghost:hover{border-color:var(--text)}.btn[aria-busy=true],.btn[disabled]{opacity:.6;cursor:default}.btn .spin{width:16px;height:16px;border-radius:50%;border:2px solid;border-right:2px solid transparent;animation:spin .7s linear infinite}.btn-block{width:100%}.linklike{border:0;background:none;padding:4px 0;color:var(--accent);font-weight:700;text-decoration:underline;text-underline-offset:3px}.field{display:grid;gap:6px}.field label{font-size:13px;font-weight:700}.field .input{position:relative}.field input{width:100%;min-height:50px;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--text);font-size:16px;transition:border-color .2s,box-shadow .2s}.field input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}.field input[aria-invalid=true]{border-color:var(--danger)}.field .hint{font-size:13px;color:var(--muted)}.field .problem{font-size:13px;color:var(--danger);font-weight:600}.field .input input{padding-right:52px}input::-ms-clear,input::-ms-reveal{display:none}.reveal-pw{position:absolute;right:4px;top:50%;translate:0 -50%;width:44px;height:44px;display:grid;place-items:center;padding:0;border:0;border-radius:10px;background:transparent;color:var(--muted);cursor:pointer}.reveal-pw:hover{color:var(--text)}.reveal-pw:focus-visible{outline:2px solid var(--accent);outline-offset:-4px}.reveal-pw:before{content:"";width:22px;height:22px;background:currentColor;-webkit-mask:var(--eye) center /contain no-repeat;mask:var(--eye) center /contain no-repeat;--eye:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 12s3.6-7 10-7 10 7 10 7-3.6 7-10 7S2 12 2 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E")}.reveal-pw[aria-pressed=true]:before{--eye:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10.6 5.1A10.6 10.6 0 0 1 12 5c6.4 0 10 7 10 7a17 17 0 0 1-2.6 3.5M6.6 6.6C3.7 8.4 2 12 2 12s3.6 7 10 7a9.7 9.7 0 0 0 5.4-1.6'/%3E%3Cpath d='M9.9 9.9a3 3 0 0 0 4.2 4.2'/%3E%3Cpath d='M3 3l18 18'/%3E%3C/svg%3E")}.notice{padding:12px 14px;border-radius:12px;font-size:14px;border:1px solid var(--line);background:var(--surface-2)}.notice[data-kind=error]{border-color:color-mix(in srgb,var(--danger) 45%,transparent);color:var(--danger);background:color-mix(in srgb,var(--danger) 8%,var(--surface))}.notice[data-kind=ok]{border-color:color-mix(in srgb,var(--ok) 45%,transparent);color:var(--ok);background:color-mix(in srgb,var(--ok) 8%,var(--surface))}.toast{position:fixed;left:50%;bottom:calc(22px + env(safe-area-inset-bottom, 0px));z-index:100;transform:translate(-50%,160%);opacity:0;max-width:calc(100vw - 32px);width:-moz-max-content;width:max-content;padding:12px 18px;border-radius:12px;background:var(--text);color:var(--bg);font-weight:600;font-size:14px;box-shadow:var(--shadow);transition:transform .35s ease,opacity .35s ease}.toast.on{transform:translate(-50%);opacity:1}.toast[data-kind=error]{background:var(--danger);color:#fff}@keyframes spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}}