@import"https://fonts.googleapis.com/css2?family=Source+Sans+3:wght@400;600;700;800&display=swap";@layer components;@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-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--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}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,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;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--shadow-sm:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--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,ui-sans-serif,system-ui,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;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{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 utilities{.absolute{position:absolute}.relative{position:relative}.static{position:static}.container{width:100%}@media(min-width:40rem){.container{max-width:40rem}}@media(min-width:48rem){.container{max-width:48rem}}@media(min-width:64rem){.container{max-width:64rem}}@media(min-width:80rem){.container{max-width:80rem}}@media(min-width:96rem){.container{max-width:96rem}}.flex{display:flex}.grid{display:grid}.hidden{display:none}.table{display:table}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.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{--olive-900:#0f3d32;--olive-800:#1c4f42;--olive-700:#2d6b5a;--olive-600:#358a6e;--olive-500:#3f7f6c;--olive-400:#6aad96;--olive-300:#93c7b3;--olive-100:#d2e8de;--olive-50:#eef5f1;--cream-50:#f6f7f6;--cream-100:#eaf1ed;--card:#fff;--text:#1a1a1a;--muted:#6e6e73;--border:#e5e5ea;--accent:#86b59b;--accent-soft:#e1efe6;--danger:#ff3b30;--green:#34c759;--amber:#ff9f0a;--red:#ff3b30;--purple:#5e5ce6;--blue:#3478f6;--pink:#e8475f;--violet:#8b5cf6;--shadow-sm:0 1px 3px #0000000a,0 1px 2px #0000000f;--shadow-md:0 4px 14px #0000000f,0 2px 6px #0000000a;--shadow-lg:0 10px 30px #00000014,0 4px 10px #0000000a;--radius-sm:12px;--radius-md:18px;--radius-lg:26px;--ease:cubic-bezier(.25,.46,.45,.94);--transition:.2s var(--ease)}html{font-size:18px}body{background:var(--cream-50);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-wrap:break-word;word-break:break-word;margin:0;font-family:"Source Sans 3",-apple-system,Segoe UI,sans-serif;line-height:1.5}button,a,input,select{min-height:48px}button:disabled{opacity:.5;cursor:not-allowed}:focus-visible{outline:3px solid var(--olive-700);outline-offset:2px}.app-shell{--frame-width:min(430px,95vw);background:linear-gradient(145deg,#e8e4df,#d4cfc8,#c9c3bb);flex-direction:column;justify-content:flex-start;align-items:center;min-height:100vh;padding:0 16px 24px;display:flex}.device-toolbar{width:100%;max-width:var(--frame-width);justify-content:space-between;align-items:center;gap:12px;padding:12px 0 8px;display:flex}.device-toolbar-brand{color:var(--olive-900);align-items:center;gap:8px;font-size:1.1rem;font-weight:700;display:flex}.device-toolbar-icon{width:28px;height:28px}.device-toolbar-controls{align-items:center;gap:10px;display:flex}.device-lang-control{border:1px solid var(--border);background:#fff;border-radius:999px;align-items:center;gap:4px;padding:6px 12px;font-size:.88rem;display:flex;position:relative}.device-lang-control select{appearance:none;color:var(--olive-700);cursor:pointer;background:0 0;border:none;padding-right:14px;font-size:.88rem;font-weight:600}.device-lang-control svg{width:12px;height:12px;color:var(--muted);pointer-events:none}.phone-bezel{width:var(--frame-width);background:#1a1a1a;border-radius:52px;flex-shrink:0;max-width:100%;padding:14px;position:relative;box-shadow:inset 0 0 0 1.5px #3a3a3a,0 0 0 1px #0000004d,0 25px 80px #00000059,0 10px 30px #00000026}.phone-notch{z-index:20;pointer-events:none;background:#000;border-radius:20px;justify-content:center;align-items:center;width:120px;height:34px;display:flex;position:absolute;top:24px;left:50%;transform:translate(-50%)}.phone-notch-cam{background:#0d1117;border:1.5px solid #1a2332;border-radius:50%;width:8px;height:8px;box-shadow:0 0 4px #1e50b426}.phone-home-indicator{background:#555;border-radius:4px;width:130px;height:5px;margin:6px auto 4px}.screen-frame{background:var(--cream-50);border-radius:40px;flex-direction:column;width:100%;height:clamp(600px,88vh,900px);display:flex;position:relative;overflow:hidden}.screen-scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#00000026 transparent;flex-direction:column;flex:1;min-height:0;display:flex;overflow-y:auto}.screen-scroll::-webkit-scrollbar{width:4px}.screen-scroll::-webkit-scrollbar-track{background:0 0}.screen-scroll::-webkit-scrollbar-thumb{background:#00000026;border-radius:4px}.screen-scroll::-webkit-scrollbar-thumb:hover{background:#00000040}.app-shell[data-view=desktop] .phone-bezel{background:var(--cream-50);border-radius:16px;width:100%;max-width:980px;padding:4px;box-shadow:0 4px 20px #0000001a}.app-shell[data-view=desktop] .phone-notch,.app-shell[data-view=desktop] .phone-home-indicator{display:none}.app-shell[data-view=desktop] .screen-frame{border-radius:12px;height:auto;min-height:600px;max-height:none}.app-shell[data-view=desktop] .page{min-height:auto;padding-bottom:40px}.app-shell[data-view=desktop]{--frame-width:min(980px,95vw)}@media(max-width:768px){.app-shell{background:var(--cream-50);padding:0}.device-toolbar{display:none}.phone-bezel{box-shadow:none;background:var(--cream-50);border-radius:0;width:100%;max-width:100%;padding:0}.phone-notch,.phone-home-indicator{display:none}.screen-frame{height:100dvh;min-height:0;max-height:none;padding-top:env(safe-area-inset-top);border-radius:0}.bottom-nav{padding-bottom:max(8px,env(safe-area-inset-bottom))}.page{padding-left:16px;padding-right:16px}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.page{flex-direction:column;flex:1;gap:18px;padding:0 20px 28px;display:flex}.page-title{text-align:left;margin-top:4px}.page-title h1{letter-spacing:-.025em;color:var(--text);margin:0;font-size:1.8rem;font-weight:800}.subtitle{color:var(--muted);margin:4px 0 0;font-size:.95rem;font-weight:400}.app-header{justify-content:space-between;align-items:center;min-height:36px;padding:32px 16px 4px;display:flex}.header-back-btn{color:var(--olive-700);cursor:pointer;border-radius:var(--radius-sm);transition:background var(--transition);background:0 0;border:none;align-items:center;gap:4px;padding:6px 8px;font-size:.95rem;font-weight:600;display:flex}.header-back-btn:active{background:var(--accent-soft)}.header-back-btn svg{flex-shrink:0}.header-lang select{appearance:none;border:1px solid var(--border);color:var(--olive-700);cursor:pointer;background:#fff;border-radius:999px;min-height:48px;padding:6px 14px;font-size:.88rem;font-weight:600}.brand{align-items:center;gap:8px;font-size:.95rem;font-weight:700;display:flex}.brand-icon{width:24px;height:24px}.view-toggle{border:1px solid var(--border);background:#fff;border-radius:999px;padding:2px;display:inline-flex}.view-toggle button{color:var(--muted);cursor:pointer;transition:all var(--transition);background:0 0;border:none;border-radius:999px;align-items:center;gap:4px;padding:4px 10px;font-size:.92rem;font-weight:700;display:flex}.view-toggle button.active{background:var(--olive-800);color:#fff}.card,.assessment-card,.progress-card,.score-card{background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transition:transform var(--transition),box-shadow var(--transition);border:none;padding:20px}.card:active,.assessment-card:active{transform:scale(.985)}.assessment-card{flex-direction:column;gap:16px;display:flex}.assessment-progress{background:var(--accent-soft);color:var(--olive-700);border-radius:999px;align-self:flex-start;padding:4px 12px;font-size:.92rem;font-weight:700}.assessment-card h1,.card h2{letter-spacing:-.01em;margin:0;font-size:1.15rem;font-weight:800}.assessment-card h2{color:var(--text);margin:0;font-size:1rem}.assessment-card p,.card p{color:var(--muted);margin:0;font-size:.95rem;line-height:1.5}.btn-primary{background:var(--olive-800);color:#fff;cursor:pointer;width:100%;min-height:56px;transition:all var(--transition);border:none;border-radius:999px;padding:16px 24px;font-size:1.05rem;font-weight:700}.btn-primary:active:not(:disabled){background:var(--olive-900);transform:scale(.97)}.btn-secondary{width:100%;color:var(--olive-800);border:2px solid var(--olive-800);cursor:pointer;min-height:56px;transition:all var(--transition);background:#fff;border-radius:999px;padding:14px 24px;font-size:1rem;font-weight:700}.btn-secondary:active:not(:disabled){background:var(--cream-50);transform:scale(.97)}.btn-outline-danger{width:100%;color:var(--danger);border:2px solid var(--danger);cursor:pointer;min-height:56px;transition:all var(--transition);background:#fff;border-radius:999px;padding:14px 24px;font-size:1rem;font-weight:700}.btn-outline-danger:active:not(:disabled){transform:scale(.97)}.btn-danger{background:var(--danger);color:#fff;cursor:pointer;width:100%;min-height:56px;transition:all var(--transition);border:none;border-radius:999px;padding:16px 24px;font-size:1.05rem;font-weight:700}.btn-danger:active:not(:disabled){background:#e0332a;transform:scale(.97)}.btn-ghost{width:100%;color:var(--olive-800);cursor:pointer;min-height:56px;transition:all var(--transition);background:0 0;border:none;border-radius:999px;padding:14px 24px;font-size:1rem;font-weight:700}.btn-ghost:active:not(:disabled){background:var(--cream-100)}.btn-link{color:var(--olive-700);cursor:pointer;min-height:48px;transition:opacity var(--transition);background:0 0;border:none;padding:8px;font-size:.95rem;font-weight:600;text-decoration:none}.btn-link:active{opacity:.6}.stack{flex-direction:column;gap:14px;display:flex}.assessment-test-preview{justify-content:center;gap:12px;padding:8px 0;display:flex}.assessment-test-item{background:var(--cream-50);border-radius:var(--radius-md);flex-direction:column;flex:1;align-items:center;gap:8px;padding:14px 16px;display:flex}.assessment-test-item span{color:var(--olive-700);text-align:center;font-size:.92rem;font-weight:700}.selection-list{flex-direction:column;gap:10px;display:flex}.selection-item{border-radius:var(--radius-md);border:2px solid var(--border);background:var(--card);cursor:pointer;transition:all var(--transition);align-items:center;gap:12px;min-height:64px;padding:16px;display:flex}.selection-item.selected{border-color:var(--olive-700);background:var(--accent-soft)}.selection-item:active{transform:scale(.98)}.selection-check{flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.selection-item strong{color:var(--text);font-size:1rem;display:block}.selection-item span{color:var(--muted);margin-top:2px;font-size:.92rem;display:block}.alert{border-radius:var(--radius-sm);padding:12px 16px;font-size:.9rem}.alert.error{color:#c33;background:#fff2f0;border:1px solid #ffd6d1}.error-card{text-align:center;background:#fff2f0;border:1px solid #ffd6d1}.error-card-text{color:#c33;margin:0 0 16px;font-size:1rem}.error-boundary{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:60vh;padding:48px 24px;display:flex}.error-boundary h2{color:var(--olive-900,#1a1a1a);margin:16px 0 8px;font-size:1.25rem;font-weight:700}.error-boundary p{color:var(--olive-600,#666);max-width:280px;margin:0 0 24px;font-size:.95rem}.error-boundary-actions{gap:12px;display:flex}.bottom-nav{-webkit-backdrop-filter:blur(16px);z-index:100;background:#1c4f42eb;border-top:1px solid #ffffff1a;flex-shrink:0;justify-content:space-around;padding:6px 0 8px;display:flex;position:relative;bottom:0;left:0;right:0}.nav-item{color:#ffffffbf;cursor:pointer;min-width:52px;min-height:52px;transition:color var(--transition);background:0 0;border:none;flex-direction:column;align-items:center;gap:3px;padding:4px 8px;font-size:.92rem;font-weight:600;display:flex;position:relative}.nav-item.active{color:#fff}.nav-item.active:before{content:"";z-index:-1;background:#ffffff26;border-radius:14px;position:absolute;inset:2px -4px}.nav-item.active:after{content:"";background:#fff;border-radius:2px;width:20px;height:3px;position:absolute;bottom:2px}.nav-item svg{width:22px;height:22px}.camera-page{background:#000;gap:0;padding:0}.camera-header{background:var(--olive-800);color:#fff;justify-content:space-between;align-items:center;gap:8px;padding:12px 16px;display:flex}.camera-progress-badge{color:#fff;white-space:nowrap;background:#fff3;border-radius:999px;padding:4px 12px;font-size:.88rem;font-weight:700}.camera-test-title{color:#fff;text-align:center;flex:1;margin:0;font-size:1.1rem;font-weight:700}.camera-cancel-btn{color:#fff;cursor:pointer;white-space:nowrap;min-height:48px;transition:background var(--transition);background:#fff3;border:none;border-radius:999px;padding:8px 16px;font-size:.92rem;font-weight:600}.camera-cancel-btn:hover{background:#ffffff4d}.camera-viewport{background:#000;flex:1;min-height:0;position:relative;overflow:hidden}.camera-video-fit{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.mirror{transform:scaleX(-1)}.camera-overlay-fit{z-index:20;background:#00000073;flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.countdown-number{color:#ffb74d;text-shadow:0 0 40px #ffb74d80,0 4px 20px #0006;font-size:5rem;font-weight:800;animation:.6s cubic-bezier(.34,1.56,.64,1) countdownPop}@keyframes countdownPop{0%{opacity:0;transform:scale(2)}60%{opacity:1;transform:scale(.95)}to{transform:scale(1)}}.countdown-label{color:#ffffffd9;margin-top:8px;font-size:1.2rem}.recording-pill{color:#fff;z-index:25;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffb74dd9;border-radius:999px;align-items:center;gap:8px;padding:8px 20px;font-size:.9rem;font-weight:700;animation:2s ease-in-out infinite pulse-recording;display:flex;position:absolute;top:12px;left:50%;transform:translate(-50%);box-shadow:0 0 20px #ffb74d4d}.recording-pill:before{content:"";background:#fff;border-radius:50%;width:8px;height:8px;animation:1.5s ease-in-out infinite pulse-dot}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}@keyframes pulse-recording{0%,to{box-shadow:0 0 20px #ffb74d4d}50%{box-shadow:0 0 30px #ffb74d80}}.camera-tips{background:var(--olive-900);flex-direction:column;gap:6px;margin:0;padding:14px 20px;list-style:none;display:flex}.camera-tips li{color:#ffffffd9;padding-left:16px;font-size:1rem;line-height:1.4;position:relative}.camera-tips li:before{content:"•";color:var(--accent);position:absolute;left:0}.camera-recording-hint{color:#ffffffb3;text-align:center;background:#0009;margin:0;padding:8px 16px;font-size:.95rem}.camera-actions{background:#111;padding:12px 16px}.camera-placeholder{border:2px dashed var(--border);border-radius:var(--radius-md);min-height:160px;color:var(--muted);background:var(--cream-50);justify-content:center;align-items:center;display:flex}.camera-icon{opacity:.5;width:56px;height:56px}.camera-icon svg{width:100%;height:100%}.camera-preview{border-radius:var(--radius-md);aspect-ratio:16/10;border:1px solid var(--border);background:#eef3ef;min-height:180px;position:relative;overflow:hidden}.camera-video{object-fit:cover;width:100%;height:100%}.camera-overlay{background:#00000059;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.countdown-overlay{color:#fff;text-shadow:0 1px 4px #0006;background:#00000080;justify-content:center;align-items:center;font-size:2.4rem;font-weight:800;display:flex;position:absolute;inset:0}.assessment-setup{flex-direction:column;gap:16px;display:flex}.setup-list{color:var(--muted);margin:0;padding-left:20px}.assessment-actions{flex-direction:column;gap:10px;display:flex}.analysis-panel{text-align:center;color:var(--muted);background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:16px;padding:40px 20px;display:flex}.analysis-stepper{align-items:center;gap:12px;margin:16px 0 8px;display:flex}.analysis-step{align-items:center;gap:12px;display:flex}.analysis-step-dot{background:var(--border);width:14px;height:14px;transition:background .4s var(--ease),transform .3s var(--ease);border-radius:50%}.analysis-step.active .analysis-step-dot{background:var(--olive-700);transform:scale(1.2)}.analysis-step.done .analysis-step-dot{background:var(--green)}.analysis-step+.analysis-step:before{content:"";background:var(--border);width:24px;height:2px;transition:background .4s var(--ease);margin-right:12px}.analysis-step.active+.analysis-step:before,.analysis-step.done+.analysis-step:before{background:var(--olive-700)}.analysis-reassurance{color:var(--muted);margin-top:4px;font-size:.92rem}.encouragement-pill{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff;z-index:20;white-space:nowrap;pointer-events:none;background:#ffb74d33;border-radius:999px;padding:10px 22px;font-size:1.05rem;font-weight:600;transition:opacity .3s;position:absolute;bottom:100px;left:50%;transform:translate(-50%);box-shadow:0 0 16px #ffb74d26}@keyframes encourageSlideUp{0%{opacity:0;transform:translate(-50%)translateY(16px)scale(.95)}to{opacity:1;transform:translate(-50%)translateY(0)scale(1)}}.camera-hint-subtle{text-align:center;color:var(--muted);margin:0 16px 4px;font-size:.92rem}@keyframes fadeInUp{0%{opacity:0;transform:translate(-50%)translateY(8px)}to{opacity:1;transform:translate(-50%)translateY(0)}}.loading{flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:32px 16px;display:flex}.loading-text{color:var(--muted);margin:0;font-size:1rem}.spinner{border:3px solid var(--border);border-top-color:var(--olive-800);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.score-card{justify-content:space-between;align-items:center;gap:16px;display:flex}.score-ring{border:5px solid var(--accent);background:var(--accent-soft);text-align:center;font-variant-numeric:tabular-nums;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:78px;height:78px;display:flex}.score-ring.large{width:86px;height:86px}.score-value{white-space:nowrap;letter-spacing:-.01em;font-size:1rem;font-weight:800;line-height:1}.score-ring.compact .score-value{font-size:.92rem}.score-ring.large .score-value{font-size:1.05rem}.score-label{color:var(--olive-700);font-size:.85rem;font-weight:700}.card-title{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:0 0 8px;font-size:.92rem;font-weight:700}.trend-pill{color:#1b8a3e;background:#eaf7ee;border-radius:999px;align-items:center;gap:6px;padding:6px 12px;font-size:.88rem;font-weight:700;display:inline-flex}.trend-pill svg{width:14px;height:14px}.trend-pill.muted{color:var(--muted);background:#f0f0f5}.result-page{gap:16px;padding-bottom:40px}.result-hero{text-align:center;background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);flex-direction:column;align-items:center;padding:24px 20px 20px;animation:.5s ease-out fadeIn;display:flex}.result-greeting{color:var(--text);letter-spacing:-.02em;margin:0 0 4px;font-size:1.3rem;font-weight:800}.result-partial{color:var(--muted);margin:0 0 8px;font-size:.88rem}.result-score-ring{margin:16px 0 12px}.confidence-badge{letter-spacing:.3px;border-radius:12px;margin-top:8px;padding:4px 12px;font-size:.88rem;font-weight:600;display:inline-block}.confidence-badge.high{color:#2e7d32;background:#e8f5e9}.confidence-badge.medium{color:#e65100;background:#fff3e0}.confidence-badge.low{color:#c62828;background:#fbe9e7}.result-trend{border-radius:999px;align-items:center;gap:4px;margin-bottom:8px;padding:5px 12px;font-size:.88rem;font-weight:700;display:inline-flex}.result-trend.up{color:#2e7d32;background:#e8f5e9}.result-trend.down{color:#e65100;background:#fff3e0}.result-encouragement{color:var(--muted);margin:4px 0 0;font-size:.95rem;line-height:1.5}.result-doctor-note,.result-confidence-warning{border-radius:var(--radius-md);align-items:flex-start;gap:8px;margin-top:8px;padding:10px 14px;font-size:.9rem;line-height:1.4;display:flex}.result-doctor-note{color:#b91c1c;background:#fef2f2}.result-confidence-warning{color:#92400e;background:#fffbeb}.result-tests{flex-direction:column;gap:8px;display:flex}.result-test-card{background:var(--card);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;padding:14px 16px;animation:.4s ease-out both fadeIn;display:flex}.result-test-card:first-child{animation-delay:.1s}.result-test-card:nth-child(2){animation-delay:.2s}.result-test-card:nth-child(3){animation-delay:.3s}.result-test-info{flex-direction:column;gap:4px;display:flex}.result-test-name{color:var(--text);font-size:1rem;font-weight:700}.result-test-badge{border-radius:999px;width:fit-content;padding:2px 10px;font-size:.92rem;font-weight:700}.result-test-badge.good{color:#2e7d32;background:#e8f5e9}.result-test-badge.fair{color:#e65100;background:#fff3e0}.result-test-badge.low{color:#c62828;background:#fce4ec}.result-recs{background:var(--card);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:16px 18px}.result-recs h3{color:var(--text);margin:0 0 12px;font-size:1rem;font-weight:800}.result-rec-item{color:var(--text);align-items:flex-start;gap:10px;padding:8px 0;font-size:.9rem;line-height:1.4;display:flex}.result-rec-item+.result-rec-item{border-top:1px solid var(--border)}.result-rec-dot{background:var(--accent);border-radius:50%;width:6px;min-width:6px;height:6px;margin-top:7px}.result-detail-toggle{background:var(--cream-50);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--olive-700);cursor:pointer;transition:all var(--transition);justify-content:center;align-items:center;gap:8px;padding:12px;font-size:.92rem;font-weight:700;display:flex}.result-detail-toggle:hover{background:var(--accent-soft)}.result-graphs{flex-direction:column;gap:16px;animation:.3s ease-out fadeIn;display:flex}.result-graph-section{background:var(--card);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:16px}.result-graph-section h4{color:var(--text);margin:0 0 12px;font-size:.9rem;font-weight:800}.result-issue-tags{flex-wrap:wrap;gap:6px;display:flex}.result-issue-tag{color:#e65100;text-transform:capitalize;background:#fff3e0;border-radius:999px;padding:4px 12px;font-size:.92rem;font-weight:600}.clinical-toggle{border:1px dashed var(--border);color:var(--muted);background:0 0;margin-top:8px;font-size:.88rem;font-weight:600}.clinical-toggle:hover{color:var(--olive-700);border-color:var(--olive-400)}.clinical-details{background:var(--card);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);padding:16px;animation:.3s ease-out fadeIn}.clinical-disclaimer{color:var(--muted);background:var(--cream-50);border-radius:var(--radius-sm);margin:0 0 12px;padding:8px 12px;font-size:.92rem;line-height:1.4}.clinical-section{margin-bottom:16px}.clinical-section:last-of-type{margin-bottom:8px}.clinical-section h4{color:var(--olive-700);border-bottom:1px solid var(--border);margin:0 0 8px;padding-bottom:6px;font-size:.88rem;font-weight:800}.clinical-table{border-collapse:collapse;width:100%;font-size:.85rem}.clinical-table td{border-bottom:1px solid var(--border);padding:5px 0}@supports (color:color-mix(in lab,red,red)){.clinical-table td{border-bottom:1px solid color-mix(in srgb,var(--border)50%,transparent)}}.clinical-table tr:last-child td{border-bottom:none}.clinical-label{color:var(--muted);font-weight:500}.clinical-value{text-align:right;color:var(--text);font-variant-numeric:tabular-nums;font-weight:700}.clinical-unit{color:var(--muted);font-size:.88rem;font-weight:400}.clinical-footnote{color:var(--muted);margin:12px 0 0;font-size:.88rem;font-style:italic}.result-agent-card{background:var(--card);border-radius:var(--radius-md);border-left:4px solid var(--olive-400);animation:fadeInUp .4s var(--ease);padding:16px 18px}.result-agent-card.priority-high{border-left-color:var(--danger);background:var(--danger)}@supports (color:color-mix(in lab,red,red)){.result-agent-card.priority-high{background:color-mix(in srgb,var(--danger)6%,var(--card))}}.result-agent-card.priority-medium{border-left-color:var(--olive-500)}.result-agent-header{color:var(--text);align-items:center;gap:8px;margin-bottom:8px;font-size:.95rem;font-weight:700;display:flex}.result-agent-header svg{color:var(--olive-600);flex-shrink:0}.priority-high .result-agent-header svg{color:var(--danger)}.result-agent-message{color:var(--text);margin:0;font-size:1rem;line-height:1.5}.result-agent-duration{color:var(--olive-700);background:var(--olive-100);border-radius:999px;margin-top:8px;padding:3px 10px;font-size:.88rem;font-weight:600;display:inline-block}.result-actions{text-align:center;flex-direction:column;align-items:center;gap:10px;margin-top:8px;display:flex}.progress-actions,.exercise-actions{text-align:center;flex-direction:column;align-items:center;gap:10px;display:flex}.movement-graph{border-radius:var(--radius-sm);background:#fafbfa;padding:12px}.movement-graph-title{color:var(--text);letter-spacing:-.01em;margin:0 0 6px;font-size:.88rem;font-weight:700}.movement-graph svg{display:block}.movement-graph+.movement-graph{margin-top:10px}.progress-stack{flex-direction:column;gap:14px;display:flex}.progress-card{justify-content:space-between;align-items:center;gap:16px;display:flex}.video-card{border-radius:var(--radius-lg);background:var(--cream-100);justify-content:center;align-items:center;height:200px;display:flex;position:relative;overflow:hidden}.video-card.video-placeholder{box-shadow:var(--shadow-sm);background:linear-gradient(140deg,#e9f1ec,#f6faf7);border:none}.video-card img{object-fit:cover;opacity:.85;width:100%;height:100%}.play-button{width:56px;height:56px;color:var(--olive-800);cursor:pointer;box-shadow:var(--shadow-md);transition:transform var(--transition);background:#ffffffd9;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute}.play-button:active{transform:scale(.92)}.play-button svg{width:24px;height:24px}.routine-caption{text-align:center;color:var(--text);font-weight:700}.icon-btn{background:var(--cream-100);width:44px;height:44px;color:var(--olive-800);cursor:pointer;transition:transform var(--transition);border:none;border-radius:50%;justify-content:center;align-items:center;display:inline-flex}.icon-btn:active{transform:scale(.9)}.icon-btn svg{width:18px;height:18px}.icon-btn.send{background:var(--olive-800);color:#fff}.voice-assistant{z-index:120;flex-direction:column;align-items:flex-end;gap:8px;display:flex;position:absolute;bottom:70px;right:12px}.voice-fab{cursor:pointer;width:52px;height:52px;color:var(--olive-800);box-shadow:var(--shadow-lg);touch-action:none;transition:transform var(--transition);background:#fff;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;font-weight:700;display:inline-flex}.voice-fab:active{transform:scale(.92)}.voice-fab svg{width:22px;height:22px}.pose-overlay{z-index:15;pointer-events:none;will-change:contents;contain:layout size;width:100%;height:100%;position:absolute;top:0;left:0}.pose-feedback{color:#fff;z-index:20;pointer-events:none;white-space:nowrap;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:999px;padding:10px 22px;font-size:1rem;font-weight:600;transition:background .4s,box-shadow .4s,opacity .3s;position:absolute;top:100px;left:50%;transform:translate(-50%)}.pose-feedback.tier-good{text-shadow:0 1px 3px #0000004d;background:#ffb74d59;box-shadow:0 0 20px #ffb74d33}.pose-feedback.tier-medium{text-shadow:0 1px 3px #0000004d;background:#81d4fa4d;box-shadow:0 0 20px #81d4fa26}.pose-feedback.tier-low{box-shadow:none;text-shadow:0 1px 3px #0006;background:#000000a6}.camera-toolbar{z-index:30;gap:8px;display:flex;position:absolute;bottom:16px;right:16px}.overlay-toggle{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fffc;cursor:pointer;background:#00000080;border:1px solid #ffffff26;border-radius:999px;align-items:center;gap:6px;min-height:48px;padding:8px 14px;font-size:.92rem;font-weight:600;transition:all .2s;display:flex}.overlay-toggle:hover{color:#fff;background:#000000a6}.overlay-toggle.active{color:#ffd093;background:#ffb74d4d;border-color:#ffb74d66}.overlay-toggle svg{opacity:.8;width:16px;height:16px}.exercise-steps-section{background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.exercise-steps-toggle{cursor:pointer;width:100%;color:var(--olive-700);background:0 0;border:none;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.exercise-steps-toggle h3{color:var(--olive-700);text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:.92rem;font-weight:700}.exercise-steps{padding:0 20px 20px;animation:.25s ease-out fadeIn}.exercise-steps ol{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.exercise-steps li{color:var(--text);align-items:flex-start;gap:12px;font-size:.95rem;line-height:1.55;display:flex}.step-num{background:var(--accent-soft);width:26px;min-width:26px;height:26px;color:var(--olive-700);border-radius:50%;justify-content:center;align-items:center;margin-top:1px;font-size:.92rem;font-weight:800;display:flex}.safety-notice{border-radius:var(--radius-sm);background:#fffbe6;align-items:flex-start;gap:10px;margin-top:14px;padding:12px 14px;display:flex}.safety-icon{flex-shrink:0;font-size:1.3rem}.safety-notice p{color:#92400e;margin:0;font-size:.88rem;line-height:1.45}.chat-page{flex-direction:column;flex:1;min-height:0;max-height:100%;display:flex;overflow:hidden;gap:0!important;padding:0 14px!important}.chat-container{flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.chat-messages{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#0000001f transparent;flex-direction:column;flex:1;gap:10px;min-height:0;padding:8px 0 10px;display:flex;overflow-y:auto}.chat-bubble{gap:8px;max-width:88%;animation:.3s chatFadeIn;display:flex}.chat-bubble.user{flex-direction:row-reverse;align-self:flex-end}.chat-bubble.assistant{align-self:flex-start}.chat-avatar{background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;margin-top:2px;display:flex}.chat-content{flex-direction:column;gap:6px;min-width:0;max-width:100%;display:flex}.chat-text{background:var(--cream-100);border:1px solid #2d6b5a14;border-radius:16px;padding:10px 14px}.chat-text p{color:var(--olive-900);overflow-wrap:break-word;word-break:break-word;margin:0;font-size:.9rem;line-height:1.45}.chat-text p+p{margin-top:6px}.chat-md-h{color:var(--olive-800);margin:8px 0 4px;font-size:.92rem;font-weight:700}.chat-md-h:first-child{margin-top:0}.chat-md-list{margin:4px 0;padding-left:18px;list-style:outside}.chat-md-list li{color:var(--olive-900);margin-bottom:3px;font-size:.88rem;line-height:1.45}.chat-md-list li strong{font-weight:700}.chat-md-break{height:6px}.chat-bubble.user .chat-md-h,.chat-bubble.user .chat-md-list li{color:#f0f5f2}.chat-bubble.user .chat-text{background:var(--olive-700);border-color:#0000;border-bottom-right-radius:6px}.chat-bubble.user .chat-text p{color:#f0f5f2}.chat-bubble.assistant .chat-text{border-bottom-left-radius:6px}.chat-typing{align-items:center;gap:5px;padding:4px 0;display:flex}.chat-typing span{background:var(--accent);border-radius:50%;width:8px;height:8px;animation:1.2s infinite typingBounce}.chat-typing span:nth-child(2){animation-delay:.2s}.chat-typing span:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,60%,to{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-5px)}}@keyframes chatFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.chat-actions{flex-wrap:wrap;gap:8px;display:flex}.chat-action-btn{background:var(--olive-700);color:#f0f5f2;cursor:pointer;transition:transform var(--transition),opacity var(--transition);border:none;border-radius:18px;min-height:48px;padding:10px 16px;font-family:inherit;font-size:.88rem;font-weight:600}.chat-action-btn:active{opacity:.85;transform:scale(.96)}.chat-quick-prompts{flex-wrap:wrap;flex-shrink:0;gap:6px;padding:2px 0 6px;display:flex}.chat-chip{background:var(--accent-soft);border:1.5px solid var(--accent);color:var(--olive-800);cursor:pointer;transition:all var(--transition);border-radius:16px;min-height:44px;padding:8px 14px;font-family:inherit;font-size:.88rem;font-weight:600}.chat-chip:active{background:var(--olive-700);color:#f0f5f2;border-color:var(--olive-700)}.chat-input-bar{border-top:1px solid #2d6b5a1a;flex-shrink:0;align-items:center;gap:8px;padding:8px 0 10px;display:flex}.chat-input{border:1.5px solid var(--accent);background:var(--cream-100);min-width:0;color:var(--olive-900);min-height:48px;transition:border-color var(--transition),box-shadow var(--transition);border-radius:24px;outline:none;flex:1;padding:10px 16px;font-family:inherit;font-size:.95rem}.chat-input:focus{border-color:var(--olive-700);box-shadow:0 0 0 3px #2d6b5a1a}.chat-input::placeholder{color:var(--olive-500);opacity:.5}.chat-send-btn{background:var(--olive-700);color:#f0f5f2;cursor:pointer;width:48px;height:48px;transition:opacity var(--transition),transform var(--transition);border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.chat-send-btn:disabled{opacity:.25;cursor:not-allowed}.chat-send-btn:not(:disabled):active{transform:scale(.92)}.chat-mic-btn{border:1.5px solid var(--accent);background:var(--cream-100);width:48px;height:48px;color:var(--olive-700);cursor:pointer;transition:all var(--transition);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.chat-mic-btn:disabled{opacity:.3;cursor:not-allowed}.chat-mic-btn.recording{background:var(--danger);border-color:var(--danger);color:#fff;animation:1s infinite micPulse}@keyframes micPulse{0%,to{box-shadow:0 0 #ff3b3066}50%{box-shadow:0 0 0 8px #ff3b3000}}.chat-typing-row{align-items:center;gap:10px;display:flex}.chat-typing-label{color:var(--muted);font-size:.92rem;font-style:italic}.chat-read-btn{border:1px solid var(--accent);color:var(--olive-700);cursor:pointer;min-height:44px;transition:all var(--transition);background:0 0;border-radius:16px;align-self:flex-start;align-items:center;gap:6px;padding:8px 14px;font-family:inherit;font-size:.88rem;display:inline-flex}.chat-read-btn:active,.chat-read-btn.active{background:var(--accent-soft);border-color:var(--olive-700)}.chat-scroll-btn{border:1px solid var(--accent);background:var(--cream-100);width:44px;height:44px;color:var(--olive-700);cursor:pointer;box-shadow:var(--shadow-md);z-index:10;min-height:44px;transition:all var(--transition);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;bottom:140px;right:24px}.chat-scroll-btn:active{transform:scale(.9)}.chat-chip-icon{margin-right:2px;font-size:1.1rem;line-height:1}.exercise-progress-bar{background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:16px 20px}.exercise-progress-bar .card-title{margin-bottom:6px}.progress-track{background:var(--border);border-radius:4px;height:8px;margin-top:8px;overflow:hidden}.progress-fill{background:var(--green);height:100%;transition:width .4s var(--ease);border-radius:4px}.progress-text{color:var(--muted);font-size:.88rem;font-weight:600}.exercise-pill-nav{-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:8px;padding:2px 0;display:flex;overflow-x:auto}.exercise-pill-nav::-webkit-scrollbar{display:none}.exercise-pill{border:1.5px solid var(--border);background:var(--card);cursor:pointer;white-space:nowrap;color:var(--muted);transition:all var(--transition);border-radius:999px;align-items:center;gap:6px;min-height:48px;padding:8px 14px;font-size:.92rem;font-weight:600;display:flex}.exercise-pill.active{background:var(--olive-800);color:#fff;border-color:var(--olive-800);box-shadow:var(--shadow-sm)}.exercise-pill.completed{border-color:var(--green);color:var(--green)}.exercise-pill.completed.active{background:var(--green);color:#fff;border-color:var(--green)}.exercise-pill-num{background:var(--cream-50);width:22px;height:22px;color:var(--muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.88rem;font-weight:800;display:flex}.exercise-pill.active .exercise-pill-num{color:#fff;background:#ffffff40}.exercise-pill.completed .exercise-pill-num{background:var(--green);color:#fff;font-size:.85rem}.exercise-pill-name{text-overflow:ellipsis;max-width:120px;overflow:hidden}.exercise-focus-banner{background:var(--olive-50);border-radius:var(--radius);color:var(--olive-700);align-items:center;gap:8px;padding:10px 16px;font-size:.9rem;display:flex}.exercise-focus-banner svg{color:var(--olive-600);flex-shrink:0}.exercise-recommended-badge{color:var(--olive-700);background:var(--olive-100);text-transform:uppercase;letter-spacing:.03em;border-radius:999px;padding:2px 8px;font-size:.85rem;font-weight:700}.exercise-nav-card{background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);text-align:left;padding:20px}.exercise-card-header{align-items:flex-start;gap:14px;display:flex}.exercise-nav-card .exercise-emoji{background:var(--accent-soft);border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;font-size:2rem;line-height:1;display:flex}.exercise-card-info{flex:1;min-width:0}.exercise-card-info h2{letter-spacing:-.01em;margin:0 0 4px;font-size:1.15rem;font-weight:800}.exercise-desc{color:var(--muted);margin:0 0 8px;font-size:.9rem;line-height:1.4}.exercise-nav-card .exercise-meta{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.exercise-completed-badge{color:#1b8a3e;text-transform:uppercase;letter-spacing:.03em;background:#e8f5e9;border-radius:999px;padding:2px 8px;font-size:.85rem;font-weight:700}.exercise-category{text-transform:uppercase;letter-spacing:.04em;background:var(--accent-soft);color:var(--olive-700);border-radius:999px;padding:3px 10px;font-size:.88rem;font-weight:700}.exercise-duration{color:var(--muted);font-size:.88rem}.exercise-timer{background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);flex-direction:column;align-items:center;gap:6px;padding:20px;display:flex}.timer-display{font-variant-numeric:tabular-nums;color:var(--olive-800);letter-spacing:-.02em;font-size:3rem;font-weight:800;line-height:1}.timer-label{color:var(--muted);font-size:.88rem;font-weight:600}.exercise-btn-row{gap:10px;display:flex}.exercise-btn-row button{flex:1}.exercise-nav-row{justify-content:space-between;align-items:center;width:100%;display:flex}.exercise-nav-row .btn-ghost{align-items:center;gap:4px;width:auto;min-height:48px;padding:10px 16px;font-size:.95rem;display:flex}.exercise-pain-link{color:var(--danger);cursor:pointer;opacity:.8;min-height:48px;transition:opacity var(--transition);background:0 0;border:none;padding:10px 14px;font-size:.95rem;font-weight:600}.exercise-pain-link:active{opacity:.5}.pain-modal-overlay{z-index:200;background:#0006;justify-content:center;align-items:center;padding:20px;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.pain-modal{border-radius:var(--radius-lg);text-align:center;width:100%;max-width:min(360px,92vw);box-shadow:var(--shadow-lg);background:#fff;flex-direction:column;gap:16px;padding:28px 24px;display:flex}.pain-modal h2{margin:0;font-size:1.2rem;font-weight:800}.pain-modal p{color:var(--muted);margin:0;font-size:.95rem;line-height:1.5}.onboarding-overlay{z-index:300;background:#00000080;justify-content:center;align-items:center;padding:20px;animation:.3s ease-out fadeIn;display:flex;position:fixed;inset:0}.onboarding-modal{background:var(--cream-50);border-radius:var(--radius-lg);width:100%;max-width:min(380px,92vw);box-shadow:var(--shadow-lg);flex-direction:column;align-items:center;gap:16px;padding:32px 24px;display:flex}.onboarding-icon{background:var(--accent-soft);border-radius:50%;justify-content:center;align-items:center;width:64px;height:64px;display:flex}.onboarding-title{color:var(--olive-900);margin:0;font-size:1.4rem;font-weight:800}.onboarding-subtitle{color:var(--muted);text-align:center;margin:0;font-size:1rem}.onboarding-field{flex-direction:column;gap:6px;width:100%;display:flex}.onboarding-field label{color:var(--olive-800);font-size:.92rem;font-weight:600}.onboarding-field input,.onboarding-field select{border:1.5px solid var(--border);border-radius:var(--radius-md);width:100%;color:var(--text);background:#fff;min-height:48px;padding:12px 14px;font-size:1rem}.onboarding-field input:focus,.onboarding-field select:focus{border-color:var(--olive-700);outline:none;box-shadow:0 0 0 3px #1f6f501f}.onboarding-disclaimer{background:var(--cream-100);border-radius:var(--radius-md);gap:8px;width:100%;padding:12px;display:flex}.onboarding-disclaimer p{color:var(--muted);margin:0;font-size:.88rem;line-height:1.4}.onboarding-btn{width:100%;margin-top:4px}.onboarding-progress{justify-content:center;gap:8px;margin-bottom:16px;display:flex}.onboarding-progress-dot{background:var(--cream-200,#e5ddd0);width:10px;height:10px;transition:all .3s var(--ease);border-radius:50%}.onboarding-progress-dot.active{background:var(--olive-400)}.onboarding-progress-dot.current{background:var(--olive-700);transform:scale(1.2)}.onboarding-question-counter{color:var(--muted);text-align:center;margin-bottom:8px;font-size:.88rem;font-weight:600}.onboarding-question-card{width:100%;animation:slideUp .3s var(--ease)}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.onboarding-question-text{color:var(--text);text-align:center;margin:8px 0 20px;font-size:1.15rem;font-weight:700;line-height:1.4}.onboarding-choice-grid{gap:12px;width:100%;display:flex}.onboarding-choice-grid.three{flex-direction:column;gap:10px}.onboarding-choice-btn{border-radius:var(--radius-md);border:2px solid var(--border);background:var(--card);cursor:pointer;color:var(--text);transition:all .2s var(--ease);flex-direction:column;flex:1;align-items:center;gap:8px;min-height:52px;padding:20px 12px;font-size:1rem;font-weight:600;display:flex}.onboarding-choice-btn:active{transform:scale(.96)}.onboarding-choice-btn.yes:hover,.onboarding-choice-btn.yes:active{border-color:var(--olive-600);background:var(--olive-50);color:var(--olive-800)}.onboarding-choice-btn.no:hover,.onboarding-choice-btn.no:active{color:#8b6914;background:#fef7e8;border-color:#e0a040}.onboarding-choice-btn.contrib{flex-direction:row;justify-content:center;padding:16px 20px}.onboarding-choice-btn.contrib:hover,.onboarding-choice-btn.contrib:active{border-color:var(--olive-600);background:var(--olive-50)}.onboarding-bar-track{background:var(--cream-100);border-radius:2px;width:100%;height:4px;margin-top:16px;overflow:hidden}.onboarding-bar-fill{background:var(--olive-700);height:100%;transition:width .4s var(--ease);border-radius:2px}.onboarding-loading{color:var(--muted);justify-content:center;align-items:center;gap:10px;margin-top:12px;font-size:.9rem;display:flex}.onboarding-voice-row{justify-content:center;gap:16px;margin:4px 0 12px;display:flex}.onboarding-voice-btn{border:2px solid var(--border);background:var(--sage-50,var(--card));width:48px;height:48px;color:var(--olive-700);cursor:pointer;transition:all .2s var(--ease);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.onboarding-voice-btn:hover{border-color:var(--olive-600);background:var(--olive-50)}.onboarding-voice-btn:active{transform:scale(.92)}.onboarding-voice-btn.tts.active{border-color:var(--olive-700);background:var(--olive-700);color:#fff;animation:1s ease-in-out infinite voicePulse}.onboarding-voice-btn.stt.active{color:#fff;background:#d94040;border-color:#d94040;animation:.8s ease-in-out infinite voicePulse}@keyframes voicePulse{0%,to{box-shadow:0 0 #6b72504d}50%{box-shadow:0 0 0 8px #6b725000}}.onboarding-voice-btn.stt.active{animation-name:voicePulseRed}@keyframes voicePulseRed{0%,to{box-shadow:0 0 #d940404d}50%{box-shadow:0 0 0 8px #d9404000}}.onboarding-voice-btn:disabled{opacity:.4;cursor:not-allowed}.onboarding-voice-btn.processing{border-color:var(--amber);background:var(--amber);color:#fff}.onboarding-voice-status{color:var(--olive-700);text-align:center;margin:0 0 8px;font-size:.88rem;animation:.2s ease-out fadeIn}.onboarding-voice-status.error{color:var(--danger);font-weight:600}.activity-hero{background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);flex-direction:column;align-items:center;gap:10px;padding:24px 20px 20px;display:flex}.activity-tier-badge{text-transform:uppercase;letter-spacing:.06em;border-radius:999px;margin-bottom:4px;padding:5px 14px;font-size:.88rem;font-weight:700}.activity-tier-badge.tier-robust{color:#2e7d32;background:#e8f5e9}.activity-tier-badge.tier-pre_frail{color:#e65100;background:#fff3e0}.activity-tier-badge.tier-frail,.activity-tier-badge.tier-severely_frail{color:#c62828;background:#fce4ec}.activity-delta{font-size:.92rem;font-weight:600}.activity-delta.positive{color:#1b8a3e}.activity-delta.negative{color:var(--danger)}.activity-delta.neutral{color:var(--muted)}.activity-breakdown{grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:10px;display:grid}.breakdown-item{background:var(--card);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);text-align:center;flex-direction:column;align-items:center;gap:8px;padding:16px 8px;display:flex}.breakdown-label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.85rem;font-weight:700}.history-chart{background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:18px 20px}.history-chart .card-title{margin-bottom:14px}.chart-bars{justify-content:space-between;align-items:flex-end;gap:6px;min-height:80px;display:flex}.chart-bar-wrapper{flex-direction:column;flex:1;align-items:center;gap:4px;height:100%;display:flex}.chart-bar{background:var(--olive-700);opacity:.7;width:100%;max-width:28px;transition:height .6s var(--ease);border-radius:4px 4px 0 0;margin-top:auto}.chart-bar.latest{opacity:1;background:var(--olive-800)}.chart-bar-label{color:var(--muted);font-size:.85rem;font-weight:600}.activity-checklist{background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);flex-direction:column;gap:6px;padding:18px 20px;display:flex}.checklist-item{border-radius:var(--radius);border:1.5px solid var(--border);cursor:pointer;text-align:left;color:var(--text);background:0 0;align-items:center;gap:12px;width:100%;padding:14px 12px;font-size:1rem;transition:background .2s,border-color .2s;display:flex}.checklist-item:hover{background:var(--olive-50)}.checklist-item.done{border-color:var(--olive-300);background:var(--olive-50);opacity:.75}.checklist-icon{flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.checklist-label{flex:1}.checklist-arrow{color:var(--muted);flex-shrink:0}.activity-stats{background:var(--card);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);flex-direction:column;gap:12px;padding:18px 20px;display:flex}.stat-row{background:var(--cream-50);border-radius:var(--radius-sm);align-items:center;gap:12px;padding:12px 14px;display:flex}.stat-icon{background:var(--accent-soft);width:38px;height:38px;color:var(--olive-700);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.stat-row strong{color:var(--text);font-size:1rem}.stat-row span{color:var(--muted);margin-left:auto;font-size:.88rem;font-weight:600}.faq-section{flex-direction:column;gap:8px;display:flex}.faq-item{background:var(--card);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden}.faq-question{width:100%;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;min-height:52px;padding:16px 18px;font-size:.95rem;font-weight:700;display:flex}.faq-chevron{color:var(--muted);transition:transform var(--transition);font-size:.88rem}.faq-chevron.open{transform:rotate(180deg)}.faq-answer{max-height:0;transition:max-height .3s var(--ease);overflow:hidden}.faq-answer.open{max-height:200px}.faq-answer p{color:var(--muted);margin:0;padding:0 18px 16px;font-size:.9rem;line-height:1.5}.risk-badge{border-radius:999px;align-items:center;gap:6px;padding:6px 14px;font-size:.88rem;font-weight:700;display:inline-flex}.risk-badge.low{color:#1b8a3e;background:#e8f5e9}.risk-badge.moderate{color:#e65100;background:#fff3e0}.risk-badge.high{color:#d32f2f;background:#ffeef0}.caregiver-patient-header{padding:16px 0}.caregiver-patient-name{align-items:baseline;gap:8px;display:flex}.caregiver-patient-name .label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.85rem;font-weight:600}.caregiver-patient-name .name{color:var(--text);font-size:1.25rem;font-weight:700}.caregiver-recheck-row{align-items:center;gap:10px;margin-top:6px;display:flex}.caregiver-days-since{color:var(--muted);font-size:.85rem}.caregiver-recheck-badge{background:var(--amber);border-radius:20px;padding:3px 10px;font-size:.85rem;font-weight:700}@supports (color:color-mix(in lab,red,red)){.caregiver-recheck-badge{background:color-mix(in srgb,var(--amber)15%,var(--card))}}.caregiver-recheck-badge{color:#b45309}.sppb-subscores{margin-top:12px}.subscore-row{justify-content:space-around;align-items:center;gap:12px;display:flex}.sppb-sparkline{flex-shrink:0}.caregiver-alerts{flex-direction:column;gap:8px;display:flex}.caregiver-alert{border-radius:var(--radius);align-items:flex-start;gap:10px;padding:12px 16px;font-size:.9rem;line-height:1.4;display:flex}.caregiver-alert svg{flex-shrink:0;margin-top:1px}.caregiver-alert.urgent{background:var(--danger)}@supports (color:color-mix(in lab,red,red)){.caregiver-alert.urgent{background:color-mix(in srgb,var(--danger)10%,var(--card))}}.caregiver-alert.urgent{color:var(--danger);border-left:3px solid var(--danger)}.caregiver-alert.warning{background:var(--warning)}@supports (color:color-mix(in lab,red,red)){.caregiver-alert.warning{background:color-mix(in srgb,var(--warning)10%,var(--card))}}.caregiver-alert.warning{color:#b45309;border-left:3px solid var(--warning)}.caregiver-alert.info{background:var(--olive-50);color:var(--olive-700);border-left:3px solid var(--olive-400)}.caregiver-trend{border-radius:var(--radius);align-items:center;gap:8px;padding:10px 16px;font-size:.9rem;font-weight:600;display:flex}.caregiver-trend.improving{color:#1b8a3e;background:#e8f5e9}.caregiver-trend.declining{background:var(--danger)}@supports (color:color-mix(in lab,red,red)){.caregiver-trend.declining{background:color-mix(in srgb,var(--danger)8%,var(--card))}}.caregiver-trend.declining{color:var(--danger)}.activity-decline-banner{border-radius:var(--radius);background:var(--warning);align-items:center;gap:10px;padding:12px 16px;display:flex}@supports (color:color-mix(in lab,red,red)){.activity-decline-banner{background:color-mix(in srgb,var(--warning)12%,var(--card))}}.activity-decline-banner{color:#b45309;border-left:3px solid var(--warning);font-size:.9rem;line-height:1.4}.activity-decline-banner svg{flex-shrink:0}.caregiver-history{flex-direction:column;gap:8px;display:flex}.caregiver-history-item{justify-content:space-between;align-items:center;padding:10px 0;display:flex}.caregiver-history-item+.caregiver-history-item{border-top:1px solid var(--border)}.caregiver-history-item span{color:var(--text);font-size:.9rem}.caregiver-history-item strong{color:var(--olive-800);font-size:.9rem}.safety-score-card{background:var(--card);border-radius:var(--radius-md);box-shadow:var(--shadow-md);align-items:center;gap:20px;margin-bottom:16px;padding:20px;display:flex}.safety-score-info{flex-direction:column;gap:8px;display:flex}.safety-score-info p{color:var(--muted);margin:0;font-size:.9rem}.safety-rooms{flex-direction:column;gap:8px;display:flex}.safety-room{background:var(--card);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);overflow:hidden}.safety-room-header{cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:12px;width:100%;padding:16px 18px;font-family:inherit;font-size:1rem;display:flex}.safety-room-icon{font-size:1.4rem}.safety-room-name{color:var(--text);flex:1;font-weight:600}.safety-room-count{color:var(--muted);background:var(--cream-100);border-radius:999px;padding:2px 10px;font-size:.88rem;font-weight:600}.safety-room-body{max-height:0;transition:max-height .3s var(--ease);overflow:hidden}.safety-room-body.open{max-height:400px}.safety-question{cursor:pointer;align-items:flex-start;gap:12px;min-height:48px;padding:12px 18px;transition:background .15s;display:flex}.safety-question:hover{background:var(--cream-50)}.safety-question input[type=checkbox]{width:22px;min-width:22px;height:22px;accent-color:var(--olive-600);cursor:pointer;flex-shrink:0;margin-top:2px}.safety-question span{color:var(--text);font-size:.95rem;line-height:1.4}.challenge-list{flex-direction:column;gap:12px;display:flex}.challenge-card{background:var(--card);border-radius:var(--radius-md);box-shadow:var(--shadow-md);transition:transform var(--transition),box-shadow var(--transition);padding:18px}.challenge-card:active{transform:scale(.985)}.challenge-card.completed{border-left:4px solid var(--green)}.challenge-header{align-items:center;gap:12px;margin-bottom:12px;display:flex}.challenge-icon{font-size:1.8rem}.challenge-info{flex-direction:column;flex:1;display:flex}.challenge-info strong{color:var(--text);font-size:1rem}.challenge-info span{color:var(--muted);font-size:.92rem}.challenge-badge{color:#1b8a3e;background:#e8f5e9;border-radius:999px;padding:4px 12px;font-size:.92rem;font-weight:700}.challenge-progress{margin-bottom:8px}.challenge-progress-track{background:var(--cream-100);border-radius:4px;height:8px;margin-bottom:6px;overflow:hidden}.challenge-progress-fill{background:var(--olive-700);height:100%;transition:width .5s var(--ease);border-radius:4px}.challenge-card.completed .challenge-progress-fill{background:var(--green)}.challenge-progress-text{color:var(--muted);font-size:.88rem}.challenge-participants{color:var(--muted);align-items:center;gap:6px;font-size:.85rem;display:flex}.challenge-participants svg{opacity:.6}.goal-stepper{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 0;display:flex}.goal-stepper-label{color:var(--text);font-size:.9rem;font-weight:600}.goal-stepper-controls{align-items:center;gap:12px;display:flex}.goal-stepper-btn{border:2px solid var(--olive-700);width:40px;height:40px;color:var(--olive-700);cursor:pointer;transition:all var(--transition);background:0 0;border-radius:50%;justify-content:center;align-items:center;font-size:1.2rem;font-weight:700;display:flex}.goal-stepper-btn:active{background:var(--olive-700);color:#fff}.goal-stepper-btn:disabled{opacity:.3;cursor:not-allowed}.goal-stepper-value{text-align:center;min-width:60px;color:var(--text);font-size:1.1rem;font-weight:700}.report-hero{flex-direction:column;align-items:center;gap:8px;margin-bottom:16px;display:flex}.report-stats{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px;display:grid}.report-stat-card{background:var(--card);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);text-align:center;flex-direction:column;align-items:center;padding:16px;display:flex}.report-stat-card strong{color:var(--olive-800);font-size:1.3rem;font-weight:800}.report-stat-card span{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-top:4px;font-size:.92rem;font-weight:600}.voice-coach-toggle{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:all var(--transition);background:#ffffff26;border:1.5px solid #fff6;border-radius:999px;align-items:center;gap:4px;padding:4px 10px;font-size:.88rem;font-weight:600;display:flex}.voice-coach-toggle.active{background:var(--olive-700);border-color:var(--olive-700)}.voice-coach-toggle svg{width:14px;height:14px}.voice-coach-cue{color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);white-space:nowrap;z-index:5;background:#000000b3;border-radius:999px;padding:8px 18px;font-size:.92rem;font-weight:600;animation:.3s ease-out fadeIn;position:absolute;bottom:60px;left:50%;transform:translate(-50%)}.exercise-camera-section{text-align:center;margin:12px 0}.exercise-camera-preview{border-radius:var(--radius-sm);max-height:240px;margin-bottom:8px;position:relative;overflow:hidden}.exercise-camera-preview video{object-fit:cover;max-height:240px;display:block}.form-feedback-chips{flex-wrap:wrap;justify-content:center;gap:8px;margin:10px 0;display:flex}.form-chip{border-radius:999px;align-items:center;gap:6px;padding:8px 16px;font-size:.92rem;font-weight:600;transition:all .3s;animation:.3s cubic-bezier(.34,1.56,.64,1) chipPop;display:inline-flex}@keyframes chipPop{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.form-chip small{opacity:.7;font-size:.88rem;font-weight:400}.form-chip.good{color:#e65100;background:linear-gradient(135deg,#fff8e1,#ffecb3);box-shadow:0 2px 8px #ffb74d33}.form-chip.fair{color:#1565c0;background:linear-gradient(135deg,#e3f2fd,#bbdefb);box-shadow:0 2px 8px #81d4fa33}.form-chip.poor{color:#7b1fa2;background:linear-gradient(135deg,#f3e5f5,#e1bee7);box-shadow:0 2px 8px #b39ddb33}.rep-counter{border-radius:var(--radius-md);background:linear-gradient(135deg,#fff8e1,#ffecb3);flex-direction:column;align-items:center;margin-top:8px;padding:14px 28px;transition:transform .3s cubic-bezier(.34,1.56,.64,1);display:inline-flex;box-shadow:0 4px 16px #ffb74d33}.rep-counter strong{color:#e65100;font-size:2.2rem;font-weight:800;line-height:1;transition:transform .2s cubic-bezier(.34,1.56,.64,1)}.rep-counter.pop strong{animation:.4s cubic-bezier(.34,1.56,.64,1) repPop}@keyframes repPop{0%{transform:scale(1)}40%{transform:scale(1.3)}to{transform:scale(1)}}.rep-counter span{text-transform:uppercase;letter-spacing:.05em;color:#bf360c;opacity:.7;font-size:.88rem;font-weight:600}.more-page{gap:0}.more-page .page-title{margin-bottom:8px}.more-streak-banner{border-radius:var(--radius-md);animation:moreFadeUp .4s var(--ease)both;background:linear-gradient(135deg,#fff8f0,#fff3e6);border:1px solid #ff9f0a26;align-items:center;gap:12px;margin-bottom:16px;padding:14px 16px;display:flex}.more-streak-flame svg{filter:drop-shadow(0 2px 4px #ff9f0a4d);width:28px;height:28px}.more-streak-text{flex-direction:column;gap:1px;display:flex}.more-streak-text strong{color:var(--text);font-size:1rem}.more-streak-text span{color:var(--muted);font-size:.88rem}.more-tiles{flex-direction:column;gap:8px;margin-bottom:20px;display:flex}.more-tile{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;text-align:left;transition:transform .15s var(--ease),box-shadow .15s var(--ease),border-color .15s var(--ease);animation:moreFadeUp .4s var(--ease)both;align-items:center;gap:14px;padding:16px;display:flex}.more-tile:hover{border-color:var(--tile-accent,var(--olive-500));box-shadow:var(--shadow-md)}.more-tile:active{transform:scale(.98)}.more-tile-icon{background:var(--tile-accent,var(--olive-700));border-radius:12px;width:44px;min-width:44px;height:44px}@supports (color:color-mix(in lab,red,red)){.more-tile-icon{background:color-mix(in srgb,var(--tile-accent,var(--olive-700))10%,transparent)}}.more-tile-icon{color:var(--tile-accent,var(--olive-700));justify-content:center;align-items:center;display:flex}.more-tile-icon svg{width:22px;height:22px}.more-tile-content{flex-direction:column;flex:1;gap:2px;display:flex}.more-tile-content strong{color:var(--text);font-size:1rem;font-weight:600}.more-tile-content span{color:var(--muted);font-size:.88rem;line-height:1.3}.more-tile-chevron{width:18px;height:18px;color:var(--muted);opacity:.5;flex-shrink:0}.more-emergency{margin-top:auto;padding-top:12px}.more-emergency-btn{border-radius:var(--radius-md);width:100%;color:var(--danger);cursor:pointer;transition:background .15s var(--ease);background:#fff5f5;border:1px solid #ff3b3026;justify-content:center;align-items:center;gap:8px;padding:14px;font-size:.95rem;font-weight:600;text-decoration:none;display:flex}.more-emergency-btn:hover{background:#ffeded}.more-emergency-btn svg{width:18px;height:18px}@keyframes moreFadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.voice-settings-page{gap:0}.voice-settings-page .page-title{margin-bottom:12px}.voice-toast{z-index:10;background:var(--olive-700);color:#fff;border-radius:var(--radius-md);text-align:center;animation:moreFadeUp .25s var(--ease)both;margin-bottom:12px;padding:10px 16px;font-size:.88rem;font-weight:500;position:sticky;top:0}.voice-test-btn{background:var(--olive-700);justify-content:center;align-items:center;gap:10px;width:100%;margin-bottom:16px;padding:14px;display:flex}@supports (color:color-mix(in lab,red,red)){.voice-test-btn{background:color-mix(in srgb,var(--olive-700)8%,white)}}.voice-test-btn{border:1.5px solid var(--olive-700)}@supports (color:color-mix(in lab,red,red)){.voice-test-btn{border:1.5px solid color-mix(in srgb,var(--olive-700)25%,transparent)}}.voice-test-btn{border-radius:var(--radius-md);color:var(--olive-700);cursor:pointer;transition:background .15s var(--ease),border-color .15s var(--ease);font-size:.95rem;font-weight:600}.voice-test-btn:hover{background:var(--olive-700)}@supports (color:color-mix(in lab,red,red)){.voice-test-btn:hover{background:color-mix(in srgb,var(--olive-700)14%,white)}}.voice-test-btn:hover{border-color:var(--olive-700)}.voice-test-btn:disabled{opacity:.6;cursor:not-allowed}.voice-loading{color:var(--muted);flex-direction:column;align-items:center;gap:8px;padding:32px 16px;font-size:.9rem;display:flex}.voice-empty-card{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:32px 20px;display:flex}.voice-empty-card p{color:var(--text);margin:0;font-size:1rem;font-weight:600}.voice-empty-card span{color:var(--muted);font-size:.92rem;line-height:1.4}.voice-section{margin-bottom:8px}.voice-section-title{color:var(--olive-700);align-items:center;gap:8px;margin-bottom:8px;padding-left:2px;font-size:.9rem;font-weight:600;display:flex}.voice-list{flex-direction:column;gap:6px;display:flex}.voice-card{background:var(--card);border:2px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:border-color .15s var(--ease),background .15s var(--ease);animation:moreFadeUp .35s var(--ease)both;align-items:center;gap:12px;padding:12px 14px;display:flex}.voice-card:hover{border-color:var(--olive-700)}@supports (color:color-mix(in lab,red,red)){.voice-card:hover{border-color:color-mix(in srgb,var(--olive-700)40%,transparent)}}.voice-card.selected{border-color:var(--olive-700);background:var(--olive-700)}@supports (color:color-mix(in lab,red,red)){.voice-card.selected{background:color-mix(in srgb,var(--olive-700)5%,white)}}.voice-card-radio{border:2px solid var(--sage-400);width:20px;min-width:20px;height:20px;transition:border-color .15s var(--ease);border-radius:50%;justify-content:center;align-items:center;display:flex}.voice-card.selected .voice-card-radio{border-color:var(--olive-700)}.voice-card-radio-inner{width:10px;height:10px;transition:background .15s var(--ease);background:0 0;border-radius:50%}.voice-card.selected .voice-card-radio-inner{background:var(--olive-700)}.voice-card-info{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.voice-card-info strong{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:.92rem;font-weight:600;overflow:hidden}.voice-card-badge{color:var(--olive-700);background:var(--olive-700);font-size:.85rem;font-weight:600}@supports (color:color-mix(in lab,red,red)){.voice-card-badge{background:color-mix(in srgb,var(--olive-700)12%,transparent)}}.voice-card-badge{border-radius:10px;flex-shrink:0;padding:2px 8px}.voice-card-actions{flex-shrink:0;gap:4px;display:flex}.voice-card-btn{cursor:pointer;width:32px;height:32px;transition:background .15s var(--ease);background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;display:flex}.voice-card-btn.preview{color:var(--olive-700)}.voice-card-btn.preview:hover,.voice-card-btn.preview.active{background:var(--olive-700)}@supports (color:color-mix(in lab,red,red)){.voice-card-btn.preview:hover,.voice-card-btn.preview.active{background:color-mix(in srgb,var(--olive-700)12%,transparent)}}.voice-card-btn.delete{color:var(--danger)}.voice-card-btn.delete:hover{background:var(--danger)}@supports (color:color-mix(in lab,red,red)){.voice-card-btn.delete:hover{background:color-mix(in srgb,var(--danger)10%,transparent)}}.voice-clone-trigger{background:var(--card);border:2px dashed var(--sage-300);border-radius:var(--radius-md);width:100%;color:var(--olive-700);cursor:pointer;transition:border-color .15s var(--ease),background .15s var(--ease);justify-content:center;align-items:center;gap:10px;padding:14px;font-size:.92rem;font-weight:600;display:flex}.voice-clone-trigger:hover{border-color:var(--olive-700);background:var(--olive-700)}@supports (color:color-mix(in lab,red,red)){.voice-clone-trigger:hover{background:color-mix(in srgb,var(--olive-700)4%,white)}}.voice-clone-form{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);padding:16px}.voice-clone-hint{color:var(--muted);margin-bottom:12px;font-size:.92rem;line-height:1.45}.voice-clone-sample{background:var(--olive-50,#f7f6f0);border-radius:12px;margin-bottom:14px;padding:14px 16px}.voice-clone-sample strong{color:var(--muted);text-transform:uppercase;letter-spacing:.03em;margin-bottom:8px;font-size:.88rem;display:block}.voice-clone-sample blockquote{color:var(--text);border-left:3px solid var(--olive-300,#b5b89a);margin:0;padding-left:12px;font-size:1rem;font-style:italic;line-height:1.55}.voice-clone-label{color:var(--olive-700);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;font-size:.88rem;font-weight:600;display:block}.voice-clone-name-group{border-radius:var(--radius-md);transition:border-color .3s var(--ease),background .3s var(--ease);border:2px solid #0000;margin-bottom:16px;padding:12px}.voice-clone-name-group.highlight{background:#fef2f2;border-color:#e8475f;animation:1.5s ease-in-out infinite voice-pulse-border}@keyframes voice-pulse-border{0%,to{border-color:#e8475f}50%{border-color:#f9a8b4}}.voice-clone-name{border:1.5px solid var(--sage-300);border-radius:var(--radius-md);background:var(--sage-50);width:100%;transition:border-color .15s var(--ease);padding:12px 14px;font-size:1rem}.voice-clone-name-group.highlight .voice-clone-name{border-color:#e8475f}.voice-clone-name:focus{border-color:var(--olive-700);outline:none}.voice-record-area{margin-bottom:12px}.voice-record-btn{border:2px solid var(--sage-300);border-radius:var(--radius-md);background:var(--sage-50);width:100%;color:var(--text);cursor:pointer;transition:all .2s var(--ease);align-items:center;gap:12px;padding:14px 18px;font-size:.95rem;display:flex}.voice-record-btn:hover{border-color:var(--olive-700)}.voice-record-btn.recording{background:#fef2f2;border-color:#e8475f}.voice-record-dot{width:16px;height:16px;transition:transform .2s var(--ease);background:#e8475f;border-radius:50%;flex-shrink:0}.voice-record-btn.recording .voice-record-dot{animation:1s ease-in-out infinite voice-pulse}@keyframes voice-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.3)}}.voice-record-btn:not(.recording) .voice-record-dot{background:var(--muted)}.voice-recorded{border:1.5px solid var(--olive-300,#b5b89a);border-radius:var(--radius-md);background:var(--olive-50,#f7f6f0);color:var(--olive-700);align-items:center;gap:10px;padding:12px 14px;font-size:.9rem;display:flex}.voice-recorded span{flex:1;font-weight:500}.voice-record-hint{color:#e8475f;text-align:center;margin-top:8px;font-size:.88rem;animation:.3s voice-fade-in}@keyframes voice-fade-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.voice-clone-upload{border:1.5px dashed var(--sage-300);border-radius:var(--radius-md);background:var(--sage-50);color:var(--muted);cursor:pointer;transition:border-color .15s var(--ease);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:10px;margin-bottom:12px;padding:12px 14px;font-size:.88rem;display:flex;overflow:hidden}.voice-clone-upload:hover{border-color:var(--olive-700);color:var(--olive-700)}.voice-clone-upload input[type=file]{display:none}.voice-clone-actions{align-items:center;gap:8px;display:flex}.voice-clone-actions .btn-primary{flex:1;justify-content:center;align-items:center;gap:8px;display:flex}.voice-clone-actions .btn-link{padding:10px 16px;font-size:.88rem}.voice-clone-missing{color:#e8475f;text-align:center;margin-top:6px;font-size:.88rem}.agent-assessment-section{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);animation:moreFadeUp .4s var(--ease)both;flex-direction:column;gap:12px;margin:0 16px;padding:16px;display:flex}.agent-assessment-header{color:var(--text);align-items:center;gap:8px;font-size:.95rem;font-weight:600;display:flex}.agent-assessment-header svg{color:var(--olive-600);flex-shrink:0}.agent-tier-badge{text-transform:uppercase;letter-spacing:.5px;border-radius:20px;margin-left:auto;padding:3px 10px;font-size:.92rem;font-weight:700}.agent-tier-badge.tier-robust{color:#34c759;background:#34c7591f}.agent-tier-badge.tier-pre-frail{color:#ff9f0a;background:#ff9f0a1f}.agent-tier-badge.tier-frail{color:#ff453a;background:#ff453a1f}.agent-tier-badge.tier-severely-frail{color:#af1e2d;background:#af1e2d26}.agent-scores-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.agent-score-item{border-radius:var(--radius-sm);background:#00000005;flex-direction:column;align-items:center;gap:2px;padding:8px 4px;display:flex}.agent-score-item strong{color:var(--text);font-size:.9rem}.agent-score-item span{color:var(--muted);text-align:center;font-size:.85rem}.agent-contributing{flex-wrap:wrap;gap:6px;display:flex}.agent-risk-chip{text-transform:capitalize;border-radius:12px;padding:3px 8px;font-size:.88rem;font-weight:500}.agent-risk-chip.risk-low{color:#34c759;background:#34c7591a}.agent-risk-chip.risk-moderate{color:#ff9f0a;background:#ff9f0a1a}.agent-risk-chip.risk-high{color:#ff453a;background:#ff453a1a}.agent-routes{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.agent-routes-label{color:var(--muted);font-size:.88rem;font-weight:500}.agent-route-tag{background:var(--olive-700);border-radius:12px;padding:3px 8px;font-size:.88rem}@supports (color:color-mix(in lab,red,red)){.agent-route-tag{background:color-mix(in srgb,var(--olive-700)10%,transparent)}}.agent-route-tag{color:var(--olive-700);text-transform:capitalize;font-weight:600}.agent-nodes-info{color:var(--muted);opacity:.7;text-align:right;font-size:.88rem}.wearables-page{gap:0}.wearables-page .page-title{padding:1.2rem 1.25rem .5rem}.wearables-page .page-subtitle{color:var(--muted);margin-top:.2rem;font-size:.92rem}.wearable-section-title{color:var(--text);margin-bottom:.75rem;font-size:1rem;font-weight:700}.wearable-connect-section{padding:1rem 1.25rem}.wearable-device-list{flex-direction:column;gap:.6rem;display:flex}.wearable-device-card{background:var(--card-bg);border:1.5px solid var(--border);cursor:pointer;text-align:left;border-radius:14px;align-items:center;gap:.85rem;width:100%;padding:1rem 1.15rem;transition:all .2s;display:flex}.wearable-device-card:hover{border-color:var(--device-color);box-shadow:0 2px 12px #00000014}.wearable-device-icon{font-size:1.8rem}.wearable-device-info{flex:1}.wearable-device-info strong{color:var(--text);font-size:.95rem;display:block}.wearable-device-info span{color:var(--muted);font-size:.85rem}.wearable-device-chevron{width:18px;height:18px;color:var(--muted)}.wearable-status-bar{background:var(--sage-50);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:.65rem 1.25rem;display:flex}.wearable-status-left{align-items:center;gap:.5rem;font-size:.88rem;display:flex}.wearable-status-dot{background:#30d158;border-radius:50%;width:8px;height:8px;box-shadow:0 0 6px #30d15866}.wearable-status-device{color:var(--text);font-weight:600}.wearable-status-time{color:var(--muted);font-size:.88rem}.wearable-status-actions{align-items:center;gap:.5rem;display:flex}.wearable-sync-btn{border:1px solid var(--border);background:var(--card-bg);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;width:44px;height:44px;transition:all .2s;display:flex}.wearable-sync-btn svg{width:16px;height:16px;color:var(--olive-700)}.wearable-sync-btn svg.spinning{animation:1s linear infinite spin}.wearable-disconnect-btn{color:var(--muted);cursor:pointer;background:0 0;border:none;font-size:.88rem;text-decoration:underline}.wearable-loading{color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:.75rem;padding:3rem;font-size:.92rem;display:flex}.wearable-loading-spinner{border:3px solid var(--border);border-top-color:var(--olive-700);border-radius:50%;width:32px;height:32px;animation:.8s linear infinite spin}.wearable-metrics-grid{grid-template-columns:1fr 1fr;gap:.65rem;padding:1rem 1.25rem;display:grid}.wearable-metric-card{background:var(--card-bg);border:1.5px solid var(--border);border-radius:14px;padding:1rem;position:relative;overflow:hidden}.wearable-metric-card:before{content:"";height:3px;position:absolute;top:0;left:0;right:0}.wearable-metric-card.steps:before{background:linear-gradient(90deg,var(--olive-700),var(--sage-600))}.wearable-metric-card.sleep:before{background:linear-gradient(90deg,#5e5ce6,#bf5af2)}.wearable-metric-card.heart:before{background:linear-gradient(90deg,#ff453a,#ff6961)}.wearable-metric-card.mvpa:before{background:linear-gradient(90deg,#ff9f0a,#ffcc02)}.wearable-metric-icon{margin-bottom:.4rem}.wearable-metric-icon svg{width:22px;height:22px}.wearable-metric-card.steps .wearable-metric-icon svg{color:var(--olive-700)}.wearable-metric-card.sleep .wearable-metric-icon svg{color:#5e5ce6}.wearable-metric-card.heart .wearable-metric-icon svg{color:#ff453a}.wearable-metric-card.mvpa .wearable-metric-icon svg{color:#ff9f0a}.wearable-metric-value{color:var(--text);font-size:1.6rem;font-weight:800;line-height:1.1}.wearable-metric-unit{opacity:.6;margin-left:.1rem;font-size:.92rem;font-weight:600}.wearable-metric-label{color:var(--muted);margin-top:.15rem;font-size:.85rem}.wearable-metric-goal{color:var(--muted);opacity:.7;margin-top:.1rem;font-size:.85rem}.wearable-metric-bar{background:var(--border);border-radius:2px;height:4px;margin-top:.6rem;overflow:hidden}.wearable-metric-fill{background:var(--olive-700);border-radius:2px;height:100%;transition:width .6s}.sleep-bar .wearable-metric-fill{background:#5e5ce6}.wearable-alert{background:#fff3e0;border:1.5px solid #ffcc80;border-radius:12px;align-items:flex-start;gap:.75rem;margin:0 1.25rem;padding:.85rem 1rem;display:flex}.wearable-alert svg{color:#ff9800;flex-shrink:0;width:22px;height:22px;margin-top:.1rem}.wearable-alert strong{color:#e65100;font-size:.92rem;display:block}.wearable-alert span{color:#bf360c;font-size:.85rem}.wearable-chart-section{padding:1rem 1.25rem .5rem}.wearable-trend-badge{border-radius:6px;margin-bottom:.75rem;padding:.2rem .55rem;font-size:.88rem;font-weight:600;display:inline-block}.wearable-trend-badge[data-positive=true]{color:#2e7d32;background:#e8f5e9}.wearable-trend-badge[data-positive=false]{color:#c62828;background:#fce4ec}.wearable-sleep-avg{color:var(--muted);margin-bottom:.75rem;font-size:.85rem}.wearable-bar-chart{align-items:flex-end;gap:.35rem;height:140px;padding-bottom:1.5rem;display:flex;position:relative}.wearable-bar-col{opacity:0;flex-direction:column;flex:1;align-items:center;height:100%;animation:.4s forwards bar-in;display:flex}@keyframes bar-in{to{opacity:1}}.wearable-bar-value{color:var(--muted);white-space:nowrap;margin-bottom:.25rem;font-size:.85rem;font-weight:600}.wearable-bar-track{background:var(--sage-100);border-radius:6px 6px 4px 4px;flex:1;align-items:flex-end;width:100%;max-width:28px;display:flex;position:relative;overflow:hidden}.wearable-bar-fill{background:var(--olive-700);border-radius:6px 6px 4px 4px;width:100%;min-height:4px;transition:height .6s}.wearable-bar-fill[data-today=true]{background:linear-gradient(180deg,var(--sage-600),var(--olive-700));box-shadow:0 -2px 8px #5a64404d}.wearable-bar-fill.sleep-fill{background:#5e5ce6}.wearable-bar-fill.sleep-fill[data-low=true]{background:#ff453a}.wearable-bar-label{color:var(--muted);margin-top:.3rem;font-size:.85rem;position:absolute;bottom:-1.3rem}.sleep-chart .wearable-bar-fill{background:#5e5ce6}.sleep-chart .wearable-bar-fill[data-low=true]{background:#ff6961}.demo-card{text-align:left}.demo-card h1{margin-bottom:4px}.demo-subtitle{color:var(--muted);margin:0 0 16px;font-size:.95rem}.demo-video-placeholder{border-radius:var(--radius-md);background:var(--cream-50);border:2px dashed var(--border);color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:10px;margin-bottom:16px;padding:28px 16px;font-size:.92rem;font-weight:600;display:flex}.demo-video-placeholder svg{opacity:.4}.demo-video-wrapper{background:var(--olive-50,#f5f5f0);border-radius:12px;width:100%;max-width:360px;margin:0 auto 16px;overflow:hidden}.demo-video{object-fit:contain;width:100%;height:auto;max-height:320px;display:block}.demo-video-wrapper.portrait{max-width:200px}.demo-video-wrapper.portrait .demo-video{max-height:360px}.demo-tips{margin-bottom:20px}.demo-tips h3{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:0 0 10px;font-size:.88rem;font-weight:700}.demo-tips ol{color:var(--text);margin:0;padding-left:22px;font-size:.95rem;line-height:1.7}.demo-tips ol li{margin-bottom:4px;padding-left:4px}.demo-duration{color:var(--muted);margin-top:8px;font-size:.88rem;font-weight:600;display:inline-block}.plan-card{background:var(--card);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);margin-top:16px;overflow:hidden}.plan-content{flex-direction:column;gap:12px;padding:16px 18px 20px;display:flex}.plan-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:12px;display:flex}.plan-title{color:var(--text);margin:0;font-size:1.05rem;font-weight:700}.plan-freq{color:var(--olive-600);background:var(--olive-50);white-space:nowrap;border-radius:999px;padding:3px 10px;font-size:.88rem;font-weight:600}.plan-desc{color:var(--muted);margin:0;font-size:.92rem;line-height:1.5}.plan-exercises{flex-wrap:wrap;gap:8px;display:flex}.plan-exercise-chip{color:var(--olive-700);background:var(--cream-100);border-radius:var(--radius-sm);padding:5px 12px;font-size:.88rem;font-weight:600;display:inline-block}.plan-notes{background:var(--accent-soft);border-radius:var(--radius-sm);color:var(--olive-800);align-items:flex-start;gap:8px;padding:10px 14px;font-size:.9rem;line-height:1.45;display:flex}.plan-notes svg{flex-shrink:0;margin-top:2px}.sleep-page{gap:0}.sleep-subtitle{color:var(--muted);margin-top:2px;font-size:.9rem}.sleep-loading{color:var(--muted);flex-direction:column;align-items:center;gap:12px;padding:48px 0;display:flex}.sleep-spinner{border:3px solid var(--border);border-top-color:var(--olive-600);border-radius:50%;width:32px;height:32px;animation:.7s linear infinite spin}.sleep-spinner.small{border-width:2px;width:18px;height:18px}.sleep-risk-cards{animation:moreFadeUp .4s var(--ease)both;flex-wrap:wrap;gap:10px;margin-bottom:16px;display:flex}.sleep-risk-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);flex:1;align-items:center;gap:10px;min-width:130px;padding:14px;display:flex}.sleep-risk-icon{background:var(--risk-color,var(--muted));border-radius:10px;width:36px;min-width:36px;height:36px}@supports (color:color-mix(in lab,red,red)){.sleep-risk-icon{background:color-mix(in srgb,var(--risk-color,var(--muted))10%,transparent)}}.sleep-risk-icon{color:var(--risk-color,var(--muted));justify-content:center;align-items:center;display:flex}.sleep-risk-icon svg{width:20px;height:20px}.sleep-risk-info{flex-direction:column;gap:1px;display:flex}.sleep-risk-label{color:var(--muted);font-size:.85rem}.sleep-risk-info strong{font-size:.95rem;font-weight:600}.sleep-streak-badge{border-radius:var(--radius-md);color:var(--text);background:linear-gradient(135deg,#fff8f0,#fff3e6);border:1px solid #ff9f0a26;align-items:center;gap:6px;padding:8px 14px;font-size:.88rem;font-weight:600;display:flex}.sleep-streak-badge svg{width:20px;height:20px}.sleep-plan-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);animation:moreFadeUp .4s var(--ease).1s both;margin-bottom:16px;padding:18px}.sleep-plan-card h2{color:var(--text);margin-bottom:10px;font-size:1.05rem;font-weight:700}.sleep-plan-content{color:var(--text);white-space:pre-wrap;font-size:.9rem;line-height:1.6}.sleep-advice-section{animation:moreFadeUp .4s var(--ease).15s both;margin-bottom:16px}.sleep-advice-btn{background:var(--olive-700);color:#fff;border-radius:var(--radius-md);cursor:pointer;width:100%;transition:background .15s var(--ease),transform .1s var(--ease);border:none;justify-content:center;align-items:center;gap:10px;padding:16px;font-size:1rem;font-weight:600;display:flex}.sleep-advice-btn:hover:not(:disabled){background:var(--olive-800)}.sleep-advice-btn:active:not(:disabled){transform:scale(.98)}.sleep-advice-btn:disabled{opacity:.7;cursor:not-allowed}.sleep-advice-btn svg{width:20px;height:20px}.sleep-advice-result{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);animation:moreFadeUp .3s var(--ease)both;margin-top:14px;padding:18px}.sleep-advice-text{color:var(--text);white-space:pre-wrap;font-size:.9rem;line-height:1.7}.sleep-tips{animation:moreFadeUp .4s var(--ease).2s both;margin-bottom:16px}.sleep-tips h2{color:var(--text);margin-bottom:10px;font-size:1.05rem;font-weight:700}.sleep-tips-list{flex-direction:column;gap:8px;display:flex}.sleep-tip-item{background:var(--card);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text);align-items:flex-start;gap:10px;padding:14px;font-size:.9rem;line-height:1.4;display:flex}.sleep-tip-icon{flex-shrink:0;margin-top:1px;font-size:1.2rem}.sleep-chat-link{background:var(--accent-soft);width:100%;color:var(--olive-700);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:background .15s var(--ease);animation:moreFadeUp .4s var(--ease).25s both;justify-content:center;align-items:center;gap:8px;margin-bottom:20px;padding:14px;font-size:.92rem;font-weight:600;display:flex}.sleep-chat-link:hover{background:var(--accent-soft)}@supports (color:color-mix(in lab,red,red)){.sleep-chat-link:hover{background:color-mix(in srgb,var(--accent-soft)80%,var(--olive-300))}}.sleep-chat-link svg{width:18px;height:18px}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.shimmer{background:linear-gradient(90deg,var(--border)25%,var(--cream-100)50%,var(--border)75%);background-size:200% 100%;animation:1.5s ease-in-out infinite shimmer}.skeleton-container{flex-direction:column;flex:1;gap:16px;padding:20px;display:flex}.skeleton-page{padding-top:24px}.skeleton-chat-row{align-items:flex-start;gap:12px;display:flex}.skeleton-avatar{border-radius:50%;flex-shrink:0;width:36px;height:36px}.skeleton-lines{flex-direction:column;flex:1;gap:8px;display:flex}.skeleton-line{border-radius:6px;height:12px}.skeleton-card{border-radius:var(--radius-md);background:var(--card);box-shadow:var(--shadow-sm);flex-direction:column;gap:10px;padding:20px;display:flex}@keyframes toastSlideIn{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}.toast-container{z-index:500;pointer-events:none;flex-direction:column;gap:8px;width:calc(100% - 32px);max-width:380px;display:flex;position:fixed;top:16px;left:50%;transform:translate(-50%)}.toast{border-radius:var(--radius-sm);background:var(--card);box-shadow:var(--shadow-lg);border-left:4px solid var(--muted);animation:toastSlideIn .3s var(--ease);pointer-events:auto;align-items:center;gap:10px;padding:12px 16px;display:flex}.toast-success{border-left-color:var(--green)}.toast-error{border-left-color:var(--danger)}.toast-info{border-left-color:var(--blue)}.toast-icon{color:#fff;background:var(--muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:.85rem;font-weight:700;display:flex}.toast-success .toast-icon{background:var(--green)}.toast-error .toast-icon{background:var(--danger)}.toast-info .toast-icon{background:var(--blue)}.toast-message{color:var(--text);flex:1;font-size:.92rem;font-weight:500}.toast-close{color:var(--muted);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:1.2rem;line-height:1}.empty-state{text-align:center;animation:encourageSlideUp .5s var(--ease);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;padding:40px 20px;display:flex}.empty-state .mascot{margin-bottom:8px}.empty-state-title{color:var(--text);margin:0;font-size:1.15rem;font-weight:700}.empty-state-message{color:var(--muted);max-width:280px;margin:0 0 8px;font-size:.95rem;line-height:1.5}@keyframes pageEnter{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.page-transition{min-height:0;animation:pageEnter .3s var(--ease);flex-direction:column;flex:1;display:flex}.landing{background:linear-gradient(170deg,var(--cream-50)0%,#e8e4df 40%,var(--olive-100)100%);flex-direction:column;min-height:100dvh;display:flex;overflow-x:hidden}.landing-hero{text-align:center;flex-direction:column;align-items:center;padding:60px 24px 40px;display:flex;position:relative;overflow:hidden}.landing-hero-bg{pointer-events:none;background:radial-gradient(circle,#5c6b4f1f,#0000 70%);border-radius:50%;width:320px;height:320px;position:absolute;top:-120px;right:-80px}.landing-hero-content{z-index:1;flex-direction:column;align-items:center;gap:16px;max-width:420px;display:flex;position:relative}.landing-logo{align-items:center;gap:10px;margin-bottom:8px;display:flex}.landing-logo-icon{width:36px;height:36px}.landing-logo-text{color:var(--olive-900);letter-spacing:-.02em;font-size:1.4rem;font-weight:800}.landing-title{color:var(--olive-900);letter-spacing:-.02em;margin:8px 0 0;font-size:1.75rem;font-weight:800;line-height:1.2}.landing-subtitle{color:var(--muted);max-width:340px;font-size:1.05rem;line-height:1.5}.landing-cta{background:var(--olive-800);color:#fff;cursor:pointer;border:none;border-radius:16px;justify-content:center;align-items:center;min-height:56px;margin-top:8px;padding:16px 40px;font-size:1.1rem;font-weight:700;transition:all .2s;display:inline-flex;box-shadow:0 4px 16px #5c6b4f4d}.landing-cta:hover{background:var(--olive-900);transform:translateY(-1px);box-shadow:0 6px 24px #5c6b4f66}.landing-cta:active{transform:translateY(0)}.landing-free{color:var(--muted);opacity:.7;font-size:.88rem}.landing-features{grid-template-columns:1fr 1fr;gap:16px;max-width:500px;margin:0 auto;padding:0 24px 32px;display:grid}.landing-feature{background:#fff;border:1px solid #0000000a;border-radius:16px;flex-direction:column;gap:8px;padding:20px 16px;display:flex;box-shadow:0 2px 8px #0000000a}.landing-feature-icon{background:var(--olive-50);width:44px;height:44px;color:var(--olive-700);border-radius:12px;justify-content:center;align-items:center;display:flex}.landing-feature h3{color:var(--olive-900);margin:0;font-size:.95rem;font-weight:700;line-height:1.3}.landing-feature p{color:var(--muted);margin:0;font-size:.85rem;line-height:1.4}.landing-trust{text-align:center;padding:24px}.landing-trust>p{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:0 0 12px;font-size:.85rem;font-weight:600}.landing-trust-items{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.landing-trust-items span{background:var(--olive-50);color:var(--olive-700);border-radius:999px;padding:6px 14px;font-size:.85rem;font-weight:600}.landing-bottom{text-align:center;padding:0 24px 48px}@media(max-width:400px){.landing-features{grid-template-columns:1fr;padding:0 20px 24px}.landing-title{font-size:1.5rem}.landing-hero{padding:48px 20px 32px}}@media(prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@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-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@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}
