:root{--bg:#f6f3ee;--surface:#fff;--surface-2:#f1ede6;--text:#1f1d24;--muted:#6f6878;--accent:#ff7a59;--accent-2:#7c5cff;--ok:#22b573;--border:#0000000f;--shadow:0 6px 20px #281e3c14;--radius:18px;--font:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;font-family:var(--font);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;line-height:1.45}*{box-sizing:border-box}body{background:var(--bg);min-height:100dvh;margin:0}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:none;padding:0}h1,h2{margin:0;line-height:1.2}p{margin:0}.muted{color:var(--muted)}.center{text-align:center}.picker{text-align:center;background:radial-gradient(circle at 20% 10%, #ffe3d6 0, transparent 40%), radial-gradient(circle at 80% 90%, #e2dcff 0, transparent 45%), var(--bg);place-content:center;gap:32px;min-height:100dvh;padding:24px 16px;display:grid}.picker-title{font-family:ui-rounded,SF Pro Rounded,system-ui,sans-serif;font-size:clamp(2rem,6vw,3rem)}.picker-grid{flex-wrap:wrap;justify-content:center;gap:24px;display:flex}.picker-card{aspect-ratio:1;width:min(42vw,240px);box-shadow:var(--shadow);border-radius:32px;place-content:center;gap:12px;transition:transform .15s;display:grid}.picker-card:active{transform:scale(.96)}.picker-cool{color:#e8edf5;background:linear-gradient(145deg,#151a22,#232b38)}.picker-friendly{color:#4a2f5c;background:linear-gradient(145deg,#ffd6e8,#ffe9c7)}.picker-sporty{color:#13293d;background:linear-gradient(145deg,#cfe6ff,#d9f6e6)}.picker-avatar{font-size:clamp(3.5rem,12vw,5.5rem)}.picker-name{font-size:1.6rem;font-weight:700}.picker-friendly .picker-name{font-family:ui-rounded,SF Pro Rounded,system-ui,sans-serif}.picker-note{color:var(--muted);font-size:.9rem}[data-theme=friendly]{--bg:#fff6ec;--surface:#fff;--surface-2:#fff0e0;--text:#3b2a4d;--muted:#8a7a99;--accent:#ff6f91;--accent-2:#8f6bff;--ok:#2fbf71;--border:#8f6bff1f;--shadow:0 8px 24px #8f6bff1f;--radius:24px;--font:ui-rounded, "SF Pro Rounded", "Nunito", system-ui, sans-serif;--pet:#9d7bff;--pet-belly:#e7ddff;--pet-cheek:#ff9ec0;--task-icon-size:2.1rem}[data-theme=cool]{--bg:#0d1117;--surface:#161b23;--surface-2:#1e2530;--text:#e8edf5;--muted:#8592a6;--accent:#3ddc97;--accent-2:#4cc9f0;--ok:#3ddc97;--border:#ffffff12;--shadow:0 8px 24px #00000059;--radius:12px;--font:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--task-icon-size:1.5rem}[data-theme=sporty]{--bg:#eef5fb;--surface:#fff;--surface-2:#e3eef8;--text:#13293d;--muted:#5f7489;--accent:#1e7fe0;--accent-2:#ff8a1f;--ok:#1fa35b;--border:#1e7fe024;--shadow:0 8px 22px #13293d1a;--radius:16px;--font:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--pet:#2f8ff0;--pet-belly:#d7ebff;--pet-cheek:#ffb067;--task-icon-size:1.8rem}.kid-app{background:var(--bg);min-height:100dvh;color:var(--text);font-family:var(--font);flex-direction:column;display:flex}.topbar{z-index:5;padding:max(12px, env(safe-area-inset-top)) 16px 12px;background:color-mix(in srgb, var(--bg) 85%, transparent);-webkit-backdrop-filter:blur(12px);justify-content:space-between;align-items:center;gap:12px;display:flex;position:sticky;top:0}.topbar-user{background:var(--surface);border:1px solid var(--border);border-radius:999px;align-items:center;gap:10px;padding:6px 14px 6px 6px;display:flex}.topbar-avatar{background:var(--surface-2);border-radius:50%;place-items:center;width:40px;height:40px;font-size:1.4rem;display:grid}.topbar-name{font-weight:700}.topbar-stats{gap:8px;display:flex}.pill{background:var(--surface);border:1px solid var(--border);white-space:nowrap;border-radius:999px;padding:8px 14px;font-size:.95rem;font-weight:700}.pill-coins{color:#b7791f}[data-theme=cool] .pill-coins{color:#f6c453}.content{width:100%;max-width:760px;padding:8px 16px calc(110px + env(safe-area-inset-bottom));flex:1;margin:0 auto}.view{flex-direction:column;gap:16px;animation:.2s fade-in;display:flex}.view-title{padding-top:8px;font-size:1.7rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px}.card-title{margin-bottom:12px;font-size:1.1rem}.chip{background:var(--surface-2);color:var(--muted);white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:.8rem;font-weight:600;display:inline-block}.chip-accent{background:color-mix(in srgb, var(--accent) 18%, transparent);color:var(--accent)}.hero{justify-content:space-between;align-items:center;gap:16px;display:flex}.hero h1{font-size:clamp(1.5rem,4.5vw,2rem)}.hero-sub{margin-top:6px;font-size:1.05rem}[data-theme=friendly] .hero{background:linear-gradient(135deg,#ffe1ec,#fff1d6)}[data-theme=sporty] .hero{background:linear-gradient(135deg,#d6eaff,#fff0dc)}[data-theme=cool] .hero{background:linear-gradient(135deg,#18212c,#13261f)}.ring{flex-shrink:0;place-items:center;display:grid;position:relative}.ring svg{display:block}.ring-track{fill:none;stroke:color-mix(in srgb, var(--text) 10%, transparent);stroke-width:9px}.ring-fill{fill:none;stroke:var(--ok);stroke-width:9px;stroke-linecap:round;transition:stroke-dashoffset .5s cubic-bezier(.3,1.4,.5,1)}.ring-label{font-size:1.1rem;font-weight:800;position:absolute}.all-done{background:color-mix(in srgb, var(--ok) 14%, var(--surface));align-items:center;gap:16px;animation:.4s cubic-bezier(.3,1.6,.5,1) pop;display:flex}.all-done-icon{font-size:2.5rem}.all-done strong{font-size:1.3rem;font-weight:900}.superklar{z-index:100;text-align:center;cursor:pointer;background:radial-gradient(circle at 50% 45%,#ff7a59f7,#7c5cfff7);place-items:center;padding:24px;animation:.25s ease-out fade-in;display:grid;position:fixed;inset:0;overflow:hidden}.superklar-body{color:#fff;position:relative}.superklar-burst{font-size:clamp(4rem,18vw,7rem);animation:1.2s cubic-bezier(.3,1.6,.5,1) both superklar-spin}.superklar-word{letter-spacing:-.02em;text-shadow:0 6px #0000002e;justify-content:center;margin:0;font-size:clamp(2.6rem,15vw,6.5rem);font-weight:900;display:flex}.superklar-word span{animation:.6s cubic-bezier(.3,1.8,.5,1) both superklar-letter,1.4s ease-in-out infinite superklar-wave;animation-delay:calc(var(--i) * 70ms + .2s), calc(var(--i) * 70ms + 1.2s);display:inline-block}.superklar-sub{margin:8px 0 0;font-size:clamp(1.1rem,4.5vw,1.8rem);font-weight:700;animation:.5s ease-out 1s both fade-in}.superklar-tap{opacity:.7;margin:28px 0 0;font-size:.9rem;animation:.5s ease-out 2s both fade-in}.superklar-confetti{pointer-events:none;position:absolute;inset:0}.superklar-confetti span{top:-5%;left:var(--x);background:var(--color);width:10px;height:16px;animation:superklar-fall var(--dur) var(--delay) linear infinite;border-radius:3px;position:absolute}@keyframes superklar-letter{0%{opacity:0;transform:translateY(60px)scale(.2)rotate(-25deg)}to{opacity:1;transform:none}}@keyframes superklar-wave{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes superklar-spin{0%{opacity:0;transform:scale(.1)rotate(-180deg)}to{opacity:1;transform:none}}@keyframes superklar-fall{0%{transform:translate(0)rotate(0)}to{transform:translate(var(--drift), 110vh) rotate(var(--spin))}}.timeline{flex-direction:column;gap:10px;display:flex}.timeline-item{align-items:center;gap:12px;display:flex}.timeline-item.is-past{opacity:.45}.timeline-time{font-variant-numeric:tabular-nums;color:var(--muted);width:3.2em;font-weight:700}.timeline-icon{font-size:1.4rem}.timeline-title{flex:1;font-weight:600}.block{flex-direction:column;gap:10px;display:flex}.block-header{align-items:center;gap:10px;padding:8px 4px 0;display:flex}.block-header h2{font-size:1.2rem}.block-count{color:var(--muted);font-variant-numeric:tabular-nums;margin-left:auto;font-weight:700}.block.is-past .tasks{opacity:.75}.block-toggle{border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);width:100%;min-height:56px;color:var(--muted);text-align:left;padding:10px 16px}.block-toggle h2{font-size:1.05rem}.yesterday-hint{color:var(--muted);margin:0 4px;font-size:.95rem}.block-chevron{font-size:1.1rem}.tasks{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.task{text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;min-height:68px;box-shadow:var(--shadow);align-items:center;gap:14px;padding:12px 16px;transition:transform .12s,background .2s;display:flex}.task:active{transform:scale(.98)}.task-icon{font-size:var(--task-icon-size);text-align:center;width:1.6em}.task-text{flex-direction:column;flex:1;display:flex}.task-title{font-size:1.08rem;font-weight:650}.task-sub{color:var(--muted);font-size:.85rem}.task-voucher{color:var(--accent);font-weight:700}.task-reward{color:var(--muted);white-space:nowrap;font-size:.85rem;font-weight:700}.task-check{border:2.5px solid color-mix(in srgb, var(--text) 20%, transparent);width:36px;height:36px;color:var(--muted);border-radius:50%;flex-shrink:0;place-items:center;font-size:1.1rem;font-weight:900;display:grid}.task.is-pack{border:2px dashed color-mix(in srgb, var(--accent-2) 55%, transparent)}.task.is-pack .task-check{border:none;font-size:1.6rem}.task.is-done{background:color-mix(in srgb, var(--ok) 12%, var(--surface))}.task.is-done .task-title{opacity:.6;text-decoration:line-through;text-decoration-thickness:2px}.task.is-done .task-check{background:var(--ok);border-color:var(--ok);color:#fff;animation:.35s cubic-bezier(.3,1.8,.5,1) pop}[data-theme=cool] .task.is-done .task-check{color:#0d1117}.task.is-pending .task-check,.kid-app[data-season] .task.is-done.is-pending .task-check{background:color-mix(in srgb, var(--ok) 25%, var(--surface));border:2.5px dashed var(--ok);color:var(--ok)}.task.is-pending .task-reward{opacity:.5}.task-waiting{color:var(--ok);font-weight:700}.task.is-taken{background:var(--surface);opacity:.7;cursor:default}.task.is-taken .task-check{border-color:var(--border);color:var(--muted);background:0 0;animation:none}.pack-header{align-items:baseline;gap:8px;display:flex}.pack-header .card-title{flex:1}.pack.is-complete{background:color-mix(in srgb, var(--ok) 10%, var(--surface))}.pack.is-complete .block-count{color:var(--ok)}.pack-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;display:grid}.pack-item{border-radius:var(--radius);background:var(--surface-2);border:2px solid #0000;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:120px;padding:12px;transition:transform .12s,background .2s;display:flex;position:relative}.pack-item:active{transform:scale(.95)}.pack-icon{font-size:2.6rem}.pack-name{text-align:center;font-weight:650}.pack-item.is-packed{background:color-mix(in srgb, var(--ok) 16%, var(--surface));border-color:var(--ok)}.pack-item.is-packed .pack-icon{opacity:.55}.pack-check{background:var(--ok);color:#fff;border-radius:50%;place-items:center;width:26px;height:26px;font-size:.85rem;font-weight:900;animation:.3s cubic-bezier(.3,1.8,.5,1) pop;display:grid;position:absolute;top:8px;right:8px}.shop-header{justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.coin-balance{white-space:nowrap;font-size:1.6rem;font-weight:800}.shop-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:14px;display:grid}.reward{text-align:center;flex-direction:column;align-items:center;gap:10px;display:flex}.reward-icon{font-size:3rem}.reward-title{flex:1;font-weight:650}.reward-voucher{background:color-mix(in srgb, var(--accent) 15%, transparent);border-radius:999px;padding:4px 12px;font-size:.9rem;font-weight:700}.reward .btn-secondary{width:100%;min-height:44px;color:inherit}.reward .btn-secondary:disabled{opacity:.5}.reward.is-locked .reward-icon{filter:grayscale();opacity:.5}.btn{background:var(--accent);color:#fff;border-radius:999px;width:100%;min-height:48px;padding:10px 16px;font-weight:800}[data-theme=cool] .btn{color:#0d1117}.btn:disabled{background:var(--surface-2);color:var(--muted);cursor:not-allowed}.requests{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.requests li{align-items:center;gap:10px;display:flex}.requests .chip{margin-left:auto}.level-card{align-items:center;gap:20px;display:flex}.level-badge{text-align:center;background:linear-gradient(145deg, var(--accent), var(--accent-2));color:#0d1117;border-radius:24px;flex-shrink:0;place-content:center;width:110px;height:110px;display:grid}.level-label{text-transform:uppercase;letter-spacing:.1em;font-size:.8rem;font-weight:800}.level-number{font-size:3rem;font-weight:900;line-height:1}.level-info{flex-direction:column;flex:1;gap:10px;display:flex}.rank{color:var(--accent);margin-left:6px;font-size:1rem;display:inline-block}.bar{background:var(--surface-2);border-radius:999px;height:14px;overflow:hidden}.bar-fill{border-radius:inherit;background:linear-gradient(90deg, var(--accent), var(--accent-2));height:100%;transition:width .5s cubic-bezier(.3,1.4,.5,1)}.stats{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;display:grid}.stat{flex-direction:column;gap:4px;display:flex}.stat-value{font-size:1.6rem;font-weight:800}.stat-label{color:var(--muted);font-size:.9rem}.pet-card{text-align:center;background:linear-gradient(#efe8ff,#fff3e6);flex-direction:column;align-items:center;gap:12px;display:flex}.pet-card .bar{width:min(320px,100%)}.pet-name{font-size:2rem}.pet-mood{font-size:1.1rem}.pet{overflow:visible}.pet-shadow{fill:#5032781f}.pet-body,.pet-wings{fill:var(--pet)}.pet-wings{opacity:.7}.pet-belly{fill:var(--pet-belly)}.pet-eye{fill:#2b1d3a}.pet-glint{fill:#fff}.pet-line{fill:none;stroke:#2b1d3a;stroke-width:4px;stroke-linecap:round}.pet-mouth{fill:#2b1d3a}.pet-cheek{fill:var(--pet-cheek);opacity:.7}.pet-crown{fill:#ffc93c;stroke:#e6a800;stroke-width:3px;stroke-linejoin:round}.pet-egg{fill:#fff8ec;stroke:#e9d8bf;stroke-width:4px}.pet-spot{fill:var(--pet,#d9c8ff);opacity:.55}.pet-crack{fill:none;stroke:#b49a74;stroke-width:4px;stroke-linejoin:round}.pet-zzz{fill:var(--muted);font-size:22px;font-weight:800;animation:2.4s ease-in-out infinite zzz}.pet-sparkles text{font-size:22px;animation:1.2s ease-in-out infinite alternate twinkle}.pet-breathe{transform-origin:50% 90%;animation:3.5s ease-in-out infinite breathe}.pet-bob{animation:2s ease-in-out infinite bob}.pet-bounce{animation:.8s cubic-bezier(.3,1.4,.5,1) infinite alternate bounce}.pet-wobble{transform-origin:50% 85%;animation:2.2s ease-in-out infinite wobble}.tabbar{z-index:10;padding:8px 12px max(10px, env(safe-area-inset-bottom));background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--border);justify-content:center;gap:4px;display:flex;position:fixed;bottom:0;left:0;right:0}.tab{max-width:160px;min-height:64px;color:var(--muted);border-radius:16px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:.85rem;font-weight:700;display:flex}.tab-icon{filter:grayscale(.6);opacity:.8;font-size:1.6rem;position:relative}.tab.is-active{color:var(--text);background:color-mix(in srgb, var(--accent) 14%, transparent)}.tab.is-active .tab-icon{filter:none;opacity:1}.tab-badge{background:var(--accent);border:2px solid var(--surface);border-radius:50%;width:11px;height:11px;position:absolute;top:0;right:-6px}.toasts{left:50%;bottom:calc(110px + env(safe-area-inset-bottom));z-index:20;pointer-events:none;flex-direction:column;align-items:center;gap:8px;display:flex;position:fixed;transform:translate(-50%)}.toast{background:var(--ok);color:#fff;box-shadow:var(--shadow);white-space:pre;border-radius:999px;padding:12px 22px;font-size:1.1rem;font-weight:800;animation:1.4s forwards toast}[data-theme=cool] .toast{color:#0d1117}@keyframes fade-in{0%{opacity:0;transform:translateY(6px)}}@keyframes pop{0%{transform:scale(.4)}to{transform:scale(1)}}@keyframes toast{0%{opacity:0;transform:translateY(20px)scale(.8)}15%{opacity:1;transform:translateY(0)scale(1.05)}25%{transform:scale(1)}80%{opacity:1;transform:translateY(-10px)}to{opacity:0;transform:translateY(-40px)}}@keyframes breathe{50%{transform:scale(1.03,.97)}}@keyframes bob{50%{transform:translateY(-8px)}}@keyframes bounce{0%{transform:translateY(0)}to{transform:translateY(-22px)}}@keyframes wobble{25%{transform:rotate(-6deg)}75%{transform:rotate(6deg)}}@keyframes zzz{0%,to{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-6px)}}@keyframes twinkle{0%{opacity:.4}to{opacity:1}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}@media (width<=480px){.task-reward,.topbar-stats .pill:not(.pill-coins){display:none}}.loading-screen{text-align:center;min-height:100dvh;color:var(--muted);background:var(--bg);place-content:center;gap:16px;display:grid}.btn-inline{width:auto;padding-inline:22px}.picker-parent{color:var(--muted);border-radius:999px;justify-self:center;padding:10px 18px;font-weight:600}.picker-parent:hover{background:#0000000d}.topbar-user:disabled{cursor:default}.chip-approved{background:color-mix(in srgb, var(--ok) 18%, transparent);color:var(--ok)}.chip-declined{opacity:.7}.parent-app{--p-bg:#f5f4f1;--p-surface:#fff;--p-text:#1d1b22;--p-muted:#6d6875;--p-border:#e6e3dd;--p-accent:#5b4bdb;--p-accent-soft:#ecebfd;--p-danger:#c2410c;--p-ok:#16a34a;--bg:var(--p-bg);--surface:var(--p-surface);--surface-2:#f0eee9;--text:var(--p-text);--muted:var(--p-muted);--accent:var(--p-accent);--accent-2:#8b5cf6;--ok:var(--p-ok);--border:var(--p-border);background:var(--p-bg);min-height:100dvh;color:var(--p-text)}.parent-header{padding:max(14px, env(safe-area-inset-top)) 16px 10px;justify-content:space-between;align-items:center;gap:12px;max-width:1100px;margin:0 auto;display:flex}.parent-brand{font-size:1.15rem;font-weight:800}.parent-nav{z-index:5;background:color-mix(in srgb, var(--p-bg) 90%, transparent);-webkit-backdrop-filter:blur(10px);scrollbar-width:none;gap:6px;max-width:1100px;margin:0 auto;padding:8px 16px;display:flex;position:sticky;top:0;overflow-x:auto}.parent-nav::-webkit-scrollbar{display:none}.parent-nav-item{color:var(--p-muted);white-space:nowrap;border-radius:999px;flex-shrink:0;padding:9px 14px;font-weight:600}.parent-nav-item:hover{background:#0000000a}.parent-nav-item.is-active{background:var(--p-text);color:#fff}.parent-content{max-width:1100px;margin:0 auto;padding:12px 16px 64px}.parent-page{flex-direction:column;gap:14px;display:flex}.parent-page h1{font-size:1.6rem}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.page-intro{max-width:62ch;margin-top:-6px}.section-title{margin-top:14px;font-size:1.15rem}.empty-state{justify-items:start;gap:12px;padding:24px 0;display:grid}.pcard{background:var(--p-surface);border:1px solid var(--p-border);border-radius:14px;flex-direction:column;gap:10px;padding:16px;display:flex}.pcard h2{font-size:1.1rem}.pcard-button{text-align:left;transition:border-color .15s}.pcard-button:hover{border-color:var(--p-accent)}.card-grid,.kid-cards{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}.kid-card-header{align-items:center;gap:12px;display:flex}.kid-card-avatar{background:var(--surface-2);border-radius:50%;place-items:center;width:48px;height:48px;font-size:1.6rem;display:grid}.kid-card .link-btn{align-self:flex-start}.kid-card-links{flex-wrap:wrap;justify-content:space-between;gap:4px 16px;display:flex}.history-now{font-weight:600}.history-day{flex-direction:column;gap:6px;margin-top:12px;display:flex}.history-day-header{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.history-day-header h3{margin:0;font-size:1rem}.history-day-header h3:first-letter{text-transform:uppercase}.history-day-end{text-align:right;margin:0;font-size:.85rem}.history-row{min-height:52px}.history-title{overflow-wrap:anywhere}.history-row.is-undone .history-title,.history-row.is-undone .history-delta{opacity:.6;text-decoration:line-through}.history-untick .history-title{font-style:italic}.history-deltas{white-space:nowrap;flex-direction:column;flex-shrink:0;align-items:flex-end;font-size:.9rem;font-weight:600;display:flex}.history-day-header .history-deltas{flex-direction:row;gap:8px}.history-delta.is-plus{color:var(--ok)}.history-delta.is-minus{color:var(--p-muted)}.history-more{margin:12px auto 0;display:block}.kit-icons{letter-spacing:2px;font-size:1.4rem}.psection{flex-direction:column;gap:8px;display:flex}.psection-header{justify-content:space-between;align-items:center;margin-top:8px;display:flex}.psection-header h2{font-size:1.15rem}.plist{background:var(--p-surface);border:1px solid var(--p-border);border-radius:14px;margin:0;padding:0;list-style:none;overflow:hidden}.plist>li+li{border-top:1px solid var(--p-border)}.plist-quiet{opacity:.75}.plist-row{text-align:left;align-items:center;gap:12px;width:100%;min-height:60px;padding:12px 14px;display:flex}.plist-button:hover{background:#faf9f7}.plist-icon{text-align:center;flex-shrink:0;width:1.6em;font-size:1.5rem}.plist-main{flex-direction:column;flex:1;min-width:0;display:flex}.plist-main .muted{font-size:.88rem}.plist-meta{color:var(--p-muted);white-space:nowrap;font-size:.9rem;font-weight:600}.plist-actions{flex-shrink:0;gap:8px;display:flex}.week-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;display:grid}@media (width<=900px){.week-grid{grid-template-columns:1fr}}.week-day{background:var(--p-surface);border:1px solid var(--p-border);border-radius:14px;flex-direction:column;gap:6px;min-height:120px;padding:10px;display:flex}@media (width<=900px){.week-day{min-height:0}}.week-day-header{justify-content:space-between;align-items:center;display:flex}.week-day-header h2{font-size:.95rem}.week-empty{font-size:.9rem}.week-item{background:var(--p-accent-soft);text-align:left;border-radius:10px;flex-direction:column;gap:2px;padding:8px 10px;transition:transform .1s;display:flex}.week-item:active{transform:scale(.98)}.week-item-time{color:var(--p-accent);font-variant-numeric:tabular-nums;font-size:.8rem;font-weight:700}.week-item-title{font-size:.92rem;font-weight:650}.week-item-meta{font-size:.85rem}.btn-primary{background:var(--p-accent,var(--accent));color:#fff}.btn-secondary{border:1px solid var(--p-border,var(--border));background:var(--p-surface,var(--surface));white-space:nowrap;border-radius:999px;padding:9px 14px;font-weight:650}.btn-secondary:hover{border-color:var(--p-accent)}.btn-danger{color:var(--p-danger);border-radius:999px;padding:10px 16px;font-weight:650}.btn-danger.is-armed{background:var(--p-danger);color:#fff}.link-btn{color:var(--p-accent,var(--accent));align-self:flex-start;padding:4px 0;font-weight:650}.icon-btn{width:36px;height:36px;color:var(--p-muted,var(--muted));border-radius:50%;flex-shrink:0;place-items:center;font-size:1.05rem;display:grid}.icon-btn:hover{background:#0000000f}.sheet-backdrop{z-index:50;background:#14101e66;justify-content:center;align-items:flex-end;animation:.15s fade-in;display:flex;position:fixed;inset:0}@media (width>=700px){.sheet-backdrop{align-items:center;padding:24px}}.sheet{background:var(--p-surface,var(--surface));width:100%;max-width:560px;max-height:92dvh;color:var(--p-text,var(--text));padding:16px 18px max(20px, env(safe-area-inset-bottom));border-radius:20px 20px 0 0;animation:.22s cubic-bezier(.2,.9,.3,1) sheet-up;overflow-y:auto}@media (width>=700px){.sheet{border-radius:20px}}.sheet-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.sheet-header h2{font-size:1.2rem}@keyframes sheet-up{0%{opacity:0;transform:translateY(40px)}}.form{flex-direction:column;gap:16px;display:flex}.field{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.field-label{font-size:.92rem;font-weight:650}.field-hint{color:var(--p-muted,var(--muted));font-size:.85rem}.field-row{flex-wrap:wrap;gap:12px;display:flex}.field-row .field{min-width:120px}.input{border:1px solid var(--p-border,var(--border));width:100%;min-height:44px;font:inherit;color:var(--p-text,var(--text));background:#fff;border-radius:10px;padding:10px 12px;font-size:max(16px,1rem)}.input:focus{outline:2px solid var(--p-accent,var(--accent));outline-offset:-1px;border-color:#0000}select.input{appearance:auto}.emoji-field{align-items:flex-start;gap:10px;display:flex}.emoji-input{text-align:center;flex-shrink:0;width:64px;font-size:1.5rem}.emoji-input-small{text-align:center;flex-shrink:0;width:56px;font-size:1.2rem}.emoji-suggestions{flex-wrap:wrap;gap:4px;display:flex}.emoji-choice{border-radius:10px;width:40px;height:40px;font-size:1.3rem}.emoji-choice:hover{background:var(--surface-2)}.emoji-choice.is-selected{background:var(--p-accent-soft,var(--surface-2));outline:2px solid var(--p-accent,var(--accent))}.emoji-field-compact{align-items:center;gap:4px}.emoji-more{border:1px dashed var(--p-border,var(--border));height:40px;color:var(--p-muted,var(--muted));border-radius:10px;padding:0 12px;font-size:.9rem;font-weight:600}.emoji-more:hover{background:var(--surface-2)}.emoji-more-small{width:44px;height:44px;padding:0;font-size:1.2rem}.emoji-picker-backdrop{z-index:60}.emoji-picker{flex-direction:column;gap:10px;height:min(620px,85dvh);display:flex;overflow:hidden}.emoji-picker .sheet-header{margin-bottom:0}.emoji-picker-tabs{scrollbar-width:none;flex-shrink:0;gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.emoji-picker-tabs .chip-btn{flex-shrink:0;min-height:36px;padding:6px 12px}.emoji-picker-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:1;min-height:0;overflow-y:auto}.emoji-picker-heading{color:var(--p-muted,var(--muted));margin:10px 0 6px;font-size:.9rem}.emoji-picker-grid{grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:4px;display:grid}.emoji-picker-grid .emoji-choice{width:100%;height:44px;font-size:1.5rem}.chips{flex-wrap:wrap;gap:6px;display:flex}.chips-small{gap:14px;margin-top:4px}.chips-small .link-btn{font-size:.88rem}.chip-btn{border:1px solid var(--p-border,var(--border));background:#fff;border-radius:999px;min-height:40px;padding:8px 14px;font-weight:600}.chip-btn.is-on{background:var(--p-accent,var(--accent));border-color:var(--p-accent,var(--accent));color:#fff}.chip-btn:disabled{opacity:.6}.segmented{background:var(--surface-2);border-radius:12px;gap:4px;padding:4px;display:flex}.segment{min-height:38px;color:var(--p-muted,var(--muted));border-radius:9px;flex:1;font-weight:600}.segment.is-on{color:var(--p-text,var(--text));background:#fff;box-shadow:0 1px 3px #0000001f}.item-rows{flex-direction:column;gap:8px;display:flex}.item-row{align-items:center;gap:8px;display:flex}.form-actions{justify-content:space-between;align-items:center;gap:12px;margin-top:4px;display:flex}.form-actions .btn-primary{width:auto;margin-left:auto;padding-inline:28px}.form-error{color:var(--p-danger,#c2410c);font-weight:600}.checkbox{align-items:flex-start;gap:10px;display:flex}.checkbox input{width:20px;height:20px;accent-color:var(--p-accent,var(--accent));margin-top:2px}.auth{--p-accent:#5b4bdb;--p-border:#e6e3dd;--p-surface:#fff;--p-text:#1d1b22;--p-muted:#6d6875;--p-accent-soft:#ecebfd;background:radial-gradient(circle at 15% 10%,#ffe3d6 0,#0000 40%),radial-gradient(circle at 85% 90%,#e2dcff 0,#0000 45%),#f6f3ee;place-items:center;min-height:100dvh;padding:24px 16px;display:grid}.auth-card{background:#fff;border-radius:22px;width:100%;max-width:420px;padding:28px 24px;box-shadow:0 12px 40px #281e3c1a}.auth-card-wide{max-width:600px}.auth-card h1{font-size:1.6rem}.auth-card .btn-primary{margin-top:4px}.kid-fieldset{border:1px solid var(--p-border);border-radius:14px;flex-direction:column;gap:14px;margin:0;padding:16px;display:flex}.parent-header-actions{align-items:center;gap:14px;display:flex}.pinpad{text-align:center;flex-direction:column;align-items:center;gap:10px;display:flex}.pinpad h1{font-size:1.5rem}.pin-dots{gap:14px;min-height:18px;margin-top:10px;display:flex}.pin-dots.is-shaking{animation:.4s shake}.pin-dot{border:2px solid var(--p-accent,#5b4bdb);border-radius:50%;width:16px;height:16px;transition:background .1s}.pin-dot.is-filled{background:var(--p-accent,#5b4bdb)}.pin-error{min-height:1.4em;margin:0}.pin-keys{grid-template-columns:repeat(3,72px);gap:14px;display:grid}.pin-key{width:72px;height:72px;color:var(--p-text,#1d1b22);background:#f1eff9;border-radius:50%;font-size:1.6rem;font-weight:600;transition:transform 80ms,background .15s}.pin-key:active{background:#e2def7;transform:scale(.92)}.pin-key-quiet{background:0 0;font-size:1.4rem}.pin-key-ok{background:var(--p-accent,#5b4bdb);color:#fff}.pin-key-ok:disabled{opacity:.35}.pin-cancel{align-self:center;margin-top:8px}.pin-input{letter-spacing:.4em;max-width:180px;font-size:1.3rem}.sheet .pinpad{padding:4px 0 8px}@keyframes shake{20%,60%{transform:translate(-8px)}40%,80%{transform:translate(8px)}}.link-inline{padding:0;display:inline}.banner{background:#fff7e0;border:1px solid #f3dfa2;border-radius:12px;flex-direction:column;gap:4px;margin-bottom:14px;padding:12px 16px;display:flex}.special{font-size:.9em}.soon-list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.soon-list li{align-items:center;gap:12px;display:flex}.soon-icon{text-align:center;width:1.6em;font-size:1.8rem}.soon-main{flex-direction:column;display:flex}.soon-main .muted:first-letter{text-transform:uppercase}.task.is-bonus{border:2px solid #f5b3018c}.task.is-bonus:not(.is-done) .task-reward{color:#b7791f}[data-theme=cool] .task.is-bonus:not(.is-done) .task-reward{color:#f6c453}.task.is-periodic{border:2px solid color-mix(in srgb, var(--accent) 45%, transparent)}.task-sub.is-urgent{color:#d64545;font-weight:700}.bonus .block-count,.periodic .block-count{font-size:.9rem;font-weight:600}.crash{color:var(--text);padding:24px 16px}.crash-icon{margin:0;font-size:3rem}.crash-details{color:var(--muted);max-width:40ch;font-size:.85rem}.kid-app{--p-surface:var(--surface);--p-text:var(--text);--p-muted:var(--muted);--p-accent:var(--accent);--p-border:var(--border)}.kid-app .pin-key{background:var(--surface-2)}.kid-app .pin-key:active{background:var(--border)}.kid-app .pin-key-quiet{background:0 0}.kid-app .pin-key-ok{background:var(--accent);color:var(--bg)}.kid-lock{justify-content:center;align-items:center;gap:8px;padding:24px 16px}.kid-lock-avatar{font-size:4rem;line-height:1}.pill-lock{color:var(--text)}.view-tail{margin-top:16px}.pin-card{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.pin-card-icon{font-size:2rem}.pin-card-text{flex-direction:column;flex:200px;gap:2px;display:flex}.pin-card-actions{flex-wrap:wrap;gap:8px;display:flex}.btn-quiet{background:var(--surface-2);color:var(--text)}[data-theme=cool] .btn-quiet{color:var(--text)}.kid-pin-row{border:1px solid var(--p-border);border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex}.pet-card-pet{background:0 0;padding:0}.pet-meta{color:var(--muted);margin:-6px 0 0;font-weight:700}.pet-horn{fill:#efe4d2;stroke:#c9b79e;stroke-width:3px;stroke-linejoin:round}.pet-ice{fill:#e8f9ff;stroke:#9fd8f2;stroke-width:3px;stroke-linejoin:round}.pet-flame{fill:#ffb02e}.pet-flame-core{fill:#ffe066}.pet-stem{fill:none;stroke:#3f9a4b;stroke-width:5px;stroke-linecap:round}.pet-stem-dark{stroke:#5a4a1a}.pet-leaf{fill:#48b058}.pet-bolt{fill:#ff9f1c;stroke:#e07b00;stroke-width:2px;stroke-linejoin:round}.pet-shake{transform-origin:50% 85%;animation:.9s ease-in-out infinite shake-egg}@keyframes shake-egg{0%,to{transform:rotate(0)}20%{transform:rotate(-9deg)}40%{transform:rotate(8deg)}60%{transform:rotate(-5deg)}80%{transform:rotate(3deg)}}.pet-stats{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.pet-stat{background:var(--surface);border:1px solid var(--border);border-radius:14px;flex-direction:column;align-items:center;min-width:64px;padding:6px 10px;font-weight:800;display:inline-flex}.pet-stat-label{color:var(--muted);font-size:.72rem;font-weight:600}.egg-card{align-items:center;gap:14px;display:flex}.egg-card.is-ready{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 25%, transparent), var(--shadow)}.egg-info{flex-direction:column;flex:1;align-items:flex-start;gap:8px;display:flex}.egg-info .bar{width:100%}.egg-hatch{font-size:1.1rem}.collection{grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:10px;margin-top:10px;display:grid}.collection-pet{background:var(--surface-2);color:var(--text);border:2px solid #0000;border-radius:16px;flex-direction:column;align-items:center;gap:2px;padding:8px 6px 10px;display:flex}.collection-pet.is-focus{border-color:var(--accent)}.collection-pet.is-unknown{opacity:.5;border:2px dashed var(--border);background:0 0;justify-content:center;min-height:132px}.collection-unknown{color:var(--muted);font-size:2rem;font-weight:800}.collection-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-weight:800;overflow:hidden}.collection-level{color:var(--muted);font-size:.8rem}.pet-sheet{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.pet-sheet-hatched{font-size:1.1rem;font-weight:700}.pet-sheet-hint{font-size:.85rem}.pet-rename{gap:8px;width:min(360px,100%);display:flex}.pet-rename .input{flex:1}[data-theme=cool] .pet-card,[data-theme=sporty] .pet-card{background:linear-gradient(180deg, var(--surface-2), var(--surface))}.calendar-error{margin:2px 0 0}.calendar-howto{background:var(--p-surface-2,var(--surface-2));border-radius:12px;padding:10px 14px}.calendar-howto summary{cursor:pointer;font-weight:600}.calendar-howto ol{gap:4px;margin:8px 0 0;padding-left:20px;display:grid}.calendar-rules{gap:8px;display:grid}.calendar-rule{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.calendar-task-rule{border-bottom:1px solid var(--border);gap:6px;padding-bottom:8px;display:grid}.calendar-task-rule-when{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.calendar-task-rule-when select{flex:120px;width:auto}.calendar-task-rule-num{align-items:center;gap:4px;display:flex}.calendar-task-rule-num .input{width:64px}.reminder-row{justify-content:space-between;align-items:center;gap:12px;min-height:44px;display:flex}.reminder-time{width:auto}.pcard-subtitle{margin:12px 0 4px;font-size:1rem}.pcard>.pcard-subtitle:first-child{margin-top:0}.pcard-danger{border-color:var(--p-danger)}.pcard-danger .pcard-subtitle{color:var(--p-danger)}.calendar-status{justify-items:start;gap:6px;display:grid}.calendar-status p{margin:0}.holiday-card{background:color-mix(in srgb, var(--accent) 14%, var(--surface));align-items:center;gap:16px;display:flex}.holiday-icon{font-size:2.5rem}.holiday-card p{margin:2px 0 0}.timeline-detail{color:var(--muted);font-size:.85rem;font-weight:500;display:block}.soon-more{margin-top:8px}.clothes-card{flex-direction:column;gap:8px;display:flex}.clothes-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.clothes-items{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.clothes-item{background:color-mix(in srgb, var(--accent) 12%, var(--surface));border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-weight:600;display:inline-flex}.clothes-icon{font-size:1.4rem}.feel{align-items:center;gap:12px;display:flex}.feel-icon{font-size:2.6rem;line-height:1}.feel-text{flex-direction:column;display:flex}.feel-label{font-size:1.4rem}.feel-scale{align-items:center;gap:3px;height:22px;display:flex}.feel-step{opacity:.45;border-radius:999px;flex:1;height:8px;transition:height .2s,opacity .2s}.feel-step.is-on{opacity:1;height:18px}.feel-step-0{background:#5aa9ff}.feel-step-1{background:#6fb8ff}.feel-step-2{background:#7fd0f0}.feel-step-3{background:#8fd9c0}.feel-step-4{background:#b7e08a}.feel-step-5{background:#f2d95c}.feel-step-6{background:#f6b84a}.feel-step-7{background:#f28a3c}.feel-step-8{background:#e5503a}.badges{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.badge{text-align:center;border-radius:var(--radius);border:1px dashed var(--border);background:var(--surface);opacity:.55;filter:grayscale(.8);flex-direction:column;align-items:center;gap:4px;padding:12px 10px;display:flex}.badge.is-earned{opacity:1;filter:none;background:color-mix(in srgb, var(--accent) 12%, var(--surface));border-style:solid}.badge-icon{font-size:2.2rem;line-height:1}.badge-title{font-size:1rem}.badge-sub{color:var(--muted);font-size:.8rem}.badge-progress{background:var(--border);border-radius:999px;align-self:stretch;height:6px;overflow:hidden}.badge-progress>span{background:var(--accent);height:100%;display:block}.achv-overlay{z-index:90;background:#141028b3;place-items:center;padding:24px;animation:.25s ease-out fade-in;display:grid;position:fixed;inset:0}.achv-card{text-align:center;background:var(--surface);border-radius:var(--radius);width:min(420px,100%);max-height:85vh;box-shadow:var(--shadow);flex-direction:column;align-items:center;gap:14px;padding:24px 20px;display:flex;overflow-y:auto}.achv-heading{margin:0;font-size:1.6rem}.achv-list{flex-direction:column;align-self:stretch;gap:12px;margin:0;padding:0;list-style:none;display:flex}.achv-item{text-align:left;align-items:center;gap:12px;display:flex}.achv-icon{font-size:2.6rem;line-height:1}.achv-done{color:var(--muted);display:block}.goal-card{flex-direction:column;gap:10px;display:flex}.goal-card.is-reached{background:color-mix(in srgb, var(--accent) 16%, var(--surface))}.goal-head{align-items:center;gap:12px;display:flex}.goal-head .card-title{margin:0}.goal-icon{font-size:2.4rem;line-height:1}.goal-kicker{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.8rem}.goal-reminder,.goal-reached{margin:0}.goal-days{gap:6px;margin:0;padding:0;list-style:none;display:flex}.goal-day{background:color-mix(in srgb, var(--muted) 10%, var(--surface));border-radius:10px;flex-direction:column;flex:1;align-items:center;gap:2px;padding:6px 0;display:flex}.goal-day.is-done{background:color-mix(in srgb, #3ddc97 22%, var(--surface))}.goal-day.is-missed{opacity:.55}.goal-day-name{color:var(--muted);text-transform:uppercase;font-size:.75rem}.goal-celebration{z-index:110;background:radial-gradient(circle at 50% 100%,#2b1a5e,#0b0720 70%);place-items:center;padding:24px;animation:.3s ease-out fade-in;display:grid;position:fixed;inset:0}.fireworks{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.goal-celebration-card{text-align:center;background:color-mix(in srgb, var(--surface) 92%, transparent);border-radius:var(--radius);flex-direction:column;align-items:center;gap:8px;width:min(420px,100%);padding:28px 22px;animation:.5s cubic-bezier(.2,1.4,.4,1) pop-in;display:flex;position:relative;box-shadow:0 10px 50px #00000080}.goal-celebration-card h1{margin:0}.goal-celebration-icon{font-size:4rem;line-height:1}.goal-celebration-goal{margin:0;font-weight:700}.goal-celebration-reward{margin:0 0 8px;font-size:1.2rem}@keyframes pop-in{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}.goal-row-main{text-align:left;min-width:0;font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:12px;padding:0;display:flex}.kid-app[data-season=halloween]{--on-accent:#1a0d00;--bg:#130a22;--surface:#1e1234;--surface-2:#2a1a46;--text:#f5ebff;--muted:#a98fcf;--accent:#ff7a18;--accent-2:#7bdc3d;--ok:#7bdc3d;--border:#ff7a1847;--shadow:0 8px 28px #ff7a1824;background-image:radial-gradient(circle at 80% -10%,#ff7a1838,#0000 55%),radial-gradient(circle at 10% 110%,#7bdc3d1f,#0000 50%)}.kid-app[data-season=halloween] h1,.kid-app[data-season=halloween] .card-title{text-shadow:0 0 14px #ff7a188c}.kid-app[data-season=jul]{--on-accent:#fff;--bg:#0f2a1f;--surface:#17402e;--surface-2:#1f533b;--text:#fff8f0;--muted:#b9d9c8;--accent:#ff4d4f;--accent-2:#ffd166;--ok:#7ee2a8;--border:#ffffff1f;--shadow:0 8px 24px #0000004d}.kid-app[data-season=nytaar]{--on-accent:#1a1400;--bg:#0a0e2b;--surface:#141a4a;--surface-2:#1d2563;--text:#fffdf5;--muted:#a9b2e8;--accent:#ffd166;--accent-2:#ff6fb5;--ok:#5eead4;--border:#ffd16638;--shadow:0 8px 28px #ffd1661f}.kid-app[data-season=fastelavn]{--on-accent:#fff;--bg:#fff1f8;--surface:#fff;--surface-2:#ffe3f2;--text:#3d1e4f;--muted:#8f6ba0;--accent:#ff4fa3;--accent-2:#ffb100;--ok:#1fb578;--border:#ff4fa32e;--shadow:0 8px 24px #ff4fa324}.kid-app[data-season=paaske]{--on-accent:#2b1d00;--bg:#f7fbe8;--surface:#fff;--surface-2:#eef6d4;--text:#36482a;--muted:#758a5f;--accent:#f4a300;--accent-2:#5cb8e6;--ok:#3aae5f;--border:#6ea03238;--shadow:0 8px 22px #6ea03224}.kid-app[data-season=birthday]{--on-accent:#fff;--bg:#fff6f3;--surface:#fff;--surface-2:#ffe9e4;--text:#3a1a22;--muted:#94656e;--accent:#c8102e;--accent-2:#ffc400;--ok:#1fa35b;--border:#c8102e2e;--shadow:0 8px 24px #c8102e24}.kid-app[data-season] .hero{background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 24%, var(--surface)), var(--surface))}.kid-app[data-season] .btn,.kid-app[data-season] .toast,.kid-app[data-season] .task.is-done .task-check{color:var(--on-accent)}.kid-app[data-season] .btn-quiet,.kid-app[data-season] .pill-coins{color:var(--text)}.kid-app[data-season] .task.is-bonus:not(.is-done) .task-reward{color:var(--accent)}.kid-app[data-season=birthday] .content,.kid-app[data-season=jul] .content{padding-top:34px}.season-decor,.season-front{pointer-events:none;position:fixed;inset:0;overflow:hidden}.season-decor{z-index:0}.season-front{z-index:6}.kid-app[data-season] .content{z-index:1;position:relative}.sd{font-size:var(--size);-webkit-user-select:none;user-select:none;will-change:transform;line-height:1;position:fixed}.sd-fall{left:var(--x);opacity:.85;animation:sd-fall var(--dur) linear var(--delay) infinite;top:0}.sd-float{left:var(--x);top:var(--y);opacity:.8;animation:sd-float calc(var(--dur) / 3) ease-in-out var(--delay) infinite alternate}.sd-fly{left:0;top:calc(var(--y) * .55);opacity:.9;animation:sd-fly var(--dur) linear var(--delay) infinite}.sd-twinkle{left:var(--x);top:var(--y);animation:sd-twinkle calc(var(--dur) / 5) ease-in-out var(--delay) infinite}.sd-rise{left:var(--x);opacity:.9;animation:sd-rise var(--dur) ease-in var(--delay) infinite;top:0}.sd-corner{animation:3.6s ease-in-out infinite alternate sd-bob}@keyframes sd-fall{0%{transform:translateY(-12vh)rotate(0)}to{transform:translate3d(var(--drift), 112vh, 0) rotate(360deg)}}@keyframes sd-float{0%{transform:translate(-10px,8px)rotate(-6deg)}to{transform:translate(14px,-16px)rotate(6deg)}}@keyframes sd-fly{0%{transform:translate(-15vw)rotate(-8deg)}25%{transform:translate(20vw,24px)rotate(8deg)}50%{transform:translate(55vw,-10px)rotate(-8deg)}75%{transform:translate(85vw,20px)rotate(8deg)}to{transform:translate(118vw)rotate(-8deg)}}@keyframes sd-twinkle{0%,to{opacity:.1;transform:scale(.6)}50%{opacity:1;transform:scale(1.15)}}@keyframes sd-rise{0%{transform:translateY(112vh)rotate(-6deg)}50%{transform:translate3d(calc(var(--drift) / 2), 50vh, 0) rotate(6deg)}to{transform:translate3d(var(--drift), -16vh, 0) rotate(-6deg)}}@keyframes sd-bob{0%{transform:translateY(0)rotate(-4deg)}to{transform:translateY(-6px)rotate(4deg)}}.hangings{pointer-events:none;position:absolute;inset:0}.spider{transform-origin:top;flex-direction:column;align-items:center;animation:4s ease-in-out infinite alternate spider-swing;display:flex;position:absolute;top:0;right:18%}.spider-thread{transform-origin:top;background:#ffffff8c;width:1px;height:64px;animation:5s ease-in-out infinite alternate spider-drop}.spider-body{margin-top:-4px;font-size:1.7rem;line-height:1;animation:5s ease-in-out infinite alternate spider-bob}@keyframes spider-swing{0%{transform:rotate(-5deg)}to{transform:rotate(5deg)}}@keyframes spider-drop{0%{transform:scaleY(.6)}to{transform:scaleY(1.25)}}@keyframes spider-bob{0%{transform:translateY(-14px)}to{transform:translateY(12px)}}.lights{justify-content:space-around;padding-top:2px;display:flex;position:absolute;top:0;left:0;right:0}.lights:before{content:"";border-bottom:2px solid #ffffff40;border-radius:0 0 50% 50%/0 0 100% 100%;height:14px;position:absolute;top:6px;left:0;right:0}.light{width:9px;height:13px;margin-top:calc(10px + (var(--i) - 7) * (var(--i) - 7) * -.2px + 8px);background:var(--c);box-shadow:0 0 10px 2px var(--c);animation:1.8s ease-in-out infinite light-blink;animation-delay:calc(var(--i) * -.23s);border-radius:50% 50% 55% 55%;position:relative}@keyframes light-blink{0%,to{opacity:1}50%{opacity:.35}}.bunting{justify-content:space-around;height:0;display:flex;position:absolute;top:100%;left:0;right:0}.bunting:before{content:"";border-bottom:2px solid #3c141e59;border-radius:0 0 50% 50%/0 0 100% 100%;height:22px;position:absolute;top:-4px;left:0;right:0}.bunting-flag{transform-origin:top;margin-top:calc(14px - (var(--i) - 5) * (var(--i) - 5) * .5px);animation:3s ease-in-out infinite alternate bunting-sway;animation-delay:calc(var(--i) * -.3s);position:relative}.dk-flag{background:linear-gradient(#fff,#fff) 9px 0/4px 100% no-repeat,linear-gradient(#fff,#fff) 0 7.5px/100% 4px no-repeat,#c8102e;border-radius:2px;width:26px;height:19px;display:block;box-shadow:0 2px 4px #00000040}@keyframes bunting-sway{0%{transform:rotate(-7deg)}to{transform:rotate(7deg)}}.season-tagline{color:var(--accent);margin:4px 0 0;font-weight:600}.birthday-card{text-align:center;background:color-mix(in srgb, var(--accent-2) 22%, var(--surface));font-weight:700}.birthday-age{color:#c8102e;text-shadow:0 4px #ffc400;font-size:5rem;font-weight:900;line-height:1;animation:.7s cubic-bezier(.2,1.4,.4,1) pop-in}@media (prefers-reduced-motion:reduce){.sd,.spider,.spider-thread,.spider-body,.light,.bunting-flag{animation:none}.sd-fall,.sd-rise,.sd-fly{display:none}}.offline-banner{border-radius:var(--radius);background:color-mix(in srgb, #f6a23a 22%, var(--surface));border:1px solid #f6a23a8c;align-items:center;gap:10px;margin:4px 0 12px;padding:10px 14px;font-weight:600;display:flex}.wall{cursor:none;-webkit-user-select:none;user-select:none;gap:2vh;min-height:100dvh;padding:2vh 3vw 3vh;font-size:clamp(16px,2.3vh,30px)}.wall-header{z-index:5;grid-template-columns:1fr auto 1fr;align-items:center;gap:2vw;display:grid;position:relative}.wall-clock{flex-direction:column;display:flex}.wall-time{font-variant-numeric:tabular-nums;font-size:3.4em;font-weight:800;line-height:1}.wall-date{color:var(--muted)}.wall-date:first-letter{text-transform:uppercase}.wall-title{text-align:center;flex-direction:column;align-items:center;font-size:1.5em;display:flex}.wall-weather{justify-content:flex-end;align-items:center;gap:1vw;display:flex}.wall-feel{font-size:3em;line-height:1}.wall-weather-text{flex-direction:column;align-items:flex-end;display:flex}.wall-clothes{letter-spacing:.15em;font-size:1.6em}.wall-gear{opacity:.15;cursor:pointer;background:0 0;border:0;align-self:flex-start;font-size:1.1em}.wall-body{z-index:1;flex-direction:column;flex:1;gap:2vh;display:flex;position:relative}.wall-birthday{border-radius:var(--radius);background:color-mix(in srgb, var(--accent-2) 30%, var(--surface));justify-content:center;gap:2vw;padding:1.2vh 2vw;font-size:1.5em;display:flex}.wall-profiles{grid-template-columns:repeat(min(var(--n), 4), minmax(0, 1fr));flex:1;align-content:start;gap:1.6vw;display:grid}.wall-card{background:var(--surface);color:var(--text);border:2px solid var(--border);box-shadow:var(--shadow);font-family:var(--font);border-radius:24px;flex-direction:column;gap:1vh;padding:1.6vh 1.4vw;display:flex}.wall-card.is-ready{border-color:var(--ok)}.wall-card-head{align-items:center;gap:.6em;display:flex}.wall-card-head h2{flex:1;margin:0;font-size:1.5em}.wall-avatar{font-size:2.6em;line-height:1}.wall-streak{font-weight:700}.wall-bar{background:var(--border);border-radius:999px;height:1.1vh;min-height:8px;overflow:hidden}.wall-bar>span{background:var(--accent);height:100%;transition:width .6s;display:block}.wall-card.is-ready .wall-bar>span{background:var(--ok)}.wall-status{margin:0;font-weight:700}.wall-open{color:var(--muted);flex-direction:column;gap:.3em;margin:0;padding:0;list-style:none;display:flex}.wall-next,.wall-pack{margin:0}.wall-pack.is-done{color:var(--ok)}.wall-bottom{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.6vw;display:grid}.wall-panel .card-title{margin-top:0}.wall-list{flex-direction:column;gap:.4em;margin:0;padding:0;list-style:none;display:flex}.wall-list .is-done{opacity:.6;text-decoration:line-through}.wall-goal-status{color:var(--accent);font-weight:700}@media (width<=700px){.wall-header{text-align:center;grid-template-columns:1fr}.wall-weather,.wall-weather-text{justify-content:center;align-items:center}}.wall .season-halloween.season-front .sd:first-child{display:none}.install-banner{background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:999px;align-items:center;gap:8px;margin:0 0 12px;padding:6px 6px 6px 12px;font-size:.88rem;font-weight:600;animation:.2s fade-in;display:flex}.picker .install-banner{width:100%;max-width:520px}.install-banner-icon{font-size:1.1rem}.install-banner-text{text-align:left;flex:1;min-width:0}.install-banner-btn{background:var(--accent);color:var(--on-accent,#fff);white-space:nowrap;border-radius:999px;padding:6px 12px;font-weight:750}.install-banner-close{width:30px;height:30px;color:var(--muted);border-radius:50%;flex-shrink:0;font-size:.85rem}.picker .sheet{text-align:left}.install-guide{flex-direction:column;gap:12px;display:flex}.install-guide-iphone{padding-bottom:64px}.install-steps{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.install-step{align-items:flex-start;gap:12px;display:flex}.install-step-n{background:var(--p-accent,var(--accent));color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:28px;height:28px;font-size:.9rem;font-weight:800;display:grid}.install-step-text{flex-direction:column;gap:2px;padding-top:3px;display:flex}.install-icon{vertical-align:-.25em;color:#0a84ff;width:1.25em;height:1.25em}.install-arrow{z-index:60;pointer-events:none;color:#0a84ff;flex-direction:column;align-items:center;gap:2px;font-weight:800;display:flex;position:fixed}.install-arrow-iphone{left:50%;bottom:max(6px, env(safe-area-inset-bottom));animation:1s ease-in-out infinite install-bob-down;translate:-50%}.install-arrow-ipad{animation:1s ease-in-out infinite install-bob-up;top:6px;right:92px}.install-arrow-head{font-size:2rem;line-height:1}.install-arrow-label{white-space:nowrap;background:#fff;border-radius:999px;padding:4px 10px;font-size:.85rem;box-shadow:0 4px 14px #0000002e}[data-theme=cool] .install-banner-btn,[data-theme=cool] .install-step-n{color:#0d1117}@keyframes install-bob-down{50%{transform:translateY(8px)}}@keyframes install-bob-up{50%{transform:translateY(-8px)}}@media (prefers-reduced-motion:reduce){.install-arrow{animation:none}}.parent-content>.install-card{margin-bottom:18px}.install-card .btn{align-self:flex-start}.install-devices{flex-direction:column;gap:4px;margin:0;padding-left:20px;display:flex}.inapp-notice{color:#1d1b22;background:#fff7e0;border:1px solid #f3dfa2;border-radius:14px;flex-direction:column;gap:8px;margin-bottom:16px;padding:14px 16px;display:flex}.inapp-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.inapp-notice a.btn{place-items:center;text-decoration:none;display:inline-grid}
