/* Landing page and creation screen. Colours come from game.css. */
[hidden]{display:none!important}
.logo{font-family:'UnifrakturMaguntia',serif;color:var(--gold);text-decoration:none;line-height:1;font-size:28px}
.muted{color:var(--muted);margin:0}
.small{font-size:14px}
.col{display:flex;flex-direction:column;gap:16px}
.col.tight{gap:6px}
.col.center{align-items:center;text-align:center}
.between{justify-content:space-between;align-items:baseline}
.btn.sm{min-height:44px;display:inline-flex;align-items:center;font-size:18px;padding:0 20px}
.btn.big{min-height:56px;display:inline-flex;align-items:center;font-size:23px;padding:0 32px;border-radius:10px}
.btn.huge{min-height:60px;display:inline-flex;align-items:center;font-size:26px;padding:0 40px;border-radius:12px;box-shadow:0 8px 30px #c9a46a33}
.btn.google{display:inline-flex;align-items:center;gap:10px;background:#fff;color:#1f1f1f;border-color:#fff;font-family:var(--body);font-size:16px}
.btn-dark{font:inherit;font-size:15px;min-height:44px;padding:0 16px;border-radius:8px;border:1px solid #5a4c3a;background:#26201b;color:var(--ink);cursor:pointer}
.btn-dark:disabled{color:#5a4c3a;cursor:default}
.msg{padding:10px 14px;border-radius:8px;border:1px solid var(--ok);color:var(--ok)}
.flash{margin:16px 0}
.seg{display:flex;border:1px solid #5a4c3a;border-radius:999px;overflow:hidden}
.seg button{min-height:44px;min-width:100px;padding:0 18px;border:0;cursor:pointer;font:16px var(--body);background:transparent;color:var(--ink)}
.seg button.on{background:var(--gold);color:var(--ground)}
.seg button:disabled{opacity:.4;cursor:not-allowed}
.note{font-size:14px;color:var(--faint)}
.up{color:var(--ok)!important}.down{color:var(--bad)!important}

/* ---------- Landing ---------- */
.landing{font-size:17px}
.lp-in{max-width:1200px;margin:0 auto;padding:0 24px;width:100%}
.lp-head{border-bottom:1px solid var(--line);background:#1a1613}
.lp-head .lp-in{padding-top:12px;padding-bottom:12px;display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px}
.lp-head nav{display:flex;flex-wrap:wrap;gap:4px 22px;font-family:var(--label);font-size:17px;flex-grow:1}
.lp-head nav a,.quiet-link{color:var(--muted);text-decoration:none}
.quiet-link{font-size:15px;text-decoration:underline}
.lp-top{position:relative;overflow:hidden;min-height:520px;display:flex;align-items:flex-end}
.lp-top>svg{position:absolute;inset:0;width:100%;height:100%}
.lp-top-text{position:relative;padding-top:120px;padding-bottom:48px;display:flex;flex-direction:column;gap:16px}
.kicker{font-family:var(--label);color:var(--gold);letter-spacing:3px}
.title{font-family:'UnifrakturMaguntia',serif;font-size:clamp(54px,8vw,104px);line-height:1;text-shadow:0 4px 24px #000}
.tagline{font-family:var(--label);font-size:clamp(24px,3vw,34px);line-height:1.2}
.lead{margin:0;font-size:19px;color:var(--muted);max-width:620px}
.lp-heroes{background:radial-gradient(ellipse at 50% 38%,#3a2b1c 0%,#1a1511 45%,#14110f 75%);border-top:1px solid #2c251f}
.lp-heroes .lp-in{padding-top:48px;padding-bottom:64px}
.eyebrow{font-size:22px;letter-spacing:4px;color:var(--gold)}
.stage{width:100%;display:flex;flex-direction:column;align-items:center;gap:22px;touch-action:pan-y}
.swiper{width:100%;display:flex;align-items:center;justify-content:center;gap:clamp(8px,3vw,40px)}
.side{flex:0 1 180px;min-width:64px;display:flex;flex-direction:column;align-items:center;gap:8px;background:none;border:0;color:var(--faint);cursor:pointer;opacity:.55;padding:0;font-family:var(--label);font-size:18px}
.side:hover{opacity:.85}
.side svg{max-width:100%;height:auto}
.cur{flex:0 1 380px;min-width:0;display:flex;flex-direction:column;align-items:center;gap:6px}
.cur-name{font-family:var(--label);font-size:clamp(44px,6vw,72px);line-height:1;text-shadow:0 4px 18px #000}
.cur-role{color:var(--gold);font-size:19px}
.cur-fig{position:relative;width:100%;display:flex;justify-content:center;padding-top:6px}
.cur-fig svg{position:relative;max-width:100%;height:auto}
.glow{position:absolute;bottom:4px;width:260px;height:40px;border-radius:50%;background:radial-gradient(ellipse,#c9a46a55,transparent 70%)}
.art-note{font-size:13px;color:#8a7b68}
.dots{display:flex;flex-wrap:wrap;justify-content:center;gap:6px}
.dot{width:12px;height:12px;margin:16px 2px;padding:0;border-radius:6px;cursor:pointer;border:1px solid var(--gold);background:var(--line);transition:width .15s}
.dot.locked{border-color:#5a4c3a;background:transparent}
.dot.on{width:28px;background:var(--gold)}
.blurb{margin:0;max-width:620px;font-size:19px;color:var(--muted)}
.pick{width:100%;max-width:760px;display:flex;flex-direction:column;align-items:center;gap:22px}
.pick .note{margin-top:-12px}
.bars{width:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px 32px}
.bar{display:grid;grid-template-columns:110px 1fr 32px;align-items:center;gap:10px;font-size:15px;text-align:left}
.bar>span:first-child{color:var(--muted)}
.bar .track{height:8px;border-radius:4px;background:#2c251f;overflow:hidden}
.bar .track span{display:block;height:100%}
.bar .num{text-align:right;font-variant-numeric:tabular-nums}
.locked-note{border:1px dashed #5a4c3a;border-radius:10px;padding:14px 18px;color:var(--muted);font-size:16px;max-width:560px}
.lp-sec{border-top:1px solid #2c251f}
.lp-sec.dark{background:#18140f}
.lp-sec>.lp-in{padding-top:64px;padding-bottom:64px}
.h2{font-size:38px;color:var(--gold)}
.h2.light{color:var(--ink);font-size:40px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:24px;display:flex;flex-direction:column;gap:10px}
.card h3{font-size:25px}
.card p,.price p{margin:0;color:var(--muted)}
.world{display:flex;flex-wrap:wrap;gap:40px;align-items:center}
.world-text{flex:999 1 420px;min-width:0}
.world-text p{margin:0;color:var(--muted)}
.world-map{flex:1 1 360px;min-width:0;display:flex;justify-content:center}
.world-map svg{max-width:460px}
.repbar{display:flex;flex-direction:column;gap:6px;max-width:520px}
.repbar>div{height:12px;border-radius:6px;background:linear-gradient(90deg,#7a1d14 0%,#3a3128 35%,#3a3128 65%,#c9a46a 100%);position:relative}
.repbar>div span{position:absolute;left:50%;top:-5px;width:4px;height:22px;background:var(--ink);border-radius:2px}
.repbar p{display:flex;justify-content:space-between;font-size:14px;color:var(--faint)!important}
.prices{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.price{border:1px solid var(--line);border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:6px}
.price.gold{border-color:var(--gold)}
.pname{font-family:var(--label);font-size:22px}
.pval{font-size:28px;color:var(--gold-hi)}
.price p{font-size:15px}
.lp-end{border-top:1px solid #2c251f;background:radial-gradient(ellipse at 50% 0%,#2a2018 0%,#14110f 70%)}
.lp-end .lp-in{padding-top:64px;padding-bottom:64px}
.narrow{max-width:820px}
.notify{width:100%;max-width:520px}
.login{margin-top:20px;width:100%;max-width:520px;display:flex;flex-direction:column;align-items:center;gap:10px;border-top:1px solid var(--line);padding-top:20px}
.login h3{font-size:22px}
.login form{width:100%}
.or{font-size:14px;color:var(--faint)}
.lp-foot{border-top:1px solid #2c251f}
.lp-foot .lp-in{padding-top:24px;padding-bottom:24px;display:flex;flex-wrap:wrap;gap:8px 24px;font-size:14px;color:var(--faint)}
.lp-foot a{color:var(--faint)}
.push{margin-left:auto}
@media (max-width:640px){
  .side svg{width:60px;height:126px}
  .bar{grid-template-columns:96px 1fr 28px}
  .lp-head nav{display:none}
}

/* ---------- Creation screen ---------- */
body.create{min-height:100vh;display:flex;flex-direction:column}
.cr-head{min-height:56px;flex-shrink:0;padding:8px 28px;display:flex;flex-wrap:wrap;align-items:center;gap:6px 24px;border-bottom:1px solid var(--line);background:#1a1613}
.cr-head .logo{font-size:26px}
.cr-title{font-family:var(--label);font-size:19px;color:var(--muted)}
.cr-hint{margin-left:auto;font-size:14px;color:var(--faint)}
.cr{flex-grow:1;min-height:0;padding:18px 24px;display:grid;grid-template-columns:200px minmax(0,1fr) 300px;gap:20px;max-width:1440px;width:100%;margin:0 auto}
.cr-steps{display:flex;flex-direction:column;gap:6px}
.cr-steps button{min-height:44px;border-radius:8px;font:16px var(--body);cursor:pointer;display:flex;align-items:center;gap:10px;text-align:left;padding:0 12px;background:transparent;border:1px solid transparent;color:var(--muted)}
.cr-steps button.now{background:#26201b;border-color:var(--gold);color:var(--ink)}
.cr-steps .num{width:26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0;border:1px solid #5a4c3a;color:var(--faint)}
.cr-steps .now .num{border-color:var(--gold);color:var(--gold-hi)}
.cr-steps .done .num{background:var(--gold);border-color:var(--gold);color:var(--ground)}
.steps-note{margin-top:auto;line-height:1.45}
.cr-main{min-height:520px;border:1px solid var(--line);border-radius:12px;background:var(--panel);display:flex;flex-direction:column;overflow:hidden}
.cr-body{flex-grow:1;overflow:auto;padding:22px 26px}
.cr-body section{display:flex;flex-direction:column;gap:16px}
.cr-body h2{font-size:30px;color:var(--gold)}
.cr-foot{flex-shrink:0;border-top:1px solid var(--line);padding:12px 18px;display:flex;align-items:center;gap:10px}
.btn-next{margin-left:auto;font-family:var(--label);font-size:18px;min-height:44px;padding:0 22px;border-radius:8px;background:#26201b;border:1px solid var(--gold);color:var(--gold-hi);cursor:pointer}
#begin{margin-left:auto;min-height:44px;font-size:20px}
.cr-classes{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}
.cr-classes button{min-height:72px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;padding:8px 14px;border-radius:8px;cursor:pointer;color:var(--ink);background:#1a1613;border:1px solid var(--line);font-family:var(--body);text-align:left}
.cr-classes button.on{background:#2a2116;border-color:var(--gold)}
.cn{font-family:var(--label);font-size:21px}
.cr-gender{display:flex;flex-wrap:wrap;align-items:center;gap:16px}
.blurb-l{margin:0;color:var(--muted);font-size:17px}
.cr-name{font-family:var(--label)!important;font-size:22px!important;border-color:#5a4c3a!important;min-height:44px}
.face{width:64px;height:64px;border-radius:50%;cursor:pointer;font-family:var(--label);font-size:22px;color:var(--gold-hi);background:radial-gradient(circle at 50% 40%,#3a2d20,#14110f 75%);border:1px solid #5a4c3a}
.face.on{border:3px solid var(--gold)}
.hair{width:44px;height:44px;border-radius:50%;cursor:pointer;border:1px solid #5a4c3a}
.hair.on{border:3px solid var(--gold-hi)}
#nameMsg{color:var(--faint)}
#nameMsg.ok{color:var(--ok)}#nameMsg.bad{color:var(--bad)}
.pool{font-size:17px;padding:4px 12px;border-radius:999px;font-variant-numeric:tabular-nums}
.pool.open{color:var(--ok);border:1px solid #3f6b4c}
.pool.done{color:var(--faint);border:1px solid var(--line)}
.attrs{display:flex;flex-direction:column;gap:5px}
.attr{display:grid;grid-template-columns:minmax(150px,250px) 34px 44px 44px 44px minmax(60px,1fr);align-items:center;gap:8px}
.al{display:flex;flex-direction:column;line-height:1.25}
.al .small{font-size:12.5px}
.ab{font-size:13px;color:#8a7b68;text-align:right}
.av{text-align:center;font-size:20px;font-variant-numeric:tabular-nums}
.attr .pm{width:44px;height:36px}
.attr .track{position:relative;height:10px;border-radius:5px;background:#2c251f}
.attr .range{position:absolute;top:0;bottom:0;border-radius:5px;background:#4a3f30}
.attr .fill{position:absolute;top:2px;bottom:2px;left:0;border-radius:4px}
.fx{border:1px solid var(--line);border-radius:10px;background:#1a1613;padding:10px 12px;display:flex;flex-direction:column;gap:8px}
.fx-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:6px 10px}
.fxi{display:flex;flex-direction:column;line-height:1.2}
.fxv{font-size:18px;font-variant-numeric:tabular-nums}
.grounds{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.ground{text-align:left;display:flex;flex-direction:column;gap:6px;padding:14px;border-radius:10px;cursor:pointer;color:var(--ink);font-family:var(--body);background:#1a1613;border:1px solid var(--line)}
.ground.on{background:#2a2116;border-color:var(--gold)}
.ground:disabled{opacity:.4;cursor:not-allowed}
.gname{font-family:var(--label);font-size:22px}
.gtag{font-size:14px;color:var(--gold)}
.gabout{font-size:14px;color:var(--muted)}
.gnear{display:flex;flex-direction:column;gap:2px;font-size:13.5px;padding-top:4px;border-top:1px solid var(--line)}
.summary{display:grid;grid-template-columns:150px minmax(0,1fr);gap:8px 16px;font-size:16px}
.next-box{border:1px solid var(--line);border-radius:10px;padding:14px 16px;background:#1a1613;display:flex;flex-direction:column;gap:6px;font-size:15px;color:var(--muted)}
.nb-title{font-family:var(--label);font-size:19px;color:var(--ink)}
.cr-aside{border:1px solid var(--line);border-radius:12px;background:radial-gradient(ellipse at 50% 40%,#3a2b1c 0%,#1e1a16 60%);display:flex;flex-direction:column;align-items:center;padding:16px 16px 14px;gap:6px}
.a-name{font-family:var(--label);font-size:30px;line-height:1.1;text-align:center;overflow-wrap:anywhere}
.a-role{font-size:15px;color:var(--gold)}
.a-fig{flex-grow:1;display:flex;align-items:flex-end;justify-content:center}
.a-fig svg{max-width:100%;height:auto}
.mini{width:100%;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;text-align:center;font-size:12px;color:var(--faint)}
.mini>span{display:flex;flex-direction:column}
.mv{font-size:17px;font-variant-numeric:tabular-nums;color:var(--ink)}
@media (max-width:1100px){
  .cr{grid-template-columns:minmax(0,1fr) 240px}
  .cr-steps{grid-column:1/-1;flex-direction:row;overflow-x:auto}
  .cr-steps button{flex-shrink:0}
  .steps-note{display:none}
}
@media (max-width:760px){
  .cr{grid-template-columns:minmax(0,1fr);padding:12px}
  .cr-aside{order:-1;flex-direction:row;flex-wrap:wrap;justify-content:center}
  .a-fig{display:none}
  .attr{grid-template-columns:1fr 26px 40px 36px 40px;row-gap:2px}
  .attr .track{grid-column:1/-1}
  .cr-hint{display:none}
  .summary{grid-template-columns:110px minmax(0,1fr)}
}

/* ---------- Text pages (privacy, legal) ---------- */
.doc{max-width:760px}
.doc h1{font-size:40px}
.doc h2{font-size:24px;color:var(--gold);margin-top:8px}
.doc p,.doc li{color:var(--muted)}
.doc ul{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px}
.cr-body section[hidden]{display:none}
.cr-steps button{white-space:nowrap}
@media (min-width:1101px) and (min-height:700px){
  body.create{height:100vh}
  .cr{height:calc(100vh - 56px)}
  .cr-main{min-height:0}
}
