:root{--auth-accent:#5ea82d;--auth-accent-glow:rgba(94,168,45,0.28);--auth-danger-glow:rgba(220,38,38,0.14);--auth-btn-shadow:0 4px 14px rgba(28,25,23,0.16);--auth-btn-shadow-hover:0 10px 26px -4px rgba(28,25,23,0.24);--auth-card-shadow:0 24px 70px -28px rgba(28,25,23,0.14);--auth-field-bg:#fefdfb;--auth-field-border:var(--control-border)}.dark{--auth-accent:#79c842;--auth-accent-glow:rgba(121,200,66,0.3);--auth-danger-glow:rgba(220,38,38,0.2);--auth-btn-shadow:0 4px 14px rgba(0,0,0,0.3);--auth-btn-shadow-hover:0 10px 26px -4px rgba(0,0,0,0.5);--auth-card-shadow:0 24px 70px -28px rgba(0,0,0,0.45);--auth-field-bg:#1c1917}.auth-card{box-shadow:var(--auth-card-shadow)}@media (prefers-reduced-motion:no-preference){.auth-glow{animation:authGlowPulse 8s ease-in-out infinite}@keyframes authGlowPulse{0%,to{transform:scale(1);opacity:.8}50%{transform:scale(1.12);opacity:1}}}@media (prefers-reduced-motion:no-preference){.auth-rise{animation:authRise .56s cubic-bezier(.16,1,.3,1) both}@keyframes authRise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.auth-pop{animation:authPop .45s cubic-bezier(.3,1.6,.4,1) both}@keyframes authPop{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}}.auth-input-box{background:var(--auth-field-bg);border:1.5px solid var(--auth-field-border);transition:border-color .15s ease,box-shadow .15s ease,background-color .15s ease}.auth-input-box:hover{border-color:var(--muted-text)}.auth-input-box:focus-within{border-color:var(--auth-accent);background-color:var(--surface);box-shadow:0 0 0 4px var(--auth-accent-glow)}.auth-input-box:has(input:user-valid:not(:-moz-placeholder)){border-color:var(--auth-accent)}.auth-input-box:has(input:user-valid:not(:placeholder-shown)){border-color:var(--auth-accent)}.auth-input-box.auth-valid{border-color:var(--auth-accent)}.auth-input-box.auth-invalid,.auth-input-box:has(input:user-invalid){border-color:var(--status-critical);background-color:var(--tint-critical)}.auth-input-box.auth-invalid:focus-within,.auth-input-box:has(input:user-invalid):focus-within{border-color:var(--status-critical);box-shadow:0 0 0 4px var(--auth-danger-glow)}.auth-field-error{display:none}.auth-field-error.is-shown,.auth-field:has(input:user-invalid) .auth-field-error{display:flex}.auth-rules li{transition:color .15s ease}.auth-rules li:before{content:"";width:10px;height:10px;border-radius:9999px;border:1.5px solid var(--control-border);flex:none;transition:background-color .15s ease,border-color .15s ease}.auth-rules li[data-met=true]{color:var(--foreground)}.auth-rules li[data-met=true]:before{background:var(--auth-accent);border-color:var(--auth-accent)}.auth-btn{position:relative;overflow:hidden;background:var(--foreground);color:var(--canvas);box-shadow:var(--auth-btn-shadow);transition:transform .22s cubic-bezier(.3,1.6,.4,1),box-shadow .22s ease,opacity .15s ease}.auth-btn:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.18),transparent);transform:translateX(-100%);pointer-events:none}.auth-btn:disabled{opacity:.75;cursor:not-allowed}.auth-btn>*{position:relative}@media (prefers-reduced-motion:no-preference){.auth-btn:hover:not(:disabled){transform:translateY(-2px) scale(1.015);box-shadow:var(--auth-btn-shadow-hover)}.auth-btn:active:not(:disabled){transform:scale(.98)}.auth-btn:hover:not(:disabled):before{transform:translateX(100%);transition:transform .65s linear}.auth-theme-toggle:hover{transform:rotate(12deg) scale(1.05)}}.auth-theme-toggle{transition:transform .15s ease,border-color .15s ease,color .15s ease,background-color .15s ease}:root{--ribbon-from:#fff4da;--ribbon-via:#fffaf0;--ribbon-to:#eef8e3;--ribbon-eyebrow:#92400e;--ribbon-title:#1c1917;--ribbon-muted:#57534e;--ribbon-now:#2a5c14;--ribbon-now-mark:#5ea82d;--ribbon-now-mark-alpha:0.24;--ribbon-strike:#b42318;--ribbon-shine:#f2a900;--ribbon-shine-alpha:0.34;--ribbon-sparkle:#d98e00;--ribbon-glow:0 10px 26px -14px rgba(242,169,0,0.55);--ribbon-glow-peak:0 14px 36px -10px rgba(242,169,0,0.9);--ribbon-medal-from:#ffb347;--ribbon-medal-mid:#f2a900;--ribbon-medal-to:#5ea82d;--ribbon-medal-ink:#2a1a00}.dark{--ribbon-from:#3a2a0c;--ribbon-via:#2e2a18;--ribbon-to:#1f2d15;--ribbon-eyebrow:#fcd34d;--ribbon-title:#fafaf9;--ribbon-muted:#d6d3d1;--ribbon-now:#d2f0b4;--ribbon-now-mark:#79c842;--ribbon-now-mark-alpha:0.26;--ribbon-strike:#fca5a5;--ribbon-shine:#fcd34d;--ribbon-shine-alpha:0.17;--ribbon-sparkle:#fcd34d;--ribbon-glow:0 10px 28px -14px rgba(242,169,0,0.35);--ribbon-glow-peak:0 14px 36px -10px rgba(242,169,0,0.6)}.auth-ribbon{position:relative;overflow:hidden;border:1px solid transparent;background:linear-gradient(110deg,var(--ribbon-from) 0,var(--ribbon-via) 55%,var(--ribbon-to) 100%) padding-box,linear-gradient(120deg,var(--ribbon-medal-from) 0,var(--ribbon-medal-mid) 50%,var(--ribbon-medal-to) 100%) border-box;box-shadow:var(--ribbon-glow)}.auth-ribbon-eyebrow{color:var(--ribbon-eyebrow)}.auth-ribbon-title{color:var(--ribbon-title)}.auth-ribbon-detail,.auth-ribbon-was{color:var(--ribbon-muted)}.auth-ribbon-was{position:relative;display:inline-block;text-decoration:line-through;text-decoration-color:var(--ribbon-strike);text-decoration-thickness:2px}.auth-ribbon-was:after{content:"";position:absolute;left:-1px;right:-1px;top:49%;border-top:2px solid var(--ribbon-strike);border-radius:1px;opacity:0;pointer-events:none;transform-origin:0 50%}.auth-ribbon-now{position:relative;z-index:0;display:inline-block;color:var(--ribbon-now);font-size:1rem;font-weight:700;line-height:1.2}.auth-ribbon-now:after{content:"";position:absolute;z-index:-1;left:-3px;right:-3px;bottom:1px;height:.42em;border-radius:3px;background:var(--ribbon-now-mark);opacity:var(--ribbon-now-mark-alpha);pointer-events:none;transform-origin:0 50%}.auth-ribbon-medal{position:relative;background:linear-gradient(135deg,var(--ribbon-medal-from) 0,var(--ribbon-medal-mid) 50%,var(--ribbon-medal-to) 100%);color:var(--ribbon-medal-ink);box-shadow:0 4px 12px -4px rgba(242,169,0,.6),inset 0 1px 0 rgba(255,255,255,.45)}.auth-ribbon-icon{transform-origin:50% 55%}.auth-ribbon-medal:after{border-radius:inherit;border:2px solid var(--ribbon-medal-mid)}.auth-ribbon-medal:after,.auth-ribbon-medal:before{content:"";position:absolute;inset:0;opacity:0;pointer-events:none}.auth-ribbon-medal:before{border-radius:inherit;background:conic-gradient(from 0deg,transparent 0deg,transparent 215deg,rgba(255,255,255,.95) 325deg,transparent 1turn);-webkit-mask-image:radial-gradient(farthest-side,transparent calc(100% - 3.5px),#000 calc(100% - 2.5px));mask-image:radial-gradient(farthest-side,transparent calc(100% - 3.5px),#000 calc(100% - 2.5px))}.auth-ribbon-shine{position:absolute;inset:0;pointer-events:none;opacity:0;transform:translateX(-100%);background:linear-gradient(105deg,transparent 22%,var(--ribbon-shine) 46%,var(--ribbon-shine) 54%,transparent 78%)}.auth-ribbon-sparkle{position:absolute;pointer-events:none;background:var(--ribbon-sparkle);clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);opacity:.8;transform:scale(.85)}.auth-ribbon-sparkle-a{left:-9px;top:-8px;width:11px;height:11px;--spark-fx:21px;--spark-fy:20px;--spark-ox:-3px;--spark-oy:-3px}.auth-ribbon-sparkle-b{left:31px;top:-8px;width:9px;height:9px;--spark-fx:-17px;--spark-fy:22px;--spark-ox:3px;--spark-oy:-3px}.auth-ribbon-sparkle-c{left:-9px;top:33px;width:8px;height:8px;--spark-fx:23px;--spark-fy:-19px;--spark-ox:-3px;--spark-oy:3px}.auth-ribbon-sparkle-d{left:31px;top:35px;width:10px;height:10px;--spark-fx:-18px;--spark-fy:-22px;--spark-ox:3px;--spark-oy:2px}@media (prefers-reduced-motion:no-preference){.auth-ribbon{animation:authRibbonIn 1.5s cubic-bezier(.16,1,.3,1) both}@keyframes authRibbonIn{0%{opacity:0;transform:translateY(8px) scale(.97);box-shadow:var(--ribbon-glow)}30%{opacity:1;transform:none;box-shadow:var(--ribbon-glow-peak);animation-timing-function:ease-in-out}to{opacity:1;transform:none;box-shadow:var(--ribbon-glow)}}.auth-ribbon-medal{animation:authPop .45s cubic-bezier(.3,1.6,.4,1) .18s both}.auth-ribbon-icon{animation:authRibbonTilt .8s cubic-bezier(.3,1.6,.4,1) .36s both}@keyframes authRibbonTilt{0%{transform:rotate(-16deg) scale(.85)}to{transform:none}}.auth-ribbon-medal:before{animation:authRibbonEdge .9s ease-in-out .42s both}@keyframes authRibbonEdge{0%{opacity:0;transform:rotate(0deg)}15%{opacity:1}75%{opacity:1}to{opacity:0;transform:rotate(1turn)}}.auth-ribbon-medal:after{animation:authRibbonHalo 1.4s ease-out .52s both}@keyframes authRibbonHalo{0%{opacity:0;transform:scale(1)}20%{opacity:.6}to{opacity:0;transform:scale(1.6)}}.auth-ribbon-shine{animation:authRibbonShine 1.8s ease-in-out .8s 2 both}@keyframes authRibbonShine{0%{opacity:var(--ribbon-shine-alpha);transform:translateX(-100%)}to{opacity:var(--ribbon-shine-alpha);transform:translateX(100%)}}.auth-ribbon-sparkle{animation:authRibbonBurst 1.8s cubic-bezier(.16,1,.3,1) both}.auth-ribbon-sparkle-a{animation-delay:.52s}.auth-ribbon-sparkle-b{animation-delay:.62s}.auth-ribbon-sparkle-c{animation-delay:.72s}.auth-ribbon-sparkle-d{animation-delay:.82s}@keyframes authRibbonBurst{0%{opacity:0;transform:translate(var(--spark-fx),var(--spark-fy)) scale(.2) rotate(0deg)}30%{opacity:1;transform:translate(var(--spark-ox),var(--spark-oy)) scale(1.1) rotate(60deg)}to{opacity:.8;transform:translate(0) scale(.85) rotate(90deg)}}.auth-ribbon-was{text-decoration:none}.auth-ribbon-was:after{animation:authRibbonStrike .35s cubic-bezier(.65,0,.35,1) .9s both}@keyframes authRibbonStrike{0%{opacity:1;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}.auth-ribbon-now{animation:authRibbonNow .65s cubic-bezier(.22,1,.36,1) 1.25s both}@keyframes authRibbonNow{0%{opacity:.3;transform:scale(.88)}45%{opacity:1;transform:scale(1.12)}to{opacity:1;transform:scale(1)}}.auth-ribbon-now:after{animation:authRibbonMark .5s cubic-bezier(.16,1,.3,1) 1.4s both}@keyframes authRibbonMark{0%{transform:scaleX(0)}to{transform:scaleX(1)}}}