/* Layout differences stay scoped: never import the landing layout into the app. */
.v3 header.nav{background:var(--bg);border-bottom:1px solid var(--line);backdrop-filter:none}
.v3 header.nav .wrap{min-height:80px}
.v3 .nav.nav:not(header){position:static;background:transparent;border:0;backdrop-filter:none}
.v3 .logo{gap:10px;white-space:nowrap}
.v3 .hero{background:var(--bg)}
.v3 .hero::before,.v3 .hero-text::before{display:none}
.v3 .hero-grid{grid-template-columns:1fr 1fr;gap:56px;min-height:650px;padding-top:64px;padding-bottom:72px}
.v3 h1{font-size:clamp(46px,5.5vw,76px);line-height:1.02;font-weight:500;letter-spacing:-.055em;margin:22px 0}
.v3 h2{line-height:1.1;font-weight:500}
.v3 .kicker{font-family:var(--font);font-size:11px;letter-spacing:.12em}
.v3 .hero .lead{font-size:18px;max-width:43ch}
.v3 .hero .chips{gap:8px;margin-top:22px}
.v3 .hero .chip{font-size:11px;border:0;background:transparent;padding:0}
.v3 .hero .chip+ .chip::before{content:'·';margin-right:8px}
.nav-signin{font-size:14px;text-decoration:none;color:var(--ink);padding:12px 4px;white-space:nowrap}
.nature-poster{position:relative;isolation:isolate;border-radius:140px 140px 28px 28px;min-height:510px;margin:0;overflow:hidden;box-shadow:0 18px 48px #19352c18;border:1px solid var(--line)}
.nature-poster>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:55% center;z-index:-1}
.nature-poster>figcaption{position:absolute;bottom:22px;left:22px;right:22px;background:#fffef8f2;color:#19352c;padding:20px;border:1px solid #fffef8;border-radius:20px;box-shadow:0 8px 30px #19352c14}
.poster-top{display:flex;justify-content:space-between;align-items:center;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:#53665b;margin-bottom:14px}
.poster-title{font:italic 32px/1.1 var(--serif);margin:0 0 16px}
.poster-action{display:flex;align-items:center;gap:10px;font-size:14px;padding:12px 0;border-top:1px solid #d5ddcf}
.poster-check{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:#2e6450;color:#fffef8;font-size:14px;flex:none}
.poster-caption{display:block;font-size:11px;color:#53665b;margin-top:8px}
.v3 .strip{background:var(--bg2);border-color:var(--line)}
.v3 .sec{padding-top:80px;padding-bottom:80px}
.v3 .card{border-color:var(--line);background-color:var(--surf)}
.v3 .stack div{background:var(--accent-soft);border-left:5px solid var(--accent)}
.v3 .flow3 b,.v3 .flow3 b.last{background:var(--accent-soft);border-color:var(--line2);color:var(--ink)}
.v3 .tick{border-color:var(--line2)}
.v3 .tick.on svg{stroke:var(--accent-ink)}
.v3 .grid90 i.l1{background:#a4ba9a}.v3 .grid90 i.l2{background:#61856a}.v3 .grid90 i.l3{background:#2e6450}
.v3 .scale-legend i:nth-of-type(1){background:#a4ba9a!important}.v3 .scale-legend i:nth-of-type(2){background:#61856a!important}.v3 .scale-legend i:nth-of-type(3){background:#2e6450!important}
.v3 .badges span.on,.v3 .lock span.on{background:var(--accent-soft);border-color:var(--line2);color:var(--accent)}
.v3 .price-main{background:var(--accent-soft);border-color:var(--accent)}
.v3 .price-card .btn{min-height:52px}
.v3 .health svg{stroke:var(--accent)}
.v3 .sticky-cta{background:var(--surf);color:var(--ink)}
.v3 .scale button[aria-pressed="true"]{color:var(--accent-ink);background:var(--accent)}
.v3 .scale button{background:var(--bg);color:var(--ink);border-color:var(--line2)}
.v3 .consent{box-shadow:0 8px 32px #19352c24}
.growth-intro{display:grid;grid-template-columns:.85fr 1.15fr;gap:56px;align-items:center}
.growth-intro h2{margin:12px 0 20px}
.growth-intro .growth-scene{margin:0;min-height:290px}
.growth-intro .lead{font-size:17px}
.growth-intro .growth-copy{max-width:65%;padding:30px}
.app-body .wrap{max-width:780px}
.app-body .site-header{padding-top:max(18px,env(safe-area-inset-top));padding-bottom:18px;min-height:80px;position:sticky;top:0;z-index:35;background:var(--bg);border-bottom:1px solid var(--line)}
.app-body .site-header .pill{margin-left:auto;font-size:12px}
.app-body .app-feedback-open{position:static;box-shadow:none;font-size:13px;min-height:44px;padding:8px 12px;background:transparent;color:var(--ink);border:1px solid var(--line2)}
.app-body .app-main{padding-top:16px}
.app-body h1{font-size:clamp(28px,5vw,38px);font-weight:550;letter-spacing:-.045em;line-height:1.1}
.app-body h2{font-weight:600;letter-spacing:-.025em}
.app-body .hero.compact{padding:18px 0 22px}
.app-body .card{padding:22px;border-radius:20px;box-shadow:var(--shadow)}
.app-body .today-head{display:grid;grid-template-columns:1fr auto;gap:2px 14px;padding:6px 0 18px;align-items:center}
.app-body .today-head .pill{grid-column:2;grid-row:1/3;margin:0;max-width:145px;overflow:hidden;text-overflow:ellipsis}
.app-body .today-head h1{grid-column:1;grid-row:1;margin:0}
.app-body .today-head .muted{grid-column:1;grid-row:2;margin:5px 0 0;font-size:13px}
.app-body .check-btn{width:48px;height:48px;flex:none;border-radius:16px}
.app-body .goal-list{gap:20px}
.app-body .goal-row{gap:14px}
.app-body .goal-text{font-size:17px;line-height:1.45;overflow-wrap:anywhere}
.app-body .goal-sub{font-size:13px;line-height:1.5}
.app-body .hint-day1{background:transparent;padding:0 0 14px;border-bottom:1px solid var(--line);border-radius:0;font-size:13px}
.app-body .hint-day1 .linklike{font-size:13px}
.app-body .goal-add{flex-wrap:wrap}
.app-body .app-nav{max-width:780px;padding:6px 16px;gap:6px}
.app-body .app-nav a{display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;flex:1;font-size:13px;padding:8px;border-radius:12px}
.app-body .app-nav svg{width:20px;height:20px;flex:none;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.app-body .app-nav a.active{background:var(--accent-soft);color:var(--ink)}
.app-body .signin-layout{display:grid;grid-template-columns:1fr;overflow:hidden;background:var(--surf);border:1px solid var(--line);border-radius:24px;margin:16px 0 22px}
.signin-landscape{height:180px;position:relative;overflow:hidden}
.signin-landscape img{width:100%;height:100%;object-fit:cover;object-position:50% 56%;display:block}
.signin-landscape p{position:absolute;bottom:16px;left:22px;margin:0;font:italic 32px/1.1 var(--serif);color:#19352c;background:#fffef8e8;padding:8px 14px;border-radius:12px}
.app-body .signin-layout .hero.compact{padding:24px 26px 8px}
.app-body .signin-layout .card{border:0;box-shadow:none;padding:12px 26px 26px;margin:0;border-radius:0}
.app-body .signin-layout .hero h1{font-size:30px}
.app-body .signin-layout .lead{font-size:16px}
.app-body .signin-layout .btn-lg{width:100%}
.app-body .signin-layout .nav{gap:10px}
.app-body .year-card .growth-scene{margin-top:8px}
@media(max-width:900px){.v3 .hero-grid{grid-template-columns:1fr;gap:32px;padding-top:44px;padding-bottom:48px;min-height:0}.v3 .hero h1{max-width:13ch}.nature-poster{min-height:450px;max-width:580px;width:100%;margin:auto}.growth-intro{grid-template-columns:1fr;gap:28px}.v3 .sec{padding-top:56px;padding-bottom:56px}}
@media(max-width:720px){.v3 header.nav .wrap{min-height:72px;gap:10px}.v3 .nav-cta{gap:10px}.v3 header.nav .btn{min-height:44px;font-size:12px;padding:0 12px}.v3 .logo{font-size:16px;gap:8px}.v3 .brand-image{width:30px;height:30px}.nav-signin{font-size:12px}.v3 .hero-grid{padding-top:34px}.v3 .hero h1{font-size:54px;margin:18px 0}.v3 .hero .kicker{font-size:10px}.nature-poster{min-height:395px;border-radius:100px 100px 24px 24px}.nature-poster>figcaption{left:16px;right:16px;bottom:16px;padding:18px}.v3 .hero .chips{line-height:1.8}.growth-intro .growth-copy{padding:24px 20px}.app-body .site-header .pill{display:none}.app-body .site-header{padding-top:max(12px,env(safe-area-inset-top));padding-bottom:10px;min-height:68px}.app-body .app-main{padding-top:6px;padding-bottom:30px}.app-body .app-nav{position:fixed;max-width:none;left:0;right:0;bottom:0;background:var(--surf);padding:6px max(8px,env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom));border-top:1px solid var(--line);gap:4px}.app-body .app-nav a{flex-direction:column;gap:3px;font-size:11px;min-height:54px;padding:5px 2px}.app-body{padding-bottom:calc(76px + env(safe-area-inset-bottom))}.app-body .card{padding:18px}.app-body .today-head .pill{max-width:110px;font-size:11px}.app-body .today-head h1{font-size:28px}.app-body .site-footer{margin-top:20px}.app-body .signin-layout{margin-top:8px}.app-body .signin-layout .hero.compact{padding:20px 20px 6px}.app-body .signin-layout .card{padding:10px 20px 22px}.signin-landscape{height:155px}.signin-landscape p{font-size:28px;left:16px;bottom:14px}.app-body .signin-layout .hero h1{font-size:28px}}
@media(max-width:360px){.v3 .logo{font-size:14px;gap:6px}.v3 .brand-image{width:26px;height:26px}.v3 .nav-cta{gap:7px}.v3 header.nav .btn{padding:0 9px;font-size:11px}.v3 .hero h1{font-size:46px}.app-body .brand{font-size:17px}.app-body .today-head{gap:4px 6px}.app-body .today-head h1{font-size:26px}.app-body .today-head .pill{max-width:100px}}
@media(max-width:720px){.app-body .toast{bottom:calc(88px + env(safe-area-inset-bottom))}.app-body :target{scroll-margin-top:80px}}
@media print{body{background:#fff;color:#000}.app-body{padding-bottom:0}.app-body .year-card{border:0;box-shadow:none}.app-body .app-main{padding:0}}
