@charset "UTF-8";:root{--bg: #f4f5f6;--surface: #ffffff;--surface-2: #eef0f2;--field: #fbfbfc;--ink: #1e2226;--muted: #5f676e;--line: #dfe2e5;--moss: #1e2226;--moss-deep: #000000;--moss-soft: #e2f4f2;--moss-light: #8fd9d1;--on-moss: #ffffff;--logo-a: #1e2226;--logo-b: #1fa597;--logo-arrow: #e6a700;--honey: #f2c14e;--honey-ink: #6e5205;--honey-text: #6e5205;--honey-soft: #fdf1d2;--danger: #b8442f;--danger-soft: #f8e1da;--on-danger: #ffffff;--shadow: rgba(36, 51, 31, .08);--shadow-strong: rgba(36, 51, 31, .2);--font-display: "Baloo 2", "Nunito", system-ui, sans-serif;--font-body: "Nunito", system-ui, -apple-system, "Segoe UI", sans-serif;--radius: 18px;--tab-h: 64px;color-scheme:light}:root[data-theme=dark]{--bg: #15181b;--surface: #1f2327;--surface-2: #262b30;--field: #181b1e;--ink: #f1f3f5;--muted: #a9b0b7;--line: #30363c;--moss: #2ec4b6;--moss-deep: #1f8f85;--moss-soft: #1f3433;--moss-light: #2a7f78;--on-moss: #15181b;--logo-a: #ffffff;--logo-b: #2ec4b6;--logo-arrow: #f2c14e;--honey: #f2c14e;--honey-ink: #6e5205;--honey-text: #f2c14e;--honey-soft: #3d3214;--danger: #ee8a75;--danger-soft: #45201a;--on-danger: #2a0d07;--shadow: rgba(0, 0, 0, .35);--shadow-strong: rgba(0, 0, 0, .55);color-scheme:dark}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #15181b;--surface: #1f2327;--surface-2: #262b30;--field: #181b1e;--ink: #f1f3f5;--muted: #a9b0b7;--line: #30363c;--moss: #2ec4b6;--moss-deep: #1f8f85;--moss-soft: #1f3433;--moss-light: #2a7f78;--on-moss: #15181b;--logo-a: #ffffff;--logo-b: #2ec4b6;--logo-arrow: #f2c14e;--honey: #f2c14e;--honey-ink: #6e5205;--honey-text: #f2c14e;--honey-soft: #3d3214;--danger: #ee8a75;--danger-soft: #45201a;--on-danger: #2a0d07;--shadow: rgba(0, 0, 0, .35);--shadow-strong: rgba(0, 0, 0, .55);color-scheme:dark}}*{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font:500 16px/1.5 var(--font-body);-webkit-tap-highlight-color:transparent}h1,h2,h3{font-family:var(--font-display);line-height:1.15;margin:0 0 12px;text-wrap:balance}h1{font-size:30px;font-weight:800}h2{font-size:21px;font-weight:700}p{margin:0}a{color:var(--moss)}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:3px solid var(--honey);outline-offset:2px}.muted{color:var(--muted)}.small{font-size:14px}.narrow{max-width:60ch}.grow{flex:1;min-width:0}.visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}n-icon{vertical-align:-.2em}app-shell{display:block;min-height:100%}.topbar{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:12px;padding:calc(10px + env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) 10px max(16px,env(safe-area-inset-left,0px));background:color-mix(in srgb,var(--bg) 94%,transparent);backdrop-filter:blur(8px)}.me{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);min-width:0;flex:1}.me-text{display:grid;line-height:1.15;min-width:0}.me-text b{font-family:var(--font-display);font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.me-text small{color:var(--muted);font-size:12px}.brand{font:800 20px var(--font-display);color:var(--moss)}.icon-btn{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:14px;border:0;background:var(--surface);color:var(--moss);cursor:pointer;font-size:20px;text-decoration:none;flex:none}.icon-btn:disabled{opacity:.35;cursor:default}.page{max-width:920px;margin:0 auto;padding:8px max(16px,env(safe-area-inset-right,0px)) calc(var(--tab-h) + 28px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));display:flex;flex-direction:column;gap:16px}.page>router-outlet+*{display:flex;flex-direction:column;gap:16px;min-width:0}.page>router-outlet+*>h1{margin-bottom:0}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:10;display:flex;justify-content:space-around;padding:8px max(8px,env(safe-area-inset-right,0px)) calc(8px + env(safe-area-inset-bottom,0px)) max(8px,env(safe-area-inset-left,0px));background:var(--surface);box-shadow:0 -4px 18px var(--shadow)}.tabbar a{flex:1;max-width:120px;display:flex;flex-direction:column;align-items:center;gap:2px;color:var(--muted);text-decoration:none;font-size:12px;font-weight:800;padding:4px 0;border-radius:12px}.tabbar a n-icon{font-size:24px}.tabbar a.on{color:var(--moss);background:var(--moss-soft)}.card{background:var(--surface);border-radius:var(--radius);padding:16px;box-shadow:0 3px 0 var(--line)}.stack{display:flex;flex-direction:column;gap:14px}.actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.actions .push{margin-left:auto}.row-inline{display:flex;gap:10px;align-items:center}.row-inline.wrap{flex-wrap:wrap;align-items:flex-end}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:14px;padding:11px 18px;font-weight:800;cursor:pointer;text-decoration:none;min-height:44px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--moss);color:var(--on-moss);box-shadow:0 3px 0 var(--moss-deep)}.btn-ghost{background:var(--surface);color:var(--ink);box-shadow:inset 0 0 0 2px var(--line)}.btn-danger{background:var(--danger);color:var(--on-danger)}.danger-text{color:var(--danger)}.big-btn{width:100%;font-size:18px;min-height:52px}.small-btn{padding:6px 12px;min-height:34px;font-size:14px}.chip{border:0;border-radius:999px;padding:6px 14px;font-weight:800;cursor:pointer;background:var(--surface);color:var(--ink);box-shadow:inset 0 0 0 2px var(--line)}.chip.on{background:var(--moss);color:var(--on-moss);box-shadow:none}label{display:grid;gap:6px;font-weight:700;font-size:14px}label small{font-weight:500}input:not([type=checkbox]),select,textarea{width:100%;border:2px solid var(--line);border-radius:14px;padding:11px 13px;background:var(--field);font-size:16px;font-weight:600}input:focus,select:focus{border-color:var(--moss-light);outline:none}fieldset{border:0;padding:0;margin:0;display:grid;gap:8px;min-width:0}legend{font-weight:700;font-size:14px;padding:0;margin-bottom:6px}.check{display:flex;gap:10px;align-items:center;font-weight:600}.check input{width:22px;height:22px;accent-color:var(--moss)}.switch{display:flex;align-items:center;gap:6px;font-weight:700;font-size:13px;color:var(--muted)}.switch input{accent-color:var(--moss);width:20px;height:20px}.seg{display:flex;gap:4px;background:var(--moss-soft);border-radius:14px;padding:4px}.seg.wrap{flex-wrap:wrap}.seg button{flex:1;border:0;background:transparent;border-radius:10px;padding:9px 10px;font-weight:800;cursor:pointer;color:var(--muted)}.seg button[aria-selected=true],.seg button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:0 2px 0 var(--line)}.error{color:var(--danger);background:var(--danger-soft);border-radius:12px;padding:10px 12px;font-weight:700;font-size:14px}.note{background:var(--moss-soft);border-radius:12px;padding:10px 12px;font-size:14px}.ok-text{color:var(--moss);font-weight:800}.pill{display:inline-block;background:var(--honey);color:var(--honey-ink);border-radius:999px;padding:4px 12px;font-weight:800;font-size:13px}.sec{font-size:13px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-family:var(--font-body);font-weight:800}.block{display:flex;flex-direction:column;gap:10px}.empty{display:grid;justify-items:center;text-align:center;gap:10px;padding:28px}.empty n-icon{font-size:48px;color:var(--honey)}.prog{height:12px;border-radius:99px;background:var(--line);overflow:hidden}.prog.thin{height:7px;margin:2px 0 8px}.prog i{display:block;height:100%;background:var(--honey);border-radius:99px;transition:width .35s ease}.welcome,.profiles{min-height:100%;max-width:520px;margin:0 auto;padding:calc(32px + env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) 40px max(16px,env(safe-area-inset-left,0px));display:flex;flex-direction:column;gap:20px}.welcome-head{text-align:center;display:grid;justify-items:center;gap:6px}.welcome-head h1{font-size:42px;color:var(--moss);margin:0}.logo-img{border-radius:26px;box-shadow:0 5px 0 var(--moss-deep)}.welcome-logo{width:min(320px,86%);margin:8px auto 2px}.lang-row{display:flex;gap:6px;margin-top:6px}.form-card{display:flex;flex-direction:column;gap:16px}.profiles{max-width:760px;text-align:center;align-items:center}.profile-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:16px;width:100%}.profile{display:grid;justify-items:center;gap:8px;padding:20px 10px;border:0;cursor:pointer;background:var(--surface);color:var(--ink);border-radius:40% 44% 38% 42%/34% 38%;box-shadow:0 4px 0 var(--line)}.profile b{font-family:var(--font-display);font-size:20px}.profile.current{box-shadow:0 0 0 3px var(--moss-light),0 4px 0 var(--line)}.pin-box{display:grid;justify-items:center;gap:12px;width:100%;max-width:360px}.pin{display:grid;gap:14px;justify-items:center;width:100%}.pin-dots{display:flex;gap:14px}.pin-dots span{width:18px;height:18px;border-radius:50%;background:var(--line)}.pin-dots span.on{background:var(--moss)}.pin-grid{display:grid;grid-template-columns:repeat(3,72px);gap:12px}.pin-grid button{height:72px;border-radius:50%;border:0;background:var(--moss-soft);color:var(--ink);font:800 26px var(--font-display);cursor:pointer}.pin-grid button.ghost{background:transparent;font-size:24px;color:var(--muted)}.pin-pass{display:grid;gap:6px;width:100%}.kid-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.kid-head h1{margin:0}.stars-badge{margin-left:auto;display:inline-flex;align-items:center;gap:6px;background:var(--surface);color:var(--honey-text);border-radius:999px;padding:6px 16px;font:800 22px var(--font-display);box-shadow:0 3px 0 var(--line)}.stars-badge n-icon{color:var(--honey);font-size:26px}.routine{display:flex;flex-direction:column;gap:12px}.routine-head{display:flex;align-items:center;gap:10px}.routine-head h2{margin:0;flex:1;font-size:26px}.routine-icon{font-size:30px;color:var(--honey)}.tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}@media (min-width: 640px){.tiles{grid-template-columns:repeat(4,minmax(0,1fr))}}.tile{position:relative;aspect-ratio:1;border:0;cursor:pointer;background:var(--surface);color:var(--ink);border-radius:38% 42% 36% 44%/40% 36% 44% 38%;box-shadow:0 5px 0 var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;transition:transform .12s}.tile:active{transform:scale(.95)}.tile .tile-icon{width:50%;height:50%;color:var(--moss)}.tile-label{font:800 16px var(--font-display)}.tile-check{position:absolute;top:10%;right:12%;width:34px;height:34px;border-radius:50%;background:var(--moss);color:var(--on-moss);display:none;place-items:center;font-size:20px}.tile.done{background:var(--moss-soft)}.tile.done .tile-icon{opacity:.35}.tile.done .tile-check{display:grid}.rows{display:flex;flex-direction:column;gap:8px}.row{display:flex;align-items:center;gap:12px;width:100%;text-align:left;cursor:pointer;border:0;background:var(--surface);color:var(--ink);border-radius:var(--radius);padding:12px 14px;box-shadow:0 3px 0 var(--line);min-height:60px}.row-icon{font-size:30px;color:var(--moss)}.row-text{flex:1;min-width:0;display:grid}.row-text b{font-size:17px}.row-text small{color:var(--muted);font-weight:700}.box{width:32px;height:32px;border-radius:10px;border:3px solid var(--moss-light);display:grid;place-items:center;color:transparent;flex:none;font-size:18px}.row.done{background:var(--moss-soft)}.row.done .row-text b{text-decoration:line-through;opacity:.6}.row.done .box{background:var(--moss);border-color:var(--moss);color:var(--on-moss)}.row.pending .box{border-color:var(--honey);color:var(--honey-text);background:var(--honey-soft)}.day-done{display:flex;align-items:center;gap:12px;text-align:center;background:var(--honey-soft);box-shadow:0 0 0 3px var(--honey)}.day-done>div{flex:1;display:grid}.day-done b{font:800 22px var(--font-display);color:var(--ink)}.day-done small{color:var(--muted);font-weight:700}.day-done n-icon{font-size:30px;color:var(--honey)}.cheer{font:800 20px var(--font-display);color:var(--moss);display:flex;align-items:center;gap:8px}.cheer n-icon{color:var(--honey)}.reward-next{display:grid;gap:8px;text-decoration:none;color:var(--ink)}.reward-next-head{display:flex;align-items:center;gap:10px}.reward-next-head n-icon{font-size:26px;color:var(--moss)}.reward-next-head span:nth-child(2){flex:1}.reward-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:14px}.reward{display:grid;justify-items:center;text-align:center;gap:8px}.reward-icon{font-size:44px;color:var(--moss)}.reward.can{box-shadow:0 0 0 3px var(--honey),0 3px 0 var(--line)}.reward .prog{width:100%}.cost{display:inline-flex;align-items:center;gap:4px;font:800 18px var(--font-display);color:var(--honey-text)}.cost n-icon{color:var(--honey)}.burst{position:fixed;inset:0;pointer-events:none;z-index:50;display:grid;place-items:center}.burst span{position:absolute;font-size:34px;color:var(--honey);animation:burst 1s ease-out forwards;transform:rotate(calc(var(--i) * 30deg)) translateY(0)}@keyframes burst{0%{opacity:1;transform:rotate(calc(var(--i) * 30deg)) translateY(0) scale(.6)}to{opacity:0;transform:rotate(calc(var(--i) * 30deg)) translateY(-38vmin) scale(1.2)}}.approval{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.approval .grow{display:grid}.member-card{display:flex;flex-direction:column;gap:6px}.member-head{display:flex;align-items:center;gap:12px;margin-bottom:6px}.member-head .grow{display:grid}.member-head b{font:700 19px var(--font-display)}.member-head n-icon{color:var(--honey)}.routine-line{display:flex;align-items:center;gap:8px;font-weight:700}.routine-line n-icon{color:var(--moss)}.bonus-row{display:flex;gap:8px;flex-wrap:wrap}.list-cards{display:flex;flex-direction:column;gap:10px}.member-row{display:flex;align-items:center;gap:12px;width:100%;border:0;text-align:left;cursor:pointer}.member-row .grow{display:grid}.member-row.inactive{opacity:.55}.member-row>n-icon{color:var(--muted)}.member-chips{display:flex;gap:8px;flex-wrap:wrap}.member-chip{display:inline-flex;align-items:center;gap:8px;border:0;cursor:pointer;border-radius:999px;padding:5px 14px 5px 5px;background:var(--surface);color:var(--ink);font-weight:800;box-shadow:inset 0 0 0 2px var(--line)}.member-chip[aria-selected=true],.member-chip[aria-pressed=true]{box-shadow:inset 0 0 0 3px var(--moss);background:var(--moss-soft)}.colors{display:flex;gap:10px;flex-wrap:wrap}.color{width:38px;height:38px;border-radius:50%;border:0;cursor:pointer}.color[aria-pressed=true]{box-shadow:0 0 0 3px var(--surface),0 0 0 6px var(--ink)}.editor h2{margin:0}.routine-edit-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.title-input{flex:1;min-width:160px;font:700 20px var(--font-display)!important}.days{display:flex;gap:4px;flex-wrap:wrap}.day{border:0;width:42px;height:42px;border-radius:50%;background:var(--moss-soft);color:var(--muted);font-weight:800;cursor:pointer}.day[aria-pressed=true]{background:var(--moss);color:var(--on-moss)}.step-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.step-edit{display:flex;align-items:center;gap:6px;flex-wrap:wrap;background:var(--surface-2);border-radius:14px;padding:6px}.step-edit input.grow{min-width:140px}.step-edit .icon-btn{width:36px;height:36px;font-size:16px}.pts{display:flex;align-items:center;gap:4px}.pts n-icon{color:var(--honey)}.pts input{width:68px!important;padding:8px!important}.icon-pick{width:46px;height:46px;border-radius:14px;border:2px solid var(--line);background:var(--surface);color:var(--moss);font-size:24px;cursor:pointer;display:grid;place-items:center}.icon-grid{position:absolute;z-index:20;top:52px;left:0;width:260px;max-width:80vw;display:grid;grid-template-columns:repeat(6,1fr);gap:4px;padding:8px;background:var(--surface);border-radius:16px;box-shadow:0 10px 30px var(--shadow-strong)}.icon-grid button{aspect-ratio:1;border:0;border-radius:10px;background:transparent;color:var(--moss);font-size:22px;cursor:pointer;display:grid;place-items:center}.icon-grid button.on,.icon-grid button:hover{background:var(--moss-soft)}.sign-out{border-top:2px dashed var(--line);padding-top:12px;display:grid;gap:8px}.family-code{font:800 34px var(--font-display);letter-spacing:.14em;color:var(--moss);margin:0}.family-code-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px}.code-input{text-transform:uppercase;letter-spacing:.18em;font-size:24px!important;text-align:center}.child-pick{align-items:center;text-align:center}.child-pick .profile-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.profile:disabled{opacity:.5;cursor:default}.photo-edit{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.photo-pick{cursor:pointer;display:inline-flex;flex-direction:row;font-size:14px}.cal-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:space-between}.cal-head h1{margin:0}.member-chip.plain{padding:5px 14px}.cal-nav{display:flex;align-items:center;gap:10px}.cal-nav b{flex:1;text-align:center;font:700 18px var(--font-display);text-transform:capitalize}.cal-day{display:flex;flex-direction:column;gap:8px}.cal-day-head{display:flex;align-items:center;gap:8px;min-height:36px}.cal-day-head b{font:700 18px var(--font-display)}.cal-day.today .cal-day-head b{color:var(--moss)}.cal-day-head .icon-btn{margin-left:auto;width:36px;height:36px;font-size:16px}.cal-item{display:flex;align-items:center;gap:10px;background:var(--surface);border-radius:14px;padding:10px 12px;box-shadow:0 2px 0 var(--line)}.cal-item .grow{display:grid}.cal-item small{font-weight:700}.cal-item.done b{text-decoration:line-through;opacity:.6}.cal-item.overdue{box-shadow:inset 4px 0 0 var(--danger),0 2px 0 var(--line)}.cal-dot{width:10px;height:10px;border-radius:50%;flex:none}.cal-icon{font-size:24px;color:var(--moss)}.ok{color:var(--moss)}.month{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.month .wd{text-align:center;font-size:12px;font-weight:800;color:var(--muted)}.mday{aspect-ratio:1;border:0;border-radius:12px;background:var(--surface);color:var(--ink);cursor:pointer;display:grid;place-items:center;align-content:center;gap:2px;font-weight:800;padding:2px}.mday.out{opacity:.45}.mday.today{box-shadow:inset 0 0 0 2px var(--moss)}.mday.sel{background:var(--moss);color:var(--on-moss)}.mday:disabled{opacity:.2;cursor:default}.dots{display:flex;gap:2px;height:6px}.dots i{width:6px;height:6px;border-radius:50%}.mday.sel .dots i{box-shadow:0 0 0 1px var(--on-moss)}.duration{flex-basis:100%;display:grid;gap:8px}.duration .mins{width:110px!important}.running{display:flex;flex-direction:column;gap:8px}.running-head{display:flex;align-items:center;gap:12px}.running-head .grow{display:grid}.clock{font:800 18px var(--font-display);color:var(--honey-text);font-variant-numeric:tabular-nums}.clock.big{font-size:30px}.now-running{box-shadow:0 0 0 3px var(--honey),0 3px 0 var(--line)}@media (prefers-reduced-motion: reduce){.prog i,.tile{transition:none}.burst{display:none}}.settings-grid{display:grid;gap:16px}@media (min-width: 700px){.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.settings-card{gap:10px}.settings-card h2{font:800 13px var(--font-body);text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin:0}.settings-card form{max-width:420px}
