:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;text-rendering:optimizelegibility;--color-page:#eef9f4;--color-page-deep:#dff2f2;--color-surface:#fff;--color-surface-soft:#f7fcfa;--color-ink:#173f42;--color-ink-soft:#285c5d;--color-muted:#5a7774;--color-accessible-muted:#285c5d;--color-muted-light:#58736d;--color-accent:#1f725f;--color-accent-deep:#17665e;--color-accent-soft:#dff2e9;--color-teal:#176f73;--color-teal-soft:#d8f1f0;--color-blue:#2e6da8;--color-blue-soft:#e2effb;--color-sunshine:#f4b63e;--color-sunshine-soft:#fff2c9;--color-berry:#a4549d;--color-berry-soft:#f5e3f2;--color-line:#c6dfd6;--color-line-strong:#8dbbb0;--color-focus:#124e62;--color-warning:#9a5b13;--color-warning-soft:#fff1d7;--color-danger:#a23e50;--color-danger-soft:#fde8ed;--color-success:#24745e;--shadow-card:0 1.5rem 4rem #2658491f;--shadow-float:0 1rem 2.5rem #1b544e29;--shadow-dialog:0 2rem 5rem #11393c40;--radius-card:1.75rem;--radius-control:.95rem;--radius-pill:999px;font-family:Avenir Next,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--color-page);min-width:320px;min-height:100%}body{background:var(--color-page);min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{min-height:2.75rem}button:focus-visible,input:focus-visible,[tabindex="-1"]:focus-visible{outline:.2rem solid var(--color-focus);outline-offset:.2rem}button:disabled,input:disabled{cursor:not-allowed;opacity:.62}[hidden]{display:none!important}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{--motion-quick:.16s;--motion-medium:.26s}.app-shell{background:var(--color-page);place-items:center;min-height:100vh;padding:clamp(1.25rem,5vw,4rem);display:grid}.welcome-card{border:1px solid var(--color-line);border-radius:var(--radius-card);background:var(--color-surface);width:min(100%,36rem);box-shadow:var(--shadow-card);padding:clamp(2rem,7vw,4rem)}.welcome-card h1{color:var(--color-ink);letter-spacing:-.06em;margin:0;font-size:clamp(2rem,7vw,3.25rem);line-height:1}.welcome-copy{color:var(--color-muted);gap:.75rem;margin:3rem 0 2rem;font-size:1.05rem;line-height:1.6;display:grid}.welcome-copy p{margin:0}.welcome-copy .welcome-message{color:var(--color-ink);font-size:1.45rem;font-weight:700}.start-button{border-radius:var(--radius-control);background:var(--color-accent);width:100%;min-height:3.25rem;color:var(--color-surface);cursor:pointer;transition:background var(--motion-quick) ease, transform var(--motion-quick) ease;border:0;padding:.8rem 1.25rem;font-weight:700}.start-button:hover{background:var(--color-accent-deep)}.start-button:disabled{background:var(--color-accent-soft);color:var(--color-accent-deep)}.scaffold-note{color:var(--color-muted);text-align:center;margin:1rem 0 0;font-size:.875rem;line-height:1.5}.brand-lockup{align-items:center;gap:.75rem;display:flex}.brand-mark{background:var(--color-teal);width:3rem;height:3rem;color:var(--color-surface);border-radius:1rem;flex:none;place-items:center;display:grid}.brand-lockup__words{gap:.08rem;display:grid}.brand-lockup__eyebrow,.eyebrow,.panel-kicker{color:var(--color-accent-deep);letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:800;line-height:1.3}.brand-lockup__name{color:var(--color-ink);letter-spacing:-.03em;font-size:1.15rem;font-weight:800}.chewbuddy-app{isolation:isolate;min-height:100svh;color:var(--color-ink);background:var(--color-page);position:relative;overflow-x:hidden}.chewbuddy-app__backdrop{z-index:-1;pointer-events:none;position:absolute;inset:0;overflow:hidden}.chewbuddy-app__backdrop span{opacity:.52;border-radius:50%;display:block;position:absolute}.chewbuddy-app__backdrop span:first-child{background:var(--color-teal-soft);width:19rem;height:19rem;top:-8rem;left:-5rem}.chewbuddy-app__backdrop span:nth-child(2){background:var(--color-blue-soft);width:25rem;height:25rem;top:28%;right:-10rem}.chewbuddy-app__backdrop span:nth-child(3){background:var(--color-accent-soft);width:28rem;height:28rem;bottom:-12rem;left:22%}.app-header{z-index:3;justify-content:space-between;align-items:center;gap:1rem;width:min(100% - 2rem,74rem);min-height:4.75rem;margin:0 auto;padding:1rem 0;display:flex;position:relative}.header-actions{justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.header-button{border:1px solid var(--color-line);border-radius:var(--radius-pill);background:var(--color-surface);min-width:2.75rem;min-height:2.75rem;color:var(--color-ink-soft);cursor:pointer;transition:background var(--motion-quick) ease, border-color var(--motion-quick) ease, color var(--motion-quick) ease, transform var(--motion-quick) ease;justify-content:center;align-items:center;gap:.4rem;padding:.55rem .75rem;font-weight:750;display:inline-flex}.header-button:hover{border-color:var(--color-line-strong);background:var(--color-surface-soft);color:var(--color-accent-deep)}.header-button:active,.primary-button:active,.secondary-button:active,.finish-button:active,.danger-button:active,.control-button:active,.mascot-option:active{transform:translateY(1px)}.header-button--points{border-color:var(--color-teal);background:var(--color-teal);min-width:4.4rem;color:var(--color-surface)}.header-button--points:hover{border-color:var(--color-accent-deep);background:var(--color-accent-deep);color:var(--color-surface)}.header-button--icon{width:2.75rem;padding:0}.app-main{width:min(100% - 2rem,74rem);margin:0 auto;padding:1.25rem 0 2rem;position:relative}.app-intro{gap:.35rem;margin:.75rem 0 1.5rem;display:grid}.app-intro h1{color:var(--color-ink);letter-spacing:-.07em;margin:0;font-size:clamp(2.15rem,6vw,4.1rem);line-height:.98}.page-alert,.inline-notice{border:1px solid var(--color-line-strong);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-ink-soft);align-items:flex-start;gap:.65rem;margin:0 0 1rem;padding:.85rem 1rem;font-size:.92rem;line-height:1.45;display:flex}.page-alert svg,.inline-notice svg{color:var(--color-danger);flex:none;margin-top:.1rem}.inline-notice{background:var(--color-accent-soft);color:var(--color-accent-deep);margin-top:1rem}.inline-notice--error{background:var(--color-danger-soft);color:var(--color-danger);border-color:#e4a6b2}.sr-only{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.primary-button,.secondary-button,.finish-button,.danger-button,.control-button,.mascot-option{border-radius:var(--radius-control);cursor:pointer;min-height:2.9rem;transition:background var(--motion-quick) ease, border-color var(--motion-quick) ease, color var(--motion-quick) ease, transform var(--motion-quick) ease;justify-content:center;align-items:center;gap:.55rem;font-weight:800;line-height:1.2;display:inline-flex}.primary-button{border:1px solid var(--color-accent);background:var(--color-accent);color:var(--color-surface);padding:.8rem 1.2rem}.primary-button:hover{border-color:var(--color-accent-deep);background:var(--color-accent-deep)}.secondary-button{border:1px solid var(--color-line-strong);background:var(--color-surface);color:var(--color-ink-soft);padding:.8rem 1.2rem}.secondary-button:hover{border-color:var(--color-accent);background:var(--color-accent-soft);color:var(--color-accent-deep)}.finish-button{border:1px solid var(--color-teal);background:var(--color-teal);color:var(--color-surface);padding:.8rem 1.3rem}.finish-button:hover{border-color:var(--color-accent-deep);background:var(--color-accent-deep)}.danger-button{border:1px solid var(--color-danger);background:var(--color-danger);color:var(--color-surface);padding:.8rem 1.2rem}.danger-button:hover{background:#7e2e3e;border-color:#7e2e3e}.text-button{cursor:pointer;background:0 0;border:0;border-radius:.7rem;align-items:center;gap:.35rem;min-height:2.75rem;padding:.45rem .6rem;font-size:.88rem;font-weight:800;display:inline-flex}.text-button:hover{background:var(--color-danger-soft)}.text-button--danger{color:var(--color-danger)}.icon-button{width:2.75rem;height:2.75rem;color:var(--color-ink-soft);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:50%;flex:none;place-items:center;padding:0;display:inline-grid}.icon-button:hover{border-color:var(--color-line);background:var(--color-surface-soft);color:var(--color-accent-deep)}.ready-panel,.status-panel,.completion-card{border:1px solid var(--color-line);border-radius:var(--radius-card);background:var(--color-surface);box-shadow:var(--shadow-card);position:relative;overflow:hidden}.ready-panel{grid-template-columns:minmax(0,1fr) minmax(18rem,25rem);grid-template-areas:"copy buddy""picker picker""action action""note note";align-items:center;gap:1.5rem;min-height:38rem;padding:clamp(1.5rem,5vw,3.4rem);display:grid}.ready-panel:after,.status-panel:after,.completion-card:after{border:1.5rem solid var(--color-teal-soft);content:"";pointer-events:none;border-radius:50%;width:13rem;height:13rem;position:absolute;bottom:-5rem;right:-4rem}.ready-panel__copy{grid-area:copy;align-self:center}.ready-panel__copy h2,.status-panel__copy h2,.completion-card__copy h2{color:var(--color-ink);letter-spacing:-.06em;margin:.4rem 0 .7rem;font-size:clamp(1.9rem,4vw,3rem);line-height:1}.ready-panel__copy p:not(.panel-kicker),.status-panel__copy p:not(.panel-kicker),.completion-card__copy p:not(.panel-kicker){max-width:32rem;color:var(--color-muted);margin:0;font-size:1.05rem;line-height:1.6}.ready-panel__buddy{grid-area:buddy;place-items:center;min-height:18rem;display:grid;position:relative}.ready-buddy-halo{aspect-ratio:1;border:.7rem solid var(--color-teal-soft);border-radius:50%;width:min(18rem,90%);position:absolute}.ready-buddy-halo span{background:var(--color-sunshine);border-radius:50%;width:.7rem;height:.7rem;position:absolute}.ready-buddy-halo span:first-child{top:.5rem;left:25%}.ready-buddy-halo span:nth-child(2){background:var(--color-berry);top:30%;right:-.2rem}.ready-buddy-halo span:nth-child(3){background:var(--color-blue);bottom:.3rem;left:12%}.ready-panel__buddy .mascot-art{z-index:1;width:min(15rem,78%);height:auto;position:relative}.ready-buddy-caption{z-index:2;border:1px solid var(--color-line);border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-accent-deep);padding:.45rem .7rem;font-size:.8rem;font-weight:800;position:absolute;bottom:.6rem;right:0}.mascot-picker{z-index:1;border:1px solid var(--color-line);border-radius:var(--radius-control);background:var(--color-surface-soft);grid-area:picker;min-width:0;margin:0;padding:1rem;position:relative}.mascot-picker__legend{color:var(--color-ink);padding:0 .35rem;font-size:.95rem;font-weight:850}.mascot-picker__intro{color:var(--color-muted);margin:0 0 .8rem;font-size:.86rem}.mascot-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;display:grid}.mascot-picker__attribution{color:var(--color-muted);margin:.7rem 0 0;font-size:.68rem;line-height:1.45}.mascot-picker__attribution a{color:var(--color-accent-deep);text-underline-offset:.12em;text-decoration:underline}.mascot-option{border:1px solid var(--color-line);background:var(--color-surface);min-width:0;min-height:7.1rem;color:var(--color-ink-soft);text-align:center;flex-direction:column;gap:.15rem;padding:.55rem .4rem .65rem;position:relative}.mascot-option:hover{border-color:var(--color-line-strong);background:var(--color-teal-soft)}.mascot-option--selected{border:2px solid var(--color-accent);background:var(--color-accent-soft);color:var(--color-accent-deep)}.mascot-option .mascot-art{width:3.7rem;height:3.7rem}.mascot-option .mascot-art--sketchfab{flex:0 0 3.7rem}.mascot-option__name,.mascot-option__description,.mascot-option__state{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;overflow:hidden}.mascot-option__name{font-size:.82rem;font-weight:850}.mascot-option__description{color:var(--color-accessible-muted);font-size:.7rem;font-weight:600}.mascot-option__state{color:var(--color-accent-deep);text-transform:uppercase;margin-top:.15rem;font-size:.68rem;font-weight:850}.mascot-picker__status{color:var(--color-muted);margin:.75rem 0 0;font-size:.78rem;line-height:1.4}.mascot-picker__status--error{color:var(--color-danger)}.ready-panel>.primary-button{z-index:1;grid-area:action;justify-self:start;min-width:10rem}.privacy-note{z-index:1;max-width:42rem;color:var(--color-muted);grid-area:note;margin:0;font-size:.8rem;line-height:1.5;position:relative}.app-footer{color:var(--color-muted-light);justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 0 0;font-size:.78rem;display:flex}.app-footer span{align-items:center;gap:.35rem;display:inline-flex}.status-panel{min-height:39rem;padding:clamp(1.4rem,4vw,3rem)}.status-panel__topline,.history-list-heading,.range-heading,.dialog-header,.status-panel__actions,.session-actions,.session-controls,.completion-card__actions,.confirm-dialog__actions{justify-content:space-between;align-items:center;gap:.8rem;display:flex}.status-panel__topline{z-index:1;position:relative}.status-panel__copy{z-index:1;text-align:center;max-width:38rem;margin:1rem auto 0;position:relative}.status-panel__copy--morph{animation:status-copy-in var(--motion-medium) ease-out both}.status-panel__copy p:not(.panel-kicker){margin-left:auto;margin-right:auto}.status-panel__session{z-index:1;gap:1rem;max-width:42rem;margin:1.2rem auto 0;display:grid;position:relative}.coach-stage{place-items:center;min-height:19rem;display:grid;position:relative}.coach-stage__mascot{z-index:1;aspect-ratio:1;border:.65rem solid var(--color-teal-soft);background:var(--color-surface-soft);border-radius:50%;place-items:center;width:min(19rem,74vw);display:grid;position:relative}.coach-stage__mascot .mascot-art{width:88%;height:88%}.coach-stage__orbit{aspect-ratio:1;border:1px dashed var(--color-line-strong);border-radius:50%;width:min(22rem,88vw);animation:18s linear infinite orbit-spin;position:absolute}.coach-stage__orbit span{background:var(--color-sunshine);border-radius:50%;width:.75rem;height:.75rem;position:absolute}.coach-stage__orbit span:first-child{top:.6rem;left:30%}.coach-stage__orbit span:nth-child(2){background:var(--color-berry);bottom:28%;right:.2rem}.coach-stage__orbit span:nth-child(3){background:var(--color-blue);bottom:.8rem;left:22%}.coach-stage__points{z-index:2;position:absolute;top:-1.3rem;left:50%;transform:translate(-50%)}.points-ring{aspect-ratio:1;background:var(--color-surface);width:5.8rem;box-shadow:var(--shadow-float);border-radius:50%;place-items:center;display:grid;position:relative}.points-ring__svg{width:100%;height:100%;position:absolute;inset:0;transform:rotate(-90deg)}.points-ring__track,.points-ring__value{fill:none;stroke-width:7px}.points-ring__track{stroke:var(--color-accent-soft)}.points-ring__value{stroke:var(--color-accent);stroke-linecap:round;transition:stroke-dashoffset var(--motion-medium) ease}.points-ring__label{color:var(--color-accent-deep);place-items:center;line-height:1;display:grid;position:relative}.points-ring__label svg{color:var(--color-sunshine)}.points-ring__label strong{margin-top:.15rem;font-size:1.05rem}.points-ring__label span{color:var(--color-muted);margin-top:.18rem;font-size:.62rem;font-weight:750}.count-badges{flex-wrap:wrap;justify-content:center;gap:.65rem;display:flex}.count-badge{border:1px solid var(--color-line);border-radius:var(--radius-pill);background:var(--color-surface-soft);min-height:2.65rem;color:var(--color-muted);align-items:center;gap:.45rem;padding:.55rem .8rem;font-size:.82rem;display:inline-flex}.count-badge strong{color:var(--color-ink);font-size:1rem}.count-badge__icon{background:var(--color-teal-soft);width:1.7rem;height:1.7rem;color:var(--color-teal);border-radius:50%;place-items:center;display:grid}.session-controls{flex-wrap:wrap;justify-content:center}.control-button{border:1px solid var(--color-line);background:var(--color-surface-soft);min-height:2.75rem;color:var(--color-ink-soft);padding:.6rem .85rem;font-size:.82rem}.control-button:hover,.control-button--on{border-color:var(--color-line-strong);background:var(--color-teal-soft);color:var(--color-teal)}.control-button--attention{background:var(--color-warning-soft);color:var(--color-warning);border-color:#e4b36a}.session-actions{flex-wrap:wrap;justify-content:center;margin-top:.2rem}.status-panel__actions{z-index:1;flex-wrap:wrap;justify-content:center;margin-top:2rem;position:relative}.status-mascot{background:var(--color-surface-soft);border-radius:50%;place-items:center;width:7rem;height:7rem;display:grid}.status-mascot .mascot-art{width:100%;height:100%}.status-panel--attention{border-color:#e6c489}.status-panel--attention .status-panel__copy h2{color:var(--color-warning)}.status-panel--positive{border-color:var(--color-line-strong)}.status-panel--neutral .status-panel__copy h2{color:var(--color-teal)}.busy-label{color:var(--color-accent-deep);align-items:center;gap:.4rem;font-size:.8rem;font-weight:800;display:inline-flex}.busy-dots,.loading-orb,.button-spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:.9rem;height:.9rem;animation:.8s linear infinite spin;display:inline-block}.status-panel__fine-print{z-index:1;color:var(--color-muted);text-align:center;margin:1.2rem 0 0;font-size:.82rem;position:relative}.camera-attachment{z-index:2;pointer-events:none;justify-items:center;gap:.35rem;width:6.3rem;display:grid;position:absolute;top:20.5rem;right:max(1rem,50% - 24rem);transform:rotate(3deg)}.camera-attachment__video{border:.3rem solid var(--color-surface);background:var(--color-ink);width:5.6rem;height:7.2rem;box-shadow:var(--shadow-float);object-fit:cover;border-radius:1.2rem;display:block;transform:scaleX(-1)}.camera-attachment__label{border-radius:var(--radius-pill);background:var(--color-surface);color:var(--color-ink-soft);white-space:nowrap;padding:.25rem .5rem;font-size:.65rem;font-weight:800}.completion-card{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:1.2rem;max-width:48rem;min-height:30rem;margin:0 auto;padding:clamp(1.5rem,5vw,3.2rem);display:grid}.completion-card__icon{background:var(--color-accent-soft);width:4.5rem;height:4.5rem;color:var(--color-success);border-radius:1.3rem;place-items:center;display:grid}.completion-card__copy p:not(.panel-kicker){margin:0}.completion-stats{flex-wrap:wrap;grid-column:1/-1;gap:.65rem;margin-top:.7rem;display:flex}.completion-stats div{border-radius:var(--radius-control);background:var(--color-surface-soft);gap:.15rem;min-width:5.5rem;padding:.7rem .8rem;display:grid}.completion-stats strong{color:var(--color-ink);font-size:1.25rem}.completion-stats span{color:var(--color-muted);font-size:.72rem;font-weight:750}.completion-card__actions{flex-wrap:wrap;grid-column:1/-1;justify-content:flex-start}.app-dialog{border-radius:var(--radius-card);background:var(--color-surface);width:min(100% - 2rem,42rem);max-height:min(92svh,54rem);color:var(--color-ink);box-shadow:var(--shadow-dialog);border:0;margin:auto;padding:0}.app-dialog::backdrop{background:#143d3f85}.dialog-shell{max-height:min(92svh,54rem);padding:clamp(1.2rem,4vw,2rem);overflow:auto}.dialog-shell--compact{max-height:min(92svh,34rem)}.dialog-header{align-items:flex-start}.dialog-header h2{color:var(--color-ink);letter-spacing:-.05em;margin:.3rem 0 0;font-size:clamp(1.6rem,4vw,2.25rem);line-height:1}.dialog-header--centered{text-align:center;justify-content:center}.dialog-header--centered .icon-button{position:absolute;top:1.2rem;right:1.2rem}.dialog-intro{max-width:38rem;color:var(--color-muted);margin:.9rem 0 0;line-height:1.55}.dialog-intro--centered{text-align:center;margin-left:auto;margin-right:auto}.settings-form,.name-form{gap:1.2rem;margin-top:1.25rem;display:grid}.settings-group{border:1px solid var(--color-line);border-radius:var(--radius-control);background:var(--color-surface-soft);min-width:0;margin:0;padding:1rem}.settings-group legend{color:var(--color-ink);padding:0 .35rem;font-size:.92rem;font-weight:850}.setting-row{justify-content:space-between;align-items:center;gap:1rem;min-height:3.3rem;display:flex}.setting-row+.field-note{margin-top:-.75rem}.setting-row__label{color:var(--color-ink);cursor:pointer;gap:.2rem;font-size:.92rem;display:grid}.setting-row__label span{color:var(--color-muted);font-size:.78rem;font-weight:600}.setting-row input[type=checkbox]{appearance:none;border:2px solid var(--color-line-strong);border-radius:var(--radius-pill);background:var(--color-surface);cursor:pointer;width:3.5rem;height:2.75rem;transition:background var(--motion-quick) ease, border-color var(--motion-quick) ease;flex:none;position:relative}.setting-row input[type=checkbox]:after{background:var(--color-muted);content:"";width:1.8rem;height:1.8rem;transition:transform var(--motion-quick) ease, background var(--motion-quick) ease;border-radius:50%;position:absolute;top:.3rem;left:.3rem}.setting-row input[type=checkbox]:checked{border-color:var(--color-accent);background:var(--color-accent-soft)}.setting-row input[type=checkbox]:checked:after{background:var(--color-accent);transform:translate(1.15rem)}.field-note{color:var(--color-accessible-muted);margin:.65rem 0 0;font-size:.78rem;line-height:1.5}.range-heading{margin-bottom:.3rem}.range-heading label{color:var(--color-ink);font-size:.92rem;font-weight:800}.range-heading output{color:var(--color-accent-deep);font-size:.85rem;font-weight:850}input[type=range]{width:100%;min-height:2.75rem;accent-color:var(--color-accent);cursor:pointer}.range-labels{color:var(--color-muted);justify-content:space-between;margin-top:-.35rem;font-size:.75rem;font-weight:750;display:flex}.settings-group--privacy{background:var(--color-teal-soft)}.privacy-list{color:var(--color-ink-soft);gap:.55rem;margin:0;padding:0;font-size:.82rem;font-weight:700;list-style:none;display:grid}.privacy-list li{align-items:flex-start;gap:.55rem;display:flex}.privacy-list svg{color:var(--color-teal);flex:none}.dialog-actions{justify-content:flex-end;display:flex}.name-dialog{width:min(100% - 2rem,32rem)}.name-dialog__shell{text-align:center;position:relative}.name-dialog__art{background:var(--color-accent-soft);border-radius:50%;place-items:center;width:6.8rem;height:6.8rem;margin:0 auto .5rem;display:grid}.name-dialog__art .mascot-art{width:100%;height:100%}.name-dialog .dialog-header{display:block;position:relative}.name-dialog .dialog-header h2{font-size:clamp(1.8rem,5vw,2.45rem)}.field-label{color:var(--color-ink);text-align:left;justify-content:space-between;align-items:baseline;font-size:.9rem;font-weight:800;display:flex}.field-label span{color:var(--color-muted);font-size:.78rem;font-weight:650}.name-form input[type=text]{border:1px solid var(--color-line-strong);border-radius:var(--radius-control);background:var(--color-surface);width:100%;min-height:3.2rem;color:var(--color-ink);margin-top:.45rem;padding:.75rem .9rem;font-size:1rem}.name-form input[type=text]::placeholder{color:var(--color-muted-light)}.field-meta{color:var(--color-muted);text-align:left;justify-content:space-between;gap:1rem;font-size:.75rem;display:flex}.name-dialog__actions{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:.7rem;margin-top:.4rem;display:grid}.name-dialog__actions .primary-button,.name-dialog__actions .secondary-button{width:100%}.points-summary{border:1px solid var(--color-line);border-radius:var(--radius-control);background:var(--color-accent-soft);align-items:center;gap:.9rem;min-height:6.4rem;margin-top:1.25rem;padding:1rem;display:flex}.points-summary__star{background:var(--color-surface);width:3.2rem;height:3.2rem;color:var(--color-sunshine);border-radius:1rem;flex:none;place-items:center;display:grid}.points-summary__number{gap:.1rem;display:grid}.points-summary__number span{color:var(--color-accessible-muted);font-size:.8rem;font-weight:750}.points-summary__number strong{color:var(--color-ink);letter-spacing:-.06em;font-size:2.3rem;line-height:1}.points-summary__meta{color:var(--color-accessible-muted);text-align:right;gap:.25rem;margin-left:auto;font-size:.78rem;font-weight:750;display:grid}.history-list-heading{margin-top:1.4rem}.history-list-heading h3{color:var(--color-ink);margin:0;font-size:1rem}.history-list{gap:.7rem;margin:.8rem 0 0;padding:0;list-style:none;display:grid}.history-list--long{max-height:27rem;padding-right:.35rem;overflow-y:auto}.history-list:focus-visible{outline:.2rem solid var(--color-focus);outline-offset:.2rem}.history-list__note{color:var(--color-muted);margin:.55rem 0 0;font-size:.78rem}.history-row{border:1px solid var(--color-line);border-radius:var(--radius-control);background:var(--color-surface-soft);padding:.9rem}.history-row__header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.history-row__header>div{gap:.2rem;display:grid}.history-row time{color:var(--color-ink);font-size:.88rem;font-weight:800}.history-row__duration{color:var(--color-muted);font-size:.75rem}.history-row__header>strong{color:var(--color-accent-deep);white-space:nowrap;font-size:1.1rem}.history-row__milestone{color:var(--color-warning);align-items:center;gap:.35rem;margin:.65rem 0 0;font-size:.78rem;font-weight:800;display:flex}.history-row__stats{color:var(--color-muted);flex-wrap:wrap;gap:.75rem;margin-top:.8rem;font-size:.75rem;display:flex}.history-row__stats strong{color:var(--color-ink-soft)}.history-state{border:1px dashed var(--color-line-strong);border-radius:var(--radius-control);text-align:center;align-content:center;place-items:center;gap:.55rem;min-height:15rem;margin-top:1rem;padding:1.5rem;display:grid}.history-state h3,.history-state p{margin:0}.history-state h3{color:var(--color-ink);font-size:1.05rem}.history-state p{max-width:22rem;color:var(--color-muted);font-size:.85rem;line-height:1.5}.history-state__actions{flex-wrap:wrap;justify-content:center;gap:.65rem;display:flex}.history-state__icon{background:var(--color-accent-soft);width:3.3rem;height:3.3rem;color:var(--color-accent);border-radius:1rem;place-items:center;display:grid}.history-state--error .history-state__icon{background:var(--color-danger-soft);color:var(--color-danger)}.history-state--loading{border-style:solid}.loading-orb{width:1.6rem;height:1.6rem;color:var(--color-accent);border-width:3px}.confirm-dialog{width:min(100% - 2rem,28rem)}.confirm-icon{background:var(--color-danger-soft);width:3rem;height:3rem;color:var(--color-danger);border-radius:1rem;place-items:center;display:grid}.confirm-dialog h2{color:var(--color-ink);letter-spacing:-.04em;margin:1.2rem 0 0;font-size:1.55rem}.confirm-dialog__actions{margin-top:1.4rem}.milestone-dialog{background:var(--color-ink);width:min(100% - 2rem,32rem);color:var(--color-surface);overflow:hidden}.milestone-dialog::backdrop{background:#0a2427b3}.milestone-dialog__shell{text-align:center;justify-items:center;padding:clamp(2rem,7vw,3.3rem) 1.5rem 2rem;display:grid;position:relative;overflow:hidden}.milestone-dialog__icon{border:.45rem solid var(--color-sunshine);background:var(--color-teal);width:6.8rem;height:6.8rem;color:var(--color-sunshine);border-radius:50%;place-items:center;display:grid}.milestone-dialog__kicker{color:var(--color-sunshine);letter-spacing:.11em;text-transform:uppercase;margin:1.3rem 0 .35rem;font-size:.78rem;font-weight:850}.milestone-dialog h2{max-width:22rem;color:var(--color-surface);letter-spacing:-.05em;overflow-wrap:anywhere;margin:0;font-size:clamp(1.6rem,5vw,2.35rem);line-height:1.05}.milestone-dialog p:not(.milestone-dialog__kicker){color:#d8eeee;max-width:24rem;margin:.8rem 0 0;line-height:1.55}.milestone-dialog__button{border-radius:var(--radius-pill);background:var(--color-sunshine);min-height:3rem;color:var(--color-ink);cursor:pointer;border:0;margin-top:1.7rem;padding:.8rem 1.5rem;font-weight:850}.milestone-dialog__button:hover{background:#ffd979}.confetti{pointer-events:none;position:absolute;inset:0}.confetti__piece{background:var(--color-sunshine);border-radius:.2rem;width:.45rem;height:.9rem;animation:2.8s ease-in-out infinite alternate confetti-float;display:block;position:absolute}.confetti__piece--1{background:var(--color-sunshine);top:12%;left:12%;transform:rotate(22deg)}.confetti__piece--2{background:var(--color-berry);animation-delay:.3s;top:22%;right:13%;transform:rotate(-28deg)}.confetti__piece--3{background:var(--color-blue);animation-delay:.6s;top:47%;left:7%;transform:rotate(45deg)}.confetti__piece--4{background:var(--color-accent);animation-delay:.9s;top:53%;right:8%;transform:rotate(-16deg)}.confetti__piece--5{background:var(--color-berry);animation-delay:1.2s;top:73%;left:15%;transform:rotate(62deg)}.confetti__piece--6{background:var(--color-sunshine);animation-delay:1.5s;top:78%;right:16%;transform:rotate(-52deg)}.mascot-art{display:block;overflow:visible}.mascot-art--sketchfab{aspect-ratio:1;border-radius:50%;position:relative;overflow:hidden}.mascot-art__thumbnail{z-index:1;object-fit:cover;transform-origin:50% 48%;width:100%;height:100%;display:block;position:relative}.mascot-art--elsa .mascot-art__thumbnail{transform-origin:50% 0;scale:2.2}.mascot-art__expression{z-index:2;pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.mascot-art__expression-brows,.mascot-art__expression-mouth{fill:none;stroke:#46323a;stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round}.mascot-art__expression--happy .mascot-art__expression-mouth{fill:#853f4b;stroke:#46323a}.mascot-art__expression-tongue{fill:#ee8790;stroke:#ee8790;stroke-width:1.5px;stroke-linecap:round}.mascot-art--small{width:4rem;height:4rem}.mascot-art--medium{width:7rem;height:7rem}.mascot-art--large{width:16rem;height:16rem}.mascot-arm,.mascot-sparkles{transform-box:fill-box;transform-origin:50%}.mascot-face ellipse{transition:rx var(--motion-medium) ease, ry var(--motion-medium) ease}.mascot-face .mascot-mouth{transition:d var(--motion-medium) ease}.mascot-sparkles{transition:fill var(--motion-medium) ease}.mascot-art--mint .mascot-body{filter:drop-shadow(0 .8rem .8rem #2d9b9d2e)}.mascot-art--sunshine .mascot-body{filter:drop-shadow(0 .8rem .8rem #f28b3833)}.mascot-art--berry .mascot-body{filter:drop-shadow(0 .8rem .8rem #8d4c9d33)}.mascot-art--elsa .mascot-body{filter:drop-shadow(0 .8rem .8rem #4d9fd833)}.mascot-art--olaf .mascot-body{filter:drop-shadow(0 .8rem .8rem #8caac83d)}.mascot-art--anna .mascot-body{filter:drop-shadow(0 .8rem .8rem #6f7fc933)}@media (prefers-reduced-motion:no-preference){.mascot-art--large .mascot-arm--left{animation:2.4s ease-in-out infinite mascot-wave-left}.mascot-art--large .mascot-arm--right{animation:2.4s ease-in-out infinite mascot-wave-right}.mascot-art--large .mascot-sparkles{animation:1.8s ease-in-out infinite sparkle-pulse}.mascot-art--sketchfab.mascot-art--chewing .mascot-art__thumbnail{animation:.42s ease-in-out infinite mascot-model-chew}.mascot-art--sketchfab.mascot-art--chewing .mascot-art__expression-mouth{transform-box:fill-box;transform-origin:50%;animation:.42s ease-in-out infinite alternate mascot-mouth-chew}.mascot-art--sketchfab.mascot-art--waiting .mascot-art__thumbnail{animation:1.8s ease-in-out infinite alternate mascot-model-wait}.mascot-art--sketchfab.mascot-art--waiting .mascot-art__expression{animation:1.8s ease-in-out infinite alternate mascot-expression-sad}}@keyframes mascot-model-chew{0%,to{transform:translateY(0)scale(1)}25%{transform:translateY(-.25rem)scale(1.015,.985)}50%{transform:translateY(.05rem)scale(.99,1.02)}75%{transform:translateY(-.15rem)scale(1.01,.99)}}@keyframes mascot-mouth-chew{0%{transform:scaleY(.65)}to{transform:scaleY(1.15)}}@keyframes mascot-model-wait{0%{filter:saturate(.85);transform:translateY(0)rotate(0)}to{filter:saturate(.65);transform:translateY(.2rem)rotate(-1.5deg)}}@keyframes mascot-expression-sad{0%{opacity:.82;transform:translateY(0)}to{opacity:1;transform:translateY(.15rem)}}@keyframes status-copy-in{0%{opacity:0;translate:0 .5rem}to{opacity:1;translate:0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes orbit-spin{to{transform:rotate(360deg)}}@keyframes mascot-wave-left{0%,to{transform:rotate(0)}50%{transform:rotate(-7deg)}}@keyframes mascot-wave-right{0%,to{transform:rotate(0)}50%{transform:rotate(7deg)}}@keyframes sparkle-pulse{0%,to{opacity:.7;transform:scale(.94)}50%{opacity:1;transform:scale(1.06)}}@keyframes confetti-float{0%{translate:0 -.4rem}to{translate:0 .6rem}}.chewbuddy-app.reduced-motion .confetti{display:none}.chewbuddy-app.reduced-motion *,.chewbuddy-app.reduced-motion :before,.chewbuddy-app.reduced-motion :after{transition:none!important;animation:none!important}.chewbuddy-app.reduced-motion .coach-stage__orbit,.chewbuddy-app.reduced-motion .mascot-art--large .mascot-arm,.chewbuddy-app.reduced-motion .mascot-art--large .mascot-sparkles{animation:none}@media (width<=56rem){.ready-panel{grid-template-columns:minmax(0,1fr) minmax(15rem,21rem)}.camera-attachment{right:max(.5rem,50% - 20rem)}.status-panel,.ready-panel{min-height:35rem}}@media (width<=42rem){.app-header{width:min(100% - 1.25rem,74rem)}.brand-lockup__eyebrow{display:none}.brand-mark{width:2.75rem;height:2.75rem}.brand-lockup__name{font-size:1rem}.app-main{width:min(100% - 1.25rem,74rem);padding-top:.7rem}.app-intro{margin-bottom:1rem}.ready-panel{flex-direction:column;align-items:stretch;gap:1.1rem;min-height:0;padding:1.25rem;display:flex}.ready-panel__copy{text-align:center}.ready-panel__copy p:not(.panel-kicker){margin-left:auto;margin-right:auto}.ready-panel__buddy{min-height:13rem}.ready-buddy-halo{width:12rem}.ready-panel__buddy .mascot-art{width:11rem}.ready-buddy-caption{bottom:-.2rem;right:12%}.mascot-options{gap:.4rem}.mascot-option{min-height:6.6rem;padding-left:.2rem;padding-right:.2rem}.mascot-option .mascot-art{width:3.2rem;height:3.2rem}.mascot-option__description{display:none}.ready-panel>.primary-button{width:100%}.status-panel{min-height:0;padding:1.2rem}.status-panel__copy{margin-top:.8rem}.coach-stage{min-height:16rem}.coach-stage__mascot{width:min(15rem,70vw)}.coach-stage__orbit{width:min(18rem,84vw)}.camera-attachment{width:5rem;top:18.5rem;right:.3rem}.camera-attachment__video{width:4.3rem;height:5.6rem}.camera-attachment__label{font-size:.58rem}.completion-card{flex-direction:column;align-items:flex-start;min-height:0;padding:1.3rem;display:flex}.completion-card__copy{text-align:left}.completion-card__actions{width:100%}.completion-card__actions>*{flex:10rem}.app-footer{flex-direction:column;align-items:flex-start;gap:.35rem}}@media (width<=30rem){.header-actions{gap:.3rem}.header-button--points{min-width:3.8rem;padding-left:.55rem;padding-right:.55rem}.header-button--icon{width:2.65rem;min-width:2.65rem}.app-intro h1{font-size:2.35rem}.ready-panel,.status-panel,.completion-card{border-radius:1.35rem}.mascot-picker{padding:.75rem}.mascot-option__name{font-size:.72rem}.mascot-option__state{font-size:.6rem}.session-controls{grid-template-columns:minmax(0,1fr) minmax(0,1fr);display:grid}.control-button{width:100%;padding-left:.35rem;padding-right:.35rem;font-size:.74rem}.camera-attachment{top:17.4rem;right:-.2rem}.points-summary{flex-wrap:wrap;align-items:flex-start}.points-summary__meta{text-align:left;width:100%;margin-left:0}.history-row__stats{gap:.45rem}.name-dialog__actions{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr)}}
