:root{--bg: #f4f1ff;--card: #ffffff;--ink: #1d1838;--muted: #7a7596;--line: #e7e2fb;--primary: #6c4cf5;--primary-ink: #ffffff;--soft: #ece7ff;--soft-ink: #4b32c9;--danger: #ef4462;--danger-soft: #ffe7ec;--good: #22c55e;--warn: #f59e0b;--bad: #ef4444;--happy: #facc15;--health: #f43f5e;--smarts: #3b82f6;--looks: #ec4899;--shadow: 0 6px 24px rgba(60, 40, 160, .12);--radius: 18px;color-scheme:light}@media (prefers-color-scheme: dark){:root{--bg: #120f24;--card: #1e1a38;--ink: #f1eeff;--muted: #9c96bd;--line: #2d2752;--primary: #8b6dff;--soft: #2c2557;--soft-ink: #c8bbff;--danger-soft: #3a1c2a;--shadow: 0 6px 24px rgba(0, 0, 0, .4);color-scheme:dark}}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--ink);font-family:Nunito,ui-rounded,SF Pro Rounded,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:16px;overscroll-behavior:none;-webkit-font-smoothing:antialiased;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-text-size-adjust:100%}button{font:inherit;color:inherit;border:0;background:none;cursor:pointer;touch-action:manipulation}.feed,.sheet-body,.modal{overscroll-behavior:contain}button:disabled{cursor:default}input,select{font:inherit;user-select:text;-webkit-user-select:text}h1,h2,h3,p{margin:0}.muted{color:var(--muted)}.small{font-size:13px}.neg{color:var(--bad)}.app{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;max-width:720px;margin:0 auto}.main-col{flex:1;min-height:0;display:flex;flex-direction:column}.app-wide{flex-direction:row;max-width:1180px;gap:16px;padding:0 calc(env(safe-area-inset-right) + 16px) 0 calc(env(safe-area-inset-left) + 16px)}.app-wide .main-col{max-width:600px}.app-wide .top{border-radius:0 0 24px 24px}.app-wide .tabs{border-radius:24px 24px 0 0}.side{flex:1;min-width:340px;max-width:520px;display:flex;flex-direction:column;padding-top:calc(env(safe-area-inset-top) + 8px)}.side-head{padding:12px 4px 10px}.side-head h2{font-size:24px;font-weight:800}.side .sheet-body{padding:0 4px calc(env(safe-area-inset-bottom) + 24px)}.tab-on{color:var(--primary)}.tab-on span{transform:scale(1.12)}.tab span{transition:transform .15s}.top{display:flex;align-items:center;gap:12px;padding:calc(env(safe-area-inset-top) + 12px) 16px 14px;background:linear-gradient(135deg,#7c3aed,#db2777);color:#fff;border-radius:0 0 24px 24px;box-shadow:var(--shadow);flex-shrink:0}.top-avatar{font-size:34px;width:52px;height:52px;display:grid;place-items:center;background:#fff3;border-radius:50%}.top-info{flex:1;min-width:0}.top-name{font-weight:800;font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-sub{font-size:13px;opacity:.9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.top-money{text-align:right;font-weight:800;font-size:17px}.top-money .neg{color:#fecaca}.top-age{font-size:12px;font-weight:600;opacity:.9}.menu-btn{color:#fff}.menu-btn svg{width:24px;height:24px}.feed{flex:1;overflow-y:auto;padding:14px 16px 8px;-webkit-overflow-scrolling:touch}.year{background:var(--card);border-radius:var(--radius);padding:12px 14px;margin-bottom:10px;box-shadow:0 1px 0 var(--line)}.year-age{font-weight:800;color:var(--primary);font-size:14px;margin-bottom:4px}.year p{font-size:15px;line-height:1.4;padding:2px 0}.stats{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px;padding:10px 16px 26px;background:var(--card);border-top:1px solid var(--line);flex-shrink:0}.bar{display:flex;align-items:center;gap:8px;font-size:13px;margin:6px 0}.stats .bar{margin:0}.bar-label{width:76px;flex-shrink:0;font-weight:600;white-space:nowrap}.bar-track{flex:1;height:10px;background:var(--line);border-radius:99px;overflow:hidden}.bar-fill{height:100%;border-radius:99px;transition:width .4s ease}.bar-num{width:36px;text-align:right;font-weight:700;font-variant-numeric:tabular-nums}.bar-sm .bar-track{height:8px}.mini-bar{width:64px}.tabs{display:grid;grid-template-columns:1fr 1fr 1fr 80px 1fr 1fr 1fr;align-items:end;padding:6px 8px calc(env(safe-area-inset-bottom) + 8px);background:var(--card);flex-shrink:0}.tab{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:10.5px;font-weight:700;color:var(--muted);padding:6px 0;min-width:0;letter-spacing:-.2px}.tab span{font-size:21px}.tab:active{transform:scale(.94)}.age-btn{width:76px;height:76px;margin:-30px auto 0;border-radius:50%;background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 8px 20px #16a34a73,0 0 0 5px var(--card);transition:transform .1s}.age-btn:active{transform:scale(.92)}.age-btn:disabled{background:#a3a3b8;box-shadow:0 0 0 5px var(--card)}.age-plus{font-size:34px;font-weight:900;line-height:.9}.age-label{font-size:13px;font-weight:800}.sheet-wrap{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f0a2873;display:flex;align-items:flex-end;justify-content:center;z-index:20;animation:fade .15s ease}.sheet{width:100%;max-width:720px;height:calc(100% - env(safe-area-inset-top) - 24px);background:var(--bg);border-radius:24px 24px 0 0;display:flex;flex-direction:column;animation:slide-up .22s ease}.grabber{width:40px;height:5px;border-radius:99px;background:var(--line);margin:8px auto 0;flex-shrink:0}.sheet-head{display:flex;align-items:center;justify-content:space-between;padding:8px 16px 10px}.sheet-head h2{font-size:22px;font-weight:800}.sheet-body{flex:1;overflow-y:auto;padding:0 16px calc(env(safe-area-inset-bottom) + 24px)}.icon-btn{font-size:18px;width:40px;height:40px;border-radius:50%;display:grid;place-items:center}.sheet-head .icon-btn{background:var(--soft);color:var(--soft-ink)}.section{margin-bottom:18px}.section h3{font-size:15px;font-weight:800;margin:6px 2px 8px}.section>.muted{margin:-4px 2px 8px}.section-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left;background:var(--card);border-radius:14px;padding:4px 14px;margin-bottom:8px;box-shadow:0 1px 0 var(--line)}.section-toggle h3{margin:8px 0}.chevron{font-size:24px;font-weight:800;color:var(--muted);transition:transform .2s;line-height:1}.chevron-open{transform:rotate(90deg)}.card{background:var(--card);border-radius:var(--radius);padding:14px;margin-bottom:8px;box-shadow:0 1px 0 var(--line)}.card-dim{opacity:.6}.card-title{font-weight:800;font-size:17px}.card .row{padding:0;background:none;box-shadow:none;margin:0}.row{display:flex;align-items:center;gap:12px;width:100%;text-align:left;background:var(--card);border-radius:14px;padding:12px 14px;margin-bottom:8px;box-shadow:0 1px 0 var(--line)}.row-tap:active{transform:scale(.98)}.row-disabled{opacity:.5}.row-emoji{font-size:26px;width:34px;text-align:center;flex-shrink:0}.row-main{flex:1;min-width:0;display:flex;flex-direction:column}.row-title{font-weight:700}.row-sub{font-size:13px;color:var(--muted);line-height:1.3;margin-top:1px}.row-right{flex-shrink:0;font-weight:700}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:13px 18px;border-radius:14px;font-weight:800;width:100%;transition:transform .08s,opacity .15s}.btn:active:not(:disabled){transform:scale(.96)}.btn:disabled{opacity:.4}.btn-sm{padding:8px 14px;min-height:40px;font-size:14px;border-radius:11px;width:auto}.btn-primary{background:var(--primary);color:var(--primary-ink);box-shadow:0 4px 14px #6c4cf559}.btn-soft{background:var(--soft);color:var(--soft-ink)}.btn-ghost{background:transparent;color:var(--muted);border:1.5px solid var(--line)}.btn-danger{background:var(--danger-soft);color:var(--danger)}.btn-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.btn-row.center{justify-content:center}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:8px}.grid2 .btn{padding:14px 8px;font-size:14px}.chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.chip{padding:8px 13px;min-height:36px;border-radius:99px;background:var(--card);color:var(--muted);font-size:13px;font-weight:700;box-shadow:0 0 0 1.5px var(--line) inset}.chip-on{background:var(--primary);color:#fff;box-shadow:none}.link-btn{color:var(--primary);font-weight:700;padding:10px 2px 14px;font-size:16px}.tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.tile{position:relative;background:var(--card);border-radius:var(--radius);padding:16px 6px 12px;display:flex;flex-direction:column;align-items:center;gap:6px;box-shadow:0 1px 0 var(--line)}.tile:active{transform:scale(.95)}.tile-emoji{font-size:32px}.tile-label{font-size:13px;font-weight:700;text-align:center}.tile-badge{position:absolute;top:8px;right:10px;background:var(--danger);color:#fff;font-size:11px;font-weight:900;width:18px;height:18px;border-radius:50%;display:grid;place-items:center}.enroll{margin-top:10px}select,input{width:100%;padding:12px;border-radius:12px;border:1.5px solid var(--line);background:var(--bg);color:var(--ink);margin-bottom:8px}.money-card{display:grid;grid-template-columns:1fr 1fr;gap:10px}.money-card>div,.death-stats>div{display:flex;flex-direction:column}.money-card b{font-size:20px}.person-card{text-align:center}.person-face{font-size:56px}.person-card .bar{text-align:left}.menu{display:flex;flex-direction:column;gap:10px}.modal-wrap{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f0a288c;display:grid;place-items:center;padding:16px;z-index:50;animation:fade .15s ease}.modal{width:100%;max-width:380px;background:var(--card);border-radius:24px;padding:24px 20px 20px;text-align:center;box-shadow:0 20px 60px #0000004d;max-height:90vh;overflow-y:auto}.modal h2{font-size:21px;font-weight:800;margin-bottom:8px}.modal p{line-height:1.45;margin-bottom:18px}.modal-emoji{font-size:52px;margin-bottom:8px}.event-text{font-size:17px;font-weight:600}.choices{display:flex;flex-direction:column;gap:8px}.pop-in{animation:pop .22s cubic-bezier(.2,1.4,.4,1)}.start,.death,.meta-view{min-height:100%;max-width:480px;margin:0 auto;padding:calc(env(safe-area-inset-top) + 24px) 16px calc(env(safe-area-inset-bottom) + 24px)}.start{display:flex;flex-direction:column;justify-content:center}.logo{text-align:center;margin-bottom:32px}.logo-mark{width:96px;height:96px;margin:0 auto 14px;border-radius:28px;background:linear-gradient(135deg,#8b5cf6,#ec4899);overflow:hidden;box-shadow:0 12px 30px #8b5cf666}.logo-mark img{width:100%;height:100%;display:block}.logo h1{font-size:44px;font-weight:900;letter-spacing:-1px;background:linear-gradient(135deg,#7c3aed,#db2777);-webkit-background-clip:text;background-clip:text;color:transparent}.logo p{color:var(--muted);font-weight:600}.start-actions{display:flex;flex-direction:column;gap:10px}.custom{margin:0}.death{display:flex;flex-direction:column;gap:14px}.tomb{margin:16px auto 0;width:230px;padding:28px 16px 24px;background:linear-gradient(#9ca3af,#6b7280);color:#fff;border-radius:115px 115px 14px 14px;text-align:center;box-shadow:inset 0 -6px #00000026,var(--shadow)}.tomb-top{font-size:26px;font-weight:900;letter-spacing:4px;opacity:.9}.tomb-name{font-size:20px;font-weight:800;margin-top:10px}.tomb-years{font-size:15px;opacity:.9}.tomb-cause{font-size:13px;margin-top:8px;opacity:.85}.ribbon{align-self:center;background:linear-gradient(135deg,#f59e0b,#ef4444);color:#fff;font-weight:800;padding:8px 18px;border-radius:99px}.death-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px}.death-stats b{font-size:16px}@keyframes fade{0%{opacity:0}}@keyframes slide-up{0%{transform:translateY(100%)}}@keyframes pop{0%{transform:scale(.85);opacity:0}}.small-title{font-size:15px}.job-actions{display:flex;flex-direction:column;gap:6px;margin-top:10px}.job-action{display:flex;align-items:center;gap:10px;text-align:left;background:var(--soft);color:var(--soft-ink);border-radius:12px;padding:10px 12px;transition:transform .08s}.job-action:active:not(:disabled){transform:scale(.97)}.job-action:disabled{background:var(--bg);color:var(--muted)}.job-risky:not(:disabled){background:var(--danger-soft);color:var(--danger)}.ja-emoji{font-size:22px;width:28px;text-align:center;flex-shrink:0}.ja-text{display:flex;flex-direction:column;min-width:0}.ja-label{font-weight:700;font-size:15px}.ja-sub{font-size:12px;opacity:.8}.pos{color:var(--good)}.label-gap{margin:12px 2px 6px}.biz-head{text-align:center}.biz-name{font:inherit;font-weight:800;font-size:18px}.biz-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;text-align:left;margin:12px 0 8px}.biz-stats>div{display:flex;flex-direction:column}.biz-stats b{font-size:17px}.biz-head .bar{text-align:left}.history{display:flex;align-items:flex-end;gap:4px;height:44px;margin:6px 0 10px;padding:0 2px}.history-col{flex:1;height:100%;display:flex;align-items:flex-end}.history-bar{width:100%;background:var(--good);border-radius:4px 4px 2px 2px}.history-neg{background:var(--bad)}.code-box{width:100%;height:96px;padding:10px;margin:10px 0;border-radius:12px;border:1.5px solid var(--line);background:var(--card);color:var(--ink);font:16px ui-monospace,Menlo,monospace;resize:none;user-select:text;-webkit-user-select:text}
