:root{--color-primary:#2f3a8f;--color-primary-text:#fff;--color-background:#f4f5fb;--color-surface:#fff;--color-text:#1c1f33;--color-text-muted:#5a5f7a;--color-border:#d7d9e8;--color-error:#b3261e;--radius:.75rem;--space:1rem;--tap-target:2.75rem;color:var(--color-text);background:var(--color-background);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}@media (prefers-color-scheme:dark){:root{--color-primary:#8b96f0;--color-primary-text:#10122a;--color-background:#12142a;--color-surface:#1c1f3d;--color-text:#eceefc;--color-text-muted:#a4a9cc;--color-border:#343862;--color-error:#ff8a80}}*,:before,:after{box-sizing:border-box}body{background:var(--color-background);min-height:100vh;color:var(--color-text);margin:0}h1,h2{margin:0 0 var(--space);line-height:1.2}a{color:var(--color-primary)}.brand{color:var(--color-primary);font-weight:700}.brand-large{margin:0 0 var(--space);font-size:2rem}.shell{flex-direction:column;min-height:100vh;display:flex}.shell-header{justify-content:space-between;align-items:center;gap:var(--space);padding:.5rem var(--space);background:var(--color-surface);border-bottom:1px solid var(--color-border);display:flex}.shell-nav{margin-left:var(--space);flex:1;gap:.25rem;display:flex}.shell-nav a{min-height:var(--tap-target);color:var(--color-text-muted);border-radius:calc(var(--radius) / 2);align-items:center;padding:0 .75rem;text-decoration:none;display:inline-flex}.shell-nav a.active{color:var(--color-primary);background:var(--color-background);font-weight:600}.shell-user{color:var(--color-text-muted);align-items:center;gap:.75rem;display:flex}.shell-main{width:100%;max-width:48rem;padding:var(--space);flex:1;margin:0 auto}.centered{min-height:100vh;padding:var(--space);flex-direction:column;justify-content:center;align-items:center;display:flex}.card{width:100%;max-width:28rem;padding:calc(var(--space) * 1.5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius)}.form{gap:var(--space);flex-direction:column;display:flex}.form label{flex-direction:column;gap:.35rem;font-weight:600;display:flex}input{min-height:var(--tap-target);font:inherit;color:var(--color-text);background:var(--color-background);border:1px solid var(--color-border);border-radius:calc(var(--radius) / 2);padding:0 .75rem}.button{min-height:var(--tap-target);font:inherit;color:var(--color-primary-text);background:var(--color-primary);border-radius:calc(var(--radius) / 2);cursor:pointer;border:0;padding:0 1.25rem;font-weight:600}.button:disabled{opacity:.6;cursor:progress}.button-quiet{color:var(--color-primary);border:1px solid var(--color-border);background:0 0}.hint,.notice{color:var(--color-text-muted)}.error{color:var(--color-error);margin:0}:focus-visible{outline:3px solid var(--color-primary);outline-offset:2px}.settings-page{gap:var(--space);flex-direction:column;display:flex}.settings-page .card,.settings-section{max-width:none}.setting-row{justify-content:space-between;align-items:flex-start;gap:var(--space);padding:var(--space) 0;border-top:1px solid var(--color-border);display:flex}.settings-section h2+.setting-row,.settings-section .person-picker+div>.setting-row:first-child{border-top:0}.setting-text{flex:1}.setting-text label{font-weight:600}.setting-text .hint{margin:.25rem 0 0}.setting-control{flex-direction:column;align-items:flex-end;gap:.35rem;min-width:8rem;display:flex}.setting-control select,.number-input{min-height:var(--tap-target);max-width:12rem;font:inherit;color:var(--color-text);background:var(--color-background);border:1px solid var(--color-border);border-radius:calc(var(--radius) / 2)}.number-input{width:8rem}.switch{width:3rem;height:1.75rem;accent-color:var(--color-primary);cursor:pointer;margin:.4rem 0}.chip{color:var(--color-text-muted);font-size:.85rem}.link-button{font:inherit;color:var(--color-primary);cursor:pointer;background:0 0;border:0;padding:.35rem 0;font-size:.9rem;text-decoration:underline}.link-button:disabled{opacity:.6;cursor:progress}.advanced-toggle,.person-picker{align-items:center;gap:.5rem;font-weight:600;display:flex}.person-picker{margin-bottom:var(--space);flex-direction:column;align-items:flex-start}.person-picker select{min-height:var(--tap-target);font:inherit;color:var(--color-text);background:var(--color-background);border:1px solid var(--color-border);border-radius:calc(var(--radius) / 2)}@media (width<=30rem){.setting-row{flex-direction:column}.setting-control{flex-direction:row;align-items:center;min-width:0}}.kid-card{text-align:center}.kid-choices{gap:var(--space);grid-template-columns:repeat(auto-fit,minmax(7rem,1fr));display:grid}.kid-choice{min-height:5rem;padding:var(--space);font:inherit;color:var(--color-primary-text);background:var(--color-primary);border-radius:var(--radius);cursor:pointer;border:0;font-size:1.25rem;font-weight:700}.pin-pad{align-items:center;gap:var(--space);margin:var(--space) 0;flex-direction:column;display:flex}.pin-dots{gap:.75rem;margin:0;display:flex}.pin-dot{border:2px solid var(--color-primary);border-radius:50%;width:1.25rem;height:1.25rem}.pin-dot-filled{background:var(--color-primary)}.pin-keys{grid-template-columns:repeat(3,4.5rem);gap:.75rem;display:grid}.pin-key{height:4.5rem;font:inherit;color:var(--color-text);background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius);cursor:pointer;font-size:1.75rem;font-weight:700}.pin-key:disabled{opacity:.6;cursor:progress}.page-title{justify-content:space-between;align-items:center;gap:var(--space);display:flex}.page-title h1{margin:0}a.button{align-items:center;text-decoration:none;display:inline-flex}.chore-card h2{margin-bottom:.25rem}.chore-card .hint{margin:.25rem 0 var(--space)}.chore-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.chore-form{max-width:36rem}.chore-form textarea,.chore-form select{font:inherit;color:var(--color-text);background:var(--color-background);border:1px solid var(--color-border);border-radius:calc(var(--radius) / 2)}.chore-form textarea{padding:.5rem .75rem}.chore-form select{min-height:var(--tap-target)}fieldset{border:0;flex-direction:column;gap:.5rem;margin:0;padding:0;display:flex}legend{margin-bottom:.35rem;font-weight:600}.form .choice{flex-direction:row;align-items:center;gap:.5rem;font-weight:400;display:flex}.weekday-row{flex-wrap:wrap;gap:.25rem 1rem;display:flex}.form .field{flex-direction:column;gap:.35rem;display:flex}.form .field label{font-weight:600}.home,.my-chores{gap:var(--space);flex-direction:column;display:flex}.my-chores h2,.chore-group h3{margin:0}.balance{margin:0;font-size:1.25rem}.balance strong{color:var(--color-primary);font-size:1.75rem}.week-history{gap:var(--space);display:grid}.week-summary{margin:0;font-size:1.1rem}.celebrate{padding:var(--space);background:var(--color-surface);border:2px solid var(--color-primary);border-radius:var(--radius);margin:0;font-size:1.1rem;font-weight:600}.chore-group{flex-direction:column;gap:.75rem;display:flex}.chore-items{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.chore-item{max-width:none}.chore-item h4{margin:0 0 .25rem;font-size:1.15rem}.chore-item p{margin:.25rem 0}.big-button{width:100%;min-height:3.5rem;margin-top:.5rem;font-size:1.2rem}.sent-back{color:var(--color-error);font-weight:600}.done-line{color:var(--color-primary);font-weight:700}.points-form{margin-top:var(--space);padding-top:var(--space);border-top:1px solid var(--color-border)}.cash-preview{color:var(--color-primary);margin:0;font-size:1.1rem;font-weight:600}.ledger{margin:var(--space) 0 0;padding:0;list-style:none}.ledger-row{justify-content:space-between;align-items:flex-start;gap:var(--space);border-top:1px solid var(--color-border);padding:.6rem 0;display:flex}.ledger-main{flex-direction:column;display:flex}.ledger-detail{margin-top:.15rem}.ledger-points{white-space:nowrap;font-weight:700}.ledger-out{color:var(--color-error)}.scanner{gap:var(--space);display:grid}.scanner-video{object-fit:cover;background:#000;border-radius:.5rem;width:100%;max-height:20rem}.size-row{gap:var(--space);grid-template-columns:2fr 1fr;display:grid}.level-list{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.level-list li{justify-content:space-between;gap:var(--space);align-items:center;display:flex}.chip-low{color:#8a1c1c;background:#fde8e8}.grocery-add{grid-template-columns:1fr}.grocery-list{gap:.5rem;margin:0;list-style:none;display:grid}.grocery-line{justify-content:space-between;align-items:center;gap:var(--space);display:flex}.grocery-bought span{opacity:.6;text-decoration:line-through}.low-stock{border-left:.35rem solid #c0392b}.invite-panel{gap:var(--space);display:grid}.invite-code{letter-spacing:.1em;margin:0;font-size:1.75rem}.invite-link{word-break:break-all}
