:root{color:#243c47;font-synthesis:none;--teal:#14615c;--ink:#243c47;background:#faf8f0;font-family:ui-rounded,SF Pro Rounded,Avenir Next,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0}button,input{font:inherit;color:inherit}button{cursor:pointer;-webkit-tap-highlight-color:transparent;background:#fff;border:1px solid #c8d4cd;border-radius:14px;min-height:48px;padding:10px 18px;font-weight:700}button:hover{border-color:var(--teal)}button:focus-visible,input:focus-visible{outline-offset:3px;outline:4px solid #bd660e}button:disabled{opacity:.45;cursor:default}button.primary{background:var(--teal);color:#fff;border-color:var(--teal)}input{background:#fff;border:1px solid #a4b9b0;border-radius:12px;min-width:0;min-height:48px;padding:12px}label{flex-direction:column;gap:8px;margin:14px 0;font-weight:650;display:flex}h1,h2,h3,p{margin-top:0}.dashboard{height:100dvh;padding:max(22px, env(safe-area-inset-top)) max(24px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(24px, env(safe-area-inset-left));flex-direction:column;gap:14px;max-width:1600px;margin:auto;display:flex}header{flex-shrink:0;align-items:flex-start;gap:20px;display:flex}.greeting{flex:1;padding-top:6px}.eyebrow{letter-spacing:2px;color:#587268;margin-bottom:10px;font-size:10px;font-weight:800}h1{letter-spacing:-1.2px;max-width:510px;margin-bottom:10px;font-size:clamp(26px,3.5vw,46px);line-height:1.08}.prompt{margin-bottom:12px;font-size:17px}.stars-balance{background:#efe7ce;border-radius:20px;padding:6px 12px;font-size:14px;font-weight:700;display:inline-block}.parent-button{background:0 0;min-height:44px;padding:8px 14px;font-size:14px}.clock{text-align:center;background:#fff;border:1px solid #e6e9df;border-radius:24px;flex-shrink:0;justify-content:center;align-items:center;gap:16px;width:clamp(275px,34vw,420px);padding:12px 16px;display:flex}.clock-sun{color:#ba7608;font-size:54px}.current-time{font-variant-numeric:tabular-nums;font-size:28px;font-weight:750}.until{letter-spacing:1px;margin-top:4px;font-size:12px;font-weight:750}.countdown{color:var(--teal);font-variant-numeric:tabular-nums;letter-spacing:-1px;font-size:42px;font-weight:800;line-height:1.15}.board{overscroll-behavior:contain;flex:1;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:minmax(174px,1fr);gap:14px;min-height:0;margin:-7px;padding:7px;display:grid;overflow:auto}.slot{border-radius:24px;min-width:0;position:relative}.card{background:var(--card);border:2px solid #0000;border-radius:24px;flex-direction:column;height:100%;transition:box-shadow .18s,border-color .18s;display:flex;position:relative;box-shadow:0 3px #243c4710}.color-0{--card:#d9efeb}.color-1{--card:#e9e1f4}.color-2{--card:#fae6be}.color-3{--card:#e5eccb}.card-face{text-align:left;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:0 0;border:0;border-radius:22px;flex-direction:column;flex:1;justify-content:center;gap:8px;width:100%;padding:16px 20px;display:flex}.card-top{justify-content:space-between;align-items:center;width:100%;display:flex}.task-icon{font-size:44px;line-height:1.2}.task-star{color:var(--teal);font-size:53px;line-height:1}.task-title{overflow-wrap:break-word;overflow-wrap:anywhere;font-size:clamp(22px,2.5vw,31px);font-weight:800;line-height:1.1}.card-bottom{letter-spacing:.4px;justify-content:space-between;gap:8px;width:100%;margin-top:3px;font-size:12px;display:flex}.completed{border-color:#559184}.completed .task-star{animation:.35s ease-out star-pop}@keyframes star-pop{50%{transform:scale(1.28)rotate(12deg)}}.card.lifted{z-index:10;opacity:.9;box-shadow:0 15px 25px #243c4738}.drop-target{outline:4px dashed var(--teal);outline-offset:-4px}.drop-label{background:var(--teal);color:#fff;z-index:20;white-space:nowrap;pointer-events:none;border-radius:30px;padding:7px 15px;font-weight:750;position:absolute;top:5px;left:50%;transform:translate(-50%)}.timing{text-align:center;min-height:48px;padding:0 14px 8px;font-size:13px;font-weight:600}.timing button{background:#ffffffa8;width:100%;min-height:44px;padding:8px;font-size:15px}.accessible-order{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.accessible-order:focus-within{clip-path:none;z-index:30;background:#fff;width:auto;height:auto;padding:4px;bottom:0}footer{flex-shrink:0;align-items:center;gap:24px;padding-top:4px;display:flex}.progress{flex:1;font-size:16px}.progress-stars{color:#6a8174;gap:10px;margin-bottom:3px;font-size:32px;line-height:1.25;display:flex}.progress-stars .earned{color:var(--teal)}.start{min-width:265px;min-height:64px;padding:14px 24px;font-size:17px}.start span{margin-left:15px}.encouragement{color:#60766b;font-size:16px}.offline-status{text-align:right;color:#60766b;margin-top:-5px;font-size:10px}.error{background:#fff0d2;border:1px solid #966015;border-radius:12px;padding:8px 14px}.loading{padding:40px}.empty{text-align:center;grid-column:1/-1;align-self:center;font-size:24px}dialog{color:var(--ink);background:#faf8f0;border:0;border-radius:28px;width:min(880px,100% - 32px);max-height:calc(100dvh - 40px);padding:28px;overflow-y:auto;box-shadow:0 24px 90px #172c3d55}dialog::backdrop{background:#203f4588}.dialog-heading{justify-content:space-between;align-items:center;gap:15px;margin-bottom:20px;display:flex}.dialog-heading h2{margin:0;font-size:28px}.dialog-heading button{flex-shrink:0}.settings-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.settings-grid section{background:#fff;border:1px solid #e3e7dc;border-radius:20px;padding:20px}.settings-grid h3{color:var(--teal);margin-bottom:14px;font-size:18px}.settings-grid h3:not(:first-child){margin-top:25px}.settings-grid section>button{width:100%;font-size:14px}.toggle{flex-direction:row;justify-content:space-between;align-items:center;min-height:44px}.toggle input{width:26px;height:26px;min-height:26px;accent-color:var(--teal)}.muted{color:#5d7169;margin:10px 0 0;font-size:13px;line-height:1.6}.task-settings,.data-section,.settings-done{grid-column:1/-1}.task-row{align-items:center;gap:6px;margin:10px 0;display:flex}.task-row .edit-task{text-align:left;flex:1}.task-row button{padding:10px}.reward-total{color:var(--teal);font-size:23px;font-weight:800}.gate,.editor{max-width:520px;margin:auto}.gate label{font-size:24px}.gate input{font-size:28px}.gate button{width:100%;margin-top:20px}.confirmation p{font-size:20px;line-height:1.5}.actions{justify-content:flex-end;gap:14px;margin:22px 0;display:flex}.actions button{flex:1}.emoji-picker{flex-wrap:wrap;gap:8px;display:flex}.emoji-picker button{padding:8px 12px;font-size:26px}.emoji-picker [aria-pressed=true]{border:2px solid var(--teal);background:#d9efeb}.estimate{text-align:center;padding:20px}.estimate h3{font-size:26px}.big-emoji{font-size:72px}.celebration{text-align:center;justify-content:center;align-items:center;gap:30px;padding:20px 0;display:flex}.celebration h3{font-size:28px}.celebration p{font-size:20px}.trophy{color:var(--teal);background:#f5e4b3;border-radius:50%;flex-shrink:0;width:230px;height:230px;font-size:160px;animation:.45s ease-out star-pop}.done{width:100%;min-height:64px;font-size:24px}@media (min-width:1200px) and (min-height:800px){.dashboard{gap:24px;padding:36px}.task-icon{font-size:60px}.card-face{padding:22px}}@media (max-width:799px){.dashboard{height:auto;min-height:100dvh;padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left))}header{flex-wrap:wrap}.greeting{flex-basis:70%}h1{max-width:none}.clock{order:3;width:100%}.parent-button{margin-left:auto}.clock>div{grid-template-columns:1fr 1fr;align-items:center;column-gap:18px;display:grid}.current-time{grid-row:1/3}.countdown{font-size:32px}.board{flex:none;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:minmax(190px,auto);margin:0;padding:0;overflow:visible}.task-title{font-size:24px}footer{flex-wrap:wrap}.progress{min-width:200px}.start{flex:1}.encouragement{display:none}.settings-grid{grid-template-columns:1fr}.celebration{flex-direction:column}.trophy{width:150px;height:150px;font-size:100px}}@media (max-width:460px){.board{grid-template-columns:1fr}.eyebrow{display:none}h1{font-size:29px}.greeting{flex-basis:65%}.task-row{flex-wrap:wrap}.task-row .edit-task{flex-basis:100%}dialog{padding:18px}.clock{gap:8px}.clock-sun{display:none}}@media (max-height:550px){.dashboard{height:auto;min-height:100dvh}.board{flex:none;grid-auto-rows:minmax(174px,auto);overflow:visible}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
