*{box-sizing:border-box;margin:0}:root{--paper: #FAF6EF;--ink: #1E2B23;--grass: #2E7D4F;--sun: #F4B942;--line: #E5DCCB;--berry: #B4432E;--card: #FFFFFF}html,body{background:var(--paper);color:var(--ink)}body{font-family:Schibsted Grotesk,system-ui,sans-serif;font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased}#root{max-width:480px;margin:0 auto;min-height:100dvh;padding-bottom:88px}h1,h2,h3,.display{font-family:Bricolage Grotesque,Schibsted Grotesk,sans-serif;font-weight:800;letter-spacing:-.02em;line-height:1.08}h1{font-size:1.9rem}h2{font-size:1.25rem}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}.screen{padding:20px 18px 24px}.eyebrow{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--grass);margin-bottom:4px}.day{display:grid;grid-template-columns:58px 1fr;gap:12px;margin-top:22px}.day-rail{text-align:center}.day-rail .dd{font-family:Bricolage Grotesque,sans-serif;font-weight:800;font-size:1.7rem;line-height:1;color:var(--ink)}.day-rail .dd.today{color:var(--grass)}.day-rail .dm{font-size:.72rem;color:#6b6559;margin-top:2px}.day-events{display:flex;flex-direction:column;gap:8px;padding-top:3px}.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 14px}.card .who{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--grass)}.card .what{font-weight:700;margin-top:1px}.card .where{font-size:.85rem;color:#6b6559;margin-top:1px}.card.empty{border-style:dashed;color:#6b6559;background:transparent}.todo{display:flex;align-items:center;gap:10px;background:var(--card);border:1px solid var(--line);border-left:4px solid var(--berry);border-radius:12px;padding:12px 14px;margin-top:10px}.todo .dot{width:9px;height:9px;border-radius:50%;background:var(--berry);flex:none}.kids{display:flex;gap:10px;overflow-x:auto;padding:4px 0 2px}.kid{flex:none;display:flex;flex-direction:column;align-items:center;gap:6px;background:none;border:none;padding:0}.kid .ava{width:58px;height:58px;border-radius:50%;background:var(--grass);color:#fff;display:grid;place-items:center;font-family:Bricolage Grotesque,sans-serif;font-weight:800;font-size:1.35rem;border:3px solid transparent}.kid.active .ava{border-color:var(--sun)}.kid .nm{font-size:.8rem;font-weight:700}.btn{display:block;width:100%;text-align:center;background:var(--grass);color:#fff;border:none;border-radius:12px;padding:14px;font-weight:700;font-size:1rem}.btn.secondary{background:transparent;color:var(--ink);border:1.5px solid var(--ink)}.btn.small{width:auto;display:inline-block;padding:8px 14px;font-size:.9rem;border-radius:10px}.btn:disabled{cursor:default;background:#dcd6ca;border-color:#dcd6ca;color:#4a4438}.btn.secondary:disabled,.btn.ghost:disabled{background:transparent;color:#6b6559}.field{margin-top:14px}.field label{display:block;font-size:.8rem;font-weight:700;margin-bottom:5px}.field input{width:100%;padding:12px;border:1.5px solid var(--line);border-radius:10px;font:inherit;background:#fff}.field input:focus{outline:2px solid var(--grass);border-color:var(--grass)}.pledge-ring{display:flex;align-items:center;gap:16px;margin-top:14px}.ring{position:relative;width:96px;height:96px;flex:none}.ring svg{transform:rotate(-90deg)}.ring .num{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-family:Bricolage Grotesque,sans-serif;font-weight:800;font-size:1.5rem}.stepper{display:flex;align-items:center;gap:12px}.stepper button{width:40px;height:40px;border-radius:50%;border:1.5px solid var(--ink);background:#fff;font-size:1.3rem;font-weight:700}.stepper .val{font-family:Bricolage Grotesque,sans-serif;font-weight:800;font-size:1.4rem;min-width:44px;text-align:center}.product{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}.product .pn{font-weight:700}.product .pp{font-size:.85rem;color:#6b6559}.tabbar{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;display:grid;grid-template-columns:repeat(3,1fr);background:var(--card);border-top:1px solid var(--line);padding:10px 0 max(10px,env(safe-area-inset-bottom))}.tabbar a{text-align:center;font-size:.78rem;font-weight:700;color:#7c766b}.tabbar a.active{color:var(--grass)}.tabbar .ic{font-size:1.25rem;display:block}.notice{background:#fff6e0;border:1px solid var(--sun);border-radius:12px;padding:12px 14px;margin-top:14px;font-size:.9rem}.error{color:var(--berry);font-size:.9rem;margin-top:10px}.muted{color:#6b6559;font-size:.9rem}.spacer{height:20px}.axes{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.axis{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px}.axis .an{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--grass)}.axis .av{font-family:Bricolage Grotesque,sans-serif;font-weight:800;font-size:1.35rem;margin-top:4px}.axis .am{font-size:.78rem;color:#6b6559}@media (prefers-reduced-motion: no-preference){.card,.todo,.axis{transition:transform .12s ease}.card:active,.todo:active{transform:scale(.985)}}.screen-head{display:flex;justify-content:space-between;align-items:start;gap:12px}.who-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.who-chip{display:inline-flex;align-items:center;gap:5px;font:inherit;font-size:.78rem;font-weight:700;line-height:1;padding:7px 11px;min-height:32px;border:1px solid var(--line);border-radius:999px;background:var(--bg);color:var(--ink);cursor:pointer}.who-chip:disabled{opacity:.6;cursor:default}.who-chip.off{background:#f4efe6;color:#6b6559;border-style:dashed;text-decoration:line-through;text-decoration-thickness:1px}.who-chip.off svg{text-decoration:none}.who-chip.ja{border-color:var(--grass);color:var(--grass)}.sheet-wrap{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:#1e1a146b;display:flex;align-items:flex-end;justify-content:center}.sheet{width:100%;max-width:480px;background:var(--card);border-radius:20px 20px 0 0;padding:22px 18px max(22px,env(safe-area-inset-bottom));box-shadow:0 -8px 30px #00000024}.sheet h2{font-family:Bricolage Grotesque,sans-serif;font-weight:800;font-size:1.3rem;margin-top:2px}.btn.wide{width:100%;margin-top:8px}.btn.ghost{background:transparent;color:#6b6559;border:1px solid transparent}.tabbar .ic{display:block;line-height:0}.tabbar .ic svg{display:inline-block}.axis-group{margin-top:22px}.axis-head{font-family:Bricolage Grotesque,sans-serif;font-weight:800;font-size:1.05rem;margin-bottom:8px}.test-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:10px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin-top:8px}.test-name{font-weight:700}.test-sub{font-size:.8rem;color:#6b6559;margin-top:2px}.link-btn{grid-column:1 / -1;justify-self:start;display:inline-flex;align-items:center;gap:4px;font:inherit;font-size:.8rem;font-weight:700;color:var(--grass);background:none;border:0;padding:4px 0 0;cursor:pointer}.link-btn svg{transition:transform .15s ease}.protocol{grid-column:1 / -1;margin:6px 0 0;padding-left:18px;font-size:.85rem;color:#6b6559}.protocol li{margin-top:3px}.meet-veld{display:flex;align-items:baseline;gap:8px}.meet-veld input{flex:1;min-width:0;font:inherit;font-family:Bricolage Grotesque,sans-serif;font-weight:800;font-size:2rem;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--ink)}.meet-veld .eenheid{font-weight:700;color:#6b6559}.warn{margin-top:8px;font-size:.85rem;color:#8a5a1b;background:#fff6e0;border:1px solid var(--sun);border-radius:10px;padding:8px 10px}.muted.small{font-size:.8rem;margin-top:8px}.charts{margin-top:4px}.chart{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 14px 10px;margin-top:10px}.chart-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.chart-as{font-weight:700}.chart-meta{font-size:.78rem;color:#6b6559;margin-top:1px}.chart-pct{text-align:right;line-height:1}.chart-pct .p{display:block;font-family:Bricolage Grotesque,sans-serif;font-weight:800;font-size:1.45rem;color:var(--grass)}.chart-pct .l{font-size:.7rem;color:#6b6559}.chart-svg{width:100%;height:104px;margin-top:8px;display:block;overflow:visible}.chart-mid{stroke:var(--line);stroke-width:1;stroke-dasharray:3 4;vector-effect:non-scaling-stroke}.chart-line{fill:none;stroke:var(--grass);stroke-width:2;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}.chart-dot{fill:var(--card);stroke:var(--grass);stroke-width:2;vector-effect:non-scaling-stroke}.chart-dot.laatste{fill:var(--grass)}.chart-foot{display:flex;justify-content:space-between;font-size:.7rem;color:#6b6559;margin-top:2px}.chart-trend{font-size:.8rem;color:#6b6559;margin-top:6px}.chart-midlabel{font-size:9px;fill:#6b6559;letter-spacing:.02em}.knoprij{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.veldlabel{display:block;font-size:.78rem;font-weight:700;color:#6b6559;margin:12px 0 5px}.keuze,.tekstveld{width:100%;font:inherit;font-size:1rem;padding:11px 12px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--ink)}.tekstveld+.tekstveld{margin-top:8px}.chips{display:flex;gap:6px;flex-wrap:wrap}.chip{font:inherit;font-size:.85rem;font-weight:700;padding:9px 14px;min-height:40px;border:1px solid var(--line);border-radius:999px;background:var(--bg);color:var(--ink);cursor:pointer}.chip.aan{background:var(--grass);border-color:var(--grass);color:#fff}.axis.leeg{background:transparent;border-style:dashed}.axis .op100{font-size:.8rem;font-weight:700;color:#6b6559;margin-left:2px}.axis .aklein{font-size:.72rem;color:#6b6559;margin-top:4px}.uitslag-kop{font-size:1.3rem}.uitslag-record{margin-top:10px;font-weight:700;color:var(--grass);font-size:.95rem}.uitslag-pct{margin-top:8px;font-size:.85rem;color:#6b6559}.chart-legende{list-style:none;margin:8px 0 0;padding:0}.chart-legende li{display:flex;align-items:baseline;gap:8px;font-size:.8rem;margin-top:4px}.chart-legende .lg-kleur{flex:0 0 auto;width:10px;height:10px;border-radius:3px;transform:translateY(1px)}.chart-legende .lg-naam{flex:1 1 auto;min-width:0}.chart-legende .lg-waarde{flex:0 0 auto;color:#6b6559}.lever{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--sun);border-radius:14px;padding:12px 14px;margin-top:10px}.lever.klaar{border-left-color:var(--grass)}.lever-kop{display:flex;justify-content:space-between;align-items:baseline;gap:10px}.lever-bedrag{font-family:Bricolage Grotesque,sans-serif;font-weight:800}.lever-regels{list-style:none;margin:8px 0 10px;padding:0;font-size:.85rem}.lever-regels li{display:flex;justify-content:space-between;gap:10px;margin-top:3px}.productlijst{list-style:none;margin:10px 0 0;padding:0;font-size:.9rem}.productlijst li{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}.weekbars{display:flex;align-items:flex-end;gap:5px;height:64px;margin-top:10px}.weekbars .wb{flex:1;background:var(--grass);border-radius:4px 4px 2px 2px}.weekbars .wb.nul{background:var(--line)}.spel{text-align:center;margin-top:10px}.spel h1{margin-top:6px}.spel .chips{justify-content:center}.spel-woord{font-family:Bricolage Grotesque,sans-serif;font-weight:800;font-size:2.4rem;margin:34px 0}.spel-uitslag{margin-top:20px}.spel-score{font-weight:700;margin-bottom:12px}.simon{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:18px auto;max-width:300px}.simon-vak{aspect-ratio:1;border:0;border-radius:16px;cursor:pointer;opacity:.45;transition:opacity .12s linear}.simon-vak.aan{opacity:1}.simon-vak:disabled{cursor:default}.simon.rustig .simon-vak{transition:none;opacity:.6}.simon.rustig .simon-vak.aan{opacity:1;outline:4px solid var(--ink);outline-offset:-8px}.tikvak{width:100%;min-height:220px;margin-top:18px;border:1px solid var(--line);border-radius:18px;background:#e8e2d6;color:#6b6559;font:inherit;font-size:1.3rem;font-weight:800;cursor:pointer}.tikvak.go{background:var(--grass);color:#fff;border-color:var(--grass)}.vormdoel{margin:26px 0}.vormrij{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:16px}.vormknop{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:10px;cursor:pointer;line-height:0}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;transition-duration:.001ms!important}}.prestaties{margin-top:20px}.streak{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 14px}.streak-getal{font-family:Bricolage Grotesque,sans-serif;font-weight:800;font-size:1.6rem;color:var(--grass);line-height:1}.streak-tekst{font-size:.85rem;color:#6b6559}.badgerij{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.badge{font-size:.76rem;font-weight:700;padding:6px 11px;border-radius:999px;background:#eef3ee;color:#24503a;border:1px solid #CFE0D4}.badge.mijlpaal{background:#fbf2de;color:#6b4a12;border-color:#ebd9ae}.keuzekaart{display:block;width:100%;text-align:left;font:inherit;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:16px;margin-bottom:10px;cursor:pointer}.keuzekaart .kk-titel{display:block;font-weight:700;font-size:1.05rem}.keuzekaart .kk-uitleg{display:block;font-size:.85rem;color:#6b6559;margin-top:4px}.kindblok{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:12px 14px;margin-top:10px}.kindblok-kop{display:flex;justify-content:space-between;align-items:center;font-size:.78rem;font-weight:700;color:#6b6559;text-transform:uppercase;letter-spacing:.06em}.kindblok .link-btn{padding:0}.keuzescheiding{display:flex;align-items:center;gap:10px;margin:18px 0 10px;font-size:.78rem;font-weight:700;color:#7c766b;text-transform:uppercase;letter-spacing:.06em}.keuzescheiding:before,.keuzescheiding:after{content:"";flex:1 1 auto;height:1px;background:var(--line)}.keuzekaart.stil{background:transparent;border-style:dashed}.keuzekaart.stil .kk-titel{font-size:.98rem}.keuzekaart.klein{padding:11px 13px;margin-top:8px;margin-bottom:0}.keuzekaart.klein .kk-titel{font-size:.95rem}.keuzekaart.aan{border-color:var(--grass);box-shadow:inset 0 0 0 1px var(--grass)}.link-btn.stil{color:#6b6559;font-weight:400;margin-top:10px}.stil-gekozen{margin-top:10px}.notice.gelukt{background:#eef3ee;border-color:#cfe0d4;color:#24503a}.codeblok{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px;margin-top:12px;text-align:center}.codewaarde{font-family:Bricolage Grotesque,sans-serif;font-weight:800;font-size:1.7rem;letter-spacing:.06em;margin-bottom:4px}.codeblok .btn{margin-top:12px}
