.auth-frame{--glass-bg:rgba(255,255,255,0.55);--glass-border:1px solid rgba(255,255,255,0.4);--glass-blur:blur(20px);--auth-ease:cubic-bezier(0.23,1,0.32,1);color:var(--ink)}[data-canvas=dark] .auth-frame{--glass-bg:rgba(20,22,38,0.55);--glass-border:1px solid rgba(255,255,255,0.1)}[data-canvas=dark] .auth-frame .text-slate-600,[data-canvas=dark] .auth-frame .text-slate-700{color:#b4bad6}.text-grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.auth-top{position:fixed;top:16px;left:0;right:0;z-index:70;display:flex;justify-content:space-between;align-items:center;padding:0 20px;pointer-events:none}.auth-top>*{pointer-events:auto}.auth-wrap{min-height:100vh;display:grid;place-items:center;padding:96px 16px 40px}.auth-grid{width:min(1080px,100%);display:grid;gap:24px;align-items:stretch}@media (min-width:1024px){.auth-grid:not(.auth-solo){grid-template-columns:1fr 1fr}}.auth-card{padding:36px 28px}@media (min-width:640px){.auth-card{padding:44px}}.auth-side{position:relative;overflow:hidden;display:none;padding:40px}@media (min-width:1024px){.auth-side{display:flex;flex-direction:column;justify-content:space-between}}.auth-side .side-blob{position:absolute;border-radius:50%;filter:blur(50px);opacity:.7}@media (max-height:480px) and (orientation:landscape){.auth-wrap{padding-top:88px}}.sw{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:2px;height:40px;min-width:40px;padding:0 4px;border-radius:999px;background:rgba(255,255,255,.6);border:1px solid rgba(15,23,42,.08);font-size:12px;font-weight:700;color:var(--ink-2);transition:background .3s,transform .3s var(--ease-out)}.sw:hover{background:#fff}.sw span{padding:4px 7px;border-radius:999px;transition:background .3s,color .3s}.sw span.on{background:var(--grad);color:#fff}.sw-theme{width:40px}.sw-theme svg{position:absolute;transition:transform .5s var(--ease-out),opacity .3s}.sw-theme .moon{opacity:0;transform:rotate(-90deg) scale(.5)}[data-canvas=dark] .sw-theme .sun{opacity:0;transform:rotate(90deg) scale(.5)}[data-canvas=dark] .sw-theme .moon{opacity:1;transform:none}[data-canvas=dark] .sw{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.1);color:var(--ink-2)}[data-canvas=dark] .sw:hover{background:rgba(255,255,255,.14)}.notif{position:absolute;display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:16px;font-size:13px;font-weight:600;background:rgba(255,255,255,.85);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.7);box-shadow:var(--shadow-lift);white-space:nowrap}.notif .ico{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;color:#fff}[data-canvas=dark] .notif{background:rgba(30,33,52,.92);border-color:rgba(255,255,255,.1);color:var(--ink)}@media (max-width:400px){.notif{font-size:12px;padding:8px 12px}}.quote-stack{position:relative;min-height:150px}.quote-stack figure{position:absolute;inset:0;margin:0;opacity:0;transform:translateY(16px);transition:opacity .6s,transform .6s var(--ease-out)}.quote-stack figure.on{opacity:1;transform:none}.divider{display:flex;align-items:center;gap:12px;color:var(--ink-3);font-size:13px}.divider:after,.divider:before{content:"";flex:1;height:1px;background:rgba(15,23,42,.1)}[data-canvas=dark] .divider:after,[data-canvas=dark] .divider:before{background:rgba(255,255,255,.1)}.theme-card{overflow:hidden;padding:0;--t1:#7c3aed;--t2:#c4b5fd;--tb:#faf7ff}.theme-preview{background:var(--tb);padding:14px;aspect-ratio:16/10;display:flex;flex-direction:column;gap:10px;border-bottom:1px solid rgba(255,255,255,.5);transition:transform .6s var(--ease-out)}.theme-preview-strip{aspect-ratio:16/7}.tp-nav{display:flex;align-items:center;gap:6px}.tp-nav i{width:22px;height:10px;border-radius:4px;background:var(--t1)}.tp-nav b{width:18px;height:5px;border-radius:3px;background:rgba(15,23,42,.15)}.tp-nav b:last-child{margin-left:auto;width:28px;height:10px;border-radius:999px;background:var(--t1)}.tp-hero{position:relative;flex:1;border-radius:12px;overflow:hidden;background:linear-gradient(135deg,var(--t2),var(--tb));padding:12px;display:flex;flex-direction:column;justify-content:center;gap:6px}.tp-hero span{height:8px;border-radius:4px;background:var(--t1);width:55%}.tp-hero span+span{width:35%;opacity:.5;height:5px}.tp-hero em{position:absolute;right:12px;top:50%;width:34%;aspect-ratio:1;transform:translateY(-50%);border-radius:14px;background:var(--t1);opacity:.85}.tp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.tp-grid i{height:34px;border-radius:8px;background:#fff;border-bottom:6px solid var(--t2);box-shadow:0 2px 6px rgba(15,23,42,.06);transition:transform .4s var(--ease-out)}[data-canvas=dark] .theme-preview{border-bottom-color:rgba(255,255,255,.06)}.auth-card{transition:opacity .6s cubic-bezier(.55,0,1,.45) .6s,transform .6s cubic-bezier(.55,0,1,.45) .6s}.auth-card.leaving{opacity:0;transform:translateY(-10px)}@media (prefers-reduced-motion:no-preference){.auth-reveal-scale{animation:auth-scale-in 1s var(--auth-ease) backwards;animation-delay:calc(var(--i, 0) * .15s)}.auth-reveal{animation:auth-rise-in .8s var(--auth-ease) backwards;animation-delay:calc(.55s + var(--i, 0) * .06s)}.notif.float-a{animation:auth-float-a 4.8s ease-in-out infinite}.notif.float-b{animation:auth-float-b 5.4s ease-in-out infinite}.notif.float-c{animation:auth-float-a 6s ease-in-out infinite}.side-blob.drift-a{animation:auth-drift-a 14s ease-in-out infinite}.side-blob.drift-b{animation:auth-drift-b 14s ease-in-out infinite}.tp-hero em{animation:tp-float 4s ease-in-out infinite}}@media (prefers-reduced-motion:no-preference) and (hover:hover){.sw:hover{transform:translateY(-1px)}.theme-card:hover .theme-preview{transform:scale(1.03)}.theme-card:hover .tp-grid i:first-child{transform:translateY(-3px)}.theme-card:hover .tp-grid i:nth-child(2){transform:translateY(-6px);transition-delay:.05s}.theme-card:hover .tp-grid i:nth-child(3){transform:translateY(-3px);transition-delay:.1s}}@media (prefers-reduced-motion:reduce){.auth-card,.quote-stack figure{transition:none}}@keyframes auth-scale-in{0%{opacity:0;transform:scale(.92)}}@keyframes auth-rise-in{0%{opacity:0;transform:translateY(32px)}}@keyframes auth-float-a{50%{transform:translateY(10px)}}@keyframes auth-float-b{50%{transform:translateY(-10px)}}@keyframes auth-drift-a{50%{transform:translate(-30px,20px)}}@keyframes auth-drift-b{50%{transform:translate(30px,-20px)}}@keyframes tp-float{50%{transform:translateY(-58%) rotate(-4deg)}}