*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg-grownups);min-height:100dvh;color:var(--white);-webkit-tap-highlight-color:transparent;margin:0;font-family:ui-rounded,SF Pro Rounded,Nunito,Quicksand,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;font-size:17px;line-height:1.35}h1,h2,h3,h4,p{margin:0}button,input,select{font:inherit}a{color:inherit}:focus-visible{outline:3px solid var(--white);outline-offset:3px}.card :focus-visible,.dialog :focus-visible{outline-color:var(--ink)}.app{max-width:560px;margin:0 auto}.app-with-tabs{padding-bottom:calc(84px + env(safe-area-inset-bottom))}.page{padding:calc(14px + env(safe-area-inset-top)) 16px 24px;flex-direction:column;gap:16px;display:flex}.page-header{align-items:center;gap:12px;min-height:56px;display:flex}.page-header h1{overflow-wrap:anywhere;flex:1;min-width:0;font-size:28px;font-weight:650}.center-screen{max-width:480px;min-height:100dvh;padding:calc(24px + env(safe-area-inset-top)) 16px calc(24px + env(safe-area-inset-bottom));text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;margin:0 auto;display:flex}.center-screen h1{font-size:26px;font-weight:650}.section{flex-direction:column;gap:10px;display:flex}.section-title{margin-top:8px;font-size:18px;font-weight:650}.list{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.row{align-items:center;gap:14px;display:flex}.grow{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.button-row{gap:10px;display:flex}.button-row .btn{flex:1}.brand{font-size:36px;font-weight:650}.brand-small{font-size:20px;font-weight:650}.lead{font-size:18px}.small{font-size:14px}.muted{color:var(--muted)}.muted-ink{color:var(--grey-ink)}.meta{color:var(--muted);font-size:15px}.hint{color:var(--muted);font-size:14px}.card .meta,.card .hint{color:var(--grey-ink)}.row-title{overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:19px;font-weight:600;display:-webkit-box;overflow:hidden}.error-text{color:var(--gold-light);font-weight:600}.banner{background:var(--chip);border-radius:16px;padding:12px 16px;font-weight:600}.card{background:var(--white);color:var(--ink);border-radius:28px;padding:18px}.card-title{align-items:center;gap:8px;font-size:20px;font-weight:650;display:flex}.link-card{min-height:76px;text-decoration:none;transition:transform .12s}.link-card:active{transform:scale(.98)}.form{flex-direction:column;gap:18px;display:flex}.inline-form{align-items:flex-end;gap:10px;display:flex}.inline-form .field{flex:1}.btn{text-align:center;cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;gap:10px;min-height:56px;padding:0 24px;font-size:18px;font-weight:650;text-decoration:none;transition:transform .12s;display:inline-flex}.btn:active:not(:disabled){transform:scale(.96)}.btn:disabled{opacity:.45;cursor:default}.btn-gold{background:var(--gold);color:var(--ink)}.btn-soft{background:var(--tile-off);color:var(--ink)}.btn-glass{background:var(--chip);color:var(--white)}.btn-coral{background:var(--coral);color:var(--ink)}.btn-block{width:100%}.btn-small{min-height:44px;padding:0 16px;font-size:16px}.btn-round{cursor:pointer;border:0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;padding:0;text-decoration:none;display:inline-flex}.btn-round:disabled{opacity:.35;cursor:default}.field{border:0;flex-direction:column;gap:8px;min-width:0;margin:0;padding:0;display:flex}.field-label{width:100%;color:var(--muted);justify-content:space-between;gap:8px;padding:0;font-size:15px;font-weight:600;display:flex}.card .field-label{color:var(--grey-ink)}.field-counter{font-variant-numeric:tabular-nums;opacity:.7;font-weight:500}.field-hint{color:var(--muted);font-size:14px}.card .field-hint{color:var(--grey-ink)}.field-error{color:var(--gold-light);font-size:14px;font-weight:600}.card .field-error{color:var(--error-ink)}input,select{border:2px solid var(--soft);background:var(--white);width:100%;min-height:52px;color:var(--ink);border-radius:16px;padding:0 14px;font-size:18px}input::placeholder{color:var(--placeholder)}.code-input{letter-spacing:.2em;text-transform:uppercase;font-weight:650}.pin-input{letter-spacing:.4em;font-size:22px}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{background:var(--tile-off);min-height:44px;color:var(--ink);cursor:pointer;border:0;border-radius:999px;align-items:center;gap:8px;padding:0 16px;font-size:16px;font-weight:600;display:inline-flex}.chip .avatar{margin-left:-8px}.chip-on{background:var(--ink);color:var(--white)}.days .chip{justify-content:center;min-width:52px;padding:0 10px}.stepper{align-items:center;gap:12px;display:flex}.stepper-value{flex-wrap:wrap;flex:1;justify-content:center;align-items:center;gap:10px;min-height:48px;font-weight:600;display:flex}.stepper-number{text-align:center;min-width:2ch;font-size:28px;font-weight:650}.switch{background:var(--tile-off);height:48px;color:var(--ink);cursor:pointer;border:0;border-radius:999px;flex-shrink:0;align-items:center;gap:10px;padding:0 6px 0 16px;font-weight:600;display:inline-flex}.switch-knob{background:var(--white);border-radius:50%;width:36px;height:36px;box-shadow:0 1px 3px #0000004d}.switch:not(.switch-on){flex-direction:row-reverse;padding:0 16px 0 6px}.switch-on{background:var(--ink);color:var(--white)}.setting-row{align-items:center;gap:12px;display:flex}.switch:disabled{opacity:.5;cursor:default}.swatches{flex-wrap:wrap;gap:12px;display:flex}.swatch{width:48px;height:48px;color:var(--ink);cursor:pointer;border:0;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}.pick-row{gap:12px;display:flex}.pick{background:var(--tile-off);color:var(--ink);cursor:pointer;border:0;border-radius:20px;flex-direction:column;flex:1;align-items:center;gap:8px;padding:12px;font-weight:600;display:flex}.pick-on{background:var(--ink);color:var(--white)}.marble{flex-shrink:0}.marbles{align-items:center;gap:3px;display:inline-flex}.marbles-off{opacity:.4;filter:grayscale()}.marbles-more{margin-left:4px;font-size:14px;font-weight:650}.time{flex-wrap:wrap;align-items:center;gap:8px;display:inline-flex}.time-text{color:var(--muted);white-space:nowrap;font-size:15px;font-weight:600}.card .time-text{color:var(--grey-ink)}.stepper .time-text{color:var(--ink);font-size:18px}.kid-time{flex-direction:column;gap:2px;display:flex}.avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.avatar-stack{display:flex}.avatar-stack .avatar{box-shadow:0 0 0 2px var(--white)}.avatar-stack .avatar+.avatar{margin-left:-8px}.job-tile{color:var(--ink);border-radius:28%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;position:relative}.tile-badge{box-shadow:0 0 0 3px var(--white);border-radius:50%;display:flex;position:absolute;bottom:-8px;right:-8px}.job-card{width:160px;color:var(--ink);border-radius:28px;flex-direction:column;align-items:center;gap:10px;margin:0 auto;padding:16px 12px 14px;display:flex}.job-card-art{background:#ffffff73;border-radius:50%;justify-content:center;align-items:center;width:100px;height:100px;display:flex}.job-card-title{text-align:center;overflow-wrap:anywhere;-webkit-line-clamp:3;-webkit-box-orient:vertical;font-size:17px;font-weight:650;display:-webkit-box;overflow:hidden}.marble-pill{background:var(--white);border-radius:999px;padding:6px 10px;display:inline-flex}.icon-grid{grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:8px;display:grid}.icon-pick{aspect-ratio:1;background:var(--tile-off);color:var(--ink);cursor:pointer;border:0;border-radius:14px;justify-content:center;align-items:center;display:flex}.icon-pick[aria-pressed=true]{background:var(--ink);color:var(--white)}.claim{flex-direction:column;gap:16px;transition:opacity .26s,transform .26s;display:flex}.claim.leaving{opacity:0;transform:translateY(-16px)scale(.97)}.claim-top{align-items:flex-start;gap:18px;display:flex}.claim-title{overflow-wrap:anywhere;font-size:20px;font-weight:650}.claim .btn-gold{flex:1.4}.handoff{flex-direction:column;gap:12px;display:flex}.ask{font-size:18px;font-weight:600}.kid-hero{align-items:center;gap:16px;display:flex}.kid-hero .time-text{color:var(--white);white-space:normal;font-size:22px}.kid-hero-facts{flex-direction:column;flex:1;gap:10px;min-width:0;display:flex}.kid-time-main{color:var(--white);align-items:center;gap:8px;display:flex}.card .kid-time-main{color:var(--grey-ink)}.kid-hero-stars{color:var(--white);flex-wrap:wrap;align-items:center;gap:4px 10px;margin:0;display:flex}.stars{gap:2px;display:inline-flex}.take-away{border-top:1px solid var(--tile-off);padding-top:16px}.take-away .row{flex-wrap:wrap;gap:8px 12px}.sub-title{font-size:18px;font-weight:650}.text-link{color:var(--ink);text-underline-offset:2px;white-space:nowrap;font-weight:600}.text-link .icon{vertical-align:-2px;margin-left:3px}.history{margin:8px 0 0;padding:0;list-style:none}.history-row{border-top:1px solid var(--tile-off);align-items:flex-start;gap:12px;padding:12px 0;display:flex}.history-row:first-child{border-top:0}.history-icon{background:var(--tile-off);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.round-line{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.round-marks{flex-wrap:wrap;gap:4px;display:inline-flex}.round-mark{border:2px solid var(--grey-ink);border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;display:inline-flex}.round-mark-right{border-color:var(--ink);background:var(--ink);color:#fff}.round-missed{overflow-wrap:anywhere;margin-top:4px;font-size:15px;display:block}.history-reason{overflow-wrap:anywhere;font-weight:600}.delta{white-space:nowrap;font-weight:650}.delta-minus{color:var(--grey-ink)}.handoff-tag{background:var(--tile-off);border-radius:999px;align-self:flex-start;align-items:center;gap:4px;padding:2px 10px;font-size:13px;font-weight:600;display:inline-flex}.handoff-pending{background:var(--gold-light)}.saved{color:var(--grey-ink);align-items:center;gap:4px;margin-left:auto;font-size:14px;font-weight:600;display:inline-flex}.notify-card{align-items:flex-start;gap:12px;display:flex}.notify-card .setting-row{flex:1;min-width:0}.notify-icon{background:var(--tile-off);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.sub-form{border-top:1px solid var(--tile-off);flex-direction:column;gap:18px;padding-top:16px;display:flex}.stepper-minutes{white-space:nowrap;font-size:24px;font-weight:650}.jar{flex-direction:column;gap:8px;display:flex}.jar-row{background:var(--tile-off);border-radius:18px;flex-wrap:wrap;gap:4px;padding:10px 12px;display:flex}.jar-slot{border:2px dashed var(--grey-ink);opacity:.45;border-radius:50%;width:20px;height:20px}.jar-slot-small{border-width:1.5px;width:12px;height:12px}.jar-sum{text-align:center;grid-template-columns:1fr auto 1fr auto 1fr;align-items:start;gap:6px;display:grid}.jar-part{flex-direction:column;gap:2px;min-width:0;display:flex}.jar-part strong{white-space:nowrap;font-size:18px;font-weight:650}.jar-part span{color:var(--grey-ink);font-size:13px;font-weight:600}.jar-part .marble,.jar-slot-small{vertical-align:-1px;display:inline-block}.jar-op{color:var(--grey-ink);font-size:18px;font-weight:650}.jar-rule{align-items:flex-start;gap:6px;display:flex}.jar-rule .icon{flex-shrink:0;margin-top:1px}.character-prompt{flex-direction:column;gap:14px;display:flex}.prompt-art{flex-shrink:0;display:flex;position:relative}.prompt-spark{background:var(--lilac);width:30px;height:30px;color:var(--ink);box-shadow:0 0 0 3px var(--white);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;bottom:-6px;right:-6px}.prompt-title{overflow-wrap:anywhere;font-size:20px;font-weight:650}.character-art{color:var(--ink);border-radius:28%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;overflow:hidden}.character-art img{object-fit:contain;width:100%;height:100%;display:block}.character-drawing{animation:1.4s ease-in-out infinite drawing;display:flex}@keyframes drawing{50%{opacity:.55;transform:scale(1.15)rotate(18deg)}}.character-missing{opacity:.35;display:flex}.character-grid{grid-template-columns:repeat(auto-fill,minmax(124px,1fr));gap:16px 12px;margin:12px 0 0;padding:0;list-style:none;display:grid}.character-tile{text-align:center;flex-direction:column;align-items:center;gap:4px;display:flex;position:relative}.character-name{overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-weight:650;display:-webkit-box;overflow:hidden}.character-remove{width:40px;height:40px;box-shadow:0 0 0 3px var(--white);position:absolute;top:-6px;right:0}.character-stage{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.character-title{overflow-wrap:anywhere;font-size:24px;font-weight:650}.stage-status{font-size:18px;font-weight:650}.callout{border-left:6px solid var(--lilac);background:var(--tile-off);border-radius:18px;flex-direction:column;gap:6px;padding:14px 16px;display:flex}.callout-label{color:var(--grey-ink);font-size:14px;font-weight:600}.callout-text{overflow-wrap:anywhere;font-size:20px;font-weight:650}textarea{border:2px solid var(--soft);background:var(--white);width:100%;min-height:96px;color:var(--ink);font:inherit;resize:vertical;border-radius:16px;padding:12px 14px;font-size:18px}textarea::placeholder{color:var(--placeholder)}.badge{background:var(--tile-off);color:var(--grey-ink);border-radius:999px;align-items:center;gap:4px;padding:2px 10px;font-size:13px;font-weight:600;display:inline-flex}.badge-new{background:var(--lilac);color:var(--ink);align-self:flex-start}.job-meta{flex-wrap:wrap;align-items:center;gap:4px 12px;display:flex}.routine-label{color:var(--grey-ink);align-items:center;gap:6px;font-size:15px;font-weight:600;display:inline-flex}.marble-chips{grid-template-columns:repeat(3,1fr);display:grid}.marble-chips .chip{border-radius:22px;flex-direction:column;justify-content:center;gap:6px;min-height:72px;padding:10px 6px}.chip-minutes{font-size:14px}.device-head{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:0}.device-icon{background:var(--tile-off);border-radius:16px;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:52px;display:flex}.device-edit{border-top:1px solid var(--tile-off);margin-top:16px;padding-top:16px}.steps-list{flex-direction:column;gap:6px;margin:0;padding-left:22px;display:flex}.big-badge{background:var(--white);width:104px;height:104px;color:var(--ink);border-radius:50%;justify-content:center;align-items:center;display:flex}.big-badge-glass{background:var(--chip);color:var(--white)}.pair-form{text-align:left;width:100%}.sign-in{text-align:left;flex-direction:column;gap:14px;width:100%;display:flex}.onboarding-head{align-items:center;gap:10px;display:flex}.steps{gap:8px;display:flex}.steps span{background:var(--chip);border-radius:3px;width:28px;height:6px}.steps .step-on{background:var(--white)}.onboarding h1{font-size:26px;font-weight:650}.splash-logo{animation:1.6s ease-in-out infinite breathe}@keyframes breathe{50%{transform:scale(1.06)}}.empty{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:40px 16px;display:flex}.empty-icon{background:var(--chip);border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;display:flex}.empty-title{font-size:20px;font-weight:600}.tabbar{z-index:10;padding:6px max(4px, calc((100% - 560px) / 2)) calc(6px + env(safe-area-inset-bottom));background:var(--ink);border-top:1px solid var(--glass);display:flex;position:fixed;bottom:0;left:0;right:0}.tab{min-width:0;min-height:56px;color:var(--muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;font-size:12px;font-weight:600;text-decoration:none;display:flex}.tab span{text-align:center;overflow-wrap:anywhere;max-width:100%;line-height:1.15}.tab .icon{border-radius:999px;width:56px;height:30px;padding:2px 0}.tab.active{color:var(--white)}.tab.active .icon{background:var(--chip)}.toast-region{right:0;bottom:calc(88px + env(safe-area-inset-bottom));z-index:20;pointer-events:none;justify-content:center;padding:0 16px;display:flex;position:fixed;left:0}.toast{background:var(--white);max-width:480px;color:var(--ink);border-radius:999px;padding:12px 20px;font-weight:600;animation:.2s ease-out toast-in;box-shadow:0 8px 24px #0000004d}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}.dialog{background:var(--white);width:min(420px,100vw - 32px);color:var(--ink);border:0;border-radius:28px;padding:22px}.dialog::backdrop{background:#0a103c99}.dialog h2{overflow-wrap:anywhere;margin-bottom:8px;font-size:22px;font-weight:650}.dialog p{color:var(--grey-ink);margin-bottom:20px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}.bedtime-times{grid-template-columns:1fr 1fr;gap:12px;display:grid}
