/* F8.UI.1 — presentation for the canonical appearance → name → SaveService flow. */
.f8-character-creator{
  position:absolute;inset:0;z-index:5;display:grid;place-items:center;padding:32px;
  color:var(--cc-ui-control-text);font-family:var(--chronocairn-font);
  background:linear-gradient(110deg,#04050bea,#0c0816e6),url('../../assets/ui/chronocairn-main-menu.webp') center/cover;
}
.f8-character-creator *{box-sizing:border-box}
.f8-creator-card{
  position:relative;width:min(1360px,100%);height:min(860px,calc(100svh - 64px));
  display:grid;grid-template-rows:72px minmax(0,1fr);overflow:hidden;
  border:1px solid var(--cc-ui-panel-border);border-radius:var(--cc-ui-radius-window);
  background-image:var(--cc-ui-panel-fill),var(--ui-panel-texture);box-shadow:var(--cc-ui-shadow);
}
.f8-creator-card::after{content:"";position:absolute;inset:7px;pointer-events:none;border:1px solid #ead39414;border-radius:9px}
.v12-creator-topbar{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 30px;border-bottom:1px solid #ead3941a;background:#080a14b3}
.f8-creator-brand{color:var(--cc-ui-gold);font-size:20px;letter-spacing:.12em;white-space:nowrap}
.f8-creator-brand span{display:block;margin-top:5px;color:var(--cc-ui-muted);font-size:10px;letter-spacing:.2em}
.v12-creator-steps{display:flex;align-items:center;gap:18px;color:#807487;font-size:13px;letter-spacing:.1em;white-space:nowrap}
.v12-creator-steps i{width:48px;height:1px;background:#514064}
.v12-creator-steps span.active{color:var(--cc-ui-gold)}
.f8-character-creator button{cursor:pointer;font-family:var(--chronocairn-font);transition:border-color .15s,background-color .15s,box-shadow .15s}
.f8-character-creator button:focus-visible{outline:2px solid var(--cc-ui-gold);outline-offset:3px}
.v12-creator-topbar>button,.v12-back{margin:0;min-height:42px;padding:10px 16px;border:1px solid var(--cc-ui-panel-border);border-radius:var(--cc-ui-radius-control);background:var(--cc-ui-control-fill);color:var(--cc-ui-control-text);font-size:13px;letter-spacing:.045em}
.v12-creator-topbar>button:hover,.v12-back:hover{border-color:var(--cc-ui-accent);color:var(--cc-ui-control-active)}
#f8-character-picker{min-height:0;overflow:hidden}
.f8-creator-heading{text-align:center}
.v12-kicker{color:var(--cc-ui-gold);font-size:12px;letter-spacing:.2em;text-transform:uppercase}
.f8-creator-heading h2{margin:10px 0 8px;color:#f3eaf8;font-size:38px;font-weight:400;letter-spacing:.05em;line-height:1.1}
.f8-creator-heading p{margin:0;color:var(--cc-ui-muted);font-size:16px;line-height:1.4}
.v12-gender-screen{height:100%;display:grid;place-items:center;overflow:auto;padding:30px}
.v12-gender-wrap{width:min(740px,100%);text-align:center}
.v12-gender-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:32px 0}
.v12-gender-card{
  position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;
  height:250px;margin:0;padding:28px;border:1px solid var(--cc-ui-panel-border);border-radius:var(--cc-ui-radius-panel);
  background:radial-gradient(ellipse at 50% 40%,#36244455,transparent 72%),#0b0d18;
  color:#9586a4;
}
.v12-gender-card:hover{border-color:var(--cc-ui-accent);background-color:#141020}
.v12-gender-card.selected{border-color:var(--cc-ui-gold);color:var(--cc-ui-gold);box-shadow:inset 0 0 45px #ead39408,inset 0 -3px #ead394}
.v12-gender-label{font-size:27px;letter-spacing:.1em;line-height:1}
.f8-gender-selected{color:var(--cc-ui-muted);font-size:11px;letter-spacing:.18em}
.v12-gender-card.selected .f8-gender-selected{color:var(--cc-ui-gold)}
.v12-gender-mark{display:none;position:absolute;right:18px;top:16px;font-size:17px;color:var(--cc-ui-gold)}
.v12-gender-card.selected .v12-gender-mark{display:block}
.v12-primary{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-width:210px;min-height:48px;margin:0;padding:12px 24px;border:1px solid #b69755;border-radius:var(--cc-ui-radius-control);background:linear-gradient(180deg,#574425,#2f251c);color:#f8ecc9;font-size:16px;letter-spacing:.065em;box-shadow:inset 0 1px #ffefbb1c}
.v12-primary:hover{border-color:#f3df9d;background:linear-gradient(180deg,#715633,#3e2d22);box-shadow:0 0 20px #ead39416,inset 0 1px #ffefbb22}
.v12-gender-actions small{display:block;margin-top:16px;color:#988aa6;font-size:13px}
.v12-name-wrap{display:grid;gap:20px;width:min(460px,100%)}
#f8-survivor-preview{width:106px;height:128px;justify-self:center}
.v12-name-actions{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:14px}
.v12-back{justify-self:start;min-width:120px}
.v12-name-field{display:block;min-width:0;width:100%;color:var(--cc-ui-muted);font-size:11px;letter-spacing:.13em}
.v12-name-field input{display:block;width:100%;height:40px;margin-top:7px;padding:7px 12px;border:1px solid var(--cc-ui-panel-border);border-radius:var(--cc-ui-radius-control);background:#070912;color:#f3eaf8;font-size:20px;letter-spacing:.02em;outline:none}
.v12-name-field input:focus{border-color:var(--cc-ui-gold);box-shadow:0 0 0 2px #ead39420}
.v12-start{min-width:0;width:100%;align-self:end;gap:14px;padding-inline:18px;font-size:14px;white-space:nowrap}
.f8-character-creator .v12-gender-screen{scrollbar-width:thin;scrollbar-color:#795391 #0b0d18}
@media(max-height:800px) and (min-width:901px){
  .f8-creator-card{grid-template-rows:62px minmax(0,1fr)}
}
@media(max-width:1100px){
  .f8-character-creator{padding:20px}
  .f8-creator-card{height:min(860px,calc(100svh - 40px))}
  .f8-creator-perks{gap:8px}
}
@media(max-width:900px){
  .v12-creator-topbar{padding:0 20px;gap:15px}
  .f8-creator-brand{font-size:16px}
  .f8-creator-brand span{font-size:9px}
  .v12-creator-steps{gap:12px;font-size:12px}
  .v12-creator-steps i{width:20px}
}
@media(max-width:600px){
  .f8-character-creator{padding:8px}
  .f8-creator-card{height:calc(100svh - 16px);grid-template-rows:62px minmax(0,1fr)}
  .v12-creator-topbar{padding:0 14px;gap:10px}
  .f8-creator-brand{display:none}
  .v12-creator-topbar>button{min-height:36px;padding:7px 10px;font-size:11px}
  .v12-gender-screen{padding:20px 16px}
  .f8-creator-heading h2{font-size:30px}
  .f8-creator-heading p{font-size:14px}
  .v12-gender-grid{gap:12px;margin:25px 0}
  .v12-gender-card{height:210px;padding:18px;gap:18px}
  .v12-gender-label{font-size:23px}
  .f8-creator-perks{grid-template-columns:1fr}
  .v12-back{min-width:0;justify-self:stretch}
  .v12-start{min-height:42px;padding:9px 10px;font-size:13px;gap:10px}
}
@media(prefers-reduced-motion:reduce){.f8-character-creator button{transition:none}}
