/* Hallmark · custom cinematic entrance · P4 H4 E4 S4 R4 V4.
   Type: Unbounded (SIL OFL); motion: slow optical contours, optional. */
@font-face{font-family:Unbounded;src:url('/assets/unbounded.ttf') format('truetype');font-style:normal;font-weight:200 900;font-display:swap}
:root{--auth-display:Unbounded,var(--font-body);--auth-paper:#080c13;--auth-ink:#f0eee8;--auth-muted:#a5aab5;--auth-line:#ffffff24;--auth-field:#ffffff06;--auth-accent:#8dabff;--auth-blue:#417ce8;--auth-pearl:#d6c29f;--auth-glass:#101621e6;--auth-button:#ebe9e3;--auth-button-ink:#121820}
body.auth-active{background:var(--auth-paper)}
.auth-active>.sidebar{display:none}
#auth-screen{isolation:isolate;position:relative;min-height:100vh;min-height:100svh;margin:0;padding:28px 40px 24px;width:100%;display:flex;flex-direction:column;align-items:center;background:var(--auth-paper);color:var(--auth-ink);overflow:clip}
#auth-screen[hidden]{display:none!important}
.auth-scene{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none}
.auth-scene:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 45%,var(--auth-paper) 2%,transparent 78%)}
.auth-scene svg{width:100%;height:100%;position:absolute;inset:0;opacity:.8}
.light-field{fill:none;stroke-width:1;vector-effect:non-scaling-stroke;transform-origin:center;will-change:transform}
.light-field-blue{stroke:var(--auth-blue);opacity:.44;animation:kinetic-blue 26s ease-in-out infinite alternate}
.light-field-pearl{transform-origin:0 0;stroke:var(--auth-pearl);opacity:.22;animation:kinetic-pearl 32s ease-in-out infinite alternate}
@keyframes kinetic-blue{from{transform:translate(-5%,2%) rotate(-8deg)}to{transform:translate(6%,-4%) rotate(6deg)}}
@keyframes kinetic-pearl{from{transform:translate(1440px,1000px) rotate(180deg) scale(1.08)}to{transform:translate(1380px,1080px) rotate(190deg) scale(.96)}}
.auth-topline{width:100%;display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:11px;letter-spacing:.06em;color:var(--auth-muted)}
#auth-motion{width:36px;height:36px;min-height:36px;display:grid;place-items:center;border:1px solid var(--auth-line);border-radius:50%;background:var(--auth-field);color:var(--auth-muted);padding:0;flex-shrink:0}
#auth-motion svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5}
#auth-motion:hover{color:var(--auth-ink);border-color:var(--auth-muted)}
.auth-composition{width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:40px 0 32px;gap:36px}
.auth-identity{text-align:center;width:100%;min-width:0}
#auth-screen #auth-title{font-family:var(--auth-display);font-size:clamp(38px,7.8vw,112px);font-weight:350;line-height:1.25;letter-spacing:-.05em;margin:0;color:var(--auth-ink);overflow-wrap:normal}
.auth-brand-dot{display:inline-block;width:.085em;height:.085em;background:var(--auth-accent);border-radius:50%;margin-left:.08em;vertical-align:baseline}
#auth-description{font-size:14px;letter-spacing:.04em;line-height:1.5;margin:16px 0 0;color:var(--auth-muted)}
#auth-screen .auth-card{width:min(360px,100%);padding:24px 28px 20px;margin:0;border:1px solid var(--auth-line);border-radius:16px;background:var(--auth-glass);box-shadow:0 20px 80px var(--auth-paper)}
#auth-screen .auth-card h2{font-size:15px;font-weight:500;text-align:center;letter-spacing:0;margin:0 0 20px;color:var(--auth-ink)}
#auth-screen label{font-size:11px;color:var(--auth-muted);margin:14px 0 8px;display:block}
#auth-screen input{width:100%;height:44px;min-height:44px;padding:0 12px;border:1px solid var(--auth-line);border-radius:6px;background:var(--auth-field);color:var(--auth-ink);font-size:13px;margin:0}
#auth-screen input::placeholder{color:var(--auth-muted);opacity:1}
#auth-screen input:hover{border-color:var(--auth-muted)}
#auth-screen :where(input,button,a):focus-visible{outline:2px solid var(--auth-accent);outline-offset:3px}
#auth-submit{display:flex;align-items:center;justify-content:space-between;width:100%;height:44px;min-height:44px;background:var(--auth-button);color:var(--auth-button-ink);border:1px solid var(--auth-button);border-radius:6px;margin-top:22px;padding:0 14px;font-size:13px;box-shadow:none}
#auth-submit:hover{background:var(--auth-ink);filter:none}#auth-submit:disabled{opacity:.5;cursor:not-allowed}
#auth-submit span{font-size:19px}
#auth-screen .auth-contact{margin:20px 0 0;text-align:center;color:var(--auth-muted);font-size:11px;line-height:1.9}
#auth-contact-link{display:inline-block;color:var(--auth-ink);font-size:12px;text-decoration:underline;text-decoration-color:var(--auth-line);text-underline-offset:5px}
a#auth-contact-link:hover{text-decoration-color:var(--auth-accent);color:var(--auth-accent)}
#auth-screen .auth-legal{display:block;flex:none;text-align:center;margin:0;padding:0;font-size:10px;line-height:1.6;letter-spacing:.09em;color:var(--auth-muted)}
#session-loading{font-size:12px;text-align:center;color:var(--auth-muted)}
#auth-screen .form-error{font-size:12px;line-height:1.5;margin:14px 0 0;padding:10px}
.auth-motion-paused .light-field{animation-play-state:paused}
body:not(.auth-active) .light-field{animation-play-state:paused}
@media(max-width:650px){#auth-screen{padding:20px 20px 20px}.auth-topline{font-size:10px;letter-spacing:0}.auth-composition{gap:28px;padding:36px 0 28px}#auth-screen #auth-title{font-size:clamp(35px,10vw,64px)}#auth-description{font-size:12px;margin-top:12px}#auth-screen .auth-card{padding:24px;width:min(360px,100%)}#auth-screen .auth-legal{font-size:9px;letter-spacing:.035em}.auth-scene svg{width:190%;left:-45%}}
@media(max-height:760px) and (min-width:651px){.auth-composition{gap:24px;padding:24px 0}#auth-screen #auth-title{font-size:76px}#auth-screen .auth-card{padding:20px 28px}.auth-card h2{margin-bottom:12px}}
@media(prefers-reduced-motion:reduce){.light-field{animation:none!important;will-change:auto}#auth-motion{display:none}}

@media(pointer:coarse){#auth-motion{width:44px;height:44px;min-height:44px}}
