@font-face{font-family:Fredoka;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/fredoka-latin-600.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fredoka;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/fredoka-latin-700.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fredoka;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/fredoka-latin-ext-600.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fredoka;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/fredoka-latin-ext-700.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Andika;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/andika-latin-400.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Andika;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/andika-latin-700.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Andika;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/andika-latin-ext-400.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Andika;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/andika-latin-ext-700.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
:root{--f-display:"Fredoka", "Andika", system-ui, sans-serif;--f-body:"Andika", system-ui, -apple-system, "Segoe UI", sans-serif;--bg:#f6f4fa;--fg:#231d33;--card:#fff;--accent:#5b46b8;--accent-fg:#fff;--accent-edge:#3f2d97;--soft:#ece8f7;--sub:#5d5672;--line:#e1dcee;--edge:#e1dcee;--bad:#b3261e;--bad-soft:#fde8e6;--ok:#1e7a46;--ok-soft:#e3f5ea;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#17141f;--fg:#f2eef9;--card:#221d2e;--accent:#a998ff;--accent-fg:#17141f;--accent-edge:#6f5fd0;--soft:#2c2540;--sub:#a59fb8;--line:#393150;--edge:#0d0b12;--bad:#ff8a80;--bad-soft:#3a1f22;--ok:#7ddca0;--ok-soft:#1c3326;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:var(--bg);color:var(--fg);font-size:18px;line-height:1.5;font-family:var(--f-body);padding:max(24px, env(safe-area-inset-top)) 16px max(24px, env(safe-area-inset-bottom))}a{color:var(--accent)}h1,h2{font-family:var(--f-display);text-wrap:balance;font-weight:600}h1{margin:0 0 8px;font-size:1.9rem;line-height:1.15}h2{margin:0 0 8px;font-size:1.3rem;line-height:1.2}p{margin:0 0 12px}.page{max-width:30rem;margin:0 auto}.page.wide{max-width:44rem}.brand{font:600 1.35rem var(--f-display);color:var(--accent);margin-bottom:20px;text-decoration:none;display:inline-block}.card{background:var(--card);box-shadow:0 6px 0 var(--edge);border-radius:28px;padding:28px 24px}.card+.card{margin-top:16px}.muted{color:var(--sub)}.small{font-size:.9rem}form.stack,.stack{flex-direction:column;gap:14px;display:flex}label.field{flex-direction:column;gap:6px;font-weight:600;display:flex}input[type=email],input[type=password],input[type=text],input[type=time]{font:inherit;border:2px solid var(--line);background:var(--bg);min-height:52px;color:var(--fg);border-radius:16px;width:100%;padding:12px 16px}input:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:2px}label.check{align-items:flex-start;gap:10px;font-weight:400;display:flex}label.check input{width:22px;height:22px;accent-color:var(--accent);flex:none;margin-top:2px}.btn{white-space:nowrap;font:600 1.05rem var(--f-display);cursor:pointer;background:var(--soft);min-height:52px;color:var(--fg);text-align:center;box-shadow:0 4px 0 var(--line);border:0;border-radius:999px;justify-content:center;align-items:center;padding:12px 24px;text-decoration:none;display:inline-flex}.btn:active{box-shadow:0 1px 0 var(--line);transform:translateY(3px)}.btn.primary{background:var(--accent);color:var(--accent-fg);box-shadow:0 4px 0 var(--accent-edge)}.btn.primary:active{box-shadow:0 1px 0 var(--accent-edge)}.btn:disabled{opacity:.5;transform:none}.btn.block{width:100%}.or{color:var(--sub);align-items:center;gap:12px;margin:4px 0;font-size:.9rem;display:flex}.or:before,.or:after{content:"";background:var(--line);flex:1;height:1px}.notice{border-radius:18px;padding:12px 16px}.notice.bad{background:var(--bad-soft);color:var(--bad)}.notice.ok{background:var(--ok-soft);color:var(--ok)}.code{font:700 1.8rem var(--f-display);letter-spacing:.08em;overflow-wrap:anywhere;font-size:clamp(1.25rem,6.5vw,1.8rem)}.invite-stats{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr));gap:12px;display:grid}.invite-stat{background:var(--soft);border-radius:18px;padding:12px 14px}.invite-stat b{font:700 1.5rem var(--f-display);display:block}.row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.draft{border:2px dashed var(--line);border-radius:12px;padding:12px 14px}select{font:inherit;border:2px solid var(--line);background:var(--bg);min-height:52px;color:var(--fg);border-radius:16px;width:100%;padding:12px 16px}fieldset.pick{border:0;flex-direction:column;gap:8px;margin:0;padding:0;display:flex}.sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.avatars{grid-template-columns:repeat(auto-fill,minmax(56px,1fr));gap:8px;display:grid}.avatar{background:var(--bg);border:2px solid var(--line);cursor:pointer;border-radius:18px;justify-content:center;align-items:center;height:56px;font-size:2rem;display:flex;position:relative}.avatar input{opacity:0;cursor:pointer;position:absolute;inset:0}.avatar:has(input:checked){border-color:var(--accent);background:var(--soft)}.avatar:has(input:focus-visible){outline:3px solid var(--accent);outline-offset:2px}.tags{flex-wrap:wrap;gap:8px;display:flex}.tag{position:relative}.tag input{opacity:0;cursor:pointer;position:absolute;inset:0}.tag span{border:2px solid var(--line);background:var(--bg);border-radius:999px;padding:8px 14px;display:inline-block}.tag:has(input:checked) span{border-color:var(--accent);background:var(--soft);font-weight:600}.tag:has(input:focus-visible) span{outline:3px solid var(--accent);outline-offset:2px}input.pin{letter-spacing:.3em;text-align:center;width:7rem}.kids{gap:12px;display:grid}.kid{background:var(--bg);border-radius:22px;flex-wrap:wrap;align-items:center;gap:10px;padding:14px;display:flex}.kid-main{min-width:12rem;color:var(--fg);flex:1;align-items:center;gap:14px;text-decoration:none;display:flex}.kid .face{font-size:2.4rem;line-height:1}.kid .who{flex:1;min-width:0}.kid .who b{font:700 1.15rem var(--f-display);display:block}.btn.danger{background:var(--bad-soft);color:var(--bad);box-shadow:0 4px 0 color-mix(in srgb, var(--bad) 30%, transparent)}body:has(.play){--bg:#2b3157;--fg:#f4f2fa;--sub:#dfe2f5;--card:#f4f2fa;--soft:#e6e2f2;--line:#c9c4dc;--edge:#1b1f3d;--accent:#ff9a4d;--accent-fg:#1a0f05;--accent-edge:#b9662a;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.play .card,.pick-kid{--fg:#1d1c30;--sub:#4a4866;color:var(--fg)}.play .card a{color:#a85200}.play .brand,.play-foot a{color:var(--fg)}.play input{background:#fff}.play-title{text-align:center;font:600 2.4rem var(--f-display);margin:8px 0 24px}.pick-kids{grid-template-columns:repeat(auto-fit,minmax(150px,190px));justify-content:center;gap:18px;display:grid}.pick-kid{background:var(--card);box-shadow:0 6px 0 var(--edge);border-radius:28px;flex-direction:column;align-items:center;gap:8px;padding:22px 12px;text-decoration:none;display:flex}.pick-kid:active{box-shadow:0 3px 0 var(--edge);transform:translateY(3px)}.pick-kid .face{font-size:4rem;line-height:1}.pick-kid .nick{font:700 1.3rem var(--f-display);text-align:center}.play-foot{text-align:center;font:600 1.05rem var(--f-display);margin-top:32px}.center{text-align:center;align-items:center}.face.big{font-size:5rem;line-height:1}.code-input{text-transform:uppercase;letter-spacing:.08em;font:700 1.5rem var(--f-display);text-align:center;font-size:clamp(1.1rem,5.5vw,1.5rem)}.pinpad{align-items:center;width:100%}.pinpad .dots{justify-content:center;gap:14px;display:flex}.pinpad .dots i{border:3px solid var(--accent-edge);border-radius:50%;width:20px;height:20px}.pinpad .dots i.on{background:var(--accent);border-color:var(--accent)}.pinpad .keys{grid-template-columns:repeat(3,76px);justify-content:center;gap:12px;display:grid}.key{font:700 1.9rem var(--f-display);color:#1d1c30;cursor:pointer;height:68px;box-shadow:0 4px 0 var(--line);background:#fff;border:0;border-radius:18px}.key:active{box-shadow:0 1px 0 var(--line);transform:translateY(3px)}.key.fn{background:var(--soft);font-size:1.4rem}.key.go{background:var(--accent);color:var(--accent-fg);box-shadow:0 4px 0 var(--accent-edge);font-size:1.3rem}.key:disabled{opacity:.4;cursor:default;transform:none}.time-line{flex-wrap:wrap;align-items:flex-end;gap:10px;margin-top:4px;display:flex}.week{align-items:flex-end;gap:3px;height:28px;display:inline-flex}.week i{background:var(--accent);opacity:.8;border-radius:3px;width:8px;display:block}.meter{background:var(--line);border-radius:6px;max-width:360px;height:12px;display:block;overflow:hidden}.meter i{background:var(--accent);border-radius:6px;height:100%;display:block}.plans{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.plan{border:2px solid var(--line);border-radius:20px;flex-direction:column;gap:8px;padding:16px;display:flex}.plan .price{font-size:1.6rem;font-weight:600}label.plan{cursor:pointer;font-weight:400;position:relative}label.plan input[type=radio]{width:22px;height:22px;accent-color:var(--accent);position:absolute;top:16px;right:16px}label.plan.picked{border-color:var(--accent);background:var(--soft)}.agree-renewal{border-top:2px solid var(--line);gap:8px;padding-top:14px}.week i:last-child{opacity:1}.card.ask{border:2px solid var(--accent)}.page>.notice{margin-bottom:16px}.page>.row:first-child{margin-bottom:20px}.row>.brand{margin-bottom:0}.kid-main:active{transform:translateY(2px)}.avatar:active,.tag:active span{background:var(--soft);border-color:var(--accent)}.btn,.key,.pick-kid,.kid-main{transition:transform 80ms ease-out,box-shadow 80ms ease-out,opacity .15s}.busy{pointer-events:none;opacity:.8}.btn.busy,.key.busy{box-shadow:0 1px 0 var(--line);transform:translateY(3px)}.btn.primary.busy,.key.go.busy{box-shadow:0 1px 0 var(--accent-edge)}.btn.busy:after,.key.busy:after{content:"";border:2.5px solid;border-right-color:#0000;border-radius:50%;flex:none;width:.95em;height:.95em;margin-left:10px;animation:.7s linear infinite spin;display:inline-block}.key.go.busy{font-size:0}.key.go.busy:after{width:22px;height:22px;margin:0}.pick-kid.busy,.kid-main.busy{opacity:.6}@keyframes spin{to{transform:rotate(360deg)}}.navbar{z-index:100;pointer-events:none;opacity:0;background:linear-gradient(90deg, transparent, var(--accent), transparent) 0 0 / 40% 100% no-repeat;height:4px;transition:opacity .2s;position:fixed;top:0;left:0;right:0}.navbar.on{opacity:1;animation:1.1s ease-in-out infinite navbar}@keyframes navbar{0%{background-position:-40% 0}to{background-position:140% 0}}@media (prefers-reduced-motion:reduce){.btn.busy:after,.key.busy:after,.navbar.on{animation-duration:2.4s}.btn,.key,.pick-kid,.kid-main{transition:none}}:root{--warm:#b9662a;--warm-soft:#fff1e4;--mark:#ffe2c2}@media (prefers-color-scheme:dark){:root{--warm:#ffb27a;--warm-soft:#3a2a1c;--mark:#6b4320}}.help-choices{gap:12px;display:grid}.help-choice{min-height:72px;color:var(--fg);background:var(--soft);box-shadow:0 4px 0 var(--line);border-radius:20px;align-items:center;gap:14px;padding:16px 18px;text-decoration:none;display:flex}.help-choice svg{color:var(--accent);flex:none}.help-choice b{font:600 1.15rem var(--f-display);display:block}.help-choice:active{box-shadow:0 1px 0 var(--line);transform:translateY(3px)}.help-kids{flex-wrap:wrap;gap:8px;display:flex}.help-kid{border:2px solid var(--line);cursor:pointer;border-radius:999px;align-items:center;gap:8px;min-height:48px;padding:8px 14px;display:inline-flex}.help-kid:has(input:checked){border-color:var(--accent);background:var(--soft)}.help-kid input{accent-color:var(--accent)}fieldset.pick{border:0;margin:0;padding:0}fieldset.pick legend{margin-bottom:8px;padding:0;font-weight:600}textarea{font:inherit;color:inherit;background:var(--card);border:2px solid var(--line);resize:vertical;border-radius:18px;width:100%;padding:12px 14px;font-weight:400}.reminder{background:var(--soft);border-radius:14px;padding:10px 14px}.card.warn{border:2px solid var(--warm);background:var(--warm-soft);box-shadow:none;padding:18px 20px}.marked{white-space:pre-wrap;margin:0}mark{background:var(--mark);color:inherit;border-radius:4px;padding:0 2px}.tickets{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.tickets li+li{border-top:1px solid var(--line)}.ticket-row{color:var(--fg);flex-direction:column;gap:2px;min-height:48px;padding:12px 0;text-decoration:none;display:flex}.ticket-subject{align-items:center;gap:8px;font-weight:600;display:flex}.dot{background:var(--accent);border-radius:50%;flex:none;width:10px;height:10px;display:inline-block}.thread{flex-direction:column;gap:12px;margin:16px 0;padding:0;list-style:none;display:flex}.msg{background:var(--card);box-shadow:0 4px 0 var(--edge);border-radius:22px;max-width:92%;padding:14px 18px}.msg.parent{background:var(--soft);align-self:flex-end}.msg.staff{border-left:4px solid var(--accent);align-self:flex-start}.msg p{margin:0 0 4px}.msg-body{white-space:pre-wrap;overflow-wrap:anywhere}.status{margin:0}.whats-new ul{margin:0 0 12px;padding-left:1.3em}.card.news{border:2px solid var(--accent)}h3.sub-h{font:600 1.05rem var(--f-display);margin:8px 0 0}.pbar{flex-wrap:wrap;align-items:center;gap:6px;max-width:44rem;margin:-8px auto 20px;display:flex}.pbar-logo{font:600 1.35rem var(--f-display);color:var(--accent);margin-right:auto;padding:8px 4px;text-decoration:none}.pbar-item{min-height:44px;color:var(--fg);border-radius:999px;align-items:center;gap:6px;padding:8px 14px;font-weight:600;text-decoration:none;display:inline-flex}.pbar-item[aria-current=page]{background:var(--soft);color:var(--accent)}.back{margin-bottom:14px;font-weight:600;text-decoration:none;display:inline-block}@media (max-width:420px){.pbar-logo{flex-basis:100%;padding-bottom:0}.pbar-item{padding:8px 12px}}.settings-list{margin:0;padding:0;list-style:none}.settings-list li+li{border-top:1px solid var(--line)}.settings-row{min-height:60px;color:var(--fg);align-items:center;gap:12px;padding:10px 2px;text-decoration:none;display:flex}.settings-row b{flex:1;font-weight:600}.settings-row .state{color:var(--sub);text-align:right;align-items:center;gap:6px;font-size:.92rem;display:inline-flex}.settings-row:after{content:"›";color:var(--sub);font-size:1.4rem;line-height:1}.device-row{align-items:center;gap:12px;padding:12px 2px;display:flex}.device-row .who{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.device-row .tag{background:var(--soft);color:var(--accent);border-radius:999px;margin-left:6px;padding:1px 8px;font-size:.8rem;font-weight:600;display:inline-block}body:has(main.page:not(.wide)) .pbar{max-width:30rem}.thumbs{flex-wrap:wrap;gap:10px;display:flex}.thumb{flex-direction:column;align-items:center;gap:6px;display:inline-flex}.thumb img{object-fit:cover;border:2px solid var(--line);border-radius:14px;width:96px;height:96px}.btn.small-btn{min-height:36px;padding:4px 12px;font-size:.85rem}.file-btn{cursor:pointer;align-self:flex-start}.file-btn:focus-within{outline:3px solid var(--accent);outline-offset:2px}.bad-text{color:var(--bad)}.msg-pics{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.msg-pics img{object-fit:cover;border:2px solid var(--line);background:var(--card);border-radius:14px;width:120px;height:120px}.msg-pics .gone{color:var(--sub);font-size:.85rem}.entry-media{gap:12px;margin:4px 0 8px;display:grid}.entry-media img,.entry-media video{background:var(--soft);border-radius:18px;width:100%;height:auto;display:block}.btn.like{align-items:center;gap:8px;display:inline-flex}.btn.like.on{color:var(--accent)}.setup-steps{margin:0 4px 12px}.setup-steps p{color:var(--sub);margin:0 0 6px}.setup-steps ol{gap:6px;margin:0;padding:0;list-style:none;display:flex}.setup-steps li{background:var(--line);border-radius:3px;flex:1;height:6px}.setup-steps li.done{background:var(--accent)}
