@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@500;600;700;800&family=Inter:wght@400;450;500;600&display=swap";
:root{--bg:#f6f8fc;--card:#fff;--navy:#0c1e3a;--navy-2:#15315c;--blue:#2563eb;--blue-600:#1d4ed8;--blue-50:#eff4ff;--blue-100:#dce7ff;--orange:#f97316;--orange-600:#ea6a0c;--orange-50:#fff4ea;--teal:#0d9488;--violet:#7c3aed;--ink:#0e1726;--muted:#64748b;--muted-2:#94a3b8;--line:#e6ebf2;--line-2:#eef2f8;--input-bg:#fff;--teal-50:#e9f7f4;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--d:"Plus Jakarta Sans", sans-serif;--u:"Inter", system-ui, sans-serif;--shadow:0 1px 2px #0c1e3a0a, 0 4px 16px #0c1e3a0d;--shadow-lg:0 8px 30px #0c1e3a1a}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--ink);font-family:var(--u);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.5}.app{min-height:100vh;display:flex}h1,h2,h3,h4{font-family:var(--d);margin:0}a{color:inherit}.rail{color:#c8d4e6;background:linear-gradient(#0c1e3a,#112a4e);flex-direction:column;flex:0 0 244px;width:244px;height:100vh;display:flex;position:sticky;top:0}.logo{align-items:center;gap:11px;padding:22px 20px 20px;display:flex}.logo .tile{background:linear-gradient(135deg,#2563eb,#1d4ed8);border-radius:11px;justify-content:center;align-items:center;width:38px;height:38px;display:flex;box-shadow:0 4px 12px #2563eb66}.logo .tile svg{width:22px;height:22px}.logo .name{font-family:var(--d);color:#fff;letter-spacing:-.4px;font-size:20px;font-weight:800}.logo .name span{color:var(--orange)}nav{flex:1;padding:8px 12px}.nav-eyebrow{font-family:var(--u);letter-spacing:1.2px;text-transform:uppercase;color:#5c759a;padding:16px 12px 7px;font-size:10.5px;font-weight:600}.nav-btn{cursor:pointer;color:#afc0d8;width:100%;font-family:var(--u);text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:12px;padding:10px 12px;font-size:14px;font-weight:500;text-decoration:none;transition:background .15s,color .15s;display:flex;position:relative}.nav-btn svg{stroke-width:1.9px;flex:none;width:19px;height:19px}.nav-btn:hover{color:#fff;background:#ffffff0f}.nav-btn.active{color:#fff;background:#ffffff1a}.nav-btn.active:before{content:"";background:var(--orange);border-radius:0 3px 3px 0;width:3px;position:absolute;top:9px;bottom:9px;left:-12px}.acct{border-top:1px solid #ffffff14;align-items:center;gap:11px;padding:14px 16px;display:flex}.acct .avis{display:flex}.acct .avi{width:28px;height:28px;font-family:var(--u);color:#fff;border:2px solid #102746;border-radius:50%;justify-content:center;align-items:center;margin-left:-8px;font-size:10.5px;font-weight:600;display:flex}.acct .avi:first-child{margin-left:0}.acct .lbl{color:#8fa2be;font-size:12px}main{flex:1;min-width:0}.wrap{max-width:1040px;margin:0 auto;padding:34px 40px 90px}.view{animation:.35s rise}@keyframes rise{0%{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}.ph{margin-bottom:26px}.eyebrow{font-family:var(--u);letter-spacing:.4px;color:var(--orange);text-transform:uppercase;font-size:12px;font-weight:600}h1.page{letter-spacing:-.8px;margin:5px 0 4px;font-size:32px;font-weight:800}.lede{color:var(--muted);max-width:62ch;margin:0;font-size:16px}.card{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px}.pad{padding:22px 24px}.sect-label{font-family:var(--u);letter-spacing:.8px;text-transform:uppercase;color:var(--muted-2);align-items:center;gap:8px;margin:0 0 14px;font-size:11px;font-weight:600;display:flex}.sect-label svg{width:15px;height:15px;color:var(--blue);stroke-width:2px}.btn{font-family:var(--u);cursor:pointer;border:1px solid var(--blue);background:var(--blue);color:#fff;border-radius:10px;align-items:center;gap:7px;padding:10px 16px;font-size:14px;font-weight:600;transition:all .15s;display:inline-flex}.btn:hover{background:var(--blue-600);border-color:var(--blue-600)}.btn svg{stroke-width:2px;width:16px;height:16px}.btn.ghost{background:var(--card);color:var(--ink);border-color:var(--line)}.btn.ghost:hover{background:var(--bg)}.btn.orange{background:var(--orange);border-color:var(--orange)}.btn.orange:hover{background:var(--orange-600);border-color:var(--orange-600)}.btn:disabled{opacity:.55;cursor:default}.hello{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:22px;display:flex}.hello .g{font-family:var(--d);letter-spacing:-.6px;font-size:26px;font-weight:800}.hello .d{color:var(--muted);margin-top:2px;font-size:14px}.stat-row{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:18px;display:grid}.stat{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;padding:16px 18px}.stat .ic{border-radius:9px;justify-content:center;align-items:center;width:34px;height:34px;margin-bottom:10px;display:flex}.stat .ic svg{stroke-width:2px;width:18px;height:18px}.stat .n{font-family:var(--d);letter-spacing:-.5px;font-size:26px;font-weight:800;line-height:1}.stat .l{color:var(--muted);margin-top:3px;font-size:13px}.two{grid-template-columns:1.35fr 1fr;gap:18px;display:grid}.block+.block{margin-top:18px}.timeline{margin:0;padding:0;list-style:none}.timeline li{border-bottom:1px solid var(--line-2);gap:14px;padding:11px 0;display:flex}.timeline li:last-child{border-bottom:0}.timeline .t{font-family:var(--u);color:var(--blue);flex:none;width:72px;padding-top:1px;font-size:12.5px;font-weight:600}.timeline .e{font-size:15px;font-weight:500}.timeline .w{color:var(--muted);font-size:13px}.att{border-bottom:1px solid var(--line-2);align-items:flex-start;gap:11px;padding:11px 0;display:flex}.att:last-child{border-bottom:0}.att .dot{border-radius:50%;flex:none;width:8px;height:8px;margin-top:6px}.att .x b{font-weight:600}.att .x .s{color:var(--muted);font-size:13px}.badge{font-family:var(--u);letter-spacing:.4px;text-transform:uppercase;border-radius:20px;flex:none;margin-left:auto;padding:2px 8px;font-size:10.5px;font-weight:600}.badge.urgent{background:var(--orange-50);color:var(--orange-600)}.badge.soon{background:var(--blue-50);color:var(--blue-600)}.summers{justify-content:space-between;gap:8px;display:flex}.sm{text-align:center;background:var(--orange-50);border:1px solid #fbe2cb;border-radius:12px;flex:1;padding:12px 6px}.sm .n{font-family:var(--d);color:var(--orange-600);font-size:24px;font-weight:800;line-height:1}.sm .nm{color:var(--muted);margin-top:3px;font-size:11.5px;font-weight:500}.spark{border:1px solid var(--line);color:var(--ink);background:linear-gradient(135deg,#eff4ff,#fff4ea);border-radius:12px;padding:15px 16px;font-size:14.5px}.spark .h{font-family:var(--u);letter-spacing:.6px;text-transform:uppercase;color:var(--blue);margin-bottom:6px;font-size:11px;font-weight:600}.chatwrap{border:1px solid var(--line);height:calc(100vh - 150px);max-height:680px;box-shadow:var(--shadow);background:var(--card);border-radius:16px;flex-direction:column;display:flex;overflow:hidden}.chathead{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:15px 20px;display:flex}.chathead .av{background:linear-gradient(135deg,#2563eb,#1d4ed8);border-radius:11px;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.chathead .av svg{color:#fff;stroke-width:2px;width:21px;height:21px}.chathead h3{font-size:16px;font-weight:700}.chathead p{font-family:var(--u);color:var(--muted);align-items:center;gap:6px;margin:0;font-size:12.5px;display:flex}.chathead .live{background:#22c55e;border-radius:50%;width:7px;height:7px;display:inline-block}.stream{background:var(--bg);flex:1;padding:22px;overflow:auto}.msg{max-width:76%;margin-bottom:14px}.msg .bubble{white-space:pre-wrap;border-radius:15px;padding:11px 15px;font-size:14.5px;line-height:1.55}.msg.bot .bubble{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-top-left-radius:4px}.msg.me{margin-left:auto}.msg.me .bubble{background:var(--blue);color:#fff;border-top-right-radius:4px}.msg .nm{font-family:var(--u);letter-spacing:.5px;text-transform:uppercase;color:var(--muted-2);margin-bottom:5px;font-size:10.5px;font-weight:600}.msg.me .nm{text-align:right}.typing{gap:5px;padding:5px 2px;display:flex}.typing span{background:var(--blue);opacity:.4;border-radius:50%;width:7px;height:7px;animation:1s infinite bob}.typing span:nth-child(2){animation-delay:.15s}.typing span:nth-child(3){animation-delay:.3s}@keyframes bob{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.quick{border-top:1px solid var(--line);background:var(--card);flex-wrap:wrap;gap:8px;padding:12px 20px;display:flex}.chip{font-family:var(--u);border:1px solid var(--line);background:var(--card);color:var(--blue-600);cursor:pointer;border-radius:20px;padding:7px 13px;font-size:13px;font-weight:500;transition:all .15s}.chip:hover{background:var(--blue-50);border-color:var(--blue-100)}.composer{background:var(--card);border-top:1px solid var(--line);gap:10px;padding:14px 18px;display:flex}.composer textarea{resize:none;font-family:var(--u);border:1px solid var(--line);background:var(--input-bg);color:var(--ink);border-radius:12px;flex:1;height:44px;padding:11px 14px;font-size:14.5px;line-height:1.3}.composer textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-50);outline:none}.send{background:var(--blue);color:#fff;cursor:pointer;border:0;border-radius:12px;flex:none;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.send:hover{background:var(--blue-600)}.send svg{stroke-width:2.2px;width:18px;height:18px}.grid{gap:16px;display:grid}.g4{grid-template-columns:repeat(4,1fr)}.g2{grid-template-columns:repeat(2,1fr)}.kid{background:var(--card);border:1px solid var(--line);text-align:center;box-shadow:var(--shadow);border-radius:16px;padding:20px}.kid .ring{width:54px;height:54px;font-family:var(--u);color:#fff;border-radius:50%;justify-content:center;align-items:center;margin:0 auto 12px;font-size:18px;font-weight:600;display:flex}.kid .big{font-family:var(--d);color:var(--orange-600);letter-spacing:-1px;font-size:38px;font-weight:800;line-height:.9}.kid .unit{font-family:var(--u);letter-spacing:.8px;text-transform:uppercase;color:var(--muted-2);margin:3px 0 11px;font-size:10.5px;font-weight:600}.kid .nm{font-family:var(--d);font-size:18px;font-weight:700}.kid .meta{color:var(--muted);font-size:13px}.meter{background:var(--line-2);border-radius:6px;height:6px;margin-top:13px;overflow:hidden}.meter i{background:linear-gradient(90deg,#fb923c,#f97316);border-radius:6px;height:100%;display:block}.appt{border:1px solid var(--line);background:var(--card);box-shadow:var(--shadow);border-radius:14px;align-items:center;gap:15px;margin-bottom:12px;padding:15px 18px;display:flex}.appt .cal{text-align:center;border:1px solid var(--line);border-radius:11px;flex:none;width:52px;overflow:hidden}.appt .cal .mo{background:var(--blue);color:#fff;font-family:var(--u);letter-spacing:.6px;text-transform:uppercase;padding:3px 0;font-size:10px;font-weight:600}.appt .cal .dy{font-family:var(--d);color:var(--ink);padding:5px 0;font-size:20px;font-weight:700}.appt .info{flex:1}.appt .info b{font-size:15.5px;font-weight:600}.appt .info .sub{font-family:var(--u);color:var(--muted);font-size:13px}.appt .tag{font-family:var(--u);color:var(--blue-600);background:var(--blue-50);border-radius:20px;padding:5px 11px;font-size:12px;font-weight:500}.mem{break-inside:avoid;background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;margin-bottom:16px;padding:17px 19px}.mem .when{font-family:var(--u);letter-spacing:.5px;text-transform:uppercase;color:var(--orange);margin-bottom:7px;font-size:11px;font-weight:600}.mem .body{color:var(--ink);font-size:15.5px}.mem .by{font-family:var(--u);color:var(--muted);margin-top:9px;font-size:12.5px}.masonry{column-count:2;column-gap:16px}.field{flex-wrap:wrap;gap:10px;margin-top:0;display:flex}.field input{font-family:var(--u);border:1px solid var(--line);background:var(--input-bg);color:var(--ink);border-radius:10px;padding:10px 13px;font-size:14px}.field input:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-50);outline:none}.school-card{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;padding:20px 22px}.school-card .top{align-items:center;gap:13px;margin-bottom:14px;display:flex}.school-card .ring{color:#fff;width:44px;height:44px;font-family:var(--u);border-radius:12px;justify-content:center;align-items:center;font-size:15px;font-weight:600;display:flex}.school-card .nm{font-family:var(--d);font-size:18px;font-weight:700;line-height:1.1}.school-card .gr{font-family:var(--u);color:var(--muted);font-size:13px}.row{border-bottom:1px solid var(--line-2);justify-content:space-between;gap:14px;padding:9px 0;font-size:14.5px;display:flex}.row:last-child{border-bottom:0}.row .k{color:var(--muted);font-size:13.5px}.roadmap{flex-wrap:wrap;gap:10px;display:flex}.rb{text-align:center;border:1px solid var(--line);border-radius:12px;flex:1;min-width:120px;padding:13px}.rb .n{font-family:var(--u);letter-spacing:.5px;text-transform:uppercase;color:var(--orange);font-size:11px;font-weight:600}.rb .d{font-family:var(--d);color:var(--ink);margin-top:4px;font-size:16px;font-weight:700}.goal{border:1px solid var(--line);background:var(--card);box-shadow:var(--shadow);border-radius:13px;align-items:center;gap:13px;margin-bottom:12px;padding:14px 18px;display:flex}.goal .dot{border-radius:50%;flex:none;width:11px;height:11px}.goal b{font-size:15px;font-weight:600}.seg{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:11px;gap:4px;margin-bottom:22px;padding:4px;display:inline-flex}.seg button{font-family:var(--u);color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:8px 16px;font-size:13.5px;font-weight:500}.seg button.on{background:var(--blue);color:#fff}.balRow{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px;display:grid}.balcard{background:var(--card);border:1px solid var(--line);text-align:center;box-shadow:var(--shadow);border-radius:16px;padding:15px}.balcard .av{color:#fff;width:40px;height:40px;font-family:var(--u);border-radius:12px;justify-content:center;align-items:center;margin:0 auto 8px;font-size:15px;font-weight:600;display:flex}.balcard .nm{font-family:var(--d);font-size:15px;font-weight:700}.starbal{font-family:var(--d);color:var(--orange-600);justify-content:center;align-items:center;gap:5px;margin-top:5px;font-size:22px;font-weight:800;display:flex}.starbal svg{width:18px;height:18px;color:var(--orange)}.chore-cols{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.cc{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;padding:18px 20px}.cc .h{align-items:center;gap:11px;margin-bottom:8px;display:flex}.cc .h .av{color:#fff;width:34px;height:34px;font-size:13px;font-weight:600;font-family:var(--u);border-radius:10px;justify-content:center;align-items:center;display:flex}.cc .h .nm{font-family:var(--d);font-size:17px;font-weight:700}.cc .h .ct{font-family:var(--d);color:var(--orange-600);align-items:center;gap:4px;margin-left:auto;font-size:16px;font-weight:800;display:flex}.cc .h .ct svg{width:15px;height:15px;color:var(--orange)}.chore{border-bottom:1px solid var(--line-2);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:13px;padding:12px 0;display:flex}.chore:last-child{border-bottom:0}.chore .box{border:2px solid var(--line);border-radius:8px;flex:none;justify-content:center;align-items:center;width:26px;height:26px;transition:all .15s;display:flex}.chore .box svg{color:#fff;opacity:0;width:15px;height:15px;transition:all .15s}.chore.done .box{background:var(--teal);border-color:var(--teal)}.chore.done .box svg{opacity:1}.chore .nm{flex:1;font-size:15.5px}.chore.done .nm{color:var(--muted-2);text-decoration:line-through}.chore .pts{font-family:var(--u);color:var(--orange-600);background:var(--orange-50);border-radius:20px;padding:4px 10px;font-size:12.5px;font-weight:600}.reward-shelf{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.rw{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);text-align:center;border-radius:14px;padding:16px}.rw .ic{margin-bottom:7px;font-size:28px;line-height:1}.rw .nm{font-family:var(--d);font-size:15px;font-weight:700}.rw .cost{font-family:var(--u);color:var(--orange-600);justify-content:center;align-items:center;gap:4px;margin:5px 0 13px;font-size:13px;font-weight:600;display:flex}.rw .cost svg{width:14px;height:14px;color:var(--orange)}.rw .who{justify-content:center;gap:7px;display:flex}.rw .who button{color:#fff;width:31px;height:31px;font-family:var(--u);cursor:pointer;opacity:.4;border:0;border-radius:50%;font-size:11px;font-weight:600;transition:all .15s}.rw .who button.can{opacity:1}.rw .who button.can:hover{transform:scale(1.1);box-shadow:0 3px 9px #00000038}.toast{background:var(--ink);color:var(--bg);font-family:var(--u);opacity:0;pointer-events:none;z-index:100;box-shadow:var(--shadow-lg);text-align:center;border-radius:12px;max-width:90%;padding:12px 20px;font-size:14px;font-weight:500;transition:all .25s;position:fixed;bottom:26px;left:50%;transform:translate(-50%)translateY(18px)}.toast.show{opacity:1;transform:translate(-50%)translateY(0)}.lockbtn{color:#cfd9e8;font-family:var(--u);cursor:pointer;background:#ffffff14;border:1px solid #ffffff24;border-radius:10px;justify-content:center;align-items:center;gap:7px;margin:10px 12px 14px;padding:10px;font-size:13px;font-weight:600;display:flex}.lockbtn:hover{background:#ffffff26}.lockbtn.unlocked{background:var(--orange);border-color:var(--orange);color:#fff}body.locked .field,body.locked .reset-week,body.locked .reward-shelf .who,body.locked .chore-cols .chore,body.locked .composer{opacity:.5;pointer-events:none}.kid-overlay{z-index:200;background:linear-gradient(160deg,#eaf1ff,#fff3e6);flex-direction:column;display:flex;position:fixed;inset:0}.kid-top{justify-content:space-between;align-items:center;gap:14px;padding:24px 28px 8px;display:flex}.kid-hi{font-family:var(--d);letter-spacing:-1px;color:#0e1726;align-items:center;gap:14px;font-size:clamp(28px,5vw,46px);font-weight:800;display:flex}.kid-hi .face{color:#fff;width:clamp(48px,8vw,66px);height:clamp(48px,8vw,66px);font-family:var(--u);border-radius:18px;justify-content:center;align-items:center;font-size:clamp(18px,3vw,26px);font-weight:700;display:flex}.kid-streak{border:2px solid var(--orange);font-family:var(--d);color:#ea6a0c;white-space:nowrap;background:#fff;border-radius:50px;align-items:center;gap:6px;padding:9px 18px;font-size:clamp(16px,2.6vw,22px);font-weight:800;display:inline-flex}.kid-exit{color:#64748b;cursor:pointer;z-index:3;background:#0e172614;border:0;border-radius:50%;width:34px;height:34px;font-size:15px;position:absolute;top:16px;right:18px}.kid-prog{font-family:var(--u);color:#64748b;padding:2px 28px 0;font-size:clamp(14px,2vw,17px);font-weight:500}.kid-bar{background:#0e172612;border-radius:10px;height:14px;margin:9px 0 2px;overflow:hidden}.kid-bar i{background:linear-gradient(90deg,#fbbf24,#f97316);border-radius:10px;width:0;height:100%;transition:width .5s;display:block}.kid-grid{flex:1;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));align-content:start;gap:18px;padding:18px 28px 30px;display:grid;overflow-y:auto}.kid-task{cursor:pointer;-webkit-tap-highlight-color:transparent;background:#fff;border:4px solid #e7edf7;border-radius:28px;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:26px 14px;transition:transform .12s,border-color .2s,background .2s;display:flex;position:relative;box-shadow:0 6px 16px #14285014}.kid-task:active{transform:scale(.94)}.kid-task .art{filter:drop-shadow(0 3px 4px #0000001f);font-size:clamp(50px,9vw,78px);line-height:1}.kid-task .word{font-family:var(--d);color:#0e1726;text-align:center;font-size:clamp(17px,2.6vw,22px);font-weight:800;line-height:1.1}.kid-task .tick{background:var(--teal);opacity:0;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;transition:all .25s;display:flex;position:absolute;top:10px;right:10px;transform:scale(.4)}.kid-task .tick svg{color:#fff;width:21px;height:21px}.kid-task.done{border-color:var(--teal);background:#eafbf6}.kid-task.done .art{opacity:.85}.kid-task.done .word{color:#0b7a6e}.kid-task.done .tick{opacity:1;transform:scale(1)}.celebrate{z-index:300;pointer-events:none;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.celebrate .scrim{background:radial-gradient(circle,#2563eb73,#f9731666);animation:.2s fadeIn;position:absolute;inset:0}.celebrate .msg{z-index:2;font-family:var(--d);color:#fff;text-shadow:0 4px 18px #00000059;text-align:center;font-size:clamp(34px,8vw,70px);font-weight:800;animation:.5s cubic-bezier(.2,1.4,.4,1) pop;position:relative}@keyframes pop{0%{opacity:0;transform:scale(.3)}60%{transform:scale(1.12)}to{opacity:1;transform:scale(1)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.celebrate-spark{will-change:transform,opacity;border-radius:3px;width:14px;height:14px;position:absolute}@keyframes shoot{0%{opacity:1;transform:translate(0)rotate(0)}to{transform:translate(var(--dx),var(--dy)) rotate(var(--rot));opacity:0}}.launch-kid{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.lk{background:var(--card);border:1px solid var(--line);text-align:center;cursor:pointer;box-shadow:var(--shadow);border-radius:16px;padding:18px 12px;transition:all .15s}.lk:hover{border-color:var(--blue);transform:translateY(-3px)}.lk .av{color:#fff;width:52px;height:52px;font-family:var(--u);border-radius:16px;justify-content:center;align-items:center;margin:0 auto 10px;font-size:19px;font-weight:700;display:flex}.lk .nm{font-family:var(--d);font-size:16px;font-weight:700}.lk .sm{font-family:var(--u);color:var(--muted);margin-top:2px;font-size:12px}.prog{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:14px;margin-bottom:12px;padding:15px 18px}.prog .ph{align-items:center;gap:11px;margin-bottom:9px;display:flex}.prog .av{color:#fff;width:32px;height:32px;font-size:12px;font-weight:600;font-family:var(--u);border-radius:9px;justify-content:center;align-items:center;display:flex}.prog .nm{font-family:var(--d);font-size:15px;font-weight:700}.prog .rate{font-family:var(--d);color:var(--teal);margin-left:auto;font-size:15px;font-weight:800}.prog .done-list{font-family:var(--u);color:var(--muted);font-size:13px;line-height:1.7}.prog .done-list .when{color:var(--teal);font-weight:600}.pin-modal{z-index:400;background:#0c14238c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.pincard{background:var(--card);border:1px solid var(--line);width:300px;max-width:100%;box-shadow:var(--shadow-lg);text-align:center;border-radius:20px;padding:26px 24px 20px}.pincard h3{font-family:var(--d);margin-bottom:3px;font-size:20px;font-weight:800}.pincard p{color:var(--muted);margin:0 0 16px;font-size:13px}.pindots{justify-content:center;gap:13px;margin-bottom:18px;display:flex}.pindots i{background:var(--line);border-radius:50%;width:14px;height:14px;transition:all .15s}.pindots i.on{background:var(--blue)}.pincard.bad{animation:.42s shake}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-9px)}40%{transform:translate(9px)}60%{transform:translate(-6px)}80%{transform:translate(6px)}}.keypad{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.keypad button{font-family:var(--d);border:1px solid var(--line);background:var(--input-bg);color:var(--ink);cursor:pointer;border-radius:13px;padding:15px 0;font-size:22px;font-weight:700}.keypad button:hover{background:var(--bg)}.keypad button.fn{font-family:var(--u);color:var(--muted);font-size:13px;font-weight:600}.pinclose{color:var(--muted);font-family:var(--u);cursor:pointer;background:0 0;border:0;margin-top:14px;font-size:13px}.av img,.ring img,.face img,.avi img,.lk .av img,.balcard .av img,.pet-photo img{object-fit:cover;border-radius:inherit;width:100%;height:100%;display:block}.photo-btn{font-family:var(--u);color:var(--blue-600);background:var(--blue-50);cursor:pointer;border:0;border-radius:20px;margin-top:2px;padding:5px 11px;font-size:11.5px;font-weight:600}.photo-btn:hover{background:var(--blue-100)}.sos{box-shadow:var(--shadow);background:linear-gradient(135deg,#fff1e8,#ffe4d4);border:1px solid #f7c9a9;border-radius:18px;padding:22px 24px}.sos .sh{font-family:var(--d);color:#b23a0e;align-items:center;gap:9px;margin-bottom:4px;font-size:18px;font-weight:800;display:flex}.sos .sh svg{width:21px;height:21px}.sos .sub{font-family:var(--u);color:#9a5836;margin-bottom:16px;font-size:13px}.sos-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.sos-item{color:var(--ink);background:#ffffffb3;border:1px solid #f3d2bb;border-radius:12px;align-items:center;gap:12px;padding:11px 14px;text-decoration:none;display:flex}.sos-item .k{font-family:var(--u);letter-spacing:.4px;text-transform:uppercase;color:#9a5836;font-size:11px;font-weight:600}.sos-item .v{font-family:var(--d);color:#0e1726;font-size:16px;font-weight:700}.sos-item.call .v{color:#b23a0e}.med{border-bottom:1px solid var(--line-2);align-items:flex-start;gap:11px;padding:11px 0;display:flex}.med:last-child{border-bottom:0}.med .ring{color:#fff;width:34px;height:34px;font-family:var(--u);border-radius:10px;flex:none;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex}.med .mt{font-size:14.5px}.med .mt b{font-family:var(--d)}.contact{border-bottom:1px solid var(--line-2);align-items:center;gap:14px;padding:13px 0;display:flex}.contact:last-child{border-bottom:0}.contact .ci{flex:1}.contact .ci b{font-size:15.5px;font-weight:600}.contact .ci .r{font-family:var(--u);color:var(--muted);font-size:12.5px}.callbtn{font-family:var(--u);color:#fff;background:var(--teal);border-radius:10px;align-items:center;gap:7px;padding:9px 15px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.callbtn:hover{background:#0b7a6e}.callbtn svg{width:15px;height:15px}.sitter{background:var(--blue-50);border:1px solid var(--blue-100);color:#23406b;border-radius:12px;padding:15px 17px;font-size:14.5px;line-height:1.6}.pet{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;gap:16px;padding:18px 20px;display:flex}.pet-photo{background:var(--blue-50);border-radius:16px;flex:none;justify-content:center;align-items:center;width:64px;height:64px;font-size:30px;display:flex}.pet .pn{font-family:var(--d);font-size:18px;font-weight:700}.pet .ps{font-family:var(--u);color:var(--muted);margin-bottom:8px;font-size:12.5px}.pet .prow{border-top:1px solid var(--line-2);gap:9px;padding:5px 0;font-size:14px;display:flex}.pet .prow .pk{font-family:var(--u);letter-spacing:.4px;text-transform:uppercase;color:var(--muted-2);flex:none;width:74px;padding-top:2px;font-size:11px;font-weight:600}.auth-wrap{background:linear-gradient(160deg,#0c1e3a,#15315c);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex}.auth-card{background:var(--card);box-shadow:var(--shadow-lg);border-radius:20px;width:380px;max-width:100%;padding:34px 30px}.auth-card .logo{justify-content:center;padding:0 0 18px}.auth-card h1{font-family:var(--d);text-align:center;margin-bottom:4px;font-size:22px;font-weight:800}.auth-card p.sub{color:var(--muted);text-align:center;margin:0 0 22px;font-size:14px}.auth-card label{font-family:var(--u);color:var(--muted);margin-top:14px;margin-bottom:6px;font-size:12px;font-weight:600;display:block}.auth-card input{width:100%;font-family:var(--u);border:1px solid var(--line);background:var(--input-bg);color:var(--ink);border-radius:11px;padding:12px 14px;font-size:15px}.auth-card input:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-50);outline:none}.auth-card .btn{justify-content:center;width:100%;margin-top:20px;padding:13px}.auth-card .err{color:#b23a0e;text-align:center;margin-top:14px;font-size:13px}.auth-card .switch{text-align:center;color:var(--muted);margin-top:18px;font-size:13.5px}.auth-card .switch button{color:var(--blue-600);cursor:pointer;background:0 0;border:0;font-size:13.5px;font-weight:600}.topbar{display:none}@media (max-width:860px){.rail{display:none}.topbar{z-index:20;background:#0c1e3a;align-items:center;gap:8px;padding:11px 14px;display:flex;position:sticky;top:0;overflow-x:auto}.topbar .name{font-family:var(--d);color:#fff;flex:none;margin-right:4px;font-size:17px;font-weight:800}.topbar .name span{color:var(--orange)}.topbar .nav-btn{color:#afc0d8;white-space:nowrap;width:auto;padding:7px 11px;font-size:13px}.topbar .nav-btn svg{display:none}.topbar .nav-btn.active{color:#fff;background:#ffffff1f}.topbar .nav-btn.active:before{display:none}.wrap{padding:22px 16px 80px}h1.page{font-size:26px}.two,.stat-row,.g4,.g2,.chore-cols,.reward-shelf{grid-template-columns:1fr}.balRow{grid-template-columns:repeat(2,1fr)}.masonry{column-count:1}}@media (prefers-reduced-motion:reduce){*{animation:none!important}}@media (prefers-color-scheme:dark){:root{--bg:#0e1726;--card:#18212f;--navy:#0a1424;--navy-2:#13243f;--ink:#e9eef6;--muted:#9aa7bc;--muted-2:#6e7d95;--line:#283246;--line-2:#212b3c;--blue-50:#172741;--blue-100:#23375c;--orange-50:#2c1d10;--input-bg:#0f1827;--teal-50:#102a28;--shadow:0 1px 2px #0006,0 6px 18px #00000052;--shadow-lg:0 12px 36px #00000080}.rail{background:linear-gradient(#0a1424,#0e1c32)}.topbar{background:#0a1424}.spark{background:linear-gradient(135deg,#172741,#2c1d10)}.sm{border-color:#3c2a17}.msg.me .bubble{color:#fff}input::placeholder,textarea::placeholder{color:var(--muted-2)}}.ob-wrap{background:linear-gradient(160deg,#0c1e3a,#15315c);justify-content:center;align-items:flex-start;min-height:100vh;padding:28px 16px;display:flex}.ob-card{background:var(--card);width:680px;max-width:100%;box-shadow:var(--shadow-lg);border-radius:20px;margin:auto;padding:28px 30px 24px}.ob-card .logo{padding:0 0 14px}.ob-steps{gap:7px;margin-bottom:20px;display:flex}.ob-steps i{background:var(--line);border-radius:5px;flex:1;height:5px}.ob-steps i.on{background:var(--blue)}.ob-steps i.done{background:var(--teal)}.ob-head{margin-bottom:18px}.ob-head .eyebrow{margin-bottom:3px}.ob-head h1{font-family:var(--d);letter-spacing:-.5px;font-size:24px;font-weight:800}.ob-head p{color:var(--muted);max-width:54ch;margin:4px 0 0;font-size:14.5px}.ob-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.ob-field{flex-direction:column;gap:5px;margin-bottom:12px;display:flex}.ob-field.full{grid-column:1/-1}.ob-field label{font-family:var(--u);color:var(--muted);font-size:12px;font-weight:600}.ob-field input,.ob-field select,.ob-field textarea{font-family:var(--u);border:1px solid var(--line);background:var(--input-bg);color:var(--ink);border-radius:10px;width:100%;padding:10px 12px;font-size:14.5px}.ob-field textarea{resize:vertical;min-height:64px}.ob-field input:focus,.ob-field select:focus,.ob-field textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-50);outline:none}.ob-entity{border:1px solid var(--line);background:var(--bg);border-radius:14px;margin-bottom:14px;padding:16px;position:relative}.ob-entity .rm{color:var(--muted-2);cursor:pointer;background:0 0;border:0;font-size:16px;position:absolute;top:10px;right:10px}.ob-entity .etop{align-items:center;gap:14px;margin-bottom:12px;display:flex}.ob-photo{color:#fff;width:60px;height:60px;font-family:var(--d);cursor:pointer;border:0;border-radius:16px;flex:none;justify-content:center;align-items:center;font-size:20px;font-weight:700;display:flex;overflow:hidden}.ob-photo img{object-fit:cover;width:100%;height:100%}.ob-photo .hint{letter-spacing:.4px;text-transform:uppercase;opacity:.85;font-size:9px;font-weight:600}.swatches{flex-wrap:wrap;gap:7px;display:flex}.swatches button{cursor:pointer;border:2px solid #0000;border-radius:50%;width:26px;height:26px}.swatches button.on{border-color:var(--ink);box-shadow:0 0 0 2px var(--card) inset}.add-btn{font-family:var(--u);color:var(--blue-600);background:var(--blue-50);border:1px dashed var(--blue-100);cursor:pointer;border-radius:11px;width:100%;padding:11px;font-size:13.5px;font-weight:600}.add-btn:hover{background:var(--blue-100)}.ob-nav{border-top:1px solid var(--line-2);justify-content:space-between;align-items:center;gap:12px;margin-top:20px;padding-top:18px;display:flex}.ob-nav .spacer{flex:1}.ob-review{font-size:14px}.ob-review .rrow{border-bottom:1px solid var(--line-2);justify-content:space-between;gap:12px;padding:8px 0;display:flex}.ob-review .rrow .k{color:var(--muted)}.ob-err{color:#b23a0e;margin-top:12px;font-size:13.5px}.ob-pinrow{justify-content:center;gap:10px;margin:6px 0 2px;display:flex}.ob-pinrow input{text-align:center;width:54px;height:60px;font-family:var(--d);border:1px solid var(--line);background:var(--input-bg);color:var(--ink);border-radius:12px;font-size:26px;font-weight:800}.ob-pinrow input:focus{border-color:var(--blue);box-shadow:0 0 0 3px var(--blue-50);outline:none}@media (max-width:600px){.ob-grid{grid-template-columns:1fr}}.row-actions{flex:none;align-items:center;gap:7px;display:flex}.icon-btn{background:var(--card);border:1px solid var(--line);width:32px;height:32px;color:var(--muted);cursor:pointer;border-radius:9px;flex:none;justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover{background:var(--bg);color:var(--ink)}.icon-btn svg{stroke-width:2px;width:15px;height:15px}.icon-btn.danger:hover{color:#b23a0e;border-color:#f3d2bb}.celebrate.big .cheer{z-index:2;text-align:center;animation:.5s cubic-bezier(.2,1.4,.4,1) pop;position:relative}.cheer-emoji{filter:drop-shadow(0 10px 22px #00000059);font-size:clamp(90px,24vw,210px);line-height:1;animation:.55s infinite alternate cheerbounce}.cheer-stars{font-family:var(--d);color:#fbbf24;text-shadow:0 3px 16px #00000073;margin-top:4px;font-size:clamp(30px,7vw,64px);font-weight:800}.cheer-name{font-family:var(--d);color:#fff;text-shadow:0 3px 16px #00000073;font-size:clamp(22px,5vw,42px);font-weight:800}@keyframes cheerbounce{0%{transform:translateY(0)scale(1)rotate(-3deg)}to{transform:translateY(-22px)scale(1.07)rotate(3deg)}}body.locked .chore-manage,body.locked .chore-manage *{pointer-events:auto!important;opacity:1!important}.kid-rewards{gap:12px;padding:6px 28px 22px;display:flex;overflow-x:auto}.kid-rw{text-align:center;background:#fff;border:3px solid #e7edf7;border-radius:20px;flex:none;min-width:104px;padding:12px 16px;box-shadow:0 4px 12px #14285014}.kid-rw.afford{border-color:var(--orange)}.kid-rw .ic{font-size:34px;line-height:1}.kid-rw .nm{font-family:var(--d);color:#0e1726;margin-top:4px;font-size:13px;font-weight:700}.kid-rw .cost{font-family:var(--d);color:#ea6a0c;margin-top:2px;font-size:15px;font-weight:800}.kid-rewards-label{font-family:var(--d);color:#0e1726;padding:0 28px 2px;font-size:clamp(15px,2.2vw,20px);font-weight:800}.move-btns{flex-direction:column;gap:2px;display:inline-flex}.move-btns button{background:var(--card);border:1px solid var(--line);color:var(--muted);cursor:pointer;border-radius:6px;width:24px;height:18px;padding:0;font-size:11px;line-height:1}.move-btns button:hover{background:var(--bg);color:var(--ink)}.cal-head{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.cal-head h2{font-family:var(--d);letter-spacing:-.4px;font-size:20px;font-weight:800}.cal-nav{align-items:center;gap:8px;display:flex}.cal-nav button{font-family:var(--u);border:1px solid var(--line);background:var(--card);width:36px;height:36px;color:var(--ink);cursor:pointer;border-radius:10px;font-size:18px;font-weight:600}.cal-nav button:hover{background:var(--bg)}.cal-dow{grid-template-columns:repeat(7,1fr);gap:8px;margin-bottom:6px;display:grid}.cal-dow div{font-family:var(--u);letter-spacing:.5px;text-transform:uppercase;color:var(--muted-2);text-align:center;font-size:11px;font-weight:600}.cal-grid{grid-template-columns:repeat(7,1fr);gap:8px;display:grid}.cal-cell{border:1px solid var(--line);background:var(--card);border-radius:12px;flex-direction:column;gap:4px;min-height:98px;padding:7px;display:flex;overflow:hidden}.cal-cell.out{opacity:.4}.cal-cell.today{border-color:var(--blue);box-shadow:0 0 0 2px var(--blue-50)}.cal-date{font-family:var(--d);color:var(--ink);font-size:13px;font-weight:700}.cal-cell.today .cal-date{color:var(--blue-600)}.cal-chip{font-family:var(--u);background:var(--blue-50);color:var(--blue-600);white-space:nowrap;text-overflow:ellipsis;border-radius:6px;padding:3px 6px;font-size:11px;font-weight:500;overflow:hidden}.cal-chip.g{background:var(--teal-50);color:#0b7a6e}.cal-more{color:var(--muted);font-size:10.5px}@media (max-width:860px){.cal-cell{min-height:62px;padding:5px}.cal-chip{padding:2px 4px;font-size:9.5px}.cal-date{font-size:12px}}.frame{z-index:500;cursor:pointer;background:#000;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.frame img{object-fit:cover;width:100%;max-width:100%;height:100%;max-height:100%;animation:1.2s frameIn}@keyframes frameIn{0%{opacity:0}to{opacity:1}}.frame .clock{text-align:center;color:#fff;font-family:var(--d);text-shadow:0 4px 24px #000000b3;letter-spacing:-1px;font-size:clamp(40px,9vw,96px);font-weight:800;position:absolute;bottom:7vh;left:0;right:0}.frame .clock .d{opacity:.92;letter-spacing:0;margin-top:2px;font-size:clamp(15px,2.4vw,26px);font-weight:600}.frame .hint{text-align:center;color:#ffffffa6;font-family:var(--u);font-size:13px;position:absolute;top:5vh;left:0;right:0}.frame.night{background:#000}.frame.night .clock{opacity:.3;font-size:clamp(34px,7vw,72px);position:static}.frame.night .hint{opacity:.18}.frame.night{flex-direction:column}.thumb-row{flex-wrap:wrap;gap:10px;margin-top:6px;display:flex}.thumb{border:1px solid var(--line);border-radius:12px;width:84px;height:84px;position:relative;overflow:hidden}.thumb img{object-fit:cover;width:100%;height:100%}.thumb button{color:#fff;cursor:pointer;background:#0c1423b3;border:0;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;display:flex;position:absolute;top:3px;right:3px}.import-overlay{z-index:420;background:#0c14238c;justify-content:center;align-items:flex-start;padding:24px 14px;display:flex;position:fixed;inset:0;overflow:auto}.import-card{background:var(--card);border:1px solid var(--line);width:660px;max-width:100%;box-shadow:var(--shadow-lg);border-radius:18px;flex-direction:column;max-height:calc(100vh - 48px);margin:auto;display:flex}.import-head{padding:20px 22px 8px}.import-head h3{font-family:var(--d);font-size:20px;font-weight:800}.import-head .note{background:var(--blue-50);border:1px solid var(--blue-100);color:#23406b;border-radius:10px;margin-top:10px;padding:9px 12px;font-size:13px}.import-list{flex:1;padding:0 22px;overflow:auto}.import-row{border-bottom:1px solid var(--line-2);border-radius:10px;align-items:flex-start;gap:11px;padding:12px 8px;display:flex}.import-row.low{background:var(--orange-50)}.import-row.dup{opacity:.6}.import-row input[type=checkbox]{width:20px;height:20px;accent-color:var(--blue);flex:none;margin-top:3px}.import-ev{flex-direction:column;flex:1;gap:7px;min-width:0;display:flex}.ir1{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ir1 .amber{background:var(--orange);border-radius:50%;flex:none;width:9px;height:9px}.ir-title{min-width:140px;font-family:var(--u);color:var(--ink);background:0 0;border:1px solid #0000;border-radius:8px;flex:1;padding:5px 7px;font-size:14.5px;font-weight:600}.ir-title:hover,.ir-title:focus{border-color:var(--line);background:var(--input-bg);outline:none}.dup-badge{font-family:var(--u);text-transform:uppercase;letter-spacing:.4px;color:var(--muted);background:var(--line-2);border-radius:20px;flex:none;padding:3px 8px;font-size:10.5px;font-weight:600}.ir2{flex-wrap:wrap;gap:7px;display:flex}.ir2 input,.ir2 select{font-family:var(--u);border:1px solid var(--line);background:var(--input-bg);color:var(--ink);border-radius:8px;padding:6px 8px;font-size:13px}.ir2 .ir-loc{flex:1;min-width:120px}.import-bar{background:var(--card);border-top:1px solid var(--line);border-radius:0 0 18px 18px;align-items:center;gap:10px;padding:14px 22px;display:flex;position:sticky;bottom:0}.import-bar .spacer{flex:1}.import-empty{text-align:center;color:var(--muted);padding:30px 22px}.import-loading{text-align:center;flex-direction:column;align-items:center;gap:14px;padding:48px 22px;display:flex}
