@import "https://fonts.googleapis.com/css2?family=Baloo+2:wght@600;700;800&family=Nunito:wght@500;700;900&display=swap";
:root{--ink:#243047;--blue:#41c8ff;--sun:#ffd94a;--pink:#ff6fae;--mint:#7ae7a4;--cream:#fff8df;--paper:#ffffffd1;--stroke:#24304724}*{box-sizing:border-box}body{min-height:100vh;color:var(--ink);background:radial-gradient(circle at 12% 14%,#ffd94acc 0 9%,#0000 10%),radial-gradient(circle at 85% 10%,#ff6fae80 0 10%,#0000 11%),radial-gradient(circle at 82% 82%,#41c8ff8c 0 13%,#0000 14%),linear-gradient(135deg,#fff8df 0%,#e8fbff 43%,#fff0f7 100%);margin:0;font-family:Nunito,sans-serif;overflow-x:hidden}body:before{content:"";pointer-events:none;background-image:linear-gradient(45deg,#2430470d 25%,#0000 25%),linear-gradient(-45deg,#24304709 25%,#0000 25%);background-size:34px 34px;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000,#0000 75%);mask-image:linear-gradient(#000,#0000 75%)}button,input{font:inherit}button{cursor:pointer}.app-shell{width:min(1220px,100% - 28px);margin:0 auto;padding:22px 0 46px}.topbar{z-index:10;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffc;border:3px solid #243047;border-radius:28px;justify-content:space-between;align-items:center;gap:18px;margin-bottom:22px;padding:12px;display:flex;position:sticky;top:12px;box-shadow:0 12px #2430471a}.brand{color:var(--ink);flex:none;align-items:center;gap:10px;font-family:"Baloo 2";font-size:30px;line-height:1;text-decoration:none;display:flex}.brand img{object-fit:contain;filter:drop-shadow(0 4px #2430471f);border-radius:16px;width:48px;height:48px;display:block}.topbar nav{justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.topbar nav a{color:var(--ink);white-space:nowrap;background:#ffffffa6;border:2px solid #0000;border-radius:999px;padding:10px 15px;font-weight:1000;text-decoration:none}.topbar nav a.active,.topbar nav a:hover{color:#fff;background:#243047;border-color:#243047}.hero,.page-head{background:linear-gradient(110deg,#ffffffd1,#ffffff80),#fff;border:4px solid #243047;border-radius:34px;padding:32px;animation:.45s cubic-bezier(.2,1.6,.35,1) both pop-in;position:relative;overflow:hidden;box-shadow:0 20px #2430471c,0 28px 60px #14223c26}.hero{grid-template-columns:1fr auto;align-items:end;gap:24px;display:grid}.hero:after{content:"✦ ✿ ★ ● ✦";color:#ff6fae80;letter-spacing:.05em;font-family:"Baloo 2";font-size:clamp(48px,10vw,118px);position:absolute;top:2px;right:-6px;transform:rotate(8deg)}.eyebrow{text-transform:uppercase;letter-spacing:.18em;color:#f45c93;margin:0 0 4px;font-weight:1000}h1,h2,h3,p{margin-top:0}h1{max-width:760px;margin-bottom:10px;font-family:"Baloo 2";font-size:clamp(34px,5vw,76px);line-height:.86}.hero p:last-child,.page-head p:last-child{max-width:690px;margin-bottom:0;font-size:19px}.section-title{justify-content:space-between;align-items:end;gap:22px;margin:6px 0 18px;padding:0 4px;display:flex}.section-title h1{margin:0;font-size:clamp(32px,4vw,54px)}.section-title p:last-child{color:#66728b;max-width:360px;margin:0;font-weight:900}.score-blimps{z-index:1;grid-template-columns:repeat(3,116px);gap:12px;display:grid;position:relative}.score-blimps div{aspect-ratio:1;text-align:center;background:var(--sun);border:3px solid #243047;border-radius:999px 999px 28px;place-items:center;padding:14px;display:grid;transform:rotate(-4deg);box-shadow:6px 8px #24304721}.score-blimps div:nth-child(2){background:var(--mint);transform:rotate(5deg)}.score-blimps div:nth-child(3){background:var(--blue);transform:rotate(-2deg)}.score-blimps strong{font-family:"Baloo 2";font-size:30px;line-height:.9;display:block}.score-blimps span{text-transform:uppercase;font-size:12px;font-weight:1000}.dashboard-main,.two-col,.calendar-layout{grid-template-columns:1.1fr .9fr;align-items:stretch;gap:20px;margin-top:24px;display:grid}.panel{border:3px solid var(--stroke);background:var(--paper);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:30px;flex-direction:column;height:100%;padding:22px;display:flex;position:relative;box-shadow:0 18px 40px #1626461c}.panel-title{flex:none;align-items:center;gap:14px;margin-bottom:18px;display:flex}.panel-title .mascot{background:#fff;border:3px solid #243047;border-radius:20px;place-items:center;width:58px;height:58px;font-size:32px;display:grid;box-shadow:5px 7px #2430471f}.panel-title p{color:#64708b;text-transform:uppercase;letter-spacing:.14em;margin:0;font-size:12px;font-weight:1000}.panel-title h2{margin:0;font-family:"Baloo 2";font-size:31px;line-height:.9}.overview-list{grid-column:1/-1}.chart-row{grid-template-columns:140px 1fr 56px;align-items:center;gap:12px;margin:16px 0;font-weight:1000;display:grid}.bar{background:#fff;border:3px solid #243047;border-radius:999px;height:22px;overflow:hidden;box-shadow:0 5px #24304717}.bar i{width:var(--pct);background:linear-gradient(90deg,var(--kid),color-mix(in srgb,var(--kid),white 45%));border-radius:999px;height:100%;transition:width .3s;display:block}.leader-row{border-bottom:2px dashed #24304721;grid-template-columns:44px 44px 1fr auto;align-items:center;gap:12px;padding:13px 0;display:grid}.leader-row strong{background:var(--kid);color:#fff;border:2px solid #243047;border-radius:13px;place-items:center;width:38px;height:38px;display:grid}.leader-row span{font-size:30px}.leader-row b,.leader-row small{display:block}.leader-row small,.snapshot small{color:#6b7893;font-weight:900}.leader-row em{background:#fff;border-radius:999px;padding:7px 10px;font-style:normal;font-weight:1000}.snapshot{border-bottom:2px dashed #24304721;justify-content:space-between;align-items:center;gap:14px;padding:15px 0;display:flex}.snapshot b,.snapshot small{display:block}.snapshot a{white-space:nowrap;color:#243047;background:color-mix(in srgb,var(--kid),white 58%);border:2px solid #243047;border-radius:999px;padding:9px 12px;font-weight:1000;text-decoration:none}.kid-tabs{scrollbar-width:thin;gap:12px;padding:10px 2px 8px;display:flex;overflow-x:auto}.kid-tabs button{background:color-mix(in srgb,var(--kid),white 55%);color:#243047;border:3px solid #243047;border-radius:22px;align-items:center;gap:10px;min-width:170px;padding:12px 14px;font-weight:1000;transition:transform .18s,box-shadow .18s;display:flex;box-shadow:0 7px #2430472e}.kid-tabs span{font-size:28px}.kid-tabs b{background:#ffffffad;border-radius:999px;margin-left:auto;padding:5px 8px;font-size:12px}.kid-tabs button:hover,.kid-tabs .active{transform:translateY(-5px)rotate(-1deg);box-shadow:0 12px #24304729}.kid-tabs .active{background:var(--kid);color:#fff}.checklist-panel{background:linear-gradient(180deg,color-mix(in srgb,var(--kid),white 74%),#ffffffd6)}.plain-checklist{margin:0;padding:2px 0;list-style:none}.plain-checklist li{border-bottom:2px dashed #24304729}.plain-checklist label{cursor:pointer;grid-template-columns:28px 1fr;align-items:center;gap:13px;padding:14px 4px;display:grid}.plain-checklist input{opacity:0;position:absolute}.box{background:#fff;border:3px solid #243047;border-radius:8px;place-items:center;width:27px;height:27px;display:grid;box-shadow:3px 4px #2430471f}.box:after{content:"✓";color:#fff;opacity:0;font-weight:1000}.plain-checklist input:checked+.box{background:#16b878}.plain-checklist input:checked+.box:after{opacity:1}.chore-text b{font-size:20px;display:block}.chore-text small{color:#6b7893;font-weight:900;display:block}.plain-checklist li.done .chore-text b{color:#78839a;text-decoration:line-through}.reward-row{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.reward-ticket{min-height:136px;color:var(--ink);background:linear-gradient(#fff,#fff3d6);border:3px dashed #243047;border-radius:24px;place-items:center;padding:14px;transition:transform .16s;display:grid;box-shadow:0 9px #2430471c}.reward-ticket:hover:not(:disabled){transform:translateY(-5px)rotate(2deg)}.reward-ticket:disabled{filter:grayscale(.8);opacity:.48;cursor:not-allowed}.reward-ticket span{font-size:32px}.reward-ticket b,.reward-ticket small{display:block}.mini-form,.edit-line,.kid-editor label{grid-template-columns:64px 1fr 110px auto;align-items:center;gap:9px;margin-bottom:10px;display:grid}.mini-form input,.edit-line input,.kid-editor input,.prefs input{min-width:0;color:var(--ink);background:#ffffffc2;border:2px solid #24304729;border-radius:15px;padding:11px 12px;font-weight:900}.mini-form input:first-child,.edit-line input:first-child{text-align:center;padding:6px;font-size:24px}.mini-form button{color:#fff;background:#243047;border:0;border-radius:15px;padding:12px 16px;font-weight:1000;box-shadow:0 6px #2430472e}.edit-line{opacity:.9;grid-template-columns:54px 1fr 86px}.kid-editor{gap:10px;display:grid}.kid-editor label{grid-template-columns:54px 1fr 100px;margin:0}.prefs label{color:#6b7893;text-transform:uppercase;letter-spacing:.08em;gap:7px;margin-bottom:14px;font-size:12px;font-weight:1000;display:grid}.calendar-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.calendar-head h2{margin:0;font-family:"Baloo 2";font-size:36px}.calendar-head span{color:#f45c93;font-weight:1000}.weekdays,.month-grid{grid-template-columns:repeat(7,1fr);gap:8px;display:grid}.weekdays b{text-align:center;color:#6b7893;text-transform:uppercase;letter-spacing:.1em;font-size:12px}.calendar-day{min-height:88px;color:var(--ink);text-align:left;background:#ffffffb8;border:2px solid #24304729;border-radius:18px;flex-direction:column;gap:8px;padding:10px;display:flex;position:relative}.calendar-day b{font-family:"Baloo 2";font-size:24px;line-height:1}.calendar-day span{color:#65718a;font-size:12px;font-weight:1000}.calendar-day i{color:#f45c93;font-style:normal;position:absolute;top:7px;right:8px}.calendar-day.today{border-color:#243047;box-shadow:0 5px #2430471f}.calendar-day.selected{color:#fff;background:#243047}.calendar-day.selected span{color:#fff}.calendar-day.empty{opacity:0;pointer-events:none}.day-detail h3{margin:8px 0;font-family:"Baloo 2";font-size:26px}.day-list,.event-list{margin:0 0 18px;padding:0;list-style:none}.day-list li{border-bottom:2px dashed #24304721;grid-template-columns:42px 1fr;align-items:center;gap:10px;padding:10px 0;display:grid}.day-list span{background:color-mix(in srgb,var(--kid),white 52%);border:2px solid #243047;border-radius:14px;place-items:center;width:38px;height:38px;display:grid}.day-list b,.day-list small{display:block}.day-list small{color:#66728b;font-weight:900}.event-list li{background:#fff;border:2px solid #2430471f;border-radius:14px;margin-bottom:8px;padding:10px 12px;font-weight:900}@keyframes pop-in{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:none}}@media (min-width:901px){.dashboard-main{grid-auto-rows:1fr}.dashboard-main>.panel:not(.overview-list),.two-col>.panel,.calendar-layout>.panel{min-height:100%}.topbar nav{flex-wrap:nowrap}.panel{min-height:0}}@media (max-width:900px){.hero,.dashboard-main,.two-col,.calendar-layout{grid-template-columns:1fr}.score-blimps{grid-template-columns:repeat(3,1fr)}.reward-row{grid-template-columns:1fr}.topbar{grid-template-columns:1fr;gap:10px;display:grid;position:sticky;top:8px}.topbar nav{grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;width:100%;display:grid}.topbar nav a{text-align:center;text-overflow:ellipsis;padding:9px 6px;font-size:13px;overflow:hidden}.section-title{flex-direction:column;align-items:start}.mini-form{grid-template-columns:54px 1fr}.mini-form button{grid-column:1/-1}.overview-list{grid-column:auto}.calendar-day{min-height:72px}}@media (max-width:560px){.app-shell{width:min(100% - 18px,1220px);padding-top:8px}.topbar{border-radius:22px;padding:10px}.brand{font-size:26px}.brand img{width:42px;height:42px}.topbar nav{background:#fff;border:2px solid #2430471f;border-radius:18px;grid-template-columns:repeat(5,1fr);padding:5px}.topbar nav a{padding:10px 0;font-size:0}.topbar nav a:before{font-size:18px}.topbar nav a:first-child:before{content:"🏠"}.topbar nav a:nth-child(2):before{content:"✅"}.topbar nav a:nth-child(3):before{content:"🎁"}.topbar nav a:nth-child(4):before{content:"📅"}.topbar nav a:nth-child(5):before{content:"👨‍👩‍👧‍👦"}.hero,.page-head{border-radius:26px;padding:22px}.score-blimps div{aspect-ratio:auto;border-radius:20px}.chart-row{grid-template-columns:1fr 44px}.chart-row span{grid-column:1/-1}.leader-row{grid-template-columns:36px 36px 1fr}.leader-row em{grid-column:3}.mini-form,.edit-line,.kid-editor label{grid-template-columns:44px 1fr}.edit-line input[type=number],.kid-editor input[type=number]{grid-column:2}.weekdays,.month-grid{gap:5px}.calendar-day{border-radius:13px;min-height:58px;padding:7px}.calendar-day b{font-size:20px}.calendar-day span{font-size:10px}.calendar-head{flex-direction:column;align-items:flex-start}}.single-col{grid-template-columns:1fr;gap:22px;display:grid}.single-col .panel{min-height:0}.family-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:22px;display:grid}.family-grid>.panel{height:100%}.check-progress{border:3px solid var(--ink);background:linear-gradient(135deg,#fffffff0,#fff8dfdb);border-radius:20px;align-items:center;gap:14px;margin:18px 0 8px;padding:12px 14px;display:flex;box-shadow:0 8px #24304714}.check-progress>div{border:2px solid var(--ink);background:#fff;border-radius:999px;flex:1;height:18px;overflow:hidden}.check-progress i{height:100%;width:var(--pct);background:linear-gradient(90deg,var(--mint),var(--blue),var(--sun));border-radius:999px;transition:width .45s cubic-bezier(.2,.9,.2,1);display:block}.check-progress strong{white-space:nowrap;font-family:"Baloo 2";font-size:18px}.plain-checklist li.celebrate{animation:.7s cubic-bezier(.2,1.4,.25,1) check-pop;position:relative}.plain-checklist li.celebrate:after{content:"✨ 🎉 ⭐";pointer-events:none;font-size:26px;animation:.8s ease-out forwards confetti-burst;position:absolute;top:50%;right:18px}.plain-checklist li.celebrate .box{animation:.6s ease-out box-spark}@keyframes check-pop{0%{transform:scale(1)}38%{transform:scale(1.025)rotate(-.4deg)}to{transform:scale(1)}}@keyframes confetti-burst{0%{opacity:0;transform:translateY(6px)scale(.7)rotate(0)}35%{opacity:1}to{opacity:0;transform:translateY(-38px)scale(1.25)rotate(12deg)}}@keyframes box-spark{0%{box-shadow:0 0 #ffd94af2}to{box-shadow:0 0 0 16px #ffd94a00}}.with-delete,.event-edit{grid-template-columns:54px 1fr 96px 42px;align-items:center;gap:8px;display:grid}.event-edit{grid-template-columns:54px 1fr 1.4fr 42px;margin-top:8px}.delete-btn{border:3px solid var(--ink);color:#c91f50;background:#fff0f4;border-radius:14px;place-items:center;min-height:42px;font-size:24px;font-weight:1000;line-height:1;display:grid;box-shadow:0 5px #2430471c}.delete-btn:hover{background:#ffd8e5;transform:translateY(1px);box-shadow:0 3px #2430471f}.event-form{grid-template-columns:54px 1fr 1.15fr auto;gap:8px;margin:8px 0 14px;display:grid}.event-form input,.event-edit input{border:3px solid var(--ink);width:100%;color:var(--ink);background:#fff;border-radius:16px;padding:10px 12px;font-weight:800}.event-form button{border:3px solid var(--ink);background:var(--sun);border-radius:16px;padding:10px 16px;font-weight:1000;box-shadow:0 5px #2430471f}.empty-note{color:#243047ad;background:#ffffff8c;border:2px dashed #24304740;border-radius:16px;padding:14px;font-weight:800}.topbar nav a span{display:none}.topbar nav a b{font:inherit}@media (max-width:860px){.family-grid{grid-template-columns:1fr}.event-form,.event-edit{grid-template-columns:48px 1fr}.event-form input[name=note],.event-edit input[data-field=note],.event-form button{grid-column:1/span 2}.with-delete{grid-template-columns:48px 1fr 82px 40px}}@media (max-width:700px){body{padding-bottom:94px}.app-shell{width:min(100% - 22px,1220px);padding-top:14px;padding-bottom:28px}.topbar{border-radius:24px;margin-bottom:14px;padding:10px 12px;position:static}.topbar .brand{font-size:25px}.topbar .brand img{border-radius:13px;width:38px;height:38px}.topbar nav{z-index:40;border:3px solid var(--ink);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffeb;border-radius:26px;grid-template-columns:repeat(5,1fr);gap:6px;padding:8px;display:grid;position:fixed;bottom:12px;left:12px;right:12px;box-shadow:0 14px 38px #2430473d,0 8px #2430471f}.topbar nav a{background:0 0;border:0;border-radius:19px;flex-direction:column;justify-content:center;align-items:center;gap:1px;min-height:58px;padding:6px 2px;font-size:10px;line-height:1.05;display:flex}.topbar nav a span{font-size:21px;line-height:1;display:block}.topbar nav a b{font-size:10px;font-weight:1000}.topbar nav a.active{color:#fff;background:#243047;transform:translateY(-4px);box-shadow:0 7px #24304729}.check-progress{flex-direction:column;align-items:stretch}.section-title{gap:8px}.event-form,.event-edit,.with-delete{grid-template-columns:44px 1fr 40px}.with-delete input[data-field=points],.event-edit input[data-field=note]{grid-column:1/span 2}.event-form{grid-template-columns:44px 1fr}.event-form input[name=note],.event-form button{grid-column:1/span 2}.event-edit .delete-btn,.with-delete .delete-btn{grid-area:1/3/span 2;height:100%}}.manage-list{gap:10px;margin-top:14px;display:grid}.manage-row{background:#ffffff9e;border:2px solid #24304724;border-radius:18px;grid-template-columns:48px 1fr auto auto;align-items:center;gap:10px;padding:10px;display:grid}.manage-row>span{border:3px solid var(--ink);background:var(--kid,var(--sun));border-radius:15px;place-items:center;width:42px;height:42px;font-size:22px;display:grid}.manage-row b{display:block}.manage-row small{color:#243047a8;font-weight:900}.manage-row button,.big-action,.small-action{border:3px solid var(--ink);background:var(--sun);color:var(--ink);border-radius:16px;padding:9px 13px;font-weight:1000;box-shadow:0 5px #2430471f}.small-action{background:var(--mint);padding:7px 11px}.big-action{background:linear-gradient(135deg,var(--sun),#fff1a6);width:100%}.subhead-row{justify-content:space-between;align-items:center;gap:10px;margin-top:8px;display:flex}.modal-backdrop{z-index:1000;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#2430475c;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal-card{border:4px solid var(--ink);background:linear-gradient(145deg,#fff,#fff8df);border-radius:32px;width:min(560px,100%);max-height:min(90vh,760px);padding:24px;position:relative;overflow:auto;box-shadow:0 28px #2430472e,0 24px 70px #24304740}.modal-card h2{margin:0 0 16px;font-family:"Baloo 2";font-size:36px;line-height:1}.modal-x{border:3px solid var(--ink);color:#c91f50;background:#fff0f4;border-radius:15px;width:42px;height:42px;font-size:26px;font-weight:1000;position:absolute;top:14px;right:16px}.modal-form{gap:14px;display:grid}.modal-form label{text-transform:uppercase;letter-spacing:.06em;gap:6px;font-size:12px;font-weight:1000;display:grid}.modal-form input,.modal-form textarea{border:3px solid var(--ink);width:100%;color:var(--ink);text-transform:none;letter-spacing:0;background:#fff;border-radius:17px;padding:12px 13px;font-weight:900}.modal-form textarea{resize:vertical;min-height:90px}.picker-grid{grid-template-columns:repeat(6,1fr);gap:8px;display:grid}.picker-grid button{border:3px solid var(--ink);background:#fff;border-radius:17px;height:48px;font-size:24px;box-shadow:0 4px #2430471a}.picker-grid button.selected{background:var(--sun);outline:4px solid #41c8ff61;transform:translateY(2px);box-shadow:0 2px #2430471f}.color-picker button{background:var(--swatch);font-size:0}.modal-actions{justify-content:flex-end;gap:10px;margin-top:6px;display:flex}.modal-actions button{border:3px solid var(--ink);background:#fff;border-radius:17px;padding:11px 16px;font-weight:1000}.modal-actions button:last-child{background:var(--mint)}.checklist-right label{grid-template-columns:1fr auto!important;align-items:center!important;gap:14px!important;display:grid!important}.checklist-right input[type=checkbox]{opacity:0;pointer-events:none;grid-area:1/2;position:absolute}.checklist-right .box{grid-area:1/2;margin-left:auto}.checklist-right .chore-text{text-align:left;grid-area:1/1}.checklist-right li label:has(input:focus-visible) .box{outline-offset:3px;outline:4px solid #41c8ff8c}@media (max-width:700px){html body{padding-bottom:calc(112px + env(safe-area-inset-bottom,0px))!important}.app-shell{padding-bottom:24px!important}.topbar{z-index:20!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;position:static!important;top:auto!important;overflow:visible!important}.topbar nav.mobile-tray{top:auto!important;left:10px!important;right:10px!important;bottom:calc(10px + env(safe-area-inset-bottom,0px))!important;z-index:999!important;box-sizing:border-box!important;border:3px solid var(--ink)!important;-webkit-backdrop-filter:blur(18px)!important;backdrop-filter:blur(18px)!important;background:#fffffff0!important;border-radius:26px!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:6px!important;width:auto!important;min-width:0!important;max-width:none!important;margin:0!important;padding:8px!important;display:grid!important;position:fixed!important;overflow:visible!important;transform:none!important;box-shadow:0 16px 42px #24304747,0 8px #24304724!important}.topbar nav.mobile-tray a{white-space:normal!important;background:0 0!important;border-radius:19px!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;gap:1px!important;min-width:0!important;min-height:58px!important;padding:6px 2px!important;font-size:10px!important;display:flex!important}.topbar nav.mobile-tray a:before{content:none!important;display:none!important}.topbar nav.mobile-tray a span{font-size:21px!important;line-height:1!important;display:block!important}.topbar nav.mobile-tray a b{text-overflow:ellipsis;max-width:100%;overflow:hidden;font-size:10px!important;line-height:1.05!important;display:block!important}.topbar nav.mobile-tray a.active{color:#fff!important;background:#243047!important;transform:translateY(-4px)!important}.modal-card{border-radius:28px;padding:20px}.modal-card h2{font-size:30px}.picker-grid{grid-template-columns:repeat(4,1fr)}.manage-row{grid-template-columns:44px 1fr auto;gap:8px}.manage-row .delete-btn{grid-column:3}.manage-row button:not(.delete-btn){grid-area:1/3}.manage-row .delete-btn{grid-row:2}.subhead-row{flex-direction:column;align-items:flex-start}.checklist-right label{grid-template-columns:1fr 42px!important}}.dashboard-hero{box-shadow:none;background:0 0;border:0;border-radius:0;align-items:center;padding:8px 4px 2px;animation:none;overflow:visible}.dashboard-hero:after{content:none}.dashboard-hero h1{margin-bottom:8px;font-size:clamp(34px,4.4vw,58px);line-height:.96}.dashboard-hero p:last-child{color:#5f6b84;max-width:540px;font-weight:900}.dashboard-hero .score-blimps{justify-self:end}.bar i,.check-progress i{width:var(--pct)}.chart-row.meter-change .bar i,.check-progress.meter-change i{animation:.58s cubic-bezier(.17,.84,.28,1) both meter-fill}.chart-row.meter-grow .bar i,.check-progress.meter-grow i{filter:saturate(1.12)brightness(1.04)}.chart-row.meter-shrink .bar i,.check-progress.meter-shrink i{filter:saturate(.9)brightness(.98)}.points-change{animation:.48s cubic-bezier(.18,1.35,.35,1) points-pop}.points-up em{background:#dcffef}.points-down em{background:#fff0c8}@keyframes meter-fill{0%{width:var(--from-pct)}to{width:var(--pct)}}@keyframes points-pop{0%{filter:brightness();outline:0 solid #ffd94a00}42%{filter:brightness(1.07);outline:7px solid #ffd94a57}to{filter:brightness();outline:0 solid #ffd94a00}}@media (max-width:900px){.dashboard-hero{grid-template-columns:1fr;gap:16px}.dashboard-hero .score-blimps{justify-self:stretch}}@media (max-width:560px){.dashboard-hero{padding:2px 2px 0}.dashboard-hero h1{font-size:clamp(32px,10vw,42px)}}.auth-screen{place-items:center;min-height:100vh;padding:28px 16px;display:grid}.auth-card{border:4px solid var(--ink);text-align:left;background:linear-gradient(145deg,#fffffff0,#fff8dfe0);border-radius:34px;width:min(520px,100%);padding:30px;box-shadow:0 24px #24304724,0 26px 70px #24304738}.auth-card img{object-fit:contain;filter:drop-shadow(0 6px #2430471f);border-radius:22px;width:74px;height:74px;margin-bottom:12px}.auth-card h1{margin-bottom:18px;font-size:clamp(34px,7vw,56px);line-height:.92}.auth-form{gap:14px;display:grid}.auth-form label{letter-spacing:.08em;text-transform:uppercase;color:#64708b;gap:7px;font-size:12px;font-weight:1000;display:grid}.auth-form input{border:3px solid var(--ink);width:100%;color:var(--ink);letter-spacing:0;text-transform:none;background:#fff;border-radius:18px;padding:13px 14px;font-weight:1000}.auth-actions{flex-wrap:wrap;gap:10px;display:flex}.auth-actions button,.logout-btn{border:3px solid var(--ink);background:var(--mint);color:var(--ink);border-radius:17px;padding:11px 16px;font-weight:1000;box-shadow:0 6px #2430471f}.auth-actions button[disabled]{opacity:.52;cursor:not-allowed;background:#fff}.auth-form small{color:#69758c;font-weight:900}.form-error{color:#b01f4d;background:#fff0f4;border:2px solid #c91f50;border-radius:15px;margin:0;padding:10px 12px;font-weight:1000}.auth-spinner{border:6px solid #2430471f;border-top-color:var(--pink);border-radius:999px;width:54px;height:54px;animation:.7s linear infinite auth-spin}.logout-btn{background:#fff;flex:none;padding:9px 13px}.pin-panel{width:100%;max-width:620px;margin:0 auto}.pin-form{max-width:420px}.calendar-layout{grid-template-columns:1fr}.calendar-card{width:100%}.calendar-day{min-height:104px}.day-detail{grid-template-columns:1fr;gap:8px;display:grid}.day-detail .panel-title{margin-bottom:6px}.calendar-detail-grid{grid-template-columns:1fr 1fr;gap:22px;display:grid}.calendar-detail-grid section{min-width:0}.calendar-detail-grid h3{margin-top:0}@keyframes auth-spin{to{transform:rotate(360deg)}}@media (max-width:900px){.calendar-detail-grid{grid-template-columns:1fr}.calendar-day{min-height:78px}.logout-btn{width:100%}}@media (max-width:700px){.auth-card{border-radius:28px;padding:24px}.auth-actions{grid-template-columns:1fr;display:grid}.auth-actions button{width:100%}}.section-actions{justify-items:end;gap:12px;display:grid}.section-actions p{color:#66728b;text-align:right;max-width:360px;margin:0;font-weight:900}.family-action-row{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.family-action-row button{text-align:center;justify-content:center;align-items:center}.family-lock-action{color:#c91f50!important;background:#fff0f4!important}.family-logout-action{background:#fff!important;display:none!important}@media (max-width:900px){.topbar>.logout-btn{display:none}.section-actions{justify-items:stretch}.section-actions p{text-align:left}.family-action-row{justify-content:stretch;width:100%}.family-action-row button{flex:1 1 0;min-width:0}.family-logout-action{display:inline-flex!important}}@media (max-width:560px){.family-action-row{grid-template-columns:1fr;width:100%;display:grid}.family-action-row button{width:100%;min-height:48px}}
