*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;min-height:44px;padding:10px 16px;background:var(--gb-surface);border:1px solid var(--gb-border);border-radius:12px;color:var(--gb-text)}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--gb-primary);color:var(--gb-on-primary)}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--gb-lavender);outline-offset:2px}.demo-bar{display:flex;align-items:center;gap:16px;padding:10px 20px;border-bottom:1px solid var(--gb-border);flex-wrap:wrap}.demo-bar span{flex:1;font-size:13px;color:var(--gb-text-secondary)}.setup{max-width:800px;margin:36px auto;padding:0 20px}.eyebrow{font-size:13px;color:var(--gb-text-secondary);margin:0 0 8px}.setup h1{font-size:32px;margin:0 0 12px}.card{padding:24px;border:1px solid var(--gb-border);border-radius:16px;background:var(--gb-surface);box-shadow:var(--gb-shadow)}.steps{display:flex;gap:6px;margin:24px 0}.steps i{height:6px;flex:1;border-radius:10px;background:var(--gb-border)}.steps i.active{background:var(--gb-primary)}label{display:block;margin:16px 0 6px;font-weight:600}input:not([type=checkbox]),select{display:block;width:100%;padding:12px;border:1px solid var(--gb-border);border-radius:10px;background:var(--gb-surface);color:var(--gb-text)}input[type=checkbox]{width:20px;height:20px;vertical-align:middle;accent-color:var(--gb-primary)}.check{display:flex;align-items:center;gap:10px;font-weight:400}.muted{font-size:14px;color:var(--gb-text-secondary)}.row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.row>*{flex:1}.row>button{flex:0 0 auto}.actions{display:flex;justify-content:space-between;gap:12px;margin-top:24px}.stack{display:grid;gap:16px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px}.nav{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:12px 16px;border-bottom:1px solid var(--gb-border);background:var(--gb-surface)}.nav select{width:auto;margin-left:auto}.nav button[aria-current=page]{box-shadow:inset 0 -3px var(--gb-primary);font-weight:700}.points{display:flex;align-items:center;gap:6px;font-size:26px;font-weight:750;color:var(--gb-points-text)}.points img{width:28px;height:28px;object-fit:contain}.card h2,.card h3{margin:0 0 10px}.card p{margin:8px 0 16px}.badge{display:inline-block;padding:5px 10px;border-radius:20px;background:var(--gb-background);font-size:13px}.item{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:16px 0;border-bottom:1px solid var(--gb-border)}.item:last-child{border-bottom:0}.item p{margin:5px 0}.item .actions{margin:0;justify-content:flex-end;flex-wrap:wrap}.notice{padding:14px 18px;border-left:4px solid var(--gb-green);background:var(--gb-surface);margin:0 0 16px;border-radius:8px}.error{color:var(--gb-danger-text)}progress{width:100%;height:10px;accent-color:var(--gb-green)}.setting-nav{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.setting-nav button[aria-pressed=true]{background:var(--gb-primary);color:var(--gb-on-primary)}.reward{border-top:4px solid var(--gb-terracotta)}.reward .art{font-size:40px;padding:16px;background:var(--gb-background);border-radius:12px;margin-bottom:16px;text-align:center}.mini-icon{width:25px;height:25px;object-fit:contain;vertical-align:middle}.split{display:grid;grid-template-columns:1fr 1fr;gap:20px}.footer{padding:24px;text-align:center;color:var(--gb-text-secondary);font-size:13px}.day-picker{display:flex;gap:8px;flex-wrap:wrap}.day-picker label{font-weight:400;font-size:13px}.empty{padding:20px;background:var(--gb-background);border-radius:12px}@media(max-width:600px){.setup{margin-top:20px}.card{padding:18px}.split{grid-template-columns:1fr}.nav{gap:5px}.nav button{padding:8px 10px}.nav select{width:100%;margin:4px 0 0}.demo-bar{padding:10px 12px}.item{align-items:flex-start;flex-direction:column}.row>*{min-width:130px}}
@media(max-width:600px){.demo-bar{gap:8px}.demo-bar strong{flex:1}.demo-bar span{flex-basis:100%;order:3}.demo-bar button{flex:0 0 auto}}

.lesson{padding:20px;background:var(--gb-background);border-radius:14px;margin:20px 0}.lesson p:last-child{margin-bottom:0}.tour-icon{width:48px;height:48px;object-fit:contain;margin-bottom:12px}.tour-assignment{margin:16px 0}.guide-later{display:block;margin:18px auto 0;background:transparent}.nav button{display:inline-flex;align-items:center;gap:8px}.nav .mini-icon{width:30px;height:30px}.tutorial{max-width:900px}.tutorial li{margin:10px 0}

.assigned-child{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 0;border-bottom:1px solid var(--gb-border);margin-bottom:12px}.assigned-child strong{min-width:90px}.assigned-child label{font-size:13px;margin:0}.assigned-child select{width:auto;flex:1;min-width:180px}.child-picker{display:flex;gap:8px;flex-wrap:wrap;padding:14px;background:var(--gb-background);border-radius:12px}
.chore-summary{display:flex;justify-content:space-between;align-items:start;gap:16px}.chore-tools{display:flex;gap:8px;flex-shrink:0}.trash-button{display:inline-flex;align-items:center;justify-content:center;background:#b42318!important;color:#fff!important;border-color:#b42318!important}.chore-dialog{position:fixed;inset:0;box-sizing:border-box;width:min(640px,calc(100vw - 32px));max-height:85dvh;margin:auto;padding:24px;border:1px solid var(--gb-border);border-radius:20px;background:var(--gb-surface);color:var(--gb-text);overflow:auto;box-shadow:0 20px 70px #0004}.chore-dialog::backdrop{background:#21170f88}.chore-dialog h2{margin:0}.modal-child{padding:8px 0 16px;border-bottom:1px solid var(--gb-border)}@media(max-width:600px){.chore-summary{flex-wrap:wrap}.chore-dialog{padding:18px;width:calc(100vw - 24px)}.chore-tools{margin-left:auto}}

.check-control{display:flex;align-items:center;gap:8px;position:relative}.check-control[hidden]{display:none}.check-switch{display:flex;align-items:center;gap:10px;cursor:pointer;min-height:44px;font-weight:500;position:relative}.check-switch input{position:absolute;opacity:0;width:44px;height:44px;margin:0}.switch-track{width:44px;height:26px;border-radius:20px;background:#827970;position:relative;flex:none;transition:background .15s}.switch-track:after{content:'';position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:white;transition:transform .15s}.check-switch input:checked+.switch-track{background:var(--gb-primary)}.check-switch input:checked+.switch-track:after{transform:translateX(18px)}.check-switch input:focus-visible+.switch-track{outline:3px solid var(--gb-lavender);outline-offset:3px}.switch-on,.switch-off{font-size:13px;color:var(--gb-text-secondary)}.check-switch input:not(:checked)~.switch-on,.check-switch input:checked~.switch-off{display:none}.check-help summary{cursor:pointer;min-width:44px;min-height:44px;display:grid;place-items:center;font-size:20px;list-style:none}.check-help p{position:absolute;z-index:3;left:0;right:0;top:100%;padding:16px;background:var(--gb-surface);border:1px solid var(--gb-border);border-radius:12px;box-shadow:var(--gb-shadow);font-size:14px;margin:0}.check-help:not([open]):hover p,.check-help:not([open]):focus-within p{display:block}.check-help summary::-webkit-details-marker{display:none}

.chore-day-nav{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin-bottom:20px}.chore-day-nav label{margin:0 0 4px}.chore-details{margin:20px 0;padding:16px;border:1px solid var(--gb-border);border-radius:12px}.chore-details summary{cursor:pointer;font-weight:600;min-height:28px}.chore-details textarea{width:100%;font:inherit;padding:12px;border:1px solid var(--gb-border);border-radius:10px;background:var(--gb-surface);color:var(--gb-text)}#draft-weekdays[hidden],#draft-once[hidden]{display:none}

.kid-board{padding:12px;border-top:4px solid var(--gb-green)}.kid-board>h2{margin:0 0 4px}.kid-board .points{display:inline-flex;font-size:13px;gap:4px}.kid-board .points img{width:18px;height:18px}.kid-group{border:1px solid var(--gb-border);border-radius:12px;padding:9px;margin-top:8px}.kid-group-heading{display:grid;grid-template-columns:minmax(130px,190px) 36px 1fr;align-items:center;gap:12px;margin-bottom:8px}.kid-group-heading h3{font-size:18px;margin:0}.kid-group-heading>span{font-size:12px;color:var(--gb-text-secondary)}.kid-group-heading progress{margin:0;border:0;border-radius:10px;overflow:hidden;background:var(--gb-border)}.kid-group-heading progress::-webkit-progress-bar{background:var(--gb-border)}.kid-group-heading progress::-webkit-progress-value{background:var(--gb-green);border-radius:10px}.kid-group-heading progress::-moz-progress-bar{background:var(--gb-green)}.kid-chore-row{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;text-align:left;padding:10px 12px;margin-top:5px;min-height:68px;border-radius:9px;background:var(--gb-surface);border:1px solid var(--gb-border);border-left:4px solid transparent}.kid-chore-row:disabled{opacity:1}.kid-chore-row:not(:disabled):hover{background:var(--gb-background)}.kid-chore-copy{display:grid;gap:3px;min-width:0}.kid-chore-title{font-size:14px;font-weight:600}.kid-chore-meta{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--gb-text-secondary)}.kid-chore-meta:empty{display:none}.kid-chore-instructions{font-size:12px;color:var(--gb-text-secondary);line-height:1.4}.kid-check{width:27px;height:27px;border:1px solid var(--gb-border);border-radius:50%;background:var(--gb-background);display:grid;place-items:center;flex-shrink:0;font-size:22px;color:var(--gb-green)}.kid-chore-row.is-done{border-left-color:var(--gb-green)}.kid-chore-row.is-done .kid-chore-title{text-decoration:line-through;color:var(--gb-text-secondary)}.kid-chore-row.is-done .kid-check{border-color:var(--gb-green)}.kid-chore-row.is-waiting{border-left-color:var(--gb-primary)}.kid-chore-row.is-waiting .kid-check,.kid-wait-label{color:var(--gb-primary)}.kid-wait-label{font-size:12px}@media(max-width:600px){.kid-board{padding:10px}.kid-group-heading{grid-template-columns:1fr auto;gap:6px}.kid-group-heading progress{grid-column:1/-1}.kid-chore-row{padding:10px 8px}}

.kid-board .kid-chore-row{color:var(--gb-text)!important;border-left-color:transparent!important;border-radius:9px!important}.kid-board .kid-chore-row:disabled{opacity:1!important;cursor:default!important}.kid-board .kid-chore-row.is-done{border-left-color:var(--gb-green)!important}.kid-board .kid-chore-row.is-waiting{border-left-color:var(--gb-primary)!important}.kid-board .kid-chore-row:not(:disabled):hover{background:var(--gb-background)!important}
