:root { --night:#050706; --panel:rgba(8,13,13,.94); --ivory:#eadab6; --gold:#d0a445; --gold-bright:#efd688; --turquoise:#2e9991; --line:rgba(208,164,69,.34); --muted:#a99a7c; --error:#e1a090; --success:#b9d89a; color-scheme:dark; }
* { box-sizing:border-box; }
[hidden] { display:none !important; }
body { min-height:100vh; margin:0; color:var(--ivory); font-family:Georgia,"Times New Roman",serif; background:radial-gradient(circle at 50% 0,rgba(46,153,145,.16),transparent 32rem),linear-gradient(180deg,#07100f,var(--night) 38%); }
a { color:inherit; }
.entry-shell { width:min(42rem,100%); margin:0 auto; padding:clamp(2rem,8vw,5rem) 1rem 4rem; }
.entry-hero { margin-bottom:1.5rem; text-align:center; }
.eyebrow { margin:0 0 .65rem; color:var(--gold); font:700 .72rem/1.2 Arial,sans-serif; letter-spacing:.22em; text-transform:uppercase; }
h1,h2,h3,p { margin-top:0; }
h1 { margin-bottom:.8rem; color:var(--gold-bright); font-size:clamp(2.5rem,10vw,4.6rem); font-weight:400; line-height:1; }
h2 { color:var(--gold-bright); font-weight:400; }
h3 { color:var(--gold-bright); font-weight:400; }
.entry-hero p:last-child,.muted { color:var(--muted); line-height:1.65; }
.entry-panel { padding:clamp(1.2rem,5vw,2rem); border:1px solid var(--line); border-radius:1rem; background:linear-gradient(145deg,rgba(20,28,27,.96),var(--panel)); box-shadow:0 1.3rem 3rem rgba(0,0,0,.3); }
.entry-form { display:grid; gap:.8rem; }
.passkey-entry { display:grid; gap:.8rem; }
.passkey-entry h2 { margin-bottom:0; }
.passkey-entry button { width:100%; }
.entry-divider { display:flex; align-items:center; gap:.8rem; margin:1.5rem 0; color:var(--muted); font:700 .7rem/1 Arial,sans-serif; letter-spacing:.14em; text-transform:uppercase; }
.entry-divider::before,.entry-divider::after { height:1px; flex:1; background:var(--line); content:""; }
label,.status,.safe-note,.account-grid span { color:var(--muted); font-family:Arial,sans-serif; font-size:.86rem; }
input { width:100%; min-height:3.2rem; padding:0 .9rem; border:1px solid var(--line); border-radius:.65rem; background:#080d0d; color:var(--ivory); font:1rem Arial,sans-serif; }
input:focus-visible,button:focus-visible,a:focus-visible { outline:2px solid var(--gold-bright); outline-offset:3px; }
button,.action-link { display:inline-flex; min-height:3rem; align-items:center; justify-content:center; padding:.75rem 1rem; border:1px solid var(--gold); border-radius:.65rem; background:rgba(208,164,69,.12); color:var(--gold-bright); cursor:pointer; font:700 .76rem/1.2 Arial,sans-serif; letter-spacing:.1em; text-align:center; text-decoration:none; text-transform:uppercase; }
button:disabled { cursor:wait; opacity:.55; }
.secondary { border-color:var(--line); background:transparent; color:var(--ivory); }
.button-row { display:flex; flex-wrap:wrap; gap:.7rem; margin-top:1rem; }
.status { min-height:1.4rem; margin:0; }
.status[data-status="error"],.error { color:var(--error); }
.status[data-status="success"] { color:var(--success); }
.status[data-status="available"] { color:var(--success); }
.status[data-status="cancelled"],.status[data-status="unsupported"],.status[data-status="reauthenticate"] { color:var(--muted); }
.safe-note { margin:.9rem 0 0; line-height:1.55; }
.account-grid { display:grid; gap:.75rem; margin:1rem 0; grid-template-columns:repeat(2,minmax(0,1fr)); }
.account-grid div { min-width:0; padding:.85rem; border:1px solid rgba(46,153,145,.35); border-radius:.7rem; background:rgba(46,153,145,.06); }
.account-grid span,.account-grid strong { display:block; }
.account-grid strong { margin-top:.35rem; color:var(--gold-bright); overflow-wrap:anywhere; }
.registration-entry,.passkey-management { display:grid; gap:.75rem; margin:1.25rem 0; padding:1rem; border:1px solid rgba(46,153,145,.35); border-radius:.7rem; background:rgba(46,153,145,.06); }
.registration-entry h3,.registration-entry p,.passkey-management h3,.passkey-management p { margin-bottom:0; }
.registration-entry p,.passkey-management>p { color:var(--muted); font: .9rem/1.55 Arial,sans-serif; }
.registration-entry button,.passkey-management>button { width:100%; }
.passkey-list { display:grid; gap:.7rem; }
.passkey-item { display:grid; gap:.5rem; padding:.8rem; border:1px solid var(--line); border-radius:.65rem; background:rgba(5,7,6,.42); }
.passkey-item strong { color:var(--gold-bright); overflow-wrap:anywhere; }
.passkey-item p,.passkey-state { color:var(--muted); font: .78rem/1.45 Arial,sans-serif; }
.passkey-state.active { color:var(--success); }
.passkey-state.revoked { color:var(--error); }
.language-link { display:block; width:max-content; margin:1.25rem auto 0; color:var(--muted); font: .82rem Arial,sans-serif; }
@media (max-width:36rem) { .account-grid { grid-template-columns:1fr; } .button-row>* { width:100%; } }
