:root{--ink:#253c31;--muted:#586b5e;--forest:#244d3d;--paper:#f7f7ef;--line:#dbe0d2;--sage:#e6edda;--gold:#e8c487;--cream:#fffdf7;--accent:#ad6848;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font:400 16px/1.5 Inter,Segoe UI,system-ui,sans-serif}h1,h2,h3,p{margin:0 0 .7em}h1,h2,h3{line-height:1.17;text-wrap:balance}h1,h2{font-family:Georgia,Cambria,serif;font-weight:500;letter-spacing:-.045em}h1{font-size:clamp(2.45rem,4.8vw,4.2rem)}h2{font-size:clamp(1.55rem,2.1vw,2rem)}h3{font-size:1.1rem;margin-top:1.3rem}b,strong{font-weight:660}.button,button{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;border:1px solid transparent;border-radius:10px;min-height:44px;padding:.58rem 1rem;background:var(--forest);color:white;font:650 .94rem/1.25 inherit;font-family:inherit;font-size:inherit;font-weight:600;cursor:pointer;text-decoration:none}.button:hover,button:hover{filter:brightness(.94)}button:disabled{cursor:wait;opacity:.65}.button.light,button.light{background:var(--sage);color:var(--forest)}button.text-button{background:none;color:var(--forest);padding:.4rem 0;min-height:44px}.mobile-toggle,button.icon-btn,button.square{padding:0;width:44px;height:44px}.icon-btn{background:var(--cream);color:var(--ink);border-color:var(--line);border-radius:50%}.button svg,.text-button svg,button svg{flex:none}small{display:block;font-size:.84rem;color:var(--muted);line-height:1.5}a{color:var(--forest)}:focus-visible{outline:3px solid #a75c28;outline-offset:3px}:where(input,select,textarea){width:100%;min-height:45px;padding:.65rem .8rem;border:1px solid #abb9a8;border-radius:8px;background:#fffefa;color:var(--ink);font:inherit}textarea{resize:vertical}label{gap:.35rem;font-weight:600;font-size:.94rem}form,label{display:grid}form{gap:1rem}form>button{justify-self:start}.check-field{display:flex;align-items:center;gap:.65rem;min-height:44px}.check-field input{width:19px;min-height:19px;height:19px;accent-color:var(--forest)}.check-field:has(input:last-of-type){justify-content:flex-start}.brand{display:inline-flex;align-items:center;gap:8px;white-space:nowrap;font:700 1.85rem/.9 Georgia,serif;letter-spacing:-.055em}.brand-dot{margin-left:-8px;color:#d7a15c}.eyebrow{display:flex;gap:.45rem;align-items:center;font:700 .68rem/1.4 Inter,Segoe UI,sans-serif;letter-spacing:.15em;color:#415c47;margin-bottom:.5rem}.eyebrow i{width:28px;height:2px;background:currentColor}.entry{display:grid;grid-template-columns:1.05fr 1fr;min-height:100svh}.entry-art{position:relative;isolation:isolate;min-height:680px;overflow:hidden;background:#e1e7cf;display:flex;flex-direction:column;padding:clamp(2rem,4vw,4rem);align-items:flex-start}.entry-art .brand{color:var(--forest)}.entry-copy{z-index:1;margin-top:clamp(3rem,7.2vh,6rem);max-width:560px}.entry-copy h1{font-size:clamp(3.5rem,5.4vw,6.5rem);line-height:1.01;margin:.35em 0 .25em}.entry-copy h1 em{font-weight:400;color:#4c7058}.entry-copy p{font-size:1.1rem;max-width:335px;color:#425d4c}.house-scene{position:absolute;left:0;right:0;bottom:0;width:100%;height:48%;z-index:-1}.entry-form{display:flex;flex-direction:column;padding:clamp(1.4rem,4vw,4rem);background:var(--cream)}.entry-top{align-self:flex-end}.login-panel{width:100%;max-width:390px;margin:auto;align-self:center;padding:2.25rem 0}.entry-icon{color:var(--forest);background:var(--sage);border:1px solid #cbd8c1;display:grid;place-items:center;width:56px;height:56px;border-radius:17px;margin-bottom:1.5rem}.login-panel h2{font-size:clamp(2.15rem,3.1vw,3rem);margin:0 0 .45rem}.login-panel>p{color:var(--muted)}.login-panel form{margin-top:1.75rem}.login-panel form>button{justify-self:stretch;justify-content:space-between}.alt-login{text-align:center;margin:.6rem 0 1.2rem}.demo-button{width:100%;background:transparent;color:var(--forest);border-color:#a9b7a4}.waiting{max-width:480px;margin:18vh auto;padding:2rem}.waiting .brand{margin-bottom:2rem}.shell{display:grid;grid-template-columns:228px minmax(0,1fr);min-height:100svh}.sidebar{background:#234738;color:#fcf8e9;padding:2.1rem 1.2rem 1.2rem;position:sticky;top:0;height:100svh;display:flex;flex-direction:column}.sidebar-head{padding:.25rem .55rem 1.8rem}.nav-wrap{flex:1 1;display:flex;flex-direction:column;min-height:0}.home-label{padding:.85rem .75rem;border:1px solid #52715e;border-radius:10px;display:flex;align-items:center;gap:.65rem;background:#305341;overflow-wrap:anywhere}.home-label small,.sidebar-bottom small{color:#d1dec8;font-size:.76rem}.sidebar nav{margin-top:2rem;display:grid;gap:.26rem}.sidebar nav button{justify-content:flex-start;padding:.78rem .9rem;color:#e2ebdb;gap:.8rem;background:none;font-size:.95rem;text-align:left}.sidebar nav .active{color:#233e30;background:#dae6c6}.sidebar-bottom{display:flex;gap:.65rem;align-items:center;margin-top:auto;border-top:1px solid #496451;padding:.85rem 0 0}.sidebar-bottom .initial{display:grid;place-items:center;flex:none;width:36px;height:36px;background:#e1c392;color:#463e2d;border-radius:50%}.sidebar-bottom>div{min-width:0;overflow-wrap:anywhere}.sidebar-bottom button{padding:0;background:transparent;min-width:44px;margin-left:auto}.mobile-toggle{display:none}.main{width:100%;max-width:1490px;padding:0 clamp(1.25rem,3.1vw,3.6rem) 5.5rem;margin:0 auto}.topline{justify-content:space-between;gap:.6rem;border-bottom:1px solid var(--line);min-height:73px}.date,.topline,.topline>span{display:flex;align-items:center}.date,.topline>span{gap:.55rem;color:var(--muted);font-size:.85rem}.topline i{font-style:normal;color:#8b9989}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin:1.8rem 0 1.3rem}.page-head h1{margin:0}.date{padding-bottom:.6rem;text-transform:capitalize}.dashboard-body,.hero-grid{display:grid;grid-template-columns:minmax(0,1.44fr) minmax(0,1fr);gap:1rem}.dashboard-body{margin-top:1rem}.card,.guide-panel{background:var(--cream);border:1px solid var(--line);border-radius:19px;padding:clamp(1.05rem,1.9vw,1.7rem);min-width:0}.main>.card,.main>.guide-panel,.main>.stat-strip{margin-bottom:1rem}.section-head{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.8rem}.section-head .eyebrow:last-child,.section-head h2{margin-bottom:0}.section-head button{flex-shrink:0}.rank-card{background:#e9eedc;border-color:#d3dcc5;display:flex;flex-direction:column;overflow:hidden;position:relative}.period,.tabs{display:flex;align-items:center;gap:3px}.period{border:1px solid #c4d0b9;border-radius:9px;padding:2px;background:#dce4d0}.period button{min-height:44px;min-width:44px;padding:.35rem .6rem;background:none;color:var(--forest);font-size:.8rem;border-radius:6px}.period button.on{background:#fffdf3;box-shadow:0 1px 3px #30483521}.podium{position:relative;align-items:flex-end;justify-content:center;gap:6px;margin:1rem auto 0;width:100%;max-width:520px}.place,.podium{display:flex;flex:1 1}.place{min-width:0;text-align:center;flex-direction:column;align-items:center}.place strong{font-size:.95rem;overflow-wrap:anywhere}.place small{font-size:.8rem;color:#465847}.family-avatar{width:min(100%,92px);height:auto;display:block}.place-1 .family-avatar{width:min(100%,112px)}.step{height:35px;width:100%;border-radius:9px 9px 0 0;margin-top:5px;background:#c4bca7}.step,.step span{display:grid;place-items:center}.step span{width:24px;height:24px;border:1px solid #736e5e;border-radius:50%;font:700 .9rem Georgia,serif;color:#454939}.place-1 .step{height:56px;background:#e6c68b}.place-1 .step span{background:#efd99e;border-color:#998050}.place-2 .step{height:44px;background:#becdc3}.place-3 .step{background:#dbb49d}.rank-card footer{display:flex;align-items:center;gap:.45rem;padding-top:.6rem;border-top:1px solid #bac7ac;color:#425a43;font-size:.83rem}.rank-card footer b{margin-left:auto}.today-card{background:var(--forest);color:#fff9e9;border-color:var(--forest)}.today-card .eyebrow{color:#d6dfbd}.today-card small{color:#dde4ce}.day-progress{display:flex;align-items:baseline;gap:.6rem;margin:.8rem 0 .55rem}.amount,.day-progress strong{font:500 2.5rem/1.2 Georgia,serif;letter-spacing:-.04em}.day-progress strong em{font-style:normal;font-size:.6em;color:#d4ddc3}.today-card .summary-row{border-color:#597662;color:#f6f6e8}.today-card .summary-row svg{color:#d9dca7}.summary-row{display:flex;align-items:center;justify-content:space-between;gap:.6rem;border-top:1px solid var(--line);padding:.75rem 0;font-size:.95rem}.summary-row span:has(svg){display:inline-flex;align-items:center;gap:.55rem}.card>small+.summary-row{margin-top:.85rem}.amount{margin:.7rem 0 .1rem}.section-head+.amount{margin-top:1.35rem}progress{appearance:none;display:block;width:100%;height:7px;border:none;border-radius:99px;overflow:hidden;background:#d5dfce;margin:.6rem 0}progress::-webkit-progress-bar{background:#d5dfce;border-radius:99px}progress::-webkit-progress-value{background:#52765b;border-radius:99px}progress::-moz-progress-bar{background:#52765b;border-radius:99px}.today-card progress{margin:.7rem 0 1.3rem}.today-card progress::-webkit-progress-bar{background:#5c7965}.today-card progress::-webkit-progress-value{background:#d1dfa4}.coin,.tile-icon{display:inline-grid;place-items:center;flex:none;width:40px;height:40px;border-radius:11px;color:#4b6347}.mint{background:#e5eddc;color:#37573f}.amber{background:#f3e6cf;color:#78512b}.coin{color:#87611d;border-radius:50%;background:#f2dfb6;border:1px solid #d7bd85}.line,.medal-row,.task-row{display:flex;align-items:flex-start;gap:.8rem;border-top:1px solid var(--line);padding:.9rem 0;overflow-wrap:anywhere}.line:first-of-type,.medal-row:first-of-type,.task-row:first-of-type{border-top:0}.line strong,.medal-row strong,.row-body strong,.task-row strong{display:block}.medal-row>div,.row-body{flex:1 1;min-width:0}.line,.medal-row{align-items:center}.line{justify-content:space-between;flex-wrap:wrap}.pill{display:inline-flex;align-items:center;line-height:1.35;font-size:.74rem;font-weight:650;border-radius:20px;background:#eae9db;color:#4a573e;padding:.2rem .55rem;margin:.3rem 0}.actions,.tools{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}.actions:empty{display:none}.actions:not(:empty){margin:.4rem 0}.actions button{font-size:.87rem}.empty{color:var(--muted);font-size:.96rem;margin:.9rem 0}.guide-panel{display:flex;align-items:center;gap:1rem;background:#e9eedf}.guide-panel h2{margin:0 0 .4rem}.guide-panel p{margin:0 0 .5rem}.mimo{display:block;flex:none;width:80px;height:auto;overflow:visible}.guide-panel>.mimo{width:clamp(60px,8vw,96px)}.tabs{margin:1rem 0;flex-wrap:wrap;border-bottom:1px solid var(--line)}.tabs button{border-radius:0;background:transparent;color:var(--muted);border-bottom:3px solid transparent}.tabs .selected{color:var(--forest);border-bottom-color:var(--forest)}.short{max-width:230px;margin-bottom:.8rem}.rule{border-top:1px solid var(--line);padding:.65rem 0}summary{cursor:pointer;min-height:44px;padding:.55rem 0;font-weight:650}summary small{display:inline-block;font-size:.78rem;color:var(--muted);margin-right:.45rem}details:not(.rule) summary{font-size:.86rem;color:var(--forest)}details p{margin:.45rem 0}.tools{align-items:flex-end;margin-bottom:1rem}.tools label{flex:1 1;min-width:150px}.stat-strip{display:flex;flex-wrap:wrap;gap:2.5rem;background:#e6edda;padding:1.3rem 1.6rem;border-radius:15px}.stat-strip strong{display:block;font:500 2rem Georgia,serif}.invite{overflow-wrap:anywhere;background:var(--sage);padding:.8rem;border-radius:8px}.invite b{display:block}.help-button{position:fixed;bottom:16px;right:20px;border:1px solid #81987e;box-shadow:0 3px 12px #20352622;border-radius:24px;font-size:.87rem;z-index:4}.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:1rem;background:#253d30;color:white;border:1px solid #a0ad98;border-radius:12px;display:flex;align-items:center;gap:.5rem;padding:.3rem .7rem;z-index:9;max-width:90vw}.toast button{background:none;padding:0;min-width:44px}.tour{position:fixed;z-index:7;width:min(320px,calc(100vw - 16px));max-height:55svh;overflow:auto;background:#fffcf2;color:var(--ink);border:2px solid #718b60;border-radius:13px;box-shadow:0 8px 30px #253d302a;padding:.8rem}.tour-head{display:flex;align-items:center;gap:.7rem}.tour-head .mimo{width:47px}.tour .check-field,.tour button,.tour p{font-size:.88rem}.tour p{margin:.4rem 0}.tour-target{outline:3px solid #ad723b!important;outline-offset:3px}.skip{position:fixed;left:1rem;top:-80px;z-index:10;background:white;padding:.8rem}.skip:focus{top:.3rem}.error{padding:.7rem;border-radius:8px;background:#f7e6dc;color:#772f24}.mobile-toggle{background:none;color:white}dialog{margin:auto;max-width:min(520px,calc(100vw - 24px));width:100%;max-height:88svh;border:1px solid #a7b4a0;border-radius:20px;background:var(--cream);color:var(--ink);padding:0;box-shadow:0 15px 80px #152c2630}dialog::backdrop{background:#152c2477}dialog .guide-panel{margin:1rem 0}.dialog-pad{padding:clamp(1.25rem,4vw,2rem)}.dialog-pad>p{color:var(--muted)}.avatar-body,.mimo-body{transform-origin:center bottom;animation:guide-float 4s ease-in-out infinite}.eyes{transform-box:fill-box;transform-origin:center;animation:guide-blink 5s infinite}.mimo-hand{transform-origin:84px 63px}.point .mimo-hand{animation:guide-point 1.4s infinite}.explain .mimo-hand{animation:guide-wave 2s infinite}.celebrate .mimo-body{animation:guide-hop .75s ease-in-out 2}.alert .mimo-body{animation:guide-glow 1.8s infinite}.spark{animation:guide-hop .9s ease-in-out 2}.sleep .mimo-body{animation-duration:6s}.place-2 .avatar-body{animation-delay:-1.2s}.place-3 .avatar-body{animation-delay:-2s}@keyframes guide-float{50%{transform:translateY(-3px)}}@keyframes guide-blink{0%,44%,48%,to{transform:scaleY(1)}46%{transform:scaleY(.1)}}@keyframes guide-point{50%{transform:rotate(14deg)}}@keyframes guide-wave{50%{transform:rotate(-18deg)}}@keyframes guide-hop{50%{transform:translateY(-8px)}}@keyframes guide-glow{50%{filter:drop-shadow(0 0 2px #a78d4d)}}@media (min-width:1500px){.shell{grid-template-columns:260px minmax(0,1fr)}.main{padding-inline:3.4rem}}@media (max-width:1040px){.shell{grid-template-columns:184px minmax(0,1fr)}.sidebar{padding:1.5rem .8rem 1rem}.dashboard-body,.hero-grid{grid-template-columns:minmax(0,1.22fr) minmax(0,1fr)}.rank-card .section-head{align-items:flex-start;flex-wrap:wrap}.period button{font-size:.78rem}.hero-grid .card{padding:1.05rem}.rank-card h2{margin-bottom:.1rem}.date{font-size:.78rem}}@media (max-width:800px){.shell{display:block}.sidebar{height:auto;position:relative;padding:.75rem 1rem;z-index:2}.sidebar-head{padding:0;display:flex;justify-content:space-between;align-items:center}.sidebar .brand{font-size:1.55rem}.brand svg{width:29px}.mobile-toggle{display:inline-flex}.nav-wrap{display:none}.expanded .nav-wrap{display:flex;padding:.75rem 0}.sidebar nav{margin-top:.75rem;grid-template-columns:repeat(2,1fr)}.sidebar-bottom{margin-top:1rem}.main{padding:0 1rem 5rem}.topline{min-height:58px}.page-head{margin:1.3rem 0}.entry-art{padding:2rem;min-height:580px}.entry-copy h1{font-size:3.4rem}.entry-copy{margin-top:3rem}.entry-form{padding:1rem 1.4rem}}@media (max-width:640px){.entry{display:flex;flex-direction:column}.entry-art{min-height:185px;padding:1.1rem 1.25rem}.entry-art .brand{font-size:1.5rem}.entry-copy{margin-top:1.1rem;width:60%}.entry-copy h1{font-size:2.25rem;margin:.12em 0}.entry-copy .eyebrow,.entry-copy p{display:none}.house-scene{left:auto;width:49%;height:100%;opacity:.95;-webkit-mask-image:linear-gradient(90deg,transparent,#000 20%);mask-image:linear-gradient(90deg,transparent,#000 20%)}.entry-form{padding:0 1.2rem 1.5rem;flex:1 1}.entry-top{margin-top:.25rem}.login-panel{padding:.5rem 0}.entry-icon{width:44px;height:44px;margin-bottom:.85rem}.dashboard-body,.hero-grid{grid-template-columns:minmax(0,1fr)}.hero-grid .section-head{flex-wrap:nowrap}.date{padding:0}.page-head{align-items:flex-start;flex-direction:column;gap:.4rem}.page-head h1{font-size:2.55rem}.today-card{padding:1.1rem!important}.day-progress{margin:.45rem 0}.today-card .summary-row{padding:.45rem 0}.place .family-avatar{width:70px}.place-1 .family-avatar{width:84px}.section-head{gap:.5rem}.section-head>button{font-size:.83rem;padding:.5rem .65rem}.help-button{right:12px;bottom:10px}.toast{bottom:64px;min-width:200px}.card,.guide-panel{border-radius:15px}.tools{gap:.7rem}.stat-strip{gap:1rem}.tools>*{width:100%}.tools>label{min-width:100%}}@media (max-width:360px){.rank-card .section-head{flex-wrap:wrap}.main{padding-inline:.7rem}.period button{padding:.3rem}.sidebar-head .brand{font-size:1.5rem}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.add-caption,.bottom-nav{display:none}.more-links{display:grid;gap:.65rem}.more-links button{background:var(--sage);color:var(--forest);justify-content:flex-start}.more-links button svg:last-child:not(:first-child){margin-left:auto}.task-form{gap:1.4rem}.task-form fieldset{min-width:0;margin:0;padding:0;border:0;display:grid;gap:.8rem}.task-form>fieldset{border-top:1px solid var(--line);padding-top:.65rem}.task-form legend{padding:0 .5rem 0 0;color:var(--forest);font-size:1.15rem;font-weight:750}.task-form label{margin:0}.task-confirm p,.task-form .field-note{margin:0;color:var(--muted);font-size:1rem;line-height:1.5}.schedule-pair{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:.75rem}.task-form input,.task-form select{min-width:0;max-width:100%}.task-form .effort-picker legend{font-size:1rem}.task-form .effort-option{display:grid;grid-template-columns:1.2rem minmax(0,1fr) auto;align-items:center;gap:.6rem;padding:.65rem;border:1px solid var(--line);border-radius:12px;cursor:pointer}.effort-option input{width:1.1rem;height:1.1rem;min-height:0;accent-color:var(--forest);margin:0}.effort-option:has(input:checked){background:var(--sage);border-color:var(--forest)}.effort-option small{display:block;font-weight:400;color:var(--muted);line-height:1.4}.muscles{font-size:.875rem;letter-spacing:-.14em;white-space:nowrap}.task-confirm{background:var(--sage);border-radius:12px;padding:1rem!important}@media (max-width:800px){.sidebar{position:sticky;top:0;min-height:52px}.sidebar .nav-wrap{display:none}.bottom-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));position:fixed;z-index:4;inset:auto 0 0;padding:.3rem .4rem max(.3rem,env(safe-area-inset-bottom));background:var(--cream);border-top:1px solid var(--line);box-shadow:0 -4px 18px #223d2910}.bottom-nav button{display:flex;flex-direction:column;gap:.16rem;border-radius:10px;padding:.35rem .1rem;min-height:48px;background:transparent;color:var(--muted);font-size:.8rem;font-weight:650}.bottom-nav button[aria-current=page]{background:var(--sage);color:var(--forest)}.main{padding-bottom:calc(5.5rem + env(safe-area-inset-bottom))}.help-button{top:4px;right:12px;bottom:auto;z-index:3;padding:.35rem .7rem;min-height:44px;background:var(--forest);color:white;box-shadow:none}.toast{bottom:calc(65px + env(safe-area-inset-bottom))}.page-head{margin:.75rem 0;gap:.1rem}.dashboard-body .card,.hero-grid .card{padding:1rem}.dashboard-body .medal-row~.medal-row,.dashboard-body .summary-row~.summary-row,.dashboard-body .task-row:nth-of-type(n+3){display:none}.rank-card .podium{margin:.5rem 0;padding:0}.rank-card .place .family-avatar{width:48px;height:50px}.rank-card .place .step{height:26px;min-height:0}.rank-card .place-1 .step{height:34px}.rank-card .place-2 .step{height:30px}.rank-card footer{margin-top:.4rem;padding-top:.5rem}.dashboard-body .eyebrow,.today-card .eyebrow{display:none}.today-card .day-progress{margin:.2rem 0}.dashboard-body h2,.today-card h2{margin:.1rem 0}.today-card .day-progress strong{font-size:1.8rem}.task-form{gap:1.5rem}.task-form input,.task-form label,.task-form select{font-size:1rem}.task-form>button{width:100%}.add-caption{display:inline}.dashboard-body .square{width:auto;padding-inline:.7rem;gap:.3rem}}@media print{.bottom-nav{display:none}.button,.guide-panel .mimo,.help-button,.sidebar,.tabs,.toast,.tools,.topline,.tour,button{display:none!important}.main,.shell{display:block;padding:0}.card,.guide-panel{border:none;padding:0}.rule{page-break-inside:avoid;break-inside:avoid}.rule>p,.rule>small{display:block!important}}@media print{.rule::details-content{content-visibility:visible}.page-head{margin:0 0 1rem}}.bill{padding:1rem 0;border-top:1px solid var(--line)}.bill h3{margin:0}.bill p{margin:.4rem 0}.bill form{margin:.8rem 0;max-width:30rem}.bill .actions{flex-wrap:wrap}.task-form details>summary{padding-block:.8rem;color:var(--forest);font-weight:700}.task-form details[open]>fieldset{margin-block:.8rem}