@import url('https://fonts.googleapis.com/css2?family=Gowun+Batang:wght@400;700&family=Noto+Sans+KR:wght@400;500;600;700;800&display=swap');
:root{--paper:#f8f4eb;--ink:#414453;--muted:#827d83;--accent:#7b687f;--line:#d9d3cb;--rose:#bb8e96;--mint:#8da89b}*{box-sizing:border-box}body{margin:0;background:#eee9e0;color:var(--ink);font-family:'Noto Sans KR',sans-serif;font-size:14px}button,input,select{font:inherit}button{cursor:pointer;color:inherit;background:#faf7f0;border:1px solid #d4ccd1;border-radius:7px;min-height:44px;padding:10px 16px;transition:background .2s,transform .2s}button:hover:not(:disabled){background:#ece5ed;transform:translateY(-1px)}button:disabled{opacity:.48;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:3px solid #a78dad;outline-offset:3px}.primary{background:var(--accent);color:#fff9ef;border-color:var(--accent);font-weight:600}.primary:hover:not(:disabled){background:#67536e}.text-button{border:0;background:transparent;color:var(--accent);padding:8px 0}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.site-nav{height:52px;max-width:1232px;margin:auto;padding:0 24px;display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:1px;border-bottom:1px solid var(--line)}.site-nav b{color:var(--accent)}main{max-width:1232px;margin:auto;padding:24px}.game-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;gap:16px}.eyebrow{font-size:9px;letter-spacing:2.2px;font-weight:600;color:var(--accent);margin:0 0 8px}.game-title h1{font-family:'Gowun Batang',serif;font-size:34px;margin:0;letter-spacing:-1px}.game-title h1 span{font-family:'Noto Sans KR',sans-serif;font-size:12px;font-weight:400;margin-left:12px;color:var(--muted);letter-spacing:0}.top-tools{display:flex;align-items:center;gap:14px}.top-tools span{font-size:10px;color:var(--muted)}.top-tools button{font-size:11px;background:transparent}.timeline{display:flex;gap:14px;align-items:center;background:#f9f5ec;border:1px solid var(--line);border-radius:10px 10px 0 0;padding:14px 20px}.season-icon{font-size:26px;color:#9e8599}.timeline strong{font-size:13px;display:block}.timeline>div>span{display:block;font-size:10px;color:var(--muted);margin-top:4px}.journey-track{flex:1;max-width:300px;height:4px;background:#e4ded9;margin:0 auto}.journey-track i{display:block;height:100%;background:#ad94ac;transition:width .4s}.timeline button{font-size:11px;border:0;background:transparent}.life-stage{position:relative;isolation:isolate;min-height:590px;display:grid;grid-template-columns:230px 1fr 242px;gap:10px;padding:28px 24px 20px;overflow:hidden;border:1px solid #d4cbbb;border-top:0;background:#ddd8cf}.room,.room-light{position:absolute;inset:0;z-index:-2}.room svg{width:100%;height:100%;object-fit:cover}.room-light{background:linear-gradient(90deg,#f0e9dd77,transparent 30%,transparent 70%,#e9dfd288);z-index:-1}.profile-sheet{align-self:start;background:#fbf7ecef;padding:22px 20px 10px;box-shadow:0 5px 22px #54494b13;border:1px solid #fff9ee;border-radius:3px;transform:rotate(-1deg);margin-top:12px}.identity{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.identity h2{font-family:'Gowun Batang',serif;font-size:25px;margin:0;overflow-wrap:anywhere}.identity>span{font-size:9px;color:#786781;background:#eae2e9;padding:4px 7px;border-radius:4px}.profile-age{font-size:10px;color:var(--muted);margin:7px 0 24px}.stat{margin-bottom:15px}.stat>div:not(.meter){display:flex;justify-content:space-between;margin-bottom:6px;font-size:11px}.stat strong{font-weight:600}.meter{height:10px;background:#e5ded5;border-radius:4px;overflow:hidden}.meter i{display:block;height:100%;background:#9c90ab;transition:width .5s}.vitality{border-top:1px dashed #d6cec3;padding-top:16px;margin-top:20px}.vitality>div:not(.meter){display:flex;justify-content:space-between;font-size:10px;margin-bottom:7px}.vitality .meter{margin-bottom:13px}.mint i{background:var(--mint)}.rose i{background:var(--rose)}.wallet{border-top:1px dashed #d6cec3;padding-top:14px;font-size:11px}.wallet strong{color:#9d7c5a}.profile-sheet .text-button{font-size:10px;width:100%;text-align:left;margin-top:12px}.text-button span{float:right}.character-center{position:relative;min-width:0;display:flex;align-items:center;justify-content:flex-end;flex-direction:column}.character-image{height:460px;width:100%;max-width:340px;filter:drop-shadow(0 14px 12px #5b4f4920)}.person-art{display:block;width:100%;height:100%;overflow:visible}.person-body{transform-origin:50% 90%;animation:breathe 5s ease-in-out infinite}.eyes{transform-origin:200px 140px;animation:blink 7s infinite}.character-quote{align-self:center;position:relative;background:#fffaf2e8;box-shadow:0 4px 20px #7e6a5810;border:1px solid #fffaf0;border-radius:12px;padding:12px 20px;text-align:center;max-width:300px;margin-bottom:-2px;z-index:1}.character-quote:after{content:'';position:absolute;left:48%;bottom:-9px;border-left:8px solid transparent;border-right:8px solid transparent;border-top:9px solid #fffaf2}.character-quote>span{font-size:8px;letter-spacing:1px;color:#a38f98}.character-quote p{font-family:'Gowun Batang',serif;font-size:14px;line-height:1.8;margin:4px 0}.character-nameplate{position:absolute;bottom:0;font-size:10px;color:#fff5e5;background:#6f6865b8;border:1px solid #e9d8c099;padding:5px 16px;border-radius:20px;letter-spacing:1px;max-width:95%;overflow-wrap:anywhere}.month-note{position:relative;background:#faf3e2f5;padding:30px 22px 20px;align-self:center;box-shadow:0 6px 22px #54463b20;border:1px solid #fff7e7;transform:rotate(1.5deg)}.paper-pin{position:absolute;left:37%;top:-11px;width:65px;height:24px;background:#c7b9c299;transform:rotate(-6deg)}.month-note h2{font-family:'Gowun Batang',serif;font-size:21px;line-height:1.5;margin:14px 0}.month-note>p:not(.eyebrow){font-size:11px;line-height:1.9;color:#837774}.current-plan{border-top:1px dashed #d7c9b5;margin:18px 0}.current-plan>div{display:flex;align-items:center;gap:10px;border-bottom:1px dashed #d7c9b5;padding:10px 0;font-size:11px}.current-plan em{font-family:serif;color:#b7a68d;font-size:15px}.month-note .primary{width:100%;font-size:11px;display:flex;justify-content:space-between;padding:12px}.month-note .small-note{font-size:9px!important;margin:12px 0 0}.chapter-footer{display:flex;justify-content:space-between;gap:12px;padding:14px 18px;font-size:10px;color:#8d7f81;border:1px solid var(--line);border-top:0;background:#f8f2e9;border-radius:0 0 10px 10px}.chapter-footer>span:first-child{letter-spacing:1px}.notice{font-size:11px;color:#7a6b7b;line-height:1.8;min-height:20px}.guide{margin-top:24px;border-top:1px solid var(--line);padding:18px 0;font-size:11px;color:var(--muted)}summary{cursor:pointer;min-height:36px;padding:8px 0}.guide p{max-width:900px;line-height:1.9}.ad-label{text-align:center;font-size:8px;color:#a89d96;letter-spacing:2px;margin:30px 0 8px}.ad-container{max-width:970px;margin:auto;overflow:hidden;min-height:90px}footer{max-width:1184px;margin:20px auto 0;padding:22px 0 35px;border-top:1px solid var(--line);display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}
.setup{display:grid;grid-template-columns:.9fr 1.4fr;gap:40px;padding:42px;background:radial-gradient(ellipse at 80% 20%,#e9e0ea,transparent 60%),#f8f3e9;border:1px solid #d9ced1;border-radius:12px}.setup-intro{align-self:center}.chapter-tag{font-size:10px;letter-spacing:1px;color:#987b8d}.setup h2{font-family:'Gowun Batang',serif;font-size:34px;line-height:1.6;font-weight:400;margin:24px 0}.setup-intro p{font-size:13px;line-height:2;color:var(--muted)}.character-choice{border:0;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:14px}.character-choice legend{font-size:11px;margin-bottom:12px;color:#847484}.character-choice label{position:relative;display:block;background:#efebe7;border:2px solid #ddd5d6;border-radius:10px;overflow:hidden;cursor:pointer}.character-choice label:has(:checked){border-color:#958298;background:#e4dce8;box-shadow:0 0 0 3px #a08b9d15}.character-choice label:has(:focus-visible){outline:3px solid #a78dad;outline-offset:3px}.character-choice input{position:absolute;top:12px;left:12px;accent-color:var(--accent);width:18px;height:18px;z-index:1}.choice-art{display:block;height:280px;overflow:hidden;padding-top:10px}.choice-art svg{height:350px;width:100%;object-fit:contain}.choice-name{display:flex;justify-content:space-between;background:#faf5ee;padding:12px 15px;font-size:12px}.choice-name b{color:var(--accent);visibility:hidden}.character-choice :checked~.choice-name b{visibility:visible}.equal-note{font-size:10px;color:var(--muted);margin:12px 0 22px}.name-label{display:flex;justify-content:space-between;margin-bottom:8px;font-size:11px}.name-label span{color:var(--muted);font-size:10px}.name-row{display:flex;gap:10px}.name-row input{min-width:0;flex:1;border:1px solid #cec4cb;background:#fffaf4;border-radius:7px;padding:12px;font-size:16px}.name-row button{font-size:12px;flex-shrink:0}#setupError{font-size:11px;color:#a05158;margin:8px 0;min-height:16px}.setup-foot{font-size:10px;color:var(--muted);line-height:1.9;margin-bottom:0}
dialog{border:1px solid #c9bcc9;border-radius:12px;max-width:670px;width:calc(100% - 32px);max-height:calc(100dvh - 32px);overflow:auto;padding:0;background:#faf6ee;color:var(--ink);box-shadow:0 25px 100px #27213140;overscroll-behavior:contain}dialog::backdrop{background:#35303c9c;backdrop-filter:blur(5px)}body:has(dialog[open]){overflow:hidden}.dialog-head{position:sticky;top:0;z-index:3;background:#faf6eef5;backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:22px 24px;border-bottom:1px solid var(--line)}.dialog-head h2{font-family:'Gowun Batang',serif;font-size:23px;margin:0}.dialog-head button{font-size:11px;flex-shrink:0}.dialog-intro{font-size:12px;line-height:1.8;color:var(--muted);margin:20px 24px}.plan-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 24px 12px}.plan-slot{display:flex;flex-direction:column;gap:8px;text-align:left;padding:12px;font-size:11px;background:#f0ece5}.plan-slot small{font-size:9px;color:var(--muted)}.plan-slot.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent);background:#ebe3eb}.slot-help{margin:12px 24px;font-size:11px;color:var(--accent)}.action-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 24px}.action-choice{text-align:left;display:grid;grid-template-columns:30px 1fr;gap:6px 8px;min-height:78px}.action-choice>span{font-size:22px;grid-row:1/3;color:#9f8ba4}.action-choice b{font-size:12px;font-weight:600}.action-choice small{font-size:10px;line-height:1.7;color:var(--muted)}.plan-preview{margin:20px 24px;padding:14px;background:#eee9df;color:#807675;font-size:11px;line-height:1.9;border-radius:6px}.dialog-bottom{padding:0 24px 24px}.dialog-bottom .primary{width:100%}.dialog-error{color:#a75061;font-size:11px;line-height:1.8;margin:0 24px 20px}.dialog-error:empty{display:none}.story-dialog{max-width:810px}.story-layout{display:grid;grid-template-columns:240px 1fr;min-height:400px}.story-portrait{background:linear-gradient(130deg,#ded4df,#e9e0cd);overflow:hidden;display:flex;align-items:flex-end}.story-portrait svg{height:400px;min-width:240px;margin-bottom:-30px}.story-copy{padding:24px}.story-copy .speaker{font-size:10px;letter-spacing:1px;color:var(--accent);margin:0 0 14px}.story-body{font-family:'Gowun Batang',serif;font-size:17px;line-height:2;margin:0 0 24px}.event-choice{width:100%;display:block;text-align:left;margin-top:10px;font-size:12px;padding:14px}.event-choice small{display:block;font-size:10px;line-height:1.7;color:var(--muted);margin-top:5px}.report-step{border-bottom:1px dashed var(--line);padding:12px 0}.report-step strong{font-size:12px}.report-step p{font-size:11px;color:var(--muted);line-height:1.8;margin:6px 0}.report-step small{font-size:10px;color:var(--accent)}.report-finance{font-size:11px;padding:10px 12px;background:#ede8dd;line-height:1.8;border-radius:6px}.review{border:1px solid #d6c59d;background:#f3ead6;padding:12px;border-radius:7px;font-size:11px;line-height:1.9;margin:15px 0}.story-copy>.primary{margin-top:20px;width:100%}.story-copy .event-result{font-family:'Gowun Batang',serif;line-height:1.9;font-size:15px}.outfits{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 24px 24px}.outfits button{padding:0;overflow:hidden;background:#e9e3e8}.outfits svg{height:220px;margin:8px 0 -20px}.outfits strong{display:block;font-size:11px;background:#f5efe5;padding:12px}.outfits small{display:block;font-size:9px;font-weight:400;margin-top:4px}.outfits [aria-pressed=true]{border:2px solid var(--accent)}.journal-body{padding:24px}.journal-body h3{font-family:'Gowun Batang',serif;font-size:19px}.journal-body>p{font-size:11px;color:var(--muted);line-height:1.8}.ending-hint{padding:12px 0;border-bottom:1px dashed var(--line)}.ending-hint strong{font-size:12px}.ending-hint span{float:right;font-size:10px;color:var(--accent)}.ending-hint p{font-size:10px;color:var(--muted);margin:5px 0 0;line-height:1.8}.journal-body ol{list-style:none;padding:0}.journal-body li{border-bottom:1px solid var(--line);padding:14px 0;font-size:11px;line-height:1.9}.journal-body li strong{color:var(--accent)}.journal-body li span{display:block;color:var(--muted)}.settings-body{padding:24px}.settings-body p{font-size:12px;color:var(--muted);line-height:1.9}.settings-body button{display:block;width:100%;margin-top:12px;text-align:left;font-size:12px}#confirmDialog{max-width:420px;padding:26px}#confirmDialog h2{font-size:20px;font-family:'Gowun Batang',serif}#confirmDialog p{font-size:12px;line-height:1.9}#confirmDialog form>div{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.ending-dialog{max-width:880px;background:radial-gradient(ellipse at 20% 40%,#ede2d0,#e7e0e9);padding:0}.ending-dialog[open]{display:grid;grid-template-columns:.85fr 1.15fr}.ending-close{position:absolute;right:15px;top:15px;z-index:2;font-size:11px;background:#f9f3ea}.ending-portrait{align-self:end;padding:35px 0 0}.ending-portrait svg{height:560px;margin-bottom:0}.ending-copy{padding:70px 36px 35px 12px}.ending-copy>span{font-size:11px;color:var(--accent)}.ending-copy h2{font-family:'Gowun Batang',serif;font-size:32px;line-height:1.5;margin:15px 0}.ending-copy>p{font-size:12px;line-height:2;color:#807483}.ending-copy #endingName{font-weight:700;color:var(--ink)}#endingStats{font-size:11px;padding:15px 0;border-top:1px solid #c9bfcb;border-bottom:1px solid #c9bfcb;line-height:2;color:#776b7d}.ending-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:24px}.ending-actions button{font-size:11px}.ending-foot{font-family:'Gowun Batang',serif}.ending-copy #shareStatus{font-size:10px}#shareText{width:100%;height:120px;font-size:12px;padding:10px}.error{color:#a24d5d!important}
@keyframes breathe{50%{transform:translateY(-3px) rotate(.3deg)}}@keyframes blink{0%,43%,47%,100%{transform:scaleY(1)}45%{transform:scaleY(.08)}}
@media(max-width:1000px){.life-stage{grid-template-columns:190px 1fr 210px;padding:20px 14px;gap:2px}.profile-sheet{padding:18px 14px}.month-note{padding:24px 15px 18px}.character-image{height:440px}.character-quote{max-width:230px;padding:10px 14px}.character-quote p{font-size:12px}.setup{padding:30px;gap:25px}.setup h2{font-size:28px}.name-row{flex-direction:column}.setup-intro p{font-size:12px}}
@media(max-width:720px){main{padding:18px 12px}.site-nav{padding:0 16px;height:44px;font-size:9px}.game-title{margin-bottom:16px;gap:8px}.game-title h1{font-size:27px}.game-title h1 span{display:block;font-size:10px;margin:5px 0 0}.game-title .eyebrow{font-size:7px}.top-tools{flex-direction:column;gap:6px;align-items:flex-end}.top-tools span{font-size:8px}.top-tools button{font-size:10px;min-height:38px;padding:7px 10px}.timeline{padding:10px 12px;gap:9px}.timeline strong{font-size:11px}.timeline>div>span{font-size:9px}.season-icon{font-size:21px}.journey-track{display:none}.timeline button{margin-left:auto;padding:7px 4px;font-size:10px}.life-stage{display:grid;grid-template-columns:1fr;min-height:0;padding:0;overflow:hidden}.room{bottom:auto;height:450px}.room-light{bottom:auto;height:450px}.character-center{grid-row:1;padding:18px 12px 8px;height:450px}.character-image{height:365px;max-width:260px}.character-quote{max-width:240px;margin-bottom:-2px;padding:8px 18px}.character-quote p{font-size:12px}.character-quote>span{font-size:7px}.character-nameplate{bottom:9px;font-size:9px}.profile-sheet{grid-row:3;transform:none;margin:0;padding:18px;border:0;border-top:1px solid #d8cbbc;box-shadow:none;background:#faf6ed}.identity{float:left}.identity h2{font-size:20px}.profile-age{float:right;margin:8px 0 20px}.stats{clear:both;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.stat{margin-bottom:5px}.vitality{margin-top:14px;padding-top:14px;display:grid;grid-template-columns:1fr 1fr;gap:7px 15px}.vitality>div:nth-child(2){grid-row:2;grid-column:1}.vitality>div:nth-child(4){grid-row:2;grid-column:2}.vitality>div:not(.meter){margin:0}.vitality .meter{margin:0 0 12px}.wallet{padding-top:10px}.profile-sheet .text-button{margin-top:6px}.month-note{grid-row:2;transform:none;margin:0;padding:18px;background:#f9f0df;border:0;border-top:1px solid #d6c9b8;box-shadow:none;display:grid;grid-template-columns:1fr 1fr;gap:8px 12px}.paper-pin,.month-note .eyebrow,.month-note .small-note{display:none}.month-note h2{font-size:17px;margin:0}.month-note #monthLine{grid-column:1/-1;font-size:10px;margin:0}.current-plan{grid-column:1/-1;display:flex;margin:0;border:0;gap:10px}.current-plan>div{flex:1;padding:8px 0;font-size:9px;gap:5px}.current-plan em{font-size:12px}.month-note button{grid-column:1/-1;margin-top:4px;font-size:12px!important;min-height:46px}.chapter-footer{font-size:8px;padding:12px}.chapter-footer>span:last-child{display:none}.setup{display:block;padding:24px 18px}.setup-intro{text-align:center}.setup h2{font-size:27px;line-height:1.5;margin:14px 0}.setup-intro p{font-size:11px;line-height:1.8}.chapter-tag{font-size:8px}.character-choice{gap:10px;margin-top:22px}.character-choice legend{font-size:10px}.choice-art{height:210px}.choice-art svg{height:270px}.choice-name{font-size:10px;padding:10px}.equal-note{font-size:9px;line-height:1.8}.name-row{flex-direction:column;gap:8px}.setup-foot{font-size:9px}footer{margin:16px 12px;font-size:9px;gap:10px}.dialog-head{padding:16px}.dialog-head h2{font-size:19px}.dialog-head .eyebrow{font-size:8px}.dialog-head button{padding:7px 10px;font-size:10px}.dialog-intro{margin:16px;font-size:11px}.plan-slots{margin:16px 16px 12px;gap:7px}.plan-slot{padding:10px 7px;font-size:10px;gap:7px}.plan-slot small{font-size:8px}.action-choices{margin:12px 16px;gap:8px}.action-choice{display:block;padding:12px 9px}.action-choice>span{font-size:18px;display:block;margin-bottom:5px}.action-choice b{font-size:11px}.action-choice small{display:block;font-size:9px;margin-top:5px}.slot-help{margin:12px 16px;font-size:10px}.plan-preview{margin:16px;font-size:10px;padding:12px}.dialog-bottom{padding:0 16px 18px}.dialog-bottom .primary{font-size:12px}.story-layout{grid-template-columns:76px 1fr;min-height:0}.story-portrait{align-items:flex-start;position:sticky;top:88px;align-self:start;border-radius:0 0 35px 0;height:130px}.story-portrait svg{min-width:150px;width:150px;height:235px;max-width:none;margin:0 0 0 -35px}.story-copy{padding:18px 14px 22px;min-width:0}.story-body{font-size:14px;line-height:1.9}.event-choice{font-size:11px;padding:12px}.event-choice small{font-size:9px}.report-step p{font-size:10px}.report-step small{font-size:9px}.report-finance{font-size:10px}.story-copy .event-result{font-size:13px}.story-copy>.primary{font-size:11px}.outfits{margin:16px;gap:7px}.outfits svg{height:150px;margin-bottom:-10px}.outfits strong{font-size:10px;padding:9px 4px}.outfits small{font-size:8px}.journal-body,.settings-body{padding:18px}.journal-body h3{font-size:18px}.ending-dialog[open]{display:block}.ending-portrait{height:270px;padding:20px 0 0;overflow:hidden;background:linear-gradient(130deg,#e5dac8,#d9cedf)}.ending-portrait svg{height:460px;max-width:300px;margin:auto}.ending-copy{padding:24px}.ending-copy h2{font-size:27px}.ending-copy>p{font-size:11px}.ending-close{font-size:10px;min-height:36px}.ending-actions button{font-size:10px}.dialog-error{margin:0 16px 16px}}
@media(max-width:360px){.story-layout{grid-template-columns:1fr}.story-portrait{display:block;position:relative;top:0;height:125px;border-radius:0}.story-portrait svg{height:240px;width:155px;min-width:155px;margin:4px auto 0}.story-copy{padding:18px}.choice-art{height:185px}.choice-art svg{height:245px}.profile-age{float:none;clear:both;margin:8px 0 15px}.current-plan{gap:5px}.current-plan>div{font-size:8px}.identity h2{font-size:19px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

@media(min-width:721px) and (max-height:760px){.life-stage{min-height:500px;padding-top:16px;padding-bottom:16px}.character-image{height:390px}.profile-sheet{padding-top:16px;margin-top:5px}.profile-age{margin-bottom:16px}.stat{margin-bottom:12px}.month-note{padding-top:24px}}

/* Readable attribute gauges; savings uses three months of living costs as a reference. */
.profile-sheet .meter{box-shadow:inset 0 1px 2px #51445315;border:1px solid #5144530c;border-radius:6px}
.profile-sheet .meter i{border-radius:5px;background-image:linear-gradient(0deg,#0000000a,#ffffff26)}
.stat strong,.vitality strong,.wallet strong{font-variant-numeric:tabular-nums}
.stat strong small{font-size:9px;font-weight:400;color:#827d83}
.stat-work .meter i{background-color:#8a789b}.stat-expert .meter i{background-color:#668ca4}.stat-social .meter i{background-color:#b28c60}
.vitality small{font-size:8px;font-weight:400;color:#827d83;margin-left:3px}
.meter.caution i{background-color:#b56564}.vitality:has(.caution) small{color:#98615b}
.wallet-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:9px}
.wallet .gold{height:12px;position:relative}.gold i{background-color:#b38b4b}
.wallet .gold:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent calc(33.333% - 1px),#faf6ed 33.333%,transparent calc(33.333% + 1px),transparent calc(66.666% - 1px),#faf6ed 66.666%,transparent calc(66.666% + 1px));pointer-events:none}
.money-ticks{display:flex;justify-content:space-between;font-size:8px;color:#827d83;margin-top:4px}
.wallet p{font-size:10px;color:#8d6c42;margin:8px 0 4px;line-height:1.5}
.wallet>small{display:block;font-size:8px;color:#827d83;line-height:1.6}
@media(max-width:720px){.stats{gap:10px}.stat>div:not(.meter){font-size:11px}.stat strong small{font-size:8px}.vitality{column-gap:10px}.vitality>div:not(.meter){flex-wrap:wrap;gap:4px}.wallet{padding-top:12px}.wallet>small{font-size:9px}}

/* Compare recurring income and expenses at the same scale. */
.monthly-budget{margin:16px 0 0;min-width:0}
.budget-card{border:1px solid #d8d1bf;border-radius:9px;background:#fffcf5;overflow:hidden;padding:12px;color:var(--ink);text-align:left}
.budget-title{font-size:10px;font-weight:600;line-height:1.5}.budget-title>span{display:block;margin-top:3px;font-size:9px;font-weight:400;color:#82756d}
.budget-figures{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin-top:12px}
.budget-figures>div{min-width:0}.budget-figures>div>span{display:block;font-size:11px;font-weight:500}.budget-figures b{font-size:14px;margin-right:3px}
.budget-figures strong{display:block;font-size:22px;font-weight:700;line-height:1.4;letter-spacing:-.8px;font-variant-numeric:tabular-nums;white-space:nowrap}
.budget-figures strong small{font-size:10px;font-weight:400;letter-spacing:0;margin-left:3px}
.budget-income{color:#417563}.budget-expense{color:#a25d59}
.budget-track{height:8px;border-radius:4px;background:#ede7dd;overflow:hidden;margin-top:6px}.budget-track i{display:block;height:100%;border-radius:4px;background:currentColor}
.budget-net{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:12px -12px 0;padding:10px 12px;background:#e8efe4;color:#466b4d}
.budget-net>span{font-size:11px}.budget-net strong{font-size:19px;white-space:nowrap;font-variant-numeric:tabular-nums}.budget-net small{font-size:10px;font-weight:400;margin-left:3px}
.budget-card .budget-caption{margin:8px 0 0;font-size:8px;line-height:1.7;color:#82756d}
.plan-budget{margin:16px 24px}.plan-budget .budget-title>span,.story-copy .budget-title>span{display:inline;margin-left:8px}
.plan-budget .budget-figures strong,.story-copy .budget-figures strong{font-size:25px}.plan-budget .budget-card,.story-copy .budget-card{margin-bottom:12px}
.month-note .current-plan{margin:12px 0}.month-note h2{margin-top:8px;margin-bottom:8px}
@media(min-width:721px) and (max-width:1000px){.monthly-budget .budget-card{padding:10px}.monthly-budget .budget-figures{gap:8px}.monthly-budget .budget-figures strong{font-size:19px}.monthly-budget .budget-net{margin-left:-10px;margin-right:-10px;padding:9px 10px}.monthly-budget .budget-title{font-size:9px}}
@media(max-width:720px){.monthly-budget{grid-column:1/-1;margin:4px 0 0}.monthly-budget .budget-title>span{display:inline;margin-left:6px}.month-note .current-plan{margin:0}.plan-budget{margin:16px}.budget-card .budget-caption{font-size:9px}.budget-figures{column-gap:18px}.budget-figures strong{font-size:24px}}
/* Empty-slot planner and a read-only playback of the committed month. */
.current-plan .empty{color:#8c7c99;border-bottom:1px dashed #b7a7ba}
.plan-count{margin:18px 24px 0;font-size:12px;font-weight:600;color:#6d5578}
.slot-wrap{position:relative;min-width:0}.slot-wrap .plan-slot{width:100%;height:100%;min-height:84px;padding-right:26px}
.plan-slot.empty{border:2px dashed #b8a9bd;background:#fffaf5;color:#8a7593}.plan-slot.active{background:#eee2f0;border-color:#85668f}
.plan-slot.filled{background:#e8eee5;border-color:#adc0a5}.plan-slot.active.filled{border-color:#85668f}
.clear-slot{position:absolute;top:2px;right:2px;border:0;background:transparent;min-height:32px;width:28px;padding:4px;font-size:18px}
#planDialog .dialog-bottom{position:sticky;bottom:0;z-index:4;background:#faf6eef5;border-top:1px solid #ded4dc;padding:14px 24px;backdrop-filter:blur(8px)}
#runMonth.ready{background:#527659;border-color:#43674b;box-shadow:0 0 0 4px #7f9d6726;animation:ready-glow 1.6s ease-in-out infinite;font-size:14px}
.action-choice[aria-pressed=true]{background:#eee3ee;border-color:#99839e}
.activity-dialog{max-width:650px}.activity-dialog .dialog-head h2{font-size:22px}.activity-dialog .dialog-head button{font-size:10px}
.activity-scene{height:255px;position:relative;overflow:hidden;background:linear-gradient(130deg,#d8e5df,#eee0cc);isolation:isolate}
.activity-window{position:absolute;top:20px;left:12%;width:32%;height:145px;border:7px solid #f7eee0;background:linear-gradient(#b7d5d7,#e6e3c9);box-shadow:inset 0 0 0 1px #c3bfb6}
.activity-window:after{content:'';position:absolute;left:50%;top:0;bottom:0;border-left:5px solid #f7eee0}
.activity-person{position:absolute;width:230px;height:355px;bottom:-123px;left:50%;transform:translateX(-50%)}
.activity-person .person-head{transform-origin:200px 190px;animation:activity-nod 1.5s ease-in-out infinite}
.activity-desk{position:absolute;left:6%;right:6%;bottom:0;height:52px;background:#b2997e;border-top:9px solid #dbc8aa}
.activity-laptop{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);width:148px;height:86px;border:5px solid #7f8c96;border-radius:7px;background:#d6e7df;padding:8px 12px;text-align:center;box-shadow:0 5px 0 3px #a2acb1}
.activity-laptop>span{display:block;color:#527666;font-size:10px;margin-bottom:8px}.activity-laptop i{display:block;height:4px;background:#82aa94;margin:5px 0;width:85%;animation:typing-line 1.4s steps(5) infinite}.activity-laptop i:nth-child(3){width:60%;animation-delay:.3s}.activity-laptop i:nth-child(4){width:72%;animation-delay:.6s}
.typing-dots{position:absolute;left:calc(50% + 90px);bottom:70px;color:#628572;letter-spacing:4px;animation:activity-bob .7s ease-in-out infinite}
.activity-book{position:absolute;bottom:22px;left:50%;width:150px;height:85px;transform:translateX(-50%) rotate(-5deg);background:#fff8e4;border:5px solid #b59b72;border-radius:3px 9px 9px 3px;padding:15px 9px;color:#8a7454;font-size:11px;box-shadow:0 4px #9d825d}
.activity-book i{position:absolute;right:0;top:0;height:100%;width:50%;background:repeating-linear-gradient(#fff8e4 0 15px,#d9cdb0 16px 17px);border-left:2px solid #d2bb94;transform-origin:left;animation:turn-page 2s ease-in-out infinite}
.scene-spark{position:absolute;right:20%;top:60px;color:#b59343;font-size:30px;animation:activity-bob 1.3s ease-in-out infinite}
.activity-coffee{position:absolute;bottom:13px;left:50%;transform:translateX(-50%);font-size:47px;white-space:nowrap;word-spacing:24px}.activity-coffee>span{display:inline-block;animation:coffee-cheer 1.5s ease-in-out infinite}
.chat-bubble{position:absolute;right:10%;top:25px;padding:12px;background:#fff7ef;border-radius:14px 14px 14px 0;font-size:12px;animation:activity-bob 1.6s ease-in-out infinite}
.scene-overtime{background:linear-gradient(130deg,#555a76,#8b8498)}.scene-overtime .activity-window{background:#777d9a}.activity-moon{position:absolute;top:35px;left:23%;font-size:48px;color:#f9e8a9}.scene-overtime .activity-laptop{box-shadow:0 0 35px #e2ecc768}
.scene-rest{background:linear-gradient(140deg,#d6e5ce,#f2e7ce)}.scene-rest .activity-desk{background:#bbbea0;border-color:#d8ddbc}.scene-rest .activity-person .person-head{animation:rest-sway 3s ease-in-out infinite}.activity-rest{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);white-space:nowrap;padding:10px 20px;border-radius:25px;background:#f7f3e3;color:#728369;font-size:12px}.rest-breath{position:absolute;top:50px;right:23%;color:#789579;animation:rest-sway 3s ease-in-out infinite}.scene-leaf{position:absolute;left:17%;bottom:45px;font-size:60px;color:#89a57b;animation:rest-sway 3s ease-in-out infinite}
.activity-package,.pay-envelope{position:absolute;bottom:18px;left:50%;transform:translateX(-50%);width:145px;height:90px;background:#d6b888;border:3px solid #b89b6d;border-radius:5px;text-align:center;padding:5px;color:#8d7043;font-size:32px;animation:parcel-bob 2s ease-in-out infinite}.activity-package span,.pay-envelope span{display:block;font-size:11px}.pay-envelope{background:#faf2d8;border-color:#d8bc77;color:#a38332}
.activity-copy{padding:18px 24px}.activity-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;list-style:none;padding:0;margin:0 0 16px}.activity-steps li{font-size:10px;color:#968991;border-top:4px solid #ded6dc;padding-top:8px;text-align:center}.activity-steps .current{border-color:#8c6c98;color:#71527e;font-weight:700}.activity-steps .done{border-color:#82997a;color:#6b825f}
.activity-live>p{font-size:13px;line-height:1.7;margin:8px 0}.activity-live #activityAdjusted{color:#996945;font-size:11px}.activity-live #activityAdjusted:empty{display:none}
.change-chips{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}.change-chip{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border-radius:6px;background:#e6eee0;color:#4e7151;font-size:11px}.change-chip.cost{background:#f2e3df;color:#a46059}.change-chip.neutral{background:#ede9e2;color:#827a73}.change-chip b{font-size:14px}.activity-live .change-chip{animation:gain-pop .45s ease-out both}
.activity-values{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:14px;background:#f0eae1;border-radius:8px}.activity-values>span{font-size:10px;color:#887a83}.activity-values strong{display:block;color:#514754;font-size:16px;margin-top:4px;font-variant-numeric:tabular-nums}.activity-values small{font-size:9px;font-weight:400;color:#8b7d87}
.activity-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:14px}.activity-controls>span{font-size:10px;color:#8a7d83}.activity-controls button{font-size:11px;white-space:nowrap}.activity-dialog.paused *{animation-play-state:paused!important}
@keyframes ready-glow{50%{box-shadow:0 0 0 7px #7f9d6712,0 5px 18px #52765930}}
@keyframes activity-nod{50%{transform:rotate(3deg) translateY(3px)}}@keyframes activity-bob{50%{transform:translateY(-8px)}}@keyframes rest-sway{50%{transform:rotate(-3deg) translateY(-4px)}}@keyframes typing-line{0%{clip-path:inset(0 100% 0 0)}100%{clip-path:inset(0)}}@keyframes turn-page{45%{transform:rotateY(-100deg)}85%,100%{transform:rotateY(0)}}@keyframes coffee-cheer{50%{transform:rotate(-12deg) translate(-8px,-6px)}}@keyframes parcel-bob{50%{transform:translateX(-50%) translateY(-6px)}}@keyframes gain-pop{from{opacity:0;transform:translateY(12px) scale(.93)}to{opacity:1;transform:none}}
@media(max-width:720px){.plan-count{margin:16px 16px 0;font-size:11px}.slot-wrap .plan-slot{padding:10px 22px 10px 7px;min-height:84px}.plan-slot strong{line-height:1.5}.clear-slot{width:24px}#planDialog .dialog-bottom{padding:12px 16px}.activity-dialog .dialog-head{padding:14px 12px;gap:8px}.activity-dialog .dialog-head h2{font-size:17px}.activity-dialog .dialog-head button{font-size:9px;padding:7px;max-width:85px}.activity-scene{height:210px}.activity-person{height:310px;bottom:-115px;width:200px}.activity-window{height:120px}.activity-copy{padding:14px}.activity-steps{gap:4px}.activity-steps li{font-size:8px}.activity-live>p{font-size:12px}.change-chip{padding:6px 8px;font-size:10px}.change-chip b{font-size:13px}.activity-values{padding:12px;gap:10px}.activity-controls>span{font-size:9px}.typing-dots{left:auto;right:5%;font-size:9px}.scene-spark{right:12%;top:35px}.chat-bubble{right:5%;top:15px;font-size:10px}.activity-laptop{width:135px;height:75px;bottom:15px}.activity-book,.activity-package,.pay-envelope{bottom:15px;height:75px}.activity-coffee{font-size:40px}.scene-leaf{left:8%;font-size:45px}}
@media(prefers-reduced-motion:reduce){.activity-dialog *,.plan-slot,#runMonth.ready{animation:none!important;transition:none!important}}
.current-plan>button{display:flex;align-items:center;gap:10px;width:100%;border:0;border-bottom:1px dashed #d7c9b5;border-radius:0;padding:10px 0;text-align:left;background:transparent;font-size:11px}
.current-plan>button.empty{background:#fefaf4;color:#897192;padding-left:8px;border:1px dashed #baa6bd;border-radius:5px;margin-bottom:5px}
@media(max-width:720px){.month-note .current-plan>button{font-size:9px!important;flex:1;gap:4px;min-width:0;margin:0;padding:8px 4px;line-height:1.6}}
.activity-dialog .dialog-head h2{word-break:keep-all;text-wrap:balance}
