/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@font-face{font-family:Outfit Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/outfit-latin-ext-wght-normal-DdQaqQDo.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Outfit Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/outfit-latin-wght-normal-Bc-8i84L.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--ease-out:cubic-bezier(0, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.grid{display:grid}.hidden{display:none}.table{display:table}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.invert{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-canvas:oklch(97% .008 160);--color-canvas-tint:oklch(44% .11 164/.055);--color-canvas-dot:oklch(24% .028 160/.03);--color-camera-surround:oklch(17% .025 160);--color-camera-highlight:oklch(99% .004 160/.055);--color-surface:oklch(99% .004 160);--color-surface-hover:oklch(95% .025 160);--color-text-strong:oklch(24% .028 160);--color-text-muted:oklch(47% .035 160);--color-action:oklch(44% .11 164);--color-action-hover:oklch(37% .1 164);--color-action-soft:oklch(95% .025 160);--color-action-shadow:oklch(44% .11 164/.5);--color-action-shadow-hover:oklch(44% .11 164/.55);--color-ready:oklch(55% .12 160);--color-guidance:oklch(57% .12 78);--color-danger:oklch(50% .18 30);--color-focus:oklch(38% .11 164);--color-border-subtle:oklch(24% .028 160/.07);--color-border-default:oklch(24% .028 160/.18);--color-border-medium:oklch(24% .028 160/.2);--color-rule:oklch(83% .025 160);--color-placeholder-border:oklch(99% .004 160/.35);--color-placeholder-border-strong:oklch(99% .004 160/.72);--color-placeholder-scrim:oklch(0% 0 0/.08);--color-placeholder-muted:oklch(99% .004 160/.72);--color-disabled:oklch(75% .02 160);--color-disabled-text:oklch(32% .03 160);--color-overlay-scrim:oklch(18% .035 160/.82);--color-overlay-border:oklch(99% .004 160/.28);--color-overlay-text:oklch(98% .008 160);--color-overlay-highlight:oklch(99% .004 160/.22);--color-overlay-stop:oklch(42% .16 29/.92);--color-overlay-stop-border:oklch(88% .08 25/.55);--color-overlay-stop-text:oklch(94% .04 25);--color-overlay-switch:oklch(98% .02 160);--color-overlay-switch-border:oklch(92% .12 160/.55);--color-overlay-switch-text:oklch(40% .1 160);--color-overlay-ready:oklch(80% .17 160);--color-overlay-warning:oklch(84% .11 78);--color-overlay-focus:oklch(80% .08 295);--color-overlay-focus-shadow:oklch(18% .035 160/.8);--color-overlay-track:oklch(99% .004 160/.2);--color-shadow-camera:oklch(17% .025 160/.5);--color-shadow-surface:oklch(24% .028 160/.16);--color-shadow-surface-soft:oklch(24% .028 160/.05);--color-shadow-coach-mobile:oklch(24% .028 160/.14);--color-shadow-dialog:oklch(18% .02 160/.3);--color-shadow-dialog-soft:oklch(18% .02 160/.08);--color-shadow-overlay:oklch(0% 0 0/.3);--color-backdrop:oklch(18% .02 160/.48);--color-overlay-text-shadow:oklch(0% 0 0/.65);--color-overlay-warning-ring:oklch(84% .11 78/.2);--color-overlay-ready-ring:oklch(80% .17 160/.2);--font-body:ui-sans-serif, system-ui, sans-serif;--font-display:"Outfit Variable", ui-sans-serif, system-ui, sans-serif;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--dur-short:.16s;--dur-medium:.2s}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-canvas:oklch(21% .02 160);--color-canvas-tint:oklch(70% .1 164/.12);--color-canvas-dot:oklch(96% .01 160/.055);--color-surface:oklch(28% .022 160);--color-surface-hover:oklch(34% .03 160);--color-text-strong:oklch(96% .01 160);--color-text-muted:oklch(78% .025 160);--color-action:oklch(69% .13 164);--color-action-hover:oklch(76% .14 164);--color-action-soft:oklch(34% .03 160);--color-action-shadow:oklch(8% .02 160/.48);--color-action-shadow-hover:oklch(8% .02 160/.62);--color-ready:oklch(76% .14 160);--color-guidance:oklch(82% .13 78);--color-danger:oklch(74% .15 30);--color-focus:oklch(84% .12 164);--color-border-subtle:oklch(96% .01 160/.12);--color-border-default:oklch(96% .01 160/.28);--color-border-medium:oklch(96% .01 160/.32);--color-rule:oklch(96% .01 160/.2);--color-disabled:oklch(48% .02 160);--color-disabled-text:oklch(68% .02 160);--color-shadow-surface:oklch(5% .02 160/.42);--color-shadow-surface-soft:oklch(5% .02 160/.18);--color-shadow-coach-mobile:oklch(5% .02 160/.42);--color-shadow-dialog:oklch(5% .02 160/.62);--color-shadow-dialog-soft:oklch(5% .02 160/.28);--color-backdrop:oklch(5% .02 160/.7)}:root{font-family:var(--font-body);color:var(--color-text-strong);background:radial-gradient(1100px 520px at 78% -12%, var(--color-canvas-tint), transparent 62%), radial-gradient(circle at 1px 1px, var(--color-canvas-dot) 1px, transparent 0), var(--color-canvas);font-synthesis:none;background-size:auto,26px 26px,auto}html{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased}body{min-width:320px;min-height:100vh;margin:0}html,body{overflow-x:clip}button{font:inherit}button,a{white-space:nowrap}button:focus-visible,a:focus-visible{outline:3px solid var(--color-focus);outline-offset:3px}.wordmark,h1,h2,.eyebrow,.primary-action,.secondary-action,.privacy-trigger,.privacy-close,.session-control,.session-status h1,.status-list dd{font-family:var(--font-display)}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{box-sizing:border-box;min-height:100vh;padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));grid-template-rows:auto 1fr auto;display:grid}.site-header,.site-footer,.foundation-layout{width:min(100%,1120px);margin-inline:auto}.site-header{justify-content:space-between;align-items:center;gap:16px;min-height:48px;display:flex}.header-actions{align-items:center;gap:8px;display:flex}.wordmark{min-width:48px;min-height:48px;color:var(--color-text-strong);letter-spacing:-.02em;white-space:nowrap;align-items:center;font-size:1.125rem;font-weight:680;text-decoration:none;display:inline-flex}.privacy-status{color:var(--color-text-muted);font-size:.875rem}.privacy-status:before{background:var(--color-ready);content:"";border-radius:50%;width:.625rem;height:.625rem;margin-right:.5rem;display:inline-block}.privacy-trigger,.privacy-close{border:1px solid var(--color-border-medium);background:var(--color-surface);min-width:48px;min-height:48px;color:var(--color-text-strong);transition:border-color var(--dur-short) var(--ease-out), background-color var(--dur-short) var(--ease-out), transform var(--dur-short) var(--ease-out);border-radius:12px;padding:10px 12px;font-weight:620}.privacy-trigger:hover,.privacy-close:hover{border-color:var(--color-action);background:var(--color-surface-hover)}.privacy-trigger__compact{display:none}.theme-toggle{border:1px solid var(--color-border-medium);background:var(--color-surface);min-width:48px;min-height:48px;color:var(--color-text-strong);transition:border-color var(--dur-short) var(--ease-out), background-color var(--dur-short) var(--ease-out), transform var(--dur-short) var(--ease-out);border-radius:12px;justify-content:center;align-items:center;gap:7px;padding:10px 12px;font-weight:620;display:inline-flex}.theme-toggle:hover{border-color:var(--color-action);background:var(--color-surface-hover)}.theme-toggle:active{transform:translateY(1px)}.theme-toggle__icon{font-size:1.05rem;line-height:1}.theme-toggle__compact{display:none}.foundation-layout{align-content:center;gap:24px;padding-block:clamp(24px,6vw,64px);display:grid}.camera-stage{background:radial-gradient(120% 90% at 50% 0%, var(--color-camera-highlight), transparent 55%), var(--color-camera-surround);min-height:min(56vh,560px);box-shadow:inset 0 0 0 1px var(--color-overlay-border), 0 24px 48px -24px var(--color-shadow-camera);border-radius:20px;place-items:center;display:grid;position:relative;overflow:hidden}.camera-preview{width:100%;height:100%;min-height:inherit;object-fit:contain;transform:scaleX(-1)}.capture-zone{aspect-ratio:4/5;border:2px solid var(--color-placeholder-border-strong);width:min(62%,20rem);box-shadow:0 0 0 999px var(--color-placeholder-scrim);pointer-events:none;border-radius:44% 44% 40% 40%;position:absolute}.camera-stage__placeholder{aspect-ratio:4/5;border:1px solid var(--color-placeholder-border);width:min(76%,22rem);color:var(--color-overlay-text);text-align:center;border-radius:44% 44% 40% 40%;align-content:center;justify-items:center;gap:8px;display:grid}.camera-stage__placeholder span{font-size:1.125rem;font-weight:650}.camera-stage__placeholder small{max-width:15rem;color:var(--color-placeholder-muted)}.coach-card{border:1px solid var(--color-border-subtle);background:var(--color-surface);max-width:28rem;box-shadow:0 1px 2px var(--color-shadow-surface-soft), 0 18px 44px -14px var(--color-shadow-surface);border-radius:24px;padding:clamp(24px,5vw,40px)}.coach-card--recovery h1:focus{outline:3px solid var(--color-focus);outline-offset:6px;border-radius:4px}.eyebrow{color:var(--color-action);letter-spacing:.14em;text-transform:uppercase;margin:0 0 8px;font-size:.8125rem;font-weight:660}h1{letter-spacing:-.032em;text-wrap:balance;margin:0;font-size:clamp(1.75rem,4vw,2.5rem);font-weight:680;line-height:1.08}h2{text-wrap:balance}.coach-card>p:not(.eyebrow):not(.next-step){color:var(--color-text-muted);margin:16px 0 24px;font-size:1.0625rem;line-height:1.55}.primary-action{background:var(--color-action);width:100%;min-width:48px;min-height:48px;box-shadow:inset 0 1px 0 var(--color-overlay-highlight), 0 8px 18px -8px var(--color-action-shadow);color:var(--color-overlay-text);letter-spacing:.005em;transition:background-color var(--dur-medium) var(--ease-out), box-shadow var(--dur-medium) var(--ease-out), transform var(--dur-medium) var(--ease-out);border:0;border-radius:14px;padding:12px 20px;font-weight:680}.primary-action:hover{background:var(--color-action-hover);box-shadow:inset 0 1px 0 var(--color-overlay-highlight), 0 10px 22px -8px var(--color-action-shadow-hover);transform:translateY(-1px)}.primary-action:active,.secondary-action:active,.privacy-trigger:active,.privacy-close:active{transform:translateY(1px)}.secondary-action{border:1px solid var(--color-border-default);background:var(--color-surface);width:100%;min-width:48px;min-height:48px;color:var(--color-text-strong);transition:border-color var(--dur-medium) var(--ease-out), background-color var(--dur-medium) var(--ease-out), transform var(--dur-medium) var(--ease-out);border-radius:14px;margin-top:12px;padding:10px 16px;font-weight:660}.secondary-action:hover{border-color:var(--color-action);background:var(--color-surface-hover)}.primary-action:disabled{cursor:not-allowed;background:var(--color-disabled);box-shadow:none;color:var(--color-disabled-text);transform:none}.camera-actions{gap:12px;display:grid}.camera-actions--split{grid-template-columns:repeat(2,minmax(0,1fr))}.camera-actions .secondary-action{margin-top:0}.next-step{color:var(--color-text-muted);margin:12px 0 0;font-size:.9375rem;line-height:1.45}.camera-status{min-height:1.5em;color:var(--color-text-muted);margin:12px 0;font-size:.9375rem;line-height:1.45}.status-list,.diagnostics-list{gap:8px;margin:0 0 16px;display:grid}.status-list div,.diagnostics-list div{grid-template-columns:minmax(8rem,1fr) 1fr;gap:8px;display:grid}.status-list{border-bottom:1px solid var(--color-rule);padding-bottom:16px}.status-list dt,.diagnostics-list dt{color:var(--color-text-muted)}.status-list dd,.diagnostics-list dd{overflow-wrap:anywhere;margin:0}.status-list dd{font-weight:700}.system-details-heading{margin:0 0 12px;font-size:1rem;line-height:1.3}.site-footer{color:var(--color-text-muted);text-align:center;padding-top:16px;font-size:.875rem}.privacy-dialog{box-sizing:border-box;border:1px solid var(--color-border-subtle);background:var(--color-surface);width:min(100vw - 32px,32rem);max-height:calc(100vh - 32px);color:var(--color-text-strong);box-shadow:0 2px 6px var(--color-shadow-dialog-soft), 0 24px 64px -12px var(--color-shadow-dialog);border-radius:24px;margin:auto;padding:clamp(24px,5vw,40px);overflow:auto}.privacy-dialog::backdrop{background:var(--color-backdrop)}.privacy-dialog.system-status-dialog{width:100%;max-width:none;max-height:70dvh;padding-bottom:max(24px, env(safe-area-inset-bottom));border-radius:24px 24px 0 0;margin:0;inset:auto 0 0}.privacy-dialog h2{color:var(--color-text-strong);margin:0;font-size:1.5rem;line-height:1.2}.privacy-dialog p{color:var(--color-text-muted);margin:12px 0 16px;line-height:1.5}.privacy-dialog ul{color:var(--color-text-strong);gap:10px;margin:0 0 24px;padding-left:1.25rem;line-height:1.45;display:grid}.privacy-close{width:100%}@media (width>=768px){.foundation-layout{grid-template-columns:minmax(0,2fr) minmax(18rem,1fr);align-items:center}.camera-stage{min-height:min(68vh,640px)}.privacy-dialog.system-status-dialog{border-radius:24px 0 0 24px;width:min(28rem,42vw);height:100dvh;max-height:100dvh;margin:0;padding-bottom:clamp(24px,5vw,40px);inset:0 0 0 auto}}@media (width<=767px){body,.app-shell{min-height:100dvh}.app-shell{padding:max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left));grid-template-rows:auto 1fr}.privacy-trigger,.theme-toggle{padding-inline:14px}.theme-toggle__wide{display:none}.theme-toggle__compact{display:inline}.privacy-trigger__wide{display:none}.privacy-trigger__compact{display:inline}.foundation-layout{align-content:start;gap:0;padding-block:12px 0}.camera-stage{height:clamp(19rem,44dvh,23.5rem);min-height:0}.camera-preview{min-height:0}.capture-zone{width:min(58%,14rem)}.coach-card{z-index:1;max-width:none;box-shadow:0 14px 36px var(--color-shadow-coach-mobile);border-radius:22px;margin:-24px 12px 0;padding:18px 20px 20px;position:relative}.eyebrow{margin-bottom:6px;font-size:.75rem}h1{font-size:clamp(1.5rem,7vw,1.9rem)}.coach-card>p:not(.eyebrow):not(.next-step){margin:8px 0 14px;font-size:.95rem;line-height:1.45}.camera-status{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.camera-actions{gap:10px}.camera-actions--split button{padding-inline:12px;font-size:.9375rem}.system-status-trigger{margin-top:10px}.site-footer{padding-top:10px}}@media (width>=768px) and (height<=600px){.app-shell{height:100dvh;min-height:0;padding-block:max(8px, env(safe-area-inset-top)) max(8px, env(safe-area-inset-bottom));grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}.foundation-layout{align-items:stretch;min-height:0;padding-block:8px}.camera-stage{height:100%;min-height:0}.camera-preview{min-height:0}.coach-card{box-sizing:border-box;overscroll-behavior:contain;max-height:100%;padding:16px;overflow-y:auto}.coach-card>p:not(.eyebrow):not(.next-step){margin:8px 0 12px;font-size:1rem}.site-footer{padding-top:4px}}@media (width<=560px){.privacy-status{display:none}}.app-shell--camera-active{background:var(--color-canvas);min-height:100dvh;padding:clamp(8px,2vw,16px);display:block;position:relative}.foundation-layout--camera-active{width:100%;height:calc(100dvh - clamp(16px,4vw,32px));padding:0;display:block}.camera-stage--session{border-radius:24px;width:min(100%,1120px);height:100%;min-height:0;margin-inline:auto}.camera-stage--session .camera-preview{min-height:0;position:absolute;inset:0}.camera-session-overlay{z-index:2;box-sizing:border-box;color:var(--color-overlay-text);pointer-events:none;grid-template-rows:auto 1fr auto;display:grid;position:absolute;inset:0}.session-chrome__top,.session-chrome__bottom{z-index:1;pointer-events:auto;position:relative}.session-chrome__top{padding:max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) 12px max(16px, env(safe-area-inset-left));grid-row:1;justify-content:space-between;align-items:center;display:flex}.wordmark--overlay{box-sizing:border-box;border:1px solid var(--color-overlay-border);background:var(--color-overlay-scrim);color:var(--color-overlay-text);text-shadow:0 2px 8px var(--color-overlay-text-shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:999px;padding:8px 12px}.system-status-trigger--overlay{border-color:var(--color-overlay-border);background:var(--color-overlay-scrim);width:48px;height:48px;color:var(--color-overlay-text);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:50%;place-items:center;margin:0;padding:0;display:grid}.system-status-trigger__icon{font-size:1rem;font-weight:800}.session-chrome__bottom{padding:12px max(14px, env(safe-area-inset-right)) max(14px, env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));grid-row:3;justify-items:center;gap:8px;display:grid}.session-status{box-sizing:border-box;border:1px solid var(--color-overlay-border);background:var(--color-overlay-scrim);min-height:40px;color:var(--color-overlay-text);transition:background-color var(--dur-short) var(--ease-out), border-color var(--dur-short) var(--ease-out), box-shadow var(--dur-short) var(--ease-out), color var(--dur-short) var(--ease-out), opacity var(--dur-short) var(--ease-out), transform var(--dur-short) var(--ease-out);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:999px;justify-content:center;align-items:center;gap:9px;padding:6px 12px;display:flex}.session-status--with-hint{text-align:left;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"dot title""dot hint";justify-content:stretch;justify-items:start;row-gap:0;display:grid}.session-status h1{color:inherit;letter-spacing:0;text-align:inherit;font-size:.875rem;line-height:1.25}.session-status--with-hint h1{grid-area:title}.session-status__hint{min-width:0;color:var(--color-placeholder-muted);font-family:var(--font-body);text-wrap:pretty;grid-area:hint;margin-top:2px;font-size:.75rem;font-weight:500;line-height:1.3}.session-status--ready,.session-status--warning{font-weight:750}.session-status--warning .session-status__dot{background:var(--color-overlay-warning);box-shadow:0 0 0 4px var(--color-overlay-warning-ring)}.session-status__dot{background:var(--color-overlay-ready);width:9px;height:9px;box-shadow:0 0 0 4px var(--color-overlay-ready-ring);border-radius:50%;grid-area:dot;align-self:center}.smile-progress{box-sizing:border-box;border:1px solid var(--color-overlay-border);background:var(--color-overlay-scrim);width:min(100%,30rem);color:var(--color-overlay-text);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-radius:14px;gap:6px;padding:8px 14px;display:grid;position:relative}.smile-progress__track{background:var(--color-overlay-track);border-radius:999px;height:8px;overflow:hidden}.smile-progress__fill{background:var(--color-overlay-ready);height:100%;transition:width var(--dur-short) var(--ease-out);border-radius:999px}.smile-progress__native{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.smile-progress__label{color:var(--color-overlay-text);letter-spacing:0;text-align:center;font-variant-numeric:tabular-nums;font-size:.8125rem;font-weight:700;line-height:1.3}@media (prefers-reduced-motion:reduce){.smile-progress__fill{transition:none}}.session-controls{box-sizing:border-box;border:1px solid var(--color-overlay-border);background:var(--color-overlay-scrim);width:min(100%,30rem);box-shadow:0 10px 30px var(--color-shadow-overlay);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-radius:22px;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:8px;padding:8px;display:grid}.session-control{box-sizing:border-box;white-space:nowrap;min-width:48px;min-height:48px;transition:background-color var(--dur-short) var(--ease-out), border-color var(--dur-short) var(--ease-out), box-shadow var(--dur-short) var(--ease-out), color var(--dur-short) var(--ease-out), opacity var(--dur-short) var(--ease-out), transform var(--dur-short) var(--ease-out);border-radius:15px;justify-content:center;align-items:center;gap:8px;padding:10px 12px;font-weight:750;display:inline-flex}.session-control:hover:not(:disabled){transform:translateY(-1px)}.session-control:active:not(:disabled){transform:translateY(1px)}.session-control--stop{border:1px solid var(--color-overlay-stop-border);background:var(--color-overlay-stop);color:var(--color-overlay-stop-text)}.session-control--new{border:1px solid var(--color-overlay-switch-border);background:var(--color-overlay-switch);color:var(--color-overlay-switch-text);grid-column:1/-1}.session-control--switch{background:var(--color-overlay-switch);color:var(--color-overlay-switch-text);border:1px solid #0000}.session-control--switch:disabled{cursor:progress;opacity:.72}.session-control:focus-visible,.system-status-trigger--overlay:focus-visible{outline-color:var(--color-overlay-focus);box-shadow:0 0 0 3px var(--color-overlay-focus-shadow)}.capture-journey{z-index:4;box-sizing:border-box;color:var(--color-text-strong);pointer-events:auto;align-content:center;justify-items:center;padding:clamp(20px,4vw,48px);display:grid;position:absolute;inset:0}@keyframes interface-enter{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.capture-journey--countdown,.capture-journey--message{color:var(--color-overlay-text);text-align:center;text-shadow:0 2px 14px #0006;background:#08110fc7}.capture-journey--countdown>*,.capture-journey--message>*{max-width:34rem}.capture-journey__eyebrow{color:var(--color-action);font-family:var(--font-display);letter-spacing:.14em;text-transform:uppercase;margin:0 0 8px;font-size:.75rem;font-weight:800}.capture-journey--countdown .capture-journey__eyebrow,.capture-journey--message .capture-journey__eyebrow{color:var(--color-overlay-ready)}.capture-journey h2{letter-spacing:-.04em;margin:0;font-size:clamp(1.5rem,3vw,2.5rem);line-height:1.05}.capture-journey p{color:var(--color-text-muted);text-wrap:pretty;margin:10px 0 0;line-height:1.45}.capture-journey--countdown p,.capture-journey--message p{color:var(--color-placeholder-muted)}.capture-journey__message-card{box-sizing:border-box;border:1px solid var(--color-border-subtle);background:var(--color-surface);width:min(100%,30rem);color:var(--color-text-strong);text-align:left;animation:interface-enter var(--dur-medium) var(--ease-out) both;border-radius:24px;padding:clamp(24px,5vw,40px);box-shadow:0 2px 6px #00000029,0 24px 64px -12px #00000052}.capture-journey__success-mark{background:var(--color-action-soft);width:40px;height:40px;color:var(--color-action-hover);border-radius:50%;place-items:center;margin-bottom:20px;font-size:1.35rem;font-weight:800;display:grid}.capture-journey__message-card .capture-journey__eyebrow{color:var(--color-action-hover)}.capture-journey__message-card h2{color:var(--color-text-strong);text-wrap:balance}.capture-journey__message-card p{color:var(--color-text-muted)}.capture-journey__message-card strong{color:var(--color-text-strong);overflow-wrap:anywhere}.capture-journey__next-steps{color:var(--color-text-muted);gap:8px;margin:20px 0 0;padding-left:1.25rem;line-height:1.45;display:grid}.capture-journey__message-card .capture-journey__primary{width:100%;margin-top:24px}.capture-journey__countdown{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:clamp(5rem,18vw,10rem);line-height:.9;display:block}.capture-journey__capturing{font-size:clamp(1.4rem,4vw,2.25rem);font-weight:750}.capture-journey--preview{background:#08110fc2;align-items:center;overflow:auto}.capture-journey__content{box-sizing:border-box;border:1px solid var(--color-border-subtle);background:var(--color-surface);width:min(100%,720px);max-height:100%;animation:interface-enter var(--dur-medium) var(--ease-out) both;border-radius:24px;padding:clamp(18px,3vw,32px);overflow:auto;box-shadow:0 24px 80px #00000061}.capture-journey__heading{margin-bottom:18px}.capture-journey__images{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;display:grid}.capture-journey__image{border:1px solid var(--color-border-subtle);background:var(--color-canvas);border-radius:16px;margin:0;overflow:hidden}.capture-journey__image--selected{border-color:var(--color-action);box-shadow:0 0 0 2px #0f7f702e}.capture-journey__image img{aspect-ratio:16/10;outline-offset:-1px;object-fit:cover;outline:1px solid #0000001f;width:100%;display:block}.capture-journey__image figcaption{color:var(--color-text-muted);padding:8px 10px;font-size:.8rem;font-weight:700}.capture-journey__options,.capture-journey__actions{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.capture-journey__option,.capture-journey__primary,.capture-journey__secondary{min-height:48px;transition:background-color var(--dur-short) var(--ease-out), border-color var(--dur-short) var(--ease-out), box-shadow var(--dur-short) var(--ease-out), color var(--dur-short) var(--ease-out), opacity var(--dur-short) var(--ease-out), transform var(--dur-short) var(--ease-out);border-radius:12px;padding:10px 14px;font-weight:750}.capture-journey__option:hover:not(:disabled),.capture-journey__primary:hover:not(:disabled),.capture-journey__secondary:hover:not(:disabled){transform:translateY(-1px)}.capture-journey__option:active:not(:disabled),.capture-journey__primary:active:not(:disabled),.capture-journey__secondary:active:not(:disabled){transform:translateY(1px)}.capture-journey__option{border:1px solid var(--color-border-medium);background:var(--color-surface);color:var(--color-text-strong);flex:145px}.capture-journey__option[aria-pressed=true]{border-color:var(--color-action);background:var(--color-surface-hover);color:var(--color-action-hover)}.capture-journey__primary{border:1px solid var(--color-action);background:var(--color-action);color:var(--color-canvas)}.capture-journey__primary:disabled{cursor:not-allowed;opacity:.5}.capture-journey__secondary{border:1px solid var(--color-border-medium);background:var(--color-surface);color:var(--color-text-strong)}.capture-journey__actions>*{flex:180px}.capture-journey__form{gap:10px;margin-top:18px;display:grid}.capture-journey__form label{color:var(--color-text-strong);font-size:.875rem;font-weight:750}.capture-journey__form input[type=text],.capture-journey__form input[type=email]{box-sizing:border-box;border:1px solid var(--color-border-medium);background:var(--color-surface);width:100%;min-height:48px;color:var(--color-text-strong);font:inherit;border-radius:12px;padding:10px 12px}.capture-journey__form input:focus-visible{outline:3px solid var(--color-focus);outline-offset:2px}.capture-journey__consent{align-items:flex-start;gap:8px;margin-top:4px;display:flex}.capture-journey__consent input{width:18px;height:18px;accent-color:var(--color-action);margin:0}.capture-journey__privacy{font-size:.78rem;margin:0!important}.capture-journey__error{font-size:.875rem;font-weight:700;color:var(--color-danger)!important}@media (width<=560px){.capture-journey{padding:12px}.capture-journey__content{border-radius:18px}.capture-journey__images{grid-template-columns:1fr}.capture-journey__options,.capture-journey__actions{grid-template-columns:minmax(0,1fr);display:grid}.capture-journey__options>*,.capture-journey__actions>*{width:100%;min-width:0}.capture-journey__actions>*{flex:none}}@media (width<=767px){.app-shell--camera-active{padding:0}.foundation-layout--camera-active{height:100dvh}.camera-stage--session{border-radius:0;width:100%;height:100dvh}.camera-stage--session .capture-zone{width:min(58%,14rem)}}@media (height<=300px){.app-shell--camera-active{min-height:100%;padding:8px;overflow:visible}.foundation-layout--camera-active{height:auto}.camera-stage--session{border-radius:16px;height:auto;min-height:0;display:block;overflow:visible}.camera-stage--session .camera-preview{height:max(10rem,55dvh);display:block;position:relative}.camera-stage--session .capture-zone{display:none}.camera-session-overlay{background:var(--color-camera-surround);grid-template-rows:auto auto;display:grid;position:static}.session-chrome__top{padding:max(10px, env(safe-area-inset-top)) max(10px, env(safe-area-inset-right)) 10px max(10px, env(safe-area-inset-left));grid-row:1}.session-chrome__bottom{padding:0 max(10px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left));grid-row:2}.session-status,.session-controls{width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.session-status,.session-control,.capture-journey__content,.capture-journey__option,.capture-journey__primary,.capture-journey__secondary,.theme-toggle{transition:none!important;animation:none!important;transform:none!important}}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.wordmark--overlay,.system-status-trigger--overlay,.session-status,.smile-progress,.session-controls{background:var(--color-camera-surround)}}@media (forced-colors:active){.wordmark--overlay,.system-status-trigger--overlay,.session-status,.smile-progress,.session-controls,.capture-journey__content{box-shadow:none;color:canvastext;text-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:canvas;border-color:canvastext}.session-control,.capture-journey__option,.capture-journey__primary,.capture-journey__secondary{box-shadow:none;color:buttontext;background:buttonface;border-color:buttontext}.capture-journey__option[aria-pressed=true]{color:highlighttext;background:highlight;border-color:highlight}.capture-journey--countdown,.capture-journey--message{color:canvastext;text-shadow:none;background:canvas}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
