:root{--theme-ink:#153c32;--theme-accent:#a45525;--theme-bg:#f7f3e9;--theme-panel:#fffdf6;--theme-soft:#e8eddf;--theme-hero:#092c25}
:root[data-theme=coast]{--theme-ink:#163b58;--theme-accent:#aa4c1e;--theme-bg:#edf3f6;--theme-panel:#fbfdff;--theme-soft:#deebf2;--theme-hero:#102c45}
:root[data-theme=clay]{--theme-ink:#5a3028;--theme-accent:#a34a23;--theme-bg:#f8eee5;--theme-panel:#fffbf5;--theme-soft:#efded1;--theme-hero:#462c28}
:root[data-theme=plum]{--theme-ink:#483451;--theme-accent:#8b3860;--theme-bg:#f3eef6;--theme-panel:#fdfaff;--theme-soft:#e9dfef;--theme-hero:#34233e}
html[data-theme]:not([data-theme=forest]) body{background:var(--theme-bg);color:var(--theme-ink)}
html[data-theme]:not([data-theme=forest]) :is(.card,.grow-main,.controls-card,.modal,.grow-result,.quick-calculators,.more-activities,.game-small-card){background:var(--theme-panel);color:var(--theme-ink)}
html[data-theme]:not([data-theme=forest]) :is(h1,h2,h3,.grow-amount,.grow-result strong,.value-button,.grow-control-box input,.grow-control-box label,.grow-mode-switch button,.nav-button){color:var(--theme-ink)}
html[data-theme]:not([data-theme=forest]) :is(.primary,.grow-light-button,.nav-button.active,.grow-mode-switch button.active){background:var(--theme-ink);border-color:var(--theme-ink);color:#fffaf0}
html[data-theme]:not([data-theme=forest]) :is(.mobile-nav,.grow-control,.quick-calculator,.secondary,.checkbox-line){background:var(--theme-panel);color:var(--theme-ink)}
html[data-theme]:not([data-theme=forest]) :is(.retreat-banner .hero-copy,.retreat-banner){background-color:var(--theme-hero)}
html[data-theme]:not([data-theme=forest]) input[type=range]{accent-color:var(--theme-accent)}
.theme-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:15px 0}.theme-choice{min-height:68px;border:2px solid transparent;border-radius:12px;padding:9px 5px;background:var(--theme-panel);font-size:11px;color:var(--theme-ink)}.theme-choice[aria-pressed=true]{border-color:var(--theme-ink)}.theme-swatch{display:block;width:26px;height:26px;margin:0 auto 5px;border-radius:50%;background:var(--swatch);box-shadow:inset 0 0 0 1px #0001}.grow-secondary-links{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:7px}.grow-secondary-links .grow-advanced-link{margin:0}.grow-life-link{font-size:11px;border:0;background:none;color:var(--theme-ink);padding:6px 0;text-decoration:underline;text-underline-offset:3px;min-height:30px;cursor:pointer}
.featured-life{width:100%;border:0;border-radius:24px;padding:30px;margin:0 0 20px;display:flex;align-items:center;text-align:left;min-height:255px;color:#fff9e9;background:linear-gradient(90deg,#092a3aef,#092a3aaa 48%,#092a3a11),url('./games/life-happens/assets/coastal-journey.webp') center 57%/cover;box-shadow:0 12px 35px #1835291c;cursor:pointer}.featured-life-copy{max-width:510px}.featured-life h2{font-size:clamp(33px,5vw,48px);color:#fff9e9!important;line-height:1.1;margin:8px 0 12px}.featured-life p{font-size:15px;max-width:380px;color:#f1eee0;line-height:1.6}.featured-life small{color:#ffd295;letter-spacing:1.5px;font-weight:700;font-size:10px}.featured-life .play-pill{display:inline-flex;margin-top:20px;padding:10px 19px;background:#fff2d8;border-radius:25px;color:#133c39;font-weight:700;font-size:13px;align-items:center;gap:20px}.primary-game-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.primary-game{display:flex;flex-direction:column;text-align:left;border:1px solid #d2d9cf;background:var(--theme-panel);border-radius:20px;overflow:hidden;cursor:pointer;padding:0;color:var(--theme-ink)}.primary-game-art{height:114px;width:100%;object-fit:cover;background:#103144}.primary-game-art.cards{padding:14px;object-fit:contain;background:#e6e9df}.primary-game-copy{padding:19px;display:flex;flex-direction:column;flex:1;gap:9px}.primary-game h3{font-size:24px;line-height:1.15}.primary-game p{font-size:12px;line-height:1.6;flex:1;color:#5f706e}.primary-game strong{font-size:12px;color:var(--theme-accent)}.small-games{margin-top:34px}.small-games h2{font-size:26px;margin-bottom:7px}.small-games>p{font-size:13px;color:#60716d}.small-game-list{display:grid;gap:8px;margin-top:15px}.game-small-card{width:100%;border:1px solid #d9dfd2;background:#fdfbf5;border-radius:13px;padding:14px 17px;display:flex;align-items:center;gap:17px;text-align:left;color:var(--theme-ink)}.game-small-card>span:first-child{color:#a47b43;font-size:21px;width:30px}.game-small-card strong{display:block;font-size:15px}.game-small-card small{display:block;font-size:11px;color:#66746d;margin-top:3px}.game-small-card .small-arrow{margin-left:auto}.retained-exercises{margin-top:30px;border-top:1px solid #d8dfd1;padding-top:18px}.retained-exercises summary{font-size:14px;cursor:pointer;color:#576f60}.game-host-bar{flex:none;height:50px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--theme-hero);color:#fff5df;padding:5px max(12px,var(--fire-safe-right, env(safe-area-inset-right)));font-size:13px}.game-host-bar button{font:inherit;color:inherit;border:1px solid #fff3;border-radius:9px;background:#ffffff0a;padding:7px 11px;cursor:pointer;min-height:36px}.game-host-bar small{opacity:.55;font-size:10px;margin-left:5px}#game-host{position:fixed;inset:0;z-index:110;display:flex;flex-direction:column;background:var(--theme-bg);padding-top:var(--fire-safe-top, env(safe-area-inset-top))}#game-frame{width:100%;flex:1;border:0;min-height:0;background:#f7f3e9}.game-host-close{font-size:21px!important;line-height:1}body:has(#game-host){overflow:hidden}.game-host-bar button:focus-visible{outline:3px solid #ffc78c;outline-offset:1px}
@media(max-width:650px){.primary-game-grid{grid-template-columns:1fr}.primary-game{display:grid;grid-template-columns:94px 1fr}.primary-game-art{height:100%;min-height:155px}.primary-game-copy{padding:17px}.primary-game h3{font-size:23px}.featured-life{min-height:250px;padding:25px}.featured-life p{font-size:13px;max-width:250px}.featured-life-copy{max-width:330px}.game-host-bar>span{font-size:11px}.game-host-bar small{display:none}.game-host-bar{gap:5px}.grow-secondary-links{gap:2px 14px}.theme-picker{gap:5px}}
.grow-secondary-links{flex-wrap:nowrap}.grow-secondary-links .grow-advanced-link{font-size:11px;white-space:nowrap}.grow-life-link{white-space:nowrap;font-weight:600}
html[data-theme]:not([data-theme=forest]) .retreat-banner :is(h1,h2,h3,.eyebrow){color:#fff4df}

/* The simulator shortcut uses the existing result badge row, beside the amount. */
.grow-result-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;margin-top:10px}.grow-result-meta .grow-dollar-badge{margin-top:0;min-width:0;line-height:1.2}.grow-life-result-link{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:0 0 auto;min-height:28px;padding:3px 8px;border:1px solid #a9713a;border-radius:7px;background:#fff0d9;color:#78451f;line-height:1.1;text-decoration:none;white-space:nowrap}.grow-life-result-link span{font-size:9px;font-weight:400}.grow-life-result-link strong{font-size:10px;margin-top:2px;letter-spacing:0}.grow-life-result-link:hover{background:#ffe4bb;border-color:#814718}.grow-life-result-link:focus-visible{outline:3px solid #d98b35;outline-offset:3px}.grow-secondary-links{justify-content:flex-end}@media(max-width:360px){.grow-result-meta{gap:5px}.grow-result-meta .grow-dollar-badge{font-size:9px;padding:4px 6px}.grow-life-result-link{padding:3px 6px}}

.settings-birthday,.settings-goal-pair{grid-column:1/-1}.settings-goal-pair{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:12px;align-items:start}.settings-goal-pair input{min-width:0;width:100%}.settings-goal-scope{margin-top:9px}.settings-goal-pair input:disabled{opacity:.6;background:#f0f0e9;cursor:default}

/* The header follows the selected theme, including its full banner. */
html[data-theme] .app-header{background-color:var(--theme-hero);background-image:radial-gradient(ellipse at 9% 0,#dcb3741c,transparent 48%);color:#fff4de}
html[data-theme] .app-header .nav-button{color:#dddcd2}
html[data-theme] .app-header .nav-button.active{color:#ffe0ad;background:#fff0d012;border-color:transparent}
.fire-identity__money{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 2px 3px #0003)}
.fire-identity__emblem{height:64px}
@media(max-width:700px){.fire-identity__emblem{height:56px}}
