:root{color-scheme:light;--ink:#173c34;--gold:#f7cd67;--paper:#f5f6ef;--muted:#73867b}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Hiragino Kaku Gothic ProN","Noto Sans JP","Yu Gothic",system-ui,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{cursor:default}button:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid #ebae32;outline-offset:4px}.app{max-width:1200px;margin:auto;padding:28px 40px 0}.masthead{display:flex;align-items:center;justify-content:space-between;margin-bottom:26px}.wordmark{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);font-weight:900;font-size:20px;letter-spacing:-.8px}.wordmark small{display:block;font-size:10px;letter-spacing:3px;margin-top:4px;font-weight:600}.brandcoin{width:41px;height:41px;border:2px solid var(--ink);border-radius:50%;display:grid;place-items:center;font-size:28px;background:var(--gold);box-shadow:3px 3px 0 var(--ink)}.brandlife{margin-left:4px}.header-right{display:flex;align-items:center;gap:20px}.edition{font-size:14px;font-weight:700}.iconbtn{border:1px solid #cad3c7;background:transparent;border-radius:50px;color:var(--ink);min-height:40px;padding:0 13px;font-weight:700;font-size:18px}.iconbtn span{font-size:11px}.iconbtn:disabled{opacity:.4}.game-shell{border:1px solid #193a32;border-radius:18px;overflow:hidden;box-shadow:0 8px 0 #dde4d8}.dashboard{display:flex;justify-content:space-between;align-items:center;background:#fffef8;padding:19px 27px;min-height:102px}.eyebrow{font-size:12px;font-weight:700;letter-spacing:.1em;color:#597267}.age-block>div,.time-block>div{display:flex;align-items:baseline;gap:6px;margin-top:1px}.age-block strong{font-size:35px;letter-spacing:-1px}.unit{font-size:13px}.wealth{text-align:center}.wealth>div{margin-top:3px;line-height:1.1}.wealth strong{font-variant-numeric:tabular-nums;font-size:39px;letter-spacing:-1.5px}.yen{font-size:24px;color:#8b9e8c;margin-right:7px}.time-block{min-width:118px}.time-block strong{font-size:28px;font-variant-numeric:tabular-nums}.time-block .iconbtn{margin-left:12px;min-height:34px;height:34px;width:34px;padding:0;font-size:16px}.playfield{position:relative;height:475px;background:#153e37;isolation:isolate;overflow:hidden}.scene{position:absolute;inset:0;background:#153e37 url('background.webp') center 66%/cover no-repeat;opacity:.88;z-index:-3}.scene-shade{position:absolute;inset:0;background:linear-gradient(180deg,#12382f88,transparent 70%,#102e29aa);z-index:-2}canvas{display:block;width:100%;height:100%;touch-action:none}.arena-caption{position:absolute;top:19px;left:24px;right:24px;display:flex;justify-content:space-between;pointer-events:none;color:#c4d9cb;font-size:11px;letter-spacing:2px}.arena-caption span:last-child{letter-spacing:.06em;font-size:12px;color:var(--gold)}.overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:35px;background:#10372b48;z-index:3;backdrop-filter:blur(2px)}#intro{justify-content:space-between;padding-left:9%;padding-right:11%}.intro-card{position:relative;z-index:1}.pill{display:inline-block;border:1px solid #f3d07b65;padding:6px 12px;border-radius:40px;font-size:12px;font-weight:700;letter-spacing:.09em;color:var(--gold)}h1{font-size:clamp(36px,4vw,52px);color:#fffbed;line-height:1.35;letter-spacing:.03em;margin:16px 0 14px}p{line-height:1.8}.intro-card>p{color:#ceddcf;font-size:14px;margin:0 0 22px}.primary{display:flex;align-items:center;justify-content:center;gap:26px;width:100%;padding:16px 25px;border:0;border-radius:9px;background:var(--gold);color:#21392d;font-weight:900;font-size:16px;box-shadow:0 4px 0 #b18737;transition:transform .15s,background .15s}.primary:hover{background:#ffe097;transform:translateY(-2px)}.primary:active{transform:translateY(2px);box-shadow:0 2px 0 #b18737}.intro-hint{display:flex;gap:22px;color:#afc8b7;font-size:11px;margin-top:19px}.hero-money{width:190px;height:190px;border-radius:50%;background:#edc55f;color:#284b36;box-shadow:0 0 0 12px #ffeab05c,0 16px 0 #a97930,0 0 80px #e4c36b22;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(-12deg);border:5px solid #ffe49b}.hero-money>span{font-size:110px;line-height:1;font-weight:900}.hero-money small{font-size:9px;font-weight:800;letter-spacing:1.5px}.field-bottom{position:absolute;bottom:17px;left:24px;right:24px;display:flex;justify-content:space-between;align-items:center;pointer-events:none;color:#cfdfd2;font-size:12px}.field-bottom button{pointer-events:auto;background:#f7ce69;color:#244532;border:1px solid #ffe4a6;border-radius:7px;font-size:12px;font-weight:800;padding:10px 13px}.field-bottom button:disabled{background:#163c32bb;border-color:#537364;color:#b6c7b8}.field-bottom button>span{margin-right:4px}kbd{font-size:9px;margin-left:8px;border:1px solid currentColor;padding:1px 4px;border-radius:3px}.life-track{padding:21px 28px 17px;background:#fffef8}.track{height:4px;background:#e4e9df;border-radius:5px}.track>div{width:0;height:100%;background:#dcad40;border-radius:5px}.chapters{display:flex;justify-content:space-between;margin-top:12px}.chapters>span{color:#8f9c91;font-size:11px}.chapters b{font-size:13px;margin-left:5px}.chapters small{display:block;font-size:10px;margin:5px 0 0 23px}.chapters .active{color:var(--ink)}.instructions{display:flex;gap:30px;justify-content:space-between;margin:31px 0 25px}.instructions>div{display:flex;gap:11px;align-items:center}.instruction-icon{border:1px solid #c6d1c2;display:grid;place-items:center;width:37px;height:37px;border-radius:50%;font-size:23px;flex-shrink:0}.instruction-icon.gold{color:#a77820;background:#f4e7bc;border-color:#e4d19d;font-weight:bold}.instruction-icon.red{color:#ba5844;background:#f3e0d8;border-color:#e6c5b8;font-weight:bold}.instructions p{margin:0}.instructions b{display:block;font-size:13px}.instructions p span{display:block;font-size:11px;color:#687c6e;margin-top:4px}footer{border-top:1px solid #d7dfd1;padding:19px 0 22px;display:flex;justify-content:space-between;font-size:11px;color:#7a8d7d}.event{position:absolute;top:60px;left:50%;transform:translate(-50%,-12px);opacity:0;transition:.3s;background:#ffdf84;color:#294b34;padding:10px 22px;border-radius:30px;font-weight:800;font-size:14px;white-space:nowrap;pointer-events:none;z-index:2}.event.show{opacity:1;transform:translate(-50%,0)}.hidden{display:none!important}.pause-card,.result-card{text-align:center;color:#fffbed;max-width:460px;width:100%}.pause-card h2{font-size:30px}.pause-card .eyebrow{color:var(--gold)}#paused,#result{background:#10342bef;backdrop-filter:blur(10px)}.result-card h2{font-size:25px;margin:15px 0 8px}.result-money{font-size:clamp(33px,4.5vw,51px);color:var(--gold);font-weight:900;letter-spacing:-1px}.result-card p{font-size:13px;color:#bed1c1;margin:6px 0 14px}.result-stats{display:flex;border-top:1px solid #52715a;border-bottom:1px solid #52715a;padding:15px 0;margin-bottom:20px;justify-content:space-around;gap:12px}.result-stats span{display:block;color:#bed1c1;font-size:11px}.result-stats strong{display:block;font-size:16px;margin-top:7px}
@media(min-width:1400px){.app{padding-top:38px}.playfield{height:510px}}
@media(max-width:760px){.app{padding:17px 16px 0}.masthead{margin-bottom:18px}.wordmark{font-size:17px}.wordmark small{font-size:8px;letter-spacing:2px}.brandcoin{width:34px;height:34px;font-size:23px}.edition{display:none}.header-right{gap:0}.dashboard{padding:15px 16px;min-height:93px}.wealth strong{font-size:29px}.yen{font-size:18px;margin-right:3px}.age-block strong{font-size:28px}.time-block{min-width:auto}.time-block strong{font-size:23px}.time-block .iconbtn{margin-left:3px;width:27px;min-height:29px;height:29px}.eyebrow{font-size:10px;letter-spacing:0}.playfield{height:480px;height:min(57svh,520px);min-height:350px}.arena-caption{left:16px;right:16px;font-size:9px;letter-spacing:1px}.arena-caption span:last-child{font-size:10px}#intro{padding:35px 25px;justify-content:center;text-align:center}.intro-card{width:100%;max-width:310px}h1{font-size:38px}.hero-money{display:none}.intro-hint{justify-content:center;gap:16px}.intro-card>p{font-size:13px}.pill{font-size:10px}.field-bottom{left:13px;right:13px;bottom:12px}.field-bottom>span{font-size:10px;max-width:43%}kbd{display:none}.field-bottom button{font-size:11px;padding:10px}.life-track{padding:17px 16px 13px}.chapters b{font-size:11px;margin-left:2px}.chapters>span{font-size:9px}.chapters small{font-size:9px;margin-left:15px}.instructions{display:grid;gap:14px;margin:25px 7px 20px}.instructions b{font-size:13px}.instructions p span{font-size:11px}.instruction-icon{width:32px;height:32px;font-size:20px}footer{font-size:10px;justify-content:center}footer span:last-child{display:none}.overlay{padding:24px}.result-card h2{font-size:23px}.result-stats{gap:5px}.result-stats strong{font-size:13px}.result-stats span{font-size:10px}.event{font-size:12px;padding:9px 15px;max-width:95%;white-space:normal;text-align:center}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* Large age portraits and an explicit magnet control. */
.life-person{display:flex;align-items:center;gap:13px}.portrait{font-family:"Apple Color Emoji","Segoe UI Emoji",sans-serif;font-size:83px;line-height:1;display:block;min-width:88px;text-align:center}.dashboard{min-height:122px;padding-top:16px;padding-bottom:16px}.chapters>span{flex:1;text-align:center;opacity:.55;transition:opacity .2s}.chapters>span.active{opacity:1}.chapters i{display:block;font-style:normal;font-size:31px;line-height:1.2;margin-bottom:7px}.chapters b{display:block;margin:0}.chapters small{margin:4px 0 0}.chapters .current i{transform:scale(1.18)}.chapters .current b{color:#976619}.chapters .current small{color:#976619;font-weight:800}.intro-hint{flex-wrap:wrap;gap:5px 16px}.field-bottom>span{font-size:12px;max-width:100%;background:#12372fbb;border-radius:20px;padding:7px 12px}.magnet-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 27px;background:#f7edcf;border-bottom:1px solid #e2d5ae}.magnet-explainer strong{display:block;font-size:16px;line-height:1.5}.magnet-explainer>span{display:block;font-size:12px;color:#627052;margin-top:5px}#magnet{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;justify-content:center;gap:12px;min-height:68px;min-width:280px;padding:10px 18px 14px;border:2px solid #aa7625;border-radius:11px;background:#ffd16b;color:#253f30;box-shadow:0 3px 0 #a7782b}#magnet.ready:hover{background:#ffe196}#magnet.ready{animation:magnet-glow 2s ease-in-out infinite}#magnet:disabled{background:#e6e5d6;border-color:#b5baa8;box-shadow:0 3px 0 #bac0ac;color:#5a6954}#magnet.pulling{background:#c5edd0;color:#204e35;border-color:#66a67a;box-shadow:0 3px 0 #66a67a}.magnet-symbol{font-size:31px;line-height:1}.magnet-button-copy strong{display:block;font-size:17px;line-height:1.4}.magnet-button-copy small{display:block;font-size:11px;margin-top:3px}.magnet-charge{position:absolute;bottom:0;left:0;height:5px;background:#aa7625;z-index:-1}.pulling .magnet-charge{background:#66a67a}@keyframes magnet-glow{50%{box-shadow:0 3px 0 #a7782b,0 0 0 5px #eab85330}}
@media(max-width:760px){.life-person{gap:6px}.portrait{font-size:58px;min-width:59px}.dashboard{display:grid;grid-template-columns:1fr auto;gap:5px 10px;padding:12px 14px}.wealth{text-align:right}.wealth strong{font-size:27px}.time-block{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end;gap:8px}.time-block>div{margin:0;align-items:center}.time-block strong{font-size:17px}.time-block .iconbtn{margin-left:8px}.time-block .eyebrow{font-size:11px}.age-block strong{font-size:28px}.magnet-toolbar{padding:14px 16px;display:block}.magnet-explainer strong{font-size:14px}.magnet-explainer>span{font-size:11px;margin-top:3px}#magnet{width:100%;min-width:0;min-height:64px;margin-top:10px}.magnet-button-copy strong{font-size:16px}.magnet-button-copy small{font-size:11px}.chapters i{font-size:26px}.chapters b{font-size:11px;margin:0}.chapters small{margin:4px 0 0}.field-bottom>span{font-size:10px;max-width:100%;padding:6px 8px}.intro-hint{font-size:11px}.life-track{padding-top:15px}}
@media(prefers-reduced-motion:reduce){#magnet.ready{animation:none}.chapters>span{transition:none}}
