/* Paper, ink, and two opposing engraved emblems. */
.setup-screen { position:relative; isolation:isolate; min-height:100svh; background:radial-gradient(ellipse at 25% 5%,#dce4d3aa,transparent 50%),radial-gradient(ellipse at 90% 90%,#ead9b755,transparent 50%),#f6f4eb; overflow:hidden; }
.setup-screen::before { content:''; position:absolute; z-index:-1; inset:0; opacity:.19; background-image:repeating-linear-gradient(0deg,transparent 0 63px,#9aa89050 63px 64px),repeating-linear-gradient(90deg,transparent 0 63px,#9aa89050 63px 64px); mask-image:linear-gradient(135deg,#000,transparent 50%); pointer-events:none; }
.setup-screen::after { content:''; position:absolute; z-index:-1; width:620px; height:620px; right:-360px; top:9%; border:1px solid #bba77333; box-shadow:0 0 0 30px #bba77308,0 0 0 90px #bba77306; border-radius:50%; pointer-events:none; }
.setup-main { width:min(860px,calc(100% - 48px)); padding:50px 0 28px; margin:0 auto; }
.game-logo { text-align:center; margin-bottom:30px; }
.setup-eyebrow { display:flex; justify-content:center; align-items:center; gap:12px; color:#8d8164; font-size:11px; letter-spacing:.24em; }
.setup-eyebrow::before,.setup-eyebrow::after { content:''; width:26px; height:1px; background:#b4a888; }
.game-logo h1 { position:relative; display:inline-flex; align-items:center; gap:13px; margin:13px 0 7px; color:#263d30; font-family:"KaiTi","STKaiti","Songti SC",serif; font-weight:500; font-size:clamp(39px,5.5vw,59px); letter-spacing:.10em; }
.logo-seal { display:grid; place-items:center; width:26px; height:30px; margin-top:8px; border:1px solid #b56646; color:#b56646; font:17px "KaiTi",serif; letter-spacing:0; border-radius:2px; transform:rotate(-6deg); }
.game-logo p { margin:0; font-size:10px; letter-spacing:.32em; color:#80917d; }
.setup-intro { margin-top:17px; font:15px/1.8 "KaiTi","STKaiti",serif; color:#69755f; }.setup-intro span { margin-left:6px; color:#95856b; }
.wizard { width:100%; margin:0; }
.step-count { display:flex; justify-content:center; align-items:center; gap:10px; margin:0 0 9px; font-size:10px; color:#8b8e79; letter-spacing:.1em; }
.step-count::before,.step-count::after { content:''; height:3px; width:27px; border-radius:2px; background:#365a43; }.step-count::after { background:#c8ceba; }[data-step="1"] .step-count::after { background:#365a43; }
.wizard h2 { margin:0 0 22px; font-size:24px; font-family:"KaiTi","STKaiti",serif; font-weight:500; color:#2f4334; }
.side-grid { gap:18px; min-height:0; }
.side-card { position:relative; overflow:hidden; min-height:270px; padding:24px 20px 23px; border:1px solid #d6d7c5; border-radius:10px; background:#faf9f1; box-shadow:0 7px 20px #34473008; }
.side-card::before { content:''; position:absolute; inset:8px; border:1px solid #c6c9b333; border-radius:5px; pointer-events:none; }
.side-card::after { content:''; position:absolute; top:32px; width:170px; height:170px; border:1px solid #b3ac8522; border-radius:50%; pointer-events:none; }
.side-card:hover { background:#fffdf4; border-color:#a1b398; transform:translateY(-2px); }
.side-card.is-selected { background:#edf1e5; border-color:#688262; box-shadow:0 5px 22px #34523512; }
.side-card[data-value="wolf"].is-selected { background:linear-gradient(130deg,#e6ecde,#f2f2e7); }
.side-number { position:absolute; top:14px; left:20px; font:26px Georgia,serif; color:#b5b99e; }.side-card[data-value="wolf"] .side-number { color:#94a084; }
.side-card .choice-icon { width:110px; height:110px; border:0; background:transparent; border-radius:50%; box-shadow:0 4px 12px #2b3b2814; }
.side-card .choice-icon.wolf { background:url('./assets/wolf-emblem.svg') center/contain no-repeat; }.side-card .choice-icon.sheep { background:url('./assets/sheep-emblem.svg') center/contain no-repeat; }
.side-kicker { margin-top:16px; color:#8c8e74; font-size:10px; letter-spacing:.2em; }
.side-card strong { margin-top:5px; font:30px/1.2 "KaiTi","STKaiti",serif; color:#2d4130; }
.side-card small { margin-top:10px; font-size:13px; color:#66745e; }.side-goal { margin-top:5px; font-size:10px; color:#949780; }
.side-selected { position:absolute; right:17px; top:19px; font-size:10px; color:#56764f; visibility:hidden; }.is-selected .side-selected { visibility:visible; }
.wizard-actions { margin-top:22px; }.setup-button { min-height:46px; font-size:15px; border-radius:6px; min-width:180px; }.setup-button.primary { background:#355b43; box-shadow:0 4px 9px #355b4319; }.setup-button.primary:hover { background:#284a35; }.setup-button.secondary { border-color:#c0c8b5; }
.continue-button { font-size:12px; color:#6c7d5e; margin-top:13px; }.setup-footer { font-size:11px; color:#9a9b85; margin:0 auto 18px; }.setup-footer button { color:#6e8062; text-decoration:none; }
.setup-screen .corner-actions { top:19px; right:24px; }.setup-screen .round-button { width:36px; height:36px; background:#fafaf180; border-color:#cdd5c5; font-size:18px; }
#difficulty-step { width:min(580px,100%); margin:0 auto; gap:10px; }.row-card { min-height:65px; padding:11px 15px; border-radius:8px; grid-template-columns:40px 1fr; gap:13px; }.row-card .choice-icon { width:36px; height:36px; font-size:16px; }.row-card strong { font-size:16px; }.row-card small { font-size:11px; line-height:1.5; }.choice-card.row-card.is-selected { border-color:#718563; background:#eaf0e2; }
@media(max-width:800px) { .setup-main { width:min(670px,calc(100% - 40px)); padding-top:35px; }.game-logo { margin-bottom:22px; }.game-logo h1 { font-size:45px; }.setup-intro { margin-top:12px; font-size:13px; }.side-card { min-height:250px; padding:19px 10px; }.side-card .choice-icon { width:96px; height:96px; }.side-card::after { width:148px; height:148px; top:22px; }.wizard h2 { margin-bottom:17px; font-size:23px; } }
@media(max-width:540px) { .setup-main { width:calc(100% - 28px); padding-top:50px; }.game-logo h1 { font-size:39px; }.setup-eyebrow { font-size:9px; }.setup-intro { font-size:12px; }.setup-intro span { display:block; margin:0; }.side-grid { gap:10px; }.side-card { min-height:256px; padding:34px 9px 18px; }.side-card .choice-icon { width:90px; height:90px; }.side-card::after { width:118px; height:118px; top:24px; }.side-number { font-size:21px; top:15px; left:14px; }.side-selected { top:21px; right:12px; font-size:9px; }.side-card strong { font-size:26px; }.side-card small { font-size:11px; }.side-goal { font-size:9px; }.side-kicker { font-size:9px; letter-spacing:.1em; margin-top:13px; }.logo-seal { width:22px; height:27px; font-size:15px; }.setup-screen .corner-actions { top:12px; right:14px; }.setup-footer { font-size:10px; } }
@media(prefers-reduced-motion:reduce) { .choice-card { transition:none; } }
@media(max-width:540px) { .side-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }.side-card small { line-height:1.6; }.setup-main { padding-bottom:24px; } }

#setup-qitian-version { width:100%; min-height:38px; padding:7px 11px; font:inherit; font-size:12px; color:#354d3a; background:#fafbf5; border:1px solid #cdd5c2; border-radius:7px; }
.setup-screen[data-step="1"] .setup-main { padding-top:26px; }
.setup-screen[data-step="1"] .game-logo { margin-bottom:20px; }
.setup-screen[data-step="1"] .game-logo h1 { font-size:42px; }
.setup-screen[data-step="1"] .setup-intro { display:none; }
.setup-screen[data-step="1"] .row-card { min-height:55px; padding-block:8px; }
@media(max-width:540px) { .setup-screen[data-step="1"] .setup-main { padding-top:48px; }.setup-screen[data-step="1"] .game-logo h1 { font-size:35px; } }