/* Home only: preserve the game view while giving each person a clear place. */
.home{max-width:1160px;grid-template-columns:minmax(0,1fr) minmax(0,490px);gap:72px;align-items:start;margin:44px auto 60px}
.home-intro{padding-top:15px;min-width:0}
.home-kicker{font:500 13px/1.8 "Yu Gothic",Meiryo,sans-serif;letter-spacing:.07em;color:var(--mint);margin-bottom:18px}
.home-intro h1{font-size:clamp(42px,4.5vw,60px);line-height:1.35;margin:0 0 22px}
.home .lead{font-size:16px;line-height:2;letter-spacing:.03em;margin:0 0 18px}
.home-description{font-size:14px;line-height:1.9;margin:0 0 24px}
.home-art{max-width:470px;border-radius:12px}
.art-footnote{font-size:12px;letter-spacing:.02em;line-height:1.7}
.home .start-panel{padding:30px;background:linear-gradient(150deg,#2c2d46,#22283f);border:1px solid #71607460;box-shadow:0 20px 60px #0c10232b;min-width:0}
.start-panel-heading{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.start-mark{color:var(--rose);font-size:28px;line-height:1}
.home .start-panel h2{margin:0;font-size:24px;letter-spacing:.06em}
.setup-intro{font-size:14px;color:#c6c5d3;line-height:1.9;margin:0 0 22px}
.people-settings{display:grid;gap:12px}
.person-settings{border:1px solid #686177;background:#1e243ac4;border-radius:11px;min-width:0;overflow:hidden}
.person-settings>summary{list-style:none;position:relative;padding:16px 43px 16px 18px;cursor:pointer;min-height:82px}
.person-settings>summary::-webkit-details-marker,.play-settings>summary::-webkit-details-marker{display:none}
.person-settings>summary::after,.play-settings>summary::after{content:"";position:absolute;right:19px;top:28px;width:8px;height:8px;border-right:1.5px solid var(--rose);border-bottom:1.5px solid var(--rose);transform:rotate(45deg);transition:transform .15s}
.person-settings[open]>summary::after,.play-settings[open]>summary::after{transform:translateY(4px) rotate(225deg)}
.person-settings>summary:hover{background:#ffffff07}
.person-settings>summary:focus-visible,.play-settings>summary:focus-visible{outline-offset:-4px;border-radius:10px}
.person-settings-title{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:16px;font-weight:600;line-height:1.6}
.settings-status{display:inline-block;font-size:11px;font-weight:400;line-height:1.6;border:1px solid #69708680;border-radius:5px;padding:1px 7px;color:#c6c7d3}
.settings-status.is-custom{border-color:#a6c9bc99;color:var(--mint);background:#a6c9bc0d}
.person-settings-summary{display:block;font-size:13px;line-height:1.7;color:#bfc1d1;margin-top:5px;overflow-wrap:anywhere}
.person-settings[open]>summary{border-bottom:1px solid var(--line);background:#ffffff04}
.person-settings-body{padding:8px 18px 18px}
.home .settings-hint{font-size:13px;line-height:1.8;color:#b8bacb;margin:9px 0 0}
.home .settings-hint a{color:var(--mint);text-decoration:underline;text-underline-offset:3px}
.setup-section{margin-top:22px;padding-top:20px;border-top:1px solid #ffffff12;min-width:0}
.setup-section h3{font-size:15px;font-weight:600;line-height:1.6;margin:0 0 14px;color:#e6d2dc}
.setup-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px}
.setup-field{min-width:0;margin:0 0 12px}
.setup-field .setup-field{margin-bottom:0}
.home .field-label,.home legend{font-size:13px;color:#d6d5df;margin:0 0 7px}
.home input.text-input,.home select{font-size:15px;width:100%;min-width:0;min-height:44px;margin-bottom:0}
.home select{padding:10px 8px}
.home .text-input{padding:10px 12px}
.home .sex-picker{gap:8px}
.home .sex-picker span{font-size:14px;padding:9px 8px;min-height:44px}
.home fieldset{margin:0}
.home .age-random{font-size:13px;display:flex;gap:6px;align-items:center;margin:8px 0 0}
.home .income-input{gap:7px}
.home .income-input span{font-size:13px;flex-shrink:0}
.home .hobby-mode{margin:18px 0 10px;gap:12px;font-size:14px}
.home .hobby-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px}
.home .hobby-picker label{font-size:13px}
.home .settings-reset{font-size:13px;padding:10px 0 0;margin-top:15px;color:var(--rose);text-align:left;line-height:1.8}
.play-settings{margin:15px 0 20px;border-bottom:1px solid #ffffff17}
.play-settings>summary{list-style:none;cursor:pointer;position:relative;padding:9px 24px 13px 0;display:flex;flex-wrap:wrap;gap:3px 10px;font-size:13px;line-height:1.7;color:#d6d5df}
.play-settings>summary>span{font-size:12px;color:#aeb2c8;margin-left:auto}
.play-settings>summary::after{right:3px;top:14px;width:6px;height:6px;border-color:var(--muted)}
.play-settings-body{padding:7px 0 15px}
.home .field-hint{font-size:12px;line-height:1.8;margin-bottom:12px}
.home .check-label{font-size:13px;margin:15px 0 0;line-height:1.8;align-items:flex-start}
.home .check-label input{margin-top:6px;flex-shrink:0}
.home .start,.home .resume{font-size:16px;min-height:50px;justify-content:center;text-align:center}
.home .start{margin:0;box-shadow:0 5px 20px #e6b0be10}
.home .resume-description:empty{display:none}
.home .resume-description{font-size:12px;line-height:1.8}
.home .input-privacy{font-size:12px;line-height:1.8;color:var(--mint);text-align:center;margin:17px 0 0}
.home .start-note{font-size:12px;line-height:1.8;margin:12px 0 0;color:#b4b4c7}
.home .history{font-size:13px;margin-top:20px;padding-top:14px}
@media(min-width:1500px){.home{margin-top:64px}}
@media(max-width:1100px) and (min-width:761px){.home{gap:38px;padding:0 28px;grid-template-columns:minmax(0,1fr) minmax(0,450px)}.home-intro h1{font-size:46px}.home .start-panel{padding:25px}}
@media(max-width:760px){.home{display:flex;flex-direction:column;max-width:560px;gap:28px;padding:0 22px;margin:28px auto 42px;align-items:stretch}.home-intro{padding-top:0}.home-kicker{font-size:12px;margin-bottom:13px}.home-intro h1{font-size:38px;margin-bottom:14px}.home-intro h1 span{display:inline}.home .lead{font-size:15px;line-height:1.9;margin-bottom:12px}.home-description{font-size:13px;margin-bottom:18px}.home-art{max-width:none}.art-footnote{display:none}.home .start-panel{padding:24px}.home .start-panel h2{font-size:23px}.setup-intro{font-size:14px}.person-settings-title{font-size:16px}.person-settings>summary{padding-left:16px}.person-settings-body{padding-left:15px;padding-right:15px}.home .input-privacy br{display:none}}
@media(max-width:420px){.home{padding:0 16px;gap:24px}.home-kicker{font-size:11px}.home-intro h1{font-size:34px;letter-spacing:.02em}.home .start-panel{padding:21px 18px}.setup-fields{grid-template-columns:minmax(0,1fr);gap:0}.home .hobby-picker{grid-template-columns:minmax(0,1fr)}.play-settings>summary{display:block}.play-settings>summary>span{display:block;margin-top:3px}.home .input-privacy{font-size:12px}}
@media(prefers-reduced-motion:reduce){.person-settings>summary::after,.play-settings>summary::after{transition:none}}

.backup-tools{margin-top:18px;border-top:1px solid var(--line);padding-top:14px;font-size:14px}.backup-tools summary{cursor:pointer;color:var(--muted)}.backup-tools p{line-height:1.8;color:var(--muted)}.backup-actions{display:flex;flex-wrap:wrap;gap:10px}.backup-actions button{white-space:normal;min-height:44px}#backup-message:empty{display:none}
