*{box-sizing:border-box}:root{font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif;color:#202824;font-size:14px;font-synthesis:none;--green:#426b55;--line:#e5e9e6;--muted:#69746e;--bg:#f6f7f8}body{margin:0;background:#edf0ec}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button{border:0;background:none;color:inherit}button:disabled{cursor:not-allowed;opacity:.45}button:focus-visible,a:focus-visible{outline:3px solid #a4beaf;outline-offset:3px}input:focus,select:focus,textarea:focus{outline:2px solid #8db09b;outline-offset:1px}svg{width:20px;height:20px;vertical-align:middle;flex-shrink:0}h1,h2,h3,p{margin:0}h1{font-size:20px;letter-spacing:-.5px;font-weight:650}h2{font-size:17px;font-weight:650}h3{font-size:15px;font-weight:600}small,.muted{color:var(--muted)}.design-rail{width:240px;position:fixed;inset:0 auto 0 0;padding:32px 24px;background:#f9faf8;border-right:1px solid #dfe5df;overflow:auto}.design-brand{font-size:23px;color:#355641;font-weight:700}.design-version{font-size:12px;color:#778379;margin:12px 0 24px;display:flex;justify-content:space-between;gap:8px}.design-version span,.design-mobile>span{background:#e9eee9;padding:2px 5px;border-radius:4px;font-size:10px;white-space:nowrap}.nav-group{font-size:11px;color:#7c857d;letter-spacing:1px;margin:24px 0 10px}.nav-link{display:block;width:100%;text-align:left;padding:10px 12px;margin:2px 0;border-radius:8px;font-size:13px;color:#626c65}.nav-link.active{background:#e2ebe3;color:#345741;font-weight:650}.nav-link:hover{background:#eaf0ea}.back-gallery{display:block;margin-top:28px;color:#69746e;font-size:12px}.design-mobile{display:none}.stage{margin-left:240px;min-height:100vh;display:flex;align-items:flex-start;justify-content:center;padding:40px}.screen{width:390px;min-height:844px;position:relative;background:var(--bg);border-radius:20px;box-shadow:0 16px 60px #263c3212;overflow:hidden;border:1px solid #dfe5df}.app-page{min-height:844px;display:flex;flex-direction:column}.app-header{padding:21px 20px 15px;display:flex;align-items:center;gap:10px;background:#fff;min-height:72px;border-bottom:1px solid var(--line)}.app-header h1{flex:1}.icon-btn{display:inline-grid;place-items:center;min-width:36px;min-height:36px;border-radius:8px}.icon-btn:hover{background:#f0f4f0}.icon-btn svg{width:20px;height:20px}.text-btn{font-size:13px;color:var(--green);min-height:36px;white-space:nowrap}.danger{color:#a53c46}.child-select{background:#f6f8f6;border:1px solid var(--line);border-radius:8px;min-height:34px;padding:4px 8px;max-width:96px;color:#365540;font-size:13px}.tabs{display:flex;gap:4px;padding:8px 16px;background:#fff;border-bottom:1px solid var(--line)}.tabs button{flex:1;min-height:38px;border-radius:7px;color:#7a817c;font-size:13px;white-space:nowrap}.tabs button.selected{color:#355d45;background:#edf3ee;font-weight:650}.page-content{padding:24px 20px;flex:1;min-width:0}.section-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:12px}.section-head .text-btn{display:flex;align-items:center;gap:4px}.section-head .text-btn svg{width:16px;height:16px}.section{margin-bottom:28px}.panel{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.list-row{display:flex;align-items:center;gap:12px;padding:16px;border-bottom:1px solid #edf0ed;width:100%;text-align:left;min-height:60px}.list-row:last-child{border-bottom:0}.list-row.clickable:hover{background:#f7faf7}.list-row.current{background:#f4f8f4}.grow{flex:1;min-width:0}.list-row h3{margin-bottom:5px;overflow-wrap:anywhere}.list-row small{font-size:12px}.list-row>svg:last-child{color:#929b94;width:16px}.initial{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#edf1ea;color:#506952;flex-shrink:0;font-size:14px;font-weight:600}.initial.peach{background:#f8eee6;color:#a1795e}.row-link{font-size:12px;color:#456d53;display:flex;align-items:center;gap:2px;white-space:nowrap}.row-link svg{width:14px;height:14px}.status{display:inline-flex;gap:5px;align-items:center;font-size:11px;color:#4d795c}.status:before{content:"";width:5px;height:5px;background:currentColor;border-radius:50%}.section-head small{font-size:12px}.button{width:100%;display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:10px;min-height:46px;padding:10px 16px;font-weight:600;font-size:14px;border:1px solid transparent}.primary{color:#fff;background:var(--green)}.primary:hover{background:#355a46}.secondary{color:var(--green);background:#fff;border-color:#d7e0d9}.ghost{color:#627268;background:#edf2ee}.button.small{min-height:36px;width:auto;padding:8px 12px;font-size:12px}.form-footer{padding:16px 20px 24px;background:var(--bg);margin-top:auto}.form-footer .text-btn{width:100%;margin-top:8px}.field{display:block;margin-bottom:20px}.field-label{display:block;font-size:13px;font-weight:550;margin-bottom:9px}.field input,.field select,.field textarea,input.input{display:block;width:100%;border:1px solid #dce2dd;border-radius:8px;background:#fff;min-height:44px;padding:10px 12px;color:#29362d}.field textarea{resize:vertical;min-height:72px}.field input::placeholder{color:#a1a8a2;font-size:13px}.input-suffix{position:relative;display:flex;align-items:center}.input-suffix input{padding-right:44px;min-width:0}.input-suffix>span,.input-suffix>button{position:absolute;right:12px;color:#89948b;font-size:12px}.input-suffix>button{right:5px}.inline{display:flex;gap:12px}.inline>*{min-width:0;flex:1}.divider{border:0;border-top:1px solid var(--line);margin:24px 0}.option-row{display:flex;align-items:center;gap:7px;margin-bottom:10px}.option-row .option-label{flex:1;width:0;min-width:0}.option-row input{border:1px solid #dce2dd;background:#fff;border-radius:8px;height:42px;padding:8px;font-size:12px}.option-row .points{width:52px;text-align:center;font-size:14px}.option-row .icon-btn{min-width:24px;width:24px;color:#a3aba5}.option-row .icon-btn svg{width:16px}.option-row .unit{font-size:12px;color:#8a948d}.toggle-row{display:flex;align-items:center;justify-content:space-between;padding:4px 0;min-height:44px;font-size:14px}.switch{appearance:none;width:38px;height:22px;border-radius:20px;background:#cdd5d0;position:relative;cursor:pointer;margin:0}.switch:after{content:"";position:absolute;background:#fff;width:16px;height:16px;left:3px;top:3px;border-radius:50%;transition:transform .15s}.switch:checked{background:var(--green)}.switch:checked:after{transform:translate(16px)}.icon-options{display:flex;gap:8px;margin-bottom:22px;flex-wrap:wrap}.icon-choice{width:43px;height:43px;background:#fff;border:1px solid var(--line);border-radius:8px;color:#7a897e}.icon-choice.selected{border-color:#426b55;color:#426b55;background:#f0f6f1}.check-label{display:flex;gap:8px;align-items:center;font-size:13px;color:#5f6b61;margin-top:8px}.check-label input{accent-color:var(--green);width:16px;height:16px}.rewards-list .mini-icon{width:36px;height:36px;background:#f3f6f1;border-radius:8px;display:grid;place-items:center;color:#7b8c7f}.tag{font-size:10px;border-radius:4px;padding:3px 5px;background:#eef4ed;color:#628568}.tag.off{color:#969d96;background:#f1f2f0}.task-title{font-size:14px;font-weight:550;line-height:1.6}.task-meta{font-size:11px;color:#89918a;margin-top:4px}.task-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.task-actions .icon-btn{width:32px;min-width:32px}.summary{display:flex;gap:24px;margin-bottom:24px}.summary>div{flex:1}.summary small{display:block;font-size:12px;margin-bottom:8px}.summary strong{font-weight:600;font-size:30px;letter-spacing:-1px;font-variant-numeric:tabular-nums}.summary div+div strong{font-size:23px;color:#577460}.date-filter{display:flex;align-items:center;justify-content:space-between;min-height:42px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:10px 12px;gap:8px;font-size:12px;margin-bottom:22px}.date-filter svg{width:17px;color:#68746e}.record-date{font-size:12px;color:#8b938d;margin:22px 0 8px}.record-row{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--line)}.record-row h3{font-size:14px;font-weight:500;margin-bottom:4px}.record-row small{font-size:11px;color:#90978f}.amount{font-size:17px;white-space:nowrap;font-variant-numeric:tabular-nums}.amount.positive{color:#426b55}.amount.negative{color:#6e746f}.empty{padding:60px 20px;text-align:center;color:#859087;font-size:13px}.empty svg{display:block;width:32px;height:32px;margin:0 auto 16px;color:#afbbb0}.empty button{margin-top:20px}.error{color:#a53c46;font-size:12px;margin-top:8px;line-height:1.5}.helper{font-size:11px;color:#8b938e;margin-top:7px;line-height:1.5}.money{font-variant-numeric:tabular-nums}.toast{position:absolute;left:50%;bottom:100px;transform:translate(-50%) translateY(10px);color:#fff;background:#293a2fe8;box-shadow:0 5px 20px #0001;border-radius:10px;padding:12px 18px;opacity:0;pointer-events:none;max-width:90%;width:max-content;font-size:13px;transition:all .2s;z-index:30}.toast.visible{opacity:1;transform:translate(-50%) translateY(0)}.overlay-shade{position:absolute;inset:0;background:#1e2a2255;display:flex;align-items:flex-end;z-index:20;min-height:100%;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.sheet{position:relative;width:100%;background:#fff;border-radius:20px 20px 0 0;padding:22px 24px 26px;max-height:90vh;overflow:auto;box-shadow:0 -8px 40px #1e2a2210}.sheet:before{content:"";display:block;width:32px;height:4px;background:#dbe1db;border-radius:10px;margin:-10px auto 20px}.sheet-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.sheet-head h2{font-size:19px}.sheet-actions{display:flex;gap:12px;margin-top:24px}.sheet-actions>*{flex:1}.detail-row{display:flex;justify-content:space-between;align-items:center;margin:16px 0;font-size:14px;gap:16px}.detail-row span:first-child{color:#737e75}.detail-row strong{font-weight:600}.stepper{display:flex;align-items:center;gap:16px}.stepper button{background:#f0f5ee;border-radius:6px;width:30px;height:30px}.stepper svg{width:14px}.reward-summary{display:flex;align-items:center;gap:14px;background:#f6f8f3;border-radius:12px;padding:16px;margin-bottom:24px}.reward-summary .emoji{font-size:36px;line-height:1}.reward-summary h3{font-size:16px;margin-bottom:6px}.reward-summary small{font-size:12px}.success-icon{width:56px;height:56px;margin:8px auto 18px;background:#e8f2e7;color:#426b55;border-radius:50%;display:grid;place-items:center}.success-icon svg{width:28px;height:28px}.center{text-align:center}.sheet-success h2{margin-bottom:10px}.sheet-success p{color:#7b867d;font-size:13px}.sheet-success .button{margin-top:28px}.data-table{width:100%;border-collapse:collapse;font-size:12px}.data-table th{text-align:left;font-size:11px;color:#7b877e;font-weight:500;border-bottom:1px solid var(--line);padding:12px 8px}.data-table td{padding:13px 8px;border-bottom:1px solid #eef1ed;line-height:1.6}.data-table td:last-child{text-align:right}.data-table th:last-child{text-align:right}.download-choice{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--line);font-size:13px}.download-choice input{accent-color:var(--green)}.login{padding-top:90px}.login-mark{width:48px;height:48px;display:grid;place-items:center;background:#e8efe8;color:#426b55;border-radius:14px;margin-bottom:24px}.login h1{font-size:25px;margin-bottom:36px}.login .button{margin-top:12px}.avatar-options{display:flex;gap:12px;margin-bottom:24px}.avatar-options button{border-radius:50%;border:2px solid transparent;padding:4px}.avatar-options button.selected{border-color:#6a9276}.avatar-options .initial{width:40px;height:40px}.current-label{font-size:11px;color:#6c8071;margin-bottom:8px}.link-box{padding:14px;background:#f5f7f4;border:1px solid var(--line);border-radius:8px;font-size:12px;color:#566b5b;word-break:break-all}.no-shadow{box-shadow:none}.child-mode{--bg:#faf9f3;--green:#54775f;--muted:#7a8173;color:#314b3f;background:var(--bg)}.child-mode .app-header{background:transparent;border:0;padding-top:20px}.child-mode h1{font-weight:750}.child-mode .page-content{padding-top:12px}.child-mode .panel{border-color:#e7eade;border-radius:20px}.child-mode .tabs{background:transparent}.child-brand{display:flex;gap:6px;align-items:center;font-size:20px;font-weight:750}.star-icon{color:#e6b246;fill:#f7d889}.child-identity{display:flex;gap:10px;align-items:center;margin:0 0 16px;font-size:19px;font-weight:650}.bunny-avatar{width:38px;height:38px;border-radius:50%;background:#e2edda;object-fit:contain}.hero{height:172px;position:relative;border-radius:24px;background:#e4eedc;padding:24px;overflow:hidden;margin-bottom:16px}.hero h2{font-size:15px;font-weight:550;margin-bottom:6px}.hero .balance{font-size:48px;letter-spacing:-2px;font-weight:750;line-height:1.15}.hero img{position:absolute;right:-5px;bottom:-4px;width:165px;height:165px;object-fit:contain}.hero small{display:block;position:relative;font-size:11px;color:#5e7a62;margin-top:12px;z-index:1}.child-stat{display:flex;gap:10px;margin-bottom:25px}.child-stat>div{background:#fff;border:1px solid #e9ecdf;border-radius:16px;padding:14px 16px;flex:1}.child-stat span{display:block;font-size:11px;color:#7a8173;margin-bottom:4px}.child-stat strong{font-size:21px;font-weight:700}.child-tasks .list-row{padding:14px;gap:10px}.child-tasks .list-row h3{font-size:13px;margin-bottom:0}.clay-icon{background:#eaf0e1;border-radius:12px;min-width:38px;width:38px;height:38px;display:grid;place-items:center;font-size:23px}.clay-icon.peach{background:#fae8de}.clay-icon.gold{background:#fbefcc}.points-badge{padding:3px 6px;background:#fcf0c4;color:#986928;border-radius:8px;font-size:12px;font-weight:650}.child-mode .button{border-radius:14px;min-height:48px}.child-mode .section-head{margin-bottom:12px}.child-mode h2{font-size:18px}.child-mode .form-footer{padding-bottom:18px}.bottom-nav{display:flex;padding:10px 10px 12px;background:#fffdf9;border-top:1px solid #eeeee5;gap:2px;margin-top:auto}.bottom-nav button{flex:1;display:flex;flex-direction:column;align-items:center;gap:5px;font-size:10px;color:#7d857a;border-radius:15px;padding:6px 0;min-height:49px}.bottom-nav button.active{background:#e8f0df;color:#456e52;font-weight:600}.bottom-nav svg{width:21px;height:21px}.wish-card{display:flex;align-items:center;gap:12px;padding:16px;background:#fff8f3;border:1px solid #f0e8df;border-radius:18px}.wish-card .emoji{font-size:32px}.wish-card h3{font-size:13px;margin-bottom:7px}.wish-card small{font-size:11px}.wish-card button{border-radius:10px}.shop-balance{display:flex;align-items:center;gap:8px;background:#fae5d9;padding:16px;border-radius:18px;margin-bottom:18px;font-size:13px}.shop-balance strong{font-size:25px;margin-left:5px}.shop-balance svg{color:#d8a840;fill:#f7d889}.chips{display:flex;gap:8px;margin-bottom:18px}.chips button{border:1px solid #e2e7db;border-radius:100px;padding:8px 16px;font-size:12px;background:#fffdf9}.chips button.active{background:#54775f;color:#fff;border-color:#54775f}.reward-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.reward-card{border-radius:18px;padding:16px 12px 12px;border:1px solid #e8eadf;background:#fff;display:flex;flex-direction:column;align-items:center;text-align:center;min-width:0}.reward-card:nth-child(3n+1){background:#f0f6e9}.reward-card:nth-child(3n+2){background:#fff5ee}.reward-card:nth-child(3n){background:#fff9e9}.reward-card .emoji{height:53px;display:grid;place-items:center;font-size:39px;margin-bottom:8px}.reward-card h3{font-size:14px;margin-bottom:7px}.reward-card .price{font-size:12px}.reward-card small{font-size:10px;color:#8a907f;margin:6px 0 10px;min-height:14px}.reward-card .button{min-height:32px;padding:5px 10px;border-radius:10px;font-size:11px;margin-top:auto}.reward-card .button:disabled{opacity:1;background:#e8e9e3;color:#999d92}.task-progress{background:#eaf1e1;border-radius:16px;padding:16px;margin-bottom:18px}.task-progress>div:first-child{display:flex;justify-content:space-between;font-size:13px;font-weight:550}.track{height:6px;border-radius:10px;background:#dae4d1;margin-top:12px;overflow:hidden}.track span{height:100%;display:block;background:#83a877;border-radius:10px}.task-question{background:#fff;border:1px solid #e7ebdf;border-radius:20px;padding:20px;margin-bottom:16px}.task-question h2{font-size:18px;line-height:1.5;margin-bottom:5px}.task-question .question-icon{font-size:35px;margin-bottom:12px}.task-question small{font-size:12px;line-height:1.6}.radio-option{display:flex;align-items:center;gap:10px;padding:14px 12px;border:1px solid #e4e8df;border-radius:13px;margin-top:12px;font-size:13px;cursor:pointer;min-height:54px}.radio-option.selected{background:#e8f0df;border-color:#bad0b2}.radio-option input{accent-color:#648b6b;width:17px;height:17px;flex-shrink:0}.radio-option .grow{line-height:1.6}.radio-option strong{font-size:13px;white-space:nowrap}.running-score{text-align:center;background:#f1f4eb;border-radius:12px;padding:16px;font-size:13px}.running-score strong{font-size:22px;color:#5d8a64;margin:0 4px}.daily-decor{width:110px;height:110px;object-fit:contain;display:block;margin:24px auto 0}.month-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;font-size:16px;font-weight:600}.calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.weekday{font-size:11px;color:#7e8b7d;text-align:center;padding:6px 0}.day{min-height:49px;border-radius:8px;padding:7px 0;text-align:center;font-size:11px;border:1px solid transparent}.day small{display:block;margin-top:5px;color:inherit;font-size:10px}.day.blank{visibility:hidden}.day.future{color:#adb5aa}.day.low{background:#d8ebd5;color:#3c6b40}.day.mid{background:#f6d8d6;color:#a35052}.day.high{background:#ad4f58;color:#fff}.day.today{border-color:#354b3e}.legend{display:flex;gap:12px;margin-top:16px;font-size:10px;color:#778472;justify-content:center}.legend i{display:inline-block;width:7px;height:7px;border-radius:2px;margin-right:4px}.history-detail{margin-top:24px}.child-mode .record-row{padding:14px 2px}.child-mode .tabs button{border-radius:10px}.child-mode .tabs button.selected{background:#e5eddb}.date-input{background:transparent;border:0;max-width:126px;font-size:12px;color:#7c8878}.password-error input{border-color:#b95461}.sheet .error:empty{display:none}.check-dot{width:22px;height:22px;border:1px solid #d8e0d0;border-radius:50%;padding:0;display:grid;place-items:center;flex-shrink:0}.check-dot.checked{background:#7ca277;color:#fff;border-color:#7ca277}.check-dot svg{width:14px}.link-copied{color:#426b55}.child-mode .sheet{background:#fffdfa;border-radius:24px 24px 0 0}.child-mode .sheet .field input{background:#fff}.sheet .field:last-child{margin-bottom:0}.state-switcher{font-size:11px;display:flex;gap:4px;color:#8a948b;padding-top:16px;flex-wrap:wrap}.state-switcher button{font-size:11px;padding:5px 8px;border:1px solid #dfe6df;border-radius:5px;background:#fafcf9}.optional-note{font-size:11px;color:#8b958d}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(min-width:1400px){.stage{padding-top:50px}}@media(max-width:760px){.design-rail{display:none}.design-mobile{display:flex;align-items:center;gap:8px;height:46px;padding:7px 12px;background:#eef2ed;border-bottom:1px solid #dce3db;position:sticky;top:0;z-index:40;font-size:11px}.design-mobile>a{font-size:20px;color:#54775f}.design-mobile select{border:0;background:transparent;font-size:12px;color:#365440;flex:1;min-width:0;max-width:240px}.design-mobile>label{color:#7e8a7e;white-space:nowrap}.stage{padding:16px 8px;margin:0;min-height:calc(100vh - 46px)}.screen{border-radius:16px;width:min(100%,390px);min-height:calc(100dvh - 78px)}.app-page{min-height:calc(100dvh - 78px)}.sheet{max-height:calc(100dvh - 90px)}.overlay-shade{position:fixed;inset:46px 0 0;max-width:390px;margin:auto}.toast{position:fixed;max-width:340px}.login{padding-top:65px}}@media(max-width:410px){body{background:#f6f7f8}.stage{padding:0}.screen{border:0;border-radius:0;width:100%;min-height:calc(100dvh - 46px);box-shadow:none}.app-page{min-height:calc(100dvh - 46px)}.page-content{padding-left:18px;padding-right:18px}.app-header{padding-left:16px;padding-right:16px}.sheet{max-width:100%;max-height:calc(100dvh - 60px)}.overlay-shade{max-width:none}.form-footer{padding-bottom:calc(20px + env(safe-area-inset-bottom))}.bottom-nav{padding-bottom:calc(10px + env(safe-area-inset-bottom))}.calendar{gap:4px}.hero img{width:151px;height:151px}.hero{padding:22px}.hero .balance{font-size:45px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}@media(max-width:760px){.child-mode .bottom-nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:390px;z-index:10}.child-mode .page-content{padding-bottom:90px}.child-mode .form-footer{padding-bottom:100px}}@media(max-width:760px){.child-mode .form-footer{padding-bottom:100px}}body{background:#eef2ed}#root{padding:24px 12px;min-height:100dvh}.screen{width:100%;max-width:480px;min-height:calc(100dvh - 48px);margin:0 auto;border-radius:20px}.app-page{min-height:calc(100dvh - 48px)}.screen:not(.child-mode){background:#f6f7f8}.art-icon,.avatar-image{display:inline-block;flex-shrink:0;background-repeat:no-repeat;vertical-align:middle}.art-icon{background-image:url(/assets/icons-atlas.png);background-size:400% 400%}.avatar-image{background-image:url(/assets/avatars-atlas.png);background-size:300% 200%}.hero img{width:175px;height:175px;right:0;bottom:0}.hero .balance{position:relative;z-index:1;max-width:60%;overflow-wrap:anywhere;font-size:clamp(32px,10vw,48px)}.hero h2{position:relative;z-index:1}.hero small{font-size:12px}.app-header h1{overflow-wrap:anywhere}.full{width:100%}.text-btn.full{margin-top:14px;text-align:center}.loading{min-height:220px;display:flex;align-items:center;justify-content:center;gap:12px;color:#7c897f;font-size:13px}.spinner{width:20px;height:20px;border-radius:50%;border:2px solid #dae4dc;border-top-color:#426b55;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}fieldset{padding:0;margin:0;border:0;min-width:0}.form-save{margin-top:24px}.form-section-title{margin-bottom:22px}.field input,.field select,.field textarea{font-size:16px}.field-label{font-size:14px}.field textarea{line-height:1.6}.field input[type=checkbox]{display:inline-block;width:16px;min-height:16px}.option-row{align-items:flex-start}.option-row textarea{resize:vertical;min-height:48px;max-height:130px;border:1px solid #dce2dd;background:#fff;border-radius:8px;padding:10px;font:inherit;font-size:13px;line-height:1.6}.option-row .points{height:48px;width:60px;font-size:16px}.option-row .icon-btn{min-height:44px;min-width:28px}.asset-picker{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:24px}.asset-picker button{border:1px solid #e5e9e6;min-height:58px;display:grid;place-items:center;border-radius:10px;background:#fff}.asset-picker button.selected{border-color:#426b55;background:#edf4ed;box-shadow:inset 0 0 0 1px #426b55}.picker-label{margin-top:25px;margin-bottom:12px}.avatar-options{gap:5px;justify-content:space-between}.avatar-options button{min-width:44px;min-height:44px}.list-row h3{line-height:1.5}.child-tasks .list-row h3{font-size:14px;font-weight:550;line-height:1.6}.child-tasks .list-row{gap:10px}.child-identity{gap:12px;margin-bottom:14px}.child-stat small,.child-stat span{display:block;font-size:12px;margin-bottom:8px;color:#7a8173}.child-stat strong{display:block;font-size:25px;overflow-wrap:anywhere}.child-stat>div{min-width:0}.goal-progress{display:flex;justify-content:space-between;color:#7a8677;font-size:12px;gap:8px;margin-top:15px}.goal-progress+.track{margin-top:8px}.wish-card{gap:10px}.wish-card .button{max-width:105px;white-space:normal;line-height:1.5}.wish-card h3{line-height:1.6}.wish-card small{font-size:12px}.bottom-nav{position:fixed!important;bottom:0!important;left:50%!important;transform:translate(-50%)!important;width:100%;max-width:480px!important;z-index:10;padding-bottom:calc(10px + env(safe-area-inset-bottom));box-shadow:0 -6px 20px #46503b06}.child-mode .page-content{padding-bottom:110px!important}.child-mode .reward-card .art-icon{margin-bottom:10px}.reward-card{min-height:225px}.reward-card h3{line-height:1.5}.reward-card small{font-size:11px;line-height:1.5}.reward-card .button{min-height:40px;font-size:12px}.reward-card .price{font-size:13px}.reward-grid{gap:12px}.modal-layer{position:fixed;inset:0;z-index:100;background:#15271e55;display:flex;align-items:flex-end;justify-content:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.sheet{width:100%;max-width:480px;max-height:calc(100dvh - 24px);overflow-y:auto;padding:24px 24px calc(26px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0}.sheet-head{margin-bottom:20px}.sheet .field{margin-top:20px}.sheet h3,.sheet strong{overflow-wrap:anywhere}.sheet .detail-row{align-items:flex-start;gap:16px}.sheet .detail-row strong{text-align:right;max-width:58%;flex-shrink:0}.sheet .reward-summary h3,.sheet .reward-summary small{line-height:1.5}.toast{position:fixed;bottom:100px;z-index:200;max-width:calc(100vw - 32px);text-align:center;line-height:1.5}.stepper{gap:7px;align-items:center}.stepper input{width:56px;height:34px;text-align:center;border:1px solid #dae2d8;border-radius:6px;background:#fff;font-size:16px;appearance:textfield}.stepper input::-webkit-inner-spin-button{appearance:none}.stepper button{width:36px;height:36px}.large-total{font-size:28px;color:#426b55}.review-list{max-height:250px;overflow-y:auto;border-block:1px solid #e5e9e6}.review-list .detail-row{font-size:12px;padding-right:5px;gap:12px}.review-list small{display:block;font-size:11px;line-height:1.6;margin-top:5px}.review-list .detail-row strong{max-width:60px}.penalty-item{margin:20px 0;padding:16px;border:1px solid #e8eadf;border-radius:16px;background:#fff}.penalty-item h3{line-height:1.6;font-weight:600}.task-question h2{margin-top:14px;font-size:19px}.task-question{padding:20px}.radio-option{font-size:14px}.radio-option input{margin:0}.wizard-actions{margin-top:20px}.recorded-summary{text-align:center;padding:45px 0}.recorded-summary h2{margin-top:18px}.selection-copy{font-size:13px;color:#4b5d50;line-height:1.7;margin:5px 0}.record-details .record-row{align-items:flex-start;gap:16px}.record-details .record-row h3{line-height:1.6}.record-row{text-align:left}.record-row h3{line-height:1.6}.inner-tabs{margin:-10px -5px 22px;border-radius:12px;border:0;background:transparent;padding:4px}.summary{gap:20px}.summary>div{min-width:0}.summary strong{overflow-wrap:anywhere}.calendar-panel{padding:16px}.pagination{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:#79877a;gap:10px;margin-top:24px}.pagination .button{font-size:12px}.history-detail{margin-bottom:15px}.date-filter{width:100%;font-size:12px;justify-content:space-between}.child-mode .tabs button{min-height:42px}.calendar .day{min-height:47px}.calendar .day.today{outline:2px solid #53674f;outline-offset:1px}.calendar .day.future{color:#a4afa0}.calendar .day.future:disabled{opacity:.6}.child-mode .sheet{background:#fffdfa}.login{padding-top:45px}.login h1{margin-top:20px;font-size:24px}.error{font-size:13px;line-height:1.6;margin-bottom:10px}.link-box{-webkit-user-select:all;user-select:all;font-size:13px}.download-choice{min-height:48px}.check-dot{width:22px;height:22px;display:grid;place-items:center;flex-shrink:0;border-radius:50%}.check-dot svg{width:14px;height:14px}@media(max-width:760px){#root{padding:0}.screen{min-height:100dvh;max-width:480px;border:0;border-radius:0;box-shadow:none}.app-page{min-height:100dvh}.page-content{padding:24px 20px}.app-header{min-height:72px}.sheet{max-height:calc(100dvh - 18px)}.child-mode .page-content{padding-bottom:115px!important}.child-mode .form-footer{padding-bottom:20px}.login{padding-top:60px}}@media(max-width:380px){.page-content{padding-left:16px;padding-right:16px}.hero{height:166px;padding:22px}.hero img{width:150px;height:150px;right:-4px}.hero .balance{font-size:42px}.hero small{font-size:11px}.hero .balance{max-width:59%}.reward-card{padding-left:8px;padding-right:8px}.asset-picker{gap:7px}.avatar-options .avatar-image{width:36px!important;height:36px!important}.avatar-options button{min-width:40px}.sheet{padding-left:20px;padding-right:20px}.option-row{gap:6px}.option-row .points{width:52px}}@media(prefers-reduced-motion:reduce){.spinner{animation:none}}.art-icon.penalty-art-icon{background-image:url(/assets/penalty-icons.webp);background-size:200% 200%}.admin-sidebar,.desktop-header-controls,.desktop-child-summary,.desktop-list-head,.desktop-task-category,.desktop-task-points,.desktop-reward-cost,.desktop-reward-limit{display:none}.mobile-header-controls{display:flex;align-items:center}.avatar-photo{display:inline-block;flex-shrink:0;border-radius:50%;object-fit:cover;background:#edf2ec}.avatar-upload-row{display:flex;align-items:center;gap:18px;margin:14px 0 20px}.avatar-upload-row .button{width:auto;min-height:40px;padding:8px 18px}.upload-format{font-size:12px;color:#7c877e;margin-top:8px;line-height:1.6}.avatar-editor .avatar-options{justify-content:flex-start;gap:10px;flex-wrap:wrap}.avatar-editor .error{margin-bottom:16px}.admin-delete-action{grid-column:1/-1;display:flex;justify-content:flex-end;margin-bottom:8px}.admin-delete-action .text-btn{min-height:40px;gap:5px;padding:6px 10px;color:#9c3c44;border:1px solid #f0dddf;background:#fff6f6}.admin-delete-action .text-btn svg{width:15px;height:15px}.delete-confirm-name{display:block;line-height:1.5;overflow-wrap:anywhere}.delete-confirm-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:18px}.delete-confirm-submit{background:#a53c46;color:#fff}.delete-confirm-submit:hover:not(:disabled){background:#8e313a}.clear-records-note{padding:10px 12px;border-radius:9px;background:#fff1ef;color:#793c3e;font-size:13px;line-height:1.55}@media(min-width:761px)and (max-width:899px){.admin-mode{max-width:760px}.admin-mode .page-content{padding:28px 32px}}@media(min-width:900px){body:has(.admin-mode){background:#f5f7f6}#root:has(.admin-mode){padding:0}.screen.admin-mode{max-width:none;width:100%;min-height:100dvh;border:0;border-radius:0;box-shadow:none;overflow:visible;background:#f5f7f6}.admin-mode .app-page{min-height:100dvh;margin-left:216px}.admin-mode.admin-loading .app-page{margin-left:0}.admin-sidebar{display:flex;flex-direction:column;position:fixed;inset:0 auto 0 0;width:216px;background:#fff;border-right:1px solid #e5ebe6;padding:26px 18px 20px;z-index:20}.admin-brand{display:flex;align-items:center;gap:10px;padding:0 10px 32px;font-size:21px;font-weight:700;color:#365943}.admin-sidebar nav{display:grid;gap:7px}.admin-sidebar button{display:flex;gap:13px;align-items:center;width:100%;min-height:47px;padding:12px 16px;border-radius:8px;text-align:left;color:#66736a;font-size:14px}.admin-sidebar button:hover{background:#f4f7f4}.admin-sidebar button.active{background:#eaf2eb;color:#365f47;font-weight:650}.admin-sidebar button svg{width:19px;height:19px}.sidebar-bottom{margin-top:auto;display:grid;gap:8px;padding-top:22px;border-top:1px solid #edf0ec}.admin-mode .app-header{min-height:85px;padding:20px 40px;background:#fff;border-bottom:1px solid #e5ebe6;position:sticky;top:0;z-index:12}.admin-mode .app-header h1{font-size:22px;font-weight:650}.admin-mode .app-header>.icon-btn{margin-left:-12px;margin-right:3px}.admin-mode .app-page>nav.tabs,.mobile-header-controls,.mobile-password-panel{display:none}.desktop-header-controls{display:flex;align-items:center;gap:13px;color:#78857c;font-size:13px}.desktop-header-controls .child-select{min-width:120px;max-width:180px;min-height:38px;background:#fff;font-size:14px;padding:7px 12px}.admin-mode .page-content{width:100%;max-width:1300px;margin:0 auto;padding:32px 40px 48px}.admin-mode .section-head{margin-bottom:20px;min-height:40px}.admin-mode .section-head h2{font-size:18px}.admin-mode .section-head>.text-btn{background:#426b55;color:#fff;border-radius:7px;padding:8px 17px;gap:7px;min-height:38px}.admin-mode .panel{border-radius:10px;border-color:#e3e9e4}.admin-mode .list-row{padding:19px 22px}.admin-mode .list-row:hover{background:#f8faf8}.admin-mode .list-row.current{background:#f0f6f0;box-shadow:inset 3px 0 #578265}.admin-mode .list-row .task-title,.admin-mode .list-row h3{font-size:14px;line-height:1.7}.admin-mode .list-row .row-link{font-size:12px}.admin-children-grid{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(340px,1.25fr);gap:30px;align-items:start}.children-list-section .list-row{min-height:90px;gap:16px}.desktop-child-summary{display:flex;align-items:center;gap:26px;background:#edf4ed;border:1px solid #e1eae0;border-radius:10px;padding:24px;margin-bottom:18px}.desktop-child-summary>div{min-width:0;flex:1}.desktop-child-summary span{font-size:12px;color:#6b7e6f;display:block;margin-bottom:8px}.desktop-child-summary strong{font-size:28px;font-weight:650;color:#34563f;overflow-wrap:anywhere}.child-action-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.child-action-list .list-row{min-height:76px;border-bottom:1px solid #edf0ec;padding:20px;font-size:14px}.child-action-list .list-row:nth-child(odd){border-right:1px solid #edf0ec}.child-action-list .list-row:nth-last-child(-n+2){border-bottom:0}.admin-mode .chips{margin-bottom:20px}.admin-mode .chips button{min-width:90px;border-radius:7px;background:#fff}.admin-mode .chips button.active{background:#edf3ed;border-color:#b8cebc;color:#3f674d;font-weight:600}.admin-task-table .list-row,.admin-task-table .desktop-list-head{display:grid;grid-template-columns:minmax(220px,1fr) 140px 140px 58px 20px;gap:20px}.admin-task-copy{display:contents}.admin-task-copy .task-meta{display:none}.desktop-task-category,.desktop-task-points,.desktop-reward-cost,.desktop-reward-limit{display:block;color:#6c7a70;font-size:13px;font-variant-numeric:tabular-nums;line-height:1.7}.desktop-task-points,.desktop-reward-cost{color:#3d6049}.desktop-list-head{align-items:center;background:#f9fbf9;border-bottom:1px solid #e6ebe6;padding:15px 22px;font-size:12px;color:#849087}.admin-task-table .tag,.admin-reward-table .tag{justify-self:start}.admin-reward-table .list-row,.admin-reward-table .desktop-list-head{display:grid;grid-template-columns:42px minmax(150px,1fr) 140px 120px 58px 20px;gap:20px}.admin-reward-copy small{display:none}.admin-mode .page-content>form{background:#fff;padding:30px;border:1px solid #e3e9e4;border-radius:12px;max-width:860px}.admin-mode .page-content>form .field-label{color:#56665b}.admin-mode .page-content>form .field input,.admin-mode .page-content>form .field select{min-height:46px}.admin-mode .page-content>form .form-save{max-width:180px;min-height:44px;border-radius:8px}.admin-page-rewardEdit .page-content>form fieldset,.admin-page-rules .page-content>form fieldset{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px;align-items:start}.admin-mode form fieldset>.section-head,.admin-mode form fieldset>.option-row,.admin-mode form fieldset>.asset-picker,.admin-mode form fieldset>.picker-label,.admin-mode form fieldset>.toggle-row,.admin-mode form fieldset>.check-label,.admin-mode form fieldset>.form-save,.admin-mode form fieldset>.error,.admin-mode form fieldset>.form-section-title,.admin-mode form fieldset>.divider{grid-column:1/-1}.admin-mode .page-content>form .section-head>.text-btn{background:transparent;color:#426b55;padding:4px 0}.admin-mode .asset-picker{grid-template-columns:repeat(8,minmax(0,1fr));gap:10px;max-width:680px}.admin-mode .asset-picker button{min-height:66px}.admin-mode .option-row textarea{font-size:14px;min-height:48px}.admin-mode .option-row .points{width:95px}.admin-mode .option-row .icon-btn{width:44px}.admin-mode .toggle-row{max-width:380px;width:100%}.admin-page-settings .page-content>form,.admin-page-childEdit .page-content>form{max-width:620px}.admin-page-records .inner-tabs{max-width:300px;margin:0 0 24px;padding:0;gap:8px}.admin-page-records .inner-tabs button{background:#fff;border:1px solid #e3e9e4;min-height:42px;font-size:14px}.admin-page-records .inner-tabs button.selected{background:#eaf2e9;border-color:#c5d7c6}.admin-page-records .summary{padding:26px;background:#fff;border:1px solid #e3e9e4;border-radius:10px;justify-content:flex-start;gap:80px;max-width:640px}.admin-page-records .summary small{font-size:13px}.admin-page-records .date-filter{max-width:350px;min-height:44px;padding:10px 14px;background:#fff;border:1px solid #e3e9e4;border-radius:8px;margin:24px 0}.admin-page-records .record-row{background:#fff;border:1px solid #e8ece7;border-bottom:0;padding:18px 24px;min-height:76px}.admin-page-records .record-row:last-of-type{border-bottom:1px solid #e8ece7}.admin-page-records .form-save{width:auto;padding:10px 20px;min-height:44px}.admin-page-records .record-date{margin-top:24px}body:has(.admin-mode) .modal-layer{align-items:center;padding:32px}body:has(.admin-mode) .sheet{max-width:560px;max-height:calc(100dvh - 64px);border-radius:16px;padding:30px;box-shadow:0 20px 80px #17382226}body:has(.admin-mode) .sheet .form-save{min-height:46px}body:has(.admin-mode) .toast{bottom:28px}}@media(min-width:900px)and (max-width:1150px){.admin-sidebar{width:184px;padding-inline:12px}.admin-mode .app-page{margin-left:184px}.admin-mode .page-content{padding:26px 24px 40px}.admin-mode .app-header{padding-inline:24px}.admin-children-grid{gap:20px;grid-template-columns:minmax(260px,1fr) minmax(310px,1.1fr)}.admin-task-table .list-row,.admin-task-table .desktop-list-head{grid-template-columns:minmax(160px,1fr) 110px 100px 46px 16px;gap:12px;padding-inline:18px}.admin-reward-table .list-row,.admin-reward-table .desktop-list-head{grid-template-columns:36px minmax(120px,1fr) 100px 80px 46px 16px;gap:12px;padding-inline:18px}.desktop-child-summary{padding:18px;gap:14px}.desktop-child-summary strong{font-size:24px}.desktop-child-summary>.avatar-image,.desktop-child-summary>.avatar-photo{width:42px!important;height:42px!important}.child-action-list .list-row{padding:16px;font-size:13px}}.category-grid{display:grid;gap:16px}.category-card{background:#fff;border:1px solid #e3e9e4;border-radius:12px;overflow:hidden}.category-open{display:flex;align-items:center;gap:12px;width:100%;padding:18px 16px;text-align:left;min-width:0}.category-open h3{line-height:1.6;font-size:15px;overflow-wrap:anywhere}.category-open small{display:block;font-size:12px;color:#7b887e;line-height:1.7;margin-top:5px}.category-open>.tag{flex-shrink:0}.category-open>svg{width:16px;color:#8b988e}.category-open:hover{background:#f9fbf8}.category-actions{display:flex;align-items:center;gap:14px;padding:8px 16px;border-top:1px solid #edf0ec;background:#fbfcfb}.category-actions>span{margin-right:auto;font-size:12px;color:#8a968c;white-space:nowrap}.category-actions .text-btn{font-size:12px}.category-actions .text-btn svg{width:14px;height:14px;margin-right:4px}.category-toolbar{display:flex;align-items:center;gap:16px;flex-shrink:0}.category-toolbar .button{min-height:38px;padding:8px 12px;white-space:nowrap}.category-type{min-height:46px;display:flex;align-items:center;padding:10px 14px;background:#f5f8f4;border:1px solid #e2e9df;border-radius:8px;color:#6a7d6b}.review-category{font-size:13px;color:#426b55;border-bottom:1px solid #e6ebe2;padding:12px 0 9px}.button.add-action{width:auto;min-height:44px;flex-shrink:0;padding:8px 14px;font-weight:650;white-space:nowrap}.button.add-action svg{width:17px;height:17px;flex-shrink:0}.category-toolbar{flex-wrap:wrap;justify-content:flex-end}.category-toolbar .add-action{min-height:44px}.category-actions .add-action{min-height:44px;padding-inline:10px;font-size:12px}@media(min-width:900px){.category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.category-open{padding:22px;gap:16px;min-height:114px}.category-open h3{font-size:16px}.category-actions{padding:10px 22px}.category-actions .text-btn{font-size:13px}.category-toolbar .button{padding-inline:17px}}@media(max-width:380px){.category-open{gap:8px;padding:16px 12px}.category-open h3{font-size:14px}.category-open>.art-icon{width:40px!important;height:40px!important}.category-toolbar{gap:10px}.category-toolbar .button{padding:7px 9px;font-size:12px}}.admin-page-categoryTasks .page-content{padding-block:18px 32px}.task-workspace{--workspace-border: #dfe7de;--workspace-accent: #365d44;--workspace-muted: #65766a;display:grid;color:#263e30}.workspace-category-panel,.workspace-inspector{display:none}.workspace-task-panel,.workspace-heading-copy{min-width:0}.workspace-heading{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;margin-bottom:14px}.workspace-heading-copy{display:flex;align-items:center;gap:10px}.workspace-heading-copy>.art-icon{flex-shrink:0}.workspace-heading-copy>div{min-width:0}.workspace-heading-copy h2{margin:0;color:#263e30;font-size:21px;line-height:1.3;overflow-wrap:anywhere}.workspace-heading-copy :is(p,small){display:block;margin:4px 0 0;color:var(--workspace-muted);font-size:12px;line-height:1.5}.workspace-heading-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.workspace-heading-actions .button{width:auto;min-height:44px;padding-inline:12px}.workspace-heading-actions .text-btn{min-height:44px;padding-inline:8px;color:var(--workspace-accent);white-space:nowrap}.workspace-task-panel,.workspace-category-panel,.workspace-inspector{border:1px solid var(--workspace-border);border-radius:13px;background:#fff}.workspace-panel-title{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 10px;margin:0;padding:13px 15px;border-bottom:1px solid var(--workspace-border);color:#2a4433;font-size:14px;font-weight:700}.workspace-panel-title :is(h2,h3,h4){margin:0;font-size:inherit}.workspace-panel-title small{color:var(--workspace-muted);font-size:12px;font-weight:500}.workspace-count{display:grid;flex:0 0 auto;place-items:center;min-width:23px;min-height:22px;padding-inline:5px;border-radius:7px;background:#edf3e9;color:#4b6951;font-size:11px;font-weight:650;font-variant-numeric:tabular-nums}.workspace-task-list{display:grid;gap:5px;padding:6px}.workspace-task-row{display:flex;align-items:center;gap:5px;min-width:0;border:1px solid transparent;border-radius:9px}.workspace-task-row+.workspace-task-row{border-top-color:#edf0eb}.workspace-task-row.selected{border-color:#c5d8c3;background:#eff5ec}.workspace-task-select{display:flex;flex:1;align-items:center;gap:9px;width:100%;min-width:0;min-height:57px;padding:7px 8px;border:0;border-radius:8px;background:transparent;color:inherit;text-align:left}.workspace-task-select>:is(.art-icon,.tag,svg){flex-shrink:0}.workspace-task-select>svg{width:15px;color:#617664}.workspace-task-copy{display:grid;flex:1;gap:3px;min-width:0;overflow-wrap:anywhere}.workspace-task-copy strong{font-size:14px;font-weight:650;line-height:1.45}.workspace-task-copy small{color:var(--workspace-muted);font-size:12px;line-height:1.5;font-variant-numeric:tabular-nums}.task-workspace .tag{padding:4px 6px;border-radius:6px;background:#e8f0e5;color:#42634a;font-size:11px;white-space:nowrap}.task-workspace .tag.off{background:#edf0ed;color:#606b62}.task-workspace :is(button,select,summary):focus-visible{outline:2px solid #537b59;outline-offset:2px}.task-weekdays{margin-bottom:14px}.task-weekdays legend,.task-icon-field legend{margin-bottom:7px;color:#45634a;font-size:13px;font-weight:650}.task-icon-field{min-width:0;margin-top:12px}.task-icon-field .asset-picker{margin-bottom:0}.task-weekday-list{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}.task-weekday-list label{display:flex;min-height:44px;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:4px 0;border:1px solid #dfe7de;border-radius:7px;color:#45634a;font-size:12px;cursor:pointer}.task-weekday-list label:has(input:checked){border-color:#c6d8c5;background:#eef5eb}.task-weekday-list input{width:14px;height:14px;margin:0;accent-color:#426b55}@media(hover:hover){.workspace-task-row:not(.selected):hover,.workspace-category-link:not(.active):hover{background:#f6f9f4}}@media(max-width:899px){.screen.admin-page-categoryTasks{max-width:760px}}@media(max-width:380px){.admin-page-categoryTasks .page-content{padding-inline:13px}.workspace-heading-copy h2{font-size:19px}.workspace-heading-actions{gap:5px}.workspace-heading-actions .button{padding-inline:9px;font-size:13px}}@media(min-width:900px){.admin-page-categoryTasks .app-header{min-height:72px;padding-block:13px}.admin-page-categoryTasks .page-content{max-width:none;padding:24px clamp(18px,2vw,32px) 36px}.task-workspace{--workspace-panel-max-height: max(260px, calc(100dvh - 132px) );grid-template-columns:clamp(140px,13vw,228px) minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:clamp(12px,1.3vw,20px)}.task-workspace>:is(.workspace-category-panel,.workspace-task-panel,.workspace-inspector){display:flex;flex-direction:column;min-width:0;max-height:var(--workspace-panel-max-height)}.workspace-panel-title{flex-shrink:0;min-height:56px;padding:8px 10px}.workspace-panel-title h2{display:flex;align-items:center;gap:6px}.workspace-edit-category{min-height:36px;padding-inline:3px;color:var(--workspace-accent);white-space:nowrap}.workspace-task-panel .workspace-add-question{width:auto;min-height:38px;padding-inline:8px;font-size:13px;white-space:nowrap}.task-workspace :is(.workspace-category-list,.workspace-task-list,.workspace-inline-editor){min-height:0;overflow-y:auto;overscroll-behavior-y:contain}.workspace-category-list{display:grid;gap:5px;padding:7px}.workspace-category-link{display:flex;align-items:center;gap:6px;width:100%;min-height:44px;padding:6px 8px;border:1px solid transparent;border-radius:8px;background:transparent;color:#3d5545;text-align:left;font-size:13px;line-height:1.4;overflow-wrap:anywhere}.workspace-category-link>:is(.art-icon,svg){flex-shrink:0}.workspace-category-link :is(strong,.workspace-category-name){min-width:0}.workspace-category-link.active{border-color:#c9dac7;background:#e9f2e7;color:#2b5138;font-weight:700}.workspace-category-link .workspace-count{margin-left:auto;background:#f0f3ee}.workspace-category-link.active .workspace-count{background:#fff}.workspace-category-panel .workspace-add-category{flex-shrink:0;width:auto;min-height:44px;margin:1px 7px 7px;font-size:13px}.workspace-add-category svg{width:16px;height:16px}.workspace-task-select{min-height:61px;padding-inline:10px}.workspace-inline-editor{min-width:0;padding:clamp(11px,1.2vw,17px)}.workspace-inline-editor .field{margin-bottom:13px}.workspace-inline-editor .field-label{margin-bottom:6px;font-size:13px}.workspace-inline-editor .field :is(input,select,textarea){min-height:40px;padding:7px 9px;font-size:14px}.workspace-inline-editor .field textarea{min-height:56px;line-height:1.45}.admin-mode .workspace-inline-editor .section-head{min-height:38px;gap:6px;margin-bottom:7px}.admin-mode .workspace-inline-editor .section-head>.text-btn{flex-shrink:0;min-height:36px;padding:5px 7px;border:1px solid var(--workspace-border);background:#f4f8f1;color:var(--workspace-accent);white-space:nowrap}.workspace-inline-editor .option-row{gap:5px;margin-bottom:7px}.workspace-inline-editor .option-row .option-label{min-height:42px;padding:6px 8px;line-height:1.4}.workspace-inline-editor .option-row .points{flex:0 0 49px;width:49px;height:42px;padding:4px;font-size:14px}.workspace-inline-editor .option-row .icon-btn{flex:0 0 28px;min-height:42px}.admin-mode .workspace-inline-editor .asset-picker{grid-template-columns:repeat(auto-fit,minmax(40px,1fr));gap:5px;margin:0}.admin-mode .workspace-inline-editor .asset-picker button{min-height:40px;padding:0}.workspace-inline-editor .asset-picker .art-icon{width:34px!important;height:34px!important}.workspace-inline-editor .toggle-row{min-height:40px}.workspace-inline-editor .form-save{min-height:42px;margin-top:9px}}.child-mode.child-home-page{background:#fffaf4}.child-mode{--child-nav-height: calc(65px + env(safe-area-inset-bottom, 0px)) }.child-mode .page-content{padding-bottom:calc(var(--child-nav-height) + 18px)!important}.child-mode .toast{bottom:calc(var(--child-nav-height) + 13px)}.child-home-page .page-content{padding-top:calc(12px + env(safe-area-inset-top,0px))}.child-week-page .page-content{padding-inline:clamp(12px,4vw,20px)}.home-sticker{display:block;width:30px;height:30px;flex-shrink:0;background:url(/assets/home-stickers.webp) no-repeat;background-size:200% 200%}.sticker-tasks{background-position:100% 0}.sticker-gift{background-position:0 100%}.sticker-calendar{background-position:100% 100%}.child-mode .bottom-nav{padding:6px 10px calc(6px + env(safe-area-inset-bottom,0px));border-top-color:#efe4dd;background:#fffdf9}.child-mode .bottom-nav button{min-width:0;min-height:50px;gap:1px;padding:3px 8px;border-radius:15px;color:#65545b;font-size:12px;line-height:1.25}.child-nav-label{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.child-mode .bottom-nav button.active{background:#f8e8e9;color:#6f3d52}.week-dashboard{--home-avatar-size: clamp(56px, 18vw, 82px);--home-ring-size: clamp(50px, 15vw, 62px);--home-gap: 10px;display:grid;gap:var(--home-gap);font-variant-numeric:tabular-nums}.home-points-card{display:grid;gap:var(--home-gap);padding:10px;border:1px solid #f2dbd8;border-radius:19px;background:radial-gradient(ellipse at 90% 12%,#fff9e7,transparent 57%),#fae8e8}.home-points-main{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;padding:2px 4px}.home-profile-avatar{display:grid;place-items:center;padding:3px;border-radius:50%;background:#fffdf9;box-shadow:0 3px 10px #6e435228}.home-profile-avatar>.avatar-photo{width:var(--home-avatar-size);height:var(--home-avatar-size)}.profile-avatar-initial{--initial-size: var(--home-avatar-size, var(--avatar-size));display:inline-grid;flex-shrink:0;place-items:center;width:var(--initial-size);height:var(--initial-size);border-radius:50%;background:#f0dce4;color:#623c52;font-size:calc(var(--initial-size) * .43);font-weight:750}.home-balance{display:grid;gap:3px;padding:0 2px;color:#543145}.home-balance-label{font-size:14px;font-weight:700}.home-balance-line{display:flex;align-items:baseline;flex-wrap:wrap;gap:0 3px;min-width:0;font-size:14px}.home-balance-line>strong{min-width:0;color:#432638;font-size:clamp(28px,9vw,40px);line-height:1.05;overflow-wrap:anywhere}.child-points-at-a-glance{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:12px;padding:8px 3px;border:1px solid #dfe8d9;border-radius:12px;background:#f3f6eb;text-align:center}.child-points-at-a-glance>div{min-width:0;padding:0 4px}.child-points-at-a-glance>div+div{border-inline-start:1px solid #dfe8d9}.child-points-at-a-glance span{display:block;color:#536950;font-size:11px}.child-points-at-a-glance strong{display:block;margin-top:2px;color:#314f37;font-size:14px;overflow-wrap:anywhere}.child-record-points{padding-block:10px;border-radius:14px;font-variant-numeric:tabular-nums}.child-record-points span{font-size:12px}.child-record-points strong{font-size:clamp(17px,5vw,22px);line-height:1.2}.child-record-points small{color:inherit;font-size:11px}.child-record-points>div:nth-child(2) strong{color:#765045}.child-record-points+.inner-tabs{margin-top:0}.home-today-goal{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"ring numbers status";align-items:center;gap:4px 8px;min-width:0;padding:8px 9px;border:1px solid #efd9df;border-radius:14px;background:#fffcfa;color:#653b51}.home-goal-ring{grid-area:ring;display:grid;position:relative;width:var(--home-ring-size);aspect-ratio:1;place-items:center}.home-goal-ring>svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg);fill:none;stroke-width:7}.home-goal-track{stroke:#efdde5}.home-goal-fill{stroke:#ab4e71;stroke-linecap:round;transition:stroke-dashoffset .56s ease-out,stroke .24s ease;animation:home-goal-sweep .62s ease-out}.home-goal-ring>.art-icon{position:relative}.goal-reached{border-color:#dce8d6;background:#f9fcf4;color:#36593e}.goal-reached .home-goal-track{stroke:#e1ebda}.goal-reached .home-goal-fill{stroke:#4d8256}.goal-reached .home-goal-ring>.art-icon,.home-week-days .art-icon,.toast-celebration .art-icon{animation:home-star-pop .51s ease-out}.home-goal-numbers{grid-area:numbers;min-width:0}.home-goal-numbers strong{display:block;margin-top:2px;font-size:clamp(23px,7vw,30px);line-height:1.15;overflow-wrap:anywhere}.home-goal-numbers strong>span{font-size:14px}.child-mode :is(.home-goal-numbers,.home-week-heading) h2{font-size:16px}.home-goal-status{grid-area:status;justify-self:start;display:inline-flex;align-items:center;gap:4px;max-width:clamp(75px,28vw,116px);padding:4px 7px;border-radius:10px;background:#f8e9ef;color:#713d56;font-size:13px;font-weight:700;overflow-wrap:anywhere}.goal-reached .home-goal-status{background:#e5efdf;color:#36593e}.home-goal-status svg,.home-week-award-status svg{width:15px;height:15px}.home-week-progress{padding:9px;border:1px solid #ebdfef;border-radius:14px;background:#fffafd;color:#493550}.home-week-heading{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 8px}.home-week-heading>strong{font-size:18px;overflow-wrap:anywhere}.home-week-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin:6px 0 0;padding:0;list-style:none}.home-week-days li{display:grid;align-content:center;justify-items:center;gap:1px;min-width:0;min-height:42px;padding:4px 1px;border:1px solid #f0e6f1;border-radius:8px;background:#f8f2f8;color:#58435f;transition:background-color .24s ease}.home-week-days .day-reached{border-color:#d6e5cf;background:#edf5e8;color:#315538}.home-week-days [aria-current=date]{border-color:#ae708c;background:#faeaf1}.home-week-day-label{font-size:12px;font-weight:700;white-space:nowrap}.home-week-day-score{min-width:0;max-width:100%;font-size:14px;font-weight:750;overflow-wrap:anywhere}.home-week-claim{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 10px;border:1px solid #f0dfb8;border-radius:14px;background:#fff5df;color:#634619}.home-week-claim h2{font-size:13px;line-height:1.3}.home-week-claim strong{display:block;font-size:19px;line-height:1.3;overflow-wrap:anywhere}.home-week-claim .button{min-height:44px;padding-inline:12px;font-size:13px;white-space:nowrap}.home-week-rewards{display:grid;gap:8px}.home-week-award{display:grid;align-content:start;gap:4px;min-width:0;padding:9px;border:1px solid #f1e0dc;border-radius:14px;background:#fffaf7;color:#4e2e3e;overflow-wrap:anywhere;--award-track: #e3eddc;--award-accent: #54865d}.home-week-award+.home-week-award{--award-track: #ede1f0;--award-accent: #8c5e9e}.home-week-award.qualified{border-color:#d4e2c8;background:#f4f8ee;color:#365d3d;--award-accent: #54865d}.home-week-award-title{display:flex;flex-wrap:wrap;align-items:center;gap:3px 4px;font-size:15px}.home-week-award-value{margin-inline-start:auto;padding:3px 6px;border-radius:10px;background:#fff0cd;color:#6a4619;font-size:12px;font-weight:700}.home-week-award-progress{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:1px 3px}.home-week-award-progress>span{font-size:12px;font-weight:650}.home-week-award-status{display:inline-flex;align-items:center;gap:4px;font-size:15px;line-height:1.35}.home-week-award small{color:#59424d;font-size:12px;line-height:1.4}.home-week-award.qualified small{color:#3d5940}.home-award-meter{height:6px;overflow:hidden;border-radius:8px;background:var(--award-track)}.home-award-meter>span{display:block;width:100%;height:100%;border-radius:inherit;background:var(--award-accent);transform:scaleX(var(--award-fill));transform-origin:left;transition:transform .56s ease-out;animation:home-award-fill .62s ease-out}.child-mode .toast-celebration{display:inline-flex;align-items:center;gap:6px;background:#3b654a}@media(max-width:350px){.home-today-goal{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"ring numbers" "ring status"}.home-goal-status{max-width:100%}}@media(max-height:690px){.week-dashboard{--home-avatar-size: clamp(52px, 17vw, 70px);--home-ring-size: clamp(46px, 14vw, 58px);--home-gap: 8px}}@keyframes home-goal-sweep{0%{stroke-dashoffset:100}}@keyframes home-award-fill{0%{transform:scaleX(0)}}@keyframes home-star-pop{0%{transform:scale(.7) rotate(-12deg)}65%{transform:scale(1.2) rotate(5deg)}to{transform:scale(1) rotate(0)}}@media(prefers-reduced-motion:reduce){.home-goal-fill,.home-award-meter>span,.goal-reached .home-goal-ring>.art-icon,.home-week-days .art-icon,.toast-celebration .art-icon{animation:none}}.child-dialog .sheet{background:#fffdfa;color:#314b3f}.points-overview .child-stat{margin-bottom:12px}.points-periods{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin-bottom:10px}.points-periods button{min-height:44px;padding:4px;border:1px solid #dfe8d9;border-radius:8px;color:#45634a;font-size:13px}.points-periods button[aria-pressed=true]{background:#e5eddb;font-weight:650}.points-period-metrics{margin-bottom:0}#root:has(.modal-layer) .child-mode .toast{visibility:hidden}.shop-points .shop-balance{width:100%;margin-bottom:7px;text-align:start}.shop-points-details{display:inline-flex;align-items:center;gap:3px;margin-inline-start:auto;font-size:12px}.shop-points-details svg{width:13px;height:13px}.child-mode .reward-description{margin:6px 0;color:#536950;font-size:12px;line-height:1.45;overflow-wrap:anywhere}.redemption-period{margin-bottom:12px;padding:4px 8px}.redemption-period .month-head{margin:0}.redemption-period .icon-btn{width:44px;height:44px}.record-title{display:block;margin-bottom:3px;font-size:14px;font-weight:650;line-height:1.4;overflow-wrap:anywhere}.record-category-summary{margin:0 0 12px;padding:0;border:1px solid #dfe8d9;border-radius:12px;background:#fffdfa;list-style:none;overflow:hidden}.record-category-summary li+li{border-top:1px solid #e5ebe0}.record-category-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,55%) 14px;align-items:center;gap:6px;width:100%;min-height:54px;padding:7px 10px;text-align:start}.record-category-row:hover{background:#f1f6ed}.record-category-row:focus-visible{outline-offset:-3px}.record-category-row>svg{width:14px;height:14px;color:#5c765d}.record-category-name{display:grid;gap:2px;min-width:0;color:#345640;overflow-wrap:anywhere}.record-category-name small{font-size:11px}.record-category-points{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:2px 6px;font-size:12px;text-align:end}.record-category-points strong{padding:3px 6px;border-radius:8px;background:#edf3e8;font-size:12px;white-space:nowrap}.record-category-points .amount.negative{background:#faeeeb;color:#8c423c}.record-details .amount.negative{color:#8c423c}.calendar-day-number,.calendar-performance,.calendar-performance-legend span{display:inline-flex;align-items:center;justify-content:center;gap:3px}.calendar-day-number{flex-wrap:wrap;max-width:100%}.calendar-performance-icon{display:inline-grid;place-items:center;min-width:14px;height:14px;flex-shrink:0;font-size:13px}.calendar .day{min-width:0;overflow-wrap:anywhere}.calendar .day.liked{background:#e0eedc;color:#305a3a}.calendar .day.below-goal{background:#f5ecd9;color:#705532}.calendar-performance-legend{flex-wrap:wrap}.calendar-performance-legend .liked,.calendar-performance.liked{color:#305a3a}.calendar-performance-legend .below-goal,.calendar-performance.below-goal{color:#705532}.calendar-performance{padding:3px 6px;border-radius:6px;font-size:12px;font-weight:650}.calendar-performance.liked{background:#e0eedc}.calendar-performance.below-goal{background:#f5ecd9}.history-detail .section-head{flex-wrap:wrap;gap:6px}.task-day-date,.task-day-overview{min-width:0;margin-bottom:14px;padding:12px;border:1px solid #dfe7d8;border-radius:18px;background:#fffefa}.task-day-date-head{display:flex;align-items:center;gap:7px;margin-bottom:9px}.child-mode .task-day-heading{display:flex;align-items:center;gap:7px;color:#2d5139;font-size:17px}.task-day-heading>span{display:grid;width:30px;height:30px;flex-shrink:0;place-items:center;border-radius:9px;background:#e5f0df}.task-day-heading svg{width:16px;height:16px}.task-day-weekday{margin-inline-start:auto;padding:4px 8px;border-radius:20px;background:#f0f4e8;color:#45634a;font-size:12px;font-weight:700;white-space:nowrap}.task-day-date-controls{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:6px}.task-day-label{display:inline-flex;align-items:center;gap:4px;color:#405e44;font-size:13px;font-weight:700}.task-day-label svg{width:15px;height:15px}.task-day-today{min-height:44px;padding:4px 5px;border-radius:9px;color:#365d44;font-size:13px;font-weight:650}.task-day-step{display:grid;place-items:center;min-height:44px;padding:0;border:1px solid #e1e8da;border-radius:12px;background:#fff;color:#365d44}.task-day-step svg{width:18px;height:18px}.task-day-step:not(:disabled):hover,.task-day-today:hover,.task-date-trigger:hover{background:#eaf2e5}.task-date-trigger{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;min-height:53px;padding:6px 9px;border:1px solid #d3e3cc;border-radius:13px;background:#f1f6ec;color:#294b34;text-align:start;font-variant-numeric:tabular-nums}.task-date-trigger-icon{display:grid;width:30px;height:30px;place-items:center;border-radius:9px;background:#dfedda}.task-date-trigger-icon svg{width:17px;height:17px}.task-date-trigger time{display:grid;min-width:0;gap:2px;line-height:1.15}.task-date-trigger strong{font-size:clamp(16px,4.8vw,19px);overflow-wrap:anywhere}.task-date-trigger small{color:#516952;font-size:12px}.task-date-chevron{width:14px;height:14px;transform:rotate(90deg)}.task-date-dialog .sheet{padding-inline:18px}.task-date-dialog .sheet-head{margin-bottom:13px}.task-date-dialog .sheet-head .icon-btn{min-width:44px;min-height:44px}.task-picker-month{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:6px}.task-picker-jump{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:5px;min-width:0}.task-picker-select{position:relative;min-width:0}.task-picker-select select{display:block;width:100%;min-height:44px;padding:6px 22px 6px 8px;appearance:none;border:1px solid #dbe7d6;border-radius:11px;background:#f1f6ec;color:#31543b;font-size:16px;font-weight:700}.task-picker-select svg{position:absolute;top:50%;right:7px;width:13px;height:13px;transform:translateY(-50%) rotate(90deg);pointer-events:none}.task-picker-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;margin-top:11px}.task-picker-weekday{padding:4px 0;color:#536d55;font-size:13px;font-weight:700;text-align:center}.task-picker-day{display:grid;align-content:center;justify-items:center;gap:2px;min-width:0;min-height:44px;padding:3px 1px;border:1px solid transparent;border-radius:10px;background:#f4f7ef;color:#2e5037;font-size:16px;font-weight:700;font-variant-numeric:tabular-nums;line-height:1.1}.task-picker-day small{color:inherit;font-size:10px;line-height:1.1}.task-picker-day:hover:not(:disabled),.task-picker-day[aria-current=date]{border-color:#8eaf89;background:#eaf3e5}.task-picker-day[aria-pressed=true]{border-color:#406b4b;background:#406b4b;color:#fff}.task-picker-day:disabled{background:transparent;color:#788579}.task-date-trigger:focus-visible,.task-picker-day:focus-visible{outline:2px solid #567f46;outline-offset:2px}.task-picker-footer{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.55fr);gap:8px;margin-top:15px}@media(min-width:761px){.task-date-dialog{align-items:center;padding:16px}.task-date-dialog .sheet{border-radius:20px}}.task-day-date:has(+.task-day-overview){margin-bottom:0;padding-bottom:10px;border-bottom:0;border-radius:18px 18px 0 0}.task-day-date+.task-day-overview{padding-top:0;border-top:0;border-radius:0 0 18px 18px}.task-day-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.task-day-metrics-compact{grid-template-columns:minmax(0,1fr)}.task-day-metrics-compact .task-day-metric{grid-template-columns:max-content minmax(0,1fr) max-content;align-items:center;gap:8px}.task-day-metrics-compact .task-day-value{grid-area:1 / 3;font-size:18px}.task-day-metrics-compact .task-day-progress{grid-area:1 / 2;margin-top:0}.task-day-metric{display:grid;align-content:start;gap:2px;min-width:0;padding:8px 10px;border:1px solid #e5eddd;border-radius:13px;background:#eef4e9}.task-day-points{border-color:#f1e1df;background:#faeeeb}.task-day-points :is(.task-day-label,.task-day-value>span){color:#745363}.task-day-points .task-day-value{color:#603e4e}.task-day-metric .art-icon{flex-shrink:0}.task-day-value{color:#304b37;font-size:23px;font-weight:750;line-height:1.2;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.task-day-value>span{margin-inline-start:3px;color:#566b51;font-size:13px;font-weight:600}.task-day-progress{display:block;width:100%;height:6px;margin-top:5px;overflow:hidden;appearance:none;border:0;border-radius:10px;background:#dae6d3;accent-color:#56845d}.task-day-progress::-webkit-progress-bar{background:#dae6d3}.task-day-progress::-webkit-progress-value{border-radius:10px;background:#56845d}.task-day-progress::-moz-progress-bar{border-radius:10px;background:#56845d}.task-day-pending{display:flex;flex-wrap:wrap;align-items:center;gap:5px 8px;margin-top:10px;padding:8px 10px;border:1px solid #f0dfb8;border-radius:9px;background:#fff5df;color:#624918;font-size:13px;line-height:1.4}.task-day-pending>span{display:inline-flex;align-items:center;gap:6px}.task-day-pending svg{width:15px;height:15px;flex-shrink:0}.task-day-pending>strong{margin-inline-start:auto;font-variant-numeric:tabular-nums}.floating-confirm{position:fixed;z-index:25;right:max(16px,calc((100% - 480px)/2 + 16px));bottom:calc(var(--child-nav-height) + 8px);display:inline-flex;align-items:center;gap:8px;min-height:52px;max-width:calc(100% - 32px);padding:8px 13px 8px 15px;border:2px solid #fffdfa;border-radius:28px;background:#365d44;color:#fff;box-shadow:0 5px 18px #20392350;font:inherit;font-size:14px;font-weight:700}.floating-confirm svg{width:18px;height:18px;flex-shrink:0}.floating-confirm:focus-visible{outline:3px solid #567f46;outline-offset:3px}.floating-confirm:disabled{opacity:.85}.floating-count{display:grid;place-items:center;min-width:26px;min-height:26px;padding-inline:4px;border-radius:999px;background:#fbe8aa;color:#4b361b;font-size:12px;font-variant-numeric:tabular-nums}.child-mode .page-content:has(.floating-confirm){padding-bottom:calc(var(--child-nav-height) + 76px)!important}.child-mode:has(.floating-confirm) .toast{bottom:calc(var(--child-nav-height) + 70px)}.task-kind-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:14px}.task-kind-tabs button{display:flex;align-items:center;gap:7px;min-width:0;min-height:62px;padding:8px 9px;border:1px solid #dce6d8;border-radius:15px;background:#fffefa;color:#35533b;font-size:15px;font-weight:700;text-align:left}.kind-tab-icon{display:block;width:clamp(32px,10.4vw,42px);aspect-ratio:1;flex-shrink:0;background:url(/assets/task-kind-icons.webp) 0 0 / 200% 100% no-repeat}.danger-tab .kind-tab-icon{background-position:100% 0}.kind-tab-copy{display:grid;gap:2px;min-width:0}.kind-tab-title{display:flex;flex-wrap:wrap;align-items:center;gap:4px;line-height:1.35;overflow-wrap:anywhere}.kind-tab-count{padding-inline:5px;border-radius:10px;background:#e4efdd;font-size:12px;font-variant-numeric:tabular-nums}.kind-tab-score{color:#42634a;font-size:12px;line-height:1.35;overflow-wrap:anywhere}.task-kind-tabs button.active{border-color:#8eaf88;background:#e9f3e5;box-shadow:inset 0 -2px #c6dec0}.task-kind-tabs .danger-tab{border-color:#ecddda;color:#813c37}.task-kind-tabs .danger-tab .kind-tab-count{background:#f7e5e3}.task-kind-tabs .danger-tab .kind-tab-score{color:#8c423c}.task-kind-tabs .danger-tab.active{border-color:#c58e85;background:#fbece8;box-shadow:inset 0 -2px #eed3cd}.task-groups{display:grid;gap:25px}.task-group{--group-tint: #eaf3e4;--group-ink: #31563a;--group-border: #d8e6d1;display:grid;gap:12px;min-width:0;padding:10px;border:1px solid var(--group-border);border-radius:20px;background:var(--group-tint)}.task-group:nth-child(3n+2){--group-tint: #f0eaf8;--group-ink: #594469;--group-border: #e4d9ef}.task-group:nth-child(3n+3){--group-tint: #fcf0e3;--group-ink: #704d32;--group-border: #efdfcb}.task-group.task-group-penalty{--group-tint: #fbece8;--group-ink: #813c37;--group-border: #eed8d3}.task-group-heading{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;padding:2px;color:var(--group-ink)}.task-group-icon,.task-card-icon{display:grid;place-items:center;border-radius:11px}.task-group-icon{width:40px;height:40px;background:#ffffffa8}.task-group-summary{display:grid;gap:2px;min-width:0;font-size:12px;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.child-mode .task-group-summary h2{color:inherit;font-size:18px;line-height:1.3}.task-group-status{display:flex;flex-wrap:wrap;align-items:center;gap:2px 6px}.task-group-status small{font-size:12px;line-height:1.35}.task-group-pending{color:#79521c;font-weight:650}.task-group-score{--score-accent: #556a53;--score-track: #dce8d7;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:6px;max-width:clamp(108px,34vw,152px);color:var(--score-accent);font-variant-numeric:tabular-nums}.task-group-score.score-full{--score-accent: #357c49;--score-track: #cee8cd}.task-group-score.score-good{--score-accent: #856624;--score-track: #eee3c8}.task-group-score.score-partial{--score-accent: #894e33;--score-track: #ecd8ca}.task-group-score.score-low{--score-accent: #713448;--score-track: #e1c4ce}.task-score-ring{position:relative;display:grid;place-items:center;width:clamp(40px,11vw,50px);aspect-ratio:1;border-radius:50%;background:#fffdfa}.task-score-ring svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg);fill:none;stroke-width:5}.task-score-track{stroke:var(--score-track)}.task-score-fill{stroke:currentColor;stroke-linecap:round;transition:stroke-dashoffset .36s ease-out,stroke .22s ease,opacity .22s ease}.task-score-emoji,.task-status-emoji,.calendar-performance-icon{font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif;line-height:1}.task-score-emoji{position:relative;font-size:18px}.task-status-emoji{flex-shrink:0;font-size:13px}.task-score-copy{display:grid;gap:2px;min-width:0;overflow-wrap:anywhere}.task-score-copy strong{font-size:17px;line-height:1.15}.task-score-copy small{color:var(--group-ink);font-size:11px;line-height:1.3}.task-card-list{display:grid;gap:12px}.task-action-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;width:100%;min-height:80px;padding:12px;border:0;border-radius:16px;background:#ffffffe0;box-shadow:0 2px 8px #4b422710;color:#294733;text-align:left}.task-action-card:disabled{cursor:wait}.task-card-icon{width:44px;height:44px;background:var(--group-tint)}.task-card-body{min-width:0}.task-card-title{display:block;font-size:15px;font-weight:650;line-height:1.5;overflow-wrap:anywhere}.task-card-meta{display:inline-flex;align-items:center;gap:4px;margin-top:6px;color:#526b54;font-size:12px;line-height:1.35;overflow-wrap:anywhere}.task-action-card:is(.pending,.confirmed) .task-card-meta{padding:3px 8px;border-radius:20px}.task-action-card.pending .task-card-meta{background:#fbefd7;color:#71511a}.task-action-card.confirmed .task-card-meta{background:#eaf3e5;color:#365e3d}.penalty-card.todo .task-card-meta{color:#8c423c}.task-card-action{display:flex;align-items:center;justify-content:center;gap:3px;padding-block:8px;color:#365b3d;font-size:12px;font-weight:700;white-space:nowrap}.task-card-action svg{width:13px;height:13px}.penalty-card .task-card-action{color:#8c423c}.task-action-card:focus-visible{outline:2px solid #4e7855;outline-offset:2px}.task-kind-tabs button:focus-visible{outline:2px solid #4e7855;outline-offset:2px}.single-task-heading{display:flex;align-items:center;gap:12px;margin-bottom:14px;padding:10px;border:1px solid #f1e1df;border-radius:15px;background:#faeeeb}.single-task-heading h3{min-width:0;color:#553b46;font-size:16px;line-height:1.45;overflow-wrap:anywhere}.task-choice-group legend{color:#586d55;font-size:13px;font-weight:650}.task-choice-group .radio-option{min-height:48px;margin-top:8px;padding:10px;border-radius:12px;background:#fffdf9}.task-choice-group input{accent-color:#56815a}.task-choice-group input:focus{outline:none}.task-choice-group .radio-option.selected{border-color:#9fb997;background:#eef5e8}.task-choice-group .radio-option:has(input:focus-visible){outline:2px solid #4e7855;outline-offset:2px}.task-choice-group .radio-option strong{flex-shrink:0;padding:3px 6px;border-radius:20px;background:#e7f0e2;color:#3b6141}.task-choice-group .radio-option strong.deduction{background:#faeeeb;color:#8c423c}.task-registration-dialog .form-save{margin-top:13px}.task-choice-group+.text-btn{min-height:44px;margin-top:8px}@media(hover:hover){.task-action-card:hover:not(:disabled){box-shadow:0 3px 12px #4b42271c}}@media(max-width:360px){.child-mode .calendar-panel{padding-inline:12px}.calendar-day-number{gap:1px}.calendar-day-number .calendar-performance-icon{min-width:12px;height:12px;font-size:11px}.task-kind-tabs button{gap:5px;padding-inline:7px}.task-group{padding:8px}.task-group-heading{gap:7px}.task-group-icon{width:36px;height:36px}.child-mode .task-group-summary h2{font-size:16px}.task-action-card{gap:8px;padding-inline:10px}.task-card-icon{width:40px;height:40px}.task-card-action svg{display:none}}
