:root{
  color-scheme:dark;
  --ink:#f6edcf;--muted:#b9ad8b;--gold:#d7b15f;--gold-2:#8f6a2f;--panel:#101522ee;--panel-2:#171c2bec;
  --line:#6f5930;--line-soft:#3b3f54;--danger:#b84d4d;--danger-2:#7e3030;--ok:#8fd4a3;--shadow:#020308;
  font-family:Georgia,"Times New Roman",serif;
}
*{box-sizing:border-box}
html{min-height:100%;background:#06080e}
body{margin:0;min-height:100vh;color:var(--ink);background:
 radial-gradient(circle at 50% -20%,rgba(112,79,164,.42),transparent 43rem),
 radial-gradient(circle at 12% 24%,rgba(39,88,108,.24),transparent 30rem),
 linear-gradient(180deg,#101225 0,#090b13 47%,#05060a 100%);overflow-x:hidden}
body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.16;background-image:
 linear-gradient(45deg,transparent 46%,rgba(255,255,255,.05) 49%,transparent 52%),
 linear-gradient(-45deg,transparent 46%,rgba(215,177,95,.04) 49%,transparent 52%);background-size:42px 42px;mask-image:linear-gradient(to bottom,#000,transparent 75%)}
button,input{font:inherit}
button{color:inherit}
.portal{width:min(1160px,calc(100% - 28px));margin:0 auto;padding:clamp(18px,4vw,42px) 0 38px;position:relative}
.portal-frame{border:1px solid #8c6d36;border-radius:22px;background:linear-gradient(180deg,rgba(14,18,31,.97),rgba(7,9,15,.97));box-shadow:0 28px 90px #000b,0 0 0 1px #000 inset;overflow:hidden}
.portal-frame:before{content:"";display:block;height:4px;background:linear-gradient(90deg,transparent,var(--gold),#f7dc91,var(--gold),transparent)}
.hero{padding:clamp(22px,5vw,54px) clamp(18px,5vw,58px) 26px;text-align:center;position:relative;border-bottom:1px solid #554526;background:
 radial-gradient(ellipse at center top,rgba(121,86,157,.34),transparent 64%),
 linear-gradient(180deg,rgba(33,34,60,.66),rgba(12,15,25,.88))}
.crest{width:74px;height:74px;margin:0 auto 14px;border-radius:18px 18px 28px 28px;display:grid;place-items:center;color:#1b1307;font-weight:900;font-size:27px;letter-spacing:-.07em;background:linear-gradient(145deg,#f4d98e,#a77d35 68%,#6d4b1f);border:2px solid #fae9b4;box-shadow:0 6px 24px #000b,0 0 0 4px #322619;transform:rotate(45deg)}
.crest span{transform:rotate(-45deg)}
.eyebrow{text-transform:uppercase;letter-spacing:.28em;color:#cdb77d;font-size:.72rem;font-weight:700;margin:0 0 8px}
h1{font-size:clamp(2rem,6vw,4.3rem);line-height:.92;margin:0;text-shadow:0 3px 0 #000,0 0 30px rgba(222,186,104,.14);letter-spacing:.045em}
.subtitle{max-width:680px;margin:14px auto 0;color:#c8bb98;line-height:1.55;font-size:clamp(.9rem,2vw,1.05rem)}
.server-state{display:inline-flex;align-items:center;gap:8px;margin-top:18px;padding:7px 12px;border:1px solid #514b3b;border-radius:999px;background:#090c14aa;color:#cfc3a3;font:600 .78rem system-ui,sans-serif}
.server-dot{width:8px;height:8px;border-radius:50%;background:#d29d51;box-shadow:0 0 10px currentColor}.server-state.online .server-dot{background:#70cf8f}.server-state.offline .server-dot{background:#d06a63}
.notice{min-height:44px;margin:0;padding:11px 18px;text-align:center;border-bottom:1px solid #302c24;background:#0a0d15;color:#d9c98e;font:600 .86rem/1.45 system-ui,sans-serif}.notice.error{color:#ffaaa2;background:#231015}.notice.success{color:#a8e2b7;background:#0c1b13}
.content{padding:clamp(16px,4vw,36px)}
.auth-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(270px,.85fr);gap:18px;align-items:stretch}
.panel{position:relative;border:1px solid var(--line);border-radius:16px;background:linear-gradient(180deg,var(--panel-2),var(--panel));box-shadow:0 16px 35px #0007,0 1px #ffffff08 inset;padding:clamp(16px,3vw,26px)}
.panel h2,.panel h3{margin:0;color:#f8ebc1}.panel h2{font-size:1.35rem}.panel h3{font-size:1.05rem}.panel-copy{margin:7px 0 19px;color:var(--muted);font:400 .9rem/1.5 system-ui,sans-serif}
.form-grid{display:grid;gap:12px}.field label{display:block;margin-bottom:5px;color:#d8c9a2;font:700 .76rem system-ui,sans-serif;text-transform:uppercase;letter-spacing:.08em}.field input{width:100%;border:1px solid #555164;border-radius:9px;padding:12px 13px;background:#070a11;color:#fff;outline:none;transition:.16s border,.16s box-shadow}.field input:focus{border-color:#c9a55a;box-shadow:0 0 0 3px rgba(201,165,90,.15)}
.btn{border:1px solid #9d7b38;border-radius:10px;padding:11px 15px;background:linear-gradient(180deg,#795a26,#523b1a);box-shadow:0 2px 0 #241708;cursor:pointer;font-weight:800;letter-spacing:.02em;transition:.14s transform,.14s filter,.14s border-color}.btn:hover:not(:disabled){filter:brightness(1.12);transform:translateY(-1px)}.btn:active:not(:disabled){transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.secondary{border-color:#53586d;background:linear-gradient(180deg,#30364b,#202536);box-shadow:none}.btn.ghost{border-color:#42475c;background:#111622;box-shadow:none}.btn.danger{border-color:#d66f69;background:linear-gradient(180deg,var(--danger),var(--danger-2));box-shadow:none}.btn.small{padding:8px 11px;font-size:.82rem}
.registration-closed{display:grid;place-items:center;min-height:100%;text-align:center}.lock-mark{width:50px;height:50px;border:1px solid #675b3b;border-radius:50%;display:grid;place-items:center;margin:0 auto 12px;background:#0b0e16;color:#d6b462;font:900 1.25rem system-ui,sans-serif}
.hidden{display:none!important}
.selector-top{display:flex;gap:14px;align-items:center;justify-content:space-between;margin-bottom:18px}.account-chip{display:flex;align-items:center;gap:10px;min-width:0}.account-rune{width:38px;height:38px;border-radius:9px;background:linear-gradient(145deg,#5d467d,#28243e);border:1px solid #8a72a3;display:grid;place-items:center;font-weight:900}.account-meta{min-width:0}.account-meta strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-meta span{display:block;color:#aaa;font:500 .75rem system-ui,sans-serif;margin-top:2px}.selector-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.section-heading{display:flex;gap:12px;align-items:end;justify-content:space-between;margin:4px 0 13px}.section-heading h2{margin:0}.section-heading p{margin:0;color:#999;font:.78rem system-ui,sans-serif}
.characters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.character-card{display:grid;grid-template-columns:76px minmax(0,1fr);gap:14px;min-height:142px;padding:14px;border:1px solid #53526a;border-radius:14px;background:radial-gradient(circle at 9% 14%,rgba(116,85,148,.21),transparent 35%),linear-gradient(145deg,#171b29,#0e111b);box-shadow:0 9px 25px #0007;position:relative;overflow:hidden}.character-card:after{content:"";position:absolute;right:-24px;bottom:-28px;width:100px;height:100px;border:1px solid #d4ae5730;transform:rotate(45deg);pointer-events:none}.character-card:hover{border-color:#917847}
.character-portrait{width:76px;height:76px;border-radius:12px;border:1px solid #907642;background:linear-gradient(145deg,#30283f,#111522);display:grid;place-items:center;position:relative;box-shadow:0 5px 14px #0009 inset}.character-portrait b{font-size:1.8rem;color:#ebd28f;text-shadow:0 2px #000}.character-portrait span{position:absolute;left:5px;right:5px;bottom:5px;padding:2px 4px;border-radius:5px;background:#06080dcc;text-align:center;color:#d4c79f;font:700 .58rem system-ui,sans-serif;text-transform:uppercase;overflow:hidden;text-overflow:ellipsis}
.character-info{min-width:0}.character-name{margin:1px 0 4px;font-size:1.16rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.character-level{color:#e4c978;font:700 .82rem system-ui,sans-serif}.character-meta{margin:8px 0 11px;color:#a9a7af;font:500 .74rem/1.45 system-ui,sans-serif}.character-buttons{display:flex;gap:7px;flex-wrap:wrap}.character-buttons .btn{min-width:76px}
.master-lock{display:inline-flex;gap:5px;align-items:center;color:#d8bd78;font:700 .7rem system-ui,sans-serif;margin-top:7px}
.empty-state{grid-column:1/-1;padding:28px;text-align:center;border:1px dashed #55556a;border-radius:14px;background:#0c1018}.empty-state strong{display:block;font-size:1.1rem}.empty-state span{display:block;margin-top:5px;color:#999;font:.82rem system-ui,sans-serif}
.management-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}.management-card{border:1px solid #45495c;border-radius:14px;padding:16px;background:#0d111b}.management-card .form-grid{grid-template-columns:minmax(0,1fr) auto;align-items:end}.management-card .btn{white-space:nowrap}.fine{color:#8f919a;font:.72rem/1.45 system-ui,sans-serif;margin:8px 0 0}
dialog{width:min(500px,calc(100% - 28px));padding:0;border:1px solid #966e3b;border-radius:16px;background:#0d111b;color:var(--ink);box-shadow:0 28px 90px #000;overflow:hidden}dialog::backdrop{background:#02030bd9;backdrop-filter:blur(4px)}.dialog-head{padding:17px 19px;border-bottom:1px solid #493a27;background:#171726}.dialog-body{padding:19px}.dialog-body p{color:#bbb19a;font:.86rem/1.55 system-ui,sans-serif}.dialog-warning{padding:10px;border:1px solid #743d3d;border-radius:9px;background:#211013;color:#f1aaa5;font:700 .78rem/1.45 system-ui,sans-serif}.dialog-actions{display:flex;gap:9px;justify-content:flex-end;margin-top:17px}
@media(max-width:760px){.auth-grid,.characters,.management-grid{grid-template-columns:1fr}.hero{padding-bottom:22px}.selector-top{align-items:flex-start}.management-card .form-grid{grid-template-columns:1fr}.management-card .btn{width:100%}}
@media(max-width:440px){.portal{width:min(100% - 14px,1160px);padding:8px 0 18px}.portal-frame{border-radius:14px}.hero{padding:21px 13px 18px}.crest{width:58px;height:58px;font-size:21px}.content{padding:10px}.panel{padding:14px;border-radius:12px}.selector-top{display:grid}.selector-actions{justify-content:stretch}.selector-actions .btn{flex:1}.character-card{grid-template-columns:62px minmax(0,1fr);gap:10px;padding:11px;min-height:130px}.character-portrait{width:62px;height:62px}.character-buttons{display:grid;grid-template-columns:1fr 1fr}.character-buttons .btn{min-width:0;width:100%}.section-heading{display:block}.section-heading p{margin-top:4px}.dialog-actions{display:grid;grid-template-columns:1fr 1fr}.dialog-actions .btn{width:100%}}
