/* A character sheet, followed by the opening story. */
.is-character-creation .site-wrap #bgm-controls,.is-character-creation:not(.has-life-save) .header nav{display:none!important}
.is-character-creation .header{justify-content:space-between}
.creation-card{--creation-ink:#32363e;--creation-muted:#63676f;--creation-field:#fffef9;position:relative;display:grid;grid-template-columns:minmax(250px,.8fr) minmax(0,1.25fr);max-width:1050px;margin:24px auto 40px;background:#f6f5ed;color:var(--creation-ink);border:1px solid #b8a16a;border-radius:16px;box-shadow:0 16px 48px #23272f20,0 0 0 5px #bca47712;overflow:hidden}
.creation-portrait{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:48px 32px 32px;min-width:0;background:#30343c;color:#f8edcf;overflow:hidden}
.creation-landscape{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.28;z-index:-2}
.creation-portrait:after{content:"";position:absolute;inset:13px;border:1px solid #d0b47466;pointer-events:none;z-index:-1;background:linear-gradient(180deg,#23272f50,transparent 40%,#1a1e26e8)}
.creation-seal{position:absolute;left:30px;top:28px;font:700 20px 'Noto Serif KR',serif;letter-spacing:5px;color:#efdab0;border-bottom:1px solid #c3a364;padding-bottom:10px}
.creation-card .portrait-setup{display:flex;flex-direction:column;gap:18px;width:100%;margin:20px 0 0;padding:0;border:0;background:none;box-shadow:none;text-align:center;color:#f6e7c9}
.creation-card #home-portrait-preview{width:min(100%,252px);aspect-ratio:4/5;padding:5px;border:1px solid #dac18b;background:#242830;box-shadow:0 12px 30px #0006,0 0 0 5px #d4b77c16}
.creation-card .portrait-mini{width:100%;height:100%;object-fit:cover;object-position:center top;border:0;border-radius:0}
.creation-card .portrait-setup>div:last-child{display:flex;align-items:center;flex-direction:column;gap:8px}
.creation-card .portrait-setup span{font-size:11px;color:#e0d2b5;letter-spacing:2px}
.creation-card #home-portrait-label{font:700 22px 'Noto Serif KR',serif;color:#fff2d6}
.creation-card .portrait-setup .text-button{margin:3px 0 0;padding:10px 14px;border:1px solid #c4ac77;border-radius:5px;background:#3a3e46;color:#fff1d0;font-size:12px;line-height:1.5;box-shadow:inset 0 0 0 3px #d4ba8520;transform:none}
.creation-portrait-caption{margin:26px 0 0;color:#d4c7ae;font:12px 'Noto Serif KR',serif;text-align:center;line-height:1.7}
.creation-form{min-width:0;padding:34px 38px 22px}
.creation-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:25px}
.creation-kicker{font-size:11px;color:var(--creation-muted);letter-spacing:2px}
.creation-heading h1{margin:7px 0 0;font:800 30px 'Noto Serif KR',serif;color:var(--creation-ink)}
.creation-next{font-size:11px;color:var(--creation-muted);white-space:nowrap}
.creation-names{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.creation-card .name-field{display:block;margin:0;padding:0;border:0}
.creation-card .name-field label{display:block;margin-bottom:8px;font-size:12px;font-weight:700;color:var(--creation-ink)}
.creation-card .name-field input,.creation-card .setup-select-row select{box-sizing:border-box;width:100%;min-width:0;height:43px;margin:0;padding:0 12px;border:1px solid #aeb2ba;border-radius:5px;background:var(--creation-field);color:var(--creation-ink);font:13px 'Noto Sans KR',sans-serif;box-shadow:none}
.creation-card input::placeholder{color:var(--creation-muted);opacity:1}
.creation-card .birth-customization{margin:20px 0 0;padding:0;border:0;background:none;min-width:0}
.creation-card .birth-customization legend{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.creation-card .setup-select-row{display:grid;grid-template-columns:86px minmax(0,1fr);align-items:center;gap:10px;margin:0 0 12px}
.creation-card .setup-select-row label{font-size:12px;font-weight:700;color:var(--creation-ink);white-space:nowrap}
.creation-card details{font-size:12px;color:var(--creation-muted)}
.creation-card summary{cursor:pointer;min-height:38px;align-content:center;line-height:1.6;padding:7px 0;box-sizing:border-box;color:var(--creation-muted)}
.creation-card :is(.creation-effects,.creation-fate){border:1px solid #aa915b;border-radius:7px;padding:0;background:linear-gradient(115deg,#41454d,#2f333b);box-shadow:inset 0 0 0 3px #d8bb7720,0 3px 8px #2d313914;overflow:hidden}
.creation-card :is(.creation-effects,.creation-fate)>summary{display:grid;grid-template-columns:26px minmax(0,1fr) 9px;align-items:center;gap:11px;min-height:54px;padding:12px 17px;list-style:none;color:#f5e6be;font-size:12px;line-height:1.5;font-weight:600}
.creation-card :is(.creation-effects,.creation-fate)>summary::-webkit-details-marker{display:none}
.creation-card :is(.creation-effects,.creation-fate)>summary::marker{content:""}
.creation-card :is(.creation-effects,.creation-fate)>summary:before{content:"才";display:grid;place-items:center;box-sizing:border-box;width:26px;height:28px;border:1px solid #c5a566;outline:1px solid #b99a5140;outline-offset:2px;background:#252931;color:#f2d18c;font:600 17px/1 'Noto Serif KR',serif}
.creation-card .creation-fate>summary:before{content:"命"}
.creation-card :is(.creation-effects,.creation-fate)>summary:after{content:"";width:6px;height:6px;justify-self:center;border-right:1.5px solid #e9cd91;border-bottom:1.5px solid #e9cd91;transform:rotate(45deg) translateY(-2px)}
.creation-card :is(.creation-effects,.creation-fate)[open]>summary{border-bottom:1px solid #bfa56a66}
.creation-card :is(.creation-effects,.creation-fate)[open]>summary:after{transform:rotate(225deg) translate(-1px,-1px)}
.creation-card .creation-effects #setup-preview,.creation-card .creation-fate>div{margin:0;padding:12px 16px;background:var(--creation-field);border-radius:0;color:var(--creation-ink)}
.creation-card .creation-effects>.text-button{display:block;margin:0;padding:10px 16px;width:100%;box-sizing:border-box;background:var(--creation-field);color:var(--creation-ink);text-align:left}
.creation-card #setup-preview{border:0;padding:10px 12px;margin:0 0 8px;background:#e8ecf4;border-radius:5px;color:var(--creation-ink);line-height:1.8}
.creation-card #setup-preview p,.creation-card #setup-preview li{color:var(--creation-ink);font-size:12px}
.creation-card .creation-fate{margin-top:10px}
.creation-fate>div{padding:0 8px 12px;line-height:1.8}
.creation-fate p{margin:4px 0 10px}
.creation-card .creation-fate .text-button{margin-right:16px}
.creation-card .creation-actions{display:grid;grid-template-columns:1fr 1.4fr;gap:12px;margin-top:20px}
.creation-card .creation-actions button{min-height:52px;margin:0;border-radius:6px;font-size:14px;display:flex;justify-content:center;align-items:center;gap:10px;transform:none}
.creation-card .setup-randomize{padding:8px;border:1px solid #a8acb4;background:#e7ebf3;color:#3d4149;box-shadow:none}
.creation-card .setup-randomize-symbol{font-size:23px}
.creation-card .primary{background:linear-gradient(135deg,#4f535b,#30343c);border:1px solid #9d8550;color:#fff0ca;box-shadow:inset 0 0 0 3px #e0bd6b20,0 4px 10px #2f333b20}
.creation-card .creation-status{margin:12px 0 0;min-height:18px;font-size:11px;text-align:center;line-height:1.6;color:var(--creation-muted)}
.creation-card button:focus-visible,.creation-card summary:focus-visible,.creation-card input:focus-visible,.creation-card select:focus-visible{outline:3px solid #bc8836;outline-offset:3px}
html[data-color-mode="dark"] .creation-card{--creation-ink:#f0ebdb;--creation-muted:#c1c5cd;--creation-field:#252931;background:#31353d;border-color:#9d895a}
html[data-color-mode="dark"] .creation-card #setup-preview{background:#242830;color:#f0ebdb}
html[data-color-mode="dark"] .creation-card .setup-randomize{background:#40444c;color:#f1e6ca;border-color:#9ea2aa}
html[data-color-mode="dark"] .creation-card .creation-landscape,html[data-color-mode="dark"] .creation-card .portrait-mini{filter:none!important}
@media(max-width:700px){
 .is-character-creation:not(.has-life-save) .site-wrap{padding-bottom:20px!important}
 .creation-card{grid-template-columns:1fr;margin:14px auto 25px;border-radius:12px}
 .creation-portrait{padding:20px 24px;min-height:170px}
 .creation-seal{right:22px;left:auto;top:19px;font-size:15px;writing-mode:vertical-rl;letter-spacing:4px;border-bottom:0}
 .creation-card .portrait-setup{flex-direction:row;text-align:left;margin:0;gap:20px}
 .creation-card #home-portrait-preview{width:104px;flex-shrink:0}
 .creation-card .portrait-setup>div:last-child{align-items:flex-start;gap:6px;padding-right:12px}
 .creation-card #home-portrait-label{font-size:21px}
 .creation-card .portrait-setup .text-button{font-size:11px;padding:8px 10px;white-space:normal}
 .creation-portrait-caption{display:none}
 .creation-form{padding:22px 20px 18px}
 .creation-heading{margin-bottom:22px}
 .creation-heading h1{font-size:25px}
 .creation-next{font-size:10px}
 .creation-card .setup-select-row{grid-template-columns:78px minmax(0,1fr);gap:8px}
 .creation-card .name-field input,.creation-card .setup-select-row select{font-size:16px}
 .creation-card .creation-actions{gap:9px;margin-top:16px}
 .creation-card .creation-actions button{font-size:13px}
}
@media(prefers-reduced-motion:reduce){.creation-card *{transition:none!important;animation:none!important}}
@media(max-width:700px){
 .creation-card :is(.creation-effects,.creation-fate)>summary{grid-template-columns:22px minmax(0,1fr) 8px;gap:9px;min-height:48px;padding:11px 13px;font-size:11px}
 .creation-card :is(.creation-effects,.creation-fate)>summary:before{width:22px;height:25px;font-size:15px}
}
@media(max-width:360px){
 .creation-card :is(.creation-effects,.creation-fate)>summary{grid-template-columns:19px minmax(0,1fr) 6px;gap:7px;padding:10px 11px;font-size:10px;letter-spacing:-.2px}
 .creation-card :is(.creation-effects,.creation-fate)>summary:before{width:19px;height:23px;font-size:14px}
}

/* Illustrated choices: a compact summary opens a comparison of the options. */
.setup-effects-grid{display:grid;gap:10px;min-width:0}
.setup-effect-section{min-width:0;padding:0 0 9px;border-bottom:1px solid #9b956c40}
.setup-effect-section h4{display:flex;align-items:center;gap:7px;margin:0 0 7px;font-size:12px;color:var(--creation-ink)}
.setup-effect-section h4>i{font:600 13px/1.4 'Noto Serif KR',serif;font-style:normal;color:#a0813a}
.setup-effect-row{display:flex;align-items:baseline;gap:7px;margin:5px 0}
.setup-effect-row>small{flex:0 0 auto;font-size:10px;color:var(--creation-muted)}
.setup-chip-list{display:flex;flex-wrap:wrap;gap:4px;min-width:0}
.setup-trait-heading{font-size:10px;font-weight:700;color:var(--creation-muted);margin-top:7px}
.setup-trait-heading>span{color:#ae873e}
.creation-card #setup-preview .setup-affinity{margin:5px 0 0;font-size:10px;line-height:1.6;color:var(--creation-muted);word-break:keep-all;overflow-wrap:anywhere}
.setup-trait-list{margin-top:6px}
.setup-trait-chip{padding:3px 6px;border:1px solid #b69b5655;border-radius:4px;background:#b69b5612;font-size:10px;line-height:1.5;color:var(--creation-ink);white-space:nowrap}
.setup-effect-key{font-size:9px;color:var(--creation-muted);line-height:1.5}
.creation-card #setup-preview .setup-random-note{margin:0;font-size:11px}
@media(max-width:700px){.creation-card .creation-effects #setup-preview{padding:10px 12px}.setup-effects-grid{gap:8px}.setup-effect-section{padding-bottom:7px}.setup-stat-chip{gap:3px;padding:3px 5px}.setup-effect-section h4{font-size:11px;margin-bottom:5px}}
.birth-choice-cards{display:grid;gap:10px;margin-bottom:10px}
.creation-card .birth-choice-card{position:relative;isolation:isolate;width:100%;min-height:76px;display:flex;align-items:center;gap:15px;padding:12px 16px 12px 88px;overflow:hidden;border:1px solid #ae9360;border-radius:8px;background:linear-gradient(100deg,#e3e7ef,#faf8ee);text-align:left;color:var(--creation-ink);box-shadow:inset 0 0 0 3px #b99d5e16,0 3px 8px #30343c20;cursor:pointer;transform:none}
.birth-choice-card>img{position:absolute;left:0;top:0;width:110px;height:100%;object-fit:cover;mask-image:linear-gradient(90deg,#000 50%,transparent);z-index:-1}
.birth-choice-seal{position:absolute;left:19px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:36px;height:42px;background:#2f333bdd;border:1px solid #e6c789;color:#ffe9b8;font:700 22px 'Noto Serif KR',serif;box-shadow:inset 0 0 0 3px #d9bb7840;clip-path:polygon(5px 0,100% 0,100% calc(100% - 5px),calc(100% - 5px) 100%,0 100%,0 5px)}
.birth-choice-copy{display:grid;gap:5px;flex:1;min-width:0}
.birth-choice-copy>span{font-size:11px;color:var(--creation-muted);letter-spacing:1px}
.birth-choice-copy strong{font:700 16px 'Noto Serif KR',serif;color:var(--creation-ink);line-height:1.5;word-break:keep-all}
.birth-choice-change{display:flex;align-items:center;gap:8px;color:var(--creation-muted);font-size:11px;white-space:nowrap}
.birth-choice-change b{font-size:24px;font-weight:400;color:#92763e}
.creation-portrait{background:radial-gradient(ellipse at 50% 25%,#656971,#282c34 75%)}
.creation-landscape{opacity:.46}
.creation-portrait:before{content:"";position:absolute;inset:0;background:url('assets/ui-panel-frame-v2.webp') center/100% 100% no-repeat;pointer-events:none;z-index:0}
.creation-portrait:after{inset:9px;border:1px solid #d0b4744a;background:linear-gradient(180deg,#23272f20,transparent 40%,#1a1e26e0)}
.creation-card .portrait-setup,.creation-seal,.creation-portrait-caption{position:relative;z-index:1}
.creation-card .creation-seal{position:absolute}
.creation-card #home-portrait-preview{position:relative;padding:7px;border:1px solid #e6cc8c;background:linear-gradient(135deg,#d6b571,#50545c 35%,#d4b777 65%,#43474f);box-shadow:0 16px 28px #12161e88,0 0 0 4px #242830,0 0 0 5px #bca36c66}
.creation-card #home-portrait-preview:after{content:"";position:absolute;inset:3px;border:1px solid #fff0b780;pointer-events:none}
.creation-card .portrait-setup .text-button{position:relative;padding:12px 17px;background:linear-gradient(135deg,#5b5f67,#2f333b);border:1px solid #dfbd77;border-radius:3px;color:#fff0c9;box-shadow:inset 0 0 0 3px #2b2f37,inset 0 0 0 4px #b99c5c88,0 4px 12px #14182070;text-decoration:none}
.creation-card .portrait-setup .text-button:before,.creation-card .portrait-setup .text-button:after{content:"◆";position:absolute;top:50%;transform:translateY(-50%);font-size:8px;color:#f5d99a}
.creation-card .portrait-setup .text-button:before{left:-4px}.creation-card .portrait-setup .text-button:after{right:-4px}
.birth-picker-intro{margin:0 0 18px;color:#62666e;font-size:13px;line-height:1.7}
dialog:has(.birth-picker){width:min(880px,calc(100vw - 32px));max-width:880px;box-sizing:border-box}
.birth-option-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.birth-option{position:relative;display:flex;flex-direction:column;min-width:0;padding:0;border:1px solid #b9a474;border-radius:8px;background:#f5f3e8;color:#353941;text-align:left;overflow:hidden;cursor:pointer;box-shadow:0 3px 8px #23272f14}
.birth-option>img{width:100%;height:90px;object-fit:cover;object-position:center 40%}
.birth-picker-region .birth-option>img{height:125px;object-position:center 50%}
.birth-option-body{display:flex;flex-direction:column;gap:9px;padding:14px;flex:1}
.birth-option strong{font:700 18px 'Noto Serif KR',serif;color:inherit}
.birth-option-description{font-size:12px;line-height:1.7;color:#60646c;word-break:keep-all}
.birth-option-effect{display:block;padding:9px 10px;border:1px solid #c0c4cc;background:#e6eaf2;color:#464a52;border-radius:4px;font-size:12px;line-height:1.7;word-break:keep-all;overflow-wrap:anywhere}
.birth-option-trait{font-size:11px;line-height:1.7;color:#60646c}
.birth-option em{display:block;margin-top:auto;padding-top:4px;font-style:normal;font-size:12px;font-weight:700;color:#7f6637}
.birth-option[aria-pressed="true"]{outline:2px solid #ab8337;outline-offset:-2px;border-color:#ab8337;box-shadow:0 0 0 2px #b7914240}
.birth-option[aria-pressed="true"] em{color:#474b53}
.birth-option-random{padding:24px;gap:15px;justify-content:center;align-items:center;text-align:center;background:radial-gradient(circle at center,#f2ecd8,#dde1e9)}
.birth-option-random>span:not(.birth-option-mark){font-size:12px;line-height:1.7}
.birth-option-random em{margin-top:5px}
.birth-option-mark{display:grid;place-items:center;width:55px;height:55px;border:3px double #a58b51;color:#81622d;font:700 30px 'Noto Serif KR',serif;transform:rotate(-5deg)}
.birth-option:focus-visible{outline:3px solid #af7e23;outline-offset:3px}
html[data-color-mode="dark"] .creation-card .birth-choice-card{background:linear-gradient(110deg,#40444c,#2d3139);border-color:#a78c56;color:#f6e7c4}
html[data-color-mode="dark"] .birth-choice-card img,html[data-color-mode="dark"] .birth-option img{filter:none!important}
html[data-color-mode="dark"] .birth-option{background:#2e323a;color:#f4e5c5;border-color:#897449}
html[data-color-mode="dark"] .birth-picker-intro,html[data-color-mode="dark"] .birth-option-description,html[data-color-mode="dark"] .birth-option-trait{color:#c6cad2}
html[data-color-mode="dark"] .birth-option-effect{background:#3e424a;border-color:#6e727a;color:#e5e9f1}
html[data-color-mode="dark"] .birth-option-random{background:radial-gradient(circle,#464a52,#2a2e36)}
html[data-color-mode="dark"] .birth-option em,html[data-color-mode="dark"] .birth-option-mark{color:#efd294}
html[data-color-mode="dark"] .creation-card .portrait-setup{background:transparent!important}
@media(max-width:700px){
 dialog:has(.birth-picker){padding:18px;width:calc(100vw - 24px)}
 .creation-card .birth-choice-card{min-height:70px;padding:10px 11px 10px 72px;gap:7px}
 .birth-choice-card>img{width:95px}.birth-choice-seal{left:15px;width:32px;height:38px;font-size:21px}
 .birth-choice-copy strong{font-size:14px}.birth-choice-copy>span{font-size:10px}
 .birth-choice-change{font-size:10px;gap:4px}
 .creation-card .portrait-setup .text-button{padding:10px 11px;font-size:11px}
 .creation-portrait:before{background-size:100% 100%}
 .birth-option-grid{grid-template-columns:1fr}
 .birth-option{flex-direction:row}.birth-option>img{width:75px;height:auto;min-height:100%;object-fit:cover}
 .birth-option-body{padding:12px;gap:8px;min-width:0}
 .birth-picker-region .birth-option:not(.birth-option-random){flex-direction:column}
 .birth-picker-region .birth-option>img{width:100%;height:110px;min-height:0}
 .birth-option strong{font-size:16px}.birth-option-random{display:grid;grid-template-columns:46px 1fr;padding:16px;gap:7px 15px;text-align:left}
 .birth-option-random .birth-option-mark{grid-row:1/4;width:42px;height:48px}
 .birth-option-random>strong,.birth-option-random>span:not(.birth-option-mark),.birth-option-random>em{grid-column:2}
}

.talent-setup{display:grid;grid-template-columns:1fr 1fr;gap:10px;min-width:0}.talent-setup label{display:grid;gap:4px;font:14px var(--serif);min-width:0}.talent-setup select{width:100%;min-width:0;min-height:40px;padding:6px 8px;font:14px var(--serif)}

.creation-form .talent-setup{flex:none;gap:8px}.hall-talent-filter{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:8px 0;font:14px var(--serif)}.hall-talent-filter select{max-width:180px;min-height:40px;font:inherit}.hall-talent-filter small{font-size:12px}

@media(max-width:700px) and (max-height:650px){body.is-character-creation .creation-card .creation-effects{display:none!important}}
