/* Shared Midnight skin for registration and account pages. */
body.portal-midnight { color-scheme: dark; --ink:#eeeaf4; --muted:#b6b3c5; --line:#433c57; --bad:#ffaaaa; --cyan:#8fddf6; --navy:#e9d4a4; --gold:#e9c477; background:#080b15; color:var(--ink); }
body.portal-midnight { background-image:linear-gradient(90deg,#080b15b8,#080b15e8),url(midnight/sky.webp); background-size:cover; background-attachment:fixed; }
.portal-midnight .bar { background:#080b15dc; border-bottom:1px solid #665237; padding:1rem max(1.25rem,calc((100vw - 1200px)/2)); }
.portal-midnight .brand a { color:#e9d4a4; font-family:Georgia,serif; letter-spacing:.13em; }
.portal-midnight .bar nav a { font-size:.85rem; color:#c8c4d4; text-decoration:none; }
.portal-midnight .bar nav a:hover { color:#e9d4a4; }
.portal-midnight main { max-width:1200px; padding:3.5rem 1.5rem; }
.registration-layout { display:grid; grid-template-columns:1fr 1.1fr; gap:clamp(2rem,6vw,6rem); align-items:start; }
.realm-home { color:#bdb4cd; font-size:.85rem; text-decoration:none; }
.realm-home span { color:#ddbd80; }
.realm-crest { display:block; width:200px; height:auto; margin:1.5rem 0; filter:drop-shadow(0 0 35px #8060c336); }
.portal-midnight .eyebrow { color:#dab982; letter-spacing:.18em; font-size:.7rem; font-weight:700; margin:0 0 .8rem; }
.portal-midnight h1 { font:400 clamp(2.8rem,4.5vw,4.2rem)/1.07 Georgia,serif; color:#f1dfba; margin:0 0 1.4rem; }
.intro-copy { color:#c0bacd; max-width:32ch; font-size:1.05rem; }
.journey { list-style:none; padding:0; margin:2rem 0; display:grid; gap:1rem; color:#c8c1d5; font-size:.9rem; }
.journey span { color:#d9b476; font-size:.7rem; letter-spacing:.1em; border:1px solid #5b4964; padding:.45rem; margin-right:1rem; }
.registration-card { min-width:0; padding:clamp(1.35rem,3.3vw,2.75rem); background:linear-gradient(145deg,#1d1a2bed,#101421f7); border:1px solid #776044; border-top:2px solid #c0a06b; border-radius:8px; box-shadow:0 25px 70px #0007,inset 0 1px #e9d4a419; }
.registration-card h2 { font:400 2rem/1.2 Georgia,serif; color:#f1e9df; margin:0 0 .5rem; }
.account-link { color:#b6b3c5; margin:0 0 2rem; font-size:.9rem; }
.portal-midnight a { color:#ddc18b; }
.portal-midnight .field { margin:0 0 1.2rem; max-width:none; gap:.45rem; }
.portal-midnight label { font-size:.9rem; color:#e5dfe9; }
.portal-midnight input:not([type=hidden]) { width:100%; min-width:0; min-height:48px; padding:.7rem .85rem; background:#090d18; color:#f3f0f7; border:1px solid #464057; border-radius:4px; transition:border-color .2s,box-shadow .2s; }
.portal-midnight input:focus { border-color:#b08fdf; outline:2px solid #8ecfe4; outline-offset:2px; box-shadow:0 0 18px #9870c51a; }
.portal-midnight input[aria-invalid=true] { border-color:#ffaaaa; }
.portal-midnight .hint, .field-rules { font-size:.78rem; color:#aaa7bd; }
.field-rules summary { color:#b6b0cf; cursor:pointer; padding:.15rem 0; }
.field-rules p { margin:.5rem 0; line-height:1.65; }
.portal-midnight .err { color:#ffaaaa; }
.portal-midnight .notice { background:#12303b; color:#d7f3fb; border-color:#45829a; border-radius:4px; }
.portal-midnight .btn { width:100%; padding:.85rem 1rem; color:#f7edda; border:1px solid #b99b65; background:linear-gradient(#3b2c52,#251c36); border-radius:4px; font-size:.85rem; letter-spacing:.06em; transition:background .2s,box-shadow .2s; }
.portal-midnight .btn:hover { background:linear-gradient(#4d376c,#322346); box-shadow:0 0 20px #8a65b438; }
.portal-midnight .fineprint { font-size:.75rem; line-height:1.6; margin-bottom:0; }
.portal-midnight .foot { color:#b2aabd; background:#080b15; border-top:1px solid #2f293f; border-bottom:0; }
@media(max-width:800px) { .portal-midnight main { padding:1.5rem 1rem 2.5rem; } .registration-layout { grid-template-columns:1fr; gap:1.5rem; max-width:560px; margin:auto; } .realm-crest { width:110px; margin:1rem auto; } .registration-intro { text-align:center; } .portal-midnight h1 { font-size:2.35rem; } .portal-midnight h1 br { display:none; } .intro-copy { margin:0 auto; } .journey { display:none; } .portal-midnight .bar { gap:.65rem; } .portal-midnight .bar nav ul { gap:1rem; } }
@media(prefers-reduced-motion:reduce) { .portal-midnight *, .portal-midnight *::before, .portal-midnight *::after { transition:none!important; } }

.registration-errors { border:1px solid #a76570; background:#351b2c; padding:1rem 1.25rem; border-radius:4px; margin-bottom:1.5rem; }
.registration-errors h3 { margin:0 0 .5rem; color:#ffd9de; }
.registration-errors ul { margin:0; padding-left:1.25rem; }
.registration-errors li { margin:.4rem 0; }
.next-steps { padding-left:1.4rem; }
.next-steps li { padding-left:.4rem; margin:1.5rem 0; }
.next-steps li::marker { color:#e9c477; }
.next-steps p { color:var(--muted); }

.portal-midnight .brand a { display:flex; align-items:center; gap:.7rem; }
.portal-brand-mark { width:42px; height:42px; object-fit:contain; }
.portal-midnight .linkish { color:#ddc18b; }
.portal-midnight .skip:focus { color:#080b15; }
.portal-midnight .err.block { background:#351b2c; color:#ffd4dd; border-color:#a76570; }
.portal-midnight code { overflow-wrap:anywhere; }
.portal-midnight .registration-card { overflow-wrap:anywhere; }
@media(max-width:800px) { body.portal-midnight { background-attachment:scroll; } }
