@import url("https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;600;700&family=Manrope:wght@300;400;500;600;700&family=Open+Sans:wght@300;400;500;600;700&display=swap");:root{color-scheme:light;--font-family-system:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Arial","Noto Sans","Liberation Sans",sans-serif;--font-heading:"Space Grotesk",var(--font-family-system);--font-body:"Open Sans",var(--font-family-system);--font-interface:"Manrope",var(--font-family-system);--font-sans:var(--font-body);--font-mono:"SF Mono","JetBrains Mono","Fira Code",Menlo,Consolas,ui-monospace,"Liberation Mono",monospace;--font-size-xs:0.75rem;--font-size-sm:0.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-size-4xl:2.5rem;--font-size-5xl:3rem;--font-weight-light:300;--font-weight-regular:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.2;--line-height-snug:1.35;--line-height-normal:1.6;--line-height-relaxed:1.65;--spacing-1:4px;--spacing-2:8px;--spacing-3:12px;--spacing-4:16px;--spacing-5:20px;--spacing-6:24px;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-2xl:48px;--spacing-3xl:64px;--radius-sm:0.375rem;--radius-md:0.5rem;--radius-lg:0.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-full:9999px;--duration-instant:100ms;--duration-fast:200ms;--duration-normal:300ms;--duration-slow:400ms;--duration-slower:600ms;--ease-out:cubic-bezier(0.2,0.8,0.2,1);--ease-in:cubic-bezier(0.8,0.2,1,0.2);--ease-in-out:cubic-bezier(0.4,0,0.2,1);--ease-spring:cubic-bezier(0.34,1.56,0.64,1);--transition-snappy:0.25s cubic-bezier(0.2,0.8,0.2,1);--transition-fluid:0.4s cubic-bezier(0.2,0.8,0.2,1);--transition-fade:0.6s cubic-bezier(0.4,0,0.2,1);--transition-fast:var(--transition-snappy);--transition-base:var(--transition-fluid);--transition-slow:0.7s cubic-bezier(0.25,0.8,0.25,1);--transition-slower:0.9s cubic-bezier(0.25,0.8,0.25,1);--transition-smooth:var(--transition-fluid);--transition-spring:0.55s cubic-bezier(0.34,1.56,0.64,1);--color-background:#fbf8fc;--color-background-alt:#f4f3f8;--color-surface:hsla(0,0%,100%,.7);--color-surface-raised:hsla(0,0%,100%,.55);--color-surface-overlay:hsla(0,0%,100%,.45);--color-border:rgba(12,18,31,.12);--color-border-light:rgba(12,18,31,.08);--color-text-primary:#313238;--color-text-secondary:#5e5f65;--color-text-tertiary:#797a81;--color-text-disabled:rgba(58,66,92,.55);--color-text-on-primary:#fff;--color-primary:#7549a8;--color-primary-hover:#6a3f9d;--color-primary-light:rgba(117,73,168,.18);--color-primary-alpha:rgba(117,73,168,.25);--color-accent:#8b5fbf;--color-success:#178a66;--color-warning:#8f5b00;--color-error:#d72a5a;--color-error-light:rgba(215,42,90,.16);--color-interactive-hover:color-mix(in srgb,var(--color-primary) 10%,transparent);--color-interactive-active:color-mix(in srgb,var(--color-primary) 20%,transparent);--color-focus-ring:color-mix(in srgb,var(--color-primary) 30%,transparent);--color-disabled-bg:color-mix(in srgb,var(--color-surface) 50%,transparent);--color-disabled-text:var(--color-text-disabled);--col-text-primary:var(--color-text-primary);--col-text-secondary:var(--color-text-secondary);--col-text-tertiary:var(--color-text-tertiary);--col-bg-primary:var(--color-surface);--col-bg-secondary:var(--color-surface-raised);--col-bg-hover:hsla(0,0%,100%,.55);--col-line-primary:var(--color-border);--col-line-secondary:var(--color-border-light);--col-brand:var(--color-primary);--gradient-primary:linear-gradient(to bottom right,#fbf8fc,rgba(238,219,255,.3) 50%,rgba(192,166,250,.15));--gradient-accent:linear-gradient(135deg,#7549a8,#565c89 45%,#8b5fbf);--gradient-surface:linear-gradient(180deg,hsla(0,0%,100%,.9),hsla(0,0%,100%,.7));--gradient-shimmer:linear-gradient(90deg,hsla(0,0%,100%,.25),hsla(0,0%,100%,.65) 50%,hsla(0,0%,100%,.25));--shadow-color-light:rgba(0,0,0,.1);--shadow-color-dark:rgba(0,0,0,.3);--shadow-color:var(--shadow-color-light);--shadow-sm:0 8px 20px color-mix(in srgb,var(--shadow-color) 55%,transparent);--shadow-md:0 18px 45px color-mix(in srgb,var(--shadow-color) 65%,transparent);--shadow-lg:0 35px 75px color-mix(in srgb,var(--shadow-color) 75%,transparent);--shadow-xl:0 55px 100px color-mix(in srgb,var(--shadow-color) 85%,transparent);--shadow-hover:0 25px 80px color-mix(in srgb,var(--shadow-color) 70%,transparent);--shadow-focus:0 0 0 3px color-mix(in srgb,var(--color-primary) 40%,transparent);--glass-soft-bg:hsla(0,0%,100%,.4);--glass-soft-blur:blur(12px) saturate(140%);--glass-standard-bg:hsla(0,0%,100%,.65);--glass-standard-blur:blur(20px) saturate(160%);--glass-dense-bg:hsla(0,0%,100%,.85);--glass-dense-blur:blur(30px) saturate(180%);--modal-surface-bg:var(--glass-dense-bg);--modal-backdrop-bg:rgba(251,248,252,.58);--glass-inner-glow:inset 0 0 0 0.5px rgba(117,73,168,.1);--glass-soft-border:hsla(240,5%,71%,.12);--glass-standard-border:hsla(240,5%,71%,.15);--glass-dense-border:hsla(240,5%,71%,.2);--glass-bg-subtle:var(--glass-soft-bg);--glass-bg:var(--glass-standard-bg);--glass-bg-strong:var(--glass-dense-bg);--glass-layer-soft:var(--glass-soft-bg);--glass-layer:var(--glass-standard-bg);--glass-layer-strong:var(--glass-dense-bg);--glass-blur-subtle:var(--glass-soft-blur);--glass-blur:var(--glass-standard-blur);--glass-blur-strong:var(--glass-dense-blur);--glass-backdrop:var(--glass-dense-blur);--glass-backdrop-soft:var(--glass-standard-blur);--glass-backdrop-min:var(--glass-soft-blur);--glass-bg-light:rgba(242,242,247,.8);--glass-border-light:hsla(0,0%,100%,.5);--glass-bg-dark:rgba(28,28,30,.75);--glass-border-dark:rgba(60,60,60,.7);--glass-border:var(--glass-border-light);--glass-border-strong:color-mix(in srgb,var(--glass-border) 90%,hsla(0,0%,100%,.05));--glass-border-soft:color-mix(in srgb,var(--glass-border) 55%,transparent);--glass-shadow-strong:0 45px 120px color-mix(in srgb,var(--shadow-color) 65%,transparent);--glass-shadow:0 30px 90px color-mix(in srgb,var(--shadow-color) 55%,transparent);--glass-shadow-subtle:0 15px 45px color-mix(in srgb,var(--shadow-color) 45%,transparent);--glass-shadow-light:var(--glass-shadow);--glass-shadow-dark:var(--glass-shadow);--glass-conversation-bg:hsla(0,0%,100%,.6);--glass-conversation-bg-hover:hsla(0,0%,100%,.8);--glass-conversation-bg-active:#fff;--glass-conversation-border:hsla(0,0%,100%,.5);--glass-conversation-shadow-sm:0 2px 4px rgba(0,0,0,.04);--glass-conversation-shadow-md:0 4px 12px rgba(0,0,0,.08);--glass-conversation-shadow-lg:0 8px 16px rgba(0,0,0,.12);--focus-ring-color:color-mix(in srgb,var(--color-primary) 35%,transparent);--focus-ring:0 0 0 3px var(--focus-ring-color);--text-primary:var(--color-text-primary);--text-secondary:var(--color-text-secondary);--text-tertiary:var(--color-text-tertiary);--text-disabled:var(--color-text-disabled);--text-link:var(--color-primary);--surface-base:var(--color-surface);--surface-elevated:var(--glass-layer);--surface-sunken:color-mix(in srgb,var(--color-background) 75%,#cbd5ff 25%);--border-default:var(--color-border);--border-strong:rgba(12,18,31,.22);--accent-primary:var(--color-primary);--accent-hover:var(--color-primary-hover);--button-height:48px;--button-height-sm:40px;--input-height:48px;--icon-button-size:40px;--icon-size:20px;--sidebar-width:288px;--panel-width:clamp(320px,30vw,420px);--topbar-height:64px;--touch-target-min:44px;--touch-target-comfortable:48px;--surface-container-lowest:#fff;--surface-container-low:#f4f3f8;--surface-container:#eeedf3;--surface-container-high:#e8e7ee;--primary-container:#c0c6fa;--icon-button-hover-bg:rgba(117,73,168,.06);--icon-button-active-bg:rgba(117,73,168,.12);--sidebar-bg:color-mix(in srgb,var(--color-background) 65%,#fff 35%);--sidebar-text:var(--color-text-primary);--sidebar-text-secondary:var(--color-text-secondary);--sidebar-border:var(--color-border);--sidebar-hover-bg:hsla(0,0%,100%,.55);--sidebar-active-bg:rgba(117,73,168,.15);--sidebar-active-text:var(--color-primary);--topbar-bg:var(--glass-standard-bg);--topbar-text:var(--color-text-primary);--topbar-border:var(--glass-standard-border);--shell-surface-bg:linear-gradient(180deg,color-mix(in srgb,var(--glass-layer-strong) 88%,hsla(0,0%,100%,.3)),color-mix(in srgb,var(--glass-layer) 78%,transparent));--shell-surface-bg-strong:color-mix(in srgb,var(--glass-bg-strong) 86%,rgba(92,108,244,.08));--shell-surface-border:color-mix(in srgb,var(--color-primary) 20%,hsla(0,0%,100%,.35));--shell-surface-shadow:0 24px 70px color-mix(in srgb,var(--color-primary) 18%,transparent);--shell-surface-highlight:linear-gradient(90deg,color-mix(in srgb,var(--color-primary) 12%,transparent),color-mix(in srgb,var(--color-accent) 10%,transparent));--data-panel-bg:color-mix(in srgb,var(--color-surface) 96%,rgba(248,250,252,.96));--data-panel-bg-strong:color-mix(in srgb,var(--color-surface-raised) 96%,hsla(0,0%,100%,.92));--data-panel-border:color-mix(in srgb,var(--color-border) 88%,hsla(0,0%,100%,.24));--data-panel-shadow:0 20px 55px color-mix(in srgb,var(--shadow-color) 40%,transparent);--trace-surface-bg:linear-gradient(180deg,color-mix(in srgb,var(--thinking-bg) 96%,hsla(0,0%,100%,.7)),color-mix(in srgb,var(--color-surface) 98%,transparent));--trace-surface-border:color-mix(in srgb,var(--thinking-accent) 32%,hsla(0,0%,100%,.24));--trace-surface-shadow:0 18px 52px color-mix(in srgb,var(--thinking-accent) 18%,transparent);--z-base:1;--z-dropdown:10;--z-sticky:20;--z-overlay:30;--z-modal:40;--z-popover:50;--z-tooltip:60;--z-toast:70;--breakpoint-sm:640px;--breakpoint-md:768px;--breakpoint-lg:1024px;--breakpoint-xl:1280px;--breakpoint-2xl:1536px}[data-theme=dark]{color-scheme:dark;--color-background:#3b2d4d;--color-background-alt:#382b49;--color-surface:rgba(77,59,100,.4);--color-surface-raised:rgba(77,59,100,.55);--color-surface-overlay:rgba(77,59,100,.3);--color-border:hsla(0,0%,100%,.12);--color-border-light:hsla(0,0%,100%,.08);--color-text-primary:#f6f0ff;--color-text-secondary:#c8b8d8;--color-text-tertiary:#9a8aad;--color-text-disabled:rgba(200,184,216,.48);--color-text-on-primary:#3b2d4d;--color-primary:#e8b4fb;--color-primary-hover:#f0c8ff;--color-primary-light:rgba(232,180,251,.2);--color-primary-alpha:rgba(232,180,251,.35);--color-accent:#c080e0;--color-success:#3dd9ad;--color-warning:#ffd36a;--color-error:#ff7ba2;--color-error-light:rgba(255,123,162,.2);--modal-surface-bg:var(--glass-dense-bg);--modal-backdrop-bg:rgba(59,45,77,.65);--glass-inner-glow:inset 0 0 0 0.5px rgba(232,180,251,.12);--color-interactive-hover:color-mix(in srgb,var(--color-primary) 12%,transparent);--color-interactive-active:color-mix(in srgb,var(--color-primary) 24%,transparent);--color-focus-ring:color-mix(in srgb,var(--color-primary) 35%,transparent);--color-disabled-bg:color-mix(in srgb,var(--color-surface) 40%,transparent);--col-text-primary:var(--color-text-primary);--col-text-secondary:var(--color-text-secondary);--col-text-tertiary:var(--color-text-tertiary);--col-bg-primary:var(--color-surface);--col-bg-secondary:var(--color-surface-raised);--col-bg-hover:hsla(0,0%,100%,.08);--col-line-primary:var(--color-border);--col-line-secondary:var(--color-border-light);--col-brand:var(--color-primary);--gradient-primary:linear-gradient(to bottom right,#3b2d4d,rgba(86,55,99,.4) 50%,rgba(123,79,142,.2));--gradient-accent:linear-gradient(135deg,#e8b4fb,#7b4f8e 45%,#c080e0);--gradient-surface:linear-gradient(180deg,rgba(77,59,100,.5),rgba(59,45,77,.4));--gradient-shimmer:linear-gradient(90deg,hsla(0,0%,100%,.08),hsla(0,0%,100%,.35) 50%,hsla(0,0%,100%,.08));--shadow-sm:0 8px 24px rgba(45,30,60,.35);--shadow-md:0 18px 50px rgba(45,30,60,.45);--shadow-lg:0 35px 95px rgba(45,30,60,.5);--shadow-xl:0 55px 120px rgba(45,30,60,.55);--shadow-hover:0 30px 90px rgba(45,30,60,.45);--shadow-focus:0 0 0 3px color-mix(in srgb,var(--color-primary) 45%,transparent);--glass-bg:var(--glass-bg-dark);--glass-border:var(--glass-border-dark);--shadow-color:var(--shadow-color-dark);--glass-conversation-bg:rgba(28,28,30,.6);--glass-conversation-bg-hover:rgba(44,44,46,.75);--glass-conversation-bg-active:rgba(58,58,60,.85);--glass-conversation-border:hsla(0,0%,100%,.1);--icon-button-hover-bg:hsla(0,0%,100%,.08);--icon-button-active-bg:hsla(0,0%,100%,.14);--sidebar-bg:rgba(77,59,100,.4);--sidebar-text:var(--color-text-primary);--sidebar-text-secondary:var(--color-text-secondary);--sidebar-border:var(--color-border);--sidebar-hover-bg:hsla(0,0%,100%,.07);--sidebar-active-bg:rgba(149,168,255,.18);--sidebar-active-text:var(--color-primary);--topbar-bg:var(--glass-layer);--topbar-text:var(--color-text-primary);--topbar-border:var(--glass-border-soft);--shell-surface-bg:linear-gradient(180deg,color-mix(in srgb,var(--glass-layer-strong) 90%,rgba(232,180,251,.08)),color-mix(in srgb,var(--glass-layer) 82%,rgba(59,45,77,.24)));--shell-surface-bg-strong:color-mix(in srgb,var(--glass-layer-strong) 88%,rgba(232,180,251,.1));--shell-surface-border:color-mix(in srgb,var(--color-primary) 24%,hsla(0,0%,100%,.12));--shell-surface-shadow:0 30px 90px rgba(45,30,60,.45);--shell-surface-highlight:linear-gradient(90deg,color-mix(in srgb,var(--color-primary) 14%,transparent),color-mix(in srgb,var(--color-accent) 14%,transparent));--data-panel-bg:rgba(50,38,66,.92);--data-panel-bg-strong:rgba(56,43,73,.94);--data-panel-border:hsla(0,0%,100%,.1);--data-panel-shadow:0 22px 60px rgba(45,30,60,.5);--trace-surface-bg:linear-gradient(180deg,color-mix(in srgb,var(--thinking-bg) 94%,rgba(59,45,77,.92)),color-mix(in srgb,var(--color-surface) 96%,rgba(56,43,73,.78)));--trace-surface-border:color-mix(in srgb,var(--thinking-accent) 38%,hsla(0,0%,100%,.12));--trace-surface-shadow:0 20px 56px color-mix(in srgb,var(--thinking-accent) 16%,rgba(0,0,0,.3));--surface-base:var(--color-surface);--surface-elevated:var(--glass-layer);--surface-sunken:rgba(3,6,15,.85);--text-primary:var(--color-text-primary);--text-secondary:var(--color-text-secondary);--text-tertiary:var(--color-text-tertiary);--text-disabled:var(--color-text-disabled);--text-link:var(--color-primary);--border-default:var(--color-border);--border-strong:hsla(0,0%,100%,.22);--thinking-accent:#e8b4fb;--thinking-border:#e8b4fb;--thinking-bg:rgba(232,180,251,.06);--thinking-title:var(--text-primary);--thinking-content:var(--text-secondary);--thinking-error:var(--color-error)}[data-theme=light]{color-scheme:light;--thinking-accent:#8b5fbf;--thinking-border:#8b5fbf;--thinking-bg:rgba(139,95,191,.04);--thinking-title:var(--text-primary);--thinking-content:var(--text-secondary);--thinking-error:var(--color-error)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-behavior:smooth}body{font-family:var(--font-family-system);font-size:var(--font-size-base);line-height:var(--line-height-normal);font-weight:var(--font-weight-regular);color:var(--color-text-primary);background-color:var(--color-background);background-image:var(--gradient-primary);background-attachment:fixed;min-height:100vh;position:relative;overflow-x:hidden;transition:background-color var(--transition-fade),color var(--transition-fade)}body:after,body:before{content:"";position:fixed;border-radius:50%;z-index:-2;pointer-events:none}body:before{top:-10%;left:-5%;background:radial-gradient(circle,rgba(196,181,253,.2) 0,transparent 70%);animation:cosmicPulse 8s ease-in-out infinite}body:after,body:before{width:40vw;height:40vw;filter:blur(80px)}body:after{bottom:-10%;right:-5%;background:radial-gradient(circle,rgba(165,180,252,.2) 0,transparent 70%);animation:cosmicPulse 10s ease-in-out 2s infinite}@keyframes cosmicPulse{0%,to{transform:scale(1);opacity:.6}50%{transform:scale(1.15);opacity:1}}main{position:relative;z-index:1}p{margin:0 0 1em;color:var(--color-text-secondary);line-height:var(--line-height-normal)}small{font-size:var(--font-size-sm);color:var(--color-text-tertiary)}h1,h2,h3,h4,h5,h6,strong{font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}h1,h2,h3,h4,h5,h6{font-family:var(--font-sans);letter-spacing:-.02em}h1{font-size:clamp(2rem,8vw,3rem)}h1,h2{line-height:1.2}h2{font-size:clamp(1.5rem,6vw,2.25rem)}h3{font-size:1.25rem;line-height:1.2}h4{font-size:1.5rem}h5{font-size:1.25rem}h6{font-size:1.125rem}a{color:var(--color-primary);text-decoration:none;text-decoration-color:color-mix(in srgb,var(--color-primary) 35%,transparent);transition:color var(--transition-fast),text-decoration-color var(--transition-fast)}a:focus-visible,a:hover{color:var(--color-primary-hover);text-decoration:underline}img,svg{display:block;max-width:100%}::-moz-selection{background:color-mix(in srgb,var(--color-primary) 35%,transparent);color:var(--color-text-on-primary)}::selection{background:color-mix(in srgb,var(--color-primary) 35%,transparent);color:var(--color-text-on-primary)}button{font-family:inherit;font-size:inherit;font-weight:var(--font-weight-medium);border:none;outline:none;cursor:pointer;border-radius:var(--radius-2xl);padding:0 var(--spacing-lg);min-height:var(--button-height);display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-2);background:transparent;color:inherit;position:relative;-moz-user-select:none;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;transform:translateZ(0);will-change:transform,box-shadow,background-color;transition:transform var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}@media (max-width:768px){button{min-height:var(--touch-target-min);padding:0 var(--spacing-md)}}button:disabled,button[aria-disabled=true],button[data-disabled=true]{cursor:not-allowed;opacity:.5;pointer-events:none;background:var(--color-disabled-bg)!important;color:var(--color-disabled-text)!important;box-shadow:none!important;transform:none!important}button:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px;box-shadow:0 0 0 4px var(--color-focus-ring),var(--shadow-md)}button.primary{background:var(--gradient-accent);color:var(--color-text-on-primary);box-shadow:var(--shadow-md),inset 0 1px 0 hsla(0,0%,100%,.35)}button.primary:hover:not(:disabled):not([data-disabled=true]){transform:translateY(-2px) scale(1.02);box-shadow:var(--shadow-lg),inset 0 1px 0 hsla(0,0%,100%,.4);filter:brightness(1.05)}button.primary:active:not(:disabled):not([data-disabled=true]){transform:translateY(0) scale(.98);box-shadow:var(--shadow-sm),inset 0 1px 0 hsla(0,0%,100%,.3);filter:brightness(.95);transition-duration:var(--duration-instant)}button.primary:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px;box-shadow:0 0 0 4px var(--color-focus-ring),var(--shadow-lg),inset 0 1px 0 hsla(0,0%,100%,.35)}button.secondary{background:var(--glass-layer);border:1px solid var(--glass-border);color:var(--color-text-primary);box-shadow:var(--shadow-sm);backdrop-filter:var(--glass-backdrop-soft);-webkit-backdrop-filter:var(--glass-backdrop-soft)}button.secondary:hover:not(:disabled):not([data-disabled=true]){background:var(--glass-layer-strong);border-color:var(--glass-border-strong);box-shadow:var(--glass-shadow);transform:translateY(-2px) scale(1.01)}button.secondary:active:not(:disabled):not([data-disabled=true]){background:var(--glass-bg-strong);border-color:var(--glass-border);box-shadow:var(--shadow-sm);transform:translateY(0) scale(.98);transition-duration:var(--duration-instant)}button.secondary:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px;box-shadow:0 0 0 4px var(--color-focus-ring),var(--glass-shadow);border-color:var(--color-primary)}button.ghost{background:transparent;border:1px solid transparent;color:var(--color-text-secondary);box-shadow:none}button.ghost:hover:not(:disabled):not([data-disabled=true]){background:var(--color-interactive-hover);border-color:color-mix(in srgb,var(--color-primary) 15%,transparent);color:var(--color-text-primary);transform:scale(1.02)}button.ghost:active:not(:disabled):not([data-disabled=true]){background:var(--color-interactive-active);border-color:color-mix(in srgb,var(--color-primary) 25%,transparent);transform:scale(.98);transition-duration:var(--duration-instant)}button.ghost:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px;box-shadow:0 0 0 4px var(--color-focus-ring);background:var(--color-interactive-hover);border-color:var(--color-primary)}button.icon,button[aria-label]:not(.primary):not(.secondary):not(.ghost):not([data-full-width]):not([aria-haspopup]){width:var(--icon-button-size);height:var(--icon-button-size);min-height:var(--icon-button-size);padding:0;border-radius:var(--radius-full);background:transparent;border:1px solid transparent;color:var(--color-text-secondary)}button.icon:hover:not(:disabled):not([data-disabled=true]),button[aria-label]:not(.primary):not(.secondary):not(.ghost):not([data-full-width]):not([aria-haspopup]):hover:not(:disabled):not([data-disabled=true]){background:var(--icon-button-hover-bg);border-color:var(--color-border-light);color:var(--color-text-primary);transform:scale(1.08)}button.icon:active:not(:disabled):not([data-disabled=true]),button[aria-label]:not(.primary):not(.secondary):not(.ghost):not([data-full-width]):not([aria-haspopup]):active:not(:disabled):not([data-disabled=true]){background:var(--icon-button-active-bg);border-color:var(--color-border);transform:scale(.95);transition-duration:var(--duration-instant)}button.icon:focus-visible,button[aria-label]:not(.primary):not(.secondary):not(.ghost):not([data-full-width]):not([aria-haspopup]):focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px;box-shadow:0 0 0 4px var(--color-focus-ring);background:var(--icon-button-hover-bg);border-color:var(--color-primary)}@media (max-width:768px){button.icon,button[aria-label]:not(.primary):not(.secondary):not(.ghost):not([data-full-width]):not([aria-haspopup]){width:var(--touch-target-min);height:var(--touch-target-min);min-height:var(--touch-target-min)}}button[aria-label][data-ui-button]{width:auto;height:auto;min-height:0;padding:0;border-radius:inherit}button[aria-label][data-ui-button],button[aria-label][data-ui-button]:hover:not(:disabled){background:transparent;border-color:transparent;color:inherit;transform:none;box-shadow:none}button[data-loading=true]{cursor:wait;opacity:.7;pointer-events:none}button[data-loading=true]:after{content:"";position:absolute;width:16px;height:16px;margin-left:8px;border:2px solid;border-top:2px solid transparent;border-radius:50%;animation:spin .6s linear infinite}button.small{min-height:var(--button-height-sm);padding:0 var(--spacing-md);font-size:var(--font-size-sm);gap:var(--spacing-1)}@media (max-width:768px){button.small{min-height:var(--button-height-sm)}}input,select,textarea{font-family:inherit;font-size:inherit;color:var(--color-text-primary);background:var(--glass-layer);border:1px solid var(--glass-border);border-radius:var(--radius-2xl);padding:var(--spacing-sm) var(--spacing-lg);height:var(--input-height);outline:none;transition:border-color var(--transition-snappy),box-shadow var(--transition-snappy),background var(--transition-snappy);backdrop-filter:var(--glass-backdrop-soft);-webkit-backdrop-filter:var(--glass-backdrop-soft)}input::-moz-placeholder,textarea::-moz-placeholder{color:var(--color-text-tertiary);opacity:.7}input::placeholder,textarea::placeholder{color:var(--color-text-tertiary);opacity:.7}input:focus,select:focus,textarea:focus{border-color:var(--color-primary);box-shadow:var(--focus-ring);background:var(--glass-layer-strong)}input:disabled,select:disabled,textarea:disabled{opacity:.6;cursor:not-allowed}textarea{height:auto;min-height:120px;resize:vertical}code,kbd,pre{font-family:var(--font-mono);font-size:.95em}kbd{display:inline-flex;align-items:center;justify-content:center;padding:0 var(--spacing-2);min-width:2.25rem;height:2rem;border-radius:var(--radius-2xl);background:var(--glass-layer);border:1px solid var(--glass-border);box-shadow:inset 0 -1px 0 hsla(0,0%,100%,.25)}.container{width:min(1200px,100%);margin:0 auto;padding:0 var(--spacing-xl)}.card{padding:var(--spacing-xl)}.card,.glass-container,.glass-panel{position:relative;border-radius:var(--radius-2xl);background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow-subtle);backdrop-filter:var(--glass-backdrop);-webkit-backdrop-filter:var(--glass-backdrop);will-change:transform,backdrop-filter;transition:transform var(--transition-fluid),box-shadow var(--transition-fluid),background var(--transition-fluid);color:var(--color-text-primary)}.glass-panel{background:var(--glass-bg-strong)}.glass-bg,.glass-panel{box-shadow:var(--glass-shadow)}.glass-bg{background:var(--glass-bg);border:1px solid var(--glass-border);backdrop-filter:var(--glass-backdrop);-webkit-backdrop-filter:var(--glass-backdrop)}.card:hover,.glass-container.hover-lift:hover,.glass-panel.hover-lift:hover{transform:translateY(-5px) scale(1.02);box-shadow:0 8px 24px var(--shadow-color);z-index:10}.glass-chip,.glass-inline{display:inline-flex;align-items:center;gap:var(--spacing-2);padding:var(--spacing-1) var(--spacing-3);border-radius:var(--radius-full);background:var(--glass-bg-subtle);border:1px solid var(--glass-border-soft);backdrop-filter:var(--glass-backdrop-min);-webkit-backdrop-filter:var(--glass-backdrop-min);color:var(--color-text-secondary)}.glass-button{background:var(--glass-bg);border:1px solid var(--glass-border);padding:var(--spacing-2);border-radius:var(--radius-2xl);box-shadow:var(--shadow-sm);color:var(--color-text-primary);backdrop-filter:var(--glass-backdrop-soft);-webkit-backdrop-filter:var(--glass-backdrop-soft);transition:transform var(--transition-snappy),box-shadow var(--transition-snappy),background var(--transition-snappy)}.glass-button:hover{transform:translateY(-1px) scale(1.02);box-shadow:var(--glass-shadow)}.glass-border{border:1px solid var(--glass-border)}.glass-strong{background:var(--glass-bg-strong);border:1px solid var(--glass-border-strong);box-shadow:var(--glass-shadow-strong)}.glass,.glass-strong{backdrop-filter:var(--glass-backdrop);-webkit-backdrop-filter:var(--glass-backdrop)}.glass{background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow)}.glass-subtle{background:var(--glass-bg-subtle);border:1px solid var(--glass-border-soft);box-shadow:var(--glass-shadow-subtle);backdrop-filter:var(--glass-backdrop-soft);-webkit-backdrop-filter:var(--glass-backdrop-soft)}.hover-lift{transition:transform var(--transition-snappy),box-shadow var(--transition-snappy)}.hover-lift:hover{transform:translateY(-5px) scale(1.02);box-shadow:var(--shadow-lg)}.shimmer{background:var(--gradient-shimmer);background-size:200% 100%;animation:shimmer 1.6s ease-in-out infinite}.shimmer,.skeleton{border-radius:var(--radius-2xl)}.skeleton{background:linear-gradient(90deg,var(--color-surface-overlay) 25%,var(--color-border-light) 50%,var(--color-surface-overlay) 75%);background-size:200% 100%;animation:shimmer 1.8s ease-in-out infinite}.spinner{width:28px;height:28px;border-radius:var(--radius-full);border:2px solid color-mix(in srgb,var(--color-text-secondary) 35%,transparent);border-top-color:var(--color-primary);animation:spin .85s linear infinite}.animate-gpu,.transition-quick{transform:translateZ(0);will-change:transform,opacity}.transition-quick{transition:transform var(--duration-fast) var(--ease-out),opacity var(--duration-fast) var(--ease-out)}.transition-enter,.transition-smooth{transform:translateZ(0);will-change:transform,opacity;transition:transform var(--duration-normal) var(--ease-out),opacity var(--duration-fast) var(--ease-out)}.transition-exit{transition:transform var(--duration-normal) var(--ease-in),opacity var(--duration-fast) var(--ease-in)}.transition-exit,.transition-slide{transform:translateZ(0);will-change:transform,opacity}.transition-slide{transition:transform var(--duration-normal) var(--ease-out),opacity var(--duration-fast) var(--ease-out)}.animate-fade-in{animation:fadeIn var(--duration-normal) var(--ease-out) both}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-slide-up{animation:slideUp var(--duration-normal) var(--ease-out) both}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.animate-slide-down{animation:slideDown var(--duration-normal) var(--ease-out) both}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.animate-slide-right{animation:slideRight var(--duration-normal) var(--ease-out) both}@keyframes slideRight{0%{opacity:0;transform:translateX(-20px) scale(.98)}to{opacity:1;transform:translateX(0) scale(1)}}.animate-slide-left{animation:slideLeft var(--duration-normal) var(--ease-out) both}@keyframes slideLeft{0%{opacity:0;transform:translateX(20px) scale(.98)}to{opacity:1;transform:translateX(0) scale(1)}}.animate-scale-in{animation:scaleIn var(--duration-normal) var(--ease-out) both}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.animate-spin{animation:spin .85s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.animate-shimmer{background:var(--gradient-shimmer);background-size:200% 100%;animation:shimmer 1.6s ease-in-out infinite}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.animate-progress-shimmer{animation:progressShimmer 2s linear infinite}@keyframes progressShimmer{0%{transform:translateX(-100px)}to{transform:translateX(100px)}}.animate-bounce{animation:bounce 1s infinite}@keyframes bounce{0%,to{transform:translateY(-5%) scale(1)}50%{transform:translateY(0) scale(1.02)}}.hover-lift-micro{transform:translateZ(0);will-change:transform;transition:transform var(--duration-fast) var(--ease-out)}.hover-lift-micro:hover{transform:translateY(-2px) scale(1.01)}.hover-scale{transform:translateZ(0);will-change:transform;transition:transform var(--duration-fast) var(--ease-out)}.hover-scale:hover{transform:scale(1.08)}.active-press{transform:translateZ(0);will-change:transform;transition:transform var(--duration-instant) var(--ease-out)}.active-press:active{transform:scale(.95)}.hover-glow{transition:box-shadow var(--duration-fast) var(--ease-out)}.hover-glow:hover{box-shadow:0 0 20px color-mix(in srgb,var(--color-primary) 30%,transparent)}.animate-stagger-1{animation-delay:50ms}.animate-stagger-2{animation-delay:.1s}.animate-stagger-3{animation-delay:.15s}.animate-stagger-4{animation-delay:.2s}.animate-stagger-5{animation-delay:.25s}.animate-backdrop-enter{animation:backdropEnter var(--duration-normal) var(--ease-out) both}@keyframes backdropEnter{0%{opacity:0}to{opacity:1}}.animate-backdrop-exit{animation:backdropExit var(--duration-fast) var(--ease-in) both}@keyframes backdropExit{0%{opacity:1}to{opacity:0}}.animate-modal-enter{animation:modalEnter var(--duration-normal) var(--ease-out) both}@keyframes modalEnter{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.animate-modal-exit{animation:modalExit var(--duration-fast) var(--ease-in) both}@keyframes modalExit{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.95) translateY(10px)}}.animate-status-pulse{animation:statusPulse 2s ease-in-out infinite}@keyframes statusPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}.animate-success-pop{animation:successPop var(--duration-normal) var(--ease-spring) both}@keyframes successPop{0%{opacity:0;transform:scale(.8)}50%{transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.animate-toast-top{animation:toastTop var(--duration-normal) var(--ease-out) both}@keyframes toastTop{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}.animate-toast-bottom{animation:toastBottom var(--duration-normal) var(--ease-out) both}@keyframes toastBottom{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.animate-toast-right{animation:toastRight var(--duration-normal) var(--ease-out) both}@keyframes toastRight{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}.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}:focus-visible{outline:none;box-shadow:var(--focus-ring)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-surface-overlay);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--color-border) 60%,transparent);border-radius:var(--radius-full);-webkit-transition:background var(--transition-fast);transition:background var(--transition-fast)}::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--color-primary) 45%,transparent)}:root{transition:--color-background var(--transition-fade),--color-surface var(--transition-fade),--color-text-primary var(--transition-fade),--color-text-secondary var(--transition-fade),--color-border var(--transition-fade),--color-primary var(--transition-fade),--color-primary-hover var(--transition-fade),--glass-layer var(--transition-fade),--glass-border var(--transition-fade),--glass-shadow var(--transition-fade)}[data-theme-transitioning] *,[data-theme-transitioning] :after,[data-theme-transitioning] :before{transition:none!important;animation-duration:0s!important}@supports not (backdrop-filter:blur(2px)){.glass,.glass-bg,.glass-button,.glass-chip,.glass-container,.glass-inline,.glass-panel,.glass-strong,.glass-subtle,button.secondary,input,select,textarea{backdrop-filter:none!important;-webkit-backdrop-filter:none!important}.glass,.glass-bg,.glass-button,.glass-container,.glass-panel,.glass-strong{background:var(--color-surface)!important;border:1px solid var(--color-border)!important;box-shadow:var(--shadow-sm)!important}}@media (max-width:1024px){.container{padding:0 var(--spacing-lg)}}@media (max-width:768px){.container{padding:0 var(--spacing-md)}h1{font-size:clamp(2rem,8vw,2.5rem)}h2{font-size:clamp(1.75rem,6vw,2rem)}body{background-attachment:scroll}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}body{scroll-behavior:auto}:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}.animate-bounce,.animate-pulse,.animate-shimmer,.animate-spin,.animate-status-pulse,.shimmer,.skeleton{animation:none!important}.hover-lift:hover,.hover-scale:hover,button:hover{transform:none!important}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}}