.od-avatar-editor{--avatar-accent:#7352ae;color:#302b3d;font:inherit;width:100%}.od-avatar-editor,.od-avatar-editor *{box-sizing:border-box}.od-avatar-editor button,.od-avatar-editor select,.od-avatar-editor input{font:inherit}.od-avatar-editor button{min-height:44px;color:inherit;cursor:pointer;background:#fff;border:1px solid #ded6e8;border-radius:12px;padding:8px 12px}.od-avatar-editor button:disabled{opacity:.55;cursor:default}.od-avatar-editor button:focus-visible,.od-avatar-editor input:focus-visible,.od-avatar-editor select:focus-visible{outline-offset:2px;outline:3px solid #b7a2d4}.od-avatar-workspace{grid-template-columns:minmax(240px,.85fr) minmax(0,1.3fr);gap:24px;display:grid}.od-avatar-preview-panel{flex-direction:column;align-self:start;gap:12px;min-width:0;display:flex;position:sticky;top:0}.od-avatar-stage{aspect-ratio:1;background:repeating-conic-gradient(#f4f0f8 0% 25%,#fff 0% 50%) 50%/22px 22px;border-radius:22px;flex:none;align-self:center;width:100%;max-width:280px;overflow:hidden}.od-avatar-stage.od-avatar-circle{border-radius:50%}.od-avatar-canvas{object-fit:contain;width:100%;height:100%;display:block}.od-avatar-toolbar,.od-avatar-export{flex-wrap:wrap;align-items:end;gap:8px;display:flex}.od-avatar-preview-options summary{cursor:pointer;border:1px solid #ded6e8;border-radius:12px;min-height:44px;padding:11px 12px}.od-avatar-preview-options>div{flex-direction:column;gap:12px;padding-top:12px;display:flex}.od-avatar-editor label{flex-direction:column;gap:5px;font-size:.88rem;display:flex}.od-avatar-editor .od-avatar-check{flex-direction:row;align-items:center}.od-avatar-editor input[type=checkbox]{width:20px;height:20px}.od-avatar-editor input:not([type=range]):not([type=checkbox]),.od-avatar-editor select{background:#fff;border:1px solid #ded6e8;border-radius:10px;max-width:100%;min-height:42px;padding:7px 10px}.od-avatar-tabs{flex-wrap:wrap;gap:6px;margin-bottom:14px;display:flex}.od-avatar-tabs [aria-selected=true],.od-avatar-editor [aria-pressed=true]{border-color:var(--avatar-accent);background-color:#f0eaf8;box-shadow:0 0 0 2px #7352ae26}.od-avatar-controls{min-width:0}.od-avatar-controls [role=tabpanel]{padding:3px}.od-avatar-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.od-avatar-grid.od-avatar-presets{scrollbar-gutter:stable;grid-template-columns:repeat(2,minmax(0,1fr));max-height:350px;padding:3px;overflow:auto}.od-avatar-grid button{flex-direction:column;justify-content:start;align-items:center;gap:6px;min-width:0;padding:8px;scroll-margin-block:8px;display:flex}.od-avatar-choice-art{flex:none;place-items:center;width:100%;height:84px;display:grid;position:relative}.od-avatar-presets .od-avatar-choice-art{height:112px}.od-avatar-choice-art img{object-fit:contain;width:100%;max-width:100%;height:100%;max-height:100%;display:block;position:absolute;inset:0}.od-avatar-choice-name{overflow-wrap:anywhere;text-align:center;justify-content:center;align-items:center;width:100%;min-height:2.6em;font-size:.85rem;line-height:1.3;display:flex}.od-avatar-none-art{color:#9b8eac;font-size:44px}.od-avatar-fine{border-top:1px solid #eee8f3;margin-top:14px;padding-top:10px}.od-avatar-fine summary{cursor:pointer;padding:7px 0}.od-avatar-fine fieldset{border:0;padding:8px 0}.od-avatar-fine label{grid-template-columns:80px 1fr 36px;align-items:center;gap:6px;display:grid}.od-avatar-fine input{width:100%}.od-avatar-colors fieldset{border:0;flex-wrap:wrap;gap:9px;padding:12px 0;display:flex}.od-avatar-editor .od-avatar-swatch{border:3px solid #fff;border-radius:50%;width:36px;height:36px;min-height:36px;padding:0;box-shadow:0 0 0 1px #ded6e8}.od-avatar-editor .od-avatar-swatch[aria-pressed=true]{box-shadow:0 0 0 3px var(--avatar-accent)}.od-avatar-random{border-top:1px solid #eee8f3;flex-wrap:wrap;align-items:end;gap:8px;margin-top:12px;padding-top:12px;display:flex}.od-avatar-random label{flex-direction:row;flex:1;align-items:center;min-width:160px}.od-avatar-random input{box-sizing:border-box;flex:1;width:70px;min-width:60px}.od-avatar-footer{background:#fff;border-top:1px solid #eee8f3;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:22px;padding:12px 0;display:flex}.od-avatar-footer>span{color:#746d80;flex:1;min-width:160px;font-size:.85rem}.od-avatar-footer>div{gap:8px;display:flex}.od-avatar-editor .od-avatar-save{color:#fff;background:var(--avatar-accent);border-color:var(--avatar-accent)}@media (width<=650px){.od-avatar-workspace{grid-template-columns:1fr;gap:16px}.od-avatar-stage{max-width:220px}.od-avatar-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.od-avatar-grid.od-avatar-presets{scrollbar-gutter:auto;max-height:none;overflow:visible}.od-avatar-choice-art{height:104px}.od-avatar-preview-panel{gap:8px;position:static}.od-avatar-toolbar{justify-content:center}.od-avatar-tabs{flex-wrap:nowrap;gap:5px;padding:3px 3px 9px;overflow-x:auto}.od-avatar-tabs button{flex:none;padding:7px 10px}.od-avatar-export{justify-content:space-between}.od-avatar-footer{margin-top:14px}}.design-modal.avatar-editor-modal{flex-direction:column;width:min(960px,100vw - 32px);max-width:960px;max-height:calc(100dvh - 32px);display:flex;overflow:hidden}.avatar-editor-modal .modal-heading{margin-bottom:18px}.avatar-editor-modal>.od-avatar-editor{flex-direction:column;flex:1;min-height:0;display:flex}.avatar-editor-modal .modal-heading,.avatar-editor-modal .od-avatar-footer{flex:none}.avatar-editor-modal .od-avatar-workspace{min-height:0;padding:3px 3px 12px;overflow:auto}.avatar-editor-modal .od-avatar-footer{margin-top:0;padding-bottom:0}.member-avatar .od-avatar-canvas{width:100%;height:100%}.avatar-choice-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.avatar-pack-switch{margin-bottom:16px}@media (width<=650px){.design-modal.avatar-editor-modal{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);padding:16px}.avatar-editor-modal .modal-heading h2{font-size:1.2rem}}.design-modal.avatar-catalog-dialog{width:min(580px,100vw - 32px);max-height:calc(100dvh - 32px)}.avatar-catalog-dialog .avatar-picker{grid-template-columns:repeat(2,minmax(0,1fr));max-height:45dvh}.avatar-catalog-options{grid-template-columns:repeat(auto-fill,minmax(128px,1fr))}.avatar-catalog-options .avatar-option{gap:8px;min-width:0;min-height:132px}.avatar-catalog-options .avatar-option .member-avatar{width:96px;height:96px}.avatar-catalog-options .avatar-option>span:last-child{overflow-wrap:anywhere;font-size:.88rem}.avatar-initials-icon{color:#7352ae;background:#f2edf8;border-radius:50%;place-items:center;width:96px;height:96px;font-size:1.6rem;display:grid}.avatar-profile-color{margin-bottom:16px}.avatar-profile-color .hint{margin:5px 0 10px}.avatar-current-choice{background:#fff;border:1px solid #ded6e8;border-radius:12px;align-items:center;gap:12px;width:100%;margin-bottom:12px;padding:10px;display:flex}.avatar-current-choice[aria-pressed=true]{background:#f2edf8;border-color:#7352ae}.avatar-catalog-footer{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}@media (width<=650px){.design-modal.avatar-catalog-dialog{padding:16px}.avatar-catalog-options .avatar-option{padding:8px}.avatar-catalog-footer button{flex:1}}.home .topbar{min-height:64px;padding:8px 0}.topbar-date{color:var(--text);text-transform:capitalize;margin-top:3px;font-size:.76rem;display:block}.home .home-content{gap:16px;padding-top:16px}.today-heading h2{font-size:1.2rem}.today-workspace,.child-review-page{flex-direction:column;gap:14px;min-width:0;display:flex}.compact-stats.overview-stats{border:1px solid var(--border);background:var(--paper,#fffdf8);border-radius:13px;gap:0;min-height:64px;display:flex;overflow-x:auto}.compact-stats .overview-stat{border:0;border-right:1px solid var(--border);text-align:left;background:0 0;border-radius:0;flex:1 0 112px;gap:8px;min-width:0;padding:8px 12px}.compact-stats .overview-stat:last-child{border-right:0}.compact-stats .overview-stat:hover{background:var(--accent-soft)}.compact-stats .stat-symbol{border-radius:8px;width:28px;height:28px}.compact-stats .overview-stat strong{font-size:1rem}.compact-stats .overview-stat>div>span{font-size:.7rem}.pencil-progress{min-width:0}.progress-caption{justify-content:space-between;align-items:start;gap:12px;margin-bottom:5px;font-size:.75rem;display:flex}.progress-caption>*{overflow-wrap:anywhere;min-width:0}.progress-caption strong{color:var(--muted);text-align:right;font-weight:500}.pencil-progress-track{background:#f1edf3;border:1px solid #a58cb680;border-radius:4px 6px 5px 3px;height:10px;overflow:hidden}.pencil-progress-track>span{background-color:#ac91bf;background-image:repeating-linear-gradient(122deg,#0000 0 2px,#6b447c44 2px 3px,#0000 3px 5px);border-radius:3px 5px 2px 4px;height:100%;display:block}html[data-playful=off] .pencil-progress-track>span{background-image:none}.daily-calendar{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;min-width:0;display:grid}.calendar-day{border:1px solid var(--border);background:var(--paper,#fffdf8);min-width:0;min-height:66px;color:var(--muted);border-radius:9px;flex-direction:column;align-items:center;gap:2px;padding:6px 2px;display:flex}.calendar-day>span{font-size:.7rem}.calendar-day strong{font-size:.95rem}.calendar-day.today{color:var(--accent-dark);border-color:var(--accent)}.calendar-day.selected{background:var(--accent-soft);box-shadow:inset 0 -3px #9273ab99}.daily-two-columns{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:18px;display:grid}.daily-two-columns>div{flex-direction:column;gap:12px;min-width:0;display:flex}.column-title{margin:0;font-size:1rem}.daily-two-columns .card,.child-duty-pool .card{padding:16px}.daily-two-columns .card>h2{margin-bottom:12px;font-size:.85rem}.review-child-shortcuts{flex-wrap:wrap;gap:8px;display:flex}.child-review-link{text-align:left;flex:150px;align-items:center;gap:9px;min-width:0;display:flex}.child-review-link span{overflow-wrap:anywhere;min-width:0}.child-review-link small{margin-top:3px;font-size:.7rem;display:block}.child-review-heading{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.child-review-heading .field{flex:1;min-width:140px}.child-review-back{align-items:center;gap:8px;display:inline-flex}.child-review-totals{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0;display:grid}.child-review-totals>div{background:var(--paper,#fffdf8);border:1px solid var(--border);border-radius:9px;padding:10px}.child-review-totals dt{color:var(--muted);font-size:.72rem}.child-review-totals dd{margin:5px 0 0;font-weight:600}.child-duty-pool{flex-direction:column;gap:14px;scroll-margin-top:12px;display:flex}@media (width<=1100px){.daily-two-columns{grid-template-columns:minmax(0,1fr)}}@media (width<=700px){.home .topbar{gap:4px;min-height:76px;padding:6px 0}.home .topbar h1{margin-top:2px}.topbar-date{font-size:.68rem}.home .home-content{gap:12px;padding-top:12px}.compact-stats .overview-stat{flex:1 0 3.5rem;padding:6px 4px}.compact-stats .stat-symbol{display:none}.compact-stats .overview-stat>div>span{overflow-wrap:anywhere;font-size:.64rem}.daily-calendar{gap:4px}.child-review-totals{grid-template-columns:repeat(2,minmax(0,1fr))}.child-review-back{justify-content:center;width:44px;padding:8px}.child-review-back .back-label{display:none}}@media (forced-colors:active){.pencil-progress-track{border-color:canvastext}.pencil-progress-track>span{forced-color-adjust:none;background:highlight}.calendar-day.selected{outline:2px solid highlight}}:root{--bg:#f7f8f3;--surface:#fff;--text:#26301f;--muted:#6b7361;--accent:#3e7c4f;--accent-dark:#2f5f3c;--accent-soft:#e6f0e6;--danger:#b3372f;--danger-soft:#fbe9e7;--warning-soft:#fdf3d7;--info-soft:#e8f0fb;--info:#2f5f8f;--border:#dfe3d7;--radius:14px}*{box-sizing:border-box}html,body,#root{min-height:100vh;margin:0}body{background:var(--bg);color:var(--text);font-family:Segoe UI,system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.45}h1{margin:.2rem 0 .4rem;font-size:1.6rem}h2{margin:0 0 .6rem;font-size:1.05rem}p{margin:.4rem 0}.muted{color:var(--muted)}.hint{color:var(--muted);margin:.2rem 0 .6rem;font-size:.85rem}.brand{letter-spacing:.04em;color:var(--accent-dark);font-weight:700}.brand-small{letter-spacing:.04em;color:var(--accent-dark);text-transform:uppercase;font-size:.8rem;font-weight:700}button{font:inherit;cursor:pointer;border:1px solid #0000;border-radius:10px;padding:.55rem 1rem}button:disabled{opacity:.55;cursor:default}.primary{background:var(--accent);color:#fff}.primary:hover:not(:disabled){background:var(--accent-dark)}.secondary{background:var(--accent-soft);color:var(--accent-dark)}.link{color:var(--accent-dark);background:0 0;border:none;padding:.3rem .2rem;text-decoration:underline}.field{margin-bottom:.7rem;display:block}.field-label{margin-bottom:.25rem;font-size:.85rem;font-weight:600;display:block}input,select,textarea{font:inherit;border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);resize:vertical;border-radius:10px;padding:.5rem .7rem}input.invalid{border-color:var(--danger)}.field-error{color:var(--danger);margin-top:.2rem;font-size:.85rem;display:block}.form-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:0 .8rem;display:grid}.banner.error{background:var(--danger-soft);color:var(--danger)}.banner.success{background:var(--accent-soft);color:var(--accent-dark)}.modal-overlay{z-index:60;background:#00000073;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-card{background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:12px;width:100%;max-width:26rem;padding:1rem 1.1rem;box-shadow:0 12px 32px #00000040}.modal-message{margin:0 0 .9rem;font-weight:600}.modal-actions{justify-content:flex-end;gap:.5rem;display:flex}.crop-card{max-width:24rem}.crop-viewport{aspect-ratio:1;border:1px solid var(--border);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:repeating-conic-gradient(#f2f2f2 0% 25%,#fafafa 0% 50%) 0 0/20px 20px;border-radius:8px;width:min(320px,100%);margin:.6rem auto;position:relative;overflow:hidden}.crop-viewport:active{cursor:grabbing}.crop-image{pointer-events:none;max-width:none;position:absolute}.crop-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.45rem;display:flex}.crop-size{font-variant-numeric:tabular-nums;margin-right:auto}.banner.warning{background:var(--warning-soft);color:#7a5b12}.banner.info{background:var(--info-soft);color:var(--info)}.landing{text-align:center;max-width:640px;margin:0 auto;padding:3rem 1.2rem}.role-cards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1rem;margin:1.6rem 0;display:grid}.role-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:.5rem;padding:1.3rem;display:flex}.role-card h2{margin:0}.role-card .primary{margin-top:.4rem}.auth-layout{justify-content:center;align-items:flex-start;min-height:100vh;padding:3rem 1.2rem;display:flex}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;max-width:420px;padding:1.6rem}.auth-card .back{margin-bottom:.6rem}.auth-card form{margin-top:.8rem}.profile-list{flex-direction:column;gap:.5rem;display:flex}.profile-option{background:var(--accent-soft);color:var(--text);border:1px solid var(--border);text-align:left;align-items:center;gap:.6rem;display:flex}.profile-selected{align-items:center;gap:.5rem;font-weight:600;display:flex}.color-dot{border-radius:50%;flex:none;width:14px;height:14px;display:inline-block}.home{max-width:780px;margin:0 auto;padding:1.4rem 1.2rem 3rem}.topbar{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.2rem;display:flex}.topbar-right{align-items:center;gap:.7rem;display:flex}.member-chip{background:var(--accent-soft);border-radius:999px;padding:.3rem .8rem;font-size:.9rem}.home-content{flex-direction:column;gap:1rem;display:flex}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:1.2rem 1.3rem}.group-name{font-weight:600}.badge{background:var(--accent-soft);color:var(--accent-dark);border-radius:999px;margin-left:.3rem;padding:.1rem .55rem;font-size:.78rem;font-weight:600}.entry-code-row{flex-wrap:wrap;align-items:center;gap:.8rem;display:flex}.entry-code{letter-spacing:.25em;background:var(--accent-soft);border-radius:10px;padding:.5rem .9rem;font-family:Cascadia Mono,Consolas,monospace;font-size:1.4rem}.balance-line strong,.balance-big{font-size:1.4rem}.member-list{flex-direction:column;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.member-row{align-items:center;gap:.55rem;display:flex}.member-name{font-weight:600}.inline-form{border-top:1px dashed var(--border);max-width:280px;margin-top:.8rem;padding-top:.8rem}.inline-form-actions{gap:.6rem;display:flex}.join-actions{flex-direction:column;align-items:flex-start;gap:.6rem;display:flex}.occurrence-list,.template-list,.prize-list,.ledger-list{flex-direction:column;gap:.45rem;margin:0;padding:0;list-style:none;display:flex}.occurrence-row,.template-row,.prize-row,.ledger-row{border:1px solid var(--border);border-radius:10px;flex-wrap:wrap;align-items:center;gap:.55rem;padding:.45rem .6rem;display:flex}.template-panel{border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:.9rem;padding:.8rem;display:flex}.catalog-folders{flex-direction:column;gap:.3rem;margin:0;padding:0;list-style:none;display:flex}.catalog-folder-row{width:100%;font:inherit;text-align:left;border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:10px;align-items:center;gap:.5rem;padding:.45rem .6rem;display:flex}.catalog-folder-row.open{border-bottom-right-radius:0;border-bottom-left-radius:0}.catalog-chevron{flex:none;width:1rem}.catalog-items{border:1px solid var(--border);border-top:none;border-radius:0 0 10px 10px;flex-direction:column;gap:.3rem;margin:0;padding:.3rem 0 .4rem 1.4rem;list-style:none;display:flex}.occurrence-title{font-weight:600}.comment-line{flex-basis:100%;font-style:italic}.points-badge{background:var(--accent-soft);color:var(--accent-dark);border-radius:999px;padding:.1rem .55rem;font-size:.78rem;font-weight:600}.status-badge{border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:.1rem .55rem;font-size:.78rem;font-weight:600}.status-badge.status-available{background:var(--info-soft);color:var(--info);border-color:#0000}.status-badge.status-claimed{background:var(--warning-soft);color:var(--text);border-color:#0000}.status-badge.status-submitted{background:var(--info-soft);color:var(--info);border-color:#0000}.status-badge.status-accepted{background:var(--accent-soft);color:var(--accent-dark);border-color:#0000}.status-badge.status-returned{background:var(--danger-soft);color:var(--danger);border-color:#0000}.weekday-editor{margin:.4rem 0 .8rem}.weekday-presets{flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem;display:flex}.weekday-days{flex-wrap:wrap;gap:.35rem;display:flex}.weekday-chip{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:999px;padding:.25rem .7rem;font-size:.85rem}.weekday-chip.selected{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-dark);font-weight:600}.check-row{flex-wrap:wrap;gap:1.2rem;margin-bottom:.8rem;display:flex}.check{align-items:center;gap:.4rem;display:flex}.daymap{margin-top:.9rem}.daymap-row{flex-wrap:wrap;gap:.4rem;display:flex}.daymap-cell{border:1px solid var(--border);border-radius:8px;flex-direction:column;align-items:center;min-width:3.2rem;padding:.2rem .45rem;font-size:.72rem;display:flex}.daymap-cell.success{background:var(--accent-soft);color:var(--accent-dark);border-color:#0000}.daymap-cell.incomplete{background:var(--warning-soft);border-color:#0000}.daymap-cell.empty{color:var(--muted)}.daymap-value{font-weight:600}.ledger{border-top:1px dashed var(--border);margin-top:.8rem;padding-top:.6rem}.ledger-date{color:var(--muted);font-size:.85rem}.ledger-reason{flex:1}.ledger-delta.positive{color:var(--accent-dark);font-weight:600}.ledger-delta.negative{color:var(--danger);font-weight:600}@media (width<=480px){.occurrence-row,.template-row,.prize-row,.ledger-row{flex-direction:column;align-items:flex-start;gap:.3rem}.occurrence-row>button,.prize-row>button{align-self:flex-start}.topbar{flex-direction:column;align-items:flex-start}.entry-code{font-size:1.1rem}}.route-map{margin-top:.75rem}.route-progress{flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem;display:flex}.route-path{align-items:flex-start;gap:1rem;margin:0;padding:.75rem .25rem;list-style:none;display:flex;overflow-x:auto}.route-start,.route-milestone{text-align:center;flex-direction:column;align-items:center;gap:.25rem;min-width:7rem;display:flex}.route-dot{border:2px solid var(--border,#c9d4e3);background:var(--surface,#fff);border-radius:50%;width:1.4rem;height:1.4rem}.route-dot.start{background:var(--border,#c9d4e3)}.route-dot.unlocked{background:#e6f6e7;border-color:#7bc47f}.route-dot.received{background:#2e7d32;border-color:#2e7d32}.route-label{font-weight:600}.route-conditions{color:var(--muted,#667);font-size:.85rem}.route-block{border-top:1px solid var(--border,#e3e8f0);margin-top:.75rem;padding-top:.75rem}.route-head{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.task-picker{flex-direction:column;gap:.25rem;margin:.25rem 0 .75rem;padding:0;list-style:none;display:flex}.milestone-list{flex-direction:column;gap:.5rem;margin:.25rem 0;padding:0;list-style:none;display:flex}.milestone-row{grid-template-columns:auto 1fr auto auto auto auto;align-items:end;gap:.5rem;display:grid}.milestone-index{padding-bottom:.5rem;font-weight:700}.consequence-grid{margin-top:.5rem}.grade-field{min-width:5.5rem}.badge.consequence{color:#b3261e;background:#fdecea}.badge.consequence-applied{color:#2e7d32;background:#e6f6e7}@media (width<=480px){.milestone-row{grid-template-columns:1fr}.route-path{flex-wrap:wrap;gap:.75rem;overflow-x:visible}}.bell-root{position:relative}.bell-button{padding:.35rem .55rem;font-size:1.15rem;line-height:1;position:relative}.bell-badge{background:var(--accent);color:#fff;text-align:center;border-radius:999px;min-width:1.1rem;padding:.05rem .25rem;font-size:.68rem;font-weight:700;position:absolute;top:-.35rem;right:-.35rem}.bell-panel{z-index:30;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:min(22rem,100vw - 2rem);max-height:22rem;padding:.6rem .75rem;position:absolute;top:calc(100% + .4rem);right:0;overflow-y:auto;box-shadow:0 10px 28px #0f172a29}.bell-panel-head{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.4rem;display:flex}.bell-panel-title{font-weight:700}.bell-empty{color:var(--muted,#64748b);margin:.4rem 0}.bell-list{flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.bell-item-button{text-align:left;border-radius:.5rem;flex-direction:column;gap:.15rem;width:100%;padding:.45rem .5rem;display:flex}.bell-item.unread .bell-item-button{background:var(--accent-soft);font-weight:600}.bell-item-comment{color:var(--muted,#64748b);font-style:italic;font-weight:400;display:block}.bell-item-grade{margin-left:.4rem;font-weight:700;display:inline-block}.bell-item-meta{color:var(--muted,#64748b);font-size:.75rem;font-weight:400}@media (width<=480px){.bell-panel{width:auto;max-height:60vh;position:fixed;inset:auto .75rem .75rem}}.tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:.4rem;margin-bottom:1.1rem;padding-bottom:.6rem;display:flex}.tab{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:999px;padding:.35rem .95rem;font-size:.92rem}.tab.active{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-dark);font-weight:600}.group-switcher-wrap{display:inline-flex;position:relative}.group-switcher{border:1px solid var(--border);background:var(--surface);cursor:pointer;max-width:11rem;color:var(--text);border-radius:999px;align-items:center;gap:.45rem;padding:.3rem .7rem;font-size:.88rem;display:inline-flex}.group-switcher-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.group-switcher-caret{color:var(--muted);font-size:.7rem}.group-switcher-menu{z-index:30;background:var(--surface);border:1px solid var(--border);border-radius:10px;min-width:11rem;max-width:calc(100vw - 2rem);max-height:16rem;margin:0;padding:.3rem;list-style:none;position:absolute;top:calc(100% + .35rem);right:0;overflow-y:auto;box-shadow:0 8px 24px #26301f29}.group-switcher-menu li>button{text-align:left;cursor:pointer;width:100%;color:var(--text);background:0 0;border:0;border-radius:7px;align-items:center;gap:.5rem;padding:.4rem .55rem;font-size:.9rem;display:flex}.group-switcher-menu li>button.focused,.group-switcher-menu li>button:hover{background:var(--accent-soft)}.group-switcher-menu li[aria-selected=true]>button{font-weight:600}.duty-photo{object-fit:cover;vertical-align:middle;border-radius:8px;width:28px;height:28px;display:inline-block}.duty-photo-lg{width:72px;height:72px}.group-list{flex-direction:column;gap:.45rem;margin:0 0 .8rem;padding:0;list-style:none;display:flex}.group-row{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.toggle{cursor:pointer;font:inherit;color:inherit;background:0 0;border:none;align-items:center;gap:.55rem;padding:.15rem 0;display:inline-flex}.toggle-track{background:var(--border);border-radius:999px;flex:none;width:2.4rem;height:1.3rem;transition:background .15s;position:relative}.toggle.on .toggle-track{background:var(--accent)}.toggle-knob{background:#fff;border-radius:999px;width:1rem;height:1rem;transition:transform .15s;position:absolute;top:.15rem;left:.15rem}.toggle.on .toggle-knob{transform:translate(1.1rem)}.toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:6px}.duty-icon{color:var(--accent-dark);flex:none;align-self:center}.duty-icon-fallback{background:var(--border);border-radius:999px;flex:none;align-self:center;width:8px;height:8px;display:inline-block}.icon-picker{flex-wrap:wrap;gap:.35rem;display:flex}.icon-chip{border:1px solid var(--border);background:var(--surface);cursor:pointer;width:2.3rem;height:2.3rem;color:inherit;border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.icon-chip.selected{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-dark)}.icon-chip .duty-icon{color:currentColor}.icon-none{width:20px;height:20px;position:relative}.icon-none:before,.icon-none:after{content:"";border-top:1.7px solid;border-radius:999px;position:absolute;top:50%;left:4px;right:4px;transform:rotate(45deg)}.icon-none:after{transform:rotate(-45deg)}@media (width<=480px){.group-switcher{max-width:9rem}.group-switcher-menu{min-width:min(11rem,100vw - 2rem)}.tabs{gap:.3rem}.tab{padding:.3rem .75rem;font-size:.88rem}}.submit-photos{flex-wrap:wrap;align-items:center;gap:.5rem;display:inline-flex}.submit-attach-row{flex-wrap:wrap;flex-basis:100%;align-items:center;gap:.5rem;display:flex}.submit-attach-thumbs{flex-wrap:wrap;gap:.5rem;display:flex}.submit-attach-thumb{flex-direction:column;align-items:center;gap:.1rem;display:inline-flex}.submit-attach-thumb img{object-fit:cover;border-radius:8px;width:48px;height:48px;display:inline-block}.verify-photos{flex-wrap:wrap;gap:.3rem;display:inline-flex}.verify-photo-thumb{cursor:zoom-in;background:0 0;border:none;border-radius:8px;padding:0;line-height:0}.verify-photo-thumb .duty-photo{width:44px;height:44px}.verify-photo-thumb:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.lightbox-overlay{z-index:70;cursor:zoom-out;background:#000000bf;flex-direction:column;justify-content:center;align-items:center;gap:.8rem;padding:1rem;display:flex;position:fixed;inset:0}.lightbox-image{background:var(--surface);object-fit:contain;border-radius:10px;max-width:min(92vw,900px);max-height:78vh}.lightbox-close{flex:none}.catalog-art{color:var(--accent-dark);flex:none;align-self:center}.catalog-item-main{flex-direction:column;flex:10rem;gap:.05rem;min-width:0;display:flex}.catalog-item-desc{font-size:.86rem;line-height:1.3}:root{--bg:#f8f7fa;--surface:#fff;--text:#302b3d;--muted:#746d80;--accent:#7352ae;--accent-dark:#5d3e93;--accent-soft:#f0eaf8;--border:#eae6ef;--radius:20px;--sage:#ecf3ed;--peach:#fff0e4;--motion-fast:.15s;--motion-slow:.32s;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body{font-family:Segoe UI,system-ui,-apple-system,sans-serif;font-size:15px;line-height:1.55}button,input,select,textarea{font:inherit}button{min-height:44px;transition:background-color var(--motion-fast), transform var(--motion-fast);border-radius:12px;padding:.65rem 1rem}button:active:not(:disabled){transform:translateY(1px)}button:disabled{cursor:not-allowed;opacity:.55}button:focus-visible,a:focus-visible,summary:focus-visible{outline-offset:3px;outline:3px solid #9274c5}input,select,textarea{width:100%;min-width:0;min-height:46px;color:var(--text);background:#fff;border:1px solid #d9d2e2;border-radius:11px;padding:.7rem .8rem}input:focus,select:focus,textarea:focus{border-color:var(--accent);outline:3px solid #eee7f7}input[type=checkbox],input[type=radio]{width:20px;height:20px;min-height:20px;accent-color:var(--accent);flex:none}input[type=file]{max-width:100%;padding:.45rem}input[type=file]::file-selector-button{background:var(--accent-soft);color:var(--accent-dark);cursor:pointer;border:0;border-radius:7px;margin-right:.6rem;padding:.45rem .7rem}h1,h2,h3{letter-spacing:-.025em;line-height:1.25}h3{margin:0 0 .65rem;font-size:1.05rem}.primary{border:1px solid var(--accent);background:var(--accent);color:#fff;justify-content:center;align-items:center;gap:.45rem;font-weight:600;display:inline-flex}.secondary{border:1px solid var(--border);color:var(--text);background:#fff;justify-content:center;align-items:center;gap:.45rem;font-weight:600;display:inline-flex}.link{color:var(--accent-dark);text-underline-offset:3px}.ui-icon{vertical-align:middle;flex:none}.eyebrow,.section-kicker{color:var(--muted);letter-spacing:.055em;font-size:.75rem;font-weight:600}.eyebrow{align-items:center;gap:.4rem;margin:0 0 .55rem;display:flex}.section-kicker{margin-bottom:.65rem;display:block}.brand-lockup{color:var(--accent);align-items:center;gap:.65rem;display:flex}.brand-lockup>svg{flex:none}.brand-lockup>span{color:var(--text);max-width:9rem;font-size:.88rem;font-weight:750;line-height:1.3}.brand-lockup small{color:var(--muted);margin-top:.25rem;font-size:.68rem;font-weight:400;display:block}.mascot{object-fit:contain;flex:none;width:108px;height:138px}.home{max-width:none;min-height:100dvh;margin:0;padding:0}.app-sidebar{z-index:35;border-right:1px solid var(--border);background:#fff;flex-direction:column;width:218px;padding:35px 22px 24px;display:flex;position:fixed;inset:0 auto 0 0}.nav-caption{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin:3rem .65rem .7rem;font-size:.68rem}.app-navigation{flex-direction:column;gap:.45rem;display:flex}.nav-item{color:var(--muted);text-align:left;background:0 0;border:0;align-items:center;gap:.8rem;padding:.85rem 1rem;font-weight:550;display:flex}.nav-item:hover{color:var(--accent-dark);background:#f8f5fc}.nav-item.selected{color:var(--accent-dark);background:var(--accent-soft);font-weight:650}.sidebar-note{color:var(--accent);margin:auto .65rem 0;padding-top:2rem}.sidebar-note p{color:var(--text);margin:.6rem 0 .3rem;font-size:.81rem;font-weight:550}.sidebar-note>span{color:var(--muted);font-size:.73rem}.app-workspace{max-width:1470px;margin-left:218px;padding:0 38px 50px}.topbar{border-bottom:1px solid var(--border);min-height:100px;margin:0;padding:18px 0}.topbar h1{color:var(--muted);letter-spacing:0;margin:0;font-size:.9rem;font-weight:550}.topbar-left{min-width:0}.topbar-right{gap:.3rem;min-width:0}.topbar .member-chip{background:0 0;align-items:center;gap:.55rem;max-width:180px;padding:0 .55rem;font-size:.8rem;display:flex}.member-chip>span:last-child{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.member-avatar{width:37px;height:37px;color:var(--accent-dark);background:#f2edf8;border:2px solid #d6c8eb;border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:650;display:inline-flex}.icon-button,.bell-button{width:44px;height:44px;color:var(--muted);background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;padding:8px;display:inline-flex}.icon-button:hover,.bell-button:hover{background:var(--accent-soft);color:var(--accent)}.mobile-brand{display:none}.group-switcher{background:#f0edf5;border:0;max-width:13rem;padding:.5rem .7rem;font-size:.8rem}.group-switcher-menu{border-radius:16px;box-shadow:0 9px 28px #302b3d14}.home-content{gap:24px;min-width:0;padding-top:28px}.page-heading{justify-content:space-between;align-items:center;gap:1rem;display:flex}.page-heading h2{margin:0;font-size:1.9rem;font-weight:700}.page-heading .eyebrow{text-transform:capitalize;font-size:.73rem}.page-description{color:var(--muted);margin:.5rem 0 0;font-size:.85rem}.create-duty{flex:none;font-size:.82rem}.card{box-shadow:none;min-width:0;padding:24px}.card>h2{margin-bottom:20px;font-size:1rem}.card>h3{margin-top:22px}.dashboard-columns{grid-template-columns:minmax(0,1.85fr) minmax(245px,1fr);align-items:start;gap:24px;display:grid}.dashboard-main,.dashboard-aside{flex-direction:column;gap:24px;min-width:0;display:flex}.welcome-grid{grid-template-columns:minmax(0,1.85fr) minmax(245px,1fr);gap:24px;display:grid}.welcome-card{border-radius:var(--radius);background:#eee8f6;justify-content:space-between;align-items:center;gap:.8rem;min-height:204px;padding:25px 30px;display:flex}.welcome-card .eyebrow{color:#70598e}.welcome-card h3{white-space:pre-line;max-width:18rem;margin:.7rem 0;font-size:clamp(1.45rem,2.2vw,2rem);font-weight:650;line-height:1.2}.welcome-card p{color:#6b5f7b;max-width:19rem;font-size:.8rem}.welcome-card .mascot{align-self:flex-end;width:105px;height:147px}.welcome-copy{min-width:0}.welcome-link{color:var(--accent-dark);background:0 0;border:0;align-items:center;gap:.65rem;padding:.5rem 0 0;font-size:.78rem;font-weight:650;display:inline-flex}.daily-progress{justify-content:center;align-items:center;gap:1rem;padding:20px;display:flex}.daily-progress h3{margin:0 0 .5rem;font-size:.9rem}.daily-progress p{color:var(--muted);font-size:.78rem}.daily-progress .hint{max-width:7rem;font-size:.7rem;display:block}.progress-ring{flex:none;place-items:center;width:95px;height:95px;display:grid;position:relative}.progress-ring svg{fill:none;stroke-width:7px;stroke-linecap:round;position:absolute;inset:0;transform:rotate(-90deg)}.ring-value{stroke:var(--accent);transition:stroke-dasharray var(--motion-slow) ease-out}.progress-ring strong{letter-spacing:-.04em;font-size:1.3rem}.overview-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.overview-stat{border:1px solid var(--border);background:#fff;border-radius:16px;align-items:center;gap:14px;padding:16px 21px;display:flex}.stat-symbol{border-radius:13px;flex:none;place-items:center;width:43px;height:43px;display:grid}.sage .stat-symbol{color:#50815e;background:var(--sage)}.peach .stat-symbol{color:#98633f;background:var(--peach)}.lavender .stat-symbol{color:var(--accent);background:var(--accent-soft)}.overview-stat strong{font-size:1.25rem;font-weight:650;line-height:1.2;display:block}.overview-stat>div>span{color:var(--muted);font-size:.76rem}.goal-preview{background:#fff9f0;border-color:#efe5d8;position:relative;overflow:hidden}.preview-heading{color:#9b753f;justify-content:space-between;align-items:start;display:flex}.goal-preview .section-kicker{color:#886b49}.goal-preview>.mascot{float:right;width:80px;height:95px;margin:5px 0 8px 8px}.goal-preview h3{margin-top:1rem;font-size:1.1rem}.goal-preview>p{font-size:.8rem}.goal-preview .text-action{clear:both}.text-action{width:100%;color:var(--accent-dark);text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:.8rem;padding:.6rem 0 0;font-size:.8rem;font-weight:600;display:flex}.mini-route{clear:both;align-items:center;gap:0;padding:15px 0 8px;display:flex}.mini-route>span{color:#a89476;background:#fffcf7;border:1px dashed #c9b895;border-radius:50%;flex:none;place-items:center;width:27px;height:27px;display:grid;position:relative}.mini-route>span+span{margin-left:min(1.5vw,15px)}.mini-route>span+span:before{content:"";border-top:1px dashed #c9b895;width:min(1.5vw,15px);position:absolute;right:100%}.mini-route .reached{color:#fff;background:var(--accent);border:0}.avatar-stack{padding:15px 0;display:flex}.avatar-stack>span+span{margin-left:-7px}.family-preview p{font-size:.8rem}.balance-preview{color:var(--accent);background:#f4effb;align-items:center;gap:1rem;display:flex}.balance-preview .section-kicker{margin:0}.balance-preview strong{font-size:1.6rem;display:block}.balance-preview .text-action{width:auto;margin-left:auto}.occurrence-list,.prize-list,.template-list{gap:10px}.occurrence-row,.prize-row,.template-row{border:1px solid var(--border);background:#fff;border-radius:14px;gap:8px 10px;padding:14px}.occurrence-title{overflow-wrap:anywhere;flex:140px;font-size:1rem;font-weight:600}.occurrence-row>.muted{font-size:.73rem}.occurrence-row>button,.occurrence-row .submit-photos>button,.prize-row>button,.template-row>button{padding:.45rem .7rem;font-size:.85rem}.occurrence-row>.duty-icon,.occurrence-row>.duty-icon-fallback{width:37px;height:37px;color:var(--accent);background:#f2eef8;border-radius:11px;padding:8px}.occurrence-summary{flex:1 1 0;min-width:0}.occurrence-summary .occurrence-title{line-height:1.35;display:block}.occurrence-tags{flex-wrap:wrap;align-items:center;gap:4px 6px;margin-top:6px;font-size:.72rem;line-height:1.35;display:flex}.occurrence-tags :is(.badge,.status-badge,.points-badge,.photo-required-label,.lapse-marker){font-size:inherit;padding:3px 6px}.occurrence-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;max-width:45%;display:flex}.occurrence-actions:empty{display:none}.occurrence-actions button{padding:.45rem .7rem;font-size:.85rem}.occurrence-actions .submit-photos{min-width:0;max-width:100%}.occurrence-row>.comment-line{flex-basis:100%}.points-badge{color:#8a642f;white-space:nowrap;background:#fbf2df;border-radius:7px;padding:.25rem .45rem;font-size:.75rem;font-weight:600}.status-badge,.badge,.lapse-marker{border:0;border-radius:7px;margin-left:0;padding:.25rem .45rem;font-size:.75rem}.status-badge.status-available{color:#746188;background:#f0edf5}.status-badge.status-claimed{color:#6b459c;background:#eee6fa}.status-badge.status-submitted{color:#8c6429;background:#fff1db}.status-badge.status-accepted{color:#437750;background:#eaf3ec}.lapse-marker{color:#8c5f43;white-space:nowrap;background:#f7ede4}.daymap{border-top:1px solid var(--border);margin-top:20px;padding-top:16px}.daymap .field-label{color:var(--muted);font-size:.73rem}.daymap-row{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.daymap-cell{border:0;min-width:0;padding:8px 2px;font-size:.8rem}.daymap-cell.success{background:var(--sage);color:#437750}.daymap-value{overflow-wrap:anywhere;font-size:.58rem}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px}.field{min-width:0;margin-bottom:16px}.field-label{font-size:.8rem;font-weight:550}.field-error{font-size:.75rem}.inline-form{border-top-style:solid;max-width:none;margin-top:20px;padding-top:18px}.inline-form-actions,.bulk-bar{flex-wrap:wrap;align-items:end;gap:10px;display:flex}.inline-form-actions{margin-top:18px}.bulk-bar{margin-top:20px}.bulk-bar .field{margin:0}.grade-field{width:85px;margin:0}.template-panel{border:1px solid var(--border);background:#faf9fc;border-radius:14px;padding:14px}.catalog-folder-row{border-radius:9px;min-height:48px}.catalog-items{padding-left:10px}.check{min-height:44px}.toggle{gap:12px;padding:10px 0}.toggle-track{flex:none}.toggle-label{font-size:.84rem}.entry-code-row{gap:.7rem}.entry-code{letter-spacing:.17em;font-size:1.2rem}.group-row{flex-wrap:wrap;gap:12px;padding:12px 0}.member-row{flex-wrap:wrap;min-height:44px}.banner{border-radius:12px;padding:12px 16px;font-size:.85rem}.connection-status{align-items:center;gap:10px;margin-top:16px;display:flex}.family-intro{align-items:center;gap:20px;display:flex}.family-intro h2{margin:0 0 .5rem}.family-intro .section-kicker{margin-bottom:.35rem}.family-intro .secondary{flex:none;margin-left:auto}.family-intro-symbol{background:var(--accent-soft);width:66px;height:66px;color:var(--accent);border-radius:20px;flex:none;place-items:center;display:grid}.family-grid{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:20px;display:grid}.family-member{text-align:center}.family-member .member-avatar{width:57px;height:57px;margin-bottom:12px;font-size:1.3rem}.family-member h3{overflow-wrap:anywhere;margin:0 0 5px}.family-member .profile-appearance-head{flex-direction:column;justify-content:center;gap:8px}.family-member .profile-appearance-head>button{margin-left:0}.family-member>.muted{font-size:.8rem}.contribution{color:#5a7d61;justify-content:center;align-items:center;gap:6px;margin-top:17px;font-size:.74rem;display:flex}.preferences-card .toggle{display:flex}.ledger-row{padding:12px;font-size:.8rem}.modal-overlay{z-index:80;padding:18px}.modal-card{border-radius:22px;max-height:90dvh;padding:26px;overflow-y:auto}.modal-actions{flex-wrap:wrap}.crop-card{width:min(100%,390px)}.crop-viewport{max-width:100%}.crop-actions{flex-wrap:wrap}.route-block{margin-top:24px;padding-top:24px}.route-head{flex-wrap:wrap;align-items:center}.route-head h3{flex:180px;margin:0}.route-map{background:#faf8fe;border:1px solid #eee8f6;border-radius:20px;padding:24px}.route-progress{gap:8px;margin-bottom:20px}.route-progress .badge{border:1px solid var(--border);color:var(--muted);background:#fff;padding:7px 10px;font-size:.73rem}.journey-list{margin:0;padding:0;list-style:none}.journey-step{grid-template-columns:60px minmax(0,1fr);gap:20px;min-height:120px;display:grid;position:relative}.journey-step:nth-child(2n){padding-left:28px}.journey-step:last-child{min-height:75px}.journey-connector{color:#d8cbe9;width:33px;height:calc(100% - 30px);position:absolute;top:45px;left:28px;overflow:visible}.journey-step:nth-child(2n) .journey-connector{left:29px;transform:scaleX(-1)}.journey-node{color:#9787ac;z-index:1;background:#fff;border:2px solid #e2d8ed;border-radius:20px;place-items:center;width:58px;height:58px;display:grid}.journey-step.unlocked .journey-node{color:var(--accent);background:#eee5fb;border-color:#c5b0e2;box-shadow:0 0 0 5px #eee5fb55}.journey-step.received .journey-node{background:var(--accent);border-color:var(--accent);color:#fff}.journey-step.start .journey-node{color:#5a8162;background:#ecf4ed;border-color:#c8dccb}.journey-detail{min-width:0;padding:6px 0 18px}.journey-detail strong{overflow-wrap:anywhere;margin-bottom:4px;font-size:.9rem;display:block}.journey-detail p{color:var(--muted);margin-bottom:8px;font-size:.75rem}.journey-detail>.link{text-align:left;padding:.4rem 0;font-size:.75rem;display:block}.route-contributors{border-top:1px solid var(--border);margin-top:20px;padding-top:16px;font-size:.78rem}.route-contributors summary{cursor:pointer;color:var(--accent-dark);padding:8px 0}.route-contributors ul{color:var(--muted);padding-left:1.2rem}.route-finish{background:#edf4eb;border-radius:16px;align-items:center;gap:18px;margin-top:18px;padding:18px;display:flex}.route-finish .mascot{width:65px;height:85px}.route-finish h3{margin-bottom:8px}.route-finish p{color:#587151;font-size:.8rem}.milestone-list{margin:20px 0}.milestone-row{border:1px solid var(--border);background:#faf9fc;border-radius:14px;grid-template-columns:25px repeat(3,minmax(0,1fr));padding:18px}.milestone-row>.field:first-of-type{grid-column:span 3}.milestone-row .field{margin:0}.milestone-index{color:var(--accent);align-self:start;padding-top:7px}.goal-template-section{margin:24px 0}.goal-template-section>h3{margin-bottom:8px}.goal-templates{grid-template-columns:repeat(auto-fit,minmax(min(190px,100%),1fr));gap:14px;margin:18px 0;display:grid}.goal-template{text-align:left;border:1px solid var(--border);color:var(--text);background:#faf8fd;border-radius:17px;flex-direction:column;align-items:flex-start;gap:12px;padding:20px;display:flex}.goal-template:hover{background:#f3edf9;border-color:#cbb8e4}.goal-template .stat-symbol{color:var(--accent);background:#eee6f9}.goal-template strong{font-size:.9rem}.goal-template>span:not(.stat-symbol):not(.template-action){color:var(--muted);font-size:.75rem}.template-action{color:var(--accent-dark);align-items:center;gap:.6rem;margin-top:auto;font-size:.75rem;font-weight:600;display:flex}.collection-empty{color:var(--accent);text-align:center;border:1px dashed #dbd1e6;border-radius:15px;padding:28px 16px}.collection-empty p{color:var(--muted);max-width:350px;margin:12px auto 0;font-size:.82rem}.collection-grid{grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr));gap:15px;display:grid}.collection-item{border:1px solid var(--border);text-align:center;background:#faf8fd;border-radius:16px;padding:22px 18px}.collection-item.unlocked{background:#fff9f0;border-style:dashed}.collection-medallion{width:62px;height:62px;color:var(--accent);background:#ece3f7;border-radius:22px;place-items:center;margin:0 auto 15px;display:grid}.unlocked .collection-medallion{color:#9b753f;background:#faedd7}.collection-item h3{font-size:.95rem}.collection-item p,.collection-item time{color:var(--muted);font-size:.75rem;display:block}.collection-item .badge{margin:12px 0 8px;display:inline-block}.landing{max-width:950px;margin:0 auto;padding:48px 24px}.landing-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding-bottom:30px;display:flex}.landing-header>span{color:var(--muted);font-size:.8rem}.landing-intro{text-align:center;max-width:560px;margin:55px auto 36px;position:relative}.landing-intro .eyebrow{justify-content:center}.landing-intro h1{letter-spacing:-.045em;overflow-wrap:anywhere;margin:20px 0;font-size:clamp(2rem,5vw,3.2rem);font-weight:650;line-height:1.12}.landing-intro>p{color:var(--muted);max-width:390px;margin:auto;font-size:1rem}.role-cards{gap:24px;max-width:720px;margin:38px auto 24px}.role-card{border:1px solid var(--border);text-align:left;background:#fff;border-radius:24px;min-width:0;padding:30px;position:relative}.role-card.child-role{background:#f0ebf8;border-color:#e7def3}.role-card .mascot{float:right;width:76px;height:105px;margin:-8px -5px 4px 10px}.role-card h2{margin-top:15px;font-size:1.35rem}.role-card>p{min-height:65px;margin-bottom:22px;font-size:.87rem}.role-card .primary{clear:both;width:100%}.role-card .link{margin:6px auto 0;font-size:.8rem;display:block}.landing .role-card-intro{flex-wrap:wrap;align-items:center;gap:14px;min-height:176px;margin-bottom:14px;display:flex}.role-card-intro>div{flex:6.5rem;min-width:0}.role-card-intro h2{overflow-wrap:anywhere}.role-card-intro p{overflow-wrap:anywhere;margin:12px 0 0;font-size:.87rem}.landing .role-card-intro .mascot{float:none;width:116px;height:164px;margin:0}.landing-footer{text-align:center;color:var(--muted);font-size:.8rem}.landing-footer .link{margin:0 auto;font-size:.8rem;display:block}.auth-layout{background:var(--bg);min-height:100dvh;padding:35px 20px}.auth-card{border:1px solid var(--border);width:min(100%,460px);box-shadow:none;border-radius:24px;padding:32px}.auth-brand{border-bottom:1px solid var(--border);margin-bottom:22px;padding-bottom:22px}.auth-card h1{margin:20px 0 10px;font-size:1.65rem}.auth-card>.muted{margin-bottom:25px;font-size:.85rem}.auth-card form>button[type=submit]{width:100%}.auth-heading{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:24px;display:flex}.auth-heading>div{flex:8rem;min-width:0}.auth-heading h1{overflow-wrap:anywhere}.auth-heading p{margin-bottom:0;font-size:.85rem}.auth-heading .mascot{width:88px;height:114px}.family-intro .family-mascot{width:80px;height:100px}.family-intro>div{overflow-wrap:anywhere;min-width:0}.mascot-empty{align-items:center;gap:16px;padding:14px 0;display:flex}.mascot-empty[hidden]{display:none}.mascot-empty .mascot,.collection-empty .mascot{width:86px;height:104px}.mascot-empty p{min-width:0;margin:0}.route-help-heading{align-items:center;gap:12px;margin-bottom:16px;display:flex}.route-help-heading .mascot{width:66px;height:80px}.route-help-heading h3{min-width:0;margin:0}.profile-option{border-radius:13px;padding:15px}@media (width>=1450px){.app-workspace{margin-left:max(218px,50vw - 735px);margin-right:auto}}@media (width<=1080px){.app-workspace{padding-left:24px;padding-right:24px}.welcome-grid,.dashboard-columns{grid-template-columns:minmax(0,1fr)}.daily-progress{justify-content:flex-start}.daily-progress .hint{max-width:none}.dashboard-aside{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.overview-stat{padding:14px}}@media (width<=900px){.app-workspace{max-width:none;padding:0 25px calc(105px + env(safe-area-inset-bottom));margin:0}.app-sidebar{width:auto;padding:6px max(10px, env(safe-area-inset-right)) max(6px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));border:0;border-top:1px solid var(--border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff5;inset:auto 0 0}.app-sidebar>.brand-lockup,.nav-caption,.sidebar-note{display:none}.app-navigation{grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;display:grid}.nav-item{text-align:center;overflow-wrap:anywhere;border-radius:13px;flex-direction:column;justify-content:center;gap:4px;min-height:59px;padding:9px 3px;font-size:.75rem;display:flex}.mobile-brand{display:block}.mobile-brand .brand-lockup>span{max-width:9rem;font-size:.75rem}.mobile-brand .brand-lockup small{display:none}.mobile-brand .brand-lockup>svg{width:32px;height:32px}.topbar{min-height:90px}.topbar h1{margin-top:7px;font-size:.7rem}.topbar .member-chip{display:none}.welcome-grid{grid-template-columns:minmax(0,1.5fr) minmax(230px,1fr);gap:18px}.welcome-card{padding:24px}.welcome-card h3{font-size:1.65rem}}@media (width<=650px){.app-workspace{padding-right:max(16px, env(safe-area-inset-right));padding-left:max(16px, env(safe-area-inset-left))}.topbar{flex-flow:wrap;align-items:center;gap:10px;padding:17px 0}.topbar-left{flex:125px}.topbar-right{flex-wrap:wrap;justify-content:flex-end;gap:1px}.topbar-right .group-switcher-wrap{order:-1}.group-switcher{gap:5px;max-width:110px;padding:5px 8px;font-size:.75rem}.group-switcher .duty-icon{width:20px;height:20px}.icon-button,.bell-button{width:40px;min-width:40px;height:44px}.mobile-brand .brand-lockup{gap:8px}.mobile-brand .brand-lockup>span{max-width:76px;font-size:.68rem}.mobile-brand .brand-lockup>svg{width:28px;height:28px}.home-content{gap:18px;padding-top:24px}.page-heading{align-items:end;gap:10px}.page-heading h2{font-size:1.6rem}.page-heading .eyebrow{font-size:.65rem}.page-description{max-width:240px;font-size:.78rem}.create-duty{gap:0;width:44px;height:44px;padding:0;font-size:0}.create-duty .ui-icon{width:20px;height:20px}.welcome-grid{grid-template-columns:minmax(0,1fr);gap:14px}.welcome-card{min-height:146px;padding:18px 21px}.welcome-card h3{max-width:13rem;margin:.5rem 0;font-size:1.35rem}.welcome-card .eyebrow{margin-bottom:0;font-size:.65rem}.welcome-card .mascot{width:68px;height:97px}.welcome-card p{display:none}.welcome-link{padding-top:0;font-size:.73rem}.daily-progress{gap:17px;padding:14px 20px}.daily-progress h3{font-size:.9rem}.progress-ring{width:64px;height:64px}.progress-ring strong{font-size:1.1rem}.daily-progress .hint{display:none}.overview-stats{gap:8px}.overview-stat{border-radius:14px;flex-direction:column;align-items:flex-start;gap:0;padding:12px}.overview-stat .stat-symbol{display:none}.stat-symbol{border-radius:10px;width:32px;height:32px}.stat-symbol .ui-icon{width:18px;height:18px}.overview-stat strong{font-size:1.15rem}.overview-stat>div>span{margin-top:4px;font-size:.66rem;display:block}.dashboard-main,.dashboard-aside,.dashboard-columns{gap:18px}.dashboard-aside{display:flex}.card{border-radius:18px;padding:20px 16px}.card>h2{margin-bottom:18px;font-size:1rem}.occurrence-row,.prize-row,.template-row{flex-direction:row;align-items:center;gap:10px 8px;padding:12px}.occurrence-title{flex-basis:calc(100% - 60px)}.occurrence-row>.primary,.occurrence-row>.secondary{margin-left:auto}.occurrence-row>.submit-photos,.occurrence-row>.comment-line{flex-basis:100%}.form-grid{grid-template-columns:minmax(0,1fr);gap:0}.field{margin-bottom:18px}.grade-field{margin:0}.form-grid .field[style]{grid-column:auto!important}.family-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.family-member{padding:20px 10px}.family-member h3{font-size:.95rem}.family-intro{flex-wrap:wrap;gap:15px}.family-intro-symbol{border-radius:15px;width:50px;height:50px}.family-intro>div{flex:150px}.family-intro .secondary{margin-left:0}.contribution{flex-wrap:wrap;font-size:.65rem}.route-map{padding:20px 15px}.journey-step{grid-template-columns:50px minmax(0,1fr);gap:14px}.journey-node{border-radius:16px;width:48px;height:48px}.journey-connector{width:32px;top:40px;left:22px}.journey-step:nth-child(2n) .journey-connector{left:23px}.milestone-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:15px}.milestone-index{display:none}.milestone-row .field-label{font-size:.7rem}.milestone-row input{padding:.6rem}.route-head{gap:8px}.route-head h3{flex-basis:100%}.landing{padding:25px 18px}.landing-header{padding-bottom:20px}.landing-header>span{display:none}.landing-intro{margin:40px auto 25px}.landing-intro>p{font-size:.9rem}.role-cards{grid-template-columns:1fr;gap:16px;margin-top:30px}.role-card{padding:25px}.role-card>p{max-width:220px;min-height:0}.auth-card{padding:26px 22px}.bell-panel{top:auto;left:12px;right:12px;bottom:calc(90px + env(safe-area-inset-bottom));border-radius:20px;width:auto;max-width:none;max-height:65dvh;position:fixed}}@media (width<=370px){.topbar-right{justify-content:space-between;width:100%}.topbar-left{flex-basis:100%}.welcome-card{padding:20px}.welcome-card .mascot{width:72px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}html[data-motion=off] *,html[data-motion=off] :before,html[data-motion=off] :after{scroll-behavior:auto!important;transition:none!important;animation:none!important}html[data-playful=off] .mascot,html[data-playful=off] .goal-preview,html[data-playful=off] .mini-route{display:none}html[data-playful=off] .role-card-intro{min-height:0;padding:12px 0}html[data-playful=off] .welcome-card{background:#f1eff4}.card{background-image:linear-gradient(135deg,#fffdfb,#fff 64%,#f9f6fc)}.welcome-card{background-image:radial-gradient(at 85% 25%,#d9e6ca99,#0000 65%),repeating-linear-gradient(122deg,#7f65910c 0 1px,#0000 1px 4px),linear-gradient(120deg,#ede2f1,#f6eef7 60%,#ede9df);box-shadow:inset 0 0 0 1px #bda8c53d}.stat-symbol,.route-node-circle{background-image:repeating-linear-gradient(130deg,#8b6d8814 0 1px,#0000 1px 4px)}.primary{background-image:repeating-linear-gradient(125deg,#ffffff0a 0 1px,#0000 1px 4px),linear-gradient(120deg,#ffffff08,#00000008)}.ui-icon-wrap{vertical-align:middle;flex:none;justify-content:center;align-items:center;display:inline-flex}.pencil-icon{overflow:visible}.icon-choice-trigger{text-align:left;flex-wrap:wrap;justify-content:flex-start}.icon-choice-trigger>.muted{margin-left:auto;font-size:.78rem}.icon-choice-panel,.avatar-choice-panel{border:1px solid var(--border);background:#fbf9fc;border-radius:14px;margin-top:12px;padding:12px}.icon-choice .icon-picker{grid-template-columns:repeat(auto-fill,minmax(82px,1fr));gap:8px;max-height:355px;padding:5px;display:grid;overflow-y:auto}.icon-choice .icon-chip{width:auto;height:auto;min-height:84px;color:var(--accent-dark);background:#fff;border:1px solid #e5dceb;flex-direction:column;justify-content:center;gap:8px;padding:8px 4px;display:flex}.icon-choice .icon-chip>span:last-child:not(.icon-none){overflow-wrap:anywhere;font-size:.7rem;line-height:1.25}.icon-choice .icon-chip .duty-icon{width:29px;height:29px}.icon-choice .icon-chip.selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:#ede4f3}.color-palette{flex-wrap:wrap;align-items:center;gap:10px;padding:5px;display:flex}.color-swatch{color:#fff;text-shadow:0 1px 3px #000;border:3px solid #fff;border-radius:50%;width:44px;height:44px;padding:0;font-size:23px;box-shadow:0 0 0 1px #9a91a2}.color-swatch.selected{outline:3px solid var(--text);outline-offset:2px}.portrait-avatar{background:linear-gradient(135deg,#f8f2e8,#eee7f7);overflow:hidden}.portrait-avatar img{object-fit:contain;width:100%;height:100%}.avatar-picker{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:8px;max-height:375px;padding:5px;display:grid;overflow-y:auto}.avatar-option{border:1px solid var(--border);background:#fff;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-height:115px;padding:8px;font-size:.75rem;display:flex}.avatar-option.selected{border:2px solid var(--accent);background:var(--accent-soft)}.avatar-option .member-avatar{width:54px;height:54px}.avatar-option small{color:var(--muted);font-size:.65rem}.profile-appearance{border-bottom:1px solid var(--border);padding:14px 0}.profile-appearance:last-child{border:0}.profile-appearance-head{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.profile-appearance-head strong{overflow-wrap:anywhere}.profile-appearance-head>button{margin-left:auto}.duty-template-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:10px;margin:14px 0;padding:0;list-style:none;display:grid}.duty-template-card{border:1px solid var(--border);background:#fff;border-radius:14px;min-width:0;display:flex;position:relative;overflow:hidden}.template-select{text-align:left;width:100%;color:var(--text);background:linear-gradient(130deg,#fffdfb,#faf7fc);border:0;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:116px;padding:14px;display:grid}.duty-template-card:not(.catalog-template) .template-select{padding-right:46px}.template-select:focus-visible{outline-offset:-4px}.template-copy{flex-direction:column;gap:5px;min-width:0;line-height:1.35;display:flex}.template-copy strong{-webkit-line-clamp:2;overflow-wrap:anywhere;-webkit-box-orient:vertical;min-height:2.7em;font-size:.9rem;font-weight:650;display:-webkit-box;overflow:hidden}.template-copy>span{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.7em;font-size:.75rem;display:-webkit-box;overflow:hidden}.template-copy>small{color:var(--muted);font-size:.7rem}.template-select>.points-badge{padding:4px;font-size:.75rem}.archive-template{width:44px;padding:5px;position:absolute;top:50%;right:1px;transform:translateY(-50%)}.archive-template:active:not(:disabled){transform:translateY(-50%)}.catalog-template .template-select{min-height:150px}.template-select>svg{flex:none;width:40px;height:40px}.photo-required-label{color:#694483;background:#f1e9f5;border-radius:6px;padding:3px 7px;font-size:.72rem}.submit-photos{flex-wrap:wrap;align-items:center;gap:7px}.modal-backdrop{z-index:70;background:#302b3d80;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.design-modal{width:100%;min-width:0;max-width:750px;max-height:90dvh;overflow-y:auto}.modal-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.modal-heading h2{margin:0}.design-modal>div>.card{box-shadow:none;border:0;padding:0}.route-editor-layout{grid-template-columns:minmax(0,1fr) 250px;align-items:start;gap:20px;margin-top:24px;display:grid}.route-editor-form{min-width:0}.route-editor-help{background:repeating-linear-gradient(128deg,#8c729008 0 1px,#0000 1px 5px),linear-gradient(130deg,#f3eaf6,#f9f5e9);border:1px solid #d5c6e1;border-radius:14px;padding:18px;font-size:.8rem}.route-editor-help h3{align-items:center;gap:8px;font-size:.95rem;display:flex}.route-editor-help p:last-child{margin-bottom:0}.route-help-example{border-left:3px solid var(--accent);padding-left:10px}.route-editor-form h4{margin:22px 0 5px}.route-default-scope{background:#faf7fc;border:1px dashed #c8b8d7;border-radius:12px;padding:12px;font-size:.85rem}.route-selected-duties,.route-duty-choices{margin:10px 0;padding:0;list-style:none}.route-selected-duties{max-height:260px;overflow-y:auto}.route-selected-duties li{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;font-size:.85rem;display:flex}.route-selected-duties li>span{overflow-wrap:anywhere;min-width:0}.route-selected-duties small,.route-duty-choices small{color:var(--muted);font-size:.7rem;display:block}.route-duty-choices{max-height:50dvh;overflow-y:auto}.route-duty-choices label{border-bottom:1px solid var(--border);cursor:pointer;align-items:center;gap:12px;padding:12px 5px;display:flex}.route-duty-choices label>span{overflow-wrap:anywhere;min-width:0}.milestone-editor{border:1px solid var(--border);background:#faf8fc;border-radius:14px;grid-template-columns:22px minmax(100px,1fr) minmax(8ch,90px) minmax(7ch,80px) minmax(8ch,90px) 44px;align-items:end;gap:10px;padding:14px;display:grid}.milestone-editor .field{min-width:0;margin:0}.milestone-editor input{font-variant-numeric:tabular-nums;padding:.65rem .5rem}.milestone-editor input[type=number]{appearance:textfield}.milestone-editor input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.milestone-editor .field-label{align-items:end;min-height:2.7em;padding-bottom:4px;font-size:.75rem;line-height:1.35;display:flex}.milestone-editor>.field-error{grid-column:1/-1}.milestone-editor>.milestone-index{align-self:center}@media (width<=1200px){.route-editor-layout{grid-template-columns:minmax(0,1fr)}.route-editor-help{max-width:none}}@media (width<=1420px){.milestone-editor{grid-template-columns:22px repeat(2,minmax(0,1fr)) 44px;gap:10px;padding:12px}.milestone-gift{grid-column:2/-1}.milestone-points{grid-column:2}.milestone-days{grid-column:3}.milestone-averageGrade{grid-column:2/4}.milestone-remove{grid-column:4}.milestone-editor .field-label{min-height:0;font-size:.8rem}.route-editor-help{font-size:.85rem}}@media (width<=420px){.template-select{grid-template-columns:32px minmax(0,1fr);gap:8px}.template-select>.points-badge{grid-column:2;justify-self:start}.template-select>svg{width:32px;height:32px}.catalog-template .template-select{min-height:185px}.milestone-editor{grid-template-columns:16px repeat(2,minmax(0,1fr)) 36px;gap:8px;padding:9px}.milestone-editor .icon-button{width:36px;min-width:36px;padding:5px}.modal-backdrop{padding:10px}.design-modal{padding:16px}}@media print{.app-sidebar,.topbar,button{display:none!important}.app-workspace{margin:0;padding:0}.card{break-inside:avoid}}:root{--bg:#f7f4ee;--surface:#fffefa;--text:#35313b;--muted:#6e6571;--accent:#76528e;--accent-dark:#604076;--accent-soft:#eee5f2;--border:#dcd4db;--sage:#e9eee1;--peach:#f7e9dc;--paper-grain:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='160'%20height='160'%20viewBox='0%200%20160%20160'%3e%3cfilter%20id='paper'%20x='0'%20y='0'%20width='100%25'%20height='100%25'%3e%3cfeTurbulence%20type='fractalNoise'%20baseFrequency='.74%20.92'%20numOctaves='3'%20seed='17'%20stitchTiles='stitch'/%3e%3cfeColorMatrix%20values='0%200%200%200%20.34%200%200%200%200%20.28%200%200%200%200%20.23%20.24%200%200%200%20-.055'/%3e%3c/filter%3e%3cpath%20fill='%23fff'%20filter='url(%23paper)'%20d='M0%200h160v160H0z'/%3e%3c/svg%3e");--pencil-shading:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='180'%20height='180'%20viewBox='0%200%20180%20180'%3e%3cdefs%3e%3cpattern%20id='strokes'%20width='23'%20height='17'%20patternUnits='userSpaceOnUse'%20patternTransform='rotate(-32)'%3e%3cg%20fill='none'%20stroke='%2371577f'%20stroke-linecap='round'%3e%3cpath%20d='M-2%202.6Q10%201.8%2025%203'%20stroke-width='1.05'%20opacity='.32'/%3e%3cpath%20d='M-2%206.5Q8%207.2%2025%206'%20stroke-width='.7'%20opacity='.24'/%3e%3cpath%20d='M-2%2010.2Q15%209.6%2025%2010.9'%20stroke-width='1.2'%20opacity='.19'/%3e%3cpath%20d='M-2%2014Q9%2014.6%2025%2013.5'%20stroke-width='.85'%20opacity='.3'/%3e%3c/g%3e%3c/pattern%3e%3cfilter%20id='tooth'%20x='0'%20y='0'%20width='100%25'%20height='100%25'%3e%3cfeTurbulence%20type='fractalNoise'%20baseFrequency='.46%20.82'%20numOctaves='2'%20seed='9'%20stitchTiles='stitch'/%3e%3cfeColorMatrix%20values='0%200%200%200%201%200%200%200%200%201%200%200%200%200%201%201.7%200%200%200%20-.3'/%3e%3cfeComposite%20in='SourceGraphic'%20operator='in'/%3e%3c/filter%3e%3c/defs%3e%3cpath%20fill='url(%23strokes)'%20filter='url(%23tooth)'%20d='M0%200h180v180H0z'/%3e%3c/svg%3e");--pencil-pigment:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='160'%20height='96'%20viewBox='0%200%20160%2096'%3e%3c!--%20Directional%20pencil%20strokes%20with%20varying%20pressure;%20no%20noise%20filter.%20--%3e%3cdefs%3e%3cpattern%20id='hatch'%20width='32'%20height='24'%20patternUnits='userSpaceOnUse'%20patternTransform='rotate(-32)'%3e%3cg%20fill='none'%20stroke='%23392144'%20stroke-linecap='round'%3e%3cpath%20d='M-2%203.2Q12%202.4%2034%203.4'%20stroke-width='.85'%20opacity='.23'/%3e%3cpath%20d='M-2%209Q18%209.6%2034%208.7'%20stroke-width='.65'%20opacity='.16'/%3e%3cpath%20d='M-2%2015.1Q10%2014.6%2034%2015.4'%20stroke-width='1'%20opacity='.2'/%3e%3cpath%20d='M-2%2021Q20%2021.5%2034%2020.8'%20stroke-width='.7'%20opacity='.13'/%3e%3c/g%3e%3c/pattern%3e%3c/defs%3e%3cpath%20fill='url(%23hatch)'%20d='M0%200h160v96H0z'/%3e%3c/svg%3e");--pencil-contour:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='80'%20height='80'%20viewBox='0%200%2080%2080'%20fill='none'%3e%3c!--%20One%20quiet%20pencil%20line.%20Nine-slice%20preserves%20stroke%20width%20and%20corners.%20--%3e%3cpath%20d='M17%202.5%20C29%202.2%2043%202.8%2063%202.5%20C71.1%202.4%2077.4%208.8%2077.5%2017%20C77.2%2030%2077.8%2046%2077.5%2063%20C77.6%2071.1%2071.2%2077.4%2063%2077.5%20C48%2077.8%2032%2077.2%2017%2077.5%20C8.8%2077.6%202.4%2071.2%202.5%2063%20C2.8%2047%202.2%2030%202.5%2017%20C2.4%208.8%208.9%202.4%2017%202.5Z'%20stroke='%239e91a3'%20stroke-width='.9'%20stroke-linecap='round'%20stroke-linejoin='round'%20opacity='.75'/%3e%3c/svg%3e");--pencil-edge-shading:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20width='720'%20height='420'%20viewBox='0%200%20720%20420'%20preserveAspectRatio='none'%3e%3cdefs%3e%3cpattern%20id='strokes'%20width='27'%20height='19'%20patternUnits='userSpaceOnUse'%20patternTransform='rotate(-32)'%3e%3cg%20fill='none'%20stroke='%2382638e'%20stroke-linecap='round'%3e%3cpath%20d='M-2%203Q11%201.5%2029%203.7'%20stroke-width='.9'%20opacity='.28'/%3e%3cpath%20d='M-2%208Q12%209%2029%207.3'%20stroke-width='.65'%20opacity='.19'/%3e%3cpath%20d='M-2%2014Q9%2012.5%2029%2014.8'%20stroke-width='1.1'%20opacity='.22'/%3e%3c/g%3e%3c/pattern%3e%3clinearGradient%20id='pressure'%20x1='0'%20y1='0'%20x2='1'%20y2='1'%3e%3cstop%20stop-color='white'%20stop-opacity='.85'/%3e%3cstop%20offset='.3'%20stop-color='white'%20stop-opacity='.08'/%3e%3cstop%20offset='.68'%20stop-color='white'%20stop-opacity='0'/%3e%3cstop%20offset='1'%20stop-color='white'%20stop-opacity='.45'/%3e%3c/linearGradient%3e%3cmask%20id='edges'%3e%3cpath%20fill='url(%23pressure)'%20d='M0%200h720v420H0z'/%3e%3c/mask%3e%3c/defs%3e%3cpath%20fill='url(%23strokes)'%20mask='url(%23edges)'%20d='M0%200h720v420H0z'/%3e%3c/svg%3e");--pencil-wash:radial-gradient(ellipse at 8% 12%, #d5bfdf70, transparent 70%), radial-gradient(ellipse at 95% 95%, #e1e5c875, transparent 65%), linear-gradient(115deg, #f0e8f2, #f8f3eb)}body{background-color:var(--bg);background-image:var(--paper-grain), radial-gradient(ellipse at 95% 0, #ece3ef65, transparent 60%)}.app-sidebar{background:var(--paper-grain), linear-gradient(105deg, #fcfaf5, #f9f5ef);border-right-color:#c8bdcb;box-shadow:2px 0 #fffefa,3px 0 #b7a9ba2b}.topbar,.landing-header{border-bottom:1px solid #c7bbc960;box-shadow:0 2px #fffefa80}.nav-item{color:#6e6474}.nav-item.selected{background-color:#e9dfee;background-image:var(--pencil-shading), radial-gradient(ellipse at 20% 70%, #ddcbe6, #eee5f280);color:var(--accent-dark);border-radius:12px 15px 11px 13px;box-shadow:inset 0 0 0 1px #aa8bb244,inset 0 2px 4px #fffafa90}.nav-item:hover:not(.selected){background:#eee7ee8c}.group-switcher{background:var(--paper-grain), #eee8ef;box-shadow:inset 0 0 0 1px #b6a4c033}:is(.card,.welcome-card,.overview-stat,.role-card,.auth-card,.modal-card,.goal-template,.route-map){background-color:var(--surface);background-image:var(--paper-grain), linear-gradient(125deg, #fffefa, #fffdfa 70%, #faf5f8);border-color:#0000;position:relative;box-shadow:0 3px 7px #58425104}:is(.card,.welcome-card,.overview-stat,.role-card,.auth-card,.modal-card,.goal-template,.route-map):after{content:"";border:20px solid #0000;border-image:var(--pencil-contour) 20 / 20px / 0 stretch;pointer-events:none;position:absolute;inset:0}.design-modal>div>.card{box-shadow:none;background:0 0}.design-modal>div>.card:after{display:none}.welcome-card{background-color:#eee5ef;background-image:var(--paper-grain), var(--pencil-shading), var(--pencil-wash);box-shadow:inset 0 0 24px #fffdf440}.welcome-card h3{color:#46364e}.welcome-card p,.welcome-card .eyebrow{color:#6b5676}.goal-preview{background-color:#faf0de;background-image:var(--paper-grain), radial-gradient(ellipse at 95% 0, #f2deba80, transparent 80%), linear-gradient(145deg, #fcf3e4, #fffaf1)}.balance-preview,.role-card.child-role,.route-map,.goal-template{background-image:var(--paper-grain), radial-gradient(ellipse at 0 0, #e5d6ed80, transparent 85%), linear-gradient(125deg, #f3ecf5, #fbf7ef)}.overview-stat{background-image:var(--paper-grain), var(--pencil-edge-shading);background-size:auto,100% 100%}.overview-stat.sage{background-color:#f6f8f0}.overview-stat.peach{background-color:#fdf4e9}.overview-stat.lavender{background-color:#f5eff8}.overview-stat .stat-symbol,.goal-template .stat-symbol,.family-intro-symbol,.collection-item .collection-medallion{background-image:var(--pencil-shading), radial-gradient(ellipse at 12% 0, #fff8, transparent 80%);border-radius:12px 15px 11px 14px;box-shadow:inset 0 0 0 1px #927a972e,inset 0 1px 6px #ffffff50}.primary{background-color:var(--accent);background-image:var(--pencil-pigment), linear-gradient(115deg, #76508c, #805b94 55%, #704b87);color:#fff;border-color:#6c497f;border-radius:11px 13px 10px 12px;box-shadow:0 1px #5f427020}.primary:hover:not(:disabled){background-color:#68417f;background-image:var(--pencil-pigment), linear-gradient(120deg, #78518f, #69457f)}.secondary{background:var(--paper-grain), linear-gradient(120deg, #fffdfa, #f8f3f8);box-shadow:none;border-color:#b9a9be;border-radius:11px 13px 10px 12px}.secondary:hover:not(:disabled){background:var(--paper-grain), #eee5f2}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]),select,textarea{background:#fffefa;border-color:#bfb2c2;border-radius:10px 12px 11px 9px;box-shadow:inset 0 1px 2px #59446008,0 1px #fffdf8}input:focus,select:focus,textarea:focus{border-color:var(--accent-dark);outline-color:#d9c6e6}button:focus-visible,a:focus-visible,summary:focus-visible{outline-color:var(--accent-dark)}.occurrence-row,.prize-row,.template-row,.duty-template-card,.collection-item,.milestone-editor{background-color:#fffdf9;background-image:var(--paper-grain);border-color:#cbbfce;box-shadow:0 1px #fffdf9,inset 0 1px #fff}.template-select{background:var(--paper-grain), linear-gradient(120deg, #fffdfa, #f7f1f6)}.template-select:hover{background:var(--paper-grain), var(--accent-soft)}.template-panel,.route-editor-help,.route-default-scope{background-image:var(--paper-grain), linear-gradient(120deg, #f0e7f3a0, #f7f2e6);border-color:#c8b8ce}.points-badge{background:var(--paper-grain), #f6e9cf;color:#775427}.status-badge,.badge,.photo-required-label,.lapse-marker{background-image:var(--paper-grain)}.ring-track{stroke:#e9dfed}.ring-value{stroke:#89649b}.journey-connector{color:#b19bbb;stroke-linecap:round;stroke-dasharray:3 2}.journey-node{background-image:var(--paper-grain);border-color:#c5b3ce;box-shadow:inset 0 0 0 2px #fffefa}.journey-step.unlocked .journey-node{background-image:var(--pencil-shading), var(--paper-grain);border-color:#ab8abb}.journey-step.received .journey-node{background-color:var(--accent);background-image:var(--pencil-shading);border-color:var(--accent-dark)}.toggle-track{box-shadow:inset 0 0 0 1px #8a73994d}html[data-playful=off]{--paper-grain:none;--pencil-shading:none;--pencil-pigment:none;--pencil-edge-shading:none}html[data-playful=off] .welcome-card{box-shadow:none;background:#f0eaf1}html[data-playful=off] :is(.card,.welcome-card,.overview-stat,.role-card,.auth-card,.modal-card,.goal-template,.route-map):after{display:none}html[data-playful=off] :is(.card,.welcome-card,.overview-stat,.role-card,.auth-card,.modal-card,.goal-template,.route-map){border:1px solid var(--border)}@media (width<=900px){.app-sidebar{border-top-color:#c8bdcb;border-right:0;box-shadow:0 -2px #fffefa,0 -3px #b7a9ba2b}.nav-item.selected{border-radius:11px 13px 10px 12px}}@media (prefers-contrast:more){:root{--muted:#55485e;--border:#8c7c97}:is(.card,.welcome-card,.overview-stat,.role-card,.auth-card,.modal-card,.goal-template,.route-map){border:1px solid var(--border)}}@media (forced-colors:active),print{:root{--paper-grain:none;--pencil-shading:none;--pencil-pigment:none;--pencil-edge-shading:none}*,:before,:after{box-shadow:none!important;background-image:none!important;border-image:!important}:is(.card,.welcome-card,.overview-stat,.role-card,.auth-card,.modal-card,.goal-template,.route-map):after{display:none}}@media (forced-colors:active){:is(.card,.welcome-card,.overview-stat,.role-card,.auth-card,.modal-card,.goal-template,.route-map){border:1px solid canvastext}.primary,.secondary{border:1px solid buttontext}}.home .compact-stats .overview-stat{box-shadow:none;background:0 0;border-radius:0}.home .compact-stats .overview-stat:after{display:none}.home .compact-stats .overview-stat:hover{color:var(--accent-dark);text-decoration:underline}.bell-button{position:relative}.bell-button .bell-badge{min-width:16px;height:16px;padding:0 3px;font-size:10px;line-height:16px;top:2px;right:2px;transform:none}.duty-filters{flex-wrap:wrap;gap:10px;margin:8px 0 14px;display:flex}.duty-filters label{align-items:center;gap:6px;min-width:0;font-size:.75rem;display:flex}.duty-filters select{min-width:0;max-width:100%;padding:6px;font-size:.75rem}.adult-duty-workspace{flex-direction:column;gap:16px;min-width:0;display:flex}.occurrence-tags>*{overflow-wrap:anywhere;min-width:0;max-width:100%}.occurrence-tags :is(.badge,.status-badge,.points-badge,.photo-required-label,.lapse-marker){white-space:normal}.occurrence-row:has(.submit-photos[data-open=true])>.occurrence-actions{flex-basis:100%;justify-content:stretch;width:100%;max-width:100%}.occurrence-actions:has(.submit-photos[data-open=true])>:not(.submit-photos){display:none}.occurrence-actions .submit-photos[data-open=true]{width:100%;max-width:100%;display:flex}.submit-photos[data-open=true] .submit-attach-row{flex-wrap:wrap;align-items:end;gap:8px;width:100%;min-width:0;display:flex}.submit-attach-row>input[type=file]{flex:180px;min-width:0;max-width:100%}.submission-message{text-align:left;flex-direction:column;flex-basis:100%;gap:5px;min-width:0;font-size:.78rem;display:flex}.submission-message textarea{width:100%;max-width:100%;min-height:58px}.submission-note{white-space:pre-wrap;overflow-wrap:anywhere;flex-basis:100%;font-style:italic;display:block}.row-grade-control{flex-basis:100%}.grade-mark{align-items:center;gap:4px;font-weight:650;display:inline-flex}.rating-art{object-fit:contain;width:28px;height:28px}.grade-choices .rating-art{width:38px;height:38px}.grade-example-scale .rating-art{width:30px;height:30px}.routine-pack-entry{margin:10px 0 16px}.pack-browser-tabs{gap:8px;margin-bottom:16px;display:flex}.pack-browser-tabs button{flex:1}.pack-browser-tabs [aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent)}.pack-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.pack-card{text-align:left;flex-direction:column;gap:8px;min-width:0;padding:14px;display:flex}.pack-card strong{overflow-wrap:anywhere}.pack-card small{color:var(--muted);font-size:.75rem}.pack-preview{gap:6px;display:flex}.pack-preview .duty-icon{object-fit:contain;width:32px;height:32px}.pack-action-list{flex-direction:column;gap:8px;max-height:55vh;display:flex;overflow-y:auto}.pack-action-list>button{text-align:left;align-items:center;gap:12px;display:flex}.pack-action-list .duty-icon{width:32px;height:32px}.pack-action-list span{overflow-wrap:anywhere;min-width:0}.pack-routines{margin:12px 0 20px;padding:0;list-style:none}.pack-routine{border-bottom:1px solid var(--border);min-width:0;padding:12px 0}.pack-routine-head{align-items:center;gap:8px;font-size:.9rem;display:flex}.pack-routine-head>input{flex:none;width:20px;height:20px}.pack-routine-head .duty-icon{object-fit:contain;width:34px;height:34px}.pack-routine-head strong{overflow-wrap:anywhere;min-width:0}.pack-routine details{margin:6px 0 0 28px}.pack-routine summary{cursor:pointer;color:var(--accent-dark);font-size:.73rem}.pack-routine summary>span{display:inline}.pack-routine summary>span+span{margin-left:10px;text-decoration:underline}.routine-schedule-summary{overflow-wrap:anywhere;font-size:.72rem}.routine-schedule{border:0;min-width:0;margin:0;padding:12px 0}.routine-schedule .field{min-width:0}.routine-schedule :is(input,select){min-width:0;max-width:100%}.routine-schedule .weekday-days{max-width:100%}.routine-schedule small{font-size:.7rem}.pack-duplicate{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 12px;margin-left:28px;font-size:.72rem;display:flex}.pack-duplicate .routine-schedule-summary{width:100%}.pack-duplicate button{min-height:28px;padding:3px;font-size:.72rem}@media (width<=500px){.pack-grid{grid-template-columns:1fr}.pack-routine details{margin-left:0}.grade-example-scale .rating-art{width:32px;height:32px}}.grade-mark svg{fill:currentColor;width:24px;height:24px}.grade-1{color:#27232c}.grade-2{color:#64606b}.grade-3{color:#707988}.grade-4{color:#98602c}.grade-5{color:#956a00}.grade-choices{flex-wrap:wrap;gap:8px;margin:10px 0;display:flex}.grade-choices button{border:1px solid var(--border);background:0 0;border-radius:10px;place-items:center;width:48px;min-height:48px;padding:6px;display:grid}.grade-choices .grade-mark{flex-direction:column;gap:0}.grade-choices .grade-number{font-size:.7rem}.grade-choices button.chosen{outline:2px solid var(--accent);background:var(--accent-soft)}.grade-choices [aria-checked=false] .grade-mark svg path{fill:none;stroke:currentColor}.grade-choices .grade-mark svg{width:28px;height:28px}.duty-options{border:1px solid var(--border);border-radius:10px;margin:12px 0;padding:12px}.duty-options .toggle-label{align-items:center;gap:8px;display:flex}.duty-options input[type=checkbox]{width:20px;height:20px}.family-total{color:var(--accent-dark);font-size:1.8rem;display:block}.family-reward{flex-wrap:wrap;align-items:center;gap:12px;padding:12px 0;display:flex}.family-reward .pencil-progress{flex:220px}.landing .landing-header{min-height:0;padding:18px 0}.landing .role-cards{gap:16px;max-width:680px;margin:18px auto}.landing .role-card{border-radius:16px;padding:18px}.landing .role-card>p{min-height:0;margin:8px 0 12px}.landing .role-card h2{margin:0;font-size:1.1rem}.landing .landing-intro{margin:28px auto 14px}.landing .landing-intro h1{margin:12px 0;font-size:1.5rem}@media (width<=700px){.duty-filters label{flex:120px}.duty-filters select{flex:1}.grade-choices{gap:5px}.grade-choices button{width:42px}.landing .role-cards{grid-template-columns:1fr;gap:10px}}@media (forced-colors:active){.grade-mark{color:canvastext}.grade-choices button.chosen{outline-color:highlight}}.home .weekday-days{border:1px solid var(--border);background:var(--paper,#fffdf8);border-radius:12px;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;max-width:420px;padding:4px;display:grid}.home .weekday-chip{min-width:0;min-height:36px;color:var(--muted);box-shadow:none;background:0 0;border:0;border-radius:8px;padding:5px 2px;font-size:.78rem}.home .weekday-chip.selected{background:var(--accent-soft);color:var(--accent-dark);font-weight:650;box-shadow:inset 0 -2px #9273ab80}.home .weekday-presets{flex-wrap:wrap;gap:5px;margin-bottom:8px}.home .weekday-presets .secondary{min-height:28px;box-shadow:none;background:0 0;border:0;padding:4px 8px;font-size:.72rem}.home .weekday-presets .secondary:after{display:none}.duty-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:16px;display:grid}.duty-option{min-width:0}.duty-option>.toggle{text-align:left;width:100%}.duty-option .hint{margin:5px 0;font-size:.7rem}.duty-option .toggle-label{display:inline}.grade-example-field{border:0;grid-column:1/-1;min-width:0;margin:0;padding:8px 0 0}.grade-example-field legend{font-size:.8rem}.grade-style-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.grade-preview-choice{border:1px solid var(--border);cursor:pointer;border-radius:10px;flex-direction:column;gap:8px;min-width:0;padding:12px 8px;font-size:.78rem;display:flex;position:relative}.grade-preview-choice>strong{padding-left:20px}.grade-preview-choice>input{accent-color:var(--accent);width:14px;height:14px;margin:0;position:absolute;top:13px;left:8px}.grade-preview-choice:has(input:checked){background:var(--accent-soft);border-color:var(--accent)}.grade-preview-choice:focus-within{outline:2px solid var(--accent);outline-offset:2px}.grade-example-scale{justify-content:space-around;gap:5px;display:flex}.grade-example-scale .grade-mark{flex-direction:column;gap:2px}.grade-example-scale .grade-number{font-size:.62rem}.grade-example-scale svg{width:21px;height:21px}.priority-segments{flex-wrap:wrap;gap:4px;margin-top:8px;display:flex}.priority-segments label{position:relative}.priority-segments input{opacity:0;position:absolute}.priority-segments span{border:1px solid var(--border);cursor:pointer;border-radius:7px;padding:4px 7px;font-size:.7rem;display:block}.priority-segments input:checked+span{background:var(--accent-soft);border-color:var(--accent)}.priority-segments input:focus-visible+span{outline:2px solid var(--accent)}@media (width<=700px){.duty-options,.grade-style-grid{grid-template-columns:1fr}.grade-preview-choice{padding:10px 12px}.grade-example-scale{max-width:230px}.home .weekday-days{width:100%}}.home .compact-stats .overview-stat>div{flex-wrap:nowrap;align-items:baseline;gap:6px;min-width:0;display:flex}.home .compact-stats .overview-stat>div>span{white-space:nowrap}.home .compact-stats .overview-stat{flex:1 0 auto;padding:8px 10px}.child-progress-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.child-progress-grid .progress-caption{align-items:end;gap:7px;min-height:2.6em}.selected-day-label{color:var(--muted);margin:0;font-size:.7rem}.duty-filters{float:none;justify-content:flex-end;gap:5px;height:30px;margin:0 0 8px;display:flex}.card:has(>.duty-filters)>h2{max-width:100%;display:block}.duty-filters .compact-select{border:1px solid var(--border);background:0 0;border-radius:8px;flex:0 auto;align-items:center;gap:5px;width:auto;min-width:0;max-width:50%;height:30px;padding:4px 7px;display:inline-flex;position:relative}.filter-current{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.65rem;overflow:hidden}.compact-select .ui-icon-wrap{flex:none}.compact-select select{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.compact-select:focus-within{outline:2px solid var(--accent);outline-offset:2px}.duty-filters .compact-select.active{color:var(--accent-dark);background:var(--accent-soft);border-color:var(--accent)}.occurrence-list{clear:both}.calendar-widget{min-width:0}.calendar-toolbar{justify-content:space-between;align-items:center;gap:10px;margin-bottom:7px;display:flex}.calendar-toolbar>span{overflow-wrap:anywhere;min-width:0;font-size:.72rem}.calendar-arrow{border:1px solid var(--border);width:30px;height:30px;color:var(--text);background:0 0;border-radius:8px;flex:none;place-items:center;padding:4px;display:grid}.calendar-toolbar>.link{padding:0;font-size:.72rem}.calendar-legend{color:var(--muted);margin:5px 0 0;font-size:.65rem}.calendar-day>.calendar-pending{color:var(--accent-dark);font-size:.6rem}.wallet-form{border-top:1px solid var(--border);margin:16px 0;padding-top:12px}.duty-workspace{min-width:0}.duty-workspace-body{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:18px;min-width:0;display:grid}.duty-stack{flex-direction:column;gap:16px;min-width:0;display:flex}.duty-block{min-width:0}.duty-block:empty,.duty-mobile-tabs{display:none}@media (width<=1100px){.duty-workspace-body{grid-template-columns:1fr}}@media (width<=700px){.duty-workspace .occurrence-summary{min-width:min(8rem,100%)}.duty-workspace .occurrence-actions{min-width:0;max-width:100%}.duty-workspace .occurrence-actions button{overflow-wrap:anywhere;max-width:100%}.duty-mobile-tabs{border:1px solid var(--border);background:var(--paper,#fffdf8);border-radius:12px;gap:4px;margin-bottom:14px;padding:4px;display:flex}.duty-mobile-tabs>button{min-width:0;min-height:38px;color:var(--muted);background:0 0;border:0;border-radius:8px;flex:1;padding:6px;font-size:.78rem}.duty-mobile-tabs>button[aria-selected=true]{background:var(--accent-soft);color:var(--accent-dark);font-weight:650;box-shadow:inset 0 -2px #9273ab80}.duty-workspace-body{gap:0}.duty-stack{gap:14px}.duty-workspace[data-view=mine] .duty-block[data-mobile-view=family],.duty-workspace[data-view=family] .duty-block[data-mobile-view=mine]{display:none}.duty-stack+.duty-stack:not(:empty){margin-top:14px}.duty-workspace[data-view=family] .duty-stack+.duty-stack{margin-top:0}}.parent-feedback-block{flex-basis:100%;width:100%;min-width:0;margin-top:5px}.parent-feedback-block>.link{padding:2px 0;font-size:.68rem}.feedback-history{max-height:260px;overflow-y:auto}.assigned-duty-row{flex-direction:row;align-items:center;gap:6px 10px;padding:10px 12px;container-type:inline-size}.assigned-duty-row>input[type=checkbox]{flex:none;width:20px;height:20px;margin:0}.assigned-duty-row>:is(.duty-icon,.duty-icon-fallback,.duty-photo){aspect-ratio:1;object-fit:contain;box-sizing:border-box;flex:0 0 48px;align-self:center;width:48px;height:48px}.assigned-duty-row>.occurrence-summary{min-width:0}.assigned-duty-row .occurrence-tags{gap:3px 5px;margin-top:4px}.assigned-duty-row>.occurrence-actions{flex:0 auto;min-width:0;max-width:45%}.assigned-duty-row .occurrence-actions button{overflow-wrap:anywhere;max-width:100%;min-height:34px;padding:6px 9px;font-size:.75rem}.assigned-duty-row .occurrence-actions .link{border:1px solid var(--border);background:var(--paper);border-radius:8px;text-decoration:none}.assigned-duty-row .submit-photos[data-open=false]>.photo-required-label{display:none}.assigned-duty-row .parent-feedback-action{min-width:0;max-width:100%}.assigned-feedback-history{flex-basis:100%;min-width:0}@container (width<=460px){.assigned-duty-row>.occurrence-actions{flex-basis:100%;justify-content:flex-start;max-width:100%}}.feedback-history>summary{color:var(--accent-dark);font-size:.7rem}.feedback-entry{border-bottom:1px solid var(--border);padding:7px 0}.feedback-entry small{color:var(--muted);font-size:.64rem}.feedback-entry p{white-space:pre-wrap;overflow-wrap:anywhere;margin:5px 0;font-size:.76rem}.feedback-thumbs{flex-wrap:wrap;gap:8px;margin:6px 0;display:flex}.feedback-thumbs>span{flex-direction:column;align-items:center;display:flex}.feedback-thumbs img{object-fit:cover;border-radius:7px;width:54px;height:54px}.parent-photo-attachments{min-width:0;margin:12px 0}.parent-photo-attachments>input{width:100%;min-width:0;max-width:100%}.wallet-requests,.wallet-history{padding:0;list-style:none}.contribution-row,.wallet-history li{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.contribution-row p{overflow-wrap:anywhere;margin:3px 0 0}.wallet-history li{justify-content:start}@media (width>=1101px){.journey-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 22px;padding:10px 0 20px;display:grid}.journey-list .journey-step{grid-row:var(--journey-row);grid-column:var(--journey-column);text-align:center;flex-direction:column;align-items:center;gap:12px;min-height:170px;padding:0;display:flex}.journey-step .journey-detail{overflow-wrap:anywhere;width:100%;min-width:0}.journey-list .journey-connector{display:none}.journey-step:before{content:"";z-index:0;border-top:2px dashed #c2adcf;width:calc(100% + 22px);position:absolute;top:29px}.journey-step[data-direction=right]:before{left:50%}.journey-step[data-direction=left]:before{right:50%}.journey-step[data-direction=down]:before{border:2px dashed #c2adcf;border-left:0;border-radius:0 18px 18px 0;width:calc(50% + 11px);height:calc(100% + 32px);left:50%}.journey-step[data-direction=down][data-turn=left]:before{border-left:2px dashed #c2adcf;border-right:0;border-radius:18px 0 0 18px;left:auto;right:50%}.journey-step[data-direction=end]:before{display:none}}@media (width<=700px){.child-progress-grid{grid-template-columns:1fr;gap:12px}.child-progress-grid .progress-caption{min-height:0}.home .compact-stats{min-height:52px}.home .compact-stats .overview-stat{flex:1 0 auto;padding:6px 8px}.home .compact-stats .overview-stat>div{gap:4px}.home .compact-stats .overview-stat>div>span{font-size:.65rem}}.routine-duty-icon{object-fit:contain;flex-shrink:0}.occurrence-row>.routine-duty-icon{padding:2px}.template-select>.routine-duty-icon{object-fit:contain;width:64px;max-width:100%;height:64px}.icon-category-toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:10px;display:flex}.icon-category-toolbar>.field{flex:180px;min-width:0;margin:0}.icon-category-toolbar select{width:100%;min-width:0;max-width:100%;padding:8px;font-size:.8rem}.icon-category-toolbar>small{color:var(--muted);font-size:.72rem}.icon-choice .icon-chip:has(.routine-duty-icon){min-height:104px}.icon-choice .icon-chip .routine-duty-icon{width:44px;height:44px}.icon-choice-trigger .routine-duty-icon{width:36px;height:36px}.icon-groups{overscroll-behavior:contain;max-height:380px;overflow-y:auto}.icon-groups .icon-picker{overflow:visible;max-height:none!important}.icon-art-group{margin:0 0 18px}.icon-art-group>h4{color:var(--text);margin:4px 0 10px;font-size:.85rem}.icon-art-group>h4>small{color:var(--muted);font-weight:400}.icon-bank-heading{flex-wrap:wrap;align-items:center;gap:8px 18px;margin-bottom:10px;font-size:.8rem;display:flex}.icon-bank-heading>button{min-height:32px;padding:4px;font-size:.75rem}@media (width<=700px){.icon-choice .icon-picker{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;max-height:350px}.icon-category-toolbar{gap:6px}.icon-choice .icon-chip{min-width:0}.icon-choice .icon-chip>span{max-width:100%}}
