/* Centered access panel. The viewport can grow when a keyboard or error is shown. */
:root{color-scheme:dark;--bg:#0e0709;--text:#fcf4f6;--muted:#bda5ab;--accent:#d21430;--accent-hi:#f57888;--ui:'Manrope','Inter',system-ui,-apple-system,'Segoe UI',sans-serif}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{-webkit-text-size-adjust:100%}
body{margin:0;color:var(--text);background:radial-gradient(ellipse at 50% 42%,#2f1017 0,#1c0b0f 33%,var(--bg) 72%);font:15px/1.6 'Inter',system-ui,sans-serif}
::selection{background:#d2143055;color:#fff}
.gate{min-height:100vh;min-height:100dvh;width:100%;display:grid;place-items:center;padding:32px 20px;padding: max(24px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left))}
.card{text-align:center;position:relative;width:min(100%,440px);padding:38px;border:1px solid #e4a0ac29;border-radius:26px;background:linear-gradient(145deg,#271519,#161012 75%);box-shadow:0 24px 70px #0004,inset 0 1px 0 #ffffff04}
.card:before{content:"";position:absolute;top:-1px;left:40px;right:40px;height:1px;background:linear-gradient(90deg,transparent,#e37e8d80,transparent)}
.brand-lockup{text-align:center;margin-bottom:30px}
.card img,.brand-logo{display:block;width:88px;max-width:100%;height:88px;max-height:88px;margin:0 auto 24px;object-fit:contain}
.word{margin:0;font:800 32px/1.2 var(--ui);letter-spacing:.015em;white-space:nowrap}.w1{color:#fff6f8}.w2{color:#f47586}
.sub{margin:12px 0 0;font-size:13px;line-height:1.7;color:var(--muted)}
form{margin:0;text-align:left}label{display:block;margin-bottom:10px;color:#e2d0d4;font-size:12px;font-weight:600;letter-spacing:.015em}
.input-wrap{position:relative}.input-icon{position:absolute;left:16px;top:50%;transform:translateY(-50%);width:19px;height:19px;fill:#a88a90;pointer-events:none;transition:fill .18s}.input-wrap:focus-within .input-icon{fill:#f47586}
input{display:block;width:100%;min-width:0;height:56px;padding:0 16px 0 46px;color:#fff5f7;background:#11090b;border:1px solid #dfb6bf26;border-radius:13px;font:400 16px/1.4 'Inter',system-ui,sans-serif;outline:none;appearance:none;transition:border-color .18s,box-shadow .18s,background .18s}
input::placeholder{color:#987d84;opacity:1}input:hover{border-color:#d2a4ae4d}input:focus{border-color:#e26073;background:#170b0e;box-shadow:0 0 0 3px #db29441c}input:-webkit-autofill{-webkit-text-fill-color:#fff5f7;box-shadow:0 0 0 100px #170b0e inset}
.submit{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:52px;margin-top:18px;padding:14px 20px;border:1px solid #ff9baa26;border-radius:13px;background:linear-gradient(110deg,#ca102a,#c01333);color:#fff;font:700 14px/1.4 'Inter',system-ui,sans-serif;cursor:pointer;touch-action:manipulation;box-shadow:inset 0 1px 0 #ffffff1a,0 6px 20px #ca102a14;transition:background .18s,box-shadow .18s,transform .18s}
.submit:hover:enabled{background:linear-gradient(110deg,#d91b36,#ce1b3c);box-shadow:inset 0 1px 0 #ffffff26,0 8px 24px #ca102a26}.submit:active:enabled{transform:translateY(1px)}.submit:focus-visible{outline:2px solid #ff9aa8;outline-offset:4px}.submit:disabled{opacity:.65;cursor:wait;box-shadow:none}
.status{display:none;margin-top:18px;padding:12px 14px;border:1px solid #ffffff1a;border-radius:12px;font-size:12px;line-height:1.7;text-align:center;overflow-wrap:anywhere}.status.show{display:block}.status.error{background:#ff668512;border-color:#ff8caa40;color:#ffc4d3}.status.ok{background:#31d47f12;border-color:#31d47f40;color:#bbf5d4}
@media(max-width:380px){.gate{padding-inline:16px}.card{padding:30px 23px;border-radius:22px}.word{font-size:27px}.sub{font-size:12px}.card img,.brand-logo{width:76px;height:76px;margin-bottom:20px}}
@media(max-height:580px){.gate{padding-block:18px}.card{padding-block:25px}.card img,.brand-logo{width:64px;height:64px;margin-bottom:15px}.brand-lockup{margin-bottom:22px}.word{font-size:28px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

/* Keep older cached login markup bounded during rolling updates. */
.site-header,.site-footer,.hero{display:none}.card>img{margin:0 auto 24px}.card>.sub{margin:12px auto 30px}.card .word{text-align:center}.card .input-wrap svg{max-width:20px;max-height:20px}
