@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";:root{--font-primary: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", system-ui, sans-serif;--font-mono: "SF Mono", Monaco, "Cascadia Code", "Roboto Mono", Consolas, "Courier New", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 2rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.2;--line-height-snug: 1.3;--line-height-normal: 1.4;--line-height-relaxed: 1.5;--mobile-font-size-hero: 2.5rem;--mobile-font-size-display: var(--font-size-3xl);--mobile-font-size-title-lg: var(--font-size-2xl);--mobile-font-size-title-md: var(--font-size-xl);--mobile-font-size-title-sm: var(--font-size-lg);--mobile-font-size-body: var(--font-size-base);--mobile-font-size-body-sm: var(--font-size-sm);--mobile-font-size-caption: var(--font-size-xs);--mobile-font-weight-title: var(--font-weight-bold);--mobile-font-weight-section: var(--font-weight-semibold);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--spacing-1: var(--space-1);--spacing-2: var(--space-2);--spacing-3: var(--space-3);--spacing-4: var(--space-4);--spacing-5: var(--space-5);--spacing-6: var(--space-6);--spacing-8: var(--space-8);--spacing-10: var(--space-10);--spacing-12: var(--space-12);--spacing-16: var(--space-16);--mobile-container-padding: var(--mobile-container-padding-sides);--mobile-container-padding-top: var(--space-5);--mobile-container-padding-sides: var(--space-4);--mobile-container-padding-sides-mobile: var(--space-3);--mobile-container-padding-bottom: var(--space-4);--mobile-section-spacing-lg: var(--space-6);--mobile-section-spacing-md: var(--space-5);--mobile-section-spacing-sm: var(--space-4);--mobile-element-spacing: var(--space-2);--mobile-title-margin-bottom: var(--space-2);--mobile-header-margin-bottom: var(--space-6);--mobile-subtitle-margin-top: var(--space-1);--mobile-touch-target-min: 44px;--mobile-button-padding: var(--space-3) var(--space-4);--touch-target-min: 44px;--touch-target-min-compact: 32px;--button-height-mobile: var(--touch-target-min, 44px);--button-height-desktop: 40px;--button-height-large: 48px;--button-height-compact: var(--touch-target-min-compact, 32px);--button-padding-mobile: 12px 16px;--button-padding-desktop: 8px 16px;--button-padding-large: 14px 20px;--button-padding-compact: 8px 12px;--icon-size-mobile: 20px;--icon-size-desktop: 16px;--icon-spacing: 8px;--button-font-size-mobile: 16px;--button-font-size-desktop: 14px;--button-font-size-large: 16px;--button-font-size-compact: 14px;--button-font-weight: 600;--button-border-radius: 8px;--button-transition-duration: .2s;--button-transition-easing: ease-out;--mobile-nav-bar-height: 44px;--tab-header-height: 140px;--subtab-bar-height: 60px;--subtab-indicator-height: 3px;--card-padding: var(--space-5);--card-border-radius: var(--border-radius-lg);--component-spacing-xs: var(--space-2);--component-spacing-sm: var(--space-3);--component-spacing-md: var(--space-4);--component-spacing-lg: var(--space-6);--text-margin-bottom: var(--space-1);--title-margin-bottom: var(--space-2);--ios-font-size-hero: var(--mobile-font-size-hero);--ios-font-size-display: var(--mobile-font-size-display);--ios-font-size-title-lg: var(--mobile-font-size-title-lg);--ios-font-size-title-md: var(--mobile-font-size-title-md);--ios-font-size-title-sm: var(--mobile-font-size-title-sm);--ios-font-size-body: var(--mobile-font-size-body);--ios-font-size-body-sm: var(--mobile-font-size-body-sm);--ios-font-size-caption: var(--mobile-font-size-caption);--ios-font-weight-title: var(--mobile-font-weight-title);--ios-font-weight-section: var(--mobile-font-weight-section);--ios-container-padding-top: var(--mobile-container-padding-top);--ios-container-padding-sides: var(--mobile-container-padding-sides);--ios-container-padding-sides-mobile: var(--mobile-container-padding-sides-mobile);--ios-container-padding-bottom: var(--mobile-container-padding-bottom);--ios-section-spacing-lg: var(--mobile-section-spacing-lg);--ios-section-spacing-md: var(--mobile-section-spacing-md);--ios-section-spacing-sm: var(--mobile-section-spacing-sm);--ios-element-spacing: var(--mobile-element-spacing);--ios-title-margin-bottom: var(--mobile-title-margin-bottom);--ios-header-margin-bottom: var(--mobile-header-margin-bottom);--ios-subtitle-margin-top: var(--mobile-subtitle-margin-top);--ios-touch-target-min: var(--mobile-touch-target-min);--ios-tab-header-height: var(--tab-header-height);--ios-subtab-bar-height: var(--subtab-bar-height);--ios-subtab-active-indicator-height: var(--subtab-indicator-height);--ios-card-padding: var(--card-padding);--ios-card-border-radius: var(--card-border-radius);--ios-modal-padding: var(--space-5);--ios-modal-header-padding: var(--space-5) var(--space-6) var(--space-4) var(--space-6);--ios-modal-body-padding: 0 var(--space-6) var(--space-6) var(--space-6);--ios-icon-size-sm: 16px;--ios-icon-size-md: 20px;--ios-icon-size-lg: 24px;--border-radius-sm: 8px;--border-radius-md: 10px;--border-radius-lg: 12px;--border-radius-xl: 14px;--border-radius-full: 9999px;--radius-sm: var(--border-radius-sm);--radius-md: var(--border-radius-md);--radius-lg: var(--border-radius-lg);--radius-xl: var(--border-radius-xl);--radius-full: var(--border-radius-full);--border-width-thin: 1px;--border-width-medium: 2px;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 2px 8px rgba(0, 0, 0, .1);--shadow-lg: 0 4px 16px rgba(0, 0, 0, .15);--duration-fast: .15s;--duration-normal: .2s;--duration-slow: .3s;--duration-slower: .4s;--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--z-modal: 1000;--z-dropdown: 900;--z-tooltip: 800;--z-sticky: 100;--breakpoint-sm: 480px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px}@supports (padding: max(0px)){:root{--mobile-safe-area-top: env(safe-area-inset-top, 0);--mobile-safe-area-bottom: env(safe-area-inset-bottom, 0);--mobile-safe-area-left: env(safe-area-inset-left, 0);--mobile-safe-area-right: env(safe-area-inset-right, 0)}}.mobile-flex-row{display:flex;flex-direction:row}.mobile-flex-column{display:flex;flex-direction:column}.mobile-flex-center{align-items:center;justify-content:center}.mobile-flex-between{justify-content:space-between}.mobile-flex-start{justify-content:flex-start;align-items:flex-start}.mobile-flex-end{justify-content:flex-end;align-items:flex-end}.mobile-title-hero{font-family:var(--font-primary);font-size:var(--mobile-font-size-hero);font-weight:var(--mobile-font-weight-title);line-height:var(--line-height-tight);color:var(--text-primary)}.mobile-title-display{font-family:var(--font-primary);font-size:var(--mobile-font-size-display);font-weight:var(--mobile-font-weight-title);line-height:var(--line-height-tight);color:var(--text-primary)}.mobile-title-large{font-family:var(--font-primary);font-size:var(--mobile-font-size-title-lg);font-weight:var(--mobile-font-weight-title);line-height:var(--line-height-snug);color:var(--text-primary)}.mobile-title-medium{font-family:var(--font-primary);font-size:var(--mobile-font-size-title-md);font-weight:var(--mobile-font-weight-section);line-height:var(--line-height-normal);color:var(--text-primary)}.mobile-title-small{font-family:var(--font-primary);font-size:var(--mobile-font-size-title-sm);font-weight:var(--mobile-font-weight-section);line-height:var(--line-height-normal);color:var(--text-primary)}.mobile-body{font-family:var(--font-primary);font-size:var(--mobile-font-size-body);font-weight:var(--font-weight-normal);line-height:var(--line-height-relaxed);color:var(--text-primary)}.mobile-body-small{font-family:var(--font-primary);font-size:var(--mobile-font-size-body-sm);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);color:var(--text-primary)}.mobile-caption{font-family:var(--font-primary);font-size:var(--mobile-font-size-caption);font-weight:var(--font-weight-normal);line-height:var(--line-height-snug);color:var(--text-secondary)}.mobile-container{padding:calc(var(--mobile-container-padding-top) + var(--mobile-safe-area-top, 0)) var(--mobile-container-padding-sides) calc(var(--mobile-container-padding-bottom) + var(--mobile-safe-area-bottom, 0)) var(--mobile-container-padding-sides);max-width:100%}@media(max-width:480px){.mobile-container{padding:calc(var(--mobile-container-padding-top) + var(--mobile-safe-area-top, 0)) var(--mobile-container-padding-sides-mobile) calc(var(--mobile-container-padding-bottom) + var(--mobile-safe-area-bottom, 0)) var(--mobile-container-padding-sides-mobile)}}.mobile-button{display:inline-flex;align-items:center;justify-content:center;padding:var(--mobile-button-padding);background:var(--cta-primary);color:#fff;border:var(--border-width-thin) solid var(--cta-primary);border-radius:var(--border-radius-md);font-family:var(--font-primary);font-size:var(--mobile-font-size-body-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--duration-normal) var(--ease-out);min-height:var(--mobile-touch-target-min);text-decoration:none}.mobile-button:hover{background:var(--cta-primary);transform:translateY(-1px);box-shadow:var(--shadow-md)}.mobile-button:active{transform:translateY(0)}.mobile-page-header-centered{margin-bottom:var(--mobile-header-margin-bottom);text-align:center}.mobile-page-header-flex{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--mobile-element-spacing);margin-bottom:var(--mobile-header-margin-bottom)}.mobile-page-title{margin:0 0 var(--mobile-title-margin-bottom) 0;font-size:var(--mobile-font-size-title-lg);font-weight:var(--mobile-font-weight-title);color:var(--text-primary)}.mobile-page-subtitle{margin:var(--mobile-subtitle-margin-top) 0 0 0;font-size:var(--mobile-font-size-body-sm);color:var(--text-secondary)}.mobile-section-container{margin-bottom:var(--mobile-section-spacing-lg)}.mobile-section-container:last-child{margin-bottom:var(--mobile-section-spacing-md)}.mobile-section-title{margin:0 0 var(--mobile-title-margin-bottom) 0;font-size:var(--mobile-font-size-title-md);font-weight:var(--mobile-font-weight-section);color:var(--text-primary)}.mobile-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-8) var(--space-4);text-align:center}.mobile-error{color:var(--accent-orange);font-size:var(--mobile-font-size-body-sm);margin-top:var(--mobile-element-spacing)}.mobile-success{color:var(--score-excellent);font-weight:var(--font-weight-medium)}.mobile-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--space-12) var(--space-4);color:var(--text-secondary)}.mobile-empty-title{font-size:var(--mobile-font-size-title-sm);font-weight:var(--mobile-font-weight-section);color:var(--text-primary);margin-bottom:var(--mobile-element-spacing)}.mobile-empty-message{font-size:var(--mobile-font-size-body-sm);margin-bottom:var(--space-6)}.mobile-modal-overlay{position:fixed;inset:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--mobile-container-padding-top)}.mobile-modal-header{padding:var(--mobile-container-padding-top) var(--space-6) var(--space-4) var(--space-6);border-bottom:var(--border-width-thin) solid var(--border-color)}.mobile-modal-body{padding:0 var(--space-6) var(--space-6) var(--space-6);overflow-y:auto;flex:1}.mobile-touch-target{min-height:var(--mobile-touch-target-min);min-width:var(--mobile-touch-target-min)}.mobile-interactive{cursor:pointer;transition:all var(--duration-normal) var(--ease-out)}.mobile-interactive:hover{transform:translateY(-1px)}.mobile-interactive:active{transform:translateY(0)}.mobile-scroll{overflow-y:auto;-webkit-overflow-scrolling:touch}.mobile-scroll-x{overflow-x:auto;-webkit-overflow-scrolling:touch}.mobile-padding-xs{padding:var(--space-1)}.mobile-padding-sm{padding:var(--space-2)}.mobile-padding-md{padding:var(--space-4)}.mobile-padding-lg{padding:var(--space-6)}.mobile-padding-xl{padding:var(--space-8)}.mobile-margin-xs{margin:var(--space-1)}.mobile-margin-sm{margin:var(--space-2)}.mobile-margin-md{margin:var(--space-4)}.mobile-margin-lg{margin:var(--space-6)}.mobile-margin-xl{margin:var(--space-8)}.mobile-gap-xs{gap:var(--space-1)}.mobile-gap-sm{gap:var(--space-2)}.mobile-gap-md{gap:var(--space-4)}.mobile-gap-lg{gap:var(--space-6)}.mobile-gap-xl{gap:var(--space-8)}:root{--ios-tab-container-padding: calc(var(--ios-container-padding-top) + var(--ios-safe-area-top)) var(--ios-container-padding-sides) calc(var(--ios-container-padding-bottom) + var(--ios-safe-area-bottom)) var(--ios-container-padding-sides);--ios-subtab-bar-height: var(--subtab-bar-height, 60px);--ios-subtab-content-padding: var(--space-4);--ios-subtab-item-padding: var(--space-3) var(--space-2);--ios-tab-header-height: var(--tab-header-height, 140px);--ios-tab-header-margin-bottom: var(--ios-header-margin-bottom);--ios-view-container-padding: var(--ios-view-content-padding, var(--space-4));--ios-stack-view-padding: 0;--ios-subtab-active-indicator-height: var(--subtab-indicator-height, 3px);--ios-subtab-transition-duration: var(--duration-normal)}.ios-tab-header-container{margin-bottom:var(--ios-tab-header-margin-bottom)}.ios-tab-header{text-align:center;display:flex;flex-direction:column;justify-content:flex-start}.ios-subtab-bar{display:flex;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:10;height:var(--ios-subtab-bar-height)}.ios-subtab-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--ios-subtab-item-padding);background:transparent;border:none;color:var(--text-secondary);transition:all var(--ios-subtab-transition-duration) ease;min-height:var(--ios-subtab-bar-height);cursor:pointer}.ios-subtab-item:hover{background:var(--bg-tertiary)}.ios-subtab-item.active{color:var(--accent-green);background:var(--bg-primary);border-bottom:var(--ios-subtab-active-indicator-height) solid var(--accent-green)}@media(prefers-color-scheme:dark){.ios-subtab-bar{background:var(--bg-secondary);border-color:var(--border-color)}.ios-subtab-item.active{background:var(--bg-primary)}}.mobile-btn-primary{background:var(--cta-primary);color:#fff;border-color:var(--cta-primary)}.mobile-btn-secondary{background:transparent;color:var(--text-primary);border-color:var(--border-color)}.mobile-input{width:100%;padding:var(--mobile-element-spacing) var(--space-4);border:var(--border-width-thin) solid var(--border-color);border-radius:var(--border-radius-md);background:var(--bg-secondary);color:var(--text-primary);font-family:var(--font-primary);font-size:var(--mobile-font-size-body);transition:all var(--duration-normal) var(--ease-out)}.mobile-input:focus{outline:none;border-color:var(--cta-primary);box-shadow:0 0 0 3px #2ec4b61a}.mobile-page-wrapper{min-height:100vh;background:var(--bg-primary);color:var(--text-primary)}.mobile-page-header{padding:var(--mobile-container-padding-top) var(--mobile-container-padding-sides) 0 var(--mobile-container-padding-sides)}.mobile-page-content{padding:0 var(--mobile-container-padding-sides) var(--mobile-container-padding-bottom) var(--mobile-container-padding-sides)}.mobile-back-button{background:none;border:none;color:var(--text-primary);font-size:var(--mobile-font-size-title-lg);cursor:pointer;padding:var(--mobile-element-spacing);border-radius:var(--border-radius-md);min-width:var(--mobile-touch-target-min);min-height:var(--mobile-touch-target-min);display:flex;align-items:center;justify-content:center;transition:all var(--duration-normal) var(--ease-out)}.mobile-back-button:hover{background:var(--bg-secondary)}.mobile-form-group{margin-bottom:var(--mobile-element-spacing)}.mobile-label{display:block;margin-bottom:var(--space-1);font-size:var(--mobile-font-size-body-sm);font-weight:var(--font-weight-medium);color:var(--text-primary)}.mobile-list-item{padding:var(--mobile-element-spacing) 0;border-bottom:var(--border-width-thin) solid var(--border-color)}.mobile-list-item:last-child{border-bottom:none}.mobile-icon{display:inline-flex;align-items:center;justify-content:center}.mobile-icon-sm{width:16px;height:16px;font-size:16px}.mobile-icon-md{width:24px;height:24px;font-size:24px}.mobile-icon-lg{width:32px;height:32px;font-size:32px}@media(max-width:480px){.mobile-page-header{padding:var(--mobile-container-padding-top) var(--mobile-container-padding-sides-mobile) 0 var(--mobile-container-padding-sides-mobile)}.mobile-page-content{padding:0 var(--mobile-container-padding-sides-mobile) var(--mobile-container-padding-bottom) var(--mobile-container-padding-sides-mobile)}.mobile-input{font-size:var(--mobile-font-size-body)}}[data-platform=ios-app] .mobile-input{-webkit-appearance:none;border-radius:8px}@media(prefers-reduced-motion:reduce){.mobile-button,.mobile-interactive,.mobile-back-button{transition:none}.mobile-button:hover,.mobile-interactive:hover{transform:none}}@media(prefers-contrast:high){.mobile-card,.mobile-input{border-width:2px}}@supports (-webkit-touch-callout: none){button,a,input,select,textarea{-webkit-tap-highlight-color:rgba(46,196,182,.2)}button{-webkit-user-select:none;user-select:none}*{-webkit-overflow-scrolling:touch}}@media(max-width:768px){body{font-size:var(--mobile-font-size-body)}.app-container,.App{padding:calc(var(--mobile-container-padding-top) + var(--mobile-safe-area-top, 0)) var(--mobile-container-padding-sides) calc(var(--mobile-container-padding-bottom) + var(--mobile-safe-area-bottom, 0)) var(--mobile-container-padding-sides);max-width:100%;min-height:100vh;min-height:-webkit-fill-available;width:100%;margin:0}[data-platform=mobile-web] .app-container,[data-platform=mobile-web] .App{min-height:auto}button,a.btn,.btn{min-height:var(--mobile-touch-target-min);padding:var(--mobile-button-padding)}h1{font-size:var(--mobile-font-size-hero)}h2{font-size:var(--mobile-font-size-title-lg)}h3{font-size:var(--mobile-font-size-title-md)}}[data-platform=ios-app] body{font-size:var(--mobile-font-size-body)}[data-platform=ios-app] .app-container,[data-platform=ios-app] .App{padding:calc(var(--mobile-container-padding-top) + var(--mobile-safe-area-top, 0)) var(--mobile-container-padding-sides) calc(var(--ios-container-padding-bottom) + var(--mobile-safe-area-bottom, 0)) var(--mobile-container-padding-sides);max-width:100%;min-height:100vh;min-height:-webkit-fill-available;width:100%;margin:0}[data-platform=ios-app] button,[data-platform=ios-app] a.btn,[data-platform=ios-app] .btn{min-height:var(--mobile-touch-target-min);padding:var(--mobile-button-padding)}[data-platform=ios-app] h1{font-size:var(--mobile-font-size-hero)}[data-platform=ios-app] h2{font-size:var(--mobile-font-size-title-lg)}[data-platform=ios-app] h3{font-size:var(--mobile-font-size-title-md)}[data-platform=mobile-web] .page-header{width:100%;flex-direction:column;align-items:flex-start;gap:8px}[data-platform=mobile-web] .app-header{font-size:clamp(1rem,5.5vw,2rem);line-height:1.3;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-grow:0;order:2}[data-platform=mobile-web] .page-header--anonymous .header-actions{order:-1;width:100%;justify-content:flex-end;margin-left:0}[data-platform=mobile-web] .page-header--authenticated{flex-direction:column;flex-wrap:wrap;align-items:flex-start;gap:8px}[data-platform=mobile-web] .page-header--authenticated .header-actions{order:-1;width:100%;justify-content:flex-end;margin-left:0}[data-platform=mobile-web] .page-header--authenticated .app-header{overflow:hidden;text-overflow:ellipsis;flex-grow:0;order:2}[data-platform=mobile-web] .page-header--authenticated .profile-menu,[data-platform=mobile-web] .page-header--authenticated .header-cta{width:auto}[data-platform=mobile-web] .page-header--authenticated .header-cta__label{display:none}@media(max-width:768px){.skeleton-upload-area{min-height:80px;padding:20px 12px;width:100%;align-items:center;display:flex;flex-direction:column;justify-content:center}.skeleton-upload-content{align-items:stretch;gap:12px;width:100%}.skeleton-upload-file-info{min-height:32px;width:100%;box-sizing:border-box}.skeleton-upload-label{width:auto;margin:0 auto;justify-content:center}.skeleton-upload-text-desktop{display:none}.skeleton-upload-text-mobile{display:inline}.skeleton-upload-guidance{display:none}}[data-platform=mobile-web] .page-header--authenticated .profile-menu,[data-platform=mobile-web] .app-header-wrapper .profile-menu{margin-left:0}.profile-menu .profile-trigger{width:auto;max-width:100%}.profile-menu .menu-list{width:min(220px,80vw)}@media(max-width:768px){form{width:100%}form input,form textarea,form select{width:100%;font-size:1rem}}@media(max-width:768px){.footer-content{flex-direction:column;gap:4px}}@media(max-width:768px){.dashboard-recent-header{flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:16px}.dashboard-recent-header h3{font-size:1.1rem;margin:0}.dashboard-view-all-link{font-size:.85rem;align-self:flex-end}[data-platform=mobile-web] .dashboard-quick-stats{grid-template-columns:repeat(3,1fr);gap:6px;padding:12px;min-width:0}[data-platform=mobile-web] .dashboard-stat-item{min-width:0;max-width:100%;overflow:hidden}[data-platform=mobile-web] .dashboard-stat-value{font-size:1.1rem;word-break:break-word}[data-platform=mobile-web] .dashboard-stat-label{font-size:.7rem;word-break:break-word}.btn-view-feed{width:100%;padding:14px 20px;font-size:.9rem}.dashboard-feed-description{margin-bottom:16px;font-size:.9rem}}@media(max-width:768px){.post-actions-header{width:100%;justify-content:flex-end;margin-top:8px}.delete-confirm-container{width:100%;justify-content:flex-end;gap:6px}.delete-confirm-text{font-size:.8rem}.delete-confirm-buttons{gap:4px}.delete-confirm-yes,.delete-confirm-cancel{padding:4px 10px;font-size:.8rem;min-width:50px}}@media(max-width:480px){.app-container,.App{padding:calc(var(--space-4) + var(--mobile-safe-area-top, 0)) var(--mobile-container-padding-sides-mobile) calc(var(--mobile-container-padding-bottom) + var(--mobile-safe-area-bottom, 0)) var(--mobile-container-padding-sides-mobile)}.app-header{font-size:var(--mobile-font-size-title-md)}}@media(max-width:360px){.app-container,.App{padding:calc(var(--space-3) + var(--mobile-safe-area-top, 0)) var(--space-3) calc(var(--mobile-container-padding-bottom) + var(--mobile-safe-area-bottom, 0)) var(--space-3)}.app-header{font-size:var(--mobile-font-size-body)}}.toast{min-width:300px;max-width:500px;padding:var(--spacing-3) var(--spacing-4);margin-bottom:var(--spacing-3);border-radius:var(--radius-md);box-shadow:0 4px 12px #00000026;background:var(--card-bg);border:1px solid var(--border-color);animation:slideIn .3s ease-out;transition:opacity .3s ease-out,transform .3s ease-out}.toast-exiting{opacity:0;transform:translate(100%)}@keyframes slideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.toast-content{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-3)}.toast-message{flex:1;color:var(--text-primary);font-size:var(--font-size-sm);line-height:1.4}.toast-close{background:none;border:none;color:var(--text-secondary);font-size:var(--font-size-xl);line-height:1;cursor:pointer;padding:0;width:var(--spacing-5);height:var(--spacing-5);display:flex;align-items:center;justify-content:center;transition:color .2s ease}.toast-close:hover{color:var(--text-primary)}.toast-success{background:var(--accent-green);border-color:var(--accent-green);color:var(--white)}.toast-success .toast-message{color:var(--white)}.toast-success .toast-close{color:#fffc}.toast-success .toast-close:hover{color:var(--white)}.toast-error{background:var(--accent-orange);border-color:var(--accent-orange);color:var(--white)}.toast-error .toast-message{color:var(--white)}.toast-error .toast-close{color:#fffc}.toast-error .toast-close:hover{color:var(--white)}.toast-warning{background:var(--score-warning);border-color:var(--score-warning);color:var(--white)}.toast-warning .toast-message{color:var(--white)}.toast-warning .toast-close{color:#fffc}.toast-warning .toast-close:hover{color:var(--white)}.toast-info{background:var(--card-bg);border-color:var(--accent-blue)}.toast-info .toast-message{color:var(--text-primary)}.toast-container{position:fixed;top:20px;right:20px;z-index:10000;display:flex;flex-direction:column;pointer-events:none}.toast-container .toast{pointer-events:auto}@media(max-width:768px){.toast-container{top:10px;right:10px;left:10px}.toast{min-width:auto;max-width:100%}}@media(min-width:769px){:root{--mobile-font-size-hero: 3rem;--mobile-font-size-display: 2.5rem;--mobile-font-size-title-lg: 1.75rem;--mobile-font-size-title-md: 1.5rem;--mobile-font-size-title-sm: 1.25rem;--mobile-font-size-body: 1rem;--mobile-font-size-body-sm: .9375rem;--mobile-font-size-caption: .8125rem;--mobile-font-weight-title: 700;--mobile-font-weight-section: 600;--mobile-container-padding: 2rem;--mobile-container-padding-top: 2rem;--mobile-container-padding-sides: 2rem;--mobile-container-padding-sides-mobile: 1.5rem;--mobile-container-padding-bottom: 2rem;--mobile-section-spacing: 2rem;--mobile-section-spacing-lg: 2.5rem;--mobile-section-spacing-md: 2rem;--mobile-section-spacing-sm: 1.5rem;--mobile-element-spacing: 1rem;--mobile-element-spacing-sm: .75rem;--mobile-element-spacing-xs: .5rem;--mobile-title-margin-bottom: .75rem;--mobile-header-margin-bottom: 2.25rem;--mobile-subtitle-margin-top: .375rem;--mobile-touch-target-min: 44px;--mobile-button-padding: .75rem 1rem;--mobile-card-spacing: 1rem;--mobile-card-radius: 12px;--mobile-btn-padding: .75rem 1.5rem;--mobile-btn-padding-sm: .5rem 1rem;--mobile-btn-radius: 8px;--mobile-safe-area-top: 0;--mobile-safe-area-bottom: 0;--mobile-safe-area-left: 0;--mobile-safe-area-right: 0;--spacing-1: var(--space-1, .25rem);--spacing-2: var(--space-2, .5rem);--spacing-3: var(--space-3, .75rem);--spacing-4: var(--space-4, 1rem);--spacing-5: var(--space-5, 1.25rem);--spacing-6: var(--space-6, 1.5rem);--spacing-8: var(--space-8, 2rem);--spacing-9: 2.25rem;--spacing-10: var(--space-10, 2.5rem);--spacing-11: 2.75rem;--spacing-12: var(--space-12, 3rem);--spacing-13: 3.25rem;--spacing-16: var(--space-16, 4rem);--radius-sm: var(--border-radius-sm, 8px);--radius-md: var(--border-radius-md, 10px);--radius-lg: var(--border-radius-lg, 12px);--radius-xl: var(--border-radius-xl, 14px);--radius-full: var(--border-radius-full, 9999px);--font-weight-medium: 500;--font-weight-semibold: 600;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--cta-primary-hover: #25a890;--accent-primary: var(--cta-primary, #2EC4B6);--accent-green-hover: #25a890;--accent-red-hover: #D63027}}:root{--bg-primary: #0F1115;--bg-secondary: #181B20;--bg-tertiary: #21242A;--text-primary: #E6E8EB;--text-secondary: rgb(148, 163, 184);--text-muted: rgb(100, 116, 139);--border-color: rgba(230, 232, 235, .1);--border-color-hover: rgba(230, 232, 235, .2);--cta-primary: #2EC4B6;--cta-secondary: #6C7A89;--accent-green: #2EC4B6;--accent-blue: #6C7A89;--accent-amber: #f59e0b;--accent-orange: #f97316;--score-excellent: #10b981;--score-good: #f59e0b;--score-warning: #f97316;--score-poor: #ef4444;--white: #ffffff;--black: #000000;--button-bg: rgba(0, 0, 0, 0);--button-text: #FFF9C4;--button-border: rgba(255, 249, 196, .3);--button-hover: rgba(255, 249, 196, .15);--card-bg: #151628;--card-border: rgba(255, 249, 196, .25);--card-hover: #1F2035}*{box-sizing:border-box;margin:0;padding:0}body{margin:0;font-family:Inter,-apple-system,"system-ui",sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;position:relative;overflow-x:hidden}#root{min-height:100vh;background-color:var(--bg-primary);position:relative;z-index:1}[data-platform=mobile-web] #root{min-height:auto}h1,h2,h3,h4,h5,h6{font-family:Inter,-apple-system,"system-ui",sans-serif;color:var(--text-primary);font-weight:600;line-height:1.2}h1{font-size:2.5rem;font-weight:700}.app-header{white-space:nowrap;width:100%;font-size:clamp(.9rem,5vw,2.5rem);overflow:visible}h2{font-size:1.75rem;font-weight:600}h3{font-size:1.5rem;font-weight:600}p{color:var(--text-secondary)}button{font-family:Inter,-apple-system,"system-ui",sans-serif;cursor:pointer;transition:all .2s ease;border-radius:8px}button:disabled{opacity:.5;cursor:not-allowed}input[type=file]{font-family:Inter,-apple-system,"system-ui",sans-serif}label{font-family:Inter,-apple-system,"system-ui",sans-serif;color:var(--text-primary)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:#e2e8f033}::selection{background-color:#e2e8f033;color:var(--text-primary)}select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23e2e8f0' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:40px}select option{background-color:var(--card-bg);color:var(--text-primary);padding:8px}select option:disabled{color:var(--text-muted);opacity:.5}.analysis-layout{display:flex;flex-direction:row;gap:15px;align-items:flex-start}@media(max-width:768px){.analysis-layout{flex-direction:column;gap:16px}.analysis-layout>div{width:100%;max-width:100%;flex:1 1 100%}}.spinner{animation:spin 1s linear infinite;color:currentColor;flex-shrink:0;pointer-events:none}.spinner-track{stroke-linecap:round}.spinner-head{transform-origin:center;animation:spin-head 1s ease-in-out infinite}@keyframes spin-head{0%{opacity:1;transform:rotate(0)}50%{opacity:.8;transform:rotate(180deg)}to{opacity:1;transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner{animation:none}.spinner-head{animation:none;opacity:.6}}@media(prefers-contrast:high){.spinner-track{stroke-opacity:.4}.spinner-head{opacity:1}}.auth-btn{--btn-bg: var(--cta-primary);--btn-color: var(--white);--btn-border: none;--btn-border-width: 0px;--btn-border-color: transparent;--btn-font-weight: var(--button-font-weight, 600);display:inline-flex;align-items:center;justify-content:center;gap:var(--icon-spacing, 8px);border-radius:var(--button-border-radius, 8px);font-weight:var(--btn-font-weight);font-family:inherit;background:var(--btn-bg);color:var(--btn-color);border:var(--btn-border-width) solid var(--btn-border-color);cursor:pointer;transition:all var(--button-transition-duration, .2s) var(--button-transition-easing, ease-out);box-sizing:border-box;position:relative;text-decoration:none;width:auto;user-select:none;-webkit-user-select:none;touch-action:manipulation}.auth-btn-primary{background:var(--cta-primary);color:var(--white)}.auth-btn-primary:hover:not(:disabled){background:var(--cta-primary-hover);transform:translateY(-1px);box-shadow:0 2px 8px #2ec4b64d}.auth-btn-primary:active:not(:disabled){transform:translateY(0)}.auth-btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.auth-btn-secondary:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--accent-green);transform:translateY(-1px)}.auth-btn-login{--btn-bg: transparent;--btn-color: var(--text-primary);--btn-border-width: 2px;--btn-border-color: var(--cta-secondary)}.auth-btn-login:hover:not(:disabled){--btn-bg: var(--bg-secondary);--btn-border-color: var(--cta-primary);--btn-color: var(--cta-primary);transform:translateY(-1px);opacity:.9}.auth-btn-login.header-signup-btn{--btn-bg: transparent;--btn-color: var(--cta-primary);--btn-border-width: 2px;--btn-border-color: var(--cta-primary);--btn-font-weight: 600}.auth-btn-login.header-signup-btn:hover:not(:disabled){--btn-bg: var(--bg-secondary);--btn-border-color: var(--cta-primary-hover);--btn-color: var(--cta-primary-hover);transform:translateY(-1px);opacity:.9}.auth-btn-signup{--btn-bg: var(--cta-primary);--btn-color: var(--white);--btn-border-width: 2px;--btn-border-color: var(--cta-primary);--btn-font-weight: 700}.auth-btn-signup:hover:not(:disabled){--btn-bg: var(--cta-primary-hover);--btn-border-color: var(--cta-primary-hover);transform:translateY(-1px);box-shadow:0 2px 8px #2ec4b64d}.auth-btn-mobile{font-size:var(--button-font-size-mobile, 16px);min-height:var(--button-height-mobile, 44px);padding:var(--button-padding-mobile, 12px 16px);border-radius:var(--button-border-radius, 8px);-webkit-text-size-adjust:100%}.auth-btn-desktop{font-size:var(--button-font-size-desktop, 14px);min-height:var(--button-height-desktop, 40px);padding:var(--button-padding-desktop, 8px 16px)}.auth-btn-ios{font-size:var(--button-font-size-mobile, 16px);min-height:var(--button-height-mobile, 44px);padding:var(--button-padding-mobile, 12px 16px);-webkit-text-size-adjust:100%}.auth-btn-tablet{font-size:var(--button-font-size-mobile, 16px);min-height:var(--button-height-mobile, 44px);padding:var(--button-padding-mobile, 12px 16px)}.auth-btn-compact{min-height:var(--button-height-compact, 32px);padding:var(--button-padding-compact, 8px 12px);font-size:var(--button-font-size-compact, 14px)}.auth-btn-large{min-height:var(--button-height-large, 48px);padding:var(--button-padding-large, 14px 20px);font-size:var(--button-font-size-large, 16px)}.auth-btn-loading{cursor:not-allowed;opacity:.7;pointer-events:none}.auth-btn-disabled{cursor:not-allowed;opacity:.5;pointer-events:none}.auth-btn-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:var(--icon-size-mobile, 20px);height:var(--icon-size-mobile, 20px);font-size:var(--icon-size-mobile, 20px);line-height:1}.auth-btn-desktop .auth-btn-icon{width:var(--icon-size-desktop, 16px);height:var(--icon-size-desktop, 16px);font-size:var(--icon-size-desktop, 16px)}.auth-btn-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.auth-btn-spinner{flex-shrink:0}.auth-btn:focus-visible{outline:2px solid var(--accent-green);outline-offset:2px}.auth-btn:focus:not(:focus-visible){outline:none}@media(prefers-contrast:high){.auth-btn{border:2px solid currentColor}.auth-btn-primary{border-color:var(--white)}.auth-btn-secondary{border-color:currentColor}}@media(prefers-reduced-motion:reduce){.auth-btn{transition:none}.auth-btn:hover,.auth-btn:active{transform:none}}@media(max-width:360px){.auth-btn-mobile{padding:var(--button-padding-compact, 8px 12px);font-size:var(--button-font-size-compact, 14px)}}@media(max-width:768px){.auth-btn-desktop{min-height:var(--button-height-mobile, 44px);padding:var(--button-padding-mobile, 12px 16px);font-size:var(--button-font-size-mobile, 16px)}}@media(prefers-color-scheme:dark){.auth-btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border-color:var(--border-color)}.auth-btn-secondary:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--accent-green)}}@media print{.auth-btn{display:none}}.page-header{display:flex;align-items:center;width:100%;margin-bottom:var(--spacing-3);gap:var(--spacing-3)}.page-header-mobile{margin-bottom:var(--spacing-2);gap:var(--spacing-2)}.app-header.header-title{font-weight:var(--font-weight-bold);color:var(--text-primary);margin:0;flex-grow:1;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:var(--font-size-2xl)}.page-header-mobile .app-header.header-title{font-size:var(--font-size-xl)}.header-actions{display:flex;align-items:center;gap:var(--spacing-2);margin-left:auto}.page-header-mobile .header-actions{gap:var(--spacing-2)}.header-cta{padding:var(--spacing-2) var(--spacing-4);border-radius:var(--radius-full);border:1px solid var(--border-color);background-color:transparent;color:var(--text-primary);display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2);cursor:pointer;font-weight:var(--font-weight-semibold);font-size:var(--font-size-base);white-space:nowrap;box-sizing:border-box;font-family:inherit;text-decoration:none;transition:all .2s ease;min-height:var(--spacing-10)}.header-cta:hover{background-color:var(--bg-secondary);transform:translateY(calc(var(--spacing-1) * -1))}.page-header-mobile .header-cta{padding:var(--spacing-2) var(--spacing-3);font-size:var(--font-size-sm);gap:var(--spacing-2);min-height:var(--spacing-11)}.header-cta--primary{border:none;background-color:var(--cta-primary);color:var(--white)}.header-cta--primary:hover{background-color:var(--cta-primary-hover, var(--cta-primary));border:none}.header-dashboard-link{padding:var(--spacing-2) var(--spacing-3);gap:var(--spacing-2)}.page-header-mobile .header-dashboard-link .header-cta__label{display:none}.header-login-btn,.header-signup-btn{padding:8px 16px;flex:1;min-width:0}.page-header-mobile .header-login-btn,.page-header-mobile .header-signup-btn{padding:8px 12px;font-size:.85rem}.header-cta-container.landing-header-cta-container{display:flex;flex-direction:column;align-items:flex-end;gap:8px;margin-left:auto;margin-right:0;max-width:200px}.header-login-prompt{color:var(--text-muted);font-size:12px;font-weight:400;margin:0;text-align:right}.header-login-link{color:var(--cta-primary);text-decoration:none;font-weight:500;cursor:pointer;transition:color .2s ease}.header-login-link:hover{color:var(--cta-primary-hover);text-decoration:underline}.header-login-link:focus{outline:2px solid var(--cta-primary);outline-offset:2px;border-radius:4px}@media(max-width:768px){.page-header{margin-bottom:8px;gap:8px}.app-header.header-title{font-size:1.3rem}.header-actions{gap:6px}.header-cta{padding:8px 12px;font-size:.9rem;gap:6px;min-height:44px}.header-cta-container.landing-header-cta-container{min-width:140px;gap:6px}.header-cta__label{display:none}}@media(min-width:769px){.app-header.header-title{font-size:1.5rem}.header-cta{padding:10px 20px;font-size:1rem}.header-cta-container.landing-header-cta-container{min-width:200px;gap:10px}}.page-container{min-height:100vh;width:100%;margin:0 auto;box-sizing:border-box}.page-container-desktop{padding:min(var(--spacing-6),4vw);max-width:1200px}.page-container-mobile{padding:var(--spacing-4);max-width:100%}@media(max-width:768px){.page-container-desktop{padding:var(--spacing-4)!important;max-width:100%!important}}[data-platform] .modal-overlay{position:fixed;inset:0;z-index:var(--z-modal-base, 1000);display:flex;align-items:center;justify-content:center;background:#000000bf;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:modal-overlay-fade-in .2s ease-out}@keyframes modal-overlay-fade-in{0%{opacity:0}to{opacity:1}}[data-platform] .modal-small .modal-content{max-width:320px;width:90%}[data-platform] .modal-default .modal-content{max-width:400px;width:90%}[data-platform] .modal-large .modal-content{max-width:600px;width:95%}[data-platform] .modal-fullscreen .modal-content{max-width:none;width:100%;height:100%;max-height:100vh}[data-platform] .modal-content{background:var(--bg-primary);border-radius:var(--radius-lg);box-shadow:0 20px 40px #0000004d;border:1px solid var(--border-color, rgba(230, 232, 235, .1));max-height:90vh;overflow:hidden;display:flex;flex-direction:column;position:relative}[data-platform] .modal-fade .modal-content{animation:modal-fade-in .2s ease-out}[data-platform] .modal-slide-up .modal-content{animation:modal-slide-up .3s cubic-bezier(.4,0,.2,1)}[data-platform] .modal-slide-down .modal-content{animation:modal-slide-down .3s cubic-bezier(.4,0,.2,1)}[data-platform] .modal-scale .modal-content{animation:modal-scale .2s ease-out}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes modal-slide-down{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes modal-scale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}[data-platform] .modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-4);border-bottom:1px solid var(--border-color, rgba(230, 232, 235, .1));flex-shrink:0;gap:var(--spacing-3)}[data-platform] .modal-title{margin:0;font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,system-ui,sans-serif;flex:1;text-align:center}[data-platform] .modal-close-btn,[data-platform] .modal-skip-btn{background:none;border:none;font-size:var(--font-size-lg);color:var(--text-secondary);cursor:pointer;padding:var(--spacing-2);border-radius:var(--radius-md);min-height:44px;min-width:44px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}[data-platform] .modal-close-btn:hover,[data-platform] .modal-skip-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}[data-platform] .modal-body{padding:var(--spacing-4);overflow-y:auto;-webkit-overflow-scrolling:touch;flex:1}[data-platform=ios] .modal-overlay{background:var(--bg-primary);backdrop-filter:none;-webkit-backdrop-filter:none;padding:0;align-items:flex-end;justify-content:flex-end}[data-platform=ios] .modal-content{border:none;box-shadow:none;width:100%;height:100vh;max-height:100vh;border-radius:0;animation:ios-modal-slide-up .3s cubic-bezier(.4,0,.2,1)}@keyframes ios-modal-slide-up{0%{opacity:0;transform:translateY(100vh)}to{opacity:1;transform:translateY(0)}}[data-platform=ios] .modal-header{padding:var(--spacing-5);border-bottom:1px solid var(--border-color)}[data-platform=ios] .modal-body{padding:var(--spacing-5);padding-bottom:calc(var(--spacing-5) + 84px)}[data-platform=mobile-web] .modal-overlay{padding:var(--spacing-5)}[data-platform=mobile-web] .modal-content{border-radius:var(--radius-xl)}[data-platform=desktop] .modal-overlay{padding:var(--spacing-6)}[data-platform=desktop] .modal-content{border-radius:var(--radius-lg);max-width:500px}@media(max-width:480px){[data-platform] .modal-overlay{padding:var(--spacing-4)}[data-platform=ios] .modal-overlay{padding:0}[data-platform] .modal-content{max-height:95vh}[data-platform=ios] .modal-content{max-height:100vh}[data-platform=ios] .modal-content:focus{font-size:16px}}@media(prefers-color-scheme:dark){[data-platform] .modal-content{background:var(--bg-primary);border-color:var(--border-color)}[data-platform] .modal-header{border-color:var(--border-color)}}@media(prefers-contrast:high){[data-platform] .modal-close-btn:hover,[data-platform] .modal-skip-btn:hover{background:var(--text-primary);color:var(--bg-primary)}}@media(prefers-reduced-motion:reduce){[data-platform] .modal-overlay,[data-platform] .modal-content{animation:none}[data-platform] .modal-close-btn,[data-platform] .modal-skip-btn{transition:none}}@supports (padding: max(0px)){[data-platform=ios] .modal-content{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}[data-platform=ios] .modal-body{padding-bottom:calc(var(--spacing-5) + 64px + max(var(--spacing-5),env(safe-area-inset-bottom)))}}.verification-step{text-align:center}.verification-step-header{margin-bottom:32px}.verification-step-icon{width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--score-excellent) 0%,var(--score-excellent) 100%);display:flex;align-items:center;justify-content:center;color:var(--white);font-size:32px;font-weight:600;margin:0 auto 16px}.verification-step-header h2{font-size:24px;font-weight:700;color:var(--text-primary);margin:0 0 8px}.verification-step-header p{font-size:16px;color:var(--text-secondary);margin:0}.verification-code-inputs{display:flex;gap:12px;justify-content:center;margin-bottom:24px}.verification-code-input{width:56px;height:64px;border:2px solid var(--border-color, #e5e7eb);border-radius:8px;text-align:center;font-size:32px;font-weight:600;font-family:Courier New,monospace;transition:all .2s;background:var(--bg-tertiary, #ffffff);color:var(--text-primary)}.verification-code-input:focus{outline:none;border-color:var(--accent-blue);box-shadow:0 0 0 3px #6c7a891a}.verification-code-input:disabled{background-color:var(--bg-tertiary);cursor:not-allowed;opacity:.6}.verification-error{background-color:#dc26261a;color:var(--accent-orange);padding:12px 16px;border-radius:8px;margin-bottom:16px;text-align:center;font-size:14px;border:1px solid rgba(220,38,38,.2)}.verification-timer{text-align:center;margin-bottom:24px}.verification-timer p{font-size:14px;color:var(--text-secondary);margin:0}.verification-timer strong{color:var(--text-primary);font-weight:600}.verification-expired{color:var(--accent-orange, #dc2626)!important;font-weight:600}.verification-submit-button{width:100%;padding:16px;font-size:16px;font-weight:600;background:var(--score-excellent);color:var(--white);border:none;border-radius:8px;cursor:pointer;transition:all .2s;margin-bottom:16px}.verification-submit-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 15px -3px #10b9814d;background:var(--score-excellent)}.verification-submit-button:disabled{background:var(--bg-tertiary);cursor:not-allowed;transform:none}.verification-actions{display:flex;gap:12px;margin-bottom:16px}.verification-resend-button,.verification-skip-button{flex:1;padding:12px;font-size:14px;font-weight:500;background:var(--bg-secondary);color:var(--accent-blue);border:2px solid var(--accent-blue);border-radius:8px;cursor:pointer;transition:all .2s}.verification-resend-button:hover:not(:disabled),.verification-skip-button:hover{background:#3b82f61a}.verification-resend-button:disabled{opacity:.5;cursor:not-allowed}.verification-help{text-align:center;font-size:12px;color:var(--text-secondary);margin:0}@media(max-width:640px){.verification-step{padding:0}.verification-code-inputs{gap:8px}.verification-code-input{width:48px;height:56px;font-size:28px}}.confirm-close-modal-overlay{position:fixed;inset:0;z-index:var(--z-critical, 10001);display:flex;align-items:center;justify-content:center;padding:20px;background:#000000bf;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.confirm-close-modal-content{background:var(--bg-secondary);padding:30px;border-radius:var(--border-radius-lg);width:100%;max-width:400px;box-shadow:var(--shadow-lg);border:var(--border-width-thin) solid var(--border-color)}.confirm-close-modal-title{margin:0 0 16px;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.confirm-close-modal-message{margin:0 0 24px;font-size:.95rem;color:var(--text-secondary);line-height:1.5}.confirm-close-modal-buttons{display:flex;gap:12px;justify-content:flex-end}.confirm-close-modal-cancel-button{padding:10px 20px;border:var(--border-width-thin) solid var(--border-color);border-radius:var(--border-radius-md);background:var(--bg-tertiary);color:var(--text-primary);cursor:pointer;font-size:.95rem;font-weight:500;transition:all var(--duration-fast) var(--ease-out);min-height:44px;min-width:44px}.confirm-close-modal-cancel-button:hover{background:var(--bg-secondary);border-color:var(--border-color-hover)}.confirm-close-modal-confirm-button{padding:10px 20px;border:none;border-radius:var(--border-radius-md);background:var(--score-warning);color:var(--white);cursor:pointer;font-size:.95rem;font-weight:600;transition:all var(--duration-fast) var(--ease-out);min-height:44px;min-width:44px}.confirm-close-modal-confirm-button:hover{opacity:.9;transform:translateY(-1px)}.confirm-close-modal-confirm-button:active{transform:translateY(0)}.medical-clearance-checkbox-container{margin:0 0 24px}.medical-clearance-checkbox-label{display:flex;align-items:flex-start;gap:12px;cursor:pointer;font-size:.95rem;color:var(--text-primary);line-height:1.5}.medical-clearance-checkbox{margin-top:2px;width:18px;height:18px;cursor:pointer;flex-shrink:0}.medical-clearance-checkbox-label>span{flex:1}.confirm-close-modal-confirm-button:disabled{opacity:.5;cursor:not-allowed;transform:none}.confirm-close-modal-confirm-button:disabled:hover{opacity:.5;transform:none}.phone-number-input{display:flex;gap:8px;width:100%;position:relative}.country-selector{flex-shrink:0;position:relative}.country-button{display:flex;align-items:center;gap:6px;padding:10px 12px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-tertiary);color:var(--text-primary);cursor:pointer;min-width:100px;font-size:14px}.country-button:disabled{opacity:.7;cursor:not-allowed}.country-button:hover:not(:disabled){border-color:var(--accent-blue)}.country-dropdown{position:absolute;top:100%;left:0;right:0;max-height:200px;overflow-y:auto;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;z-index:1000;margin-top:2px;box-shadow:0 4px 12px #0000001a}.country-option{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;border:none;background:none;color:var(--text-primary);cursor:pointer;text-align:left;font-size:14px;border-radius:0}.country-option:hover{background:var(--bg-tertiary)}.country-option:first-child{border-top-left-radius:6px;border-top-right-radius:6px}.country-option:last-child{border-bottom-left-radius:6px;border-bottom-right-radius:6px}.phone-input-container{flex:1}.phone-input{width:100%;padding:10px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-tertiary);color:var(--text-primary);font-size:14px;box-sizing:border-box;min-height:38px;line-height:1.5}.phone-input:focus{outline:none;border-color:var(--accent-blue)}.phone-input.error{border-color:var(--accent-orange)}.phone-input:disabled{opacity:.7;cursor:not-allowed}.phone-input::placeholder{color:var(--text-secondary)}.phone-error{color:var(--accent-orange);font-size:.85rem;margin-top:4px;position:absolute;bottom:-20px;left:0}@media(max-width:480px){.phone-number-input{gap:6px}.country-button{min-width:80px;padding:8px 10px;font-size:13px}.country-option{padding:6px 10px;font-size:13px}}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:10010;padding:20px}.modal-content{background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #00000080}.analysis-modal-content{max-width:min(900px,95vw);max-height:90vh;overflow-x:hidden}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid var(--border-color)}.modal-header h2{margin:0;color:var(--text-primary);font-size:1.5rem}.modal-close{background:none;border:none;color:var(--text-secondary);font-size:2rem;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.modal-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.create-post-form{padding:24px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;color:var(--text-secondary);font-size:.9rem;font-weight:500}.form-error{margin-bottom:16px;padding:12px;background:#ff57221a;border:1px solid var(--accent-orange);border-radius:8px}.form-error p{margin:0;color:var(--accent-orange);font-size:.9rem}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:20px;border-top:1px solid var(--border-color)}.btn-cancel,.btn-post{padding:12px 24px;font-size:.95rem;font-weight:600;border-radius:8px;border:none;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:8px;min-width:100px;font-family:inherit}.btn-cancel{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.btn-cancel:hover:not(:disabled){background:var(--bg-secondary);border-color:var(--text-secondary);transform:translateY(-1px)}.btn-cancel:active:not(:disabled){transform:translateY(0)}.btn-cancel:disabled{opacity:.5;cursor:not-allowed}.btn-post{background:var(--cta-primary);color:#fff;box-shadow:0 2px 8px #10b9814d}.btn-post:hover:not(:disabled){background:#10b981;box-shadow:0 4px 12px #10b98166;transform:translateY(-1px)}.btn-post:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 6px #10b9814d}.btn-post:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:0 2px 4px #10b98133}.btn-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.btn-cancel .btn-spinner{border-color:#0000001a;border-top-color:var(--text-primary)}@media(max-width:768px){.modal-content{max-width:100%;margin:0;border-radius:0;max-height:100vh}.modal-header,.create-post-form{padding:16px}.form-actions{flex-direction:column-reverse;gap:10px}.btn-cancel,.btn-post{width:100%;padding:14px 24px;font-size:1rem}}.signup-modal-terms-checkbox-container{margin-top:16px;margin-bottom:8px}.signup-modal-terms-checkbox-label{display:flex;align-items:flex-start;gap:8px;cursor:pointer;font-size:.85rem;color:var(--text-primary);min-width:0}.signup-modal-terms-checkbox-label>span{flex:1;min-width:0;word-break:break-word}.signup-modal-body-content input[type=checkbox].signup-modal-terms-checkbox{width:18px;height:18px;min-width:18px;cursor:pointer;flex-shrink:0;border-radius:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;accent-color:transparent;-webkit-accent-color:transparent;border:2px solid var(--border-color);background-color:var(--bg-primary);position:relative;margin:0;padding:0;box-sizing:border-box}.signup-modal-body-content input[type=checkbox].signup-modal-terms-checkbox:checked{background-color:var(--cta-primary);border-color:var(--cta-primary)}.signup-modal-body-content input[type=checkbox].signup-modal-terms-checkbox:checked:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--white);font-size:12px;font-weight:700;line-height:1}.signup-modal-terms-link{--link-color: var(--link-color);color:var(--link-color);text-decoration:underline;text-decoration-color:var(--link-color);background:none;background-color:transparent;border:none;cursor:pointer;padding:0;margin:0;font-size:inherit;font-weight:inherit;transition:opacity .2s ease;display:inline;line-height:inherit}.signup-modal-form{display:flex;flex-direction:column;gap:12px}.signup-modal-form-group{display:flex;flex-direction:column;gap:6px;font-size:.9rem}.signup-modal-form-input{padding:10px;border-radius:8px;border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-primary);transition:border-color .2s ease}.signup-modal-form-input:focus{outline:none;border-color:var(--cta-primary)}.signup-modal-form-input:disabled{opacity:.7;cursor:not-allowed}.signup-modal-submit-button{margin-top:10px;padding:12px;border:none;border-radius:8px;background:var(--cta-primary);color:var(--white);font-weight:600;cursor:pointer;transition:background-color .2s ease,opacity .2s ease}.signup-modal-submit-button:disabled,.signup-modal-submit-button:disabled:hover{background:var(--bg-tertiary);cursor:not-allowed;opacity:.7}.signup-modal-submit-button:not(:disabled):hover{opacity:.9}.signup-modal-toggle-button{background:none;border:none;color:var(--accent-blue);font-size:.85rem;text-decoration:underline;cursor:pointer;padding:4px 0;margin-top:4px;align-self:flex-start;transition:opacity .2s ease}.signup-modal-toggle-button:disabled{cursor:not-allowed;opacity:.7}.signup-modal-toggle-button:not(:disabled):hover{opacity:.8}.signup-modal-error-text{margin:0;color:var(--score-warning);font-size:.85rem}.signup-modal-info-text{margin:0;color:var(--text-secondary);font-size:.9rem;text-align:center}.signup-modal-step-info{margin:0 0 16px;font-size:.9rem;color:var(--text-secondary);text-align:center}.signup-modal-body-content{width:100%;box-sizing:border-box}.signup-modal-footer{margin-top:20px;text-align:center;font-size:.9rem;color:var(--text-secondary)}.signup-modal-footer p{margin:5px 0}.signup-modal-login-link{display:inline-block;padding:10px 20px;border-radius:999px;border:1px solid var(--border-color);color:var(--text-primary);text-decoration:none;font-weight:600;transition:background-color .2s ease}.signup-modal-login-link:hover{background-color:var(--bg-tertiary)}.signup-modal-warning-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:var(--z-warning)}.signup-modal-warning-content{background-color:var(--bg-secondary);padding:30px;border-radius:12px;width:100%;max-width:400px;box-shadow:0 20px 40px #0006;border:1px solid var(--border-color)}.signup-modal-warning-title{margin:0 0 16px;font-size:1.25rem}.signup-modal-warning-text{margin:0 0 24px;font-size:.95rem;color:var(--text-secondary);line-height:1.5}.signup-modal-warning-buttons{display:flex;gap:12px;justify-content:flex-end}.signup-modal-warning-cancel-button{padding:10px 20px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-tertiary);color:var(--text-primary);cursor:pointer;font-size:.95rem;font-weight:500;transition:background-color .2s ease}.signup-modal-warning-cancel-button:hover{background-color:var(--bg-secondary)}.signup-modal-warning-confirm-button{padding:10px 20px;border:none;border-radius:8px;background:var(--score-warning);color:var(--white);cursor:pointer;font-size:.95rem;font-weight:600;transition:opacity .2s ease}.signup-modal-warning-confirm-button:hover{opacity:.9}.signup-modal-terms-link:hover{opacity:.8}.signup-modal-terms-link:active{opacity:.6}.hero-section{padding:80px 20px 0;max-width:1200px;margin:0 auto}.hero-container{display:flex;justify-content:center;align-items:center}.hero-content{display:flex;flex-direction:column;align-items:center;gap:24px;text-align:center;max-width:700px}.email-subscription-form{width:100%;display:flex;flex-direction:column;gap:20px}.email-subscription-title{font-size:1.5rem;font-weight:700;color:var(--text-primary);margin:0;text-align:center}.email-subscription-description{font-size:.95rem;color:var(--text-secondary);line-height:1.6;margin:0;text-align:center}.email-subscription-form-inner{display:flex;flex-direction:column;gap:12px}.email-subscription-input-group{display:flex;gap:8px;flex-direction:column}.email-subscription-input{width:100%;padding:12px 16px;border:1px solid var(--border-color);border-radius:8px;font-size:1rem;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;background:var(--bg-primary);color:var(--text-primary);transition:all .2s ease}.email-subscription-input:focus{outline:none;border-color:var(--cta-primary);box-shadow:0 0 0 3px #2ec4b61a}.email-subscription-input:disabled{opacity:.6;cursor:not-allowed}.email-subscription-input::placeholder{color:var(--text-muted)}.email-subscription-button{width:100%;padding:12px 24px;background:var(--cta-primary);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;cursor:pointer;transition:all .2s ease}.email-subscription-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #2ec4b64d}.email-subscription-button:disabled{opacity:.7;cursor:not-allowed;transform:none}.email-subscription-message{padding:12px 16px;border-radius:8px;font-size:.9rem;text-align:center;margin:0}.email-subscription-message-success{background:#2ec4b61a;border:1px solid var(--cta-primary);color:var(--cta-primary)}.email-subscription-message-error{background:#ef44441a;border:1px solid #ef4444;color:#ef4444}.email-subscription-privacy{font-size:.75rem;color:var(--text-muted);text-align:center;margin:8px 0 0}@media(min-width:480px){.email-subscription-input-group{flex-direction:row}.email-subscription-input{flex:1}.email-subscription-button{width:auto;min-width:120px}}.hero-title{font-size:clamp(2rem,4.8vw,3.2rem);font-weight:700;line-height:1.1;color:var(--text-primary);margin:0}.hero-title-accent{color:var(--cta-primary)}.hero-subtitle{font-size:clamp(.8rem,1.6vw,1rem);color:var(--text-secondary);max-width:700px;line-height:1.6;margin:0}.hero-actions{display:flex;gap:16px;flex-wrap:wrap;justify-content:flex-start;margin-top:8px}.hero-btn{padding:14px 32px;border-radius:999px;font-size:1rem;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;transition:all .2s ease;border:1px solid transparent;cursor:pointer;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.hero-btn-primary{background:var(--cta-primary);color:#fff}.hero-btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 10px 25px #2ec4b64d}.hero-btn-secondary{background:transparent;color:var(--text-primary);border-color:var(--border-color)}.hero-btn-secondary:hover{background:var(--bg-secondary);border-color:var(--border-color-hover)}.hero-note{font-size:.9rem;color:var(--text-muted);margin:8px 0 0}.features-section{padding:100px 20px 80px;margin-top:20px;background:var(--bg-secondary);border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color)}.features-container{max-width:1200px;margin:0 auto;text-align:center}.features-title{font-size:clamp(2rem,4vw,2.75rem);font-weight:700;color:var(--text-primary);margin:0 0 16px}.features-subtitle{font-size:clamp(1rem,2vw,1.125rem);color:var(--text-secondary);max-width:700px;margin:0 auto 48px;line-height:1.6}.features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:32px;margin-top:48px}.feature-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:20px;padding:32px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px;transition:all .3s ease;position:relative;box-shadow:0 10px 30px #00000040}.feature-card:hover{transform:translateY(-4px);border-color:var(--cta-primary);box-shadow:0 20px 40px #00000059}.feature-badge{position:absolute;top:16px;right:16px;padding:4px 12px;background:var(--accent-amber);color:#fff;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.feature-icon{font-size:3rem;margin-bottom:8px}.feature-title{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0}.feature-description{font-size:1rem;color:var(--text-secondary);line-height:1.6;margin:0;flex-grow:1}.feature-cta{padding:12px 24px;border-radius:8px;font-size:.95rem;font-weight:600;background:var(--cta-primary);color:#fff;border:none;cursor:pointer;transition:all .2s ease;text-decoration:none;display:inline-block;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;margin-top:8px}.feature-cta:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px #2ec4b64d}.feature-cta:disabled{opacity:.6;cursor:not-allowed;background:var(--bg-tertiary);color:var(--text-muted)}.benefits-section{padding:80px 20px;max-width:1200px;margin:0 auto}.benefits-container{text-align:center}.benefits-title{font-size:clamp(2rem,4vw,2.75rem);font-weight:700;color:var(--text-primary);margin:0 0 48px}.benefits-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:32px}.benefit-item{text-align:center;padding:24px}.benefit-number{font-size:3rem;font-weight:700;color:var(--accent-green);opacity:.3;margin-bottom:16px;line-height:1}.benefit-title{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0 0 12px}.benefit-description{font-size:.95rem;color:var(--text-secondary);line-height:1.6;margin:0}.analysis-tool-container{text-align:center;margin-bottom:32px}.analysis-tool-title{font-size:clamp(2rem,4vw,2.75rem);font-weight:700;color:var(--text-primary);margin:0 0 16px}.analysis-tool-subtitle{font-size:clamp(1rem,2vw,1.125rem);color:var(--text-secondary);max-width:700px;margin:0 auto;line-height:1.6}.landing-header-cta-container{display:grid;grid-template-columns:1fr 1fr;gap:8px;min-width:180px}.page-header{display:flex;align-items:center;margin-bottom:10px;gap:12px;width:100%}.page-header .header-title{font-weight:700;color:var(--text-primary);margin:0;flex-grow:1;cursor:pointer;-webkit-user-select:none;user-select:none}@media(max-width:768px){.hero-section{padding:40px 16px 0}.hero-container{width:100%}.hero-content{text-align:center;align-items:center;gap:16px;max-width:100%}.hero-title{font-size:clamp(1.5rem,4.5vw,2rem);line-height:1.2}.hero-subtitle{font-size:clamp(.85rem,2vw,.95rem);line-height:1.5}.hero-actions{flex-direction:column;width:100%;max-width:100%;justify-content:center;gap:12px}.hero-btn{width:100%;min-height:44px;padding:14px 24px;font-size:.95rem}.hero-note{font-size:.8rem;margin-top:4px}.email-subscription-form{gap:16px}.email-subscription-title{font-size:1.1rem}.email-subscription-description{font-size:.85rem;line-height:1.5}.email-subscription-form-inner{gap:10px}.email-subscription-input{padding:12px 14px;font-size:.95rem;min-height:44px}.email-subscription-button{min-height:44px;padding:12px 20px;font-size:.95rem}.email-subscription-message{padding:10px 14px;font-size:.85rem}.email-subscription-privacy{font-size:.7rem;margin-top:6px}.features-section{padding:40px 16px}.features-title{font-size:clamp(1.75rem,4.5vw,2.25rem);margin-bottom:12px}.features-subtitle{font-size:clamp(.9rem,2vw,1rem);margin-bottom:32px;line-height:1.5}.features-grid{grid-template-columns:1fr;gap:20px;margin-top:32px}.feature-card{padding:20px;gap:12px}.feature-icon{font-size:2.5rem;margin-bottom:6px}.feature-title{font-size:1.25rem}.feature-description{font-size:.9rem;line-height:1.5}.feature-cta{width:100%;min-height:44px;padding:12px 20px;font-size:.9rem;margin-top:4px}.benefits-section{padding:40px 16px}.benefits-title{font-size:clamp(1.75rem,4.5vw,2.25rem);margin-bottom:32px}.benefits-grid{grid-template-columns:1fr;gap:20px}.benefit-item{padding:16px}.benefit-number{font-size:2.5rem;margin-bottom:12px}.benefit-title{font-size:1.1rem;margin-bottom:8px}.benefit-description{font-size:.85rem;line-height:1.5}.analysis-tool-container{margin-bottom:24px}.analysis-tool-title{font-size:clamp(1.75rem,4.5vw,2.25rem);margin-bottom:12px}.analysis-tool-subtitle{font-size:clamp(.9rem,2vw,1rem);line-height:1.5}.page-header{flex-direction:column;align-items:flex-start;gap:16px;margin-bottom:20px}.page-header .header-title{font-size:1.5rem}.page-header .header-actions{width:100%;justify-content:center}.landing-header-cta-container{grid-template-columns:1fr;min-width:auto;width:100%}.analysis-tool-section .page-header-section{padding:16px}.analysis-tool-section .page-eyebrow{display:none}.analysis-tool-section .page-title-section{font-size:clamp(1.4rem,3.8vw,1.9rem);margin-bottom:8px}.analysis-tool-section .page-subtitle-section{font-size:.85rem;line-height:1.4}}.progress{margin-top:16px}.progress-bar{width:100%;height:8px;background:var(--bg-tertiary);border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:var(--accent-green);transition:width .3s ease}.progress-fill-animated{background:linear-gradient(90deg,var(--accent-green) 0%,var(--primary-color, #4CAF50) 50%,var(--accent-green) 100%);background-size:200% 100%;animation:progress-shimmer 2s ease-in-out infinite}@keyframes progress-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.progress-text{margin-top:8px;color:var(--text-secondary);font-size:.9rem;margin-bottom:0}.upload-content{display:flex;flex-direction:column;gap:16px}.upload-area-wrapper{display:flex;gap:12px;align-items:stretch}.upload-area{border:2px dashed var(--border-color);border-radius:12px;padding:32px;text-align:center;background:var(--bg-tertiary);transition:border-color .2s ease,background .2s ease;min-height:80px;display:flex;flex-direction:column;align-items:center;justify-content:center;flex:2;width:66.67%}.demo-button-container{flex:1;width:33.33%;display:flex;align-items:center;justify-content:center}.demo-button{width:100%;height:100%;min-height:80px}.upload-area:hover{border-color:var(--border-color-hover);background:#1e222ecc}.upload-label{cursor:pointer;display:flex;align-items:center;justify-content:center;width:auto}.upload-label input{display:none}.upload-text{color:var(--text-primary);font-weight:500;font-size:1rem}.upload-guidance{margin-top:4px;color:var(--text-muted);font-size:.9rem}.upload-file-info{padding:12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);font-size:.9rem;min-height:32px;display:flex;align-items:center}.upload-file-info.has-file{color:var(--text-primary);border-color:var(--accent-green)}.upload-button-container{display:flex;align-items:center;justify-content:flex-start;gap:12px}.upload-button{padding:10px 20px;background:var(--cta-primary);color:#fff;border:none;border-radius:8px;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .2s ease}.upload-button:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.upload-button:disabled{opacity:.6;cursor:not-allowed}.upload-button-change{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary)}.upload-button-change:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--border-color-hover)}.upload-spinner{width:16px;height:16px;border:2px solid rgba(16,185,129,.3);border-top-color:var(--accent-green);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:768px){.upload-area-wrapper{flex-direction:column}.upload-area{padding:24px;width:100%}.demo-button-container{width:100%}.demo-button{min-height:48px}.upload-text-desktop{display:none}.upload-text-mobile{display:inline!important}}.select-group{display:flex;flex-direction:column;gap:8px}.select-group label{color:var(--text-secondary);font-size:.9rem;font-weight:500}.select-group select,.select-group textarea{padding:12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:.95rem;cursor:pointer;transition:border-color .2s ease;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.select-group select:focus,.select-group textarea:focus{outline:none;border-color:var(--accent-green)}.select-group select:disabled,.select-group textarea:disabled{opacity:.5;cursor:not-allowed}.select-group textarea{min-height:50px;resize:vertical;cursor:text}.error{margin-top:16px;padding:12px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:var(--score-poor);font-size:.9rem}.limit-message{margin-top:16px;padding:12px;background:var(--bg-tertiary);border-radius:8px;color:var(--text-secondary);font-size:.9rem}.signin-link{background:none;border:none;color:var(--accent-green);cursor:pointer;text-decoration:underline;padding:0;margin-left:4px;font-family:inherit;font-size:inherit}.page-container-section{width:100%;border:1px solid var(--border-color);border-radius:20px;background:#050812d9;box-shadow:0 30px 60px #00000073;overflow:hidden;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;flex-direction:column;margin-top:12px}@media(min-width:769px){.page-container-section{border-radius:32px;margin-top:20px}}.page-header-section{padding:20px;border-bottom:1px solid var(--border-color);background:linear-gradient(135deg,#2ec4b61f,#181b2014);display:flex;flex-direction:column;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:8px}@media(min-width:769px){.page-header-section{padding:48px;flex-direction:row;align-items:center;gap:16px}}.page-eyebrow{letter-spacing:.2em;color:var(--accent-green);text-transform:uppercase;font-size:.8rem;margin:0 0 8px}.page-title-section{font-size:clamp(1.25rem,5vw,1.75rem);font-weight:700;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%;margin:0 0 12px;color:var(--text-primary)}@media(min-width:769px){.page-title-section{font-size:clamp(2rem,4vw,2.75rem)}}.page-subtitle-section{color:var(--text-secondary);max-width:100%;line-height:1.5;margin:0;font-size:.95rem}@media(min-width:769px){.page-subtitle-section{max-width:600px}}.page-grid{padding:20px;display:grid;grid-template-columns:1fr;gap:12px;width:100%;max-width:100%;box-sizing:border-box}@media(min-width:769px){.page-grid{padding:40px 48px 48px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}}.page-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;padding:16px;display:flex;flex-direction:column;gap:12px;box-shadow:0 10px 30px #00000040;transition:border-color .3s ease;width:100%;max-width:100%;min-width:0;box-sizing:border-box;overflow:hidden}@media(min-width:769px){.page-card{border-radius:20px;padding:24px}}.page-card.upload-pending{border-color:var(--accent-green)}.page-card.upload-complete{border-color:var(--border-color)}.page-card.analysis-ready{border-color:var(--accent-green)}.page-card h3{font-size:1.2rem;color:var(--text-primary);margin:0;width:100%;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;word-wrap:break-word}.page-options{display:flex;flex-direction:column;gap:16px;width:100%;min-width:0;box-sizing:border-box}@media(min-width:769px){.page-options{gap:20px}}.page-select-group{width:100%;min-width:0;box-sizing:border-box}.page-select-group select,.page-select-group textarea{width:100%;box-sizing:border-box;min-width:0;max-width:100%}.page-actions{display:flex;flex-direction:column;align-items:stretch;gap:10px;width:100%;min-width:0;box-sizing:border-box}@media(min-width:769px){.page-actions{gap:12px}}.page-btn{padding:14px 24px;border-radius:999px;font-size:.95rem;font-weight:600;cursor:pointer;transition:transform .2s ease,border .2s ease;border:1px solid transparent;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;width:100%;min-width:0;max-width:100%;box-sizing:border-box;justify-content:center;min-height:44px}@media(min-width:769px){.page-btn{width:auto}}.page-btn-primary{background:var(--cta-primary);color:#fff}.page-btn-primary:hover:not(:disabled){transform:translateY(-2px)}.page-btn-primary:disabled{opacity:.5;cursor:not-allowed}.page-note{color:var(--text-muted);font-size:.85rem;margin:0;text-align:center;width:100%}.page-progress,.page-error,.page-limit-message{width:100%;min-width:0;max-width:100%;box-sizing:border-box}@media(max-width:480px){.page-container-section{margin-top:12px}.page-header-section{padding:16px}.page-grid{padding:16px;gap:12px}.page-card{padding:14px;gap:10px}.page-title-section{font-size:clamp(1.15rem,4.5vw,1.5rem)}}@media(max-width:360px){.page-header-section,.page-grid{padding:20px}}.score-breakdown-container{margin-top:var(--spacing-3);padding:var(--spacing-3);background:var(--card-bg);border:2px solid var(--score-color, transparent);border-radius:var(--radius-md);overflow-x:hidden}.score-breakdown-header{margin-bottom:var(--spacing-3)}.score-breakdown-score{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--score-color, var(--text-primary))}.score-breakdown-subtitle{font-size:var(--font-size-sm);color:var(--text-secondary);margin-top:var(--spacing-1)}.score-breakdown-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(80px,1fr));gap:var(--spacing-2);margin-top:var(--spacing-3);padding-top:var(--spacing-3);border-top:1px solid var(--border-color)}.score-breakdown-item{text-align:center;padding:var(--spacing-2);background:var(--bg-tertiary);border-radius:var(--radius-sm)}.score-breakdown-item-label{font-size:var(--font-size-xs);color:var(--text-secondary);margin-bottom:var(--spacing-1)}.score-breakdown-item-value{font-size:var(--font-size-base);font-weight:var(--font-weight-bold);color:var(--score-color, var(--text-primary))}.score-breakdown-instructions{margin-top:var(--spacing-3)}.score-breakdown-instructions-toggle{cursor:pointer;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);display:flex;align-items:center;gap:var(--spacing-2);list-style:none;-webkit-user-select:none;user-select:none;padding:var(--spacing-3);background:var(--bg-tertiary);border-radius:var(--radius-sm);border:1px solid var(--border-color);transition:background-color .2s ease;width:100%}.score-breakdown-instructions-toggle:hover{background:var(--bg-hover)}.score-breakdown-instructions-icon{font-size:var(--font-size-base)}.score-breakdown-instructions-title{flex:1}.score-breakdown-instructions-count{font-size:var(--font-size-xs);color:var(--text-secondary);background:var(--card-bg);padding:var(--spacing-1) var(--spacing-2);border-radius:var(--radius-lg)}.score-breakdown-instructions-content{margin-top:var(--spacing-3);padding:var(--spacing-3);background:var(--bg-tertiary);border-radius:var(--radius-sm);border:1px solid var(--border-color)}.score-breakdown-instruction-item{margin:var(--spacing-2) 0;padding-left:var(--spacing-2);font-size:var(--font-size-sm);line-height:1.6;position:relative}.score-breakdown-instruction-bullet{position:absolute;left:calc(var(--spacing-1) * -1);color:var(--score-excellent);font-weight:var(--font-weight-bold);font-size:var(--font-size-base)}.score-breakdown-details{margin-bottom:var(--spacing-5);padding:var(--spacing-3);background:var(--bg-tertiary);border-radius:var(--radius-sm);font-size:var(--font-size-xs);text-align:left}.score-breakdown-details-title{margin:var(--spacing-2) 0;font-weight:var(--font-weight-bold);color:var(--text-primary)}.score-breakdown-detail-row{margin:var(--spacing-1) 0}.score-breakdown-detail-toggle{margin-left:var(--spacing-2);padding:var(--spacing-1) var(--spacing-2);border:1px solid var(--border-color);border-radius:var(--radius-xs);background:var(--card-bg);cursor:pointer;font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);color:var(--text-primary);transition:background-color .2s ease}.score-breakdown-detail-toggle:hover{background:var(--bg-hover)}.score-breakdown-analysis-section{margin-left:var(--spacing-5);margin-top:var(--spacing-3);margin-bottom:var(--spacing-3);padding:var(--spacing-3);background:var(--card-bg);border-radius:var(--radius-sm);border:1px solid var(--border-color);overflow-x:hidden}.score-breakdown-analysis-title{margin:0 0 var(--spacing-2) 0;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);color:var(--text-primary)}.score-breakdown-wrapper{overflow-x:hidden;width:100%;max-width:100%}.score-breakdown-header-wrapper{margin-bottom:10px}.score-breakdown-instructions-list{margin:0;padding:0;list-style:none}.score-breakdown-message{margin:10px 0;padding:10px;background-color:var(--card-bg);border-radius:4px}.score-breakdown-detail-row-spacing{margin:2px 0}.score-breakdown-detail-toggle-alt{margin-left:8px;padding:2px 6px;border:1px solid var(--border-color);border-radius:3px;background-color:var(--card-bg);color:var(--text-primary);cursor:pointer;font-size:12px;font-weight:700}.score-breakdown-detail-toggle-alt:hover{background-color:var(--bg-hover)}.score-breakdown-asymmetry-content{margin-left:20px;margin-top:10px;margin-bottom:10px}.score-breakdown-loading-state{display:flex;align-items:center;justify-content:center;height:200px;color:var(--text-secondary)}.score-breakdown-error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;height:200px;color:var(--text-secondary)}.score-breakdown-retry-button{margin-top:10px;padding:6px 12px;background:var(--primary);border:none;border-radius:4px;color:#fff;cursor:pointer}.score-breakdown-retry-button:hover{opacity:.9}.score-breakdown-asymmetry-item{margin-bottom:15px;padding:10px;background-color:var(--card-bg);border-radius:4px;border:1px solid var(--border-color)}.score-breakdown-asymmetry-message-wrapper{margin-bottom:15px}.score-breakdown-asymmetry-message{margin:10px 0;padding:10px;background-color:var(--bg-tertiary);border-radius:4px}.score-breakdown-per-rep-details{margin-top:15px;overflow-x:hidden}.score-breakdown-per-rep-summary{cursor:pointer;font-weight:700;padding:8px;background-color:var(--bg-tertiary);border-radius:4px;border:1px solid var(--border-color)}.score-breakdown-per-rep-content{margin-top:10px}.plot-container{overflow-x:auto;overflow-y:hidden;padding:10px 0}.plot-container.clickable{cursor:pointer}.plot-container.clickable:not(.disabled):hover{opacity:.95}.plot-container.disabled{cursor:default;pointer-events:none}.plot-wrapper{height:100%;padding-right:20px;padding-left:10px;display:flex;justify-content:center}.plot-image{max-width:100%;max-height:100%;object-fit:contain}.plot-loading-container{display:flex;align-items:center;justify-content:center;background-color:var(--bg-secondary);border-radius:8px}.plot-error-container{display:flex;align-items:center;justify-content:center;background-color:var(--bg-secondary);border-radius:8px;color:var(--text-secondary)}.plot-error-container.error{color:var(--text-error)}.angle-plot-container{height:400px}.asymmetry-plot-container{height:300px;margin-top:15px}.per-rep-plot-container{height:300px}.per-rep-plot-wrapper{margin-bottom:30px;padding:15px;border:1px solid var(--border-color);border-radius:4px;background-color:var(--card-bg)}.image-lightbox-overlay{position:fixed;inset:0;width:100vw;height:100vh;max-width:100vw;max-height:100vh;background:#000000f2;z-index:10000;display:flex;align-items:center;justify-content:center;cursor:pointer;animation:fadeIn .2s ease-in-out;overflow:hidden;margin:0;padding:20px;box-sizing:border-box;transform:translateZ(0);-webkit-transform:translateZ(0);will-change:transform}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.image-lightbox-container{position:relative;width:100%;max-width:90vw;max-height:90vh;display:flex;align-items:center;justify-content:center;cursor:default;overflow-y:auto;overflow-x:hidden;box-sizing:border-box;background:transparent}.image-lightbox-image-wrapper{width:100%;min-height:100%;display:flex;align-items:center;justify-content:center;flex-shrink:0;padding:20px;box-sizing:border-box}.image-lightbox-image{max-width:100%;width:auto;height:auto;object-fit:contain;border-radius:8px;display:block;user-select:none;-webkit-user-select:none;-webkit-user-drag:none}.image-lightbox-close{position:fixed;top:20px;right:20px;z-index:10001;background:#fff3;border:none;color:#fff;font-size:2rem;width:40px;height:40px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease}.image-lightbox-close:hover{background:#ffffff4d}.image-lightbox-nav{position:fixed;top:50%;transform:translateY(-50%);z-index:10001;background:#fff3;border:none;color:#fff;font-size:3rem;width:50px;height:50px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s ease;-webkit-user-select:none;user-select:none}.image-lightbox-nav:hover{background:#ffffff4d}.image-lightbox-prev{left:20px}.image-lightbox-next{right:20px}.image-lightbox-counter{position:fixed;bottom:20px;left:50%;transform:translate(-50%);z-index:10001;color:#fff;font-size:.9rem;background:#00000080;padding:6px 12px;border-radius:20px}@media(max-width:600px){.image-lightbox-prev{left:10px}.image-lightbox-next{right:10px}}@media(max-width:768px){.image-lightbox-overlay{padding:10px}.image-lightbox-container{max-width:100vw;max-height:100vh}.image-lightbox-nav{width:40px;height:40px;font-size:2rem}.image-lightbox-prev{left:10px}.image-lightbox-next{right:10px}.image-lightbox-close{top:10px;right:10px;width:36px;height:36px;font-size:1.5rem}.image-lightbox-counter{bottom:10px}.image-lightbox-image-wrapper{padding:10px}}.video-player-container{position:relative;width:100%}.video-expand-button{position:absolute;top:10px;right:10px;padding:8px 16px;background-color:#000000b3;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:6px;cursor:pointer;font-weight:500;font-size:14px;font-family:Inter,sans-serif;transition:all .2s ease;z-index:10}.video-expand-button:hover{background-color:#000000e6}.visualization-status-container{padding:40px;background-color:var(--card-bg);border-radius:8px;border:1px solid var(--border-color);text-align:center}.visualization-status-message{margin-bottom:20px;color:var(--text-secondary);font-size:14px}.visualization-status-message.error{color:var(--accent-orange)}.visualization-error-detail{display:block;margin-top:8px;font-size:12px}.visualization-spinner{width:40px;height:40px;border:3px solid var(--border-color);border-top:3px solid var(--cta-primary);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.visualization-retry-button,.visualization-create-button{padding:12px 24px;background-color:var(--cta-primary);color:var(--white);border:none;border-radius:6px;cursor:pointer;font-weight:500;font-size:14px;opacity:1;transition:opacity .2s ease}.visualization-retry-button:disabled,.visualization-create-button:disabled{background-color:var(--bg-secondary);cursor:not-allowed;opacity:.7}.visualization-retry-button:hover:not(:disabled),.visualization-create-button:hover:not(:disabled){opacity:.9}.save-video-button-container{margin-top:16px;text-align:center}.save-video-button{padding:12px 24px;background-color:var(--primary-color);color:#fff;border:none;border-radius:6px;cursor:pointer;font-weight:500;font-size:14px;transition:all .2s ease;opacity:1}.save-video-button:hover:not(:disabled){opacity:.9}.save-video-button:disabled{cursor:not-allowed;opacity:.7}.save-video-button.saving{background-color:var(--bg-secondary)}.save-video-button.saved{background-color:var(--accent-green)}.analysis-layout{display:flex;gap:20px;flex-wrap:wrap;overflow-x:hidden}.content-column{flex:1;min-width:300px;overflow-x:hidden}.video-section{flex:1;min-width:0;overflow-x:hidden;margin-bottom:24px}.video-container{position:relative;width:100%;margin-bottom:16px}.video-wrapper{position:relative;width:100%;background-color:var(--card-bg);border-radius:8px;border:1px solid var(--border-color);overflow:hidden}.video-player{width:100%;height:auto;max-height:50vh;display:block;object-fit:contain}.charts-grid{display:grid;gap:20px;overflow-x:hidden}.charts-container{padding:24px;overflow-x:hidden;width:100%;max-width:100%;box-sizing:border-box}.angle-plots-details{margin-top:20px}.angle-plots-summary{cursor:pointer;font-weight:700;padding:12px;background-color:var(--card-bg);border-radius:8px;border:1px solid var(--border-color);color:var(--text-primary)}.angle-plots-content{margin-top:10px}.notes-section{margin-top:20px;padding:16px;background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px}.notes-title{margin:0 0 8px;font-size:.9rem;font-weight:600;color:var(--text-primary)}.notes-content{margin:0;font-size:.9rem;color:var(--text-primary);white-space:pre-wrap;word-wrap:break-word}.camera-warning{margin-bottom:20px}.camera-warning-summary{cursor:pointer;font-weight:700;padding:12px;background-color:var(--card-bg);border:1px solid var(--score-warning);border-radius:8px;color:var(--text-primary)}.camera-warning-content{padding:12px;background-color:var(--card-bg);border-radius:8px;margin-top:5px;border:1px solid var(--border-color)}.camera-warning-message{margin:8px 0 0;font-size:14px;color:var(--text-primary)}.camera-warning-angle{margin:4px 0 0;font-size:12px;font-style:italic;color:var(--text-secondary)}.unified-analysis-immediate{margin-top:15px;padding:10px;background-color:var(--card-bg);border:1px solid var(--score-excellent);border-radius:8px;max-height:85vh;overflow-y:auto;width:100%;max-width:100%;overflow-x:hidden}.ios-analysis-modal-breakdown{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;padding:var(--space-5);overflow-x:hidden}.ios-analysis-modal-section{margin-top:20px}.ios-analysis-modal-section-header{cursor:pointer;font-weight:700;padding:12px;background-color:var(--bg-tertiary);border-radius:8px;border:1px solid var(--border-color);color:var(--text-primary)}.ios-analysis-modal-section-content{margin-top:10px}.ios-analysis-modal-notes{margin-top:20px;padding:16px;background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px}.ios-analysis-modal-notes-title{margin:0 0 8px;font-size:.9rem;font-weight:600;color:var(--text-primary)}.ios-analysis-modal-notes-content{margin:0;font-size:.9rem;color:var(--text-primary);white-space:pre-wrap;word-wrap:break-word}@media(max-width:768px){.analysis-layout{flex-direction:column}.charts-grid{gap:16px}.unified-analysis-immediate{max-height:none;overflow-y:visible}}@media(prefers-contrast:high){.camera-warning,.angle-plots-details,.notes-section,.ios-analysis-modal-section,.ios-analysis-modal-breakdown{border-width:2px}}.consent-modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#000000bf;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal-base);padding:20px;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.consent-modal-content{background-color:var(--bg-secondary);padding:32px;border-radius:16px;width:100%;max-width:440px;box-shadow:0 24px 48px #00000040;border:1px solid var(--border-color);overflow-wrap:break-word;overflow-x:hidden;box-sizing:border-box}.consent-modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--border-color)}.consent-modal-title{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary);letter-spacing:-.01em}.consent-modal-checkbox-container{margin-bottom:28px}.consent-modal-checkbox-label{display:flex;align-items:flex-start;gap:12px;cursor:pointer;font-size:.9rem;color:var(--text-primary);line-height:1.5;min-width:0}.consent-modal-content input[type=checkbox].consent-modal-checkbox{width:18px;height:18px;min-width:18px;cursor:pointer;flex-shrink:0;border-radius:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;accent-color:transparent;-webkit-accent-color:transparent;border:2px solid var(--border-color);background-color:var(--bg-primary);position:relative;margin:0;padding:0;box-sizing:border-box}.consent-modal-content input[type=checkbox].consent-modal-checkbox:checked{background-color:var(--cta-primary);border-color:var(--cta-primary)}.consent-modal-content input[type=checkbox].consent-modal-checkbox:checked:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--white);font-size:12px;font-weight:700;line-height:1}.consent-modal-checkbox-text{flex:1;min-width:0;word-break:break-word;-webkit-hyphens:auto;hyphens:auto}.consent-modal-link{--link-color: var(--link-color);color:var(--link-color);text-decoration:underline;text-decoration-color:var(--link-color);background:none;background-color:transparent;border:none;cursor:pointer;padding:0;margin:0;font-size:inherit;font-weight:inherit;transition:opacity .2s ease;display:inline;line-height:inherit}.consent-modal-link:hover{opacity:.8}.consent-modal-link:active{opacity:.6}.consent-modal-button{width:100%;padding:14px 24px;border-radius:10px;border:none;font-weight:600;cursor:pointer;font-size:1rem;transition:all .2s ease}.consent-modal-button:enabled{background-color:var(--cta-primary);color:var(--white);box-shadow:0 2px 8px #2ec4b64d}.consent-modal-button:enabled:hover{transform:translateY(-1px);box-shadow:0 4px 12px #2ec4b666}.consent-modal-button:disabled{background-color:var(--bg-tertiary);color:var(--text-secondary);cursor:not-allowed;box-shadow:none}.footer{margin-top:auto;padding:48px 20px 24px;border-top:1px solid var(--border-color);background:var(--bg-primary)}.footer-newsletter{max-width:1200px;margin:0 auto 32px;padding:0 20px}.footer-newsletter .email-subscription-form{max-width:500px;margin:0 auto}.footer-newsletter .email-subscription-title{font-size:1.25rem;margin-bottom:8px}.footer-newsletter .email-subscription-description{font-size:.875rem;margin-bottom:16px}.footer-newsletter .email-subscription-privacy{font-size:.7rem;margin-top:6px}.footer-content{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px;font-size:.875rem;color:var(--text-secondary);text-align:center}.footer-separator{color:var(--text-muted);margin:0 4px}.footer-link{color:var(--text-secondary);text-decoration:none;transition:color .2s ease}.footer-link:hover{color:var(--text-primary);text-decoration:underline}.footer-copyright{max-width:1200px;margin:16px auto 0;text-align:center;font-size:.875rem;color:var(--text-muted)}@media(max-width:768px){.footer{padding:32px 16px 20px}.footer-newsletter{padding:0;margin-bottom:24px}.footer-newsletter .email-subscription-title{font-size:1.1rem}.footer-newsletter .email-subscription-description{font-size:.8rem}.footer-content{font-size:.8rem;gap:6px}.footer-separator{margin:0 2px}.footer-copyright{font-size:.75rem;margin-top:12px}}.futuristic-gym-background{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;pointer-events:none;opacity:1;mix-blend-mode:screen}body:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 15% 25%,rgba(46,196,182,.15) 0%,transparent 40%),radial-gradient(circle at 85% 75%,rgba(30,58,138,.12) 0%,transparent 45%),radial-gradient(circle at 75% 20%,rgba(249,115,22,.18) 0%,transparent 35%),radial-gradient(circle at 25% 80%,rgba(220,38,38,.12) 0%,transparent 40%),radial-gradient(ellipse at 50% 50%,rgba(46,196,182,.08) 0%,transparent 60%);pointer-events:none;z-index:-1;animation:calmPassionPulse 12s ease-in-out infinite}body:after{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:linear-gradient(135deg,transparent 0%,rgba(46,196,182,.05) 20%,rgba(249,115,22,.05) 50%,rgba(46,196,182,.05) 80%,transparent 100%);pointer-events:none;z-index:-1;animation:journeyFlow 20s linear infinite;opacity:.6}@keyframes calmPassionPulse{0%,to{opacity:1;transform:scale(1)}33%{opacity:.85;transform:scale(1.05)}66%{opacity:.9;transform:scale(.98)}}@keyframes journeyFlow{0%{transform:translate(-100%) translateY(-100%)}to{transform:translate(100%) translateY(100%)}}#root:before{content:"";position:fixed;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at 50% 0%,rgba(46,196,182,.1) 0%,transparent 30%),radial-gradient(circle at 0% 50%,rgba(249,115,22,.08) 0%,transparent 25%),radial-gradient(circle at 100% 50%,rgba(46,196,182,.08) 0%,transparent 25%);pointer-events:none;z-index:0;animation:transformationGlow 15s ease-in-out infinite alternate}@keyframes transformationGlow{0%{opacity:.5}to{opacity:.8}}.ios-modal-overlay{position:fixed;inset:0;background:var(--bg-primary);z-index:10000;padding:0;animation:ios-modal-overlay-fade-in .2s ease-out}@keyframes ios-modal-overlay-fade-in{0%{opacity:0}to{opacity:1}}.ios-modal-content{background:var(--bg-primary);border-radius:0;max-width:100%;width:100%;height:100vh;max-height:100vh;display:flex;flex-direction:column;box-shadow:none;border:none;animation:ios-modal-appear .3s cubic-bezier(.4,0,.2,1);overflow:hidden}@keyframes ios-modal-appear{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.ios-modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:var(--ios-modal-header-padding, 20px);border-bottom:1px solid var(--border-color, rgba(230, 232, 235, .1));flex-shrink:0;gap:12px}.ios-modal-header-content{flex:1;display:flex;flex-direction:column;gap:12px}.ios-modal-title-section{display:flex;flex-direction:column;gap:4px}.ios-modal-title{margin:0;font-size:var(--ios-font-size-title-md, 1.25rem);font-weight:var(--ios-font-weight-section, 600);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif}.ios-modal-subtitle{margin:0;font-size:var(--mobile-font-size-body-sm, .875rem);font-weight:var(--ios-font-weight-body, 500);color:var(--text-secondary, rgb(148, 163, 184));font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif}.ios-modal-progress-dots{display:flex;gap:8px;justify-content:center;align-items:center}.ios-modal-progress-dot{width:4px;height:4px;border-radius:50%;border:1px solid var(--text-muted, rgb(100, 116, 139));background:transparent;transition:all .2s ease}.ios-modal-progress-dot.active{background:var(--accent-green);border-color:var(--accent-green)}.ios-modal-back{background:none;border:none;font-size:var(--ios-icon-size-md, 1.25rem);color:var(--text-primary);cursor:pointer;padding:8px;border-radius:8px;min-height:44px;min-width:44px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;margin-right:12px}.ios-modal-back:hover{background:var(--bg-secondary)}.ios-modal-back:active{opacity:.7}.ios-modal-skip{background:none;border:none;font-size:var(--ios-font-size-body, 1rem);color:var(--text-secondary, rgb(148, 163, 184));cursor:pointer;padding:8px 12px;border-radius:8px;min-height:44px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;margin-left:12px;font-weight:500}.ios-modal-skip:hover{background:var(--bg-secondary);color:var(--text-primary)}.ios-modal-skip:active{opacity:.7}.ios-modal-close{background:none;border:none;font-size:var(--ios-icon-size-md, 1.25rem);color:var(--text-secondary, rgb(148, 163, 184));cursor:pointer;padding:8px;border-radius:8px;min-height:44px;min-width:44px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.ios-modal-close:hover{background:var(--bg-secondary);color:var(--text-primary)}.ios-modal-close:active{opacity:.7}.ios-modal-body{padding:var(--ios-modal-body-padding, 20px);padding-bottom:calc(var(--ios-modal-body-padding, 20px) + 84px);overflow-y:auto;-webkit-overflow-scrolling:touch;flex:1}@media(max-width:480px){.ios-modal-overlay{padding:0}.ios-modal-content{max-width:100%;margin:0;height:100vh;max-height:100vh}}@media(prefers-color-scheme:dark){.ios-modal-content{background:var(--bg-primary);border-color:var(--border-color, rgba(230, 232, 235, .1))}.ios-modal-header{border-color:var(--border-color, rgba(230, 232, 235, .1))}}@media(prefers-contrast:high){.ios-modal-close:hover{background:var(--text-primary);color:var(--bg-primary)}}@media(prefers-reduced-motion:reduce){.ios-modal-overlay,.ios-modal-content{animation:none}.ios-modal-close,.ios-modal-progress-dot{transition:none}}.ios-step-navigation{position:fixed;bottom:0;left:0;right:0;background:var(--bg-primary);border-top:1px solid var(--border-color, rgba(230, 232, 235, .1));padding:20px;z-index:10001}.ios-step-navigation-content{display:flex;gap:12px;max-width:480px;margin:0 auto}.ios-step-nav-previous,.ios-step-nav-next{flex:1;min-height:44px}@supports (padding: max(0px)){.ios-modal-content{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.ios-step-navigation{padding-bottom:max(20px,env(safe-area-inset-bottom))}.ios-modal-body{padding-bottom:calc(var(--ios-modal-body-padding, 20px) + 64px + max(20px,env(safe-area-inset-bottom)))}}.ios-verification-warning-overlay{position:fixed;inset:0;z-index:10002;display:flex;align-items:center;justify-content:center;padding:20px;background:#00000080;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.ios-verification-warning-content{background:var(--bg-primary);padding:24px;border-radius:14px;width:100%;max-width:320px;box-shadow:0 10px 40px #0000004d;border:1px solid var(--border-color, rgba(230, 232, 235, .1))}.ios-verification-warning-title{margin:0 0 12px;font-size:var(--ios-font-size-title-sm, 1.125rem);font-weight:var(--ios-font-weight-section, 600);color:var(--text-primary);text-align:center;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif}.ios-verification-warning-message{margin:0 0 24px;font-size:var(--mobile-font-size-body, 1rem);color:var(--text-secondary, rgb(148, 163, 184));line-height:1.5;text-align:center;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif}.ios-verification-warning-buttons{display:flex;gap:12px;justify-content:center}.ios-verification-warning-cancel,.ios-verification-warning-confirm{flex:1;min-height:44px}.ios-btn-primary.ios-verification-warning-confirm{background:var(--score-poor);color:#fff}.ios-btn-primary.ios-verification-warning-confirm:hover:not(:disabled){background:var(--score-poor-hover, #dc2626)}.ios-btn-primary.ios-verification-warning-confirm:active:not(:disabled){background:var(--score-poor-active, #b91c1c)}.ios-form-group{display:flex;flex-direction:column;gap:var(--mobile-element-spacing, .5rem)}.ios-form-label{font-size:var(--mobile-font-size-body-sm, .875rem);font-weight:var(--ios-font-weight-body, 500);color:var(--text-secondary, rgb(148, 163, 184));font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif}.ios-form-input{padding:12px 16px;border:1px solid var(--border-color, rgba(230, 232, 235, .1));border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);font-size:var(--mobile-font-size-body, 1rem);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif;outline:none;transition:all .2s ease;min-height:44px;width:100%;box-sizing:border-box}.ios-form-input:focus{border-color:var(--accent-green);box-shadow:0 0 0 2px #2ec4b633}.ios-form-input:disabled{opacity:.6;cursor:not-allowed}.ios-form-input::placeholder{color:var(--text-muted, rgb(100, 116, 139))}@media(max-width:480px){.ios-form-input{font-size:16px}}.ios-form-error{padding:12px;background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:8px;color:var(--score-poor);font-size:var(--mobile-font-size-body-sm, .875rem);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif}.ios-btn{width:100%;min-height:44px;font-size:var(--mobile-font-size-body, 1rem);font-weight:var(--ios-font-weight-section, 600);padding:var(--mobile-button-padding, 12px 24px);border:none;border-radius:8px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.ios-btn:disabled{opacity:.6;cursor:not-allowed}.ios-btn-primary{background:var(--accent-green);color:#fff}.ios-btn-primary:hover:not(:disabled){background:var(--accent-green-hover, #26a69a)}.ios-btn-primary:active:not(:disabled){background:var(--accent-green-active, #1e8e82)}.ios-btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color, rgba(230, 232, 235, .1))}.ios-btn-secondary:hover:not(:disabled){background:var(--bg-tertiary)}.ios-btn-secondary:active:not(:disabled){background:var(--bg-tertiary);opacity:.8}.ios-form-link{background:none;border:none;color:var(--accent-green);font-size:var(--mobile-font-size-body-sm, .875rem);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif;cursor:pointer;text-align:center;padding:var(--mobile-element-spacing, .5rem);min-height:44px;display:flex;align-items:center;justify-content:center;transition:color .2s ease}.ios-form-link:hover:not(:disabled){color:var(--accent-green-hover)}.ios-form-link:disabled{opacity:.6;cursor:not-allowed}@media(prefers-color-scheme:dark){.ios-form-input{background:var(--bg-secondary);border-color:var(--border-color, rgba(230, 232, 235, .1))}}@media(prefers-reduced-motion:reduce){.ios-form-input,.ios-btn,.ios-form-link{transition:none}}[data-platform] .btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2);border:none;border-radius:var(--radius-md);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,system-ui,sans-serif;font-weight:var(--font-weight-medium);cursor:pointer;transition:all .2s ease;outline:none;text-decoration:none;white-space:nowrap;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-appearance:none;appearance:none}[data-platform] .btn-small{padding:var(--spacing-2) var(--spacing-3);font-size:var(--font-size-sm);min-height:var(--spacing-9)}[data-platform] .btn-medium{padding:var(--spacing-3) var(--spacing-4);font-size:var(--font-size-base);min-height:var(--spacing-11)}[data-platform] .btn-large{padding:var(--spacing-4) var(--spacing-6);font-size:var(--font-size-lg);min-height:var(--spacing-13)}[data-platform] .btn-primary{background:var(--cta-primary);color:var(--white)}[data-platform] .btn-primary:hover:not(:disabled){background:var(--cta-primary-hover)}[data-platform] .btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}[data-platform] .btn-secondary:hover:not(:disabled){background:var(--bg-tertiary)}[data-platform] .btn-ghost{background:transparent;color:var(--text-primary);border:1px solid transparent}[data-platform] .btn-ghost:hover:not(:disabled){background:var(--bg-secondary)}[data-platform] .btn-danger{background:var(--accent-red);color:var(--white)}[data-platform] .btn-danger:hover:not(:disabled){background:var(--accent-red-hover)}[data-platform] .btn-full{width:100%}[data-platform] .btn-loading{pointer-events:none}[data-platform] .btn-disabled{opacity:.6;cursor:not-allowed;pointer-events:none}[data-platform] .btn-spinner{width:var(--spacing-4);height:var(--spacing-4);border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:btn-spin 1s linear infinite}@keyframes btn-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}[data-platform] .btn-loading .btn-content{opacity:.7}[data-platform] .btn:focus-visible{outline:2px solid var(--cta-primary);outline-offset:var(--spacing-1)}[data-platform=ios] .btn{border-radius:var(--radius-lg);font-weight:var(--font-weight-semibold)}[data-platform=ios] .btn-primary{background:var(--accent-green)}[data-platform=ios] .btn-primary:hover:not(:disabled){background:var(--cta-primary-hover)}[data-platform=ios] .btn-secondary{background:var(--bg-secondary);border-color:var(--border-color);color:var(--text-primary)}[data-platform=ios] .btn-secondary:hover:not(:disabled){background:var(--bg-tertiary)}[data-platform=ios] .btn-ghost{color:var(--text-primary)}[data-platform=ios] .btn-ghost:hover:not(:disabled){background:var(--bg-secondary)}[data-platform=mobile-web] .btn{border-radius:8px;font-weight:500}[data-platform=desktop] .btn{border-radius:6px;font-weight:500}@media(max-width:480px){[data-platform] .btn{min-height:44px}[data-platform] .btn-small{min-height:40px}[data-platform=ios] .btn:focus{font-size:16px}}@media(prefers-contrast:high){[data-platform] .btn{border:2px solid transparent}[data-platform] .btn:focus-visible{border-color:currentColor}[data-platform] .btn-secondary{border-width:2px}}@media(prefers-reduced-motion:reduce){[data-platform] .btn{transition:none}[data-platform] .btn-spinner{animation:none}}@media(prefers-color-scheme:dark){[data-platform=mobile-web] .btn-secondary{background:var(--bg-secondary);border-color:var(--border-color);color:var(--text-primary)}[data-platform=mobile-web] .btn-secondary:hover:not(:disabled){background:var(--bg-tertiary)}[data-platform=mobile-web] .btn-ghost{color:var(--text-primary)}[data-platform=mobile-web] .btn-ghost:hover:not(:disabled){background:var(--bg-secondary)}}.ios-verification-code-container{display:flex;flex-direction:column;gap:var(--mobile-element-spacing, .5rem)}.ios-verification-code-inputs{display:flex;gap:8px;justify-content:center;align-items:center}.ios-verification-code-input{width:48px;height:56px;border:2px solid var(--border-color, rgba(230, 232, 235, .1));border-radius:8px;background:var(--bg-secondary);color:var(--text-primary);font-size:1.5rem;font-weight:600;text-align:center;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif;outline:none;transition:all .2s ease}.ios-verification-code-input:focus{border-color:var(--accent-green);box-shadow:0 0 0 2px #2ec4b633;background:var(--bg-primary)}.ios-verification-code-input:disabled{opacity:.6;cursor:not-allowed}.ios-verification-code-input.error{border-color:var(--accent-red)}.ios-verification-code-input.error:focus{border-color:var(--accent-red);box-shadow:0 0 0 2px #ef444433}.ios-verification-code-error{text-align:center;color:var(--accent-red);font-size:var(--mobile-font-size-body-sm, .875rem);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif;margin-top:4px}@media(max-width:480px){.ios-verification-code-input{width:44px;height:52px;font-size:1.25rem}}.ios-verification-step{width:100%;padding:0}.ios-verification-step-header{text-align:center;margin-bottom:32px}.ios-verification-step-icon{width:64px;height:64px;border-radius:50%;background:var(--ios-success-green, #34C759);color:#fff;display:flex;align-items:center;justify-content:center;font-size:32px;font-weight:600;margin:0 auto 16px}.ios-verification-step-title{font-size:24px;font-weight:600;margin:0 0 8px;color:var(--text-primary)}.ios-verification-step-subtitle{font-size:15px;color:var(--text-secondary);margin:0;line-height:1.4}.ios-verification-step-timer{text-align:center;margin:24px 0;font-size:14px;color:var(--text-secondary)}.ios-verification-step-timer strong{color:var(--text-primary);font-weight:600}.ios-verification-step-expired{color:var(--ios-red, #FF3B30)}.ios-verification-step-actions{display:flex;flex-direction:column;gap:16px;margin-top:24px}.ios-verification-step-help{text-align:center;font-size:13px;color:var(--text-secondary);margin-top:16px}.ios-forgot-password-form{display:flex;flex-direction:column;gap:var(--mobile-section-spacing-md, 1rem)}.ios-forgot-password-info-text,.ios-forgot-password-step-info{font-size:var(--mobile-font-size-body, 1rem);color:var(--text-secondary);margin-bottom:var(--mobile-element-spacing, .5rem);line-height:1.5;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif}.ios-forgot-password-help-text{font-size:var(--mobile-font-size-body-sm, .875rem);color:var(--text-secondary);margin-top:calc(var(--mobile-element-spacing, .5rem) * -1);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif}.ios-forgot-password-verification{display:flex;flex-direction:column;gap:var(--mobile-section-spacing-md, 1rem);align-items:center}.ios-forgot-password-verification-header{display:flex;flex-direction:column;align-items:center;gap:var(--mobile-element-spacing, .5rem);text-align:center}.ios-forgot-password-verification-icon{width:48px;height:48px;border-radius:50%;background:var(--accent-green);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:600}.ios-forgot-password-verification-title{margin:0;font-size:var(--ios-font-size-title-md, 1.25rem);font-weight:var(--ios-font-weight-section, 600);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif}.ios-forgot-password-verification-subtitle{margin:0;font-size:var(--mobile-font-size-body, 1rem);color:var(--text-secondary);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif;line-height:1.5}.ios-forgot-password-verification-timer{text-align:center;font-size:var(--mobile-font-size-body-sm, .875rem);color:var(--text-secondary);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif}.ios-forgot-password-verification-timer strong{color:var(--text-primary);font-weight:600}.ios-forgot-password-verification-expired{color:var(--accent-red)}.ios-forgot-password-actions{display:flex;flex-direction:column;gap:var(--mobile-element-spacing, .5rem);margin-top:var(--mobile-element-spacing, .5rem)}.ios-forgot-password-toggle{margin-top:calc(var(--mobile-element-spacing, .5rem) * -1)}.ios-forgot-password-success{display:flex;flex-direction:column;gap:var(--mobile-section-spacing-md, 1rem)}.ios-forgot-password-success-header{display:flex;flex-direction:column;align-items:center;gap:var(--mobile-element-spacing, .5rem)}.ios-forgot-password-success-icon{width:48px;height:48px;border-radius:50%;background:var(--accent-green);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:600}.ios-forgot-password-success-title{margin:0;font-size:var(--ios-font-size-title-md, 1.25rem);font-weight:var(--ios-font-weight-section, 600);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif}.ios-forgot-password-success-card{padding:16px;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border-color, rgba(230, 232, 235, .1))}.ios-forgot-password-success-card p{margin:0;font-size:var(--mobile-font-size-body, 1rem);color:var(--text-secondary);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif;line-height:1.5}.ios-forgot-password-success-email{margin-top:8px!important;font-weight:600!important;color:var(--text-primary)!important}.ios-forgot-password-success-info{font-size:var(--mobile-font-size-body-sm, .875rem);color:var(--text-secondary);line-height:1.5;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif}.ios-forgot-password-success-info p{margin:0 0 8px}.ios-forgot-password-success-info ul{margin:0;padding-left:20px}.ios-forgot-password-success-info li{margin-bottom:4px}.ios-login-form{display:flex;flex-direction:column;gap:var(--mobile-section-spacing-md, 1rem)}.ios-login-actions{display:flex;flex-direction:column;gap:var(--mobile-element-spacing, .5rem);margin-top:var(--mobile-element-spacing, .5rem)}.ios-login-toggle-method{margin-top:calc(var(--mobile-element-spacing, .5rem) * -1)}.ios-signup-form{display:flex;flex-direction:column;gap:var(--mobile-section-spacing-md, 1rem)}.ios-signup-step-info{font-size:var(--mobile-font-size-body, 1rem);color:var(--text-secondary);margin-bottom:var(--mobile-element-spacing, .5rem);line-height:1.5;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif}.ios-signup-cooldown{padding:12px;background:#2ec4b61a;border:1px solid rgba(46,196,182,.2);border-radius:8px;color:var(--accent-green);font-size:var(--mobile-font-size-body-sm, .875rem);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif}.ios-signup-terms{margin-top:var(--mobile-element-spacing, .5rem)}.ios-signup-terms-checkbox{display:flex;align-items:flex-start;gap:8px;cursor:pointer;font-size:var(--mobile-font-size-body-sm, .875rem);color:var(--text-secondary);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif;line-height:1.5}.ios-signup-terms-checkbox input[type=checkbox]{margin-top:2px;min-width:18px;min-height:18px;cursor:pointer;accent-color:var(--accent-green);flex-shrink:0}.ios-signup-terms-checkbox span{flex:1;min-width:0}.ios-signup-terms-checkbox:has(input:disabled){opacity:.6;cursor:not-allowed}.ios-signup-terms-link{color:var(--accent-green);text-decoration:underline}.ios-signup-terms-link:hover{color:var(--accent-green-hover)}.ios-signup-actions{display:flex;flex-direction:column;gap:var(--mobile-element-spacing, .5rem);margin-top:var(--mobile-element-spacing, .5rem)}.ios-signup-toggle-method{margin-top:calc(var(--mobile-element-spacing, .5rem) * -1)}.ios-signup-help-text{font-size:var(--mobile-font-size-body-sm, .875rem);color:var(--text-secondary);margin-top:calc(var(--mobile-element-spacing, .5rem) * -1);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif}.ios-signup-verification{display:flex;flex-direction:column;gap:var(--mobile-section-spacing-md, 1rem);align-items:center}.ios-signup-verification-header{display:flex;flex-direction:column;align-items:center;gap:var(--mobile-element-spacing, .5rem);text-align:center}.ios-signup-verification-icon{width:48px;height:48px;border-radius:50%;background:var(--accent-green);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:600}.ios-signup-verification-title{margin:0;font-size:var(--ios-font-size-title-md, 1.25rem);font-weight:var(--ios-font-weight-section, 600);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif}.ios-signup-verification-subtitle{margin:0;font-size:var(--mobile-font-size-body, 1rem);color:var(--text-secondary);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif;line-height:1.5}.ios-signup-verification-timer{text-align:center;font-size:var(--mobile-font-size-body-sm, .875rem);color:var(--text-secondary);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif}.ios-signup-verification-timer strong{color:var(--text-primary);font-weight:600}.ios-signup-verification-expired{color:var(--accent-red)}.ios-anonymous-landing-page{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:var(--ios-bg-primary, #ffffff);display:flex;flex-direction:column;justify-content:center;align-items:center;padding:env(safe-area-inset-top) 16px env(safe-area-inset-bottom) 16px;box-sizing:border-box}.ios-landing-content{width:100%;max-width:400px;display:flex;flex-direction:column;align-items:center;text-align:center}.ios-landing-header{margin-bottom:48px}.ios-landing-title{font-size:32px;font-weight:700;color:var(--ios-text-primary, #000000);margin:0 0 8px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,sans-serif}.ios-landing-subtitle{font-size:18px;font-weight:400;color:var(--ios-text-secondary, #666666);margin:0;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif;line-height:1.4}.ios-landing-actions{width:100%;display:flex;flex-direction:column;align-items:center;gap:16px;margin-bottom:48px}.ios-landing-primary-button{width:100%;height:56px;background-color:var(--ios-accent-blue, #007aff);color:#fff;border:none;border-radius:14px;font-size:17px;font-weight:600;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #007aff33}.ios-landing-primary-button:hover{background-color:var(--ios-accent-blue-hover, #0056cc)}.ios-landing-primary-button:active{transform:scale(.98);box-shadow:0 1px 4px #007aff4d}.ios-landing-primary-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.ios-landing-secondary-link{background:none;border:none;color:var(--ios-accent-blue, #007aff);font-size:16px;font-weight:400;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif;cursor:pointer;padding:8px;text-decoration:none;transition:opacity .2s ease}.ios-landing-secondary-link:hover{opacity:.8}.ios-landing-secondary-link:active{opacity:.6}.ios-landing-secondary-link:disabled{opacity:.4;cursor:not-allowed}.ios-landing-footer{margin-top:auto;padding-top:24px}.ios-landing-terms-footer{font-size:13px;font-weight:400;color:var(--ios-text-secondary, #666666);margin:0 0 8px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif;line-height:1.4;text-align:center}.ios-landing-terms-link{background:none;border:none;color:var(--ios-accent-blue, #007aff);font-size:13px;font-weight:400;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif;cursor:pointer;padding:0;text-decoration:underline;transition:opacity .2s ease}.ios-landing-terms-link:hover{opacity:.8}.ios-landing-terms-link:active{opacity:.6}.ios-landing-branding{font-size:14px;font-weight:400;color:var(--ios-text-tertiary, #999999);margin:0;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif}.ios-landing-loading-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#fffc;display:flex;justify-content:center;align-items:center;z-index:1000}.ios-landing-loading-spinner{width:32px;height:32px;border:3px solid var(--ios-bg-secondary, #f2f2f7);border-top:3px solid var(--ios-accent-blue, #007aff);border-radius:50%;animation:ios-landing-spin 1s linear infinite}@keyframes ios-landing-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.tab-bar[data-platform]{height:var(--layout-tab-bar-height, 80px);flex-shrink:0;background:var(--bg-primary);border-top:1px solid var(--border-color, rgba(230, 232, 235, .1));display:flex;align-items:center;justify-content:space-around;padding:0 8px;transition:transform .3s ease,opacity .3s ease;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 -2px 10px #0000001a}.tab-bar[data-platform=ios]{position:fixed;bottom:0;left:0;right:0;z-index:1000;background:#fffffff2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:.5px solid rgba(0,0,0,.1);box-shadow:0 -1px 3px #0000001a;padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .3s ease;will-change:transform,opacity}.tab-bar[data-platform=ios].keyboard-visible{transform:translateY(100%);opacity:0}.tab-bar[data-platform=mobile-web]{height:var(--layout-tab-bar-height);flex:0 0 auto;position:relative;z-index:200}.tab-bar[data-platform] .tab-item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px 4px;margin:0 2px;border-radius:12px;background:transparent;border:none;cursor:pointer;transition:all .2s ease;position:relative;min-height:60px;color:var(--text-secondary)}.tab-bar[data-platform=ios] .tab-item{padding:8px 2px;margin:4px;transition:all .2s cubic-bezier(.4,0,.2,1);min-height:50px}.tab-bar[data-platform] .tab-icon{font-size:1.25rem;line-height:1;margin-bottom:2px}.tab-bar[data-platform=ios] .tab-icon{font-size:1.25rem;margin-bottom:4px}.tab-bar[data-platform] .tab-label{font-size:.75rem;font-weight:500;line-height:1;text-align:center}.tab-bar[data-platform=ios] .tab-label{font-size:.75rem;font-weight:500}.tab-bar[data-platform] .tab-item.active{color:var(--accent-green)}.tab-bar[data-platform] .tab-item.active .tab-icon{transform:scale(1.1)}.tab-bar[data-platform] .tab-item.active .tab-label{font-weight:600}.tab-bar[data-platform=ios] .tab-item.active{background:#2ec4b61a}.tab-bar[data-platform=ios] .tab-item.active .tab-icon{color:var(--accent-green)}.tab-bar[data-platform=ios] .tab-item.active .tab-label{color:var(--accent-green);font-weight:600}.tab-bar[data-platform] .tab-indicator{position:absolute;top:0;left:50%;transform:translate(-50%);width:24px;height:3px;background:var(--accent-green);border-radius:2px}.tab-bar[data-platform=ios] .tab-indicator{width:32px;height:3px;background:var(--accent-green);border-radius:2px}.tab-bar[data-platform] .tab-item:hover:not(.active){background:var(--bg-tertiary);color:var(--text-primary)}.tab-bar[data-platform] .tab-item:hover:not(.active) .tab-icon{transform:scale(1.05)}.tab-bar[data-platform=ios] .tab-item:hover:not(.active){background:#0000000d}.tab-bar[data-platform] .tab-item:focus-visible{outline:2px solid var(--accent-green);outline-offset:2px}@media(max-width:480px){.tab-bar[data-platform]{padding:0 4px}.tab-bar[data-platform=ios]{padding:0 4px;padding-bottom:calc(4px + env(safe-area-inset-bottom));padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.tab-bar[data-platform] .tab-item{padding:6px 2px;margin:0 1px;min-height:56px}.tab-bar[data-platform=ios] .tab-item{padding:6px 1px;margin:2px;min-height:44px}.tab-bar[data-platform] .tab-icon{font-size:1.125rem}.tab-bar[data-platform] .tab-label{font-size:.6875rem}}@media(prefers-color-scheme:dark){.tab-bar[data-platform=ios]{background:#000000f2;border-top-color:#ffffff1a}.tab-bar[data-platform=ios] .tab-item:hover:not(.active){background:#ffffff0d}}@media(prefers-contrast:high){.tab-bar[data-platform] .tab-item{border:1px solid transparent}.tab-bar[data-platform] .tab-item:focus-visible{border-color:currentColor}.tab-bar[data-platform] .tab-item.active{border-color:var(--accent-green)}}@media(prefers-reduced-motion:reduce){.tab-bar[data-platform],.tab-bar[data-platform] .tab-item,.tab-bar[data-platform] .tab-icon{transition:none}.tab-bar[data-platform] .tab-item.active .tab-icon,.tab-bar[data-platform] .tab-item:hover .tab-icon{transform:none}}.ios-navigation-container{display:flex;flex-direction:column;height:100vh;height:calc(100vh - env(safe-area-inset-top));background:var(--bg-primary);position:fixed;inset:0;z-index:var(--z-index-navigation-overlay);pointer-events:auto;-webkit-backdrop-filter:none;backdrop-filter:none;overscroll-behavior:none;width:100vw;max-width:100vw;overflow:hidden}.ios-tab-content{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:var(--layout-tab-bar-height);position:relative}.ios-tab-panel{position:absolute;inset:0;transform:translate3d(100%,0,0);will-change:transform;backface-visibility:hidden;contain:layout style paint;transition:transform .2s cubic-bezier(.4,0,.2,1);pointer-events:none}.ios-tab-panel.active{transform:translateZ(0);pointer-events:auto;z-index:1;will-change:auto}.ios-tab-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:2rem;gap:1rem}.ios-tab-loading p{color:var(--text-secondary);font-size:.9rem;margin:0}.ios-tab-loading-spinner{width:32px;height:32px;border:3px solid var(--border-color);border-top:3px solid var(--cta-primary);border-radius:50%;animation:ios-spin 1s linear infinite}.ios-tab-content{overflow-x:hidden;height:100%}.ios-view-content{position:absolute;top:0;bottom:var(--layout-tab-bar-height);left:0;right:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;background:var(--bg-primary);padding-top:env(safe-area-inset-top);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);z-index:1}.ios-view-content-no-scroll{overflow-y:hidden;-webkit-overflow-scrolling:auto}.ios-view-loading{display:flex;align-items:center;justify-content:center;height:100%;padding:2rem}.ios-view-loading-spinner{width:32px;height:32px;border:3px solid var(--border-color);border-top:3px solid var(--cta-primary);border-radius:50%;animation:ios-spin 1s linear infinite}@media(prefers-reduced-motion:reduce){.ios-tab-panel{transition:none}.ios-tab-loading-spinner{animation:none}}@media(prefers-contrast:high){.ios-tab-loading-spinner{border-width:4px}}body.ios-navigation-active,html.ios-navigation-active{overflow:hidden!important;position:fixed!important;width:100%;height:100%}.app-container.ios-navigation-active{overflow:hidden;position:fixed;width:100vw;height:100vh}.app-container.ios-navigation-active>*:not(.ios-navigation-container){visibility:hidden!important;pointer-events:none!important}.ios-navigation-container{visibility:visible!important;pointer-events:auto!important}.ios-navigation-loading,.ios-navigation-error{position:fixed;inset:0;background:var(--bg-primary);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:10000;padding:2rem;text-align:center}.ios-navigation-loading p,.ios-navigation-error p{color:var(--text-secondary);margin:1rem 0;font-size:.9rem}.ios-navigation-error h3{color:var(--text-primary);margin:0 0 1rem;font-size:1.2rem;font-weight:600}.ios-error-actions{display:flex;gap:1rem;margin-top:1.5rem}.ios-retry-btn,.ios-reload-btn{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.ios-retry-btn{background:var(--cta-primary);color:#fff}.ios-retry-btn:hover{background:var(--cta-primary-hover, var(--cta-primary));transform:translateY(-1px)}.ios-reload-btn{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.ios-reload-btn:hover{background:var(--bg-tertiary)}@media print{.ios-navigation-container{height:auto;padding-bottom:0}.ios-tab-content{padding-bottom:0}.ios-navigation-loading,.ios-navigation-error{display:none}}[data-platform=ios-app] .ios-navigation-container{position:fixed;z-index:var(--z-index-navigation-overlay)}[data-platform=mobile-web] .ios-navigation-container{position:var(--mobile-web-navigation-position);z-index:auto;height:100%;width:100%;inset:auto;flex:1;pointer-events:auto;overflow:visible}[data-platform=mobile-web] .ios-navigation-container .ios-view-content{bottom:57px}[data-platform=mobile-web] .ios-navigation-container .ios-tab-content{height:100%;padding-bottom:0}[data-platform=mobile-web] body.ios-navigation-active,[data-platform=mobile-web] html.ios-navigation-active,[data-platform=mobile-web] .app-container.ios-navigation-active{overflow:auto;position:static;width:auto;height:auto}[data-platform=mobile-web] .app-container.ios-navigation-active>*:not(.ios-navigation-container){visibility:visible;pointer-events:auto}[data-platform=mobile-web] .ios-navigation-container .ios-tab-panel{position:relative;transform:none;display:none}[data-platform=mobile-web] .ios-navigation-container .ios-tab-panel.active{display:block;transform:none;height:100%;width:100%}.ios-stack-navigator{display:flex;flex-direction:column;height:100%;position:relative}.ios-stack-header{position:sticky;top:0;z-index:10;background:var(--bg-primary);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:.5px solid rgba(255,255,255,.1);padding:0;display:flex;align-items:center;min-height:44px;padding-top:env(safe-area-inset-top);box-shadow:0 1px 3px #0000001a}.ios-stack-header-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;min-height:0;box-shadow:none}.ios-back-button{display:flex;align-items:center;padding:8px 16px;background:none;border:none;cursor:pointer;color:var(--cta-primary);font-size:var(--ios-font-size-body);font-weight:var(--font-weight-normal);transition:opacity .2s ease;border-radius:8px;margin-left:8px}.ios-back-button:hover{background:#0000000d}.ios-back-button:active{background:#0000001a;transform:scale(.98)}.ios-back-icon{margin-right:4px;font-size:var(--ios-font-size-body-sm);font-weight:700}.ios-back-label{font-size:17px;line-height:1}.ios-stack-title{flex:1;text-align:center;font-size:var(--ios-font-size-body);font-weight:var(--ios-font-weight-section);color:var(--text-primary);margin:0;padding-right:80px}.ios-stack-content{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:var(--layout-tab-bar-height);background:var(--bg-primary);width:100%;max-width:100%;min-width:0}.ios-stack-view{min-height:100%;animation:ios-slide-in .3s ease-out}.ios-stack-view-enter{animation:ios-slide-in .3s ease-out}.ios-stack-view-exit{animation:ios-slide-out .3s ease-in}@keyframes ios-slide-in{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes ios-slide-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(-20px)}}@media(prefers-reduced-motion:reduce){.ios-stack-view,.ios-stack-view-enter,.ios-stack-view-exit{animation:none}.ios-back-button:active{transform:none}}@media(prefers-color-scheme:dark){.ios-stack-header{background:#000c;border-bottom-color:#ffffff1a}.ios-back-button:hover{background:#ffffff1a}.ios-back-button:active{background:#fff3}}@media(prefers-contrast:high){.ios-stack-header{border-bottom-width:1px;background:var(--bg-primary)}.ios-back-button{border:1px solid var(--cta-primary)}}@media print{.ios-stack-navigator{position:static}.ios-stack-header{position:static;background:var(--white);border:1px solid var(--black)}.ios-stack-content{padding-bottom:0}}.btn-primitive{border:none;background:none;padding:0;margin:0;font:inherit;cursor:pointer;outline:none;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:var(--component-spacing-xs, 8px);box-sizing:border-box;font-family:var(--font-primary);font-weight:var(--font-weight-medium);text-align:center;white-space:nowrap;transition:all var(--duration-normal) ease;-webkit-appearance:none;-webkit-tap-highlight-color:transparent}.btn-primitive-primary{background:var(--cta-primary);color:var(--white);border:2px solid var(--cta-primary)}.btn-primitive-primary:hover:not(.btn-primitive-disabled){background:var(--cta-primary-hover);border-color:var(--cta-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-primitive-secondary{background:var(--bg-secondary);color:var(--text-primary);border:2px solid var(--border-color)}.btn-primitive-secondary:hover:not(.btn-primitive-disabled){background:var(--bg-tertiary);border-color:var(--accent-green);color:var(--accent-green)}.btn-primitive-outline{background:transparent;color:var(--cta-primary);border:2px solid var(--cta-primary)}.btn-primitive-outline:hover:not(.btn-primitive-disabled){background:#2ec4b61a;transform:translateY(-1px)}.btn-primitive-ghost{background:transparent;color:var(--text-primary);border:2px solid transparent}.btn-primitive-ghost:hover:not(.btn-primitive-disabled){background:var(--bg-tertiary)}.btn-primitive-danger{background:var(--score-poor);color:var(--white);border:2px solid var(--score-poor)}.btn-primitive-danger:hover:not(.btn-primitive-disabled){background:var(--score-poor-hover);border-color:var(--score-poor-hover)}.btn-primitive-xs{min-height:var(--touch-target-min-compact, 32px);padding:var(--component-spacing-xs, 8px) var(--component-spacing-sm, 12px);font-size:var(--font-size-xs, .75rem);border-radius:var(--border-radius-sm, 6px)}.btn-primitive-sm{min-height:var(--touch-target-min-compact, 32px);padding:var(--component-spacing-sm, 12px) var(--component-spacing-sm, 12px);font-size:var(--font-size-sm, .875rem);border-radius:var(--border-radius-sm, 6px)}.btn-primitive-md{min-height:var(--touch-target-min, 44px);padding:var(--component-spacing-sm, 12px) var(--component-spacing-md, 16px);font-size:var(--font-size-base, 1rem);border-radius:var(--border-radius-md, 8px)}.btn-primitive-lg{min-height:var(--button-height-large, 48px);padding:var(--component-spacing-md, 16px) var(--component-spacing-lg, 24px);font-size:var(--font-size-lg, 1.125rem);border-radius:var(--border-radius-lg, 12px)}.btn-primitive-xl{min-height:var(--button-height-large, 48px);padding:var(--component-spacing-lg, 24px) var(--component-spacing-lg, 24px);font-size:var(--font-size-xl, 1.25rem);border-radius:var(--border-radius-xl, 14px)}.btn-primitive-ios,.btn-primitive-mobile{font-weight:var(--font-weight-semibold);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.btn-primitive-desktop{font-weight:var(--font-weight-medium)}.btn-primitive-full-width{width:100%;display:flex}.btn-primitive-loading{cursor:not-allowed;opacity:.7}.btn-primitive-disabled{cursor:not-allowed;opacity:.5;pointer-events:none}.btn-primitive:disabled,.btn-primitive-disabled{cursor:not-allowed;opacity:.5}.btn-primitive-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.btn-primitive:focus-visible{outline:2px solid var(--accent-green);outline-offset:2px}@media(prefers-color-scheme:dark){.btn-primitive-secondary{border-color:var(--border-color)}}.container-primitive{box-sizing:border-box;position:relative;contain:layout style}.container-primitive-tab{padding:var(--ios-tab-container-padding);min-height:100%}.container-primitive-view{padding:var(--ios-view-container-padding);width:100%;max-width:100%;overflow-x:hidden;box-sizing:border-box}.container-primitive-subtab{padding:var(--ios-subtab-content-padding)}.container-primitive-card{padding:var(--card-padding, 20px)}.container-primitive-page{padding:var(--space-4, 16px);min-height:100%}.container-primitive-with-subtabs{padding-bottom:calc(var(--ios-container-padding-bottom, 16px) + var(--ios-safe-area-bottom, 0px) + var(--subtab-bar-height, 60px))}.container-primitive-safe-area{padding-top:calc(var(--mobile-container-padding-top, 20px) + var(--mobile-safe-area-top, 0px));padding-bottom:calc(var(--mobile-container-padding-bottom, 16px) + var(--mobile-safe-area-bottom, 0px))}.container-primitive-full-width{width:100%;max-width:100%;min-width:0}.container-primitive-ios .container-primitive-tab,.container-primitive-mobile .container-primitive-tab{padding-top:calc(var(--mobile-container-padding-top, 20px) + var(--mobile-safe-area-top, 0px));padding-bottom:calc(var(--mobile-container-padding-bottom, 16px) + var(--mobile-safe-area-bottom, 0px))}.container-primitive-desktop{padding-top:var(--mobile-container-padding-top, 20px);padding-bottom:var(--mobile-container-padding-bottom, 16px)}@media(max-width:480px){.container-primitive-ios .container-primitive-tab,.container-primitive-mobile .container-primitive-tab{padding-left:var(--mobile-container-padding-sides-mobile, 12px);padding-right:var(--mobile-container-padding-sides-mobile, 12px)}.container-primitive-with-subtabs{padding-bottom:calc(var(--ios-container-padding-bottom, 16px) + var(--ios-safe-area-bottom, 0px) + var(--subtab-bar-height, 60px))}.container-primitive-view{width:100%;max-width:100%;overflow-x:hidden}}.card-primitive{box-sizing:border-box;position:relative;display:block;background:var(--bg-secondary);border-radius:var(--card-border-radius, 16px);border:1px solid var(--border-color);contain:layout style}.card-primitive-elevated{box-shadow:var(--shadow-md)}.card-primitive-elevated:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px);transition:all var(--duration-normal) ease}.card-primitive-bordered{border-width:2px;border-color:var(--accent-green)}.card-primitive-flat{background:transparent;border:none;border-radius:0}.card-primitive-sm{padding:var(--component-spacing-sm, 12px)}.card-primitive-md{padding:var(--card-padding, 20px)}.card-primitive-lg{padding:var(--component-spacing-lg, 24px)}.card-primitive-xl{padding:calc(var(--component-spacing-lg, 24px) * 1.5)}.card-primitive-clickable{cursor:pointer;transition:all var(--duration-normal) ease;-webkit-user-select:none;user-select:none}.card-primitive-clickable:hover{border-color:var(--accent-green);box-shadow:var(--shadow-sm)}.card-primitive-clickable:active{transform:translateY(1px)}.card-primitive-full-width{width:100%}.card-primitive-ios,.card-primitive-mobile{-webkit-tap-highlight-color:transparent}.card-primitive-clickable:focus-visible{outline:2px solid var(--accent-green);outline-offset:2px}@media(prefers-color-scheme:dark){.card-primitive{background:var(--bg-secondary);border-color:var(--border-color)}.card-primitive-flat{background:transparent}}.ios-tab-header{margin-bottom:16px;text-align:center;display:flex;flex-direction:column;justify-content:flex-start}.ios-tab-header.ios-tab-header-with-user-info{min-height:80px;margin-bottom:24px}.ios-tab-header-content{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:16px;margin-bottom:8px}.ios-tab-title{margin:0 0 8px;color:var(--text-primary);font-size:1.75rem;font-weight:700;background:linear-gradient(135deg,var(--accent-green),var(--accent-blue));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.ios-tab-subtitle{margin:0;color:var(--text-secondary);font-size:1rem}.ios-tab-user-summary{display:flex;align-items:center;gap:8px}.ios-tab-user-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--accent-green),var(--accent-blue));color:var(--white);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.9rem}.ios-tab-user-name{color:var(--text-primary);font-size:1rem;font-weight:600}.ios-tab-username{color:var(--text-secondary);font-weight:400;margin-left:4px}@media(max-width:480px){.ios-tab-title{font-size:1.5rem}.ios-tab-subtitle,.ios-tab-user-name{font-size:.9rem}.ios-tab-user-email{font-size:.8rem}}.header-primitive{box-sizing:border-box;position:relative;width:100%;contain:layout style}.header-primitive-tab{margin-bottom:var(--tab-header-margin-bottom, 24px)}.header-primitive-page{padding:var(--component-spacing-md, 16px);background:var(--bg-primary);border-bottom:1px solid var(--border-color)}.header-primitive-card{padding:var(--component-spacing-md, 16px) var(--card-padding, 20px);border-bottom:1px solid var(--border-color);margin:calc(var(--card-padding, 20px) * -1) calc(var(--card-padding, 20px) * -1) var(--component-spacing-md, 16px)}.header-primitive-minimal{padding:var(--component-spacing-sm, 12px)}.header-primitive-sticky{position:sticky;top:0;z-index:var(--z-sticky, 100);background:var(--bg-primary)}.header-primitive-left,.header-primitive-right{display:flex;align-items:center}.header-primitive-main{flex:1;text-align:center}.header-primitive-title{font-size:var(--mobile-font-size-title-lg, 1.25rem);font-weight:var(--mobile-font-weight-title, 700);color:var(--text-primary);margin:0}.header-primitive-subtitle{font-size:var(--mobile-font-size-body-sm, .875rem);color:var(--text-secondary);margin:var(--text-margin-bottom, 4px) 0 0 0}@media(max-width:480px){.header-primitive-page{padding:var(--component-spacing-sm, 12px)}.header-primitive-title{font-size:var(--mobile-font-size-title-md, 1.125rem)}}@media(prefers-color-scheme:dark){.header-primitive-page,.header-primitive-sticky{background:var(--bg-primary);border-color:var(--border-color)}}.ios-bottom-action-sheet-overlay{position:fixed;inset:0;background:#0006;z-index:10005;display:flex;align-items:flex-end;justify-content:center;animation:ios-action-sheet-fade-in .2s ease-out}@keyframes ios-action-sheet-fade-in{0%{opacity:0}to{opacity:1}}.ios-bottom-action-sheet{width:100%;max-width:500px;background:var(--bg-primary);border-radius:16px 16px 0 0;padding:8px;padding-bottom:calc(8px + env(safe-area-inset-bottom));box-shadow:0 -4px 20px #0000004d;animation:ios-action-sheet-slide-up .3s cubic-bezier(.4,0,.2,1);max-height:80vh;overflow-y:auto;-webkit-overflow-scrolling:touch}@keyframes ios-action-sheet-slide-up{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.ios-bottom-action-sheet-title{padding:16px 20px 8px;text-align:center;font-size:13px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.ios-bottom-action-sheet-actions{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}.ios-bottom-action-sheet-action{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:16px 20px;background:var(--bg-secondary);border:none;border-radius:12px;font-size:17px;font-weight:400;color:var(--text-primary);cursor:pointer;transition:background-color .15s ease;min-height:56px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif}.ios-bottom-action-sheet-action:active{background:var(--bg-tertiary);transform:scale(.98)}.ios-bottom-action-sheet-action.destructive{color:var(--accent-orange)}.ios-bottom-action-sheet-action.destructive:active{background:#ff3b301a}.ios-bottom-action-sheet-icon{font-size:20px;line-height:1}.ios-bottom-action-sheet-label{flex:1;text-align:center}.ios-bottom-action-sheet-cancel{width:100%;padding:16px 20px;background:var(--bg-secondary);border:none;border-radius:12px;font-size:17px;font-weight:600;color:var(--text-primary);cursor:pointer;transition:background-color .15s ease;min-height:56px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif}.ios-bottom-action-sheet-cancel:active{background:var(--bg-tertiary);transform:scale(.98)}@media(max-width:480px){.ios-bottom-action-sheet{border-radius:20px 20px 0 0;padding:12px;padding-bottom:calc(12px + env(safe-area-inset-bottom))}.ios-bottom-action-sheet-action,.ios-bottom-action-sheet-cancel{min-height:52px;font-size:16px}}.x-post-modal-textarea{width:100%;padding:var(--spacing-3);border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-primary);font-size:var(--font-size-sm);resize:vertical;font-family:inherit}.x-post-modal-textarea.over-limit{border:2px solid var(--accent-orange)}.x-post-modal-actions{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-2);margin-top:var(--spacing-2)}.x-post-modal-char-count{font-size:var(--font-size-xs);color:var(--text-secondary)}.x-post-modal-char-count.warning{color:var(--accent-orange)}.x-post-modal-submit-btn{padding:var(--spacing-2) var(--spacing-4);background:var(--accent-blue);color:#fff;border:none;border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer;transition:background-color .2s ease}.x-post-modal-submit-btn:hover:not(:disabled){background:var(--accent-blue-hover)}.x-post-modal-submit-btn:disabled{background:var(--bg-tertiary);opacity:.6;cursor:not-allowed}.x-post-modal-form-actions{display:flex;justify-content:flex-end;gap:var(--spacing-2);margin-top:var(--spacing-4)}.ios-analysis-modal-overlay{position:fixed;inset:0;background:#000000bf;display:flex;align-items:center;justify-content:center;z-index:10000;padding:var(--ios-modal-padding)}.ios-analysis-modal-content{background:var(--bg-primary);border-radius:12px;max-width:90vw;max-height:90vh;width:100%;display:flex;flex-direction:column;box-shadow:0 10px 40px #0000004d;min-height:0;overflow:hidden}.ios-analysis-modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--ios-modal-header-padding);border-bottom:1px solid var(--border-color)}.ios-analysis-modal-header h2{margin:0;font-size:var(--ios-font-size-title-md);font-weight:var(--ios-font-weight-section);color:var(--text-primary)}.ios-analysis-modal-share-button{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:18px;transition:all .2s ease;flex-shrink:0;min-width:36px;min-height:36px}.ios-analysis-modal-share-button:hover{background:var(--bg-tertiary);transform:scale(1.05)}.ios-analysis-modal-share-button:active{transform:scale(.95)}.ios-analysis-modal-share-button:disabled{opacity:.6;cursor:not-allowed}.ios-analysis-modal-close{background:none;border:none;font-size:var(--ios-icon-size-md);color:var(--text-secondary);cursor:pointer;padding:4px 8px;border-radius:4px;transition:all .2s ease}.ios-analysis-modal-close:hover{background:var(--bg-tertiary);color:var(--text-primary)}.ios-analysis-modal-body{padding:var(--ios-modal-body-padding);overflow-y:auto;overflow-x:hidden;flex:1;-webkit-overflow-scrolling:touch;min-height:0}.ios-analysis-modal-loading,.ios-analysis-modal-error{text-align:center;padding:40px 20px}.ios-analysis-modal-loading p,.ios-analysis-modal-error p{color:var(--text-secondary);margin:0}.ios-analysis-modal-loading-small,.ios-analysis-modal-error-small{text-align:center;padding:20px}.ios-analysis-modal-loading-small p{color:var(--text-secondary);margin:0;font-size:.9rem}.ios-analysis-modal-info{display:flex;flex-direction:column;gap:8px;margin-bottom:20px;padding:16px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px}.ios-analysis-modal-score{font-size:var(--ios-font-size-display);font-weight:var(--ios-font-weight-title);color:var(--score-excellent)}.ios-analysis-modal-exercise{font-size:var(--ios-font-size-title-sm);font-weight:var(--ios-font-weight-section);color:var(--text-primary)}.ios-analysis-modal-date{font-size:var(--ios-font-size-body-sm);color:var(--text-secondary)}.ios-analysis-modal-section{margin-top:16px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-tertiary)}.ios-analysis-modal-section-header{cursor:pointer;font-weight:600;padding:var(--space-3) var(--space-4);background:none;border:none;width:100%;text-align:left;color:var(--text-primary);font-size:var(--ios-font-size-body-sm);border-radius:8px;transition:background-color .2s ease}.ios-analysis-modal-section-header:hover{background:var(--bg-secondary)}.ios-analysis-modal-section-header.ios-analysis-modal-warning{color:var(--score-warning)}.ios-analysis-modal-section-content{padding:16px;border-top:1px solid var(--border-color)}.ios-analysis-modal-notes{margin-top:20px;padding:16px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px}.ios-analysis-modal-notes-title{margin:0 0 8px;font-size:var(--ios-font-size-body-sm);font-weight:var(--ios-font-weight-section);color:var(--text-primary)}.ios-analysis-modal-notes-content{margin:0;font-size:.9rem;color:var(--text-primary);white-space:pre-wrap;word-wrap:break-word;font-style:italic;opacity:.8}@media(max-width:768px){.ios-analysis-modal-overlay{padding:var(--space-2)}.ios-analysis-modal-content{max-width:95vw;max-height:95vh}.ios-analysis-modal-header{padding:var(--space-4) var(--space-5) var(--space-3) var(--space-5)}.ios-analysis-modal-header h2{font-size:var(--ios-font-size-title-sm)}.ios-analysis-modal-body{padding:0 var(--space-5) var(--space-5) var(--space-5)}.ios-analysis-modal-info{padding:var(--space-3);margin-bottom:var(--space-4)}.ios-analysis-modal-score{font-size:var(--ios-font-size-title-lg)}.ios-analysis-modal-exercise{font-size:var(--ios-font-size-body)}.ios-analysis-modal-notes{padding:var(--space-3)}}@media(prefers-contrast:high){.ios-analysis-modal-content{border:2px solid var(--border-color)}.ios-analysis-modal-section,.ios-analysis-modal-notes,.ios-analysis-modal-info{border-width:2px}}.progress-loading-state,.progress-error-state{padding:var(--spacing-5);text-align:center}.progress-error-text{color:var(--accent-orange);margin-bottom:var(--spacing-4)}.progress-quick-analysis{margin-bottom:var(--ios-section-spacing-lg)}.progress-header{margin-bottom:var(--ios-header-margin-bottom);text-align:center}.progress-title{margin:0 0 var(--component-spacing-xs, 8px) 0;color:var(--text-primary);font-size:var(--mobile-font-size-hero, 1.75rem);font-weight:700;background:linear-gradient(135deg,var(--accent-green),var(--accent-blue));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.progress-subtitle{margin:0;color:var(--text-secondary);font-size:var(--mobile-font-size-body, 1rem)}.analysis-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-lg, 12px);overflow:hidden;width:100%;max-width:100%;box-sizing:border-box}.analysis-view-all-link{background:none;border:none;color:var(--accent-green);font-size:var(--ios-font-size-body-sm);font-weight:var(--font-weight-medium);cursor:pointer;padding:var(--space-1) var(--space-2);border-radius:var(--border-radius-sm, 6px);transition:all .2s ease}.analysis-view-all-link:hover{background:var(--bg-tertiary)}.analysis-view-full-btn{display:inline-flex;align-items:center;gap:var(--space-2);background:var(--bg-tertiary);color:var(--text-primary);text-decoration:none;padding:var(--space-3) var(--space-4);border-radius:var(--border-radius-md, 8px);font-weight:var(--font-weight-medium);font-size:var(--ios-font-size-body-sm);border:1px solid var(--border-color);transition:all .2s ease;margin:var(--space-5);width:calc(100% - var(--space-10));justify-content:center}.analysis-view-full-btn:hover{background:var(--bg-primary);border-color:var(--accent-green)}.analysis-loading,.analysis-error,.analysis-empty{padding:40px 20px;text-align:center}.analysis-error p{margin:0;font-size:var(--mobile-font-size-caption, .9rem)}.analysis-empty .empty-icon{font-size:var(--mobile-font-size-display, 3rem);margin-bottom:16px;opacity:.6}.analysis-empty h4{margin:0 0 var(--space-2) 0;color:var(--text-primary);font-size:var(--ios-font-size-title-sm)}.analysis-empty p{margin:0;color:var(--text-secondary);font-size:var(--ios-font-size-body-sm)}.recent-analysis-item{display:flex;align-items:center;padding:var(--card-padding, 20px);cursor:pointer;transition:all .2s ease;border-bottom:1px solid var(--border-color);width:100%;min-width:0}.recent-analysis-item:hover{background:var(--bg-tertiary)}.recent-analysis-item:last-child{border-bottom:none}.analysis-content{flex:1;min-width:0}.analysis-main{display:flex;align-items:center;gap:var(--component-spacing-sm, 12px);margin-bottom:6px;flex-wrap:wrap}.analysis-score-large{font-size:var(--mobile-font-size-title-lg, 1.8rem);font-weight:700;padding:4px 8px;border-radius:var(--border-radius-md, 8px);background:#0000001a;min-width:80px;text-align:center}.analysis-exercise-tag{background:var(--bg-tertiary);color:var(--text-primary);padding:4px 8px;border-radius:var(--border-radius-sm, 6px);font-size:var(--font-size-xs, .8rem);font-weight:500;text-transform:uppercase}.analysis-meta{color:var(--text-secondary);font-size:var(--font-size-xs, .8rem)}.analysis-nav-arrow{font-size:var(--font-size-xl, 1.5rem);color:var(--text-secondary);margin-left:var(--component-spacing-md, 16px)}.analysis-stats{display:flex;gap:var(--component-spacing-md, 16px);padding:var(--card-padding, 20px);border-top:1px solid var(--border-color)}.stat-box{flex:1;text-align:center;padding:12px;background:var(--bg-tertiary);border-radius:var(--border-radius-md, 8px)}.stat-number{display:block;font-size:var(--mobile-font-size-title-md, 1.5rem);font-weight:700;color:var(--text-primary);margin-bottom:var(--text-margin-bottom, 4px)}.stat-label{font-size:var(--font-size-xs, .8rem);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.score-excellent{color:var(--score-excellent)}.score-good{color:var(--score-good)}.score-warning{color:var(--score-warning)}.score-poor{color:var(--score-poor)}.progress-summary{margin-bottom:var(--ios-section-spacing-lg)}.summary-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--border-radius-lg, 12px);padding:var(--space-5)}.summary-card h3{margin:0 0 var(--space-2) 0;color:var(--text-primary);font-size:var(--ios-font-size-title-sm);font-weight:var(--ios-font-weight-section)}.summary-description{margin:0 0 var(--space-5) 0;color:var(--text-secondary);font-size:var(--ios-font-size-body-sm);line-height:1.4}.summary-stats{display:flex;gap:var(--component-spacing-md, 16px);margin-bottom:20px}.summary-metric{flex:1;text-align:center}.metric-value{display:block;font-size:var(--ios-font-size-body);font-weight:var(--ios-font-weight-title);color:var(--text-primary);margin-bottom:var(--space-1)}.metric-label{font-size:var(--ios-font-size-caption);color:var(--text-secondary)}.summary-empty{text-align:center;padding:var(--space-5) 0;color:var(--text-secondary);font-size:var(--ios-font-size-body-sm)}.summary-view-btn{display:inline-flex;align-items:center;gap:var(--space-2);background:var(--bg-tertiary);color:var(--text-primary);text-decoration:none;padding:var(--space-3) var(--space-4);border-radius:var(--border-radius-md, 8px);font-weight:var(--font-weight-medium);font-size:var(--ios-font-size-body-sm);border:1px solid var(--border-color);transition:all .2s ease}.summary-view-btn:hover{background:var(--bg-primary);border-color:var(--accent-green)}@media(max-width:480px){.analysis-btn-title{font-size:var(--ios-font-size-title-sm)}.analysis-stats{gap:var(--space-2)}.stat-box{padding:var(--space-2)}.stat-number{font-size:var(--ios-font-size-body)}.summary-stats{flex-direction:column;gap:var(--space-3)}}.ios-pull-to-refresh{position:relative;overflow:hidden;height:100%;width:100%}.ios-pull-indicator{position:absolute;top:0;left:0;right:0;height:40px;display:flex;align-items:center;justify-content:center;background:var(--ios-background-primary);z-index:10;transition:transform .2s ease-out,opacity .2s ease-out;border-bottom:1px solid var(--ios-border-color, rgba(0, 0, 0, .1))}.ios-pull-icon{font-size:16px;margin-right:8px;color:var(--ios-text-secondary);transition:transform .2s ease-out;display:flex;align-items:center;justify-content:center}.ios-pull-text{font-size:var(--ios-font-size-caption, 12px);color:var(--ios-text-secondary);font-weight:var(--ios-font-weight-body, 400)}.ios-pull-content{height:100%;width:100%;max-width:100%;box-sizing:border-box;transition:transform .2s ease-out;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}[data-platform=ios-app] .ios-pull-indicator{font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif}.ios-pull-to-refresh.refreshing .ios-pull-icon{animation:ios-refresh-spin 1s linear infinite}@keyframes ios-refresh-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-color-scheme:dark){.ios-pull-indicator{background:var(--ios-background-primary-dark);border-bottom-color:var(--ios-border-color-dark, rgba(255, 255, 255, .1))}.ios-pull-icon,.ios-pull-text{color:var(--ios-text-secondary-dark)}}@media(prefers-reduced-motion:reduce){.ios-pull-indicator,.ios-pull-content,.ios-pull-icon{transition:none}.ios-pull-to-refresh.refreshing .ios-pull-icon{animation:none}}[data-platform] .page-wrapper{display:flex;flex-direction:column;flex:1;background:var(--bg-primary);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,system-ui,sans-serif}[data-platform] .page-header{position:sticky;top:0;z-index:10;background:var(--bg-primary);border-bottom:1px solid var(--border-color, rgba(230, 232, 235, .1))}[data-platform=ios] .page-header{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding-top:env(safe-area-inset-top)}[data-platform] .page-header-content{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-3) var(--spacing-4);min-height:44px}[data-platform] .page-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--text-primary);margin:0;flex:1;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}[data-platform] .page-title-gradient{background:linear-gradient(135deg,var(--accent-green),var(--accent-blue));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}[data-platform] .header-size-tab-header .page-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);margin-bottom:var(--spacing-2);text-align:center}[data-platform] .header-size-view-header .page-title{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin:0}[data-platform] .page-title-section{flex:1;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-1)}[data-platform] .page-subtitle{font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);color:var(--text-secondary);margin:0;text-align:center}[data-platform] .page-back-button,[data-platform] .page-close-button{background:none;border:none;color:var(--text-primary);cursor:pointer;padding:var(--spacing-2);border-radius:var(--radius-md);min-height:44px;min-width:44px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;font-size:var(--font-size-lg)}[data-platform] .page-back-button:hover,[data-platform] .page-close-button:hover{background:var(--bg-secondary)}[data-platform] .page-back-button{display:flex;align-items:center;gap:var(--spacing-1);margin-right:var(--spacing-3)}[data-platform] .page-back-text{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}[data-platform=ios] .page-back-button{margin-right:var(--spacing-3)}[data-platform=mobile-web] .page-back-text,[data-platform=desktop] .page-back-text{display:none}[data-platform] .page-content-standard{padding:var(--spacing-4)}[data-platform] .page-content-minimal{padding:var(--spacing-2)}[data-platform] .page-content-none{padding:0}[data-platform=ios] .page-wrapper{height:100vh}[data-platform=ios] .page-header{margin-bottom:var(--spacing-3)}[data-platform=ios] .page-title-section{flex:1}[data-platform=ios] .header-size-tab-header .page-title{margin-bottom:var(--spacing-2)}[data-platform=ios] .page-content-standard{padding:var(--spacing-4);padding-bottom:calc(var(--spacing-4) + 84px)}[data-platform=mobile-web] .page-header{position:sticky;top:0;z-index:var(--z-sticky, 10)}[data-platform=mobile-web] .page-header-content{padding:var(--spacing-4) var(--spacing-4) var(--spacing-2) var(--spacing-4)}[data-platform=mobile-web] .page-title{text-align:left;flex:none}[data-platform=mobile-web] .page-title-section{flex:1;align-items:flex-start}[data-platform=desktop] .page-wrapper{max-width:1200px;margin:0 auto}[data-platform=desktop] .page-header-content{padding:var(--spacing-5) var(--spacing-6)}[data-platform=desktop] .page-content-standard{padding:var(--spacing-6)}@media(max-width:768px){[data-platform=desktop] .page-wrapper{margin:0}[data-platform=desktop] .page-header-content,[data-platform=desktop] .page-content-standard{padding:var(--spacing-4)}}@media(max-width:480px){[data-platform] .page-header-content{padding:var(--spacing-3) var(--spacing-4)}[data-platform] .page-title{font-size:var(--font-size-base)}[data-platform] .header-size-tab-header .page-title{font-size:var(--font-size-lg)}[data-platform=ios] .page-wrapper:focus{font-size:16px}}@media(prefers-color-scheme:dark){[data-platform] .page-header{border-color:var(--border-color)}}@media(prefers-contrast:high){[data-platform] .page-back-button:hover,[data-platform] .page-close-button:hover{background:var(--text-primary);color:var(--bg-primary)}}@media(prefers-reduced-motion:reduce){[data-platform] .page-back-button,[data-platform] .page-close-button{transition:none}}@supports (padding: max(0px)){[data-platform=ios] .page-header{padding-top:env(safe-area-inset-top)}[data-platform=ios] .page-content-standard{padding-bottom:calc(var(--spacing-4) + 64px + max(var(--spacing-4),env(safe-area-inset-bottom)))}}.ios-analysis-container{display:flex;flex-direction:column;gap:16px;padding:16px 0}.ios-analysis-upload-section{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:16px}.ios-analysis-results-section{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 2px 8px #0000001a;max-height:70vh;overflow-y:auto;-webkit-overflow-scrolling:touch}.ios-analysis-layout{display:grid;grid-template-columns:1fr;gap:16px}@media(min-width:768px){.ios-analysis-layout{grid-template-columns:1fr 300px}}.ios-analysis-score-container{display:flex;flex-direction:column;gap:12px}.ios-analysis-visualization{display:flex;flex-direction:column;gap:8px;align-items:center}.ios-progress-dashboard{display:flex;flex-direction:column;gap:24px;padding:16px 0}.ios-progress-metrics-grid,.ios-progress-charts-grid{display:grid;grid-template-columns:1fr;gap:12px}.ios-progress-chart-container{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 2px 8px #0000001a;min-height:300px}.ios-progress-time-filter{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:8px;margin-bottom:16px;flex-wrap:wrap}.ios-progress-filter-btn{padding:8px 12px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;font-size:14px;cursor:pointer;transition:all .2s ease}.ios-progress-filter-btn.active{background:var(--cta-primary);color:var(--white);border-color:var(--cta-primary)}.ios-feed-container{display:flex;flex-direction:column;gap:16px}.ios-feed-post-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 2px 8px #0000001a;transition:transform .2s ease}.ios-feed-post-card:hover{transform:translateY(-2px)}.ios-feed-post-header{display:flex;justify-content:space-between;margin-bottom:12px}.ios-feed-post-content{margin-bottom:12px;line-height:1.5}.ios-feed-post-actions{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:16px;padding-top:12px;border-top:1px solid var(--border-color)}.ios-feed-post-action{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:4px;padding:8px;border-radius:8px;cursor:pointer;transition:background-color .2s ease;font-size:14px;color:var(--text-secondary)}.ios-feed-post-action:hover{background:var(--bg-secondary)}.ios-feed-post-action.liked{color:var(--accent-orange)}.ios-feed-create-post{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:16px}.ios-feed-create-form{display:flex;flex-direction:column;gap:12px}.ios-feed-create-actions{display:flex;justify-content:space-between;margin-top:8px}.ios-profile-container{display:flex;flex-direction:column;gap:var(--ios-element-spacing);padding-top:8px}.ios-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-8) var(--space-4);text-align:center}.ios-loading-spinner{width:32px;height:32px;border:3px solid var(--border-color);border-top:3px solid var(--cta-primary);border-radius:50%;animation:ios-spin 1s linear infinite;margin-bottom:1rem}.ios-loading-skeleton{padding:16px}@keyframes ios-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.ios-error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 20px;text-align:center}.ios-error{padding:32px 20px;text-align:center;max-width:400px;margin:0 auto;display:flex;flex-direction:column;align-items:center}.ios-error-title{color:var(--text-primary);font-size:1.3rem;font-weight:600;margin-bottom:8px}.ios-error-message{color:var(--text-secondary);font-size:.9rem;margin-bottom:24px;line-height:1.5}.ios-profile-sections{padding-top:0}.ios-profile-header{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:var(--ios-header-margin-bottom) 0}.ios-profile-avatar{width:80px;height:80px;border-radius:50%;background:var(--bg-secondary);display:flex;align-items:center;justify-content:center;margin:0 auto 16px;font-size:var(--ios-icon-size-lg);font-weight:var(--ios-font-weight-title);color:var(--text-primary)}.ios-profile-name{font-size:var(--ios-font-size-title-lg);font-weight:var(--ios-font-weight-title);line-height:1.3;color:var(--text-primary);margin-bottom:4px}.ios-profile-email{font-size:var(--ios-font-size-body-sm);font-weight:var(--font-weight-normal);line-height:1.4;color:var(--text-secondary)}.ios-profile-section{border:none;border-radius:0;box-shadow:none;padding:var(--space-2) 0}.ios-profile-section-title{font-size:var(--ios-font-size-title-md);font-weight:var(--ios-font-weight-section);line-height:1.4;color:var(--text-primary);margin-bottom:var(--ios-title-margin-bottom);padding-bottom:var(--space-2);border-bottom:1px solid var(--border-color)}.ios-profile-settings-list{display:flex;flex-direction:column;gap:1px}.ios-profile-setting-item{position:relative;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;min-height:auto;padding:var(--space-3) var(--space-4);background:transparent;border:none;border-radius:0;cursor:pointer;transition:background-color .2s ease}.ios-profile-setting-item:hover{background:var(--bg-tertiary)}.ios-profile-setting-item:not(:last-child):after{content:"";position:absolute;bottom:0;left:16px;right:0;height:.5px;background:#0000001a}@media(prefers-color-scheme:dark){.ios-profile-setting-item:not(:last-child):after{background:#ffffff1a}}.ios-profile-setting-label{display:flex;flex-direction:column}.ios-profile-setting-title{font-size:var(--ios-font-size-body);font-weight:500;line-height:1.5;color:var(--text-primary)}.ios-profile-setting-subtitle{font-size:.75rem;font-weight:400;line-height:1.3;color:var(--text-secondary);margin-top:2px}.ios-profile-setting-value{font-size:.875rem;font-weight:400;line-height:1.4;color:var(--text-secondary)}.ios-profile-setting-chevron{font-size:14px;color:var(--text-secondary);margin-left:8px}.ios-setting-label{display:flex;align-items:flex-start;gap:12px;flex:1;min-width:0;flex-basis:auto}.ios-setting-icon{font-size:1.25rem;color:var(--text-primary);flex-shrink:0;width:20px;text-align:center;margin-top:2px}.ios-setting-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.ios-setting-action{display:flex;align-items:center;gap:8px;margin-left:12px;flex-shrink:0;align-self:flex-start}.ios-setting-button{padding:6px 12px;background:var(--accent-green);color:var(--white);border:none;border-radius:6px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease}.ios-setting-button:hover{background:var(--accent-green-dark);transform:translateY(-1px)}.ios-setting-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.ios-setting-toggle{position:relative;height:24px;display:flex;align-items:center}.ios-toggle-switch{width:51px;height:24px!important;border-radius:12px;border:none;background:var(--border-color);cursor:pointer;transition:all .2s ease;position:relative;display:flex;align-items:center;padding:2px;flex-shrink:0;align-self:flex-start;max-height:24px;min-height:24px;box-sizing:border-box}.ios-toggle-switch.active{background:var(--accent-green)}.ios-toggle-switch:disabled{opacity:.6;cursor:not-allowed}.ios-toggle-handle{width:20px;height:20px;border-radius:50%;background:var(--white);transition:all .2s ease;box-shadow:0 2px 4px #0003;position:absolute;left:2px}.ios-toggle-switch.active .ios-toggle-handle{transform:translate(27px)}.ios-setting-form-content{flex-basis:100%;margin-top:16px;padding-top:16px;border-top:1px solid var(--border-color);width:100%;order:1}.ios-username-editor{display:flex;flex-direction:column;gap:12px;width:100%}.ios-username-actions{display:flex;gap:12px;margin-top:4px}.ios-username-actions .ios-btn{flex:1;min-height:44px}.ios-btn-secondary{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-3) var(--space-5);background:var(--bg-tertiary);color:var(--text-primary);text-decoration:none;border-radius:var(--border-radius-md);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);border:1px solid var(--border-color);cursor:pointer;transition:all var(--duration-normal) var(--ease-out);min-height:44px}.ios-btn-secondary:hover{background:var(--bg-secondary);border-color:var(--border-color-hover)}.ios-btn-secondary:active{transform:scale(.98)}.ios-btn-secondary:disabled{opacity:.6;cursor:not-allowed}.ios-form-success{padding:12px;background:#2ec4b61a;border:1px solid rgba(46,196,182,.2);border-radius:8px;color:var(--accent-green);font-size:.875rem;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif}.ios-profile-setting-item.expanded{background:var(--bg-secondary);border-radius:8px;margin:4px 0}.ios-profile-setting-item.expanded:not(:last-child):after{display:none}.ios-profile-setting-item.loading{opacity:.7;pointer-events:none}@media(max-width:480px){.ios-setting-label{gap:10px}.ios-setting-icon{font-size:1.1rem;width:18px}.ios-setting-action{margin-left:8px}.ios-setting-button{padding:4px 8px;font-size:.8rem}.ios-toggle-switch{width:51px;height:24px}.ios-toggle-handle{width:20px;height:20px}.ios-toggle-switch.active .ios-toggle-handle{transform:translate(20px)}}.ios-skeleton{background:linear-gradient(90deg,var(--bg-secondary) 25%,var(--bg-tertiary) 50%,var(--bg-secondary) 75%);background-size:200% 100%;animation:ios-loading-shimmer 1.5s infinite}.ios-skeleton-text{height:16px;border-radius:4px;margin-bottom:8px}.ios-skeleton-text:last-child{width:60%;margin-bottom:0}.ios-skeleton-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:16px}.ios-skeleton-avatar{width:40px;height:40px;border-radius:50%}.ios-skeleton-button{height:44px;border-radius:10px}@keyframes ios-loading-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.ios-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px 16px;color:var(--text-secondary)}.ios-empty-icon{font-size:32px;margin-bottom:12px;opacity:.5}.ios-empty-title{font-size:var(--ios-font-size-body);font-weight:600;line-height:1.4;color:var(--text-primary);margin-bottom:6px}.ios-empty-message{font-size:var(--ios-font-size-body-sm);font-weight:400;line-height:1.4;margin-bottom:16px}.ios-followers-list{display:flex;flex-direction:column;gap:1px}.ios-follower-item{position:relative;display:flex;align-items:center;padding:var(--space-3) var(--space-4);min-height:44px;background:transparent;cursor:pointer;transition:background-color .2s ease}.ios-follower-item:hover{background:var(--bg-tertiary)}.ios-follower-item:not(:last-child):after{content:"";position:absolute;bottom:0;left:16px;right:0;height:.5px;background:#0000001a}.ios-follower-avatar{width:40px;height:40px;border-radius:50%;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;font-size:var(--ios-font-size-body);font-weight:var(--ios-font-weight-semibold);color:var(--text-primary);margin-right:var(--space-3);flex-shrink:0}.ios-follower-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.ios-follower-name{font-size:var(--ios-font-size-body);font-weight:var(--ios-font-weight-medium);color:var(--text-primary);line-height:1.4}.ios-follower-username{font-size:var(--ios-font-size-body-sm);color:var(--text-secondary);line-height:1.3}.ios-follower-arrow{font-size:var(--ios-font-size-body);color:var(--text-secondary);margin-left:var(--space-2);flex-shrink:0}.ios-status-success{color:var(--ios-green);font-weight:500}.ios-status-warning{color:var(--accent-orange);font-weight:500}.ios-status-error{color:var(--ios-red);font-weight:500}.ios-status-info{color:var(--cta-primary);font-weight:500}.ios-form-group{display:flex;flex-direction:column;gap:8px}.ios-form-label{font-size:.875rem;font-weight:500;line-height:1.4;color:var(--text-primary)}.ios-form-error{color:var(--accent-orange);font-size:.875rem;margin-top:4px}.ios-form-help{font-size:.75rem;font-weight:400;line-height:1.3;color:var(--text-secondary);margin-top:4px}.ios-modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:16px}.ios-modal-content{background:var(--card-bg);border-radius:14px;padding:20px;max-width:400px;width:100%;max-height:80vh;overflow-y:auto;-webkit-overflow-scrolling:touch}.ios-modal-header{display:flex;justify-content:space-between;margin-bottom:16px}.ios-modal-title{font-size:1.25rem;font-weight:600;line-height:1.4;color:var(--text-primary)}.ios-modal-close{min-height:44px;min-width:44px;display:flex;align-items:center;justify-content:center;background:none;border:none;color:var(--text-secondary);cursor:pointer;border-radius:8px}.ios-modal-body{margin-bottom:20px}.ios-modal-actions{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap}@media(max-width:480px){.ios-feed-post-actions{gap:8px}.ios-profile-setting-item{padding:12px}.ios-profile-avatar{width:64px;height:64px;font-size:24px}.ios-modal-content{margin:8px;padding:16px}}.ios-bounce-in{animation:ios-bounce-in .4s ease-out}@keyframes ios-bounce-in{0%{opacity:0;transform:scale(.8)}50%{opacity:1;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}.ios-scale-in{animation:ios-scale-in .2s ease-out}@keyframes ios-scale-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.analysis-history-content{max-width:100%}.ios-sort-select{width:100%;padding:var(--space-3) var(--space-4);padding-right:40px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;color:var(--text-primary);font-size:var(--ios-font-size-body);outline:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right var(--space-3) center;background-repeat:no-repeat;background-size:var(--space-4);cursor:pointer;transition:all .2s ease}.analysis-history-item,.analysis-list-item{padding:12px 16px;border-radius:8px;cursor:pointer;transition:all .2s ease;min-height:44px;display:flex;align-items:center}.analysis-history-item{background:var(--bg-tertiary);border:1px solid var(--border-color)}.analysis-history-item:hover,.analysis-list-item:hover:not(.selected){background:var(--bg-secondary);border-color:var(--accent-green)}.analysis-history-content,.analysis-list-item-content{display:flex;align-items:center;gap:8px;width:100%}.analysis-history-date-column,.analysis-list-item-date{flex:1;font-size:var(--ios-font-size-caption);font-weight:var(--ios-font-weight-section);color:var(--text-primary);line-height:1.2;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0}.analysis-history-exercise-column,.analysis-list-item-exercise{padding:var(--space-1) var(--space-2);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;font-size:var(--ios-font-size-caption);font-weight:var(--ios-font-weight-section);color:var(--text-primary);text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;flex-shrink:0}.analysis-history-exercise-column,.analysis-list-item-exercise{flex:0 0 calc(37% - 6px)}.analysis-history-score-column,.analysis-list-item-score{font-size:var(--ios-font-size-body);font-weight:var(--ios-font-weight-title);white-space:nowrap;text-align:center;flex-shrink:0}.analysis-history-score-column,.analysis-list-item-score{flex:0 0 calc(20% - 6px)}.analysis-history-video-column,.analysis-list-item-video{font-size:var(--ios-font-size-body);text-align:center;flex-shrink:0}.analysis-history-video-column,.analysis-list-item-video{flex:0 0 calc(13% - 6px)}.analysis-history-date-text,.analysis-list-item-date-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.analysis-history-time,.analysis-list-item-time{font-size:.8rem;font-weight:400;color:var(--text-secondary);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.analysis-history-summary{display:flex;justify-content:space-around;padding:var(--space-4) var(--space-5);border-top:1px solid var(--border-color)}.analysis-summary-stat{text-align:center}.analysis-summary-value{display:block;font-size:var(--ios-font-size-title-lg);font-weight:var(--ios-font-weight-title);color:var(--text-primary);margin-bottom:var(--space-1)}.analysis-summary-label{font-size:var(--ios-font-size-caption);color:var(--text-secondary);font-weight:var(--font-weight-medium)}@media(max-width:768px){.analysis-history-item,.analysis-list-item{padding:var(--space-2) var(--space-3);min-height:56px}.analysis-history-list{gap:6px;margin-bottom:var(--space-3)}.analysis-history-date-column,.analysis-list-item-date{line-height:1.2;padding:2px 0}.analysis-history-exercise-column,.analysis-list-item-exercise{padding:3px 6px;font-size:clamp(var(--ios-font-size-caption),2.5vw,var(--ios-font-size-caption))}.analysis-history-score-column,.analysis-list-item-score{font-size:clamp(var(--ios-font-size-body-sm),3vw,var(--ios-font-size-body))}.analysis-history-video-column,.analysis-list-item-video{font-size:clamp(var(--ios-font-size-body),3.5vw,var(--ios-font-size-body))}.analysis-history-time,.analysis-list-item-time{margin-top:var(--space-1)}.analysis-history-summary{padding:var(--space-3) var(--space-4)}}@media(max-width:480px){.ios-search-sort-controls{gap:var(--space-2) var(--space-1);margin-bottom:var(--space-4)}.ios-search-input,.ios-sort-select{padding:var(--space-2) var(--space-3);font-size:var(--ios-font-size-body)}.ios-search-input{padding-left:40px}.ios-search-icon{left:var(--space-2);width:18px;height:18px}}@media(prefers-contrast:high){.ios-search-input,.ios-sort-select,.analysis-history-item,.analysis-list-item,.analysis-history-exercise-column,.analysis-list-item-exercise{border-width:2px}.analysis-history-time,.analysis-list-item-time{opacity:1}}.analysis-loading-state,.analysis-error-state,.analysis-empty-state{padding:20px;text-align:center}.analysis-error-message{color:var(--accent-orange);margin-bottom:16px}.analysis-empty-title{margin-bottom:16px;font-size:1rem}.analysis-empty-subtitle{font-size:.9rem}.load-more-indicator{height:20px;margin-top:16px}.ios-analysis-history-content{padding:calc(var(--ios-container-padding-top) + var(--ios-safe-area-top)) var(--ios-container-padding-sides) calc(var(--ios-container-padding-bottom) + var(--ios-safe-area-bottom)) var(--ios-container-padding-sides);max-width:100%}.ios-search-sort-controls{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--ios-section-spacing-md)}.ios-search-container,.ios-sort-container{width:100%}.ios-search-container{position:relative}.ios-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);z-index:1;pointer-events:none;color:var(--text-secondary);width:20px;height:20px}.ios-search-icon svg{width:100%;height:100%}.ios-search-input{width:100%;padding:var(--space-3) var(--space-4);padding-left:44px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;color:var(--text-primary);font-size:var(--ios-font-size-body);outline:none;transition:all .2s ease;-webkit-appearance:none;appearance:none;-webkit-user-select:text;user-select:text;-webkit-touch-callout:none}.ios-search-input:focus{background:var(--bg-primary);border-color:var(--cta-primary);box-shadow:0 0 0 3px #2196f31a}.ios-search-input::placeholder{color:var(--text-secondary)}.ios-sort-select{width:100%;padding:var(--space-3) var(--space-4);padding-right:40px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;color:var(--text-primary);font-size:var(--ios-font-size-body);outline:none;appearance:none;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right var(--space-3) center;background-repeat:no-repeat;background-size:var(--space-4);cursor:pointer;transition:all .2s ease}.ios-sort-select:focus{background:var(--bg-primary);border-color:var(--cta-primary);box-shadow:0 0 0 3px #2196f31a}@media(max-width:480px){.ios-analysis-history-content{padding:calc(var(--space-4) + var(--ios-safe-area-top)) var(--ios-container-padding-sides-mobile) calc(var(--ios-container-padding-bottom) + var(--ios-safe-area-bottom)) var(--ios-container-padding-sides-mobile)}.ios-search-sort-controls{gap:var(--space-2) var(--space-1);margin-bottom:var(--space-4)}.ios-search-input,.ios-sort-select{padding:var(--space-2) var(--space-3);font-size:var(--ios-font-size-body)}.ios-search-input{padding-left:40px}.ios-search-icon{left:var(--space-2);width:18px;height:18px}.ios-empty-state{padding:var(--space-8) var(--space-3)}.analysis-history-header-compact{padding:var(--space-3) var(--space-4)!important}.analysis-history-title-compact{font-size:var(--ios-font-size-body)!important}.analysis-history-subtitle-compact{font-size:var(--ios-font-size-caption)!important}}.analysis-history-video-indicator{margin-left:6px;font-size:var(--ios-font-size-caption);opacity:.8}.analysis-history-date{display:flex;flex-direction:column;gap:2px}.analysis-history-date-text{font-size:var(--ios-font-size-caption);color:var(--text-secondary);font-weight:var(--font-weight-medium)}.analysis-history-time{font-size:var(--ios-font-size-caption);color:var(--text-secondary);opacity:.8}.progress-recent-analysis{margin-bottom:var(--ios-section-spacing-lg)}.analysis-history-list{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--ios-section-spacing-md);max-height:400px;overflow-y:auto;-webkit-overflow-scrolling:touch}.analysis-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;overflow:hidden}.analysis-card-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4) var(--space-5) var(--space-3) var(--space-5);border-bottom:1px solid var(--border-color)}.analysis-card-header h3{margin:0;color:var(--text-primary);font-size:var(--ios-font-size-title-sm);font-weight:var(--ios-font-weight-section)}.analysis-history-item{padding:12px 16px;border-radius:8px;cursor:pointer;transition:all .2s ease;min-height:44px;display:flex;align-items:center;background:var(--bg-tertiary);border:1px solid var(--border-color)}.analysis-history-item:hover{background:var(--bg-secondary);border-color:var(--accent-green)}.analysis-history-content{display:flex;align-items:center;gap:8px;width:100%}.analysis-history-date-column{flex:1;font-size:var(--ios-font-size-caption);font-weight:var(--ios-font-weight-section);color:var(--text-primary);line-height:1.2;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0}.analysis-history-exercise-column{flex:0 0 calc(37% - 6px);padding:var(--space-1) var(--space-2);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;font-size:var(--ios-font-size-caption);font-weight:var(--ios-font-weight-section);color:var(--text-primary);text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;flex-shrink:0}.analysis-history-score-column{flex:0 0 calc(20% - 6px);font-size:var(--ios-font-size-body);font-weight:var(--ios-font-weight-title);white-space:nowrap;text-align:center;flex-shrink:0}.analysis-history-video-column{flex:0 0 calc(13% - 6px);font-size:var(--ios-font-size-body);text-align:center;flex-shrink:0}.analysis-history-date-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.analysis-history-time{font-size:.8rem;font-weight:400;color:var(--text-secondary);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media(max-width:768px){.ios-analysis-history-content{padding:calc(var(--space-4) + var(--ios-safe-area-top)) var(--ios-container-padding-sides-mobile) calc(var(--ios-container-padding-bottom) + var(--ios-safe-area-bottom)) var(--ios-container-padding-sides-mobile)}.analysis-history-item{padding:var(--space-2) var(--space-3);min-height:56px}.analysis-history-list{gap:6px;margin-bottom:var(--space-3)}.analysis-history-date-column{line-height:1.2;padding:2px 0}.analysis-history-exercise-column{padding:3px 6px;font-size:clamp(var(--ios-font-size-caption),2.5vw,var(--ios-font-size-caption))}.analysis-history-score-column{font-size:clamp(var(--ios-font-size-body-sm),3vw,var(--ios-font-size-body))}.analysis-history-video-column{font-size:clamp(var(--ios-font-size-body),3.5vw,var(--ios-font-size-body))}.analysis-history-time{margin-top:var(--space-1)}}@media(prefers-contrast:high){.ios-search-input,.ios-sort-select,.analysis-history-item,.analysis-history-exercise-column{border-width:2px}.analysis-history-video-indicator,.analysis-history-time{opacity:1}}.full-analysis-history{padding:0}.full-analysis-history-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.full-analysis-history .ios-back-button{margin:0;padding:var(--space-2) var(--space-3)}.analysis-filters{display:flex;flex-direction:column;gap:16px;margin-bottom:20px}.filter-section{display:flex;flex-direction:column;gap:8px}.filter-label{font-size:var(--ios-font-size-body-sm);font-weight:var(--ios-font-weight-section);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.filter-select{width:100%;padding:var(--space-3) var(--space-4);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;font-size:var(--ios-font-size-body);color:var(--text-primary);cursor:pointer;transition:all .2s ease;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23666' d='M6 8L0 0h12z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:12px;padding-right:40px}.filter-select:hover{border-color:var(--cta-primary);background-color:var(--bg-tertiary)}.filter-select:focus{outline:none;border-color:var(--cta-primary);box-shadow:0 0 0 3px #3b82f61a}.analysis-summary-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:var(--ios-section-spacing-md);padding-top:var(--ios-section-spacing-md);border-top:1px solid var(--border-color)}.summary-stat{display:flex;flex-direction:column;align-items:center;text-align:center;padding:12px 8px;background:var(--bg-tertiary);border-radius:10px}.summary-value{font-size:var(--ios-font-size-title-lg);font-weight:var(--ios-font-weight-title);color:var(--text-primary);line-height:1.2;margin-bottom:4px}.summary-label{font-size:var(--ios-font-size-caption);font-weight:var(--font-weight-medium);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;line-height:1.2}.full-analysis-list{display:flex;flex-direction:column;gap:12px}.full-analysis-item{display:flex;align-items:center;padding:var(--space-4);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;cursor:pointer;transition:all .2s ease;gap:16px}.full-analysis-item:hover{background:var(--bg-tertiary);border-color:var(--cta-primary);transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.full-analysis-item:active{transform:translateY(0);box-shadow:0 1px 4px #0000001a}.analysis-main-content{display:flex;align-items:center;gap:16px;flex:1;min-width:0}.analysis-score-large{font-size:28px;font-weight:700;line-height:1.1;min-width:80px;text-align:center}.analysis-score-large span{display:inline-block}.analysis-details{flex:1;min-width:0}.analysis-exercise-name{font-size:var(--ios-font-size-title-sm);font-weight:var(--ios-font-weight-section);color:var(--text-primary);margin-bottom:6px;line-height:1.3}.analysis-metadata{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.analysis-date{font-size:var(--ios-font-size-body-sm);color:var(--text-secondary)}.analysis-performance-badge{display:inline-block;padding:4px 10px;border-radius:6px;font-size:var(--ios-font-size-caption);font-weight:var(--ios-font-weight-section);text-transform:uppercase;letter-spacing:.5px}.analysis-performance-badge.excellent{background:#22c55e26;color:var(--score-excellent)}.analysis-performance-badge.good{background:#3b82f626;color:var(--score-good)}.analysis-performance-badge.needs-work{background:#eab30826;color:var(--score-warning)}.analysis-performance-badge.poor{background:#ef444426;color:var(--score-poor)}.analysis-arrow{font-size:18px;color:var(--text-secondary);flex-shrink:0}.full-analysis-history .tab-empty-state{padding:40px 20px;text-align:center}.full-analysis-history .tab-empty-state p{font-size:var(--ios-font-size-body);color:var(--text-secondary);margin-bottom:20px}.full-analysis-history .tab-loading{padding:40px 20px;text-align:center;font-size:var(--ios-font-size-body);color:var(--text-secondary)}.full-analysis-history .tab-error{padding:40px 20px;text-align:center}@media(max-width:480px){.analysis-summary-stats{grid-template-columns:1fr;gap:8px}.analysis-main-content{flex-direction:column;align-items:flex-start;gap:12px}.analysis-score-large{font-size:var(--ios-font-size-display);min-width:auto;text-align:left}}@media(prefers-color-scheme:dark){.full-analysis-item{background:#ffffff0d;border-color:#ffffff1a}.full-analysis-item:hover{background:#ffffff1a;border-color:var(--cta-primary)}.summary-stat{background:#ffffff0d}}.mobile-web-shell{display:flex;flex-direction:column;height:100vh;background:var(--bg-primary)}.mobile-web-shell .modal-overlay,.mobile-web-shell .image-lightbox-overlay{z-index:1100}.mobile-web-shell .drawer-overlay{z-index:1200}.mobile-web-scroll-area{flex:1 1 auto;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column}.mobile-web-scroll-area>*{display:flex;flex-direction:column}.app-container{display:flex;flex-direction:column;min-height:100vh;position:relative;z-index:1;width:100%;max-width:100%;box-sizing:border-box;overflow-x:hidden}[data-platform=mobile-web] .app-container{min-height:auto;padding:0}
