/* Public Auth: the studio's local landscape, antique gold and editorial type. */
:root{color-scheme:dark;--auth-text:#f0ece2;--auth-muted:#bbb9ae;--auth-gold:#dfc394;--auth-line:#655a45;font-family:'DM Sans',Arial,Helvetica,sans-serif;background:#090e11;color:var(--auth-text)}
*{box-sizing:border-box}
body{margin:0;min-height:100vh;min-height:100svh;display:flex;align-items:center;position:relative;isolation:isolate;padding:24px max(24px,env(safe-area-inset-right)) 24px max(24px,env(safe-area-inset-left))}
body:before{content:"";position:fixed;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(6,11,14,.8),rgba(6,11,14,.28) 55%,rgba(6,11,14,.14)),url('/assets/novelia-hero.png') center/cover no-repeat}
body:after{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse at 64% 36%,transparent 20%,rgba(3,8,11,.56) 100%)}
.auth-shell{width:min(440px,100%);margin-left:clamp(0px,5.5vw,100px);padding-block:20px}
.auth-brand{display:flex;align-items:center;gap:16px;margin:0 0 28px 6px;color:var(--auth-gold)}
.auth-brand b{display:block;font:30px/1.25 Georgia,serif;letter-spacing:6px;font-weight:400;color:var(--auth-text)}
.auth-brand div>span{display:block;font-size:8px;letter-spacing:1.9px;margin-top:5px;color:var(--auth-muted)}
.auth-sigil{display:grid;place-items:center;width:52px;height:52px;border:1px solid #a8906859;border-radius:50%;flex:none}
.novelia-sigil{display:block;width:40px;height:40px}
.auth-panel{padding:32px;background:rgba(12,18,22,.95);border:1px solid var(--auth-line);border-top-color:#a68c5d;border-radius:7px;box-shadow:0 10px 30px #0003}
.auth-eyebrow{font-size:9px;letter-spacing:2px;color:var(--auth-gold);margin:0 0 15px}
h1{font:normal 31px/1.16 Georgia,serif;letter-spacing:-.3px;margin:0 0 14px}
.auth-intro{font-size:13px;color:var(--auth-muted);line-height:1.7;margin:0 0 25px}
form{margin:0}label{display:block;font-size:12px;margin:17px 0 8px;color:#ddd6c7}
input{display:block;width:100%;min-width:0;min-height:46px;font:16px 'DM Sans',Arial,Helvetica,sans-serif;padding:11px 12px;border:1px solid #5b5d56;border-radius:4px;background:#0a1014;color:var(--auth-text);box-shadow:none}
input:focus{border-color:var(--auth-gold)}
button{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:46px;font:600 13px 'DM Sans',Arial,Helvetica,sans-serif;padding:12px 16px;margin-top:24px;border:1px solid #ead0a5;border-radius:4px;color:#29251c;background:linear-gradient(110deg,#efd6ac,#d0b180);cursor:pointer;transition:filter .15s}
button:hover{filter:brightness(1.06)}button:disabled{opacity:.65;cursor:wait}
a{color:var(--auth-gold);text-underline-offset:4px;text-decoration-color:#9a825c}
.auth-link{display:inline-flex;align-items:center;min-height:44px;font-size:12px;line-height:1.5}
.auth-links{display:flex;flex-direction:column;align-items:flex-start}
.auth-status{min-height:3em;color:#d9c9aa;line-height:1.6;font-size:13px;overflow-wrap:anywhere;margin:16px 0 0}
.auth-hint{font-size:12px;line-height:1.65;color:var(--auth-muted)}
.auth-signoff{color:#c0b8a4;font:italic 13px Georgia,serif;margin:22px 6px 0;letter-spacing:.3px}
.auth-reset{min-height:675px;display:flex;flex-direction:column}
.auth-reset .auth-links{margin-top:auto;padding-top:10px}
:focus-visible{outline:2px solid #f1d4a1;outline-offset:4px}
[hidden]{display:none!important}
@media(min-width:1600px){body:before{background-position:center 45%}.auth-shell{margin-left:8vw}}
@media(max-width:900px){body:before{background-position:57% center}.auth-shell{margin-left:2vw}}
@media(max-width:540px){body{padding:20px max(16px,env(safe-area-inset-right)) 20px max(16px,env(safe-area-inset-left))}body:before{background-image:linear-gradient(rgba(6,11,14,.48),rgba(6,11,14,.7)),url('/assets/novelia-hero.png');background-position:62% center}.auth-shell{margin-inline:auto;padding-block:12px}.auth-brand{margin-bottom:22px;gap:13px}.auth-brand b{font-size:27px}.auth-panel{padding:27px 23px;background:rgba(12,18,22,.97)}h1{font-size:29px}.auth-reset{min-height:710px}.auth-signoff{font-size:12px}}
@media(max-width:350px){.auth-panel{padding:24px 18px}h1{font-size:27px}.auth-brand b{letter-spacing:4px}.auth-brand div>span{letter-spacing:1.2px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
