:root{color-scheme:light;--bg:#f2f1eb;--paper:#fffefa;--ink:#171816;--muted:#555851;--line:#d2d4cc;--mind:#244b63;--mind-soft:#e5eef3;--body:#6a472d;--body-soft:#f2e8dd;--accent:#233d2d;--accent-soft:#e3ebe5;--warn:#7a3028;--shadow:0 18px 50px rgba(25,29,24,.08)}
*{box-sizing:border-box}html{background:var(--bg)}body{margin:0;min-height:100vh;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic",Meiryo,sans-serif;line-height:1.58}button{font:inherit;touch-action:manipulation}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:flex-start;gap:14px;min-height:58px;padding:10px max(74px,calc(16px + env(safe-area-inset-right))) 10px max(16px,env(safe-area-inset-left));background:rgba(242,241,235,.94);backdrop-filter:blur(12px);border-bottom:1px solid rgba(210,212,204,.8)}.brand{color:var(--ink);font-size:13px;font-weight:900;letter-spacing:.12em;text-decoration:none}.text-btn{border:0;background:transparent;color:var(--muted);padding:10px 4px;font-weight:800}.shell{width:min(720px,100%);margin:0 auto;padding:30px 18px 60px}footer{max-width:720px;margin:0 auto;padding:0 20px calc(28px + env(safe-area-inset-bottom));color:#50534d;font-size:12px;text-align:center}.eyebrow{margin-bottom:10px;color:var(--accent);font-size:12px;font-weight:900;letter-spacing:.14em}.hero h1{margin:0;font-size:clamp(36px,9vw,62px);line-height:1.03;letter-spacing:-.05em}.hero h1 span{display:block;margin-top:10px;font-size:.44em;letter-spacing:-.02em;color:#42453f}.lead{margin:18px 0 22px;color:#3e413c;font-size:16px}.facts{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 24px}.facts span{border:1px solid var(--line);border-radius:999px;padding:8px 11px;background:rgba(255,254,250,.65);color:#42453f;font-size:12px;font-weight:800}.primary,.secondary{width:100%;min-height:58px;border-radius:17px;padding:14px 18px;font-weight:900;cursor:pointer}.primary{border:1px solid var(--accent);background:var(--accent);color:white;box-shadow:0 9px 24px rgba(35,61,45,.16)}.secondary{border:1px solid var(--line);background:var(--paper);color:var(--ink)}.primary:active,.secondary:active,.signal:active,.action-card:active{transform:scale(.985)}.history{margin-top:18px;padding:14px 16px;border-left:3px solid var(--accent);background:var(--accent-soft);color:#394039;font-size:13px}.history b{color:var(--ink)}.stage-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-end;margin-bottom:16px}.stage-head h2{margin:0;font-size:27px;line-height:1.2;letter-spacing:-.03em}.stage-head span{color:var(--muted);font-size:12px;font-weight:900}.stage-copy{margin:0 0 18px;color:#4c5049;font-size:14px}.meters{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px}.meter{position:relative;min-height:122px;padding:16px;border-radius:20px;border:1px solid var(--line);overflow:hidden;background:var(--paper)}.meter::after{content:"";position:absolute;left:0;right:0;bottom:0;height:var(--level,5%);transition:height .25s ease;opacity:.72}.meter.mind::after{background:var(--mind-soft)}.meter.body::after{background:var(--body-soft)}.meter>*{position:relative;z-index:1}.meter small{display:block;color:var(--muted);font-size:12px;font-weight:900}.meter strong{display:block;margin-top:8px;font-size:23px;line-height:1.2}.meter b{display:block;margin-top:8px;font-size:12px;color:#42463f}.signal-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.signal{min-height:112px;border:1px solid var(--line);border-radius:18px;padding:15px;text-align:left;background:var(--paper);color:var(--ink);cursor:pointer;transition:transform .12s ease,border .12s ease,background .12s ease}.signal[data-side="mind"]{--sel:var(--mind-soft);--sel-line:#8aa7b8}.signal[data-side="body"]{--sel:var(--body-soft);--sel-line:#b49373}.signal.is-on{background:var(--sel);border-color:var(--sel-line);box-shadow:0 0 0 2px color-mix(in srgb,var(--sel-line) 20%,transparent)}.signal .side{display:block;margin-bottom:6px;color:var(--muted);font-size:12px;font-weight:900;letter-spacing:.06em}.signal strong{display:block;font-size:15px;line-height:1.42}.signal .intensity{display:block;margin-top:9px;color:#474b44;font-size:12px;font-weight:800}.signal.is-strong .intensity{color:var(--ink)}.next-wrap{margin-top:16px}.result-card{padding:22px;border:1px solid var(--line);border-radius:24px;background:var(--paper);box-shadow:var(--shadow)}.result-card .label{color:var(--muted);font-size:12px;font-weight:900;letter-spacing:.08em}.result-card h2{margin:7px 0 8px;font-size:31px;line-height:1.16;letter-spacing:-.04em}.result-card p{margin:0;color:#444842}.balance{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}.balance div{padding:14px;border-radius:16px;text-align:center}.balance .m{background:var(--mind-soft);color:#173b52}.balance .b{background:var(--body-soft);color:#5c3a23}.balance strong{display:block;font-size:29px}.balance span{font-size:12px;font-weight:900}.choose-title{margin:22px 0 10px;font-size:17px}.action-list{display:grid;gap:9px}.action-card{width:100%;min-height:68px;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:white;text-align:left;color:var(--ink);cursor:pointer}.action-card strong{display:block;font-size:15px}.action-card span{display:block;margin-top:3px;color:#4f534d;font-size:12px}.action-card.selected{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 2px rgba(35,61,45,.08)}.commit{margin-top:14px}.done{padding:26px 22px;border-radius:24px;background:var(--accent);color:white}.done small{font-size:12px;font-weight:900;letter-spacing:.1em;opacity:.76}.done h2{margin:8px 0 10px;font-size:31px;line-height:1.15}.done p{margin:0;color:#eef3ef}.done .primary{margin-top:20px;background:white;color:var(--accent);border-color:white;box-shadow:none}.note{margin-top:14px;color:#525650;font-size:12px}.actions{display:grid;gap:9px;margin-top:14px}
@media(max-width:520px){.shell{padding-top:24px}.hero h1{font-size:41px}.signal-grid{grid-template-columns:1fr}.signal{min-height:86px}.meters{gap:8px}.meter{min-height:112px;padding:13px}.meter strong{font-size:20px}.result-card h2,.done h2{font-size:28px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
