.SiteHeader_header__6Xzm_{position:sticky;top:0;width:100%;z-index:100;background:var(--header-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border-subtle);box-shadow:var(--header-shadow)}.SiteHeader_inner__KmG1m{max-width:var(--content-width-wide);margin:0 auto;padding:var(--spacing-sm) var(--spacing-2xl);display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-lg)}.SiteHeader_logoLink__IkF6V{display:inline-flex;align-items:center;gap:12px;font-weight:700;color:var(--text-black)}.SiteHeader_logoImage__h_lqY{filter:var(--logo-filter)}.SiteHeader_beta__QVYmX{font-size:.75rem;padding:2px 10px;border-radius:999px;border:1px solid var(--border-subtle);text-transform:uppercase;letter-spacing:.1em;color:var(--text-gray);background:var(--header-beta-bg)}.SiteHeader_nav__bIj0g{display:flex;gap:var(--spacing-lg);align-items:center;font-size:.95rem;margin-left:auto}.SiteHeader_navLink__1WUlI{color:var(--text-dark);opacity:.75;transition:opacity var(--transition-fast),color var(--transition-fast)}.SiteHeader_navLink__1WUlI:hover{color:var(--text-black);opacity:1}.SiteHeader_actions__1apgM{display:flex;gap:var(--spacing-sm);flex-wrap:wrap;justify-content:flex-end}.SiteHeader_themeToggle__nYhLv{height:36px;border-radius:10px;border:1px solid var(--border-subtle);background:var(--panel-bg-soft);color:var(--text-dark);padding:0 12px;display:inline-flex;align-items:center;gap:8px;font-size:.85rem;font-weight:600;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.SiteHeader_themeToggle__nYhLv:hover{background:var(--control-bg-hover);border-color:var(--border-strong)}.SiteHeader_themeToggle__nYhLv:active{transform:scale(.98)}.SiteHeader_themeToggleIcon__gqmoK{font-size:.9rem;line-height:1}.SiteHeader_themeToggleLabel__oyK8A{line-height:1}@media (max-width:960px){.SiteHeader_inner__KmG1m{flex-direction:column;align-items:flex-start}.SiteHeader_actions__1apgM{width:100%}.SiteHeader_nav__bIj0g{flex-wrap:wrap;margin-left:0}}:root{color-scheme:light;--pure-white:#ffffff;--off-white:#f8f6f2;--light-gray:#f1efe8;--medium-gray:#dcd6c7;--text-gray:#5b5f6a;--text-dark:#1c2334;--text-black:#0a0f1c;--pure-black:#05060a;--surface-0:#f5f7fc;--surface-1:#ffffff;--surface-2:#f7f9fc;--surface-3:#eef2fa;--border-subtle:rgba(9,14,31,0.08);--border-strong:rgba(9,14,31,0.18);--mp-bg:rgba(255,255,255,0.98);--mp-header-bg:rgba(255,255,255,0.92);--mp-border:rgba(9,14,31,0.08);--page-bg:radial-gradient(circle at 14% -5%,rgba(0,122,255,0.08) 0%,transparent 40%),radial-gradient(circle at 85% 15%,rgba(0,199,190,0.06) 0%,transparent 36%),linear-gradient(135deg,#fffdfa,#f4f0ff 65%,#fff7ed);--header-bg:rgba(255,255,255,0.9);--header-shadow:0 6px 30px rgba(10,12,28,0.06);--header-beta-bg:rgba(255,255,255,0.8);--logo-filter:none;--overlay-backdrop:rgba(0,0,0,0.4);--panel-bg:rgba(255,255,255,0.96);--panel-bg-strong:rgba(255,255,255,0.98);--panel-bg-soft:rgba(255,255,255,0.9);--control-bg:rgba(9,14,31,0.06);--control-bg-hover:rgba(9,14,31,0.1);--control-bg-strong:rgba(9,14,31,0.14);--control-bg-strong-hover:rgba(9,14,31,0.2);--warning-bg:rgba(255,244,230,0.95);--warning-color:#8a3d00;--warning-icon:#d77a00;--danger-soft-bg:#fef3f2;--danger-soft-border:#fecdca;--danger-soft-text:#b42318;--context-shadow:0 10px 28px rgba(9,14,31,0.2);--accent-primary:#007aff;--accent-light:rgba(0,122,255,0.18);--accent-hover:#0056cc;--accent-focus:rgba(0,122,255,0.25);--accent-secondary:#00c7be;--accent-muted:#5ac8fa;--success:#34c759;--warning:#ff9500;--error:#ff3b30;--roof-default:#1c1c1e;--roof-selected:#007aff;--roof-hover:#2c2c2e;--object-default:#ff3b30;--object-selected:#d70015;--object-hover:#ff453a;--panel-stroke:#3a3a3c;--panel-stroke-highlight:#007aff;--panel-standard:#1c1c1e;--panel-premium:#000000;--panel-compact:#2c2c2e;--tool-strip-width:clamp(40px,6vw,64px);--spacing-xs:clamp(1px,0.25vw,4px);--spacing-sm:clamp(4px,0.6vw,8px);--spacing-base:clamp(6px,1vw,12px);--spacing-lg:clamp(10px,1.6vw,18px);--spacing-xl:clamp(14px,2.2vw,24px);--spacing-2xl:clamp(18px,3vw,32px);--spacing-3xl:clamp(24px,4vw,44px);--spacing-4xl:clamp(32px,5.5vw,60px);--spacing-5xl:clamp(40px,7vw,80px);--content-width:clamp(320px,92vw,1280px);--content-width-narrow:clamp(280px,84vw,640px);--content-width-wide:clamp(400px,96vw,1440px);--radius-xs:1px;--radius-sm:2px;--radius-base:4px;--radius-lg:6px;--radius-xl:8px;--radius-2xl:12px;--radius-full:9999px;--text-xs:clamp(11px,1.6vw,13px);--text-sm:clamp(13px,1.8vw,15px);--text-base:clamp(15px,2vw,17px);--text-lg:clamp(17px,2.5vw,20px);--text-xl:clamp(20px,3vw,28px);--text-2xl:clamp(28px,4vw,36px);--text-3xl:clamp(34px,5vw,48px);--text-4xl:clamp(42px,6vw,64px);--transition-fast:120ms cubic-bezier(0.4,0,0.2,1);--transition-base:220ms cubic-bezier(0.4,0,0.2,1);--transition-slow:360ms cubic-bezier(0.4,0,0.2,1);--shadow-xs:0 4px 12px rgba(1,5,18,0.04);--shadow-sm:0 8px 24px rgba(5,10,30,0.08);--shadow-minimal:0 6px 18px rgba(0,0,0,0.08);--shadow-subtle:0 18px 45px rgba(8,10,40,0.1);--shadow-elevated:0 24px 60px rgba(8,12,50,0.18);--shadow-floating:0 36px 90px rgba(5,8,30,0.22);--shadow-dramatic:0 48px 120px rgba(2,4,20,0.32);--glass-bg-dark:linear-gradient(180deg,rgba(7,9,27,0.86),rgba(3,4,15,0.82));--glass-bg-light:linear-gradient(145deg,rgba(255,255,255,0.92),rgba(255,255,255,0.78));--glass-bg-subtle:linear-gradient(160deg,rgba(255,255,255,0.4),rgba(255,255,255,0.15));--glass-border:1px solid rgba(255,255,255,0.22);--glass-border-light:1px solid rgba(255,255,255,0.4);--glass-blur:blur(18px) saturate(160%);--glass-blur-heavy:blur(32px) saturate(200%);--glass-blur-light:blur(16px) saturate(140%);--shadow-glass-dark:inset 0 0 0 0.8px rgba(255,255,255,0.18),0 20px 60px rgba(2,5,20,0.5),0 4px 12px rgba(2,5,20,0.35);--shadow-glass-elevated:0 20px 60px rgba(7,8,30,0.12),inset 0 1px 0 rgba(255,255,255,0.6);--input-height:46px;--input-height-sm:42px;--button-height:50px;--button-height-sm:44px;--toolbar-height:48px;--panel-width:320px;--search-radius:40px;--site-header-height:76px}:root[data-theme=dark]{color-scheme:dark;--pure-white:#2e343b;--off-white:#141920;--light-gray:#232a33;--medium-gray:#434d59;--text-gray:#a8b0bb;--text-dark:#e8edf4;--text-black:#f5f8fc;--pure-black:#05060a;--surface-0:#151a20;--surface-1:#2b3138;--surface-2:#1f252d;--surface-3:#3a424d;--border-subtle:rgba(255,255,255,0.12);--border-strong:rgba(255,255,255,0.22);--mp-bg:rgba(37,44,53,0.98);--mp-header-bg:rgba(42,50,60,0.92);--mp-border:rgba(255,255,255,0.14);--page-bg:radial-gradient(circle at 8% 0%,rgba(80,88,102,0.28) 0%,transparent 42%),linear-gradient(160deg,#30363f,#222931 38%,#151a20);--header-bg:rgba(35,41,49,0.86);--header-shadow:0 10px 34px rgba(0,0,0,0.45);--header-beta-bg:rgba(255,255,255,0.06);--logo-filter:brightness(0) invert(1);--overlay-backdrop:rgba(0,0,0,0.55);--panel-bg:rgba(38,45,54,0.96);--panel-bg-strong:rgba(38,45,54,0.98);--panel-bg-soft:rgba(38,45,54,0.9);--control-bg:rgba(255,255,255,0.08);--control-bg-hover:rgba(255,255,255,0.12);--control-bg-strong:rgba(255,255,255,0.14);--control-bg-strong-hover:rgba(255,255,255,0.2);--warning-bg:rgba(74,43,8,0.9);--warning-color:#ffca8a;--warning-icon:#ffb455;--danger-soft-bg:rgba(180,35,24,0.2);--danger-soft-border:rgba(254,205,202,0.35);--danger-soft-text:#ff9d95;--context-shadow:0 10px 28px rgba(0,0,0,0.55);--accent-primary:#8eaef8;--accent-light:rgba(142,174,248,0.24);--accent-hover:#7ca1f5;--accent-focus:rgba(142,174,248,0.33);--shadow-xs:0 4px 12px rgba(0,0,0,0.22);--shadow-sm:0 8px 24px rgba(0,0,0,0.3);--shadow-minimal:0 6px 18px rgba(0,0,0,0.24);--shadow-subtle:0 18px 45px rgba(0,0,0,0.4);--shadow-elevated:0 24px 60px rgba(0,0,0,0.5);--shadow-floating:0 36px 90px rgba(0,0,0,0.56);--shadow-dramatic:0 48px 120px rgba(0,0,0,0.64);--glass-bg-light:linear-gradient(145deg,rgba(38,45,54,0.92),rgba(24,29,36,0.78));--glass-bg-subtle:linear-gradient(160deg,rgba(52,60,71,0.55),rgba(24,29,36,0.2));--glass-border:1px solid rgba(255,255,255,0.14);--glass-border-light:1px solid rgba(255,255,255,0.2)}*{box-sizing:border-box;padding:0;margin:0}body,html{max-width:100vw;min-height:100%;overflow-x:hidden;font-family:Space Grotesk,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:var(--font-normal);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body,html{background:var(--page-bg);color:var(--text-black)}a{color:inherit;text-decoration:none}.deployment-version{position:fixed;right:10px;bottom:8px;z-index:9500;pointer-events:none;padding:2px 7px;border-radius:999px;background:var(--panel-bg-soft);border:1px solid var(--border-subtle);color:var(--text-gray);font-size:10px;line-height:1;letter-spacing:.02em;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}@media (max-width:640px){.deployment-version{right:6px;bottom:6px;font-size:9px;padding:2px 6px}}.spinner{width:32px;height:32px;border-top:3px solid var(--light-gray);border:3px solid var(--light-gray);border-top-color:var(--accent-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.text-xs{font-size:var(--text-xs);line-height:1.4}.text-sm{font-size:var(--text-sm);line-height:1.45}.text-base{font-size:var(--text-base);line-height:1.5}.text-lg{font-size:var(--text-lg);line-height:1.55}.text-xl{font-size:var(--text-xl);line-height:1.4}.text-2xl{font-size:var(--text-2xl);line-height:1.35}.text-3xl{font-size:var(--text-3xl);line-height:1.25}.text-4xl{font-size:var(--text-4xl);line-height:1.1}.font-light{font-weight:var(--font-light)}.font-normal{font-weight:var(--font-normal)}.font-medium{font-weight:var(--font-medium)}.font-semibold{font-weight:var(--font-semibold)}.font-bold{font-weight:var(--font-bold)}.text-gray{color:var(--text-gray)}.text-dark{color:var(--text-dark)}.text-black{color:var(--text-black)}.text-accent{color:var(--accent-primary)}.bg-white{background:var(--pure-white)}.bg-light{background:var(--light-gray)}.bg-accent{background:var(--accent-primary)}.rounded-sm{border-radius:var(--radius-sm)}.rounded{border-radius:var(--radius-base)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-full{border-radius:var(--radius-full)}.shadow-xs{box-shadow:var(--shadow-xs)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-subtle{box-shadow:var(--shadow-subtle)}.shadow-elevated{box-shadow:var(--shadow-elevated)}.shadow-floating{box-shadow:var(--shadow-floating)}.shadow-dramatic{box-shadow:var(--shadow-dramatic)}.space-xs{gap:var(--spacing-xs)}.space-sm{gap:var(--spacing-sm)}.space-base{gap:var(--spacing-base)}.space-lg{gap:var(--spacing-lg)}.space-xl{gap:var(--spacing-xl)}.space-2xl{gap:var(--spacing-2xl)}.space-3xl{gap:var(--spacing-3xl)}.p-xs{padding:var(--spacing-xs)}.p-sm{padding:var(--spacing-sm)}.p-base{padding:var(--spacing-base)}.p-lg{padding:var(--spacing-lg)}.p-xl{padding:var(--spacing-xl)}.p-2xl{padding:var(--spacing-2xl)}.m-xs{margin:var(--spacing-xs)}.m-sm{margin:var(--spacing-sm)}.m-base{margin:var(--spacing-base)}.m-lg{margin:var(--spacing-lg)}.m-xl{margin:var(--spacing-xl)}.m-2xl{margin:var(--spacing-2xl)}.container{width:var(--content-width);margin:0 auto;padding:0 var(--spacing-base)}.btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px 24px;border:none;border-radius:12px;font-size:17px;font-weight:500;font-family:SF Pro Display,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);outline:none;text-decoration:none;-webkit-user-select:none;user-select:none;position:relative;white-space:nowrap;height:48px}.btn:focus-visible{outline:none}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-loading{position:relative;pointer-events:none;color:transparent}.btn-loading .spinner{margin-right:8px}.btn-loading:after{content:"";position:absolute;width:16px;height:16px;border-radius:50%;border:2px solid;border-top:2px solid transparent;animation:btn-spin .8s linear infinite;color:inherit}.btn-primary.btn-loading:after{border-color:transparent rgba(255,255,255,.3) rgba(255,255,255,.3)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.btn-primary{background:#007aff;color:white;box-shadow:0 2px 8px rgba(0,122,255,.2);border:none}.btn-primary:hover{background:#0056cc;transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,122,255,.3)}.btn-primary:active{transform:scale(.96);background:#004999}.btn-primary:disabled{background:rgba(120,120,128,.24);color:rgba(255,255,255,.3);box-shadow:none;cursor:not-allowed;pointer-events:none}.btn-primary:disabled:hover{background:rgba(120,120,128,.24);transform:none;box-shadow:none}.btn-secondary{background:var(--panel-bg-soft);color:var(--text-dark);border:1px solid var(--border-subtle);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);box-shadow:var(--shadow-xs)}.btn-secondary:hover{background:var(--panel-bg);border-color:var(--border-strong);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.btn-secondary:active{transform:scale(.96);background:var(--surface-2);box-shadow:var(--shadow-xs)}.btn-ghost{background:transparent;box-shadow:none;border:1.5px solid var(--medium-gray);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-ghost:hover{background:var(--control-bg);border-color:var(--accent-primary);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.btn-ghost:focus-visible{background:var(--control-bg);border-color:var(--accent-primary)}.btn-danger{background:linear-gradient(135deg,var(--error) 0,#dc2626 100%);color:var(--pure-white);box-shadow:0 4px 15px rgba(239,68,68,.3),0 2px 6px rgba(239,68,68,.2)}.btn-danger:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);box-shadow:0 8px 30px rgba(239,68,68,.4),0 4px 15px rgba(239,68,68,.3)}.btn-success{background:linear-gradient(135deg,var(--success) 0,#059669 100%);color:var(--pure-white);box-shadow:0 4px 15px rgba(16,185,129,.3),0 2px 6px rgba(16,185,129,.2)}.btn-success:hover{background:linear-gradient(135deg,#059669,#047857);box-shadow:0 8px 30px rgba(16,185,129,.4),0 4px 15px rgba(16,185,129,.3)}.btn-sm{padding:clamp(6px,1.5vw,10px) clamp(12px,2.5vw,16px);font-size:var(--text-xs);min-height:36px}.btn-lg{padding:clamp(16px,3vw,20px) clamp(24px,4vw,32px);font-size:var(--text-base);min-height:52px;font-weight:var(--font-semibold)}@keyframes btn-spin{to{transform:rotate(1turn)}}.app-container{position:relative;width:100%;height:100%;min-height:640px;flex:1 1;border-radius:var(--radius-2xl);background:var(--pure-white);overflow:hidden;box-shadow:var(--shadow-elevated);display:flex;flex-direction:column}.app-container--photo{background:radial-gradient(circle at top,rgba(0,122,255,.16),transparent 55%),var(--pure-white)}.app-layout{width:100%;min-height:100%;display:flex;flex-direction:column}.app-layout,.main-content{position:relative;height:100%;flex:1 1}.main-content{overflow:hidden;background:transparent}.feature-label{text-transform:uppercase;letter-spacing:.08em;font-size:.78rem;font-weight:600;color:var(--accent-primary);margin-bottom:var(--spacing-xs)}.feature-title{font-size:clamp(1.8rem,4vw,3.1rem);font-weight:600;color:var(--text-black)}.feature-description{color:var(--text-gray);max-width:620px;margin-top:var(--spacing-sm);font-size:var(--text-base)}.home-menu{width:100%;min-height:calc(100vh - var(--site-header-height));display:flex;justify-content:center;padding:var(--spacing-4xl) var(--spacing-xl)}.menu-list{width:min(720px,100%);list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--spacing-lg)}.menu-list__item{border-radius:var(--radius-2xl);border:1px solid var(--border-subtle);background:var(--pure-white);box-shadow:var(--shadow-subtle);overflow:hidden}.menu-list__link{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-lg);padding:var(--spacing-xl) var(--spacing-2xl);transition:background var(--transition-base),transform var(--transition-base)}.menu-list__link:hover{background:var(--control-bg);transform:translateX(4px)}.menu-list__body h2{font-size:clamp(1.5rem,3vw,2.2rem);margin-bottom:var(--spacing-xs);color:var(--text-black)}.menu-list__body p{color:var(--text-gray)}.menu-list__label{text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;margin-bottom:var(--spacing-xs)}.menu-list__cta,.menu-list__label{font-weight:600;color:var(--accent-primary)}.menu-list__cta{display:inline-flex;align-items:center;gap:var(--spacing-xs)}.workspace-page{width:100%;padding:0;max-width:1400px;margin:0 auto;display:flex;flex-direction:column}.workspace-hero{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--spacing-lg);background:var(--pure-white);border-radius:var(--radius-2xl);padding:var(--spacing-2xl);border:1px solid var(--border-subtle);box-shadow:var(--shadow-subtle);margin-bottom:2px}.workspace-hero__actions{display:flex;gap:var(--spacing-sm);flex-wrap:wrap;align-items:center}.empty-photo-state{width:100%;height:100%;min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-lg);text-align:center;padding:var(--spacing-3xl);background:var(--off-white);border-radius:var(--radius-2xl);color:var(--text-black);border:1px dashed var(--border-strong)}.empty-photo-state.drag-active{border-color:rgba(242,90,43,.5);background:rgba(30,43,67,.9)}.empty-photo-state__actions{display:flex;flex-direction:column;gap:var(--spacing-sm);align-items:center}.photo-onboarding-wrapper{width:100%;height:100%;padding:40px;display:grid;grid-template-columns:repeat(auto-fit,minmax(380px,1fr));grid-auto-rows:1fr;gap:32px;max-width:1200px;margin:0 auto;align-items:stretch;overflow-y:auto;min-height:0}.photo-onboarding-wrapper .empty-photo-state,.workspace-selection-panel{height:100%;min-height:480px;border-radius:var(--radius-2xl);box-shadow:var(--shadow-sm);background:var(--surface-1);border:1px solid var(--border-subtle)}.workspace-selection-panel{display:flex;flex-direction:column;padding:var(--spacing-2xl)}.workspace-selection-header{margin-bottom:var(--spacing-xl);text-align:center}.workspace-list{display:flex;flex-direction:column;flex:1 1 auto;min-height:0;gap:var(--spacing-base);overflow-y:auto;padding:4px}.workspace-list-item{display:flex;justify-content:space-between;align-items:center;padding:16px;border-radius:var(--radius-xl);border:1px solid var(--border-subtle);background:var(--surface-2);cursor:pointer;transition:all .2s ease}.workspace-list-item:hover{background:var(--surface-3);border-color:var(--accent-primary);box-shadow:var(--shadow-sm);transform:translateY(-2px)}.workspace-item-info{display:flex;flex-direction:column;gap:4px}.workspace-item-name{font-weight:600;color:var(--text-dark);font-size:15px}.workspace-item-date{font-size:12px;color:var(--text-gray)}.btn-icon{width:32px;height:32px;border-radius:50%;border:1px solid var(--border-subtle);background:var(--surface-1);color:var(--accent-primary);display:flex;align-items:center;justify-content:center;transition:all .2s ease}.workspace-list-item:hover .btn-icon{background:var(--accent-primary);color:white;border-color:var(--accent-primary)}.workspace-page--photo{height:calc(100vh - var(--site-header-height));overflow:hidden;background:var(--off-white);max-width:none;margin:0}.photo-layout{height:100%;min-height:0;display:flex;flex-direction:column;padding:0}.photo-main{flex:1 1;display:flex;flex-direction:column;min-height:0;border-radius:var(--radius-xl);overflow:hidden}.empty-photo-state__actions p{margin:0;font-size:var(--text-sm);color:var(--text-gray)}.glass-morphism{background:rgba(255,255,255,.25);border:1px solid rgba(255,255,255,.3);box-shadow:0 8px 32px rgba(0,0,0,.1),inset 0 1px 0 rgba(255,255,255,.4)}.glass-morphism,.glass-morphism-dark{backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%)}.glass-morphism-dark{background:rgba(0,0,0,.25);border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 32px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.1)}.glass-ultra-thin{background:rgba(255,255,255,.1);backdrop-filter:blur(40px) saturate(200%);-webkit-backdrop-filter:blur(40px) saturate(200%);border:1px solid rgba(255,255,255,.2)}:focus-visible{border-radius:4px}:focus{outline:none}:focus-visible{outline:3px solid var(--accent-primary);outline-offset:2px;box-shadow:0 0 0 3px var(--accent-focus),0 4px 12px rgba(14,165,233,.15)}@media (prefers-contrast:high){:focus-visible{outline:4px solid #000;outline-offset:2px;box-shadow:0 0 0 2px #fff,0 0 0 6px #000}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}[tabindex]:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent-primary);outline-offset:2px;box-shadow:0 0 0 3px var(--accent-focus),0 4px 12px rgba(14,165,233,.2);border-radius:6px}button:focus,button:focus-visible{outline:none!important;box-shadow:none!important}.skip-to-content{position:absolute;top:-40px;left:6px;background:var(--text-black);color:var(--pure-white);padding:8px;text-decoration:none;border-radius:4px;z-index:10000;font-weight:600}.skip-to-content:focus{top:6px}.input{width:100%;padding:clamp(12px,2.5vw,16px);border:1.5px solid var(--medium-gray);border-radius:var(--radius-base);font-size:var(--text-sm);font-weight:var(--font-normal);background:var(--pure-white);color:var(--text-black);transition:all .3s cubic-bezier(.4,0,.2,1);outline:none;position:relative;min-height:44px}.input:hover{border-color:var(--text-gray);box-shadow:0 2px 8px rgba(0,0,0,.04)}.input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-focus),0 4px 12px rgba(14,165,233,.1);transform:translateY(-1px)}.input::placeholder{color:var(--text-gray);opacity:.7;transition:opacity var(--transition-base)}.input:focus::placeholder{opacity:.5}.loading-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--overlay-backdrop);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:9999;animation:fadeIn .2s ease-out}.loading-content,.loading-overlay{display:flex;justify-content:center;align-items:center}.loading-content{flex-direction:column;color:var(--text-black);text-align:center;padding:var(--spacing-xl);background:var(--pure-white);border-radius:var(--radius-xl);box-shadow:var(--shadow-floating);border:1px solid var(--light-gray)}.loading-text{margin-top:var(--spacing-lg);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-gray);min-height:20px}.spinner-enhanced{position:relative;display:flex;align-items:center;justify-content:center}.spinner-ring{position:absolute;border-radius:50%;border:2px solid transparent;animation:spin 1.5s linear infinite}.loading-sm .spinner-ring{width:24px;height:24px}.loading-md .spinner-ring{width:40px;height:40px}.loading-lg .spinner-ring{width:60px;height:60px}.spinner-ring:first-child{border-top-color:var(--accent-primary);animation-duration:1.5s}.spinner-ring:nth-child(2){border-top-color:var(--accent-light);animation-duration:2s;animation-direction:reverse;opacity:.7}.spinner-ring:nth-child(3){border-top-color:var(--medium-gray);animation-duration:2.5s;opacity:.4}.skeleton-container{padding:var(--spacing-xs);background:var(--pure-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-subtle);width:100%;max-width:400px;margin:0 auto}.skeleton-header{display:flex;align-items:center;gap:var(--spacing-base);margin-bottom:var(--spacing-lg)}.skeleton-circle{width:48px;height:48px;border-radius:50%;background:linear-gradient(90deg,var(--light-gray) 25%,var(--off-white) 50%,var(--light-gray) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.skeleton-lines{flex:1 1;display:flex;flex-direction:column;gap:var(--spacing-sm)}.skeleton-line{height:12px;border-radius:6px;background:linear-gradient(90deg,var(--light-gray) 25%,var(--off-white) 50%,var(--light-gray) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.skeleton-line-wide{width:80%}.skeleton-line-medium{width:60%}.skeleton-line-full{width:100%;margin-bottom:var(--spacing-sm)}.skeleton-line-narrow{width:40%}.skeleton-content{flex-direction:column}.pulse-loader,.skeleton-content{display:flex;gap:var(--spacing-sm)}.pulse-loader{align-items:center}.pulse-circle{width:12px;height:12px;background:var(--accent-primary);border-radius:50%;animation:pulse 1.4s ease-in-out infinite both}.pulse-1{animation-delay:-.32s}.pulse-2{animation-delay:-.16s}.pulse-3{animation-delay:0}.dots-loader{display:flex;gap:4px;align-items:center}.dot{width:8px;height:8px;background:var(--accent-primary);border-radius:50%;animation:dotWave 1.4s ease-in-out infinite both}.dot-1{animation-delay:-.32s}.dot-2{animation-delay:-.16s}.dot-3{animation-delay:0}.dot-4{animation-delay:.16s}.dot-5{animation-delay:.32s}@keyframes pulse{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1);opacity:1}}@keyframes dotWave{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-10px);opacity:1}}.progress-bar{width:100%;height:4px;background:var(--light-gray);overflow:hidden}.progress-bar,.progress-fill{border-radius:2px;position:relative}.progress-fill{height:100%;background:linear-gradient(90deg,var(--accent-primary),var(--accent-hover));transition:width .3s ease-out}.progress-fill:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:progressShine 1.5s infinite}@keyframes progressShine{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.glass-dark{background:var(--glass-bg-dark);border:var(--glass-border);box-shadow:var(--shadow-glass-dark)}.glass-dark,.glass-light{backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.glass-light{background:var(--glass-bg-light)}.glass-light,.glass-subtle{border:var(--glass-border-light);box-shadow:var(--shadow-glass-elevated)}.glass-subtle{background:var(--glass-bg-subtle)}.glass-heavy,.glass-subtle{backdrop-filter:var(--glass-blur-heavy);-webkit-backdrop-filter:var(--glass-blur-heavy)}.glass-heavy{background:var(--glass-bg-dark);border:var(--glass-border);box-shadow:var(--shadow-glass-dark)}.rounded-pill{border-radius:var(--search-radius)}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-50%,calc(-50% - 20px)) scale(.95)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes shimmer{0%{left:-100%}to{left:100%}}@keyframes liquidSpin{0%{transform:rotate(0deg)}25%{transform:rotate(90deg) scale(1.1)}50%{transform:rotate(180deg) scale(1)}75%{transform:rotate(270deg) scale(1.1)}to{transform:rotate(1turn)}}@keyframes processingFloat{0%,to{transform:translate(-50%,-50%) scale(.95) translateY(0)}50%{transform:translate(-50%,-50%) scale(1) translateY(-2px)}}@keyframes glassFadeIn{0%{opacity:0;transform:translateY(20px) scale(.95);-webkit-backdrop-filter:blur(0);backdrop-filter:blur(0)}to{opacity:1;transform:translateY(0) scale(1);-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px)}}@keyframes pulseGlow{0%,to{border-color:rgba(255,255,255,.3);background:rgba(14,165,233,.05)}50%{border-color:rgba(255,255,255,.5);background:rgba(14,165,233,.1)}}@keyframes hapticTap{0%{transform:scale(1)}50%{transform:scale(.96)}to{transform:scale(1)}}@keyframes suggestionSlideIn{0%{transform:translateY(-12px) scale(.95);opacity:0}60%{transform:translateY(2px) scale(1.01);opacity:.8}to{transform:translateY(0) scale(1);opacity:1}}.animate-fade-in{animation:fadeIn var(--transition-base) ease-out}.animate-slide-up{animation:slideUp var(--transition-slow) cubic-bezier(.4,0,.2,1)}.animate-glass-fade-in{animation:glassFadeIn .6s ease-out}@media (max-width:1024px){:root{--spacing-base:12px;--spacing-lg:20px;--spacing-xl:28px}}@media (max-width:768px){:root{--tool-strip-width:48px;--spacing-base:12px;--spacing-lg:16px;--spacing-xl:24px}.app-layout{grid-template-columns:var(--tool-strip-width) 1fr}}@media (max-width:480px){:root{--tool-strip-width:44px;--spacing-base:10px;--spacing-lg:14px;--spacing-xl:20px}}