:root{--ink:#e8edf2;--muted:#9ca7b3;--gold:#d5a84b;--blue:#62b6cb;--panel:#111923;--line:#263342;--bg:#081018}*{box-sizing:border-box}html{background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,sans-serif}body{margin:0;min-height:100vh;background:radial-gradient(circle at 70% 5%,#163447 0,transparent 34rem),linear-gradient(145deg,#081018,#0c151f 65%,#111927)}a{color:inherit}.nav{height:76px;padding:0 max(5vw,24px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:#081018cc}.brand{text-decoration:none;font-weight:900;letter-spacing:.14em}.brand span{color:var(--gold);font-weight:500}.navlink{color:var(--muted);text-decoration:none}.navlink:hover{color:white}main{width:min(1180px,90vw);margin:auto}.hero{min-height:530px;padding:110px 0 80px}.eyebrow{font-size:.76rem;letter-spacing:.24em;color:var(--blue);font-weight:800}.hero h1,.form-wrap h1,.success h1{font-family:Georgia,serif;font-size:clamp(3.3rem,8vw,7rem);line-height:.88;margin:.25em 0}.hero h1 em,.form-wrap h1 em,.success h1 em{display:block;color:var(--gold);font-weight:400}.lead{color:var(--muted);font-size:1.15rem;line-height:1.7;max-width:610px}.actions{display:flex;gap:28px;align-items:center;margin-top:38px}.button{display:inline-block;border:0;background:var(--gold);color:#101010;text-decoration:none;text-transform:uppercase;letter-spacing:.1em;font-weight:900;font-size:.75rem;padding:17px 22px;cursor:pointer}.button:hover{background:#f0c367}.status{display:flex;gap:9px;align-items:center;color:var(--muted);font-size:.9rem}.status i{width:9px;height:9px;border-radius:50%;background:#d46868;box-shadow:0 0 12px #d46868}.status.online i{background:#65ce91;box-shadow:0 0 12px #65ce91}.grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);background:#0d1620}.grid article{padding:34px;border-right:1px solid var(--line);min-height:190px}.grid article:last-child{border:0}.number{color:var(--gold);font-family:Georgia,serif}.grid h2{font-size:1.1rem;margin:22px 0 10px}.grid p,.grid code{color:var(--muted);line-height:1.6}.grid code,.success code{display:block;color:#a9d6e5;background:#071019;padding:12px 14px;border:1px solid var(--line);overflow-wrap:anywhere}.info{display:flex;justify-content:space-between;align-items:end;padding:90px 0}.info h2{font-family:Georgia,serif;font-size:2.2rem;margin:.35em 0}.facts{display:flex;gap:45px}.facts span{color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.12em}.facts strong{display:block;color:var(--ink);font-size:1rem;margin-top:8px}footer{border-top:1px solid var(--line);padding:28px 5vw;color:#72808e;font-size:.8rem}.form-wrap{display:grid;grid-template-columns:1fr 430px;gap:8vw;padding:90px 0 110px;align-items:start}.form-wrap h1{font-size:clamp(3rem,6vw,5.4rem)}form{background:var(--panel);border:1px solid var(--line);padding:32px}label{display:block;color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.09em;margin-bottom:18px}input{width:100%;display:block;background:#09121b;border:1px solid #344555;color:white;font:inherit;padding:13px;margin-top:8px;outline:0}input:focus{border-color:var(--gold)}form .button{width:100%;margin-top:10px}.hint{font-size:.75rem;color:#7f8c99;line-height:1.5}.message{padding:12px;margin-bottom:20px;background:#3b2024;border-left:3px solid #d46868;color:#f2c8cb;font-size:.88rem}.success{text-align:center;min-height:650px;padding:100px 0}.success h1{font-size:clamp(3rem,7vw,6rem)}.success .lead,.success code{margin:25px auto}.success code{max-width:430px}.success .button{margin-top:20px}.sigil{width:60px;height:60px;border:1px solid var(--gold);color:var(--gold);border-radius:50%;display:grid;place-items:center;margin:0 auto 24px;font-size:1.5rem}@media(max-width:780px){.hero{padding-top:75px}.grid,.form-wrap{grid-template-columns:1fr}.grid article{border-right:0;border-bottom:1px solid var(--line)}.info{display:block}.facts{margin-top:30px;gap:22px;flex-wrap:wrap}.form-wrap{padding-top:65px}.actions{align-items:flex-start;flex-direction:column}}

.nav nav{display:flex;gap:26px}.roster-home{padding:45px 0 85px}.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:24px}.section-head h2{font:2.2rem Georgia,serif;margin:.3em 0 0}.text-link{color:var(--gold);text-decoration:none}.player-list,.player-table{border:1px solid var(--line);background:#0d1620}.player-row{display:grid;grid-template-columns:12px 1.1fr 1.3fr .8fr 1.5fr;gap:16px;align-items:center;padding:15px 18px;border-bottom:1px solid var(--line);color:var(--muted);font-size:.88rem}.player-row:last-child{border:0}.player-row strong{color:var(--ink)}.faction{display:inline-block;width:8px;height:8px;border-radius:50%;background:#cc5858}.faction.alliance{background:#4b91d1}.empty-roster{border:1px dashed #344555;padding:35px;color:var(--muted);text-align:center}.roster-page{padding:90px 0 120px;min-height:650px}.roster-page h1{font:clamp(3.2rem,7vw,6rem)/.9 Georgia,serif;margin:.25em 0}.roster-page h1 em{display:block;color:var(--gold);font-weight:400}.player-table{margin-top:42px}.player-table-head,.player-table-row{display:grid;grid-template-columns:1.25fr 1fr 1fr .45fr 1.5fr;gap:18px;padding:15px 20px;align-items:center}.player-table-head{color:var(--gold);font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;border-bottom:1px solid var(--line)}.player-table-row{color:var(--muted);border-bottom:1px solid var(--line)}.player-table-row:last-child{border:0}.character{display:flex;align-items:center;gap:12px}.character strong{color:var(--ink)}.class-1{color:#c79c6e!important}.class-2{color:#f58cba!important}.class-3{color:#abd473!important}.class-4{color:#fff569!important}.class-5{color:#fff!important}.class-6{color:#c41f3b!important}.class-7{color:#0070de!important}.class-8{color:#69ccf0!important}.class-9{color:#9482c9!important}.class-11{color:#ff7d0a!important}@media(max-width:780px){.nav nav{gap:12px;font-size:.78rem}.player-row{grid-template-columns:10px 1fr 1fr}.player-row .location,.player-row span:nth-child(4){display:none}.player-table{overflow-x:auto}.player-table-head,.player-table-row{min-width:700px}}

.button.secondary{background:transparent;color:var(--gold);border:1px solid var(--gold)}.button.secondary:hover{background:#d5a84b18}.download-hero{padding:90px 0 70px}.download-hero h1{font:clamp(3.2rem,7vw,6.3rem)/.9 Georgia,serif;margin:.25em 0}.download-hero h1 em{display:block;color:var(--gold);font-weight:400}.download-button{margin:22px 0 34px}.download-meta{border:1px solid var(--line);background:#0d1620;margin:0;max-width:900px}.download-meta div{display:grid;grid-template-columns:130px 1fr;gap:20px;padding:15px 18px;border-bottom:1px solid var(--line)}.download-meta div:last-child{border-bottom:0}.download-meta dt{color:var(--gold);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}.download-meta dd{margin:0;color:var(--muted);overflow-wrap:anywhere}.download-meta code{color:var(--ink)}.download-meta a{color:var(--gold);margin-left:10px}.download-pending{margin-top:28px;border:1px dashed #516172;padding:24px;color:var(--muted);max-width:700px}.steps{padding:35px 0 80px}.steps ol{list-style:none;margin:0;padding:0;border:1px solid var(--line);background:#0d1620}.steps li{display:grid;grid-template-columns:60px 1fr;gap:20px;padding:22px;border-bottom:1px solid var(--line)}.steps li:last-child{border:0}.steps li>span{color:var(--gold);font:1.4rem Georgia,serif}.steps h3{margin:0 0 7px}.steps p{color:var(--muted);line-height:1.6;margin:0}.warning{border:1px solid #765b27;background:#261f12;padding:28px;margin-bottom:70px}.warning strong{color:#f0c367;text-transform:uppercase;letter-spacing:.08em}.warning p{color:#c7b894;margin:8px 0 0}.troubleshooting{padding-bottom:100px}.troubleshooting h2{font:2.2rem Georgia,serif;margin:.35em 0}.troubleshooting li{color:var(--muted);line-height:1.8}.troubleshooting strong{color:var(--ink)}@media(max-width:780px){.nav{height:auto;min-height:76px;padding-top:15px;padding-bottom:15px;gap:16px}.nav nav{flex-wrap:wrap;justify-content:flex-end}.download-meta div{grid-template-columns:1fr;gap:7px}.download-meta a{display:block;margin:8px 0 0}.actions{gap:14px}}
