:root{--ink:#18221d;--muted:#718078;--paper:#f4f1e9;--card:#fffdf8;--green:#1f684b;--green2:#dce9df;--gold:#c69643;--line:#dcd9cf}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif}.topbar{height:74px;padding:0 max(5vw,24px);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(244,241,233,.92);position:sticky;top:0;z-index:10;backdrop-filter:blur(12px)}.brand{font-family:"Playfair Display",serif;font-size:28px;font-weight:700;color:var(--ink);text-decoration:none}.brand span{color:var(--gold)}.language{display:flex;padding:3px;background:#e8e5dc;border-radius:9px}.language button{border:0;background:transparent;padding:7px 11px;border-radius:7px;color:#929b96;font-weight:700;cursor:pointer}.language .active{background:var(--card);color:var(--green);box-shadow:0 2px 8px #26392d15}main{max-width:1220px;margin:auto;padding:0 30px 80px}.hero{text-align:center;padding:62px 20px 45px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;color:var(--gold);font-weight:700;font-size:12px;margin:0 0 12px}.hero h1,.decision-card>h1,.death-screen h1{font:700 clamp(38px,5vw,60px)/1.05 "Playfair Display",serif;margin:0 0 14px}.hero>p:last-child,.decision-card>p{color:var(--muted)}.creator-layout{display:grid;grid-template-columns:280px 1fr;gap:34px;align-items:start}.portrait-card{position:sticky;top:105px;background:linear-gradient(150deg,#e2e9df,#d1dfd4);border-radius:22px;padding:28px;text-align:center;overflow:hidden}.silhouette{height:290px;position:relative;filter:drop-shadow(0 14px 18px #24453425)}.silhouette .head{position:absolute;width:82px;height:98px;background:#708e7c;border-radius:48% 48% 44% 44%;left:calc(50% - 41px);top:30px}.silhouette .body{position:absolute;width:210px;height:220px;background:#708e7c;border-radius:48% 48% 20px 20px;left:calc(50% - 105px);top:122px}.silhouette.female .body{width:175px;left:calc(50% - 87px);border-radius:48% 48% 25% 25%;clip-path:polygon(25% 0,75% 0,100% 100%,0 100%)}.dynasty-preview{border-top:1px solid #9cb2a4;padding-top:18px}.budget{background:#ffffffb8;border-radius:13px;padding:14px;display:flex;justify-content:space-between;align-items:center;color:var(--green)}.budget small{font-weight:600}.budget strong{font-size:25px}.budget.over{color:#9e443d;background:#f9e4df}.creator-panel{background:var(--card);border:1px solid #e2ded4;border-radius:22px;padding:8px 38px 38px;box-shadow:0 15px 50px #333c3510}.step{position:relative;padding:34px 0;border-bottom:1px solid #e5e1d8}.step-number{position:absolute;left:-26px;color:#b5b9b4;font:600 11px/1 "DM Sans"}.step h2{font:700 24px "Playfair Display",serif;margin:0 0 20px}.step h3{text-transform:uppercase;letter-spacing:.14em;font-size:11px;color:var(--muted);margin:28px 0 10px}.choice-grid,.preset-grid{display:grid;gap:12px}.choice-grid.two{grid-template-columns:1fr 1fr}.choice,.preset{border:1px solid var(--line);background:white;border-radius:12px;padding:16px;text-align:left;color:var(--ink);cursor:pointer;transition:.18s}.choice{font-size:24px}.choice span{font-size:15px;margin-left:8px}.choice.selected,.preset.selected{border-color:var(--green);background:#edf5ef;box-shadow:inset 0 0 0 1px var(--green)}.preset-grid{grid-template-columns:repeat(3,1fr)}.preset strong,.preset small{display:block}.preset small{color:var(--muted);margin-top:6px;line-height:1.3}.fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.fields label{font-size:12px;font-weight:700;color:var(--muted)}.fields input{display:block;width:100%;margin-top:7px;border:1px solid var(--line);border-radius:10px;padding:13px;background:#fff;font:inherit;color:var(--ink)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:8px 30px}.stat-row{display:grid;grid-template-columns:120px 1fr 35px;align-items:center;gap:10px;padding:8px 0;font-size:13px}.stat-row strong{text-align:right;color:var(--green)}input[type=range]{accent-color:var(--green);width:100%}.axis-row{display:grid;grid-template-columns:100px 1fr 100px 30px;gap:10px;align-items:center;font-size:12px;padding:8px 0}.axis-row span:nth-of-type(2){text-align:right}.axis-row b{color:var(--green);text-align:right}.primary{border:0;background:var(--green);color:white;border-radius:11px;padding:15px 22px;font:700 14px "DM Sans";cursor:pointer;box-shadow:0 8px 22px #1f684b30}.primary span{float:right;margin-left:32px}.primary.start{width:100%;margin-top:28px}.validation{color:#a8473d;background:#f8e5df;border-radius:9px;padding:12px}.profile-header{display:flex;align-items:end;justify-content:space-between;padding:55px 0 28px;border-bottom:1px solid var(--line)}.profile-header h1{font:700 42px "Playfair Display",serif;margin:0}.age{text-align:right}.age small,.age strong{display:block}.age small{color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.12em}.age strong{font-size:20px}.decision-card{text-align:center;padding:60px 0}.school-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:38px}.school-card{background:var(--card);border:1px solid var(--line);border-radius:18px;text-align:left;padding:28px;color:var(--ink);cursor:pointer;transition:.2s}.school-card:hover{transform:translateY(-5px);border-color:var(--green);box-shadow:0 18px 40px #2d46351c}.school-icon{font-size:34px;color:var(--green)}.school-card h2{font:700 26px "Playfair Display",serif;margin:15px 0 8px}.school-card>p{height:42px;color:var(--muted)}.school-card>div{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:15px 0;display:grid;gap:7px}.school-card>div span{font-size:12px;color:var(--muted)}.school-card b{color:var(--ink);display:inline-block;width:28px}.school-card em{display:block;color:var(--green);font-style:normal;font-weight:700;margin-top:17px}.game-layout{display:grid;grid-template-columns:1.5fr .8fr;gap:28px;margin-top:35px}.profile-grid,.turn-panel{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:30px}.profile-grid{display:grid;grid-template-columns:220px 1fr;gap:30px}.profile-silhouette{background:#dce7dd;border-radius:14px;text-align:center;overflow:hidden}.profile-silhouette .silhouette{height:250px;transform:scale(.78);margin-top:-20px}.profile-silhouette>span{font-size:12px;color:var(--muted)}.score-pair{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.score-pair article{background:#f0f3ed;border-radius:12px;padding:18px}.score-pair small,.score-pair strong{display:block}.score-pair small{color:var(--muted)}.score-pair strong{font:700 40px "Playfair Display",serif;color:var(--green)}.mini-stats{display:grid;grid-template-columns:1fr 1fr;margin-top:20px;gap:10px}.mini-stats span{border-bottom:1px solid var(--line);padding:8px;font-size:12px}.mini-stats b{float:right}.turn-panel{display:flex;flex-direction:column}.date{font:700 22px "Playfair Display",serif;margin-top:0}.event{background:#edf4ee;border-left:3px solid var(--gold);padding:17px;display:flex;gap:10px;margin:10px 0 22px}.event span{color:var(--gold)}.event p{margin:0;line-height:1.45}.school-status{display:grid;gap:4px;border-top:1px solid var(--line);padding:19px 0;margin-bottom:15px}.school-status small,.school-status span{color:var(--muted);font-size:12px}.energy-planner{border-top:1px solid var(--line);padding:18px 0}.planner-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}.planner-heading small{text-transform:uppercase;letter-spacing:.12em;color:var(--muted);font-weight:700}.planner-heading strong{color:var(--green);font-size:20px}.engagement{display:grid;grid-template-columns:1fr auto;gap:7px;font-size:12px;margin-bottom:14px}.engagement input{grid-column:1/-1}.activity-list{display:grid;gap:6px;max-height:230px;overflow:auto}.activity{display:flex;justify-content:space-between;gap:8px;border:1px solid var(--line);background:#fff;border-radius:8px;padding:9px 10px;text-align:left;color:var(--ink);cursor:pointer;font:500 11px "DM Sans"}.activity span small{display:block;color:var(--muted);font-size:9px;margin-top:3px}.activity.selected{border-color:var(--green);background:#eaf3ec;color:var(--green)}.activity b:after{content:"⚡";font-size:9px;margin-left:2px}.energy-breakdown{display:grid;gap:6px;border-top:1px solid var(--line);margin-top:12px;padding-top:12px}.energy-breakdown span{font-size:11px;color:var(--muted)}.energy-breakdown b{float:right;color:var(--ink)}.plan-error{font-size:11px;color:#a8473d;background:#f8e5df;padding:8px;border-radius:7px}.turn-panel .risk{text-align:center;color:var(--muted);margin-top:12px}.death-screen{text-align:center;padding:100px 20px}.final-age,.final-score{display:block;font:700 52px "Playfair Display",serif;color:var(--green);margin:8px 0 35px}.final-score{font-size:84px;color:var(--gold)}.death-screen .primary{min-width:220px}@media(max-width:850px){.creator-layout,.game-layout{grid-template-columns:1fr}.portrait-card{position:relative;top:0}.portrait-card .silhouette{height:200px}.preset-grid,.school-grid{grid-template-columns:1fr}.profile-grid{grid-template-columns:1fr}.profile-silhouette{display:block;max-width:280px;margin:auto;width:100%}}@media(max-width:600px){main{padding:0 16px 50px}.hero{padding:40px 5px 30px}.creator-panel{padding:5px 20px 25px}.two-col,.fields{grid-template-columns:1fr}.choice-grid.two{grid-template-columns:1fr 1fr}.axis-row{grid-template-columns:75px 1fr 75px 25px}.profile-header h1{font-size:30px}.profile-header{align-items:start}.step-number{display:none}.score-pair{grid-template-columns:1fr}}
.topbar-tools{display:flex;align-items:center;gap:12px}.zoom-controls{display:flex;padding:3px;background:#e8e5dc;border-radius:9px}.zoom-controls button{border:0;background:transparent;padding:7px 9px;border-radius:7px;color:var(--ink);font-weight:700;cursor:pointer}.zoom-controls .zoom-value{min-width:48px;background:var(--card);color:var(--green)}.metric{min-width:0}.metric summary{list-style:none;cursor:pointer}.metric summary::-webkit-details-marker{display:none}.metric summary>small{color:var(--muted)}.metric summary>span{display:flex;align-items:baseline;justify-content:space-between;gap:6px}.metric .change{font:700 11px "DM Sans";white-space:nowrap}.positive{color:#168052!important}.negative{color:#bd443a!important}.change-sources{display:grid;gap:4px;padding:8px;margin-top:6px;background:#f5f3ec;border-radius:7px}.change-sources span{font-size:10px!important;border:0!important;padding:0!important;color:var(--muted)}.change-sources b{float:none!important;margin-right:4px}.score-pair .metric{background:#f0f3ed;border-radius:12px;padding:18px}.score-pair .metric summary>small,.score-pair .metric summary>span{display:block}.score-pair .metric strong{font:700 40px "Playfair Display",serif;color:var(--green)}.score-pair .metric .change{margin-left:8px}.mini-stats .metric{border-bottom:1px solid var(--line);padding:8px;font-size:12px}.mini-stats .metric summary{display:grid;grid-template-columns:1fr auto;gap:8px}.mini-stats .metric summary>span{gap:8px}.axes-title{margin-top:25px}.worldview-list{display:grid;gap:5px}.worldview-list .metric{background:#f4f3ed;border-radius:8px;padding:9px 11px}.worldview-list .metric summary{display:flex;justify-content:space-between;gap:12px;font-size:11px}.worldview-list .metric summary>span{gap:8px}.school-preview{grid-column:1/-1;color:var(--green);font-weight:600;line-height:1.4}@media(max-width:600px){.topbar{height:auto;min-height:68px;padding-top:8px;padding-bottom:8px}.topbar-tools{gap:6px}.zoom-controls button{padding:6px}.zoom-controls .zoom-value{display:none}.language button{padding:7px}.worldview-list .metric summary{display:grid}.score-pair .metric strong{font-size:34px}}
.score-pair{grid-template-columns:repeat(2,1fr)}
.identity-fields{align-items:end}.randomize{border:1px solid var(--gold);background:#fff8e9;color:#825d1f;border-radius:10px;padding:13px;font-weight:700;cursor:pointer}.energy-warning{margin:10px 0 0;padding:9px 10px;border-radius:8px;background:#fff1cf;color:#8a5c0b;font-size:11px;border:1px solid #ebcf8b}.profile-header h1 span{color:var(--green);font-size:.72em}
.portrait-card .silhouette{height:350px}.stat-group{padding:18px;border:1px solid var(--line);border-radius:13px;background:#faf9f4}.stat-group+.stat-group{margin-top:16px}.stat-group h3{margin-top:0}.traits-group{border-color:#c9d9ce;background:#f0f5f0}.parameters-group{background:#faf7ef}.risk-details{margin-top:12px;text-align:center;color:var(--muted);font-size:11px}.risk-details summary{cursor:pointer;list-style:none}.risk-details summary::-webkit-details-marker{display:none}.risk-details summary em{color:var(--gold);font-style:normal;font-weight:700;margin-left:5px}.risk-details div{margin-top:7px;padding:8px;background:#fff4da;border:1px solid #ecd59c;border-radius:7px;color:#7d5a18}.risk-details div b{margin-right:4px}
.energy-recovery{margin:10px 0 0;padding:9px 10px;border-radius:8px;background:#e5f4e9;color:#236442;font-size:11px;border:1px solid #b8dcc3}.primary:disabled{cursor:not-allowed;opacity:.45}.occupation-status{margin-bottom:0}.occupation-grid{justify-content:center}
.activity-slider{display:grid;grid-template-columns:1fr auto;gap:5px 10px;border:1px solid var(--line);border-radius:9px;padding:9px 10px;background:#fff}.activity-slider span{min-width:0}.activity-slider strong,.activity-slider small{display:block}.activity-slider strong{font-size:11px}.activity-slider small{color:var(--muted);font-size:9px;margin-top:3px}.activity-slider>input{grid-column:1/-1}.activity-slider>b{font-size:11px;color:var(--green)}.danger-action,.search-action{width:100%;border-radius:8px;padding:9px;font-weight:700;cursor:pointer;margin-bottom:10px}.danger-action{border:1px solid #d99a94;background:#fff0ee;color:#a43e36}.search-action{border:1px solid #9dcbb0;background:#ecf7ef;color:var(--green)}.school-card.unavailable{opacity:.5;cursor:not-allowed}.energy-source{font-size:10px;color:var(--muted);margin:-8px 0 15px}.energy-source summary{cursor:pointer;color:var(--green);font-weight:700}.energy-source div{margin-top:6px;background:#f3f5ef;border-radius:7px;padding:8px}
.relationship-column{display:grid;gap:10px;align-content:start}.partner-candidates{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:32px 0}.partner-candidate{border:1px solid var(--line);background:var(--card);border-radius:16px;padding:18px;color:var(--ink);cursor:pointer}.partner-candidate:hover{border-color:var(--green);box-shadow:0 12px 30px #1f684b18}.candidate-silhouette,.partner-mini-silhouette{height:150px;overflow:hidden;background:#dce7dd;border-radius:11px}.candidate-silhouette .silhouette{height:210px;transform:scale(.58);transform-origin:top center}.partner-candidate h2{font:700 22px "Playfair Display",serif;margin:10px 0 3px}.partner-candidate h2 span{font-size:.7em;color:var(--green)}.partner-candidate>strong{font-size:11px;color:var(--gold)}.candidate-summary,.partner-details{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:12px;font-size:10px}.candidate-summary b,.partner-details b{float:right}.partner-candidate em{display:block;color:var(--green);font-style:normal;font-weight:700;margin-top:14px}.decline-action{border:0;background:transparent;color:var(--muted);text-decoration:underline;cursor:pointer}.partner-panel{border:1px solid #bfd4c5;background:#f0f6f1;border-radius:12px;padding:10px}.partner-panel summary{list-style:none;cursor:pointer;text-align:center}.partner-panel summary::-webkit-details-marker{display:none}.partner-mini-silhouette{height:120px}.partner-mini-silhouette .silhouette{height:190px;transform:scale(.48);transform-origin:top center}.partner-panel summary>strong{display:block;margin:7px 0}.partner-panel summary>strong span{color:var(--green);font-size:.8em}.relationship-stability label{display:flex;justify-content:space-between;font-size:9px;color:var(--muted)}.battery{height:9px;border-radius:8px;background:#d7ddd8;overflow:hidden;margin-top:4px}.battery i{display:block;height:100%}.battery .low{background:#c74b43}.battery .medium{background:#db8b32}.battery .high{background:#3b9865}.partner-details{border-top:1px solid #cfddd2;padding-top:9px}@media(max-width:850px){.partner-candidates{grid-template-columns:1fr}.relationship-column{max-width:300px;margin:auto;width:100%}}
.activity-energy{grid-column:1/-1!important;color:#bd443a!important;font-size:11px;text-align:right}.efficiency-sources{display:grid;gap:3px;padding:8px;margin-top:6px;background:#f5f3ec;border-radius:7px;font-size:9px}.efficiency-sources span{border:0!important;padding:0!important}.efficiency-sources b{float:right}.efficiency-sources>strong{margin-top:4px;color:var(--green)}.neutral{color:var(--muted)!important}.school-card .job-energy,.school-card .job-energy b{color:#bd443a}.axis-metric .change-sources span{display:block}
.school-card>div span b{width:auto;margin-right:5px}.school-card.unavailable{opacity:1;border:2px solid #c84e45;background:#fff0ee}.school-card.unavailable em,.school-card.unavailable .job-requirement{color:#a72f28;font-weight:800}.portrait-label{margin:0;text-align:center;text-transform:uppercase;letter-spacing:.15em;color:var(--gold);font-size:11px;font-weight:800}.breakup-effects{display:block;margin:-5px 0 10px;color:#a43e36;text-align:center}.partner-open{display:block;width:100%;border:0;background:transparent;cursor:pointer;color:var(--ink)}.partner-open>strong{display:block;margin:8px 0;font-size:16px}.intimacy-choice{display:grid;gap:5px;margin-top:12px;font-size:10px;color:var(--muted)}.intimacy-choice select{width:100%;padding:8px;border:1px solid var(--line);border-radius:7px;background:white;color:var(--ink)}.modal-backdrop{position:fixed;inset:0;z-index:100;background:#17251dcc;display:grid;place-items:center;padding:20px}.partner-modal{position:relative;width:min(850px,100%);max-height:90vh;overflow:auto;background:var(--card);border-radius:20px;padding:30px;box-shadow:0 25px 80px #0006}.partner-modal h2{font:700 34px "Playfair Display",serif;margin:0 0 20px}.modal-close{position:absolute;right:18px;top:14px;border:0;background:transparent;font-size:32px;cursor:pointer;color:var(--muted)}.partner-modal-layout{display:grid;grid-template-columns:220px 1fr;gap:25px}.partner-modal .candidate-silhouette{height:280px}.partner-modal .candidate-silhouette .silhouette{transform:scale(.85)}.partner-metrics,.partner-axes{display:grid;grid-template-columns:1fr 1fr;gap:8px}.partner-metrics .metric,.partner-axes .metric{padding:10px;border:1px solid var(--line);border-radius:9px}.partner-metrics summary,.partner-axes summary{display:flex;justify-content:space-between;gap:10px}.partner-axes{margin-top:20px}.profile-header h1 span,.partner-candidate h2 span{margin-left:.25em}@media(max-width:600px){.partner-modal-layout{grid-template-columns:1fr}.partner-modal .candidate-silhouette{height:180px}.partner-metrics,.partner-axes{grid-template-columns:1fr}.partner-modal{padding:22px}}
.pregnancy-badge{display:block;margin-top:12px;padding:10px;text-align:center;background:#ffe4e1;color:#b52f2f;border:2px solid #d64a42;border-radius:8px;font-weight:900;letter-spacing:.12em}.children-panel{margin-top:12px;border-top:1px solid #cfddd2;padding-top:10px}.children-panel summary{display:flex;justify-content:space-between;cursor:pointer;font-weight:700}.genealogy{text-align:left;list-style:none;border-left:2px solid #c9d9ce;margin:10px 0;padding-left:16px}.genealogy li{margin:7px 0}.genealogy span{font-size:12px}.genealogy small{display:block;color:var(--muted)}.genealogy em{color:#a43e36}.family-popup{position:relative;width:min(560px,100%);background:var(--card);border-radius:18px;padding:35px;display:grid;gap:18px}.family-popup h2{font:700 28px "Playfair Display",serif;margin:0}.family-popup label{display:grid;gap:7px;font-weight:700}.family-popup input{padding:12px;border:1px solid var(--line);border-radius:8px;font:inherit}.candidate-summary{max-height:240px;overflow:auto;padding-right:4px}.university-preview{margin:0 0 15px;padding:9px;background:#eef5ef;border-radius:8px}.risk-breakdown{line-height:1.6}.death-risk-explanation{max-width:720px;margin:0 auto 25px;padding:15px;background:#fff0ee;color:#943b35;border-radius:10px}.death-screen>.genealogy{max-width:700px;margin:25px auto;text-align:left}
.simulation-progress{width:min(620px,100%);height:24px;accent-color:var(--green);margin:10px auto 35px}
.landing-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}.landing-actions .secondary-link{cursor:pointer}.active-save-status{display:grid;gap:3px;padding:14px 18px;border:1px solid #b8d4c1;border-radius:12px;background:#edf6ef;color:var(--green);font-size:13px!important}.active-save-status strong{font:700 22px "Playfair Display",serif}.active-save-status small{color:var(--muted)}.active-save-warning{position:sticky;top:82px;z-index:9;margin:12px auto -5px;padding:10px 14px;border:1px solid #e1b3ad;border-radius:9px;background:#fff0ee;color:#943b35;font-size:12px;text-align:center}
.candidate-stat{padding:5px 7px;border-radius:6px;font-weight:600}.candidate-stat b{width:auto!important}.candidate-stat.positive{background:#e3f3e8}.candidate-stat.negative{background:#f9e3df}.candidate-stat.medium{background:#fff0cf;color:#996510}.candidate-axis{grid-column:span 2;padding:5px 7px;background:#eef0ec;border-radius:6px;color:var(--muted)}.search-action{display:flex;justify-content:center;align-items:center;gap:10px}.search-action b{color:#a43e36}.dynasty-tree{overflow:auto;padding:25px 10px;display:flex;flex-direction:column;align-items:center;min-width:max-content}.tree-couple{display:flex;align-items:center;justify-content:center}.tree-couple>i{display:block;width:34px;height:2px;background:#8eaa98}.tree-person{display:grid;min-width:105px;padding:9px 12px;border:1px solid #9fb8a7;background:#f4faf5;border-radius:9px;text-align:center;font-weight:700;font-size:12px}.tree-person small{font-weight:400;color:var(--muted);font-size:9px;margin-top:3px}.tree-person.founder{border:2px solid var(--gold);background:#fff8e9}.tree-person.deceased{opacity:.65}.tree-person b{color:#a43e36}.tree-family{display:flex;flex-direction:column;align-items:center}.tree-children{position:relative;display:flex;justify-content:center;gap:24px;padding-top:30px}.tree-children:before{content:"";position:absolute;top:0;left:50%;height:16px;border-left:2px solid #8eaa98}.tree-children:after{content:"";position:absolute;top:16px;left:calc(12.5%);right:calc(12.5%);border-top:2px solid #8eaa98}.tree-branch{position:relative;padding-top:14px}.tree-branch:before{content:"";position:absolute;top:0;left:50%;height:14px;border-left:2px solid #8eaa98}.tree-branch:only-child:before{top:-14px;height:28px}.tree-children:has(>.tree-branch:only-child):after{display:none}.children-panel .tree-children{gap:10px}.children-panel .tree-person{min-width:80px;padding:6px;font-size:10px}@media(max-width:600px){.dynasty-tree{align-items:flex-start}.tree-children{gap:12px}.tree-person{min-width:85px}}
.candidate-summary{max-height:none;overflow:visible;padding-right:0}.candidate-indicators{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}.candidate-indicators span{padding:8px;border-radius:8px;background:#eef5ef;color:var(--muted);font-size:10px}.candidate-indicators b{display:block;color:var(--green);font-size:18px}.candidate-attempt{width:100%;margin-top:14px;padding:11px;border:0;border-radius:8px;background:var(--green);color:#fff;font-weight:800;cursor:pointer}.children-list{display:grid;gap:6px;margin:10px 0}.children-list>span{display:flex;justify-content:space-between;padding:7px;background:#f5f3ec;border-radius:7px}.children-list small{color:var(--muted)}.tree-open{width:100%;padding:8px;border:1px solid var(--green);border-radius:7px;background:#eef7f0;color:var(--green);font-weight:800;cursor:pointer}.genealogy-modal{width:min(1100px,96vw)}button.tree-person{font-family:inherit;color:var(--ink);cursor:pointer}.tree-partner{font-weight:400;color:var(--muted);margin-top:3px}.collapsed-marker{font-style:normal;color:var(--gold);font-size:10px;margin-top:4px}.unemployment-card{border-style:dashed}
.candidate-indicators details{padding:8px;border-radius:8px;background:#eef5ef;color:var(--muted);font-size:10px}.candidate-indicators summary{cursor:pointer;display:flex;justify-content:space-between}.candidate-indicators details>small{display:block;margin-top:7px;line-height:1.55}.candidate-attempt.unavailable{background:#d8d8d3;color:#777;cursor:not-allowed}.children-list i{font-style:normal;margin-left:5px}.partner-deceased{display:block;margin-top:10px;padding:8px;text-align:center;background:#eee;color:#6d2727;border-radius:7px}.tree-children:after{display:none}.tree-branch{border-top:2px solid #8eaa98}.tree-branch:first-child{border-top-left-radius:0}.tree-branch:first-child:after{content:"";position:absolute;top:-2px;left:0;width:50%;border-top:3px solid var(--card)}.tree-branch:last-child:after{content:"";position:absolute;top:-2px;right:0;width:50%;border-top:3px solid var(--card)}.tree-branch:only-child{border-top:0}.tree-branch:only-child:after{display:none}
.tree-children:before{height:30px}
.activity-summary{width:100%;display:flex;justify-content:space-between;gap:12px;text-align:left;padding:13px;margin:10px 0;border:1px solid var(--green);border-radius:10px;background:#eef7f0;color:var(--ink);cursor:pointer}.activity-summary span{min-width:0}.activity-summary strong,.activity-summary small{display:block}.activity-summary small{margin-top:5px;color:var(--muted);font-size:9px;line-height:1.45}.activity-summary>b{color:#b33f37;white-space:nowrap}.activities-modal{width:min(760px,96vw)}.activities-total{display:grid;gap:6px;padding:12px;margin-bottom:14px;border-radius:9px;background:#eef5ef}.activities-total>strong{color:#b33f37}.activities-total small{color:var(--muted);line-height:1.45}.activities-modal-list{display:grid;gap:8px}.compatibility-details{display:grid;gap:8px;margin-top:8px}.compatibility-details>p{margin:0;color:var(--muted);line-height:1.4}.compatibility-row{display:grid;grid-template-columns:minmax(130px,1fr) 90px 34px;gap:7px;align-items:center}.compatibility-row span b,.compatibility-row span small{display:block}.compatibility-row span small{font-size:8px;color:var(--muted)}.compatibility-bar{height:7px;background:#ddd;border-radius:8px;overflow:hidden}.compatibility-bar i{display:block;height:100%;background:var(--green)}.bereavement-effects{padding:12px;border-radius:9px;background:#fff0ee;color:#913b35}
.activity-toggle{border:1px solid var(--line);border-radius:8px;background:#eee;color:var(--muted);padding:7px 12px;font-weight:800;cursor:pointer}.activity-toggle.selected{border-color:var(--green);background:#e2f3e7;color:var(--green)}.fixed-care{display:flex;justify-content:space-between;gap:12px;padding:11px;margin-bottom:12px;border-radius:8px;background:#fff0cf;color:#875b12;font-size:11px}.deceased-child{color:#888;text-decoration:line-through}.death-age-details{margin:0 auto 30px;max-width:720px}.death-age-details summary{list-style:none;cursor:pointer}.death-age-details summary::-webkit-details-marker{display:none}.death-age-details summary span{display:block}.death-age-details .final-age{margin-bottom:10px}.pregnancy-chance summary{cursor:pointer;color:var(--green);font-weight:800}.pregnancy-chance small{display:block;padding:7px;background:#f5f3ec;border-radius:6px}.activity-slider.binary{align-items:center}
.randomize-character{margin:-8px 0 18px}.childcare-inline{padding:9px;border-radius:8px;background:#fff7df}.childcare-details{display:grid;gap:6px;width:100%}.childcare-details>div{display:grid;grid-template-columns:1fr auto;gap:2px 10px;padding:7px;border-bottom:1px solid #ead49d}.childcare-details span{color:#875b12}.childcare-details small{grid-column:1/-1;color:#a33d35}.fixed-care{display:grid}.fixed-care>div{width:100%}
.death-cause-prominent{max-width:760px;margin:0 auto 30px;padding:22px;border:2px solid #b33f37;border-radius:12px;background:#fff0ee;color:#8d2f29;font:700 clamp(20px,3vw,30px)/1.35 "Playfair Display",serif}

.death-cause-prominent { white-space: pre-line; }
.child-open { display:flex; justify-content:space-between; width:100%; border:0; background:transparent; padding:.35rem 0; cursor:pointer; text-align:left; }
.living-standard { border:1px solid #d8c8a5; border-radius:.75rem; padding:.75rem; background:#fffaf0; }
.profile-creator-link{margin-top:14px}.standalone-profile-creator{max-width:900px;margin:20px auto}.profile-output{width:100%;margin-top:14px;padding:14px;border:1px solid var(--line);border-radius:10px;font:12px/1.5 monospace}.tree-node-actions{position:relative;display:flex;justify-content:center}.tree-collapse{position:absolute;right:2px;top:2px;border:0;border-radius:50%;background:#e6efe9;color:var(--green);cursor:pointer;font-weight:800}.standalone-profile-creator select{padding:10px;border:1px solid var(--line);border-radius:8px}
.partner-photo{width:100%;height:100%;object-fit:cover;border-radius:inherit}.candidate-description{margin:4px 0 12px;color:var(--muted);font-style:italic}.profile-image-preview{display:block;width:min(240px,100%);aspect-ratio:3/4;object-fit:cover;margin:12px auto;border-radius:12px}.partner-mini-silhouette .partner-photo{border-radius:10px}
.landing-screen{min-height:70vh;display:grid;place-content:center;text-align:center;gap:18px;max-width:760px;margin:auto}.landing-screen h1{font:700 clamp(64px,12vw,140px)/.9 "Playfair Display",serif;margin:0}.landing-screen h1 span{color:var(--gold)}.landing-screen p{font-size:clamp(15px,2vw,22px);line-height:1.6}.landing-screen .primary{justify-self:center;min-width:220px}.portrait-options{display:flex;flex-wrap:wrap;gap:12px}.portrait-option{width:100px;height:100px;border:2px solid transparent;border-radius:12px;padding:0;overflow:hidden;background:#edf3ef;cursor:pointer}.portrait-option.selected{border-color:var(--green)}.portrait-option img,.player-photo{width:100%;height:100%;object-fit:cover}.portrait-upload{display:grid;place-content:center;width:150px;min-height:100px;border:1px dashed var(--green);border-radius:12px;cursor:pointer}.current-compatibility{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;margin:10px 0;border-radius:8px;background:#eef5ef;color:var(--green)}
.active-games{display:grid;gap:12px;width:min(900px,92vw);margin-top:6px;text-align:left}.active-games h2{margin:0 0 2px;font:700 28px "Playfair Display",serif;text-align:center}.active-game-card{display:grid;grid-template-columns:minmax(130px,1fr) minmax(220px,1.4fr) auto;gap:18px;align-items:center;padding:17px 18px;border:1px solid var(--line);border-radius:14px;background:var(--card);box-shadow:0 8px 22px #203c2b0c}.active-game-card.invalid{border-color:#d99a94;background:#fff0ee}.active-game-identity{display:grid;gap:4px;min-width:0}.active-game-identity strong{overflow:hidden;text-overflow:ellipsis;font:700 22px "Playfair Display",serif}.active-game-identity small{overflow:hidden;text-overflow:ellipsis;color:var(--muted)}.active-game-details{display:flex;flex-wrap:wrap;gap:5px 13px;color:var(--muted);font-size:10px}.active-game-recovery-status{color:#943b35;font-weight:800}.active-game-actions{display:flex;align-items:center;gap:8px}.active-game-actions .primary{min-width:0;padding:11px 14px}.active-game-actions .decline-action{margin:0}.active-game-actions button:disabled{color:var(--muted);cursor:wait}.landing-screen .new-game{justify-self:center}.active-save-transfer{display:grid;justify-items:center;gap:7px}.active-save-transfer>small{max-width:620px;color:var(--muted);font-size:10px}.active-save-import{position:relative;overflow:hidden;cursor:pointer}.active-save-import.disabled{color:var(--muted);border-color:var(--line);cursor:wait}.active-save-import input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.active-save-import input[type=file]:disabled{cursor:wait}.active-save-transfer-message{margin:4px 0 0!important;padding:9px 12px;border-radius:8px;background:#edf6ef;color:var(--green);font-size:11px!important}.active-save-transfer-message.error{background:#fff0ee;color:#943b35}.delete-save-dialog{max-width:520px}.delete-save-dialog>p{color:var(--muted);line-height:1.55}.delete-save-dialog .danger-action{margin:0}
@media(max-width:700px){.active-game-card{grid-template-columns:1fr}.active-game-actions{display:grid;grid-template-columns:1fr 1fr}.active-game-actions .primary{grid-column:1/-1;width:100%}.active-game-card>.decline-action{justify-self:start}}
.topbar-short-label{display:none}@media(max-width:600px){.topbar-long-label{display:none}.topbar-short-label{display:inline}}
.run-hero-actions{display:flex;justify-content:center;align-items:center;gap:10px;flex-wrap:wrap}.run-export{min-height:36px;padding:8px 13px;font-size:11px}.run-delete{width:auto;margin:0;padding:8px 13px;font-size:11px}
.archive-transfer{display:grid;justify-items:center;gap:7px;margin-top:20px}.archive-transfer>small{max-width:580px;color:var(--muted);font-size:10px}.archive-import{position:relative;overflow:hidden;cursor:pointer}.archive-import.disabled{color:var(--muted);border-color:var(--line);cursor:wait}.archive-import input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.archive-import-message{margin:4px 0 0!important;padding:9px 12px;border-radius:8px;background:#edf6ef;color:var(--green);font-size:11px!important}.archive-import-message.error{background:#fff0ee;color:#943b35}
.archive-recovery{display:grid;justify-items:center;gap:9px;width:min(600px,100%);margin:10px auto;padding:16px 18px;border:1px solid #d99a94;border-radius:12px;background:#fff0ee;color:#943b35}.archive-recovery strong{font:700 20px "Playfair Display",serif}.archive-recovery p{margin:0;font-size:12px;line-height:1.5}.archive-recovery .secondary-link{min-height:38px;padding:8px 14px}.archive-recovery .secondary-link:disabled{color:var(--muted);border-color:var(--line);cursor:wait}
.portrait-options{align-items:stretch}.portrait-upload{place-content:stretch;width:min(220px,100%);padding:12px;gap:9px;align-content:center;text-align:center;overflow:hidden}.portrait-upload input[type=file]{display:block;width:100%;max-width:100%;min-width:0;margin:0;color:var(--muted);font-size:10px}.portrait-upload input[type=file]::file-selector-button{max-width:100%;margin:0 7px 0 0;padding:7px 9px;border:0;border-radius:7px;background:var(--green);color:white;font:700 10px "DM Sans";cursor:pointer}
.partner-discovery-actions{display:grid;gap:8px}.finder-launch:disabled{border-color:var(--line);background:#eee;color:#999;cursor:not-allowed}.finder-launch:disabled b{color:#999}.negative-event-effects{margin:0;padding:12px;border-radius:9px;background:#fff0ee;color:#a72f28;font-weight:800}
.finder-modal{position:relative;width:min(520px,100%);max-height:92vh;overflow:auto;padding:24px;background:linear-gradient(165deg,#fff 0%,#fff8f5 100%);border-radius:24px;box-shadow:0 28px 90px #0008}.finder-header{display:flex;align-items:center;gap:9px;margin:0 38px 18px 0}.finder-header strong{font:800 31px "Playfair Display",serif}.finder-header span{color:#e23f59;font-size:28px}.finder-header small{margin-left:auto;color:var(--muted);font-weight:800}.finder-portrait{position:relative;display:block;width:100%;height:min(48vh,420px);min-height:290px;overflow:hidden;padding:0;border:0;border-radius:18px;background:linear-gradient(145deg,#e5efe7,#c8dacd);cursor:pointer}.finder-portrait .silhouette{height:390px;transform:scale(1.08);transform-origin:top center}.finder-portrait>span{position:absolute;left:0;right:0;bottom:0;padding:13px;background:#152019b8;color:white;font-weight:800;letter-spacing:.04em}.finder-modal>h2{margin:17px 0 5px;font:800 32px "Playfair Display",serif}.finder-description{margin:0 0 15px;color:var(--muted);font-style:italic;line-height:1.5}.finder-actions{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:20px}.finder-decision{display:grid;align-content:start;gap:7px;text-align:center}.finder-decision button{height:78px;border:0;border-radius:18px;color:white;font:900 23px "DM Sans";letter-spacing:.08em;cursor:pointer;box-shadow:0 9px 24px #0002}.finder-decision.no button{background:#cf3344}.finder-decision.yes button{background:#28955a}.finder-decision small{color:#237b4d;font-weight:800}.finder-empty{min-height:430px;display:grid;place-content:center;justify-items:center;gap:18px;text-align:center;padding:30px}.finder-empty>span{font-size:64px;color:#e15b6c}.finder-empty h2{max-width:390px;margin:0;font:800 29px/1.25 "Playfair Display",serif}.finder-profile-backdrop{z-index:101}.finder-profile-modal .candidate-summary{align-content:start}.finder-profile-modal .candidate-indicators{margin-bottom:0}
@media(max-width:600px){.portrait-upload{width:100%}.finder-modal{padding:18px}.finder-portrait{min-height:250px}.finder-modal>h2{font-size:27px}.finder-actions{gap:10px}.finder-decision button{height:68px}.finder-profile-modal .candidate-summary{grid-template-columns:1fr 1fr}}
.creator-photo{width:100%;max-height:330px;object-fit:cover;border-radius:16px}

.topbar-link{color:var(--green);font-size:13px;font-weight:800;text-decoration:none;white-space:nowrap}.topbar-link:hover{text-decoration:underline}.topbar-button{padding:0;border:0;background:transparent;font-family:inherit;cursor:pointer}.topbar-button:disabled{color:var(--muted);cursor:wait;text-decoration:none}.archive-page{padding-top:55px}.archive-hero{text-align:center;max-width:780px;margin:0 auto 38px}.archive-hero h1{font:700 clamp(42px,7vw,72px)/1.05 "Playfair Display",serif;margin:0 0 15px}.archive-hero>p:last-of-type{color:var(--muted);line-height:1.6}.archive-state{min-height:280px;display:grid;place-content:center;justify-items:center;gap:14px;padding:45px;text-align:center;border:1px solid var(--line);border-radius:20px;background:var(--card);color:var(--muted)}.archive-state strong{color:var(--ink);font:700 27px "Playfair Display",serif}.archive-error{border-color:#d99a94;background:#fff0ee;color:#8d2f29}.leaderboard-list{display:grid;gap:10px}.leaderboard-heading,.leaderboard-row{display:grid;grid-template-columns:54px minmax(190px,1.35fr) minmax(90px,.45fr) minmax(150px,.8fr) minmax(180px,1fr);gap:18px;align-items:center}.leaderboard-heading{padding:0 20px 7px;color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.leaderboard-row{width:100%;padding:18px 20px;border:1px solid var(--line);border-radius:15px;background:var(--card);color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:transform .16s,border-color .16s,box-shadow .16s}.leaderboard-row:hover,.leaderboard-row:focus-visible{transform:translateY(-2px);border-color:var(--green);box-shadow:0 13px 30px #203c2b16;outline:none}.leaderboard-position{font:700 25px "Playfair Display",serif;color:var(--gold);text-align:center}.leaderboard-identity,.leaderboard-stat,.leaderboard-result{display:grid;gap:4px;min-width:0}.leaderboard-identity strong,.leaderboard-stat strong,.leaderboard-result strong{overflow:hidden;text-overflow:ellipsis}.leaderboard-identity small,.leaderboard-stat small,.leaderboard-result small{color:var(--muted);font-size:10px}.leaderboard-score{font:700 38px "Playfair Display",serif;color:var(--green)}.run-hero{position:relative}.verified-badge{display:inline-block;padding:8px 12px;border:1px solid #9dcbb0;border-radius:999px;background:#ecf7ef;color:var(--green);font-size:11px;font-weight:800}.run-summary-grid{display:grid;grid-template-columns:1.25fr repeat(4,1fr);gap:12px;margin-bottom:18px}.run-metric{display:grid;gap:8px;padding:20px;border:1px solid var(--line);border-radius:14px;background:var(--card)}.run-metric small,.run-record-card small{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.run-metric strong{font:700 34px "Playfair Display",serif}.run-metric.featured{background:var(--green);color:white;border-color:var(--green)}.run-metric.featured small{color:#dce9df}.run-record-card{display:grid;grid-template-columns:1.25fr 1fr .7fr .65fr;gap:16px;margin-bottom:24px;padding:20px;border:1px solid var(--line);border-radius:14px;background:var(--card)}.run-record-card>div{display:grid;gap:5px}.run-record-card .run-id{grid-column:1/-1;padding-top:14px;border-top:1px solid var(--line)}.run-record-card .run-id strong{overflow-wrap:anywhere;font:600 11px monospace;color:var(--muted)}.run-tree-card{padding:28px 20px;border:1px solid var(--line);border-radius:18px;background:var(--card);overflow:hidden}.run-section-heading{display:flex;justify-content:space-between;align-items:end;gap:20px;padding:0 10px 18px;border-bottom:1px solid var(--line)}.run-section-heading h2{font:700 32px "Playfair Display",serif;margin:0}.run-section-heading>span{color:var(--muted);font-size:11px}.result-actions{display:flex;justify-content:center;align-items:center;gap:12px;flex-wrap:wrap}.secondary-link{display:inline-flex;align-items:center;justify-content:center;min-height:45px;padding:12px 20px;border:1px solid var(--green);border-radius:11px;background:transparent;color:var(--green);font-size:13px;font-weight:800;text-decoration:none}.secondary-link:hover{background:#e6f1e9}
@media(max-width:900px){.leaderboard-heading{display:none}.leaderboard-row{grid-template-columns:42px 1fr 80px}.leaderboard-stat,.leaderboard-result{grid-column:2/-1;grid-template-columns:1fr auto;align-items:center}.run-summary-grid{grid-template-columns:repeat(3,1fr)}.run-summary-grid .featured{grid-row:span 2}.run-record-card{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.topbar-link{font-size:11px}.archive-page{padding:35px 16px 60px}.archive-hero{margin-bottom:28px}.leaderboard-row{padding:15px 12px;gap:10px}.leaderboard-position{font-size:20px}.leaderboard-score{font-size:30px}.leaderboard-stat,.leaderboard-result{display:grid;grid-template-columns:1fr}.run-summary-grid{grid-template-columns:1fr 1fr}.run-summary-grid .featured{grid-column:1/-1;grid-row:auto}.run-record-card{grid-template-columns:1fr}.run-record-card .run-id{grid-column:auto}.run-section-heading{display:grid;align-items:start}.run-tree-card{padding:22px 8px}.archive-state{padding:30px 18px}.result-actions{display:grid}.result-actions>*{width:100%}}

.replay-card{margin-bottom:24px;padding:28px 20px;border:1px solid var(--line);border-radius:18px;background:var(--card)}.replay-controls{display:grid;grid-template-columns:auto 1fr auto;gap:15px;align-items:center;padding:22px 10px}.replay-controls button{min-width:125px;padding:10px 14px;border:1px solid var(--green);border-radius:9px;background:#eef7f0;color:var(--green);font-weight:800;cursor:pointer}.replay-controls button:disabled{border-color:var(--line);background:#eee;color:#999;cursor:not-allowed}.replay-controls input{width:100%;accent-color:var(--green)}.replay-frame{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#f8f6ef}.replay-frame>header{display:flex;justify-content:space-between;align-items:start;gap:25px;padding:22px;background:#edf4ee}.replay-frame h3{margin:4px 0 0;font:700 25px "Playfair Display",serif}.replay-frame header small,.replay-actor small{color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.replay-actor{display:grid;gap:5px;text-align:right}.replay-state-grid{display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.replay-state-grid>span{display:grid;gap:5px;padding:15px;border-right:1px solid var(--line)}.replay-state-grid>span:last-child{border-right:0}.replay-state-grid small{color:var(--muted);font-size:9px}.replay-state-grid strong{font:700 22px "Playfair Display",serif;color:var(--green)}.replay-events{padding:18px 22px}.replay-events h4{margin:0 0 10px;font-size:11px;text-transform:uppercase;letter-spacing:.1em}.replay-events p{margin:0;color:var(--muted);font-size:12px}.replay-events ol{display:grid;gap:8px;margin:0;padding-left:24px}.replay-events li{padding-left:4px;font-size:12px}.replay-events li strong,.replay-events li small{display:block}.replay-events li small{margin-top:4px;color:var(--muted);overflow-wrap:anywhere}
@media(max-width:800px){.replay-state-grid{grid-template-columns:repeat(3,1fr)}.replay-state-grid>span:nth-child(3n){border-right:0}.replay-frame>header{display:grid}.replay-actor{text-align:left}}
@media(max-width:600px){.replay-card{padding:22px 8px}.replay-controls{grid-template-columns:1fr 1fr}.replay-controls input{grid-column:1/-1;grid-row:1}.replay-controls button{min-width:0}.replay-state-grid{grid-template-columns:1fr 1fr}.replay-state-grid>span:nth-child(3n){border-right:1px solid var(--line)}.replay-state-grid>span:nth-child(2n){border-right:0}}
.person-energy-history {
    margin: 1rem 0;
    padding: .9rem 1rem;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: rgba(255, 255, 255, .03);
}

.development-stats{grid-template-columns:repeat(6,1fr)}
.development-stats>.metric:nth-child(-n+2){grid-column:span 3}
.development-stats>.metric:nth-child(n+3){grid-column:span 2}
.tree-person.dynasty-partner{border-color:#aab8cf;background:#eef2f8}
@media(max-width:600px){.development-stats{grid-template-columns:1fr}.development-stats>.metric:nth-child(n){grid-column:span 1}}

.person-energy-history summary {
    cursor: pointer;
    font-weight: 700;
}

.energy-history-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
    gap: .55rem;
    margin: .8rem 0;
}

.energy-history-grid span {
    display: flex;
    justify-content: space-between;
    gap: .75rem;
    font-size: .85rem;
}

.replay-profile-life {
    display: grid;
    gap: .4rem;
    margin: 1rem 0;
    color: var(--muted);
    font-size: .85rem;
}

.profile-header-actions {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.profile-history-open,.turn-replay-open {
    padding: .65rem .85rem;
    border: 1px solid var(--green);
    border-radius: 9px;
    background: #eef7f0;
    color: var(--green);
    font: 700 .75rem "DM Sans",sans-serif;
    cursor: pointer;
}

.person-history-modal { width:min(1000px,96vw); }
.gift-open{margin-top:7px;background:#fff8e9;border-color:var(--gold);color:#76551d}.gift-open:disabled{cursor:not-allowed;opacity:.5}.gift-modal{width:min(680px,96vw)}.gift-description{margin:-8px 0 16px;color:var(--muted);line-height:1.5}.gift-balance{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;margin-bottom:14px;border-radius:10px;background:#eef5ef}.gift-balance strong{font-size:20px;color:var(--green)}.gift-amount{display:grid;gap:7px;font-weight:800}.gift-amount>div{display:grid;grid-template-columns:auto minmax(100px,1fr) auto;gap:8px}.gift-amount button,.gift-amount input{min-width:0;padding:11px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--ink);font:inherit}.gift-amount button{cursor:pointer;font-size:12px;font-weight:800}.gift-amount input{text-align:center}.gift-recipients{display:grid;gap:7px;margin:18px 0}.gift-recipient-heading{display:grid;gap:4px;margin-bottom:3px}.gift-recipient-heading small{color:var(--muted);font-weight:400}.gift-recipient{display:grid;grid-template-columns:auto 1fr auto;gap:11px;align-items:center;padding:11px;border:1px solid var(--line);border-radius:9px;background:#fff}.gift-recipient input{width:18px;height:18px;accent-color:var(--green)}.gift-recipient span{min-width:0}.gift-recipient strong,.gift-recipient small{display:block}.gift-recipient small{margin-top:3px;color:var(--muted);font-size:10px;line-height:1.4}.gift-recipient>b{color:var(--green);white-space:nowrap}@media(max-width:600px){.gift-amount>div{grid-template-columns:1fr 1fr}.gift-amount input{grid-column:1/-1;grid-row:1}.gift-recipient{align-items:start}.gift-recipient>b{grid-column:2/-1}}
.person-turn-history { margin-top:1.4rem;padding-top:1.25rem;border-top:1px solid var(--line); }
.person-turn-history-heading { display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1rem; }
.person-turn-history-heading h3 { margin:0;font:700 1.65rem "Playfair Display",serif; }
.person-turn-history-heading>span,.person-turn-history-empty { color:var(--muted);font-size:.8rem; }
.person-turn-history-list { display:grid;gap:.65rem; }
.person-turn-entry { overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#faf9f5; }
.person-turn-entry>summary { display:grid;grid-template-columns:.5fr 1.4fr .75fr;gap:1rem;align-items:center;padding:.85rem 1rem;cursor:pointer;list-style:none; }
.person-turn-entry>summary::-webkit-details-marker { display:none; }
.person-turn-entry>summary:before { content:"＋";grid-column:1/-1;grid-row:1;justify-self:end;color:var(--green);font-weight:800; }
.person-turn-entry[open]>summary:before { content:"−"; }
.person-turn-entry>summary>span { display:grid;gap:.2rem;min-width:0;padding-right:1rem; }
.person-turn-entry>summary small { color:var(--muted);font-size:.62rem;text-transform:uppercase;letter-spacing:.07em; }
.person-turn-entry>summary strong { overflow:hidden;text-overflow:ellipsis;font-size:.82rem; }
.person-turn-entry-body { display:grid;gap:1rem;padding:1rem;border-top:1px solid var(--line);background:var(--card); }
.person-turn-section h4 { margin:0 0 .65rem;color:var(--muted);font-size:.65rem;text-transform:uppercase;letter-spacing:.09em; }
.person-turn-decisions { display:grid;grid-template-columns:1fr 1fr;gap:.45rem; }
.person-turn-decisions span { display:flex;justify-content:space-between;gap:.75rem;padding:.55rem .65rem;border-radius:8px;background:#eef5ef;font-size:.75rem; }
.person-turn-decisions .wide { grid-column:1/-1; }
.person-turn-decisions b { text-align:right; }
.person-turn-changes { display:grid;grid-template-columns:1fr 1fr;gap:.4rem .8rem; }
.person-turn-changes span { display:flex;justify-content:space-between;align-items:start;gap:.8rem;padding:.45rem 0;border-bottom:1px solid var(--line); }
.person-turn-changes small { color:var(--muted);line-height:1.35; }
.person-turn-changes b { white-space:nowrap; }
.person-turn-changes .positive { color:var(--green); }
.person-turn-changes .negative { color:#a43e36; }
.person-turn-events { display:grid;gap:.35rem;margin:0;padding-left:1.25rem;font-size:.78rem; }
.person-turn-actions { display:flex;justify-content:flex-end;margin-top:.75rem; }

@media(max-width:600px) {
    .profile-header-actions { display:grid;justify-items:end; }
    .person-turn-entry>summary { grid-template-columns:1fr 1fr; }
    .person-turn-entry>summary>span:nth-of-type(2) { grid-column:1/-1;grid-row:2; }
    .person-turn-decisions,.person-turn-changes { grid-template-columns:1fr; }
    .person-turn-decisions .wide { grid-column:auto; }
}

.leaderboard-heading,.leaderboard-row {
    grid-template-columns:54px minmax(190px,1.35fr) minmax(150px,.8fr) minmax(90px,.45fr) minmax(180px,1fr);
}

.candidate-wealth,.person-main-occupation {
    display:flex;
    justify-content:space-between;
    gap:1rem;
    padding:.65rem .8rem;
    border-radius:9px;
    background:#eef5ef;
    color:var(--green);
}

.candidate-wealth { margin:.45rem 0 .8rem; }
.person-main-occupation { margin:.75rem 0; }
.person-main-occupation small { color:var(--muted); }

.partner-candidate .candidate-silhouette { height:auto;aspect-ratio:1/1; }
.partner-candidate .candidate-silhouette .partner-photo { width:100%;height:100%;object-fit:cover; }
.finder-profile-details { min-width:0; }
.finder-profile-details .candidate-summary { margin-top:12px; }
.candidate-requirements { margin:.7rem 0;padding:.8rem;border:1px solid var(--line);border-radius:10px;background:#faf9f5; }
.candidate-requirements h3 { margin:0 0 .65rem;font-size:.85rem; }
.candidate-requirements h4 { margin:.65rem 0 .35rem;color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.08em; }
.candidate-requirements p { display:flex;justify-content:space-between;gap:12px;margin:4px 0;font-size:.72rem; }
.candidate-requirements p strong { text-align:right; }
.candidate-requirements p.met strong { color:var(--green); }
.candidate-requirements p.unmet { color:#a43e36; }
.candidate-requirements p.unmet strong:after { content:" ✕"; }
.parenthood-preferences { margin-top:1rem; }
.parenthood-refusal { margin-top:8px;line-height:1.4; }
.parenthood-ready { margin-top:8px;line-height:1.4;color:var(--green);background:var(--green2); }
.living-standard-lock { display:block;margin-top:7px;color:#a43e36;font-weight:700;line-height:1.4; }
.current-partner-layout>.partner-metrics { align-content:start;grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
.current-partner-layout>.partner-metrics>.metric { min-width:0; }
.school-fixed-preview { margin:10px 0;padding:10px;background:#eef5ef;border-radius:8px; }
.university-quit-card { border-color:#d49b96;background:#fff4f2; }
.university-quit-card h2,.university-quit-card em { color:#a43e36; }
.partner-mini-silhouette { height:auto;aspect-ratio:1/1; }

@media(max-width:900px) {
    .leaderboard-heading { display:none; }
    .leaderboard-row { grid-template-columns:42px 1fr 80px; }
    .leaderboard-position { grid-column:1;grid-row:1; }
    .leaderboard-identity { grid-column:2;grid-row:1; }
    .leaderboard-score { grid-column:3;grid-row:1; }
    .leaderboard-stat { grid-column:2/-1;grid-row:2; }
    .leaderboard-result { grid-column:2/-1;grid-row:3; }
}
.death-estate-summary{width:min(620px,100%);margin:0 auto 22px;padding:14px 18px;border:1px solid #b7d1bf;border-radius:12px;background:#edf6ef;color:var(--green);text-align:left}.death-estate-summary p{margin:4px 0}

/* Creator and game-screen clarity pass. */
.creator-portrait-change{position:relative;display:block;width:100%;padding:0;border:0;background:transparent;color:inherit;cursor:pointer;border-radius:16px;overflow:hidden}.creator-portrait-change>span{position:absolute;left:12px;right:12px;bottom:12px;padding:10px 12px;border-radius:9px;background:#17251dd9;color:#fff;font-weight:800;box-shadow:0 5px 20px #0003;opacity:.9}.creator-portrait-change:hover>span,.creator-portrait-change:focus-visible>span{background:var(--green)}.creator-portrait-change .silhouette{height:350px}.portrait-picker-modal{width:min(620px,100%)}.portrait-picker-modal .portrait-options{margin-top:20px}.creator-core-traits{margin-top:12px}.creator-core-traits .sliders{display:grid;gap:8px}.creator-balance-note{margin:0 0 10px;color:var(--muted);font-size:12px;line-height:1.45}
.mobile-game-tabs{display:none}.energy-status-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin:12px 0}.energy-status-grid article{position:relative;padding:12px;border:1px solid;border-radius:10px}.energy-status-grid small,.energy-status-grid strong{display:block}.energy-status-grid small{font-size:10px;text-transform:uppercase;letter-spacing:.08em}.energy-status-grid strong{margin-top:4px;font:700 24px "Playfair Display",serif}.energy-balance-tile.rest,.energy-exhaustion-tile.falling{background:#e8f5eb;border-color:#aed4ba;color:#236442}.energy-balance-tile.fatigue,.energy-exhaustion-tile.rising{background:#fff0ee;border-color:#dfa7a1;color:#a43e36}.energy-exhaustion-tile.stable{background:#f4f3ed;border-color:var(--line);color:var(--muted)}.energy-exhaustion-tile em{position:absolute;right:10px;top:10px;font-style:normal;font-weight:900;font-size:17px}.menopause-note{margin:10px 0 4px;padding:9px 10px;border-radius:8px;background:#edf4ee;color:var(--muted);font-size:10px;line-height:1.4}.menopause-stability{display:block;text-align:center;color:var(--muted);font-size:9px}.profile-switch{border:1px solid #9dcbb0;background:#ecf7ef;color:var(--green);border-radius:8px;padding:8px 12px;font-weight:800;cursor:pointer}.floating-profile-switch{position:fixed;z-index:110;left:50%;bottom:7vh;transform:translateX(-50%);box-shadow:0 8px 24px #0003;white-space:nowrap}
.axis-input{-webkit-appearance:none;appearance:none;height:10px;border-radius:8px;background:linear-gradient(to right,transparent var(--axis-start),#76a98b var(--axis-start),#76a98b calc(var(--axis-start) + var(--axis-width)),transparent calc(var(--axis-start) + var(--axis-width))),linear-gradient(to right,transparent calc(50% - 1px),#1f684b calc(50% - 1px),#1f684b calc(50% + 1px),transparent calc(50% + 1px)),#dce9df}.axis-input::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:17px;height:17px;border:3px solid #fff;border-radius:50%;background:var(--green);box-shadow:0 1px 5px #1f684b66}.axis-input::-moz-range-thumb{width:12px;height:12px;border:3px solid #fff;border-radius:50%;background:var(--green);box-shadow:0 1px 5px #1f684b66}.axis-meter{position:relative;display:block;width:100%;height:7px;margin-top:7px;border-radius:7px;background:#dce9df;overflow:hidden}.axis-meter:after{content:"";position:absolute;left:calc(50% - 1px);top:0;width:2px;height:100%;background:#1f684b}.axis-meter u{position:absolute;left:var(--axis-start);top:0;width:var(--axis-width);height:100%;background:#76a98b;text-decoration:none}.worldview-list .metric,.partner-axes .metric{background:#edf5ef;border-color:#c9d9ce}.axis-metric summary{display:grid!important;grid-template-columns:1fr auto}.axis-metric .axis-meter{grid-column:1/-1}.school-card>div{grid-template-columns:1fr 1fr;gap:7px;border:0}.school-card>div span{padding:8px;border-radius:7px;background:#f4f3ed}.school-card>div span b{color:var(--green)}.card-context{display:block;margin:0 0 8px;color:var(--gold);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
@media(max-width:850px){.mobile-game-tabs{position:sticky;top:68px;z-index:8;display:grid;grid-template-columns:1fr 1fr;margin:14px 0 -20px;padding:4px;border:1px solid var(--line);border-radius:11px;background:rgba(244,241,233,.96);backdrop-filter:blur(12px)}.mobile-game-tabs button{border:0;border-radius:8px;padding:10px;background:transparent;color:var(--muted);font-weight:800;cursor:pointer}.mobile-game-tabs button.active{background:var(--card);color:var(--green);box-shadow:0 2px 9px #26392d18}.game-layout.mobile-show-profile .annual-plan-panel{display:none}.game-layout.mobile-show-plan .player-overview{display:none}.development-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.mini-stats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:851px){.player-overview{display:grid!important}.annual-plan-panel{display:flex!important}}
@media(max-width:520px){.mini-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.energy-status-grid{grid-template-columns:1fr}.floating-profile-switch{bottom:3vh;max-width:calc(100vw - 40px);white-space:normal}}
.person-death-entry{display:grid;grid-template-columns:1fr repeat(3,auto);gap:12px;margin-top:10px;padding:13px 15px;border:1px solid #d9a09a;border-radius:10px;background:#fff0ee;color:#8f3832;font-size:12px}.person-death-entry strong{font-size:13px}.person-death-entry span{color:#714b48}@media(max-width:520px){.person-death-entry{grid-template-columns:1fr}.person-death-entry span{display:block}}
