:root{color-scheme:dark;--bg: #06141e;--surface: #0d222b;--surface-raised: #13303a;--line: rgba(217, 181, 108, .28);--line-soft: rgba(184, 200, 166, .16);--ink: #f4ecd9;--muted: #b6bec1;--subtle: #8b9a9f;--gold: #e9c77e;--gold-bright: #ffe5a6;--danger: #ff9f8f;--success: #b9e3a6;--serif: Georgia, "Times New Roman", serif;--radius: 12px}*{box-sizing:border-box}[hidden]{display:none!important}html{background:var(--bg)}body{margin:0;min-height:100vh;background:var(--bg);color:var(--ink);font:16px/1.55 system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased}button,input{font:inherit}a{color:var(--gold-bright)}:focus-visible{outline:3px solid var(--gold-bright);outline-offset:2px}.backdrop{position:fixed;inset:0;z-index:-1;background:radial-gradient(ellipse at 20% 0%,rgba(233,199,126,.13),transparent 55%),radial-gradient(ellipse at 90% 30%,rgba(80,150,160,.14),transparent 50%),linear-gradient(180deg,#0b1f28 0%,var(--bg) 70%)}.backdrop:after{content:"";position:absolute;inset:0;background:url(/assets/images/class-portraits.png) center 20% / cover no-repeat;opacity:.09;filter:blur(6px) saturate(.7)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1180px;margin:0 auto;padding:20px 24px}.brand{display:inline-flex;align-items:center;gap:10px;color:var(--ink);text-decoration:none;font:18px/1.2 var(--serif)}.brand svg{width:26px;height:26px;fill:var(--gold);flex:none}.link-button{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border:1px solid var(--line);border-radius:999px;background:#0d222bb3;color:var(--ink);text-decoration:none;cursor:pointer}.link-button:hover{border-color:var(--gold)}.page{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,420px);grid-template-areas:"intro auth" "callings auth" "features features";gap:40px 56px;max-width:1180px;margin:0 auto;padding:24px 24px 64px}.intro{grid-area:intro;padding-top:24px}.auth{grid-area:auth}.callings{grid-area:callings}.features{grid-area:features}.eyebrow{margin:0 0 14px;color:var(--gold);font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}h1{margin:0;font:400 clamp(42px,6.4vw,76px) / 1.04 var(--serif);letter-spacing:.01em;color:#f8efdb;text-wrap:balance}.tagline{margin:18px 0 0;font:italic 22px/1.4 var(--serif);color:var(--gold-bright)}.lead{max-width:600px;margin:22px 0 0;color:var(--muted);font-size:17px}.stats{display:flex;flex-wrap:wrap;gap:12px;margin:30px 0 0;padding:0;list-style:none}.stats li{display:flex;align-items:baseline;gap:8px;padding:10px 16px;border:1px solid var(--line-soft);border-radius:10px;background:#0d222b99}.stats strong{font:26px/1 var(--serif);color:var(--gold)}.stats span{color:var(--muted);font-size:14px}.auth-card{position:sticky;top:24px;padding:28px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(180deg,#13303af5,#0a1d25f7);box-shadow:0 24px 60px #00000073}.tabs{display:grid;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:24px;padding:4px;border-radius:10px;background:#00000040}.tabs[hidden]{display:none}.tabs button{min-height:44px;border:0;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer}.tabs button[aria-selected=true]{background:var(--surface-raised);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}.view h2{margin:0;font:400 28px/1.2 var(--serif);color:#f8efdb}.view h2:focus{outline:none}.view-lead{margin:8px 0 22px;color:var(--muted);font-size:15px;overflow-wrap:anywhere}form{display:grid;gap:6px}label{margin-top:10px;color:var(--ink);font-size:14px;font-weight:600}.label-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:10px}.label-row label{margin-top:0}input{width:100%;min-height:48px;padding:10px 14px;border:1px solid rgba(207,197,154,.32);border-radius:10px;background:#030e1499;color:var(--ink)}input:focus{border-color:var(--gold);outline:none;box-shadow:0 0 0 3px #e9c77e40}.password-field{position:relative}.password-field input{padding-right:76px}.reveal{position:absolute;top:4px;right:4px;bottom:4px;min-width:64px;border:0;border-radius:7px;background:transparent;color:var(--gold-bright);font-size:14px;cursor:pointer}.hint{margin:2px 0 0;color:var(--subtle);font-size:13px}.form-status{min-height:0;margin:8px 0 0;font-size:14px;color:var(--danger)}.form-status:empty{display:none}.form-status[data-kind=success],.form-status[data-kind=info]{color:var(--success)}.primary,.secondary,.danger{display:inline-flex;align-items:center;justify-content:center;min-height:50px;margin-top:16px;padding:0 20px;border-radius:10px;font-weight:600;text-decoration:none;cursor:pointer}.primary{border:0;background:linear-gradient(180deg,#f1d695,#d9b062);color:#14272b;box-shadow:0 8px 20px #d9b06238}.primary:hover{background:linear-gradient(180deg,#f8e2ad,#e2bb71)}.secondary{width:100%;border:1px solid var(--line);background:transparent;color:var(--ink)}.danger{border:1px solid rgba(255,159,143,.6);background:#781e1459;color:#ffd9d2}button:disabled{opacity:.6;cursor:progress}.play-link{width:100%;font-size:17px}.inline-link{padding:4px 0;border:0;background:none;color:var(--gold-bright);font-size:14px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.switch{margin:22px 0 0;color:var(--muted);font-size:14px;text-align:center}.notice{margin:0 0 18px;padding:12px 14px;border:1px solid rgba(185,227,166,.35);border-radius:10px;background:#3c6e3c2e;color:var(--success);font-size:14px}.account-actions{display:flex;justify-content:center;margin-top:14px}.danger-zone{margin-top:26px;padding-top:16px;border-top:1px solid var(--line-soft);color:var(--muted);font-size:14px}.danger-zone summary{cursor:pointer;color:var(--subtle)}.danger-zone p{margin:12px 0 0}.loading{margin:0;color:var(--muted)}.callings h2{margin:0 0 18px;font:400 26px/1.2 var(--serif)}.calling-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none}.calling{overflow:hidden;border:1px solid var(--line-soft);border-radius:var(--radius);background:var(--surface)}.portrait{display:block;aspect-ratio:4 / 5;background:url(/assets/images/class-portraits.png) 0 22% / 300% auto no-repeat}.wizard .portrait{background-position:50% 22%}.ranger .portrait{background-position:100% 22%}.calling div{padding:14px 16px 18px}.calling h3,.features h3{margin:0 0 6px;font:400 21px/1.25 var(--serif);color:var(--gold-bright)}.calling p,.features p{margin:0;color:var(--muted);font-size:14px}.features{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.features article{padding:22px;border:1px solid var(--line-soft);border-radius:var(--radius);background:#0d222b99}.site-footer{padding:24px;border-top:1px solid var(--line-soft);color:var(--subtle);font-size:13px;text-align:center}.site-footer p{margin:0}@media(max-width:960px){.page{grid-template-columns:minmax(0,1fr);grid-template-areas:"intro" "auth" "callings" "features";gap:32px}.auth-card{position:static}.intro{padding-top:0}}@media(max-width:640px){.topbar{padding:14px 16px}.brand span{display:none}.page{padding:8px 16px 48px}.auth-card{padding:22px 18px}.tagline{font-size:19px}.lead{font-size:16px}.stats li{padding:8px 12px}.calling-cards,.features{grid-template-columns:minmax(0,1fr)}.calling{display:grid;grid-template-columns:110px minmax(0,1fr)}.portrait{aspect-ratio:auto;min-height:140px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
