.life-game{--left-rail:220px;--right-rail:310px;--rail-gap:22px;background:#17251f}.life-stage{background:radial-gradient(ellipse at 48% 35%,#34483b,#16221c 78%)}.life-art{left:calc(24px + var(--left-rail) + var(--rail-gap));top:97px;width:calc(100% - var(--left-rail) - var(--right-rail) - 92px);height:49%;object-position:67% 35%;mask-image:linear-gradient(#000 68%,transparent 100%)}.life-light{left:calc(24px + var(--left-rail));right:calc(24px + var(--right-rail));width:auto;height:58%}.life-shade{background:linear-gradient(0deg,rgba(15,26,20,.8),transparent 68%)}.life-panel{left:calc(50% + (var(--left-rail) - var(--right-rail))/2);width:calc(100% - var(--left-rail) - var(--right-rail) - 120px);max-height:64%;bottom:9.5%}.life-narration{font-size:clamp(20px,1.7vw,26px);line-height:1.8}.life-choices{margin-top:22px}.life-choices button{padding:12px 14px;font-size:12px;min-height:57px}.life-header{left:24px;right:24px;top:18px}.life-footer{left:24px;right:24px}.life-enter{animation-duration:.45s}
.life-stats,.life-world{position:absolute;z-index:5;top:104px;bottom:80px;overflow:auto;scrollbar-width:thin;scrollbar-color:#526554 transparent}.life-stats{left:24px;width:var(--left-rail);padding:20px 18px;background:rgba(10,24,17,.64);border:1px solid #4e5e46}.profile-label{font-size:10px;letter-spacing:.1em;color:#bfc5ab}.life-stats h3{font-family:var(--display);font-size:29px;line-height:1.5;letter-spacing:-.04em;margin:6px 0}.life-stats>#playerAge{font-size:10px;color:#c0cbb7;margin-bottom:23px}.stat-line{margin-bottom:15px}.stat-line>div:first-child{display:flex;align-items:center;gap:7px;font-size:11px;margin-bottom:7px}.stat-line strong{margin-left:auto;font-size:14px;font-weight:500;line-height:1}.stat-line small{min-width:20px;text-align:right;font-size:10px}.delta-plus{color:#acd5a2}.delta-minus{color:#e6a590}.stat-track{height:5px;background:#35483a}.stat-track i{display:block;height:100%;transition:width .65s ease}.log-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;border-top:1px solid #4c5b44;padding-top:20px;margin-top:25px}.log-heading h4{font-size:11px;font-weight:500;margin:0}.log-heading>span{font-size:8px;opacity:.6}#liveLog{list-style:none;padding:0;margin:16px 0 0}#liveLog li{padding:0 0 15px 11px;border-left:1px solid #617157;position:relative}#liveLog li::before{content:"";position:absolute;left:-2px;top:5px;background:#a8bb88;width:3px;height:3px}#liveLog strong{display:block;font-size:10px;font-weight:500;line-height:1.65;color:#eee6cc}#liveLog p{font-size:9px;line-height:1.8;color:#aebca6;margin-top:5px}#liveLog .log-surprise strong{color:#e4c576}.game-rule-note{font-size:8px;color:#a8b29a;line-height:1.85;border-top:1px solid #46553f;padding-top:15px;margin-top:5px}
.life-world{right:24px;width:var(--right-rail);background:#d9ddc5;color:#2b3d30;border:2px solid #9aab85;box-shadow:0 8px 0 rgba(0,0,0,.2);padding:13px 12px 17px}.world-heading{display:flex;justify-content:space-between;gap:8px;font-size:10px;font-weight:500;line-height:1.6;margin-bottom:11px}.world-heading>span:last-child{font-size:8px;color:#617459}.pixel-frame{position:relative;border:3px solid #50684f;background:#bdd0ad;overflow:hidden}.pixel-frame canvas{display:block;width:100%;height:auto;image-rendering:pixelated;image-rendering:crisp-edges}.pixel-speech{position:absolute;top:10px;left:50%;transform:translateX(-50%);max-width:90%;width:max-content;background:#fff7dc;color:#3c4934;border:2px solid #7f8c68;padding:5px 9px;font-size:10px;line-height:1.5;text-align:center;box-shadow:2px 2px 0 rgba(0,0,0,.16)}.pixel-speech::after{content:"";position:absolute;bottom:-6px;left:50%;width:6px;height:6px;background:#fff7dc;border-right:2px solid #7f8c68;border-bottom:2px solid #7f8c68;transform:rotate(45deg)}.world-moment{padding:15px 0 16px;border-bottom:1px solid #a9b79a}.world-moment strong{font-family:var(--display);font-size:19px;font-weight:400;letter-spacing:-.04em}.world-moment p{font-size:10px;margin-top:5px;color:#667759}.bag-heading{display:flex;justify-content:space-between;font-size:10px;margin-top:17px}.bag-heading>span{border:1px solid #93a282;padding:0 5px;font-variant-numeric:tabular-nums}.memory-bag{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:11px;min-height:69px}.memory-bag>p{grid-column:1/-1;text-align:center;font-size:10px;color:#7a866b;line-height:1.8;padding:15px 0}.bag-item{background:#e6e8d4;border:1px solid #a3b18d;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:10px 3px;text-align:center}.bag-item small{font-size:8px;line-height:1.6}.pixel-item{width:16px;height:21px;background:#c6ac71;border:2px solid #7c7357;box-shadow:3px 3px 0 #bec8a5;position:relative}.pixel-item::after{content:"";position:absolute;inset:3px 2px;background:repeating-linear-gradient(#eee7bf 0 2px,#9f9b72 2px 3px)}.item-1{background:#91aa98;transform:rotate(-6deg)}.item-2{background:#c29787;transform:rotate(5deg)}.item-3{background:#91a6b3}.item-4{background:#ddc082}.life-badges{display:flex;flex-wrap:wrap;gap:5px;margin-top:12px}.life-badges>span{font-size:8px;padding:3px 6px;border:1px solid #a5b38f;background:#e6e8ce}.music-label{display:block;font-size:9px;margin:20px 0 7px;padding-top:15px;border-top:1px solid #a9b79a}#sceneMusic{width:100%;max-width:100%;padding:9px 7px;border:1px solid #98a782;background:#edf0db;color:#34472f;font-family:var(--body);font-size:10px;min-height:38px}.music-title{font-size:9px;color:#6a7b5b;margin-top:7px;line-height:1.6}
.choice-copy{flex:1}.choice-copy>span{display:block}.choice-preview{display:block;font-size:9px;font-weight:400;color:#c6d5b8;margin-top:5px}.choice-preview.challenge{color:#e8c882}.outcome-card{border:1px solid #6b7b59;background:rgba(15,31,22,.75);padding:13px 16px;margin-top:20px;display:inline-block;max-width:100%}.outcome-card>strong{display:block;font-size:14px;font-weight:500;color:#c8d7b2}.outcome-card.success>strong{color:#e8c87c}.outcome-card.surprise{border-color:#c2a75f}.outcome-card.surprise>strong{color:#f0cf7a}.outcome-card>p{font-size:10px;line-height:1.8;color:#cccfba;margin-top:6px}.outcome-deltas{display:flex;justify-content:center;gap:11px;flex-wrap:wrap;margin-top:8px;font-size:10px}.outcome-deltas>span{color:#b8d8a8}.outcome-deltas .negative{color:#dda795}
.birth-reveal{position:absolute;z-index:8;left:calc(24px + var(--left-rail) + var(--rail-gap));right:calc(24px + var(--right-rail) + var(--rail-gap));top:100px;bottom:75px;overflow:auto;background:#eee9dc;color:#2b4033;border-top:4px solid #a7b194;padding:34px 34px 26px;text-align:left;box-shadow:0 20px 80px rgba(0,0,0,.24)}.birth-intro .life-panel{visibility:hidden}.birth-intro .life-art,.birth-intro .life-light{opacity:.3}.birth-eyebrow{font-size:10px;letter-spacing:.07em;color:#64735e}.birth-reveal h2{font-family:var(--display);font-size:clamp(30px,3vw,46px);line-height:1.5;letter-spacing:-.06em;margin-top:18px}.birth-reveal h2 em{font-style:normal;color:#516f54}.birth-opening-line{font-size:12px;line-height:2;color:#697563;margin-top:17px}.birth-opening-line strong{font-size:16px;color:#314b38;font-weight:500}.birth-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:12px;margin-top:24px}.birth-grid>div{padding:17px 13px;background:#f8f5ec;border:1px solid #c0c9b4;min-width:0}.birth-grid span{display:block;font-size:9px;color:#6b7a61}.birth-grid strong{display:block;font-family:var(--display);font-weight:400;font-size:clamp(20px,2.1vw,32px);letter-spacing:-.05em;line-height:1.5;margin:7px 0}.birth-grid small{display:block;font-size:8px;line-height:1.7;color:#7b876f}.birth-family{font-size:11px;line-height:1.9;margin-top:21px;padding-bottom:18px;border-bottom:1px solid #c1cbb3}.birth-bottom-line{font-family:var(--display);font-size:18px;line-height:1.9;margin-top:20px;letter-spacing:-.035em}#birthRevealContinue{display:flex;justify-content:space-between;align-items:center;gap:35px;width:100%;min-height:52px;padding:14px 18px;margin-top:25px;background:#435e49;color:#fff7e7;border:1px solid #435e49;font-size:12px}.birth-source-button{display:block;border:0;background:none;color:#68785f;padding:13px 0;font-size:9px;text-decoration:underline;text-underline-offset:4px;min-height:40px}.birth-small-note{font-size:8px;color:#8b947d}.birth-reveal button:focus-visible{outline:2px solid #7d8e5e;outline-offset:4px}
@media(min-width:1500px){.life-game{--left-rail:250px;--right-rail:345px;--rail-gap:26px}.life-stats{padding:24px 22px}.life-narration{font-size:27px}}
@media(max-width:1150px) and (min-width:901px){.life-game{--left-rail:180px;--right-rail:245px;--rail-gap:14px}.life-stats{padding:16px 12px}.life-world{padding:10px 8px}.life-panel{width:calc(100% - var(--left-rail) - var(--right-rail) - 95px)}.life-narration{font-size:20px}.birth-reveal{padding:25px 20px}.birth-grid{grid-template-columns:1fr}.birth-grid>div{padding:10px}.birth-grid strong{font-size:23px}.birth-bottom-line{font-size:16px}.life-art{height:45%}.life-badges>span{font-size:7px}}
@media(max-width:900px){.life-game{--left-rail:0px;--right-rail:0px}.life-header{left:18px;right:12px;top:15px}.life-header nav{display:grid;grid-template-columns:repeat(2,max-content);gap:0}.life-header button{min-height:38px;font-size:9px}.life-header h2{font-size:17px}.life-header p{font-size:8px;max-width:180px}.life-stats{left:18px;right:18px;top:102px;bottom:auto;width:auto;height:68px;padding:9px 10px;display:flex;align-items:center;gap:11px;overflow:hidden}.life-stats .profile-label,.life-stats h3,.life-stats>#playerAge,.log-heading,#liveLog,.game-rule-note{display:none}#liveStats{display:flex;width:100%;justify-content:space-between;gap:9px}.stat-line{margin:0;flex:1;min-width:0}.stat-line>div:first-child{display:block;font-size:8px;margin-bottom:5px}.stat-line strong{display:block;font-size:13px;margin-top:5px}.stat-line small{display:none}.stat-track{height:3px}.life-art{left:18px;top:184px;width:calc(100% - 36px);height:35%;object-position:69% 20%;mask-image:linear-gradient(#000 70%,transparent 100%)}.life-game[data-family="2"][data-scene="A"] .life-art,.life-art[src$="hero-grandparents.webp"]{height:35%;object-position:100% 5%}.life-light{left:0;right:0;top:170px;height:35%}.life-world{right:19px;top:184px;bottom:auto;width:154px;padding:5px;height:178px;overflow:hidden;background:#d9ddc5d9}.world-heading{font-size:7px;margin:0 0 4px}.world-heading>span:last-child,.world-moment,.bag-heading,.memory-bag,.life-badges,.music-label,#sceneMusic,.music-title{display:none}.pixel-frame{border-width:2px}.pixel-speech{font-size:7px;padding:3px 5px;top:7px}.life-panel{left:50%;width:calc(100% - 40px);bottom:9%;max-height:54%;}.life-narration{font-size:19px;line-height:1.85}.life-choices{margin-top:19px;gap:8px}.life-choices button{font-size:10px;min-height:53px;padding:10px 12px;gap:10px}.choice-preview{font-size:8px;margin-top:3px}.outcome-card{margin-top:13px;padding:10px 13px}.outcome-card>strong{font-size:12px}.outcome-card>p{font-size:9px}.outcome-deltas{font-size:8px;gap:8px;margin-top:6px}.life-next{font-size:10px;margin-top:14px}.memory-kept{font-size:9px;margin-top:13px}.life-ending-choices{max-height:57%}.life-footer{left:18px;right:18px;font-size:8px;bottom:3.8%}.birth-reveal{left:18px;right:18px;top:184px;bottom:65px;padding:25px 23px}.birth-intro .life-world{z-index:9;top:210px;right:32px;width:126px;height:147px}.birth-intro .world-heading{font-size:6px}.birth-reveal h2{font-size:32px;max-width:57%;margin-top:15px}.birth-eyebrow{font-size:8px;max-width:70%}.birth-opening-line{font-size:10px;margin-top:15px}.birth-opening-line strong{font-size:14px}.birth-grid{margin-top:18px;gap:9px}.birth-grid strong{font-size:22px}.birth-grid>div{padding:11px 9px}.birth-grid span{font-size:8px}.birth-grid small{font-size:7px}.birth-family{font-size:10px;margin-top:15px;padding-bottom:13px}.birth-bottom-line{font-size:16px;margin-top:15px}.birth-reveal #birthRevealContinue{margin-top:18px;min-height:48px;font-size:11px}.birth-source-button{font-size:8px}.birth-small-note{font-size:7px}}
@media(max-width:360px){.birth-reveal{padding-inline:17px}.birth-reveal h2{font-size:27px}.birth-intro .life-world{width:105px;right:27px;height:130px}.birth-grid strong{font-size:18px}.life-world{width:132px;height:158px}.life-narration{font-size:17px}.life-choices button{font-size:9px}.choice-preview{font-size:7px}}
@media(max-height:740px) and (min-width:901px){.life-panel{max-height:64%;bottom:10%}.life-narration{font-size:18px}.life-choices{gap:6px;margin-top:14px}.life-choices button{padding:8px 12px;min-height:48px}.birth-reveal{padding-top:18px}.birth-reveal h2{font-size:29px;margin-top:11px}.birth-opening-line{margin-top:8px}.birth-grid{margin-top:12px}.birth-bottom-line{font-size:16px}.birth-family{margin-top:13px}}
@media(prefers-reduced-motion:reduce){.stat-track i{transition:none}.life-opening .life-choices{animation:none}}
.challenge-roll{position:absolute;inset:0;z-index:9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:15px;background:rgba(12,29,19,.94);border:1px solid #9caa73;color:#f2dfaa}.challenge-roll strong{font-family:var(--display);font-size:25px;font-weight:400}.challenge-roll p{font-size:12px;letter-spacing:.05em}.roll-dots{display:flex;gap:10px;margin-bottom:7px}.roll-dots i{width:13px;height:13px;background:#d9be73;box-shadow:3px 3px 0 #5a6749;animation:roll-step .6s steps(2,end) infinite}.roll-dots i:nth-child(2){animation-delay:.2s}.roll-dots i:nth-child(3){animation-delay:.4s}@keyframes roll-step{0%,100%{transform:translateY(0);opacity:.5}50%{transform:translateY(-9px);opacity:1}}
@media(min-width:901px){.stat-line>div:first-child{font-size:12px}.stat-line strong{font-size:16px}#liveLog strong{font-size:11px}#liveLog p{font-size:10px}}
.life-choices button:disabled{opacity:.47;border-style:dashed;background:rgba(31,41,32,.6);cursor:not-allowed}.life-choices button:disabled:hover{border-color:rgba(255,244,223,.35);background:rgba(31,41,32,.6)}.choice-preview.locked{color:#d7b7a0}.past-lives{border-top:1px solid var(--rule);margin-top:25px;padding-top:18px;font-size:12px}.past-lives summary{text-decoration:underline;text-underline-offset:4px;padding:7px 0}.past-lives>p{font-size:10px;color:var(--ink-soft);margin:8px 0 15px}.past-lives button{display:flex;justify-content:space-between;align-items:center;width:100%;gap:15px;text-align:left;padding:13px 0;border:0;border-bottom:1px solid var(--rule);background:none;color:var(--ink);min-height:48px}.past-lives button strong{font-size:12px;font-weight:500}.past-lives button span{font-size:10px;color:var(--ink-soft)}
.world-outcome{position:absolute;left:7px;right:7px;bottom:7px;padding:9px 7px;font-size:13px;font-weight:700;line-height:1.4;text-align:center;color:#fff6dc;background:#56734c;border:2px solid #b4c88b;box-shadow:2px 2px 0 #33462e;animation:result-arrival .45s steps(4,end) both}.world-outcome.failure{background:#5a7183;border-color:#b6ccce;color:#f2f0df}.world-outcome.surprise{background:#f2cf72;color:#5a4125;border-color:#fff0b4;font-size:17px}.world-outcome.steady{font-size:11px;background:#b6c19c;color:#344c36;border-color:#e5e9c7}.life-world[data-outcome="surprise"] .pixel-frame{box-shadow:0 0 20px rgba(232,195,95,.4)}.life-world[data-outcome="success"] .pixel-frame{border-color:#8da95e}.life-world[data-outcome="failure"] .pixel-frame{border-color:#7f97a7}.skip-actor-motion{display:block;margin:9px auto 0;padding:8px 12px;min-height:36px;border:0;background:none;color:#c5cfb9;font-size:10px;text-decoration:underline;text-underline-offset:4px}.life-next:disabled{opacity:.45;cursor:default}@keyframes result-arrival{from{opacity:0;transform:translateY(9px) scale(.92)}to{opacity:1;transform:none}}
@media(max-width:900px){.world-outcome{font-size:8px;padding:4px;bottom:5px;left:3px;right:3px}.world-outcome.surprise{font-size:10px}.world-outcome.steady{font-size:7px}.skip-actor-motion{font-size:9px}}
@media(prefers-reduced-motion:reduce){.world-outcome{animation:none}.life-world[data-outcome="surprise"] .pixel-frame{box-shadow:none}}
.birth-sex{margin:12px auto 18px;color:#3d5946;font-size:15px;line-height:1.7}.birth-sex small{display:block;color:#61715f;font-size:10px}
