:root{--canvas:#fff9f2;--surface:#ffffff;--ink:#3b302c;--muted:#746a64;--line:#e9ded5;--primary:#b84e3a;--primary-dark:#963f30;--primary-soft:#fbe7e1;--sage:#517451;--sage-soft:#e8f1e6;--sky-soft:#e8f2f5;--sun:#f3c768;--danger:#9c3f37;--focus:#236b8e;--shadow:0 8px 24px rgba(75,55,45,0.07)}*{box-sizing:border-box}body,html{background:var(--canvas);color:var(--ink)}body{margin:0;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Yu Gothic UI,Yu Gothic,sans-serif}button,input,textarea{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a,button{color:inherit}a{text-decoration:none}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(1.7rem,7vw,2rem);line-height:1.35;letter-spacing:-.02em}h1,h2{margin-bottom:12px}h2{font-size:1.2rem;line-height:1.4}h3{margin-bottom:4px;font-size:1.05rem;line-height:1.45}li,p{line-height:1.65}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.mobile-shell{width:100%;min-height:100vh;padding-bottom:calc(76px + env(safe-area-inset-bottom))}.app-header{position:-webkit-sticky;position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;height:calc(56px + env(safe-area-inset-top));padding:env(safe-area-inset-top) 20px 0;border-bottom:1px solid rgba(233,222,213,.8);background:rgba(255,249,242,.94);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.brand{font-size:1.05rem;font-weight:800;letter-spacing:.02em}.household-name{max-width:50%;overflow:hidden;color:var(--muted);font-size:.85rem;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.app-main{max-width:680px;margin:0 auto}.bottom-nav{position:fixed;z-index:30;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(3,1fr);height:calc(64px + env(safe-area-inset-bottom));padding:4px max(12px,calc((100vw - 680px) / 2)) env(safe-area-inset-bottom);border-top:1px solid var(--line);background:rgba(255,255,255,.96);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.bottom-nav a{display:flex;min-height:56px;align-items:center;justify-content:center;flex-direction:column;gap:2px;color:var(--muted)}.bottom-nav a span{font-size:1.25rem}.bottom-nav a small{font-size:.7rem;font-weight:700}.bottom-nav a.active{color:var(--primary)}.page-stack{display:grid;grid-gap:24px;gap:24px;padding:24px 20px 40px}.page-title .eyebrow{margin-bottom:4px}.page-title h1{margin:0}.eyebrow{margin-bottom:8px;color:var(--primary);font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.lead{font-size:1rem;line-height:1.75}.helper,.lead{color:var(--muted)}.helper{margin:8px 0 0;font-size:.82rem;line-height:1.55}.stack{display:grid;grid-gap:16px;gap:16px}.auth-page,.center-page,.simple-page{min-height:100vh;padding:max(32px,env(safe-area-inset-top)) 20px max(32px,env(safe-area-inset-bottom))}.center-page{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:16px;text-align:center}.auth-page,.simple-page{display:grid;place-items:center}.auth-card,.setup-card{width:min(100%,420px);padding:28px 24px;text-align:center}.auth-card .lead,.setup-card .lead{margin-right:auto;margin-left:auto;max-width:34ch}.auth-form{display:grid;grid-gap:14px;gap:14px;margin-top:28px;text-align:left}.auth-mode-tabs{display:grid;grid-template-columns:1fr 1fr;grid-gap:6px;gap:6px;margin-top:24px;padding:4px;border-radius:15px;background:#f1e8e1}.auth-mode-tabs button{min-height:42px;padding:8px;border:0;border-radius:11px;background:transparent;color:var(--muted);font-weight:750}.auth-mode-tabs button.selected{background:white;color:var(--ink);box-shadow:0 2px 8px rgba(71,50,42,.08)}.text-link{color:var(--muted);font-size:.82rem;text-decoration:underline;text-underline-offset:3px}.text-link.centered{display:block;text-align:center}.auth-back-link{margin-top:22px}.legal-links{display:flex;justify-content:center;gap:20px;margin-top:32px;color:var(--muted);font-size:.78rem}.legal-links.inline{flex-wrap:wrap;justify-content:flex-start;margin-top:16px}.beaver-pair{position:relative;width:126px;height:76px;margin:0 auto 20px;transform-origin:center bottom}.beaver-pair.has-speech{margin-bottom:64px}.beaver{position:absolute;top:8px;display:grid;width:66px;height:62px;transform-origin:center bottom;place-items:center;border-radius:45% 45% 48% 48%;background:#c98757;box-shadow:inset 0 -5px rgba(90,48,35,.08);animation:beaver-breathe 3.2s ease-in-out infinite}.beaver:after,.beaver:before{position:absolute;top:-6px;width:22px;height:22px;border:5px solid #c98757;border-radius:50%;background:#8b5439;content:""}.beaver:before{left:3px}.beaver:after{right:3px}.beaver b{z-index:2;color:#382820;font-size:.68rem;letter-spacing:.04em;white-space:nowrap}.beaver .tail{position:absolute;right:-14px;bottom:3px;width:26px;height:42px;transform:rotate(28deg);border-radius:55%;background:#754936;content:""}.beaver .arms:after,.beaver .arms:before{position:absolute;top:34px;width:12px;height:24px;border-radius:50%;background:#c98757;box-shadow:inset 0 -2px rgba(90,48,35,.08);content:""}.beaver .arms:before{left:-3px;transform:rotate(12deg)}.beaver .arms:after{right:-3px;transform:rotate(-12deg)}.beaver.first{left:2px}.beaver.second{right:2px;top:13px;background:#b8744d}.beaver.second:after,.beaver.second:before{border-color:#b8744d}.beaver.second .arms:after,.beaver.second .arms:before{background:#b8744d}.beaver-effect{position:absolute;z-index:4;top:-12px;right:-12px;color:var(--primary);font-size:1.35rem;font-weight:900;animation:beaver-spark 1.1s ease-in-out infinite}.beaver-speech{position:absolute;top:82px;left:50%;width:max-content;max-width:min(280px,82vw);transform:translateX(-50%);padding:8px 12px;border:1px solid var(--line);border-radius:14px;background:white;color:var(--ink);box-shadow:var(--shadow);font-size:.76rem;font-weight:700;line-height:1.45;text-align:center}.beaver-speech:before{position:absolute;top:-6px;left:calc(50% - 6px);width:10px;height:10px;transform:rotate(45deg);border-top:1px solid var(--line);border-left:1px solid var(--line);background:white;content:""}.beaver-pair.done .beaver,.beaver-pair.happy .beaver{animation:beaver-happy 1.15s ease-in-out infinite}.beaver-pair.shy .beaver{animation:beaver-shy 2s ease-in-out infinite}.beaver-pair.shy .beaver b{color:#7d3f3f;text-shadow:-15px 8px 0 #ed9b91,15px 8px 0 #ed9b91}.beaver-pair.wink .beaver{animation:beaver-wink 2.4s ease-in-out infinite}.beaver-pair.confused .beaver{animation:beaver-confused 2.2s ease-in-out infinite}.beaver-pair.surprised .beaver{animation:beaver-surprised 1.4s ease-in-out infinite}.beaver-pair.angry .beaver{animation:beaver-stomp .65s ease-in-out infinite alternate}.beaver-pair.bow .beaver{animation:beaver-bow 2.6s ease-in-out infinite}.beaver-pair.jump .beaver{animation:beaver-jump 1.1s cubic-bezier(.4,0,.2,1) infinite}.beaver-pair.jump .second{animation-delay:.12s}.beaver-pair.cheer .beaver{animation:beaver-cheer .9s ease-in-out infinite alternate}.beaver-pair.cheer .arms:before{transform:translate(-5px,-14px) rotate(-38deg)}.beaver-pair.cheer .arms:after{transform:translate(5px,-14px) rotate(38deg)}.beaver-pair.rest .beaver{animation:beaver-rest 3.8s ease-in-out infinite}@keyframes beaver-breathe{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes beaver-happy{0%,to{transform:translateY(0) rotate(0)}45%{transform:translateY(-5px) rotate(-2deg)}70%{transform:translateY(-2px) rotate(2deg)}}@keyframes beaver-shy{0%,to{transform:rotate(-2deg)}50%{transform:rotate(2deg) translateY(1px)}}@keyframes beaver-wink{0%,72%,to{transform:rotate(0)}78%{transform:rotate(-4deg)}84%{transform:rotate(3deg)}}@keyframes beaver-confused{0%,to{transform:translateY(2px) rotate(-2deg)}50%{transform:translateY(4px) rotate(2deg)}}@keyframes beaver-surprised{0%,65%,to{transform:translateY(0) scale(1)}72%{transform:translateY(-7px) scale(1.04)}80%{transform:translateY(0) scale(.98)}}@keyframes beaver-stomp{0%{transform:translate(-1px,1px) rotate(-2deg)}to{transform:translate(1px) rotate(2deg)}}@keyframes beaver-bow{0%,58%,to{transform:translateY(0) scaleY(1)}70%,84%{transform:translateY(8px) scaleY(.82)}}@keyframes beaver-jump{0%,to{transform:translateY(0) scale(1)}45%{transform:translateY(-13px) scale(1.03)}65%{transform:translateY(1px) scale(.98)}}@keyframes beaver-cheer{0%{transform:rotate(-4deg) translateY(0)}to{transform:rotate(4deg) translateY(-4px)}}@keyframes beaver-rest{0%,to{transform:translateY(2px) scaleY(.98)}50%{transform:translateY(0) scaleY(1)}}@keyframes beaver-spark{0%,to{transform:scale(.8) rotate(-8deg);opacity:.45}50%{transform:scale(1.15) rotate(8deg);opacity:1}}@media (prefers-reduced-motion:reduce){.beaver,.beaver-effect{animation:none!important}}.welcome-row .beaver-pair{width:88px;height:56px;margin:0;transform:scale(.72);transform-origin:right center}.welcome-row{display:flex;align-items:center;justify-content:space-between;min-height:68px}.welcome-row h1{margin:0;font-size:1.55rem}.companion-line,.welcome-row .eyebrow{color:var(--muted)}.companion-line{position:relative;width:-moz-fit-content;width:fit-content;max-width:92%;margin:-8px 0 4px auto;padding:8px 12px;border:1px solid var(--line);border-radius:14px;background:white;box-shadow:var(--shadow);font-size:.76rem;font-weight:700;line-height:1.45}.companion-line:before{position:absolute;top:-5px;right:30px;width:9px;height:9px;transform:rotate(45deg);border-top:1px solid var(--line);border-left:1px solid var(--line);background:white;content:""}.companion-line.cheer,.companion-line.jump{color:var(--primary-dark)}.complete-button,.primary-button,.secondary-button,.text-button{min-height:48px;border:0;border-radius:16px;cursor:pointer;font-weight:750}.primary-button{width:100%;padding:13px 18px;background:var(--primary);color:white;box-shadow:0 6px 14px rgba(184,78,58,.18)}.primary-button:hover{background:var(--primary-dark)}.primary-button.small{min-height:44px;padding:10px 14px;font-size:.9rem}.secondary-button{width:100%;padding:12px 16px;border:1px solid var(--line);background:var(--surface)}.text-button{padding:8px 10px;background:transparent;color:var(--muted);text-decoration:underline;text-underline-offset:3px}.link-button{display:flex;align-items:center;justify-content:center;text-align:center}button:disabled{cursor:wait;opacity:.55}.button-row{display:flex;gap:10px}.button-row>*{flex:1 1}.field{display:grid;grid-gap:8px;gap:8px;text-align:left}.field>span,fieldset legend{color:var(--ink);font-size:.84rem;font-weight:750}.field input,.field textarea{width:100%;min-height:52px;padding:13px 14px;border:1px solid #d8c9be;border-radius:14px;background:white;color:var(--ink);font-size:1rem}.field textarea{min-height:92px;resize:vertical}.field input:disabled{background:#f4eee9;color:var(--muted)}.field.compact{max-width:180px}.success-box{padding:20px;border-radius:20px;background:var(--sage-soft);text-align:left}.success-box p{margin-bottom:14px}.invite-return-notice{display:grid;grid-gap:5px;gap:5px;margin:20px 0 0;padding:14px 16px;border:1px solid #cbdccf;border-radius:16px;background:var(--sage-soft);text-align:left}.invite-return-notice p{margin:0;color:var(--muted);font-size:.82rem;line-height:1.55}.invite-preview-card{display:grid;grid-gap:16px;gap:16px}.invite-preview-card .beaver-pair{margin-bottom:2px}.invite-preview-card .eyebrow,.invite-preview-card .lead,.invite-preview-card h1{margin-bottom:0}.invite-loading{display:grid;justify-items:center;grid-gap:14px;gap:14px;color:var(--muted)}.invite-loading p{margin:0}.invite-principles{display:grid;grid-gap:8px;gap:8px;margin:4px 0;text-align:left}.invite-principles p{display:grid;grid-gap:3px;gap:3px;margin:0;padding:13px 14px;border:1px solid var(--line);border-radius:15px;background:white}.invite-principles strong{font-size:.86rem}.invite-principles span{color:var(--muted);font-size:.76rem;line-height:1.55}.invite-preview-card>.helper{margin:-8px 0 0}.invite-preview-card>.text-button{justify-self:center}.invite-preview-card .legal-links{margin-top:8px}.joined-onboarding-card{display:grid;grid-gap:16px;gap:16px}.joined-onboarding-card .beaver-pair,.joined-onboarding-card .eyebrow,.joined-onboarding-card .lead,.joined-onboarding-card h1{margin-bottom:0}.joined-existing,.joined-first-step{display:grid;grid-gap:7px;gap:7px;padding:15px;border:1px solid var(--line);border-radius:16px;background:white;text-align:left}.joined-existing p{display:flex;align-items:center;gap:9px;margin:0;color:var(--muted);font-size:.85rem}.joined-first-step p{margin:0;color:var(--muted);font-size:.8rem}.preset-grid{display:grid;grid-gap:9px;gap:9px}.preset-grid button{display:grid;min-height:58px;align-items:center;padding:10px 14px;border:1px solid var(--line);border-radius:16px;background:white;text-align:left;grid-template-columns:38px 1fr;grid-gap:8px;gap:8px}.preset-grid button span{font-size:1.35rem}.joined-success{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-radius:16px;background:var(--sage-soft);color:#365a39}.joined-success p{margin:0;font-size:.86rem}.joined-success button{min-height:44px;flex:0 0 auto;padding:8px 10px;border:0;background:transparent;color:#365a39;font-size:.76rem;font-weight:800;text-decoration:underline}@media (max-width:380px){.joined-success{align-items:stretch;flex-direction:column}.joined-success button{align-self:flex-end}}.inline-notice,.notice-card{margin:0;padding:14px 16px;border-radius:16px;line-height:1.55}.inline-notice.error{border:1px solid #ecc7c2;background:#fff0ed;color:var(--danger)}.inline-notice.success{background:var(--sage-soft);color:#365a39}.inline-notice.info,.notice-card.info{background:var(--sky-soft)}.notice-card{display:grid;grid-gap:10px;gap:10px;border:1px solid var(--line);background:white}.notice-card p{margin:0;color:var(--muted);font-size:.9rem}.step-row{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:6px;gap:6px}.step-row span{padding:8px 4px;border-radius:10px;background:rgba(255,255,255,.72);font-size:.68rem;font-weight:700;text-align:center}.section-heading{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:12px}.section-heading h2{margin:0}.section-heading span{color:var(--muted);font-size:.78rem}.card-list{display:grid;grid-gap:12px;gap:12px}.routine-card{display:grid;grid-template-columns:auto 1fr auto;grid-gap:12px;gap:12px;align-items:center;min-height:104px;padding:16px;border:1px solid #eecfc5;border-radius:20px;background:var(--primary-soft);box-shadow:var(--shadow);transition:background .2s,transform .2s}.routine-card.highlighted{animation:highlight 2s ease-out}.routine-icon{display:grid;width:44px;height:44px;place-items:center;border-radius:50%;background:white;font-size:1.25rem}.routine-icon.mini{width:34px;height:34px;font-size:1rem}.routine-content{min-width:0}.routine-content h3{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.routine-content p{margin:0;color:var(--muted);font-size:.75rem;line-height:1.45}.routine-actions{display:grid;grid-gap:5px;gap:5px;justify-items:stretch}.complete-button{min-width:76px;min-height:44px;padding:8px 14px;background:var(--primary);color:white}.rest-button{min-height:34px;border:0;background:transparent;color:var(--muted);font-size:.68rem;font-weight:750}.calm-card,.empty-card{padding:22px;border:1px solid var(--line);border-radius:20px;background:white;text-align:center;box-shadow:var(--shadow)}.calm-card .beaver-pair{transform:scale(.65);margin-bottom:-4px}.calm-card p,.empty-card p{margin-bottom:16px;color:var(--muted)}.empty-card .beaver-pair{transform:scale(.8);margin-bottom:4px}.suggestion-row{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:16px 0}.suggestion-row a,.suggestion-row span{display:inline-flex;min-height:44px;align-items:center;padding:7px 10px;border-radius:999px;background:var(--primary-soft);font-size:.76rem;font-weight:650}.compact-list,.completed-list,.skipped-list{display:grid;grid-gap:8px;gap:8px}.compact-list article,.completed-list article,.skipped-list article{display:flex;min-height:62px;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:16px;background:white}.compact-list article>div:not(.compact-actions),.completed-list article div,.skipped-list article div{display:grid;min-width:0;flex:1 1}.compact-list article small,.completed-list article small,.skipped-list article small{margin-top:3px;color:var(--muted);font-size:.72rem}.compact-actions{display:grid;flex:0 0 auto}.compact-actions button{min-width:56px;min-height:36px;border:0;background:transparent;color:var(--primary);font-size:.72rem;font-weight:750}.compact-actions button:last-child{min-height:30px;color:var(--muted);font-size:.66rem}.completed-list article{border:0;background:var(--sage-soft)}.skipped-list article{border:0;background:var(--sky-soft)}.checkmark{place-items:center;background:var(--sage);color:white;font-weight:800}.checkmark,.restmark{display:grid;width:28px;height:28px;border-radius:50%}.restmark{place-items:center;background:#91a6b6;color:white;font-size:.78rem}.invite-nudge{padding:12px;color:var(--primary);font-size:.82rem;font-weight:700;text-align:center}.undo-toast{position:fixed;z-index:50;right:20px;bottom:calc(78px + env(safe-area-inset-bottom));left:20px;display:flex;max-width:440px;align-items:center;justify-content:space-between;margin:auto;padding:12px 16px;border-radius:16px;background:var(--ink);color:white;box-shadow:0 12px 30px rgba(0,0,0,.2)}.undo-toast button{min-height:40px;border:0;background:transparent;color:white;font-weight:750;text-decoration:underline}.completion-celebration{position:fixed;z-index:45;inset:0;overflow:hidden;pointer-events:none}.completion-celebration span{position:absolute;top:25%;left:50%;color:var(--primary);font-size:1.8rem;opacity:0;animation:completion-spark 1.5s ease-out forwards}.completion-celebration span:first-child{margin-left:-105px;animation-delay:.05s}.completion-celebration span:nth-child(2){margin-left:-48px;animation-delay:.2s;color:#d79a42}.completion-celebration span:nth-child(3){margin-left:46px;animation-delay:.12s}.completion-celebration span:nth-child(4){margin-left:98px;animation-delay:.28s;color:#d79a42}.routine-list{display:grid;grid-gap:10px;gap:10px}.routine-list>a{display:grid;grid-template-columns:auto 1fr auto;grid-gap:12px;gap:12px;align-items:center;min-height:86px;padding:14px;border:1px solid var(--line);border-radius:18px;background:white;box-shadow:var(--shadow)}.routine-list>a div{display:grid;min-width:0;grid-gap:5px;gap:5px}.routine-list>a strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.routine-list>a small{color:var(--muted);font-size:.76rem}.chevron{color:var(--muted);font-size:1.6rem}.form-page{max-width:620px;min-height:100vh;margin:auto;padding:env(safe-area-inset-top) 20px calc(98px + env(safe-area-inset-bottom))}.form-header{display:flex;align-items:center;justify-content:space-between;min-height:56px}.form-header a{min-height:48px;padding:14px 8px 14px 0;font-weight:700}.form-header span{color:var(--muted);font-size:.8rem;font-weight:700}.form-page>.page-title{margin:16px 0 26px}.routine-form{display:grid;grid-gap:26px;gap:26px}.routine-form fieldset{min-width:0;margin:0;padding:0;border:0}.routine-form legend{margin-bottom:10px}.icon-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:10px;gap:10px}.icon-grid button,.weekday-row button{display:grid;min-width:48px;min-height:48px;place-items:center;border:1px solid var(--line);border-radius:50%;background:white;font-size:1.25rem}.choice-chip.selected,.icon-grid button.selected,.interval-row button.selected,.weekday-row button.selected{border-color:var(--primary);background:var(--primary-soft);box-shadow:0 0 0 1px var(--primary)}.weekday-row{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:5px;gap:5px;margin-top:10px}.weekday-row button{width:100%;min-width:0;min-height:42px;border-radius:14px;font-size:.78rem}.choice-chip{min-height:40px;padding:7px 14px;border:1px solid var(--line);border-radius:14px;background:white;font-size:.8rem;font-weight:750}.switch-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0}.switch-row span{display:grid;grid-gap:4px;gap:4px}.switch-row small{color:var(--muted);font-size:.76rem}.switch-row input{position:relative;width:52px;height:30px;flex:0 0 52px;margin:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:999px;background:#cfc4bc;cursor:pointer;transition:background .2s}.switch-row input:after{position:absolute;top:3px;left:3px;width:24px;height:24px;border-radius:50%;background:white;box-shadow:0 1px 4px rgba(0,0,0,.2);content:"";transition:transform .2s}.switch-row input:checked{background:var(--sage)}.switch-row input:checked:after{transform:translateX(22px)}.interval-row{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px}.interval-row button{min-height:48px;padding:8px;border:1px solid var(--line);border-radius:14px;background:white;font-size:.78rem;font-weight:750}.sticky-actions{padding:8px 0}.danger-text{min-height:48px;padding:10px;border:0;background:transparent;color:var(--danger);font-weight:700;text-decoration:underline;text-underline-offset:3px}.settings-card{display:grid;grid-gap:14px;gap:14px;padding:18px;border:1px solid var(--line);border-radius:20px;background:white;box-shadow:var(--shadow)}.settings-card h2{margin-bottom:0}.member-list{display:grid;grid-gap:8px;gap:8px}.member-list>div{display:flex;align-items:center;gap:10px;padding:8px 0}.member-list>div>span:last-child{display:grid}.member-list small{color:var(--muted);font-size:.72rem}.avatar{display:grid;width:40px;height:40px;place-items:center;border-radius:50%;background:var(--primary-soft);color:var(--primary-dark);font-weight:800}.status-row{display:flex;align-items:center;justify-content:space-between;min-height:44px;border-bottom:1px solid var(--line)}.status-row:last-of-type{border-bottom:0}.status-row span{color:var(--muted);font-size:.85rem}.status-row code{font-size:.7rem}.landing-page{min-height:100vh;overflow-x:clip;background:var(--canvas)}.landing-page dd,.landing-page h1,.landing-page h2,.landing-page p,.landing-page strong{min-width:0;max-inline-size:100%;white-space:normal;word-break:normal;overflow-wrap:anywhere;line-break:strict;text-wrap:wrap}.landing-header{display:flex;width:min(100%,1080px);height:72px;align-items:center;justify-content:space-between;margin:auto;padding:0 24px}.landing-nav{display:flex;gap:24px;margin-left:auto;margin-right:28px;color:var(--muted);font-size:.82rem;font-weight:700}.landing-nav a:hover{color:var(--ink)}.landing-brand{font-size:1.08rem;font-weight:850;letter-spacing:.02em}.landing-login{display:inline-flex;min-height:44px;align-items:center;color:var(--primary);font-size:.86rem;font-weight:800}.landing-hero{display:grid;width:min(100%,1080px);min-height:610px;align-items:center;margin:auto;padding:72px 24px 96px;grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);grid-gap:64px;gap:64px}.landing-hero h1{width:100%;max-width:none;margin-bottom:24px;font-size:clamp(2.6rem,5.2vw,4.5rem);line-height:1.16;letter-spacing:-.045em}.landing-about>div,.landing-check>div,.landing-hero-copy,.landing-principles article,.landing-safety article,.landing-story>*{min-width:0}.landing-lead{max-width:35rem;color:var(--muted);font-size:1.08rem;line-height:1.9}.landing-actions{display:grid;max-width:520px;margin-top:32px;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px}.landing-caption{margin:12px 0 0;color:var(--muted);font-size:.78rem}.landing-hero-visual{min-height:370px;padding:66px 36px 36px;border:1px solid var(--line);border-radius:36px;background:linear-gradient(155deg,#fff 0,var(--primary-soft) 100%);box-shadow:var(--shadow)}.landing-hero-visual .beaver-pair{transform:scale(1.25)}.landing-status-list{display:grid;grid-gap:10px;gap:10px;margin-top:48px}.landing-status-list>div{display:grid;align-items:center;padding:14px 16px;border:1px solid rgba(30,40,50,.09);border-radius:16px;background:rgba(255,255,255,.88);grid-template-columns:38px 1fr;grid-gap:10px;gap:10px}.landing-status-list span{font-size:1.35rem}.landing-status-list p{display:grid;margin:0}.landing-status-list small{margin-top:2px;color:var(--muted)}.landing-example{display:grid;align-items:center;margin-top:104px;padding:18px;border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.9);grid-template-columns:auto 1fr auto;grid-gap:14px;gap:14px}.landing-example>span{font-size:1.9rem}.landing-example div{display:grid;grid-gap:3px;gap:3px}.landing-example small{color:var(--muted)}.landing-example b{padding:9px 13px;border-radius:12px;background:var(--primary);color:white;font-size:.82rem}.landing-about,.landing-check,.landing-final,.landing-how,.landing-principles,.landing-problem,.landing-safety,.landing-story{width:min(calc(100% - 40px),980px);margin:auto;padding:96px 0}.landing-check{display:grid;align-items:center;grid-template-columns:1fr minmax(220px,320px);grid-gap:36px;gap:36px;padding:52px 40px;border:1px solid #eecfc5;border-radius:28px;background:var(--primary-soft)}.landing-check h2{margin-bottom:12px;font-size:clamp(1.65rem,3.5vw,2.5rem);line-height:1.4}.landing-check p:last-child{margin:0;color:var(--muted)}.landing-about h2,.landing-final h2,.landing-how h2,.landing-principles h2,.landing-problem h2,.landing-safety h2,.landing-story h2{width:100%;max-width:none;font-size:clamp(1.9rem,4vw,3rem);line-height:1.4;letter-spacing:-.03em}.landing-contrast{display:grid;margin-top:44px;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.landing-contrast>div{min-height:188px;padding:28px;border:1px solid var(--line);border-radius:22px;background:var(--surface)}.landing-contrast strong{font-size:1.15rem}.landing-contrast p{margin:16px 0 0;color:var(--muted)}.landing-contrast .positive{border-color:#b8cfbd;background:var(--sage-soft)}.landing-contrast .positive strong{color:var(--sage)}.landing-about{display:grid;align-items:start;grid-template-columns:1fr 1fr;grid-gap:56px;gap:56px}.landing-definition>p,.landing-story-copy>p{margin:0 0 22px;color:var(--muted);font-size:1.05rem;line-height:1.9}.landing-definition dl{display:grid;margin:32px 0 0;border-top:1px solid var(--line)}.landing-definition dl>div{display:grid;padding:18px 0;border-bottom:1px solid var(--line);grid-template-columns:100px 1fr;grid-gap:18px;gap:18px}.landing-definition dt{font-weight:850}.landing-definition dd{margin:0;color:var(--muted)}.landing-story{display:grid;grid-template-columns:1fr 1fr;grid-gap:56px;gap:56px}.landing-safety>div{display:grid;margin-top:44px;grid-template-columns:repeat(3,1fr);grid-gap:14px;gap:14px}.landing-safety article{padding:26px 22px;border:1px solid #bdd4e7;border-radius:20px;background:#f4f9fd}.landing-safety article strong{color:#245f91;font-size:1.05rem}.landing-safety article p{margin:12px 0 0;color:var(--muted);font-size:.9rem}.landing-safety-note{margin-top:22px;color:var(--muted);font-size:.86rem}.landing-safety-note a{color:#245f91;text-decoration:underline;text-underline-offset:3px}.landing-how ol{display:grid;grid-gap:0;gap:0;margin:42px 0 0;padding:0;list-style:none}.landing-how li{display:grid;align-items:start;padding:24px 0;border-top:1px solid var(--line);grid-template-columns:52px 1fr;grid-gap:18px;gap:18px}.landing-how li:last-child{border-bottom:1px solid var(--line)}.landing-how li>span{display:grid;width:44px;height:44px;place-items:center;border-radius:50%;background:var(--ink);color:white;font-weight:850}.landing-how li strong{font-size:1.1rem}.landing-how li p{margin:4px 0 0;color:var(--muted)}.landing-principles>div{display:grid;margin-top:44px;grid-template-columns:repeat(3,1fr);grid-gap:14px;gap:14px}.landing-principles article{padding:26px 22px;border:1px solid var(--line);border-radius:20px;background:var(--surface)}.landing-principles article strong{font-size:1.05rem}.landing-principles article p{margin:12px 0 0;color:var(--muted);font-size:.9rem}.landing-final{display:grid;justify-items:center;text-align:center}.landing-final h2{margin:8px auto 32px}.landing-final .primary-button{max-width:360px}.landing-footer{display:grid;width:min(calc(100% - 40px),1080px);align-items:center;margin:auto;padding:36px 0 max(36px,env(safe-area-inset-bottom));border-top:1px solid var(--line);grid-template-columns:1fr auto auto;grid-gap:32px;gap:32px;color:var(--muted);font-size:.78rem}.landing-footer>span{color:var(--ink);font-size:1rem;font-weight:850}.landing-footer nav{display:flex;flex-wrap:wrap;gap:18px}.legal-page{max-width:720px;min-height:100vh;margin:auto;padding:max(32px,env(safe-area-inset-top)) 20px max(48px,env(safe-area-inset-bottom))}.legal-page .back-link{display:inline-flex;min-height:48px;align-items:center;margin-bottom:20px;color:var(--primary);font-weight:700}.legal-page section{margin-top:32px;padding-top:24px;border-top:1px solid var(--line)}.legal-page li,.legal-page p{color:var(--muted)}.legal-page a:not(.back-link):not(.link-button){color:var(--primary);text-decoration:underline}.check-page{min-height:100vh;padding:env(safe-area-inset-top) 20px max(36px,env(safe-area-inset-bottom))}.check-page>header{display:flex;width:min(100%,620px);min-height:64px;align-items:center;justify-content:space-between;margin:auto}.check-page>header a{font-weight:850}.check-page>header span{color:var(--muted);font-size:.78rem;font-weight:750}.check-card{display:grid;width:min(100%,620px);min-height:520px;align-content:center;grid-gap:16px;gap:16px;margin:24px auto 0;padding:36px;border:1px solid var(--line);border-radius:28px;background:white;box-shadow:var(--shadow);text-align:center}.check-card .beaver-pair{margin-bottom:6px}.check-card h1{margin-bottom:4px}.check-card fieldset{min-width:0;margin:0;padding:0;border:0}.check-card legend{width:100%;margin-bottom:24px;font-size:clamp(1.35rem,5vw,1.8rem);line-height:1.5}.check-progress{margin-bottom:4px;color:var(--primary);font-size:.8rem;font-weight:800}.check-options{display:grid;grid-gap:10px;gap:10px}.check-options button{min-height:54px;padding:12px 16px;border:1px solid var(--line);border-radius:16px;background:var(--canvas);font-weight:750;text-align:left}.check-options button:hover{border-color:var(--primary);background:var(--primary-soft)}.check-privacy{padding:12px 14px;border-radius:14px;background:var(--sky-soft);color:var(--muted);font-size:.78rem;line-height:1.6}.check-card>.secondary-button{margin-top:-6px}.intent-page{min-height:100vh;padding:env(safe-area-inset-top) 20px max(56px,env(safe-area-inset-bottom))}.intent-page>header{display:flex;width:min(100%,900px);min-height:68px;align-items:center;justify-content:space-between;margin:auto}.intent-page>header a{font-weight:850}.intent-page>header span{color:var(--muted);font-size:.8rem;font-weight:750}.intent-page section{width:min(100%,900px);margin:24px auto 0;border-radius:28px}.intent-hero{padding:clamp(36px,7vw,72px);border:1px solid var(--line);background:white;box-shadow:var(--shadow)}.intent-hero h1{max-width:760px;margin:8px 0 20px;font-size:clamp(2rem,6vw,4rem);line-height:1.25}.intent-hero .lead{max-width:700px;margin-bottom:28px}.intent-note{max-width:680px;margin:18px 0 0;color:var(--muted);font-size:.78rem;line-height:1.7}.intent-insight,.intent-question{padding:clamp(32px,6vw,56px)}.intent-question{border:1px solid #d7e2f6;background:var(--sky-soft)}.intent-insight h2,.intent-question h2{margin:8px 0 24px;font-size:clamp(1.55rem,4vw,2.35rem);line-height:1.4}.intent-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px}.intent-choices div{padding:18px 20px;border:1px solid var(--line);border-radius:16px;background:white;font-weight:750}.intent-insight{background:#f1f1f1}.intent-insight p:not(.eyebrow){max-width:760px;color:var(--muted);line-height:1.9}.intent-insight .secondary-button{margin-top:12px}.update-banner{position:fixed;z-index:80;right:14px;bottom:calc(78px + env(safe-area-inset-bottom));left:14px;display:flex;max-width:500px;align-items:center;justify-content:space-between;gap:10px;margin:auto;padding:12px 14px;border-radius:16px;background:var(--ink);color:white;box-shadow:0 12px 30px rgba(0,0,0,.2);font-size:.82rem}.update-banner button{min-height:40px;border:0;border-radius:12px;background:white;color:var(--ink);font-weight:750}.loader{width:32px;height:32px;border:3px solid var(--line);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.onboarding-backdrop{position:fixed;z-index:100;inset:0;display:flex;align-items:flex-end;justify-content:center;padding-top:env(safe-area-inset-top);background:rgba(56,40,32,.42);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.launch-onboarding{width:min(100%,520px);max-height:calc(100dvh - env(safe-area-inset-top));overflow-y:auto;padding:18px 22px calc(22px + env(safe-area-inset-bottom));border-radius:28px 28px 0 0;background:var(--bg);box-shadow:0 -18px 50px rgba(56,40,32,.2);text-align:center}.onboarding-topline{display:flex;align-items:center;justify-content:space-between;color:var(--muted);font-size:.74rem;font-weight:750}.onboarding-topline button{min-width:52px;min-height:44px;border:0;background:transparent;color:var(--muted);font-weight:750}.onboarding-visual{position:relative;display:flex;height:150px;align-items:center;justify-content:center;gap:10px;margin:8px 0 14px;overflow:hidden;border-radius:24px;background:linear-gradient(145deg,#fff,var(--primary-soft))}.onboarding-visual .beaver-pair{z-index:2;margin:0;transform:scale(1.05)}.attention-ring,.notification-ripple{position:absolute;width:112px;height:112px;border:3px solid rgba(184,78,58,.25);border-radius:50%;animation:onboarding-pulse 1.7s ease-out infinite}.sample-action{position:relative;z-index:2;display:grid;min-width:116px;min-height:50px;place-items:center;padding:8px 14px;border-radius:16px;font-size:.8rem;font-weight:800}.sample-action.complete{background:var(--primary);color:white;box-shadow:0 7px 18px rgba(184,78,58,.2)}.sample-action.rest{border:1px solid var(--line);background:white;color:var(--muted)}.attention-tap{position:absolute;z-index:3;right:calc(50% - 104px);bottom:32px;width:22px;height:22px;border:5px solid rgba(184,78,58,.2);border-radius:50%;color:var(--primary);font-size:.45rem;line-height:12px;animation:onboarding-tap 1.7s ease-in-out infinite}.sample-bell{position:relative;z-index:2;display:grid;width:58px;height:58px;place-items:center;border-radius:50%;background:var(--primary);color:white;font-size:1.5rem;font-weight:900;animation:onboarding-nudge 2s ease-in-out infinite}.sample-notification{position:relative;z-index:2;padding:12px 14px;border:1px solid var(--line);border-radius:16px;background:white;box-shadow:var(--shadow);font-size:.76rem;font-weight:800;text-align:left}.sample-notification small{display:block;margin-top:3px;color:var(--muted);font-size:.62rem;font-weight:650}.launch-onboarding>.eyebrow{margin:0 0 6px}.launch-onboarding h2{margin:0;font-size:1.55rem;line-height:1.35}.onboarding-description{max-width:34ch;min-height:5em;margin:12px auto 14px;color:var(--muted);font-size:.9rem;line-height:1.7}.onboarding-progress{display:flex;justify-content:center;gap:7px;margin:4px 0 18px}.onboarding-progress span{width:7px;height:7px;border-radius:999px;background:#d9cbc2;transition:width .2s,background .2s}.onboarding-progress span.active{width:22px;background:var(--primary)}.onboarding-buttons{display:grid;grid-template-columns:minmax(96px,.75fr) minmax(150px,1.25fr);grid-gap:10px;gap:10px}.onboarding-buttons>*{width:100%}.onboarding-replay{margin:14px 0}@keyframes onboarding-pulse{0%{transform:scale(.72);opacity:.8}to{transform:scale(1.45);opacity:0}}@keyframes onboarding-tap{0%,to{transform:translateY(0) scale(.85);opacity:.55}45%{transform:translateY(-9px) scale(1.08);opacity:1}}@keyframes onboarding-nudge{0%,65%,to{transform:rotate(0)}72%{transform:rotate(-8deg)}80%{transform:rotate(8deg)}88%{transform:rotate(-4deg)}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes highlight{0%,30%{background:#f7d6cb;transform:scale(1.015)}to{background:var(--primary-soft);transform:scale(1)}}@keyframes completion-spark{0%{transform:translateY(45px) scale(.4) rotate(-8deg);opacity:0}25%{opacity:1}to{transform:translateY(-90px) scale(1.15) rotate(12deg);opacity:0}}@media (min-width:700px){.bottom-nav{padding-right:calc((100vw - 680px) / 2);padding-left:calc((100vw - 680px) / 2)}.page-stack{padding-right:28px;padding-left:28px}.onboarding-backdrop{align-items:center;padding:24px}.launch-onboarding{border-radius:28px}}@media (max-width:760px){.landing-header{height:64px;padding:0 20px}.landing-nav{display:none}.landing-hero{min-height:0;padding:50px 20px 72px;grid-template-columns:1fr;gap:42px}.landing-hero h1{font-size:clamp(2.1rem,10.5vw,3.7rem)}.landing-actions{grid-template-columns:1fr}.landing-hero-visual{min-height:340px;padding-right:20px;padding-left:20px}.landing-about,.landing-check,.landing-final,.landing-how,.landing-principles,.landing-problem,.landing-safety,.landing-story{padding:72px 0}.landing-check{padding:32px 24px}.landing-about,.landing-check,.landing-contrast,.landing-footer,.landing-principles>div,.landing-safety>div,.landing-story{grid-template-columns:1fr}.landing-footer{gap:16px}}@media (max-width:350px){.page-stack{padding-right:16px;padding-left:16px}.routine-card{grid-template-columns:auto 1fr}.routine-actions{grid-column:1/-1;width:100%}.interval-row{grid-template-columns:1fr}}@media (max-width:420px){.check-card{min-height:0;margin-top:8px;padding:28px 20px;border-radius:22px}}@media (max-width:560px){.intent-page>header span{display:none}.intent-page section{border-radius:22px}.intent-choices{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}