/* Player setup, the persistent game menu, and appearance settings. */
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.title-actions{position:absolute;top:16px;right:24px;z-index:30;display:flex;align-items:center;gap:10px}
.title-notes-trigger{display:grid;place-items:center;width:40px;height:40px;padding:0;border:0;border-radius:10px;background:transparent;color:var(--muted);transition:color 180ms,background-color 180ms}
.title-notes-trigger:hover{color:var(--accent);background:var(--surface-raised)}
.title-notes-trigger .icon{width:23px;height:23px;stroke-width:1.8}
@media(max-width:820px){.title-actions{right:20px;gap:8px}.title-notes-trigger{width:36px;height:36px}}
.title-screen{position:relative;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:76px 24px 40px;background:radial-gradient(ellipse at 50% 12%,#aa52752b,transparent 48%),radial-gradient(ellipse at 80% 95%,#7e65c512,transparent 45%),var(--bg)}
.title-version{position:absolute;bottom:12px;left:0;right:0;text-align:center;font-size:11px;line-height:1.4;font-weight:500;letter-spacing:.08em;color:var(--muted)}
@media(min-width:821px) and (max-height:800px){.title-screen{padding-top:64px}.title-screen .title-heading{width:min(530px,100%);margin-bottom:24px}}
.title-version a{text-decoration:none;letter-spacing:0}.title-version a:hover{text-decoration:underline}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.player-setup input:focus,.player-setup select:focus{outline:none;border-color:#ffffff28;box-shadow:none}
[data-theme="light"] .player-setup input:focus,[data-theme="light"] .player-setup select:focus{border-color:#42273f2a}
.title-heading{width:min(620px,100%);text-align:center;margin:0 0 32px}.title-heading h1{margin:0;line-height:0}.title-logo{display:block;width:100%;height:auto}
.player-setup{width:100%;max-width:460px;padding:28px 32px 25px;background:var(--surface);border:1px solid var(--line);border-radius:22px;box-shadow:0 24px 65px #0002}.player-setup h2{font-size:17px;letter-spacing:-.5px;margin:0 0 24px}.player-setup label,.feedback-form>label{display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:800;margin:0 0 10px}.player-setup label>span{font-size:10px;font-weight:500;color:var(--muted)}.player-setup input,.player-setup select{width:100%;font-size:16px;font-weight:700;min-height:54px}.player-setup select{cursor:pointer;padding:12px}.player-setup .setup-fields{display:grid;grid-template-columns:110px 1fr;gap:16px;margin:20px 0 27px}.player-setup .primary-btn{min-height:56px;font-size:18px}.player-setup .save-note{font-size:10px;margin-top:22px}.player-setup .form-error{margin-bottom:15px}
.game-header{position:sticky;top:0;z-index:30;display:grid;grid-template-columns:auto 1fr 46px;gap:27px;background:var(--bg);box-shadow:0 8px 20px #0000000a}.game-header .stepper{justify-self:end}.menu-trigger{display:grid;place-items:center;width:46px;height:46px;background:var(--surface-raised);border:1px solid var(--line);border-radius:12px;color:var(--ink);padding:0;justify-self:end}.menu-trigger:hover{border-color:var(--accent);color:var(--accent)}.menu-trigger .icon{width:23px;height:23px}
.menu-backdrop{justify-content:flex-end;align-items:flex-start;padding:88px max(24px,calc((100vw - 1260px)/2)) 24px;background:#08091280;backdrop-filter:blur(4px)}.menu-modal{max-width:355px;padding:28px 22px 18px;max-height:calc(100dvh - 112px);border-radius:18px}.menu-modal>h2{font-size:28px;margin:6px 0 22px}.menu-modal .eyebrow{font-size:10px}.menu-items{display:flex;flex-direction:column;gap:4px}.menu-items>button{width:100%;display:flex;align-items:center;gap:12px;min-height:78px;padding:13px 10px;border-radius:11px;text-align:left}.menu-items>button:hover{background:var(--surface-raised)}.menu-item-symbol{width:38px;height:38px;display:grid;place-items:center;flex-shrink:0;color:var(--accent);background:#ff8bae0c;border:1px solid #ff8bae1b;border-radius:11px}.menu-item-symbol .icon{width:19px;height:19px}.menu-items>button>span:nth-child(2){flex:1}.menu-items strong{display:block;font-size:14px;font-weight:900;letter-spacing:-.3px}.menu-items small{display:block;font-size:10px;color:var(--muted);font-weight:500;margin-top:5px}.menu-items>button>.icon{width:15px;height:15px;color:var(--muted)}
.theme-modal,.feedback-modal,.coffee-modal{max-width:590px;padding:38px 32px 30px}.theme-modal h2,.feedback-modal h2,.coffee-modal h2{font-size:31px;margin:12px 40px 14px 0}.settings-description,.guide-intro{color:var(--muted);font-size:14px;font-weight:500;line-height:1.9}.guide-intro{margin:0 0 25px;padding-bottom:22px;border-bottom:1px solid var(--line)}.theme-modal>.primary-btn,.coffee-modal>.primary-btn{margin-top:28px;font-size:17px}.settings-note{font-size:12px;font-weight:500;color:var(--muted);margin-top:9px}.theme-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;border:0;padding:0;margin:28px 0 20px}.theme-option{position:relative;cursor:pointer;min-width:0;border:2px solid var(--line);border-radius:13px;padding:8px;background:var(--surface-raised);transition:border-color .16s}.theme-option:has(input:checked){border-color:var(--accent);box-shadow:0 0 0 3px #ff8bae10}.theme-option>input{position:absolute;width:1px;height:1px;min-height:0;padding:0;opacity:0;pointer-events:none}.theme-preview{height:94px;border-radius:6px;display:flex;flex-direction:column;gap:8px;padding:17px 12px;background:#f4f0f2;overflow:hidden;border:1px solid #30223310}.theme-preview>i{height:9px;width:62%;border-radius:4px;background:#cbc3ca}.theme-preview>i:first-child{background:#cf4877;width:40%}.theme-preview>i:last-child{width:90%;height:22px;background:#e4dce3}.preview-dark{background:#181924;border-color:#ffffff10}.preview-dark>i{background:#575461}.preview-dark>i:first-child{background:#ff8bae}.preview-dark>i:last-child{background:#333342}.preview-system{background:linear-gradient(90deg,#f4f0f2 50%,#181924 50%)}.preview-system>i{background:linear-gradient(90deg,#cbc3ca 50%,#575461 50%);width:90%}.preview-system>i:first-child{background:#cf4877;width:40%}.preview-system>i:last-child{background:linear-gradient(90deg,#e4dce3 50%,#333342 50%)}.theme-label{display:flex;align-items:center;gap:5px;padding:12px 2px 4px;font-size:12px;font-weight:800;white-space:nowrap}.theme-label>.icon{width:14px;height:14px}.theme-radio{width:13px;height:13px;border:1px solid var(--muted);border-radius:50%;margin-left:auto;flex-shrink:0}.theme-option input:checked~.theme-label .theme-radio{border:4px solid var(--accent);background:var(--surface)}
.feedback-form{margin-top:25px}.feedback-form>input,.feedback-form>textarea{width:100%;font-size:15px;font-family:inherit;color:var(--ink);background:var(--surface-raised);border:1px solid var(--line);border-radius:10px;padding:13px 15px;margin-bottom:20px}.feedback-form>textarea{resize:vertical;min-height:150px;max-height:40dvh;line-height:1.8}.feedback-form>textarea::placeholder{color:#8d8e9e}.feature-notice{display:flex;gap:7px;align-items:flex-start;color:var(--muted);font-size:11px;line-height:1.8;padding:12px;background:#ffffff04;border:1px solid var(--line);border-radius:9px;margin-bottom:20px}.feature-notice .icon{width:15px;height:15px;margin-top:2px}.feedback-feedback{font-size:12px;line-height:1.8;color:var(--accent);margin-bottom:17px}.feedback-feedback:empty{display:none}.feedback-form>.primary-btn{font-size:17px}.coffee-modal{max-width:480px;text-align:center}.coffee-emblem{width:74px;height:74px;display:grid;place-items:center;margin:2px auto 24px;background:#ff8bae12;border:1px solid #ff8bae30;color:var(--accent);border-radius:23px;transform:rotate(-6deg)}.coffee-emblem .icon{width:35px;height:35px;transform:rotate(6deg)}.coffee-modal h2{margin-right:0}.coffee-account{border:1px solid var(--line);background:var(--surface-raised);border-radius:13px;margin:25px 0 0;padding:20px}.coffee-account>span{display:block;font-size:12px;color:var(--muted);margin-bottom:8px}.coffee-account>strong{display:block;font-size:24px;font-weight:900}
/* Light appearance retains contrast in all play, collection and story surfaces. */
:root[data-theme="light"]{color-scheme:light;--bg:#f7f3f5;--surface:#ffffff;--surface-raised:#eee7ee;--ink:#302634;--muted:#746878;--line:#42273f21;--accent:#c63b6b;--accent-light:#d64c7b;--mint:#356539;--purple:#7450ae;--negative:#b5304c}
[data-theme="light"] .game-shell{background:radial-gradient(ellipse at 92% 5%,#ead6e24d,transparent 50%),var(--bg)}[data-theme="light"] .title-screen{background:radial-gradient(ellipse at 50% 10%,#eebdd642,transparent 53%),var(--bg)}[data-theme="light"] .player-setup{box-shadow:0 20px 65px #68495e12}[data-theme="light"] input,[data-theme="light"] select{background:#faf7fa;border-color:#42273f2a}[data-theme="light"] input::placeholder,[data-theme="light"] textarea::placeholder{color:#827386}[data-theme="light"] .primary-btn{color:white;box-shadow:0 5px 0 #862d4d}[data-theme="light"] .primary-btn:not(:disabled):hover{box-shadow:0 7px 0 #862d4d}[data-theme="light"] .primary-btn:not(:disabled):active{box-shadow:0 2px 0 #862d4d}[data-theme="light"] .secondary-btn:hover{background:#e2d8e3;border-color:#bfa5bb}[data-theme="light"] .brand-edition,[data-theme="light"] .stepper .current>span{color:white}[data-theme="light"] .stepper li{color:#746879}[data-theme="light"] .stepper .current{color:var(--ink)}[data-theme="light"] .stepper li>span{border-color:#42273f30}[data-theme="light"] .stepper li:not(:last-child):after{background:#42273f30}[data-theme="light"] .stepper .done{color:#4f6550}[data-theme="light"] .stepper .done>span{border-color:#35653944;background:#3565390a}[data-theme="light"] .stepper .current>span{border-color:var(--accent)}
[data-theme="light"] .player-status{background:#ffffffbf}[data-theme="light"] .player-avatar{background:#7450ae0d;border-color:#7450ae30}[data-theme="light"] .section-label>span{color:var(--muted)}[data-theme="light"] .location-number{color:var(--muted)}[data-theme="light"] .location-option.selected{background:#fceaf1}[data-theme="light"] .location-option.selected .selection-dot{color:white}[data-theme="light"] .location-option:not(.selected):hover{border-color:#bfa5bb}[data-theme="light"] .selection-dot{border-color:#b9a7b6}[data-theme="light"] .hunting-scene{color:#fff9f2;border-color:#42273f35}[data-theme="light"] .hunting-scene .success-chance strong{color:#ceef9b}[data-theme="light"] .date-card{background:white;border-color:var(--line)}[data-theme="light"] .date-card:hover{border-color:#bfa5bb}[data-theme="light"] .date-card.selected{border-color:var(--accent)}[data-theme="light"] .selected .date-check{color:white}[data-theme="light"] .date-check{color:#fff9f2}[data-theme="light"] .relation-bar{background:#42273f12}
[data-theme="light"] .growth-card{background:linear-gradient(145deg,#fff,#f0eaf6)}[data-theme="light"] .growth-card:hover{box-shadow:0 15px 30px #624c6915}[data-theme="light"] .growth-top{color:var(--muted)}[data-theme="light"] .activity-symbol{color:var(--purple);background:#7450ae10;border-color:#7450ae30;box-shadow:0 9px 0 #7450ae0b}[data-theme="light"] .growth-exercise .activity-symbol{color:#3f7045;background:#3f704510;border-color:#3f704535}[data-theme="light"] .growth-shopping .activity-symbol{color:var(--accent);background:#c63b6b10;border-color:#c63b6b30}[data-theme="light"] .growth-work .activity-symbol{color:#936025;background:#93602510;border-color:#93602530}[data-theme="light"] .growth-gain{border-color:var(--line)}
[data-theme="light"] .complete-seal, [data-theme="light"] .unlock-notice {background:#3565390b;border-color:#35653935}[data-theme="light"] .summary-symbol{background:#7450ae0b}[data-theme="light"] .neglect-report{background:#c63b6b05;border-color:#c63b6b25}[data-theme="light"] .neglect-report summary{color:var(--muted)}[data-theme="light"] .menu-backdrop{background:#28203340}[data-theme="light"] .filter-tabs button{background:#eee7ee;color:var(--muted)}[data-theme="light"] .filter-tabs .active{background:var(--accent);color:white}[data-theme="light"] .search-field{background:#faf7fa}[data-theme="light"] .search-field input{background:transparent}[data-theme="light"] .person-card,[data-theme="light"] .memory-card{background:#fff}[data-theme="light"] .person-card.complete{border-color:#35653970}[data-theme="light"] .confess-mini{background:#3565390b;border-color:#35653940}
[data-theme="light"] .portrait-name, [data-theme="light"] .memory-scene-copy {color:#fff9f2}[data-theme="light"] .memory-scene-copy .eyebrow{color:#ff8bae}[data-theme="light"] .memory-art>span{color:#fff9f2}[data-theme="light"] .locked-memory{border-color:#42273f35}[data-theme="light"] .theme-option{background:#f7f3f6}[data-theme="light"] .feature-notice{background:#f9f6f8}[data-theme="light"] .feedback-form>input,[data-theme="light"] .feedback-form>textarea{background:#faf7fa}
@media(max-width:1100px){.game-header{gap:18px;grid-template-columns:auto 1fr 42px}.menu-trigger{width:42px;height:42px}.game-header .stepper{gap:18px}}
@media(max-width:820px){.game-header{display:grid;grid-template-columns:1fr 42px;gap:17px;align-items:center}.game-header .brand{grid-column:1;grid-row:1}.game-header .menu-trigger{grid-column:2;grid-row:1}.game-header .stepper{grid-column:1/-1;grid-row:2;justify-self:stretch;gap:12px}.menu-backdrop{padding-top:76px}.title-screen{padding-top:76px;padding-bottom:35px}}
@media(max-width:540px){.game-header{padding:15px 20px;gap:15px;grid-template-columns:1fr 39px}.menu-trigger{width:39px;height:39px;border-radius:10px}.menu-trigger .icon{width:21px;height:21px}.game-header .stepper{gap:7px}.menu-backdrop{padding:72px 13px 15px}.menu-modal{max-width:355px;max-height:calc(100dvh - 90px);padding:25px 18px 16px}.menu-items>button{padding:12px 7px;min-height:75px}.menu-items strong{font-size:13px}.menu-items small{font-size:10px}.menu-item-symbol{width:35px;height:35px}.title-screen{padding:76px 22px 36px;justify-content:center}.title-heading{margin-bottom:28px}.player-setup{padding:24px 22px 22px;border-radius:18px;max-width:420px}.player-setup h2{font-size:16px;margin-bottom:23px}.player-setup label{font-size:12px;margin-bottom:9px}.player-setup label>span{font-size:9px}.player-setup input,.player-setup select{font-size:16px;min-height:52px}.player-setup select{padding:10px 8px;font-size:14px}.player-setup .setup-fields{grid-template-columns:85px minmax(0,1fr);gap:12px;margin:19px 0 25px}.player-setup .save-note{font-size:9px;margin-top:22px}.player-setup .primary-btn{font-size:17px;min-height:54px}.theme-modal,.feedback-modal,.coffee-modal{padding:30px 22px 25px}.theme-modal h2,.feedback-modal h2,.coffee-modal h2{font-size:27px;margin-top:13px}.settings-description,.guide-intro{font-size:12px}.theme-options{gap:8px;margin-top:22px}.theme-option{padding:6px;border-radius:10px}.theme-preview{height:80px;padding:14px 9px;gap:7px}.theme-preview>i{height:7px}.theme-preview>i:last-child{height:19px}.theme-label{font-size:10px;gap:4px;padding-top:10px;flex-wrap:wrap}.theme-label>.icon{width:12px;height:12px}.theme-radio{width:11px;height:11px}.theme-option input:checked~.theme-label .theme-radio{border-width:3px}.settings-note{font-size:10px}.theme-modal>.primary-btn,.coffee-modal>.primary-btn{font-size:16px;min-height:52px;margin-top:24px}.feedback-form>label{font-size:12px}.feedback-form>input,.feedback-form>textarea{font-size:16px;padding:12px;min-height:49px}.feedback-form>textarea{min-height:135px;font-size:14px}.feedback-form>.primary-btn{font-size:16px;min-height:52px}.feature-notice{font-size:10px}.feedback-feedback{font-size:11px}.coffee-emblem{width:65px;height:65px;border-radius:20px;margin-bottom:22px}.coffee-emblem .icon{width:31px;height:31px}.coffee-account{padding:19px}.coffee-account>strong{font-size:22px}}
@media(max-width:350px){.player-setup{padding:22px 17px}.title-screen{padding:76px 18px 30px}.player-setup .setup-fields{grid-template-columns:74px minmax(0,1fr);gap:9px}.player-setup select{font-size:12px}.theme-modal{padding:30px 17px 23px}.theme-label>.icon{display:none}.theme-label{font-size:9px}}

/* Spending decisions and the four-week salary settlement. */
.player-status{gap:24px}.status-cell.money-cell{min-width:158px;padding-left:20px}.money-cell strong{font-size:24px;white-space:nowrap;color:var(--accent)}
.wallet-panel{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 24px;margin-bottom:24px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}.wallet-panel>div{display:flex;align-items:center;gap:18px;flex-shrink:0}.wallet-panel span{font-size:12px;color:var(--muted)}.wallet-panel strong{font-size:27px;color:var(--accent);font-weight:900;white-space:nowrap}.wallet-panel p{font-size:12px;color:var(--muted);text-align:right}
.hunt-cost{font-size:12px;line-height:1.7;color:#fff9f2;margin:10px 0 0}.activity-cost{display:block;margin-top:12px;font-size:13px;font-weight:900;color:var(--accent)}.growth-card:disabled:hover{transform:none;box-shadow:none;border-color:var(--line)}.growth-footer{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:30px}.growth-footer p{color:var(--muted);font-size:13px;line-height:1.8}.growth-footer .primary-btn{min-width:200px;flex-shrink:0}
.money-change{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 14px;margin-top:14px;font-size:12px;line-height:1.7}.money-change>span,.money-change>small{color:var(--muted);font-weight:500}.money-change>strong{font-size:16px;white-space:nowrap}.money-change>small{font-size:11px}.summary-entry>div{min-width:0}
.budget-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:0 0 30px;padding:22px 24px;background:var(--surface);border:1px solid var(--line);border-radius:14px}.budget-summary>div>span{display:block;font-size:12px;color:var(--muted);margin-bottom:7px}.budget-summary>div>strong{display:block;font-size:25px;font-weight:900;white-space:nowrap}.budget-summary>p{grid-column:1/-1;font-size:12px;color:var(--muted);padding-top:14px;border-top:1px solid var(--line)}
@media(max-width:1100px){.player-status{flex-wrap:wrap}.status-cell.money-cell{flex-basis:100%;display:flex;align-items:center;justify-content:space-between;border-left:0;border-top:1px solid var(--line);padding:12px 0 0}.budget-summary>div>strong{font-size:22px}}
@media(max-width:540px){.player-status{gap:13px}.status-cell.money-cell{grid-column:1/-1;min-width:0}.money-cell strong{font-size:22px}.wallet-panel{padding:15px 17px;display:block;margin-bottom:20px}.wallet-panel>div{justify-content:space-between}.wallet-panel strong{font-size:24px}.wallet-panel p{text-align:left;margin-top:8px;font-size:11px}.hunt-cost{font-size:10px}.growth-card .activity-cost{grid-column:2;grid-row:3;font-size:11px;margin:3px 0 0}.growth-footer{flex-direction:column;align-items:stretch;gap:15px;margin-top:23px}.growth-footer p{font-size:12px}.growth-footer .primary-btn{width:100%;min-width:0}.budget-summary{grid-template-columns:1fr;padding:18px;gap:12px;margin-bottom:22px}.budget-summary>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.budget-summary>div>span{font-size:11px;margin:0}.budget-summary>div>strong{font-size:22px}.budget-summary>p{font-size:11px}.money-change{gap:5px 10px}.money-change>strong{font-size:14px}.money-change>small{width:100%}.summary-entry{gap:10px}}
