:root{--bg:#f6f7f4;--card:#fff;--ink:#1c2421;--muted:#5d6b66;--line:#e3e7e3;--brand:#0f766e;--brand-ink:#fff;--brand-soft:#e0f2ef;--pos:#15803d;--neg:#b42318;--warn-bg:#fff7e6;--warn:#92400e;--alarm-bg:#fdecec;--gold:#f59e0b;--radius:16px;--shadow:0 1px 2px #0000000d, 0 2px 10px #0000000a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#101513;--card:#19201d;--ink:#e8eeeb;--muted:#9aa8a2;--line:#2a3430;--brand:#2dd4bf;--brand-ink:#062b27;--brand-soft:#123a35;--pos:#4ade80;--neg:#f87171;--warn-bg:#3a2a0c;--warn:#fcd34d;--alarm-bg:#3b1616;--shadow:none;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);margin:0}body{-webkit-tap-highlight-color:transparent;font:16px/1.4 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}h1{margin:8px 0 16px;font-size:28px}h2{margin:0 0 10px;font-size:18px}h3{color:var(--muted);margin:16px 0 8px;font-size:15px}p{margin:6px 0}small{color:var(--muted);font-size:13px;display:block}input,select,button{font:inherit;color:inherit}input,select{border:1px solid var(--line);background:var(--bg);border-radius:12px;width:100%;min-height:48px;padding:12px}input:focus,select:focus{outline:2px solid var(--brand);outline-offset:1px}.center{place-items:center;min-height:100vh;display:grid}.logo{background:var(--gold);color:#7c2d12;border-radius:50%;place-items:center;width:72px;height:72px;margin:0 auto;font-size:40px;font-weight:800;display:grid}.auth{text-align:center;max-width:420px;margin:0 auto;padding:40px 16px}.auth .card{text-align:left}.code-input{letter-spacing:6px;text-align:center;text-transform:uppercase;font-size:24px}.app{max-width:640px;padding-bottom:calc(80px + env(safe-area-inset-bottom));margin:0 auto}.top{padding:14px 16px;padding-top:calc(14px + env(safe-area-inset-top));justify-content:space-between;align-items:center;display:flex}.brand{color:var(--brand);font-weight:800}.who{color:var(--muted);font-size:14px}main{padding:0 16px}.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--line);margin:0 0 14px;padding:16px}.card.attention{border-color:var(--gold)}.card.alarm{background:var(--alarm-bg);border-color:var(--neg)}.card.clickable{cursor:pointer}.muted{color:var(--muted)}.small{font-size:13px}.empty{color:var(--muted);padding:8px 0}.error{color:var(--neg);font-weight:600}.error.banner{margin:0 16px 12px}.warn{background:var(--warn-bg);color:var(--warn);border-radius:10px;padding:8px 12px}.flash{background:var(--brand-soft);color:var(--brand);text-align:center;border-radius:10px;padding:10px 12px;font-weight:700;animation:.3s ease-out pop}@keyframes pop{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.btn{border:1px solid var(--line);background:var(--card);cursor:pointer;border-radius:12px;min-height:44px;padding:10px 14px;font-weight:600}.btn:disabled{opacity:.5;cursor:default}.btn.primary{background:var(--brand);color:var(--brand-ink);border-color:var(--brand)}.btn.danger{background:var(--neg);color:#fff;border-color:var(--neg)}.btn.big{width:100%;min-height:52px;margin-top:8px;font-size:17px}.btn.huge{width:100%;min-height:64px;font-size:20px}.btn.small{min-height:34px;padding:6px 10px;font-size:14px}.btn.link{color:var(--brand);background:0 0;border:none;min-height:0;padding:8px 0}.btn.claim{white-space:nowrap;flex-shrink:0;min-width:116px}.btn.claim:not(:disabled){background:var(--brand);color:var(--brand-ink);border-color:var(--brand)}.icon-btn{cursor:pointer;color:var(--muted);background:0 0;border:none;padding:4px 8px;font-size:28px;line-height:1}.actions{margin-bottom:14px}.actions-row{gap:10px;margin-top:10px;display:flex}.actions-row>*{flex:1;margin-top:0}.row-between{justify-content:space-between;align-items:center;gap:10px;display:flex}.inline{gap:8px;display:flex}.inline>select{width:auto}.balances{margin-bottom:14px}.kid-name{margin:4px 0 8px}.bal-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.bal{border-radius:var(--radius);padding:14px}.bal span{opacity:.85;font-size:14px;font-weight:600}.bal strong{font-variant-numeric:tabular-nums;margin:2px 0;font-size:30px;font-weight:800;display:block}.bal small{color:inherit;opacity:.8}.bal.credit{background:var(--card);border:1px solid var(--line)}.bal.avail{background:var(--brand);color:var(--brand-ink)}.list{margin:0;padding:0;list-style:none}.list>li{border-top:1px solid var(--line);padding:12px 0}.list>li:first-child{border-top:none}.chore{justify-content:space-between;align-items:center;gap:12px;display:flex}.chore.task{background:var(--warn-bg);margin:0 -16px;border-top:none!important;padding:12px 16px!important}.countdown{font-weight:700;color:var(--warn)!important}.entry{justify-content:space-between;align-items:center;gap:12px;display:flex}.entry-right{align-items:center;gap:8px;display:flex}.amt{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:700}.amt.pos{color:var(--pos)}.amt.neg{color:var(--neg)}.amt.struck{color:var(--muted);text-decoration:line-through}.pending input{margin:8px 0 0}.inactive{opacity:.55}.note{color:var(--muted);font-style:italic}.chips{gap:8px;padding:2px 0 12px;display:flex;overflow-x:auto}.chip{border:1px solid var(--line);background:var(--card);white-space:nowrap;cursor:pointer;border-radius:999px;padding:8px 14px;font-weight:600}.chip.on{background:var(--brand);color:var(--brand-ink);border-color:var(--brand)}.chip.add{color:var(--brand)}.strikes{background:var(--brand-soft);color:var(--brand);white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:13px;font-weight:700}.strikes.s1{background:var(--warn-bg);color:var(--warn)}.strikes.s2,.strikes.s3{background:var(--alarm-bg);color:var(--neg)}.stats{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;margin:8px 0;display:grid}.stats div{background:var(--bg);border-radius:12px;padding:10px}.stats span{color:var(--muted);font-size:13px}.stats strong{font-variant-numeric:tabular-nums;font-size:20px;display:block}.next-due{background:var(--brand-soft);border-radius:10px;padding:10px 12px}.chart{margin:0}.chart svg{width:100%;height:auto;display:block}.chart .grid{stroke:var(--line)}.chart .axis{fill:var(--muted);font-size:11px}.chart .today{stroke:var(--gold);stroke-dasharray:3 3}.chart .line{fill:none;stroke-width:2.5px;stroke-linejoin:round}.chart .sched{stroke:var(--muted);stroke-dasharray:5 4}.chart .actual{stroke:var(--brand)}.chart figcaption{color:var(--muted);align-items:center;gap:6px;margin-top:6px;font-size:13px;display:flex}.key{border-top:3px solid var(--brand);width:18px;height:0;display:inline-block}.key.sched{border-top:3px dashed var(--muted)}.key.actual{margin-left:10px}.table-wrap{margin:0 -16px;padding:0 16px;overflow-x:auto}table.sched{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:14px}table.sched th,table.sched td{text-align:right;border-bottom:1px solid var(--line);white-space:nowrap;padding:8px 6px}table.sched th:first-child,table.sched td:first-child,table.sched th:nth-child(2),table.sched td:nth-child(2){text-align:left}table.sched th{color:var(--muted);font-weight:600}.st-on_time td:last-child{color:var(--pos)}.st-late td:last-child,.st-partial td:last-child{color:var(--warn)}.st-missed td:last-child{color:var(--neg);font-weight:700}.field{margin:0 0 12px;display:block}.field-label{margin-bottom:4px;font-size:14px;font-weight:600;display:block}.field-hint{color:var(--muted);margin-top:4px;font-size:13px;display:block}.check{align-items:flex-start;gap:10px;margin:4px 0 12px;font-size:14px;display:flex}.check input{flex:none;width:22px;height:22px;min-height:0;margin-top:1px}.preview{background:var(--brand-soft);border-radius:12px;gap:2px;margin-bottom:8px;padding:12px;display:grid}.invite-code{background:var(--brand-soft);text-align:center;border-radius:12px;margin-top:12px;padding:14px}.invite-code strong{letter-spacing:6px;color:var(--brand);font-size:34px;display:block}.modal-back{z-index:20;background:#00000073;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.modal{background:var(--card);width:100%;max-width:560px;max-height:92vh;padding:16px;padding-bottom:calc(84px + env(safe-area-inset-bottom));border-radius:20px 20px 0 0;animation:.2s ease-out up;overflow-y:auto}@keyframes up{0%{opacity:.5;transform:translateY(40px)}to{opacity:1;transform:none}}@media (width>=700px){.modal-back{align-items:center}.modal{border-radius:20px;padding-bottom:16px}}.modal-head{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.modal-head h2{margin:0}.tabs{background:var(--card);border-bottom:1px solid var(--line);border-top:1px solid var(--line);z-index:10;margin-bottom:14px;display:flex;position:sticky;top:0}.tabs button{color:var(--muted);cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:2px;padding:8px 0 10px;font-size:12px;font-weight:600;display:flex}.tabs button.on{color:var(--brand)}.tab-icon{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:24px;height:24px}.pp{max-width:1040px;margin:0 auto;padding:0 20px 60px}.pp-nav{background:var(--bg);z-index:5;align-items:center;gap:10px;padding:14px 0;display:flex;position:sticky;top:0}.pp-nav .brand{align-items:center;gap:8px;margin-right:auto;font-size:19px;display:flex}.pp-coin{background:var(--gold);color:#7c2d12;border-radius:50%;place-items:center;width:28px;height:28px;font-size:16px;font-weight:800;display:inline-grid}.pp-nav a.btn,.pp a.btn{white-space:nowrap;color:var(--ink);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.pp-hero{align-items:center;gap:28px;padding:28px 0 44px;display:grid}.pp-hero h1{letter-spacing:-.02em;margin:0 0 14px;font-size:clamp(32px,6vw,52px);line-height:1.08}.pp-hero p{color:var(--muted);max-width:34em;font-size:18px}.pp-cta{flex-wrap:wrap;gap:10px;margin-top:20px;display:flex}.pp-cta .btn{min-height:52px;padding:12px 22px;font-size:17px}.pp-phone{aspect-ratio:412/800;background:#f6f7f4;border:8px solid #1c2421;border-radius:30px;width:min(300px,78vw);margin:0 auto;overflow:hidden;box-shadow:0 18px 40px #0000002e}.pp-phone img{object-fit:cover;object-position:top;width:100%;height:100%;display:block}.pp-feature{border-top:1px solid var(--line);align-items:center;gap:24px;padding:40px 0;display:grid}.pp-feature h2{margin:0 0 10px;font-size:28px;line-height:1.15}.pp-feature p{color:var(--muted);font-size:17px}.pp-feature ul{margin:14px 0 0;padding-left:20px}.pp-feature li{margin:6px 0}.pp-tag{background:var(--brand-soft);color:var(--brand);border-radius:99px;margin-bottom:10px;padding:4px 10px;font-size:13px;font-weight:700;display:inline-block}.pp-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;padding:12px 0 40px;display:grid}.pp-grid .card{margin:0}.pp-grid h3{color:var(--ink);margin:0 0 6px;font-size:17px}.pp-section-title{border-top:1px solid var(--line);margin:40px 0 14px;padding-top:40px;font-size:28px}.pp-own{background:var(--brand);color:var(--brand-ink);border-radius:24px;margin-top:12px;padding:28px}.pp-own h2{margin:0 0 8px;font-size:26px}.pp-own p{opacity:.92;max-width:40em;font-size:17px}.pp a.btn.primary{color:var(--brand-ink)}.pp-nav .brand{white-space:nowrap}@media (width<=420px){.pp-nav .btn{padding:8px 10px;font-size:14px}.pp-nav .brand{font-size:16px}}.pp-own .btn{background:var(--card);min-height:52px;color:var(--ink);margin-top:14px;padding:12px 22px}.pp-foot{text-align:center;color:var(--muted);padding-top:32px;font-size:14px}.pp-foot a,.auth .back{color:var(--brand)}.auth .back{margin-top:14px;display:inline-block}@media (width>=760px){.pp-hero,.pp-feature{grid-template-columns:1fr 1fr;gap:48px}.pp-feature.flip .pp-phone{order:-1}}.task-row{padding:10px 0}.task-top{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.task-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.x-btn{border:1px solid var(--line);background:var(--card);color:var(--muted);cursor:pointer;border-radius:50%;flex-shrink:0;width:36px;height:36px;font-size:15px;line-height:1}.x-btn:hover{color:var(--neg);border-color:var(--neg)}.btn.small-btn{min-height:36px;padding:6px 12px;font-size:14px}.pp-video{text-align:center;padding:8px 0 44px}.pp-video h2{margin:0 0 16px;font-size:28px}.pp-video video{aspect-ratio:16/9;background:#073b36;border-radius:20px;width:100%;max-width:880px;margin:0 auto;display:block;box-shadow:0 18px 40px #0000002e}
