@charset "UTF-8";
:root{color-scheme:dark;--bg:#171c31;--panel:#20263d;--panel2:#282e47;--text:#f4edea;--muted:#abaec0;--line:#3d425b;--rose:#e6b0be;--rose-dark:#b77891;--mint:#a6c9bc;--gold:#d9c09a;--radius:14px;font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;font-size:14px;line-height:1.8}*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 30% 10%,#2c2841 0,transparent 60%),var(--bg);color:var(--text);min-height:100vh}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.5;cursor:default}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--gold);outline-offset:4px}button,input,select{accent-color:var(--rose)}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.skip{position:fixed;top:-100px;left:20px;z-index:100;background:var(--rose);color:var(--bg);padding:8px 20px}.skip:focus{top:10px}.topbar{max-width:1380px;margin:auto;padding:20px 36px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #ffffff10}.portal{font-family:Georgia,serif;font-size:26px;font-weight:bold;letter-spacing:-1.8px}.portal span{color:var(--rose)}.wordmark{font-size:13px;letter-spacing:.15em}.text-link{color:var(--muted);font-size:12px}.eyebrow{font-family:Arial,sans-serif;color:var(--rose);font-size:10px;letter-spacing:.23em;line-height:1.7;margin:0 0 14px}.home{max-width:1080px;margin:64px auto 82px;display:grid;grid-template-columns:1.3fr 1fr;gap:85px;align-items:center;padding:0 30px}.home-intro h1{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(36px,4.4vw,58px);letter-spacing:.05em;line-height:1.4;font-weight:500;margin:20px 0 24px}.home-intro h1 span{display:block;color:var(--rose)}.lead{font-size:17px;line-height:2;letter-spacing:.07em}.home-description{color:var(--muted);font-size:13px;line-height:2.1;margin:20px 0 26px}.home-art{width:100%;max-width:480px;border:1px solid #a680942b;box-shadow:0 25px 60px #0b102840;border-radius:8px;overflow:hidden}.home-art svg{display:block;width:100%;height:auto}.art-footnote{color:#9a93a7;font-size:10px;letter-spacing:.09em;margin-top:12px}.start-panel{padding:32px;background:linear-gradient(145deg,#2b2d46,#23283f);border:1px solid #5a4b634f;border-radius:var(--radius);box-shadow:0 16px 50px #0c10232b}.start-panel h2{font-size:23px;letter-spacing:.08em;font-weight:500;margin:0 0 26px}fieldset{padding:0;border:0;margin:0 0 22px}legend,.field-label{display:block;font-size:12px;color:#d6d5df;margin-bottom:10px}.sex-picker{display:grid;grid-template-columns:1fr 1fr;gap:12px}.sex-picker label{position:relative;cursor:pointer}.sex-picker input{position:absolute;opacity:0}.sex-picker span{display:block;text-align:center;padding:10px;background:#1c2239;border:1px solid var(--line);border-radius:7px}.sex-picker input:checked+span{border-color:var(--rose);background:#514050;color:#ffdbdf}.sex-picker input:focus-visible+span{outline:3px solid var(--gold);outline-offset:3px}select{background:#1c2239;color:var(--text);border:1px solid var(--line);border-radius:7px;padding:10px 12px;max-width:100%}#minutes{width:100%}.field-hint{font-size:10px;color:var(--muted);line-height:1.8;margin:8px 0 18px}.check-label{font-size:11px;display:flex;align-items:center;gap:7px;margin:23px 0}.button{border:1px solid #66607966;background:var(--panel2);color:var(--text);border-radius:7px;min-height:44px;padding:10px 18px;display:inline-flex;align-items:center;justify-content:center;gap:15px;line-height:1.5;transition:background .15s}.button:hover{background:#353b55;text-decoration:none}.button.primary{background:var(--rose);border-color:var(--rose);color:#352539;font-weight:600}.button.primary:hover{background:#f0c3cc}.start{width:100%;justify-content:center;text-align:center;margin-top:2px}.start-note{font-size:10px;color:#aaa8bc;line-height:1.9;margin:16px 0 0}.resume{width:100%;margin-top:12px;border-color:#a6c9bc88;color:var(--mint)}.resume-description{font-size:10px;color:var(--mint);text-align:center;margin:7px 0}.history{border-top:1px solid var(--line);margin-top:22px;padding-top:14px;color:var(--muted);font-size:11px}.history summary{cursor:pointer}.history summary span{float:right}.history-item{padding:10px 0;border-bottom:1px solid #ffffff10}.history-item strong{color:var(--text);font-weight:400}.history-item small{display:block}.game{max-width:1380px;padding:25px 36px 45px;margin:auto}.game-heading{display:flex;align-items:center;justify-content:space-between}.game-heading .eyebrow{margin:0 0 3px;color:var(--muted)}.game-heading h1{font-size:13px;color:var(--muted);font-weight:400;margin:0}.game-heading h1 span{font-family:"Yu Mincho",serif;font-size:28px;color:var(--text);padding-left:12px;letter-spacing:.05em}.relationship-badge{border:1px solid #e6b0be55;background:#e6b0be0a;color:var(--rose);font-size:11px;padding:5px 16px;border-radius:30px}.controls{display:flex;align-items:center;gap:12px;margin:21px 0 22px;flex-wrap:wrap}.compact{min-height:36px;font-size:11px;padding:7px 14px}.speed-label{color:var(--muted);font-size:10px;display:flex;align-items:center;gap:8px}.speed-label select{padding:5px 8px;min-height:36px;font-size:12px}.auto-label{display:flex;align-items:center;font-size:11px;color:var(--muted);gap:5px}.quiet{border:0;background:transparent;color:var(--muted);font-size:11px;padding:8px;min-height:36px}.quiet:hover{color:var(--text);text-decoration:underline}#home-button{margin-left:auto}.game-grid{display:grid;grid-template-columns:185px minmax(0,1fr) 290px;gap:22px}.profiles{position:relative}.profile{background:#22283d;border:1px solid #ffffff0c;border-radius:10px;padding:20px}.profile .eyebrow{font-size:9px;margin-bottom:10px}.avatar{height:72px}.avatar svg{height:72px;width:52px}.profile h2{font-size:18px;letter-spacing:.08em;font-weight:500;margin:6px 0 0}.profile-age{font-size:11px;color:var(--muted);margin:0 0 14px}.profile dl{margin:0;font-size:10px;line-height:1.9}.profile dt{color:#9196ad;font-size:9px;margin-top:6px}.profile dd{margin:0;color:#d6d4df;overflow-wrap:anywhere}.mini-link{display:block;font-size:9px;color:#aaa2b7;margin-top:12px;line-height:1.7}.profile-heart{display:block;text-align:center;color:var(--rose);font-size:18px;height:32px;line-height:32px}.living{border:1px solid #65546966;background:var(--panel);border-radius:10px;overflow:hidden}.living-heading{padding:12px 17px;display:flex;align-items:center;justify-content:space-between;gap:10px}.living-heading h2{font-size:12px;font-weight:500;margin:0;letter-spacing:.08em}.living-heading>span{font-size:9px;color:var(--muted)}.scene{overflow:hidden}.scene svg{display:block;width:100%;aspect-ratio:16/9}.scene-caption{display:flex;gap:7px;align-items:center;padding:10px 16px;font-size:9px;color:var(--muted)}#save-state{margin-left:auto;font-size:8px}.live-dot{width:5px;height:5px;border-radius:50%;background:var(--muted)}.live-dot.running{background:var(--mint);box-shadow:0 0 7px #a6c9bc66}.gauges{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;background:var(--panel);border:1px solid #ffffff0c;padding:20px 18px 12px;border-radius:9px;margin-top:18px}.gauges>div{font-size:10px;color:var(--muted)}.gauges strong{float:right;color:var(--text);font-weight:400}.meter{height:4px;background:#41445d;border-radius:4px;margin-top:8px;overflow:hidden}.meter span{display:block;height:100%;background:var(--rose);width:64%;transition:width .3s}.meter.joy span{background:var(--gold)}.meter.money span{background:var(--mint)}.gauges>p{font-size:8px;margin:0;color:#989bb0;grid-column:1/-1}.source-tag{display:inline-block;font-size:8px;color:var(--mint);border:1px solid #a6c9bc33;padding:2px 8px;border-radius:4px}.family-status{font-size:10px;color:var(--muted)}.timeline-panel{background:var(--panel);border:1px solid #ffffff0c;border-radius:10px;align-self:start;overflow:hidden}.timeline-heading{padding:16px 18px;border-bottom:1px solid #ffffff0b;display:flex;align-items:center;justify-content:space-between}.timeline-heading h2{margin:0;font-size:12px;font-weight:500}.timeline-heading span{font-size:9px;color:var(--muted)}.timeline{padding:0 17px;max-height:650px;overflow:auto;scrollbar-width:thin;scrollbar-color:#55536c transparent}.log{position:relative;padding:17px 0 16px 15px;border-left:1px solid #51475f;margin-left:3px}.log:before{content:"";width:5px;height:5px;background:#77738c;border:3px solid var(--panel);position:absolute;left:-6px;top:22px;border-radius:50%}.log.milestone:before,.log.choice:before{background:var(--rose)}.log time{display:block;font-family:Arial,sans-serif;font-size:9px;color:#959bb3;line-height:1.5;margin-bottom:3px}.log strong{font-size:11px;font-weight:400;color:#e7d5dc}.log p{font-size:10px;color:#aeb2c5;line-height:1.9;margin:5px 0 0}.log .source-tag{font-size:7px;margin-top:6px}.footer{border-top:1px solid #ffffff0c;max-width:1308px;padding:24px 36px;margin:0 auto;display:flex;justify-content:space-between;gap:20px;font-size:9px;color:#9495ab}.footer nav{display:flex;gap:20px}.notice{max-width:1050px;color:var(--gold);font-size:11px;text-align:center;margin:20px auto;padding:0 20px}.notice:empty{display:none}dialog{background:#272b43;color:var(--text);border:1px solid #79627b99;border-radius:14px;padding:32px;width:min(510px,calc(100% - 32px));max-height:calc(100dvh - 40px);overflow:auto;box-shadow:0 25px 100px #030819aa}dialog::backdrop{background:#0e1424b8;backdrop-filter:blur(4px)}.dialog-top{display:flex;justify-content:space-between;gap:12px}.dialog-top .eyebrow{font-size:9px;color:var(--muted)}.choice-label{font-family:Arial,sans-serif;font-size:9px;color:var(--rose);letter-spacing:.16em}dialog h2{font-size:22px;font-weight:500;letter-spacing:.04em;margin:7px 0 15px}dialog>p{color:#c8c6d3;font-size:12px;line-height:2;margin-bottom:23px}.choices{display:flex;flex-direction:column;gap:10px}.choices .choice{border:1px solid #5d526b;background:#32344e;color:var(--text);padding:13px 16px;border-radius:8px;text-align:left;display:block;width:100%}.choices .choice:hover{background:#514054;border-color:var(--rose)}.choices .choice strong{display:block;font-weight:400;font-size:12px}.choices .choice small{display:block;font-size:10px;color:#b7b3c5;line-height:1.7;margin-top:5px}.choice-bottom{display:flex;justify-content:space-between;gap:16px;margin-top:21px;color:#aaa6bb;font-size:9px;align-items:center}.choice-bottom a{color:var(--mint)}.choice-bottom label{white-space:nowrap;display:flex;align-items:center;gap:4px}#support-info{border-top:1px solid #695567;margin-top:18px;padding-top:14px;font-size:10px;color:#d1c2cd;line-height:1.9}#support-info p{margin:0 0 8px}#support-info a{color:var(--mint);text-decoration:underline}.confirm-actions{display:flex;justify-content:flex-end;gap:12px}.ending{max-width:930px;margin:50px auto 70px;padding:0 28px}.ending-intro{text-align:center;max-width:600px;margin:auto}.ending-symbol{font-family:Georgia,serif;font-size:52px;line-height:1;color:var(--rose);margin:35px 0 20px}.ending h1{font-family:"Yu Mincho",serif;font-weight:400;font-size:30px;line-height:1.6;letter-spacing:.08em;margin:10px 0 22px}.ending-intro>p:not(.eyebrow):not(.ending-symbol){font-size:13px;line-height:2.2;color:#bdbaca}.ending-names{font-size:18px;color:var(--rose);margin:28px 0}.ending-stats{display:flex;justify-content:center;gap:45px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0}.ending-stats strong{font-size:21px;font-family:Georgia,"Yu Mincho",serif;font-weight:400}.ending-stats small{display:block;font-size:9px;color:var(--muted);margin-top:4px}.ending-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin-top:40px}.ending-grid h2{font-size:15px;font-weight:400;margin:0 0 20px}.memories ol{list-style:none;padding:0;margin:0;border-left:1px solid #6d546b}.memories li{position:relative;padding:0 0 23px 20px;font-size:11px;color:#c0bdcd}.memories li:before{position:absolute;content:"";width:5px;height:5px;background:var(--rose);border-radius:50%;left:-3px;top:8px}.memories time{display:block;font-size:9px;color:var(--muted)}.memories strong{font-weight:400;color:var(--rose)}.reflection>p{font-size:11px;line-height:2;color:var(--muted)}textarea{width:100%;resize:vertical;background:#20253a;border:1px solid #554b64;color:var(--text);padding:13px;border-radius:8px;font-size:12px;line-height:1.9}.reflection .button{display:flex;width:100%;margin-top:12px;font-size:12px}#share-message{color:var(--mint);font-size:11px}.source-page{max-width:820px;margin:55px auto 70px;padding:0 28px}.source-page h1{font-size:27px;font-weight:400}.source-page h2{font-size:18px;font-weight:400;margin:0 0 15px}.source-page section{padding:30px 0;border-top:1px solid var(--line);scroll-margin-top:25px}.source-page p,.source-page li{font-size:12px;line-height:2;color:#bfc1d0}.source-page a{text-decoration:underline;color:var(--mint)}.source-page table{width:100%;border-collapse:collapse;font-size:11px;margin:20px 0}.source-page th,.source-page td{text-align:left;padding:8px;border-bottom:1px solid var(--line)}.source-page th{color:var(--rose);font-weight:400}.source-page .formula{padding:15px;background:var(--panel);font-family:monospace;font-size:11px;overflow-wrap:anywhere}.source-page ul{padding-left:20px}.source-page .intro{margin-bottom:30px}.pixel-heart{animation:breathe 4s ease-in-out infinite;transform-origin:82px 30px}@keyframes breathe{50%{opacity:.5;transform:translateY(-1px)}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
@media(min-width:1500px){.game-grid{grid-template-columns:190px minmax(0,1fr) 310px}.home{margin-top:85px}}
@media(max-width:1100px){.game-grid{grid-template-columns:155px minmax(0,1fr);gap:18px}.timeline-panel{grid-column:1/-1}.timeline{max-height:300px;display:grid;grid-template-columns:1fr 1fr;gap:0 30px}.profile{padding:17px}.home{gap:45px}.home-intro h1{font-size:45px}}
@media(max-width:720px){.topbar{padding:16px 20px;gap:12px}.portal{font-size:23px}.wordmark{font-size:10px;letter-spacing:.03em}.text-link{font-size:9px}.home{display:flex;flex-direction:column;gap:35px;margin:34px auto 50px;padding:0 24px;max-width:500px;align-items:stretch}.home-intro h1{font-size:40px;margin:15px 0 20px}.home-intro h1 span{display:inline}.lead{font-size:14px;margin:18px 0}.home-description{font-size:11px;margin:18px 0}.home-art{max-width:none}.art-footnote{font-size:8px}.start-panel{padding:25px}.game{padding:20px 18px 35px}.game-heading h1 span{font-size:23px}.game-heading h1{font-size:11px}.game-heading .eyebrow{font-size:9px}.relationship-badge{font-size:9px;padding:4px 10px}.controls{gap:9px;margin:18px 0}.compact{font-size:10px;min-height:36px;padding:7px 10px}.speed-label{font-size:0;gap:0}.speed-label select{font-size:11px;max-width:62px}.auto-label{font-size:10px}.auto-label input{margin:0 2px 0 0}#home-button{margin-left:auto;font-size:9px;padding:3px}.game-grid{display:flex;flex-direction:column;gap:18px}.profiles{display:grid;grid-template-columns:1fr 1fr;gap:14px;order:1}.profile{padding:14px;display:grid;grid-template-columns:38px 1fr;column-gap:8px;align-content:start}.profile .eyebrow{grid-column:1/-1;font-size:8px;margin-bottom:7px}.avatar{height:53px;grid-row:2/4}.avatar svg{height:53px;width:38px}.profile h2{font-size:15px;margin:0}.profile-age{font-size:9px;margin:0 0 8px}.profile dl{grid-column:1/-1;display:grid;grid-template-columns:35px 1fr;align-items:baseline;font-size:9px;column-gap:7px}.profile dt{font-size:8px;margin-top:4px}.profile dt:last-of-type{grid-column:1/-1}.profile dd:last-child{grid-column:1/-1}.profile-heart{position:absolute;top:20px;left:calc(50% - 10px);background:var(--bg);width:20px;font-size:14px;height:22px;line-height:22px}.profile .mini-link{font-size:8px;grid-column:1/-1;margin-top:7px}.center-column{order:0}.timeline-panel{order:2}.timeline{display:block;max-height:330px}.living-heading{padding:10px 13px}.scene-caption{padding:9px 12px}.gauges{margin-top:13px;padding:15px 13px 10px;gap:12px}.gauges>div{font-size:9px}.gauges>p{font-size:7px}.footer{padding:22px 20px;font-size:8px;flex-direction:column;gap:10px}.footer nav{gap:15px;flex-wrap:wrap}dialog{padding:24px 21px;max-height:calc(100dvh - 32px)}dialog h2{font-size:20px}dialog>p{font-size:11px;line-height:1.95;margin-bottom:19px}.choices .choice{padding:11px 13px}.choices .choice strong{font-size:11px}.choices .choice small{font-size:9px}.choice-bottom{font-size:8px;margin-top:18px}.ending{margin-top:35px;padding:0 24px}.ending h1{font-size:26px}.ending-intro>p:not(.eyebrow):not(.ending-symbol){font-size:11px}.ending-stats{gap:25px}.ending-stats strong{font-size:18px}.ending-names{font-size:16px}.ending-grid{grid-template-columns:1fr;gap:35px;margin-top:32px}.ending-symbol{font-size:42px;margin:27px 0 20px}.source-page{margin-top:32px;padding:0 22px}.source-page h1{font-size:23px}.source-page th,.source-page td{padding:6px 3px;font-size:9px}.source-page p,.source-page li{font-size:11px}}

.log-detail{font:inherit;font-size:11px;border:0;background:transparent;padding:0;color:#e7d5dc;text-align:left;line-height:1.7}.log-detail:hover{text-decoration:underline}.yearbook{font-size:10px;color:var(--muted);padding:13px 0;border-bottom:1px solid var(--line)}.yearbook summary{cursor:pointer}.yearbook>div{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.year-button{font-size:9px;padding:5px 8px;background:#31364e;border:1px solid #5c536b;border-radius:4px;color:#cfbdca;min-height:32px}.record-entry{font-size:11px;color:#d3c9d5;line-height:2;padding:14px 0;border-top:1px solid var(--line)}.record-entry strong{font-weight:400;color:var(--rose)}.record-context{font-size:10px;color:var(--muted)}#record-close{margin-top:14px}#inspect{font-size:9px;margin-top:12px;padding:4px 0;text-decoration:underline}

.text-input{display:block;width:100%;background:#1c2239;border:1px solid var(--line);border-radius:7px;color:var(--text);padding:10px 12px;font-size:16px}.text-input::placeholder{color:#9498b0}.text-input:disabled{opacity:.4}.age-field{display:flex;align-items:center;gap:20px;margin:18px 0 24px}.age-input-wrap{display:flex;align-items:center;gap:8px;font-size:12px}.age-input-wrap input{width:92px}.age-random{display:flex;align-items:center;gap:5px;font-size:11px;padding-top:25px}.profile h2{overflow-wrap:anywhere}.hobby-chip{display:inline-block;font-size:10px;color:#d8c8d4;border:1px solid #e6b0be25;padding:1px 6px;border-radius:5px;margin:2px 4px 2px 0;line-height:1.8}
.highlight-reel{max-width:740px;margin:0 auto 30px}.reel-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.reel-heading .eyebrow{font-size:9px;margin-bottom:3px}.reel-heading h2{font-weight:400;font-size:17px;margin:0}.reel-heading>span{color:var(--muted);font-size:11px}.reel-frame{position:relative;border:1px solid #79627b66;border-radius:12px;overflow:hidden;background:#20263d;min-height:280px}.reel-art{overflow:hidden;aspect-ratio:16/9}.reel-art svg{display:block;width:100%;transform-origin:center;filter:brightness(.74)}.reel-frame.playing .reel-art svg{animation:memory-pan 5.2s ease-out both}.reel-caption{position:relative;padding:23px 28px 26px;background:linear-gradient(#292a40,#24273f)}.reel-caption time{font-size:10px;color:var(--rose)}.reel-caption h3{font:400 22px/1.8 "Yu Mincho",serif;letter-spacing:.06em;margin:5px 0 8px}.reel-caption p{font-size:12px;color:#cec8d5;line-height:2;margin:0}.reel-caption>span{font-size:10px;color:var(--muted)}.reel-progress{display:flex;gap:5px;margin-top:13px}.reel-progress span{height:3px;border-radius:2px;background:#464358;flex:1}.reel-progress span.seen{background:var(--rose)}.reel-controls{display:flex;align-items:center;gap:12px;margin-top:12px}.reel-controls .quiet{font-size:10px}#reel-skip{margin-left:auto}.reel-note{font-size:9px;color:var(--muted);text-align:right;margin:8px 0}.ending-reflection{text-align:center;max-width:600px;margin:45px auto 50px;scroll-margin-top:30px}.ending-reflection h2{font:400 23px/1.7 "Yu Mincho",serif;color:var(--rose)}.ending-reflection p{font-size:12px;color:var(--muted);line-height:2.2}@keyframes memory-pan{from{transform:scale(1)}to{transform:scale(1.055)}}@media(max-width:720px){.reel-caption{padding:18px}.reel-caption h3{font-size:18px}.reel-caption p{font-size:11px}.reel-controls{gap:4px;flex-wrap:wrap}.reel-controls .compact{font-size:10px}.reel-controls .quiet{font-size:9px;padding:5px}.ending-reflection h2{font-size:20px}.ending-reflection p{font-size:11px}}
.encounter{max-width:1000px;padding:0 30px;margin:45px auto 70px}.encounter-heading{margin-bottom:28px}.encounter-heading h1{font:400 32px/1.6 "Yu Mincho",serif;letter-spacing:.06em;margin:10px 0;overflow-wrap:anywhere}.encounter-heading>p:last-child{font-size:12px;color:var(--muted)}.encounter-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:38px;align-items:center}.encounter-scene{border:1px solid #65546966;border-radius:10px;overflow:hidden}.encounter-scene svg{display:block;width:100%}.encounter-you{color:var(--rose);font-size:16px;margin:16px 0 3px;overflow-wrap:anywhere}.encounter-meeting{font-size:11px;color:var(--muted)}.encounter-card{border:1px solid #65546966;border-radius:14px;background:linear-gradient(145deg,#2b2d46,#23283f);padding:27px}.draw-row{display:grid;grid-template-columns:105px minmax(0,1fr) 14px;gap:10px;align-items:baseline;border-bottom:1px solid #ffffff0d;padding:13px 0;min-height:56px}.draw-row>span{font-size:10px;color:var(--muted)}.draw-row strong{font-size:14px;font-weight:400;overflow-wrap:anywhere;line-height:1.8}.draw-row small{color:var(--mint);font-size:11px}.draw-row.drawing strong{color:var(--rose);opacity:.75}.draw-row.revealed strong{color:var(--text)}.draw-status{font-size:11px;color:var(--mint);margin:17px 0 9px}.encounter-card>.primary{width:100%;margin:10px 0}.encounter-card>.quiet{font-size:11px;padding-left:0}.encounter-card>.mini-link{border-top:1px solid #ffffff0d;padding-top:13px;margin-top:14px}
#choice-dialog{width:min(660px,calc(100% - 32px));padding:28px 30px}#choice-dialog::backdrop{backdrop-filter:none;background:#0e142480}#choice-dialog h2{font-size:22px;margin-bottom:8px}#choice-dialog .choice-summary{font-size:11px;color:var(--muted);margin:0 0 18px;overflow-wrap:anywhere}.choice-tabs{display:flex;gap:0;border-bottom:1px solid #665670;margin:0 0 20px;position:sticky;top:-28px;background:#272b43;z-index:1}.choice-tabs button{background:transparent;border:0;border-bottom:2px solid transparent;color:var(--muted);padding:12px 15px;font-size:12px;white-space:nowrap;min-height:44px}.choice-tabs button[aria-selected=true]{border-color:var(--rose);color:var(--rose)}#choice-text{font-size:13px;line-height:2;color:#d0cbd7;margin:0 0 20px}.choice-statistics{margin:22px 0 0;border-top:1px solid #ffffff18;padding-top:16px}.stat-heading{color:var(--mint);font-size:10px;margin:0 0 9px}.stat-fact{padding:8px 0 12px}.stat-fact+.stat-fact{border-top:1px solid #ffffff0b;padding-top:13px}.stat-value{font-family:Georgia,"Yu Mincho",serif;color:var(--mint);font-size:23px;font-weight:400;line-height:1.5}.stat-fact h3{font-size:12px;font-weight:400;margin:4px 0 7px}.stat-fact p{font-size:11px;color:var(--muted);line-height:1.9;margin:0 0 7px}.stat-fact a{font-size:9px;color:var(--mint);text-decoration:underline;display:inline-block;line-height:1.8}.context-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.context-grid h3{font-size:16px;font-weight:400;margin:0 0 9px}.context-person{display:flex;gap:12px;align-items:center;margin-bottom:14px}.context-person h3{color:var(--rose);margin:0;overflow-wrap:anywhere}.context-person p{font-size:11px;color:var(--muted);margin:0}.context-profile dl{margin:0}.context-profile dt{font-size:10px;color:var(--muted);margin-top:12px}.context-profile dd{font-size:12px;margin:3px 0;color:var(--text);overflow-wrap:anywhere}.context-relationship>p{font-size:12px;color:#c9c2d1;line-height:2}.context-gauges{display:grid;gap:18px;margin:20px 0}.context-gauges>div{font-size:11px;color:var(--muted)}.context-gauges strong{float:right;font-size:11px;font-weight:400;color:var(--text)}.context-note{font-size:10px;line-height:1.9;color:var(--muted)}.context-return{margin:22px 0 4px;width:100%;position:sticky;bottom:0;background:#3c3d56;box-shadow:0 -7px 15px #272b43}.context-log-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;font-size:11px;color:var(--muted)}.context-log-heading select{margin-left:8px;font-size:11px;padding:6px}.context-log{padding:0 5px}.context-log .log strong{font-size:12px}.context-log .log p{font-size:11px}.choice-statistics .context-note{margin:0}
@media(max-width:720px){.encounter{margin:28px auto 45px;padding:0 22px;max-width:520px}.encounter-heading h1{font-size:26px}.encounter-heading>p:last-child{font-size:11px}.encounter-grid{grid-template-columns:1fr;gap:22px}.encounter-visual{display:grid;grid-template-columns:100px 1fr;column-gap:16px;align-items:center}.encounter-scene{grid-row:1/3}.encounter-you{font-size:14px;margin:0}.encounter-meeting{font-size:10px;margin:0}.encounter-card{padding:20px}.draw-row{grid-template-columns:89px minmax(0,1fr) 12px;gap:8px}.draw-row strong{font-size:13px}.draw-row>span{font-size:9px}#choice-dialog{padding:22px 18px;max-height:calc(100dvh - 24px)}#choice-dialog h2{font-size:20px}.choice-tabs{top:-22px;margin-bottom:17px}.choice-tabs button{padding:10px 9px;font-size:11px;flex:1}#choice-text{font-size:12px}.choices .choice strong{font-size:12px}.choices .choice small{font-size:10px}.context-grid{grid-template-columns:1fr;gap:24px}.context-relationship{border-top:1px solid #ffffff18;padding-top:22px}.context-gauges{grid-template-columns:1fr 1fr 1fr;gap:12px}.context-gauges>div{font-size:9px}.context-gauges strong{display:block;float:none;font-size:12px;margin-top:4px}.stat-value{font-size:21px}.stat-fact h3{font-size:11px}.stat-fact p{font-size:10px}.stat-fact a{font-size:9px}.profile dl{grid-template-columns:1fr}.profile dt,.profile dd{grid-column:1/-1}.hobby-chip{font-size:9px;padding:1px 5px}.profile dd{line-height:1.9}}

.effect-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0}.effect-grid>div{min-width:0}.effect-grid dt{font-size:10px;color:var(--muted)}.effect-grid dd{margin:3px 0 0;display:flex;flex-direction:column;font-variant-numeric:tabular-nums;line-height:1.5}.effect-grid dd strong{font:500 23px/1.5 Arial,sans-serif}.effect-grid dd span{font-size:11px;color:var(--text)}.effect-grid dd small{font-size:10px;color:var(--muted)}.effect-up{color:var(--mint)}.effect-down{color:#ff9eac}.effect-same{color:var(--muted)}.effect-summary{font-size:10px;line-height:1.9;color:var(--muted);overflow-wrap:anywhere;margin:6px 0 0}.record-entry .effect-grid{margin:14px 0}.record-entry .effect-grid dd strong{font-size:20px}
@media(max-width:720px){.effect-grid{gap:8px}.effect-grid dt{font-size:9px}.effect-grid dd strong{font-size:21px}.effect-grid dd span{font-size:10px}}
@media(prefers-reduced-motion:reduce){.meter span{transition:none}}

/* Keep the playing surface in view; long archives scroll within their own panel. */
.profile-extra{grid-column:1/-1;margin-top:12px;border-top:1px solid var(--line);padding-top:10px;font-size:12px}
.profile-extra summary{cursor:pointer;color:var(--rose);padding:4px 0}
.profile-extra dl{margin-top:10px}
.household:has(.family-status:empty):not(:has(.family-status:not(:empty))){display:none}
.family-status:empty{display:none}
@media(min-width:1100px) and (min-height:580px){
  body[data-view=game]{height:100dvh;min-height:0}
  body[data-view=game] .topbar{height:52px;max-width:none;padding:0 24px}
  body[data-view=game] .topbar .text-link{font-size:12px}
  body[data-view=game] .footer{display:none}
  body[data-view=game] .game{max-width:none;height:calc(100dvh - 52px);padding:12px 24px 18px;display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:48px minmax(0,1fr);gap:12px 22px}
  .game-heading{gap:16px}
  .game-heading .eyebrow{font-size:11px;line-height:1.4}
  .game-heading h1{font-size:12px}
  .game-heading h1 span{font-size:24px}
  .relationship-badge{font-size:12px;padding:4px 12px;white-space:nowrap}
  .controls{justify-content:flex-end;gap:10px;margin:0;flex-wrap:nowrap}
  .controls .compact{font-size:13px;min-height:40px;padding:8px 13px}
  .speed-label,.auto-label,.controls .quiet{font-size:12px}
  .speed-label select{font-size:13px;min-height:40px}
  #home-button{margin-left:4px}
  .game-grid{grid-column:1/-1;min-height:0;grid-template-columns:minmax(230px,260px) minmax(0,1fr) minmax(260px,290px);gap:16px}
  .game-grid>*{min-width:0;min-height:0}
  .profiles{display:flex;flex-direction:column;gap:12px;overflow:auto;scrollbar-width:thin;scrollbar-color:#66617d transparent;padding-right:3px}
  .profile{display:grid;grid-template-columns:40px minmax(0,1fr);column-gap:12px;align-content:start;padding:14px 15px;flex-shrink:0}
  .profile .avatar{grid-column:1;grid-row:1/4;height:62px;align-self:center}
  .profile .avatar svg{height:62px;width:40px}
  .profile .eyebrow{grid-column:2;grid-row:1;font-size:10px;line-height:1.4;margin:0}
  .profile h2{grid-column:2;grid-row:2;font-size:18px;margin:2px 0;line-height:1.5}
  .profile-age{grid-column:2;grid-row:3;font-size:13px;margin:0;line-height:1.5}
  .profile dl{grid-column:1/-1;display:grid;grid-template-columns:72px minmax(0,1fr);gap:8px 10px;margin:14px 0 0;font-size:13px;line-height:1.6}
  .profile dt{font-size:12px;color:var(--muted);margin:0}
  .profile dd{font-size:13px;color:#e0dce6;margin:0}
  .profile .mini-link{grid-column:1/-1;font-size:11px;margin-top:12px}
  .profile-extra{font-size:12px;margin-top:12px}
  .profile-extra dl{display:block;font-size:13px;margin:10px 0 0}
  .profile-extra dt{margin:10px 0 3px}
  .profile .hobby-chip{font-size:12px;line-height:1.6}
  .profile-heart{display:none}
  .center-column{display:grid;grid-template-rows:minmax(140px,1fr) auto auto;gap:10px;min-height:0}
  .living{display:flex;flex-direction:column;min-height:0;order:0;background:#24263b;position:relative}
  .living-heading{padding:8px 14px;flex-shrink:0}
  .living-heading h2{font-size:13px}
  .living-heading>span{font-size:12px}
  .scene{flex:1;min-height:0;background:#36334b}
  .scene svg{height:100%;width:100%;aspect-ratio:auto}
  .scene-caption{padding:6px 12px;font-size:11px;flex-shrink:0}
  #save-state{font-size:10px}
  .gauges{order:1;margin:0;padding:11px 14px 8px;gap:7px 16px}
  .gauges>div{font-size:13px;line-height:1.6}
  .gauges strong{font-size:17px;font-variant-numeric:tabular-nums}
  .meter{height:6px;margin-top:6px}
  .gauges>p{font-size:10px;line-height:1.5}
  .household{order:2;border-top:1px solid var(--line);padding-top:7px;max-height:82px;overflow:auto;scrollbar-width:thin}
  .family-status{font-size:12px;line-height:1.6;margin:0;color:#c6c1d0}
  .timeline-panel{display:flex;flex-direction:column;height:100%;align-self:stretch;grid-column:auto}
  .timeline-heading{padding:11px 15px;flex-shrink:0}
  .timeline-heading h2{font-size:14px}
  .timeline-heading>span{font-size:12px}
  .timeline{min-height:0;flex:1;max-height:none;padding:0 14px;display:block;overscroll-behavior:contain}
  .yearbook{font-size:12px;padding:11px 0}
  .year-button{font-size:12px}
  .log{padding:12px 0 13px 13px}
  .log time{font-size:11px}
  .log-detail{font-size:14px}
  .log p,.effect-summary{font-size:12px;line-height:1.7}
  .log .source-tag{font-size:10px}









  #choice-dialog{width:min(1000px,calc(100% - 48px));padding:18px 24px;max-height:calc(100dvh - 32px)}
  #choice-dialog h2{line-height:1.4;margin:3px 0 5px}
  #choice-dialog .choice-summary{font-size:13px;line-height:1.6;margin-bottom:7px}
  #choice-dialog .dialog-top .eyebrow{margin-bottom:0;font-size:11px;line-height:1.4}
  .choice-tabs{top:-18px;margin-bottom:12px}
  .choice-tabs button{font-size:14px;padding:8px 18px;line-height:1.6;min-height:40px}
  #choice-panel-choose{display:grid;grid-template-columns:1.1fr 1fr;grid-template-rows:auto auto auto;align-items:start;gap:0 25px}
  #choice-text{grid-column:1;font-size:14px;line-height:1.8;margin-bottom:13px}
  .choices{grid-column:1;gap:9px}
  .choices .choice{padding:11px 14px}
  .choices .choice strong{font-size:14px;line-height:1.6}
  .choices .choice small{font-size:12px;line-height:1.6;margin-top:3px}
  .choice-statistics{grid-column:2;grid-row:1/3;margin:0;border:0;border-left:1px solid var(--line);padding:0 8px 0 23px;max-height:calc(100dvh - 290px);overflow:auto;scrollbar-width:thin;overscroll-behavior:contain}
  .stat-heading{font-size:12px}
  .stat-fact{padding:0 0 10px}
  .stat-fact h3{font-size:14px}
  .stat-fact p,.choice-statistics .context-note{font-size:12px;line-height:1.8}
  .stat-fact a{font-size:11px}
  .choice-bottom{grid-column:1/-1;font-size:12px;margin-top:12px}
  #support-info{grid-column:1/-1;font-size:12px}
  #inspect{font-size:12px;min-height:32px;margin-top:8px;line-height:1.6}
}
@media(min-width:1100px) and (min-height:580px) and (max-height:699px){
  .center-column{grid-template-rows:minmax(100px,1fr) auto auto}
  .household{max-height:64px}
}

.player-settings{margin:0 0 22px;border:1px solid var(--line);border-radius:8px;background:#20253b}
.player-settings>summary{cursor:pointer;padding:12px 14px;font-size:14px;line-height:1.6}
.player-settings>summary span{color:var(--muted);font-size:12px;margin-left:8px}
.player-settings-body{padding:0 15px 16px}
.player-settings-body .field-label{font-size:13px;margin:15px 0 7px}
.player-settings-body select{width:100%;font-size:14px}
.settings-hint{font-size:12px;line-height:1.8;color:var(--muted);margin:9px 0 12px}
.income-input{display:flex;align-items:center;gap:10px;font-size:14px}
.income-input input{min-width:0}
.hobby-mode{margin:18px 0 12px;display:flex;flex-wrap:wrap;gap:12px;font-size:14px}
.hobby-mode legend{font-size:13px}
.hobby-mode label{display:inline-flex;gap:5px;align-items:center}
.hobby-picker{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.hobby-picker label{display:flex;align-items:flex-start;gap:5px;font-size:13px;line-height:1.6;padding:5px 0}
.hobby-picker input{margin-top:5px;flex-shrink:0}
#reset-profile{font-size:12px;padding-left:0;color:var(--rose)}
.encounter-self-profile{font-size:13px;line-height:1.9;color:#cfc9d7;overflow-wrap:anywhere}
@media(max-width:720px){.encounter-self-profile{grid-column:1/-1;font-size:12px}.hobby-picker{grid-template-columns:1fr}.player-settings-body{padding:0 12px 14px}}

.timeline .log p{font-size:13px;line-height:1.8}.timeline .log-detail{font-size:14px}
@media(min-width:1100px) and (min-height:580px){.timeline .log p{font-size:14px;line-height:1.75}}
@media(max-width:720px){.timeline-panel{order:1}.profiles{order:2}}

/* Prepending new events keeps older entries stable while reading. */
.timeline{overflow-anchor:none}.log.automatic:before{background:var(--mint)}.record-entry>time{display:block;color:var(--muted);font-size:12px;margin-bottom:5px}

.gauge-heading{display:flex;flex-wrap:wrap;align-items:baseline;gap:7px;min-height:1.6em;white-space:nowrap}.gauges .gauge-heading strong{float:none;margin-left:auto}.gauge-delta{font:500 13px/1.6 Arial,sans-serif;font-variant-numeric:tabular-nums}.gauge-delta[hidden]{display:none}@media(max-width:720px){.gauge-heading{gap:5px}.gauge-delta{font-size:11px}}

@media(min-width:1100px) and (min-height:580px){#choice-dialog[data-event="care"] #choice-panel-choose{grid-template-columns:1.45fr 1fr}#choice-dialog[data-event="care"] .choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-height:calc(100dvh - 310px);overflow:auto;scrollbar-width:thin;overscroll-behavior:contain}#choice-dialog[data-event="care"] .choice{padding:10px 12px;min-width:0}}

#choice-dialog[data-notice="true"]{width:min(640px,calc(100% - 32px))}#choice-dialog[data-notice="true"] #choice-panel-choose{display:block}#choice-dialog[data-notice="true"] .choice-statistics{display:none}#choice-dialog[data-notice="true"] .choices{margin:22px 0}#choice-dialog[data-notice="true"] .choices .choice{text-align:center}
.choice-pagination{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px}.choice-pagination .button{min-height:44px;padding:8px 12px;font-size:12px;gap:6px}.choice-pagination [role=status]{font-size:11px;color:var(--muted);text-align:center;white-space:nowrap;font-variant-numeric:tabular-nums}.choice-pagination .button:disabled:hover{background:var(--panel2)}
@media(min-width:1100px) and (min-height:580px){.choice-pagination{grid-column:1;grid-row:3}.choice-statistics{grid-row:1/4}}

.input-privacy{font-size:13px;line-height:1.8;color:var(--mint);margin:0 0 22px}
.finance-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px 14px;padding:12px 14px;border:1px solid var(--line);border-radius:9px;background:var(--panel)}
.finance-summary>div>span{display:block;font-size:12px;color:var(--muted)}
.finance-summary>div>strong{display:block;font-size:17px;font-weight:400;font-variant-numeric:tabular-nums}
.finance-detail{grid-column:1/-1;font-size:12px;line-height:1.7}
.finance-detail>summary{cursor:pointer;color:var(--mint)}
.finance-detail>div{max-height:220px;overflow:auto;overscroll-behavior:contain;margin-top:10px}
.finance-breakdown{display:grid;grid-template-columns:1fr auto;gap:7px 12px;font-size:13px;line-height:1.6}
.finance-breakdown dt,.finance-breakdown dd{margin:0}.finance-breakdown dt{color:var(--muted)}
.finance-entries{list-style:none;padding:0;font-size:12px;line-height:1.7}.finance-entries li{padding:7px 0;border-bottom:1px solid var(--line)}.finance-entries strong{display:block;font-weight:400;color:var(--mint)}
.negative{color:#ff9aaa!important}#context-finance{border-top:1px solid var(--line);margin-top:14px;padding-top:8px}
@media(min-width:1100px) and (min-height:580px){.center-column{grid-template-rows:minmax(100px,1fr) auto auto auto}.finance-summary{order:2;padding:8px 12px;gap:2px 12px}.finance-summary>div>strong{font-size:16px}.household{order:3;max-height:48px}.profile dl{gap:5px 9px;margin-top:10px}.profile{padding:12px 13px}.profile .mini-link{margin-top:7px}.profile-extra{margin-top:8px}.profile-extra dl{display:block}.finance-detail>div{max-height:155px}}

@media(min-width:1100px) and (min-height:580px){.profile{grid-template-columns:34px minmax(0,1fr);padding:11px 13px}.profile .avatar,.profile .avatar svg{height:48px;width:32px}.profile dl{gap:3px 9px}.profile-extra{margin-top:5px}.profile .mini-link{margin-top:4px}.profiles{gap:10px}}

.income-input>span{white-space:nowrap;flex-shrink:0}.income-input>.text-input{min-width:0}

.history-button{display:block;width:100%;text-align:left;font:inherit;color:inherit;background:transparent;border:0;cursor:pointer}.history-button:hover strong{text-decoration:underline}.history-button small{display:block}
.record-entry-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.record-entry-heading time{color:var(--muted);font-size:12px}.record-star{flex-shrink:0;min-width:44px;min-height:44px;padding:4px;border:1px solid var(--line);border-radius:6px;background:transparent;color:var(--muted);font-size:24px;line-height:1}.record-star[aria-pressed="true"]{color:var(--gold)}
.ending-toolbar{max-width:1080px;margin:26px auto 0;padding:0 30px}.ending-toolbar p{font-size:13px;color:var(--rose);line-height:1.8}.memories .log-detail{font-size:inherit}
.gauges .asset-balance>strong{display:block;float:none;font-size:22px;line-height:1.5;font-variant-numeric:tabular-nums}.asset-balance>small{display:block;color:var(--muted);font-size:11px}.asset-balance .gauge-heading{white-space:normal;line-height:1.5}.context-gauges{grid-template-columns:1fr 1fr}

.finance-detail h4{font-size:14px;font-weight:500;margin:18px 0 8px;color:var(--text)}.finance-breakdown dd{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.cost-source{color:var(--mint);padding:3px 5px}.transaction-detail>summary,.budget-adjustments>summary{cursor:pointer;color:var(--text);font-size:13px}.transaction-detail>summary>span{display:block}.transaction-detail>summary>strong{display:block;color:var(--mint)}.budget-adjustments{font-size:13px}.transaction-detail .finance-breakdown{font-size:13px}.finance-detail .context-note{font-size:13px;line-height:1.8}@media(max-width:480px){.finance-breakdown{grid-template-columns:minmax(0,1fr) auto;font-size:13px;gap:8px}.finance-breakdown dt{overflow-wrap:anywhere}.finance-detail>div{max-height:55dvh}}

.account-breakdown{margin:14px 0;font-size:13px}.account-breakdown>summary{cursor:pointer;color:var(--mint)}#context-finance .finance-detail>div{max-height:300px}

@media(max-width:480px){.gauges{grid-template-columns:1fr 1fr}.gauges .asset-balance{grid-column:1/-1;border-top:1px solid var(--line);padding-top:9px}.asset-balance>strong{white-space:nowrap}.asset-balance>small{white-space:nowrap}.finance-summary{grid-template-columns:1fr 1fr}.finance-summary>div:nth-child(3){grid-column:1/-1}.finance-summary>div>strong{white-space:nowrap}}

/* Result sharing: familiar platform actions with a visible text preview. */
.result-share{margin:32px 0;padding:24px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}
.share-heading{margin-bottom:16px}.share-heading h2{margin:0;font-size:19px;font-weight:500}
.share-preview{display:block;box-sizing:border-box;width:100%;resize:none;min-height:150px;padding:14px 16px;border:1px solid var(--line);border-radius:8px;background:#151b2d;color:var(--text);font:inherit;font-size:14px;line-height:1.8;overflow-wrap:anywhere}
.share-socials{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px}.share-socials .button{gap:6px;font-size:15px;font-weight:600;text-align:center;padding:12px}.share-x,.share-threads{background:#12151c;border-color:#676b79}.share-line{background:#087f3e;border-color:#0d9950;color:#fff}.share-line:hover{background:#096b37}
.share-tools{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}.share-tools .button{font-size:14px;flex:1 1 auto}.share-tools [hidden]{display:none}.result-share .share-note{font-size:13px;line-height:1.8;color:var(--muted);margin:14px 0 0}.result-share #share-message{font-size:14px;min-height:1.5em;margin:8px 0 0}
@media(max-width:600px){.result-share{padding:18px 16px}.share-socials{gap:8px}.share-socials .button{font-size:14px;padding:10px 6px}.share-tools .button{flex-basis:100%}.share-preview{min-height:190px}}
