.app-footer[data-v-b19e20b1]{background:var(--card);border-top:1px solid var(--border);margin-top:auto;padding:var(--spacing-3xl) 0 var(--spacing-xl) 0}.footer-container[data-v-b19e20b1]{max-width:1400px;margin:0 auto;padding:0 var(--spacing-xl)}.footer-sections[data-v-b19e20b1]{display:flex;justify-content:space-between;gap:var(--spacing-xl);padding-bottom:var(--spacing-3xl);border-bottom:1px solid var(--border)}@media (max-width: 1024px){.footer-sections[data-v-b19e20b1]{gap:var(--spacing-2xl)}}@media (max-width: 640px){.footer-sections[data-v-b19e20b1]{flex-direction:column;gap:var(--spacing-lg)}}.footer-section[data-v-b19e20b1]{display:flex;flex-direction:column;gap:var(--spacing-md)}.footer-heading[data-v-b19e20b1]{font-size:.875rem;font-weight:600;color:var(--foreground);margin:0;text-transform:uppercase;letter-spacing:.05em;font-family:JetBrains Mono,monospace}.footer-nav[data-v-b19e20b1]{display:flex;flex-direction:column;gap:var(--spacing-sm)}.footer-link[data-v-b19e20b1]{font-size:.875rem;color:var(--muted-foreground);text-decoration:none;transition:color .2s ease;line-height:1.6}.footer-link[data-v-b19e20b1]:hover{color:var(--primary)}.footer-bottom[data-v-b19e20b1]{display:flex;justify-content:center;align-items:center;padding-top:var(--spacing-xl)}.footer-bottom-content[data-v-b19e20b1]{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);text-align:center}.footer-copyright[data-v-b19e20b1]{font-size:.875rem;color:var(--muted-foreground);margin:0}.footer-notice[data-v-b19e20b1]{font-size:.75rem;color:var(--muted-foreground);margin:0;opacity:.8}.footer-legal-links[data-v-b19e20b1]{display:flex;align-items:center;gap:var(--spacing-sm);margin-top:var(--spacing-xs)}.legal-link[data-v-b19e20b1]{font-size:.875rem;color:var(--muted-foreground);text-decoration:none;transition:color .2s ease}.legal-link[data-v-b19e20b1]:hover{color:var(--primary)}.legal-separator[data-v-b19e20b1]{color:var(--muted-foreground);opacity:.5}.footer-link[data-v-b19e20b1]:focus-visible,.legal-link[data-v-b19e20b1]:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:2px}@media (prefers-color-scheme: dark){.app-footer[data-v-b19e20b1]{background:#0003}}*{box-sizing:border-box;margin:0;padding:0}html{height:100%;background:var(--bg-secondary)}body{font-family:var(--font-family-primary);background:var(--bg-secondary);color:var(--text-primary);line-height:var(--line-height-normal);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;height:100%;font-size:var(--font-size-base)}#app{min-height:100vh;height:100%;background:var(--bg-secondary);display:flex;flex-direction:column}.app-content{flex:1;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{color:var(--text-primary);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight)}h1{font-size:var(--font-size-xl)}h2{font-size:var(--font-size-lg)}h3,h4,h5,h6,p,span,div{font-size:var(--font-size-base)}small{font-size:var(--font-size-xs)}*:focus-visible{outline:var(--focus-ring-width) var(--focus-ring-style) var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}button{font-family:inherit;font-size:inherit;cursor:pointer;border:none;background:none;color:inherit}input,select,textarea{font-family:inherit;font-size:var(--font-size-base);color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--input-padding-y) var(--input-padding-x);transition:var(--input-transition)}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #10b9811a;outline:none}[data-theme=dark] input:focus,[data-theme=dark] select:focus,[data-theme=dark] textarea:focus{box-shadow:0 0 0 3px #34d39933}a{color:var(--primary);text-decoration:none;transition:var(--transition-colors)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--primary)}::selection{background:var(--primary);color:#fff}:root{--primary: #047857;--primary-dark: #064e3b;--primary-light: #065f46;--secondary: #64748b;--accent: #f59e0b;--success: #047857;--warning: #f59e0b;--danger: #f97316;--bg-primary: #ffffff;--bg-secondary: #f8fafc;--bg-tertiary: #f1f5f9;--border: #cbd5e0;--border-light: #e2e8f0;--text-primary: #0f172a;--text-secondary: #334155;--text-muted: #475569;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1)}[data-theme=dark]{--primary: #059669;--primary-dark: #047857;--primary-light: #10b981;--secondary: #94a3b8;--accent: #fbbf24;--success: #059669;--warning: #fbbf24;--danger: #fb923c;--bg-primary: #1a1a1a;--bg-secondary: #2a2a2a;--bg-tertiary: #3a3a3a;--border: #525252;--border-light: #404040;--text-primary: #ffffff;--text-secondary: #f1f5f9;--text-muted: #e2e8f0;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .3);--shadow: 0 1px 3px 0 rgb(0 0 0 / .4), 0 1px 2px -1px rgb(0 0 0 / .4);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .4), 0 2px 4px -2px rgb(0 0 0 / .4);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .4), 0 4px 6px -4px rgb(0 0 0 / .4)}:root{--spacing-xs: 4px;--spacing-sm: 8px;--spacing: 12px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--spacing-3xl: 64px}:root{--radius-sm: 6px;--radius: 8px;--radius-lg: 12px}:root{--font-family-primary: "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI Variable Display", "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";--font-family-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, "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: 1.875rem;--font-size-4xl: 2.25rem;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--line-height-none: 1;--line-height-tight: 1.25;--line-height-snug: 1.375;--line-height-normal: 1.5;--line-height-relaxed: 1.625;--line-height-loose: 2;--letter-spacing-tight: -.025em;--letter-spacing-normal: 0;--letter-spacing-wide: .025em;--letter-spacing-wider: .05em;--letter-spacing-widest: .1em}:root{--btn-padding-x: var(--spacing-md);--btn-padding-y: var(--spacing-sm);--btn-padding-sm-x: var(--spacing);--btn-padding-sm-y: var(--spacing-xs);--btn-border-radius: var(--radius-sm);--btn-font-size: var(--font-size-base);--btn-font-weight: var(--font-weight-medium);--btn-transition: all .2s ease}:root{--input-padding-x: var(--spacing);--input-padding-y: var(--spacing-sm);--input-border-radius: var(--radius-sm);--input-font-size: var(--font-size-base);--input-transition: border-color .2s ease}:root{--card-padding: var(--spacing-lg);--card-border-radius: var(--radius);--card-border: 1px solid var(--border);--card-shadow: var(--shadow-sm)}:root{--vector-color-1: #047857;--vector-color-2: #f59e0b;--vector-color-3: #8b5cf6;--vector-color-4: #06b6d4;--vector-color-5: #f97316;--vector-color-6: #84cc16}:root{--canvas-grid-light: #f1f5f9;--canvas-grid-dark: #404040;--canvas-axis-light: #64748b;--canvas-axis-dark: #9ca3af;--vector-line-width: 3px;--vector-arrow-size: 10px;--vector-label-font-size: 14px;--vector-label-font-weight: 600;--vector-label-offset: 8px}[data-theme=dark]{--canvas-grid: var(--canvas-grid-dark);--canvas-axis: var(--canvas-axis-dark)}:root{--canvas-grid: var(--canvas-grid-light);--canvas-axis: var(--canvas-axis-light)}:root{--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal: 1040;--z-popover: 1050;--z-tooltip: 1060}:root{--focus-ring-color: var(--primary);--focus-ring-width: 3px;--focus-ring-offset: 2px;--focus-ring-style: solid}.focus-visible,*:focus-visible{outline:var(--focus-ring-width) var(--focus-ring-style) var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}[data-theme=dark] .input-field:focus{box-shadow:0 0 0 3px #34d39933}:root .input-field:focus{box-shadow:0 0 0 3px #10b9811a}:root{--transition-fast: .15s ease;--transition-normal: .2s ease;--transition-slow: .3s ease;--transition-all: all var(--transition-normal);--transition-colors: color var(--transition-normal), background-color var(--transition-normal), border-color var(--transition-normal);--transition-shadow: box-shadow var(--transition-normal);--transition-transform: transform var(--transition-normal)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}:root{--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--breakpoint-2xl: 1536px}@media (prefers-reduced-motion: reduce){:root{--transition-fast: .01ms;--transition-normal: .01ms;--transition-slow: .01ms}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (prefers-contrast: high){:root{--primary: #00aa00;--border: #666666;--text-secondary: var(--text-primary)}[data-theme=dark]{--primary: #00ff00;--bg-secondary: #000000}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:absolute;top:-40px;left:var(--spacing-sm);background:var(--primary);color:#fff;padding:var(--spacing-sm) var(--spacing-md);text-decoration:none;border-radius:var(--radius-sm);font-weight:var(--font-weight-semibold);z-index:var(--z-tooltip);transition:top var(--transition-fast)}.skip-link:focus{top:var(--spacing-sm)}.focus-visible{outline:var(--focus-ring-width) var(--focus-ring-style) var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.animate-fade-in{animation:fadeIn .3s ease}.animate-slide-in{animation:slideIn .3s ease}*{font-feature-settings:"kern" 1,"liga" 1,"calt" 1,"ss01" 1;font-variant-ligatures:common-ligatures contextual;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);letter-spacing:var(--letter-spacing-normal);color:var(--text-primary);font-variant-numeric:tabular-nums}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-primary);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight);color:var(--text-primary);margin-bottom:.5em}h1{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);letter-spacing:-.02em}h2{font-size:var(--font-size-3xl);font-weight:var(--font-weight-semibold)}h3{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold)}h4{font-size:var(--font-size-xl);font-weight:var(--font-weight-medium)}h5{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium)}h6{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}p{font-size:var(--font-size-base);line-height:var(--line-height-relaxed);color:var(--text-secondary);margin-bottom:1rem}.text-hero{font-size:var(--font-size-4xl);font-weight:var(--font-weight-extrabold);line-height:var(--line-height-none);letter-spacing:var(--letter-spacing-tight)}.text-lead{font-size:var(--font-size-lg);font-weight:var(--font-weight-normal);line-height:var(--line-height-relaxed);color:var(--text-secondary)}code,pre,.font-mono{font-family:var(--font-family-mono);font-feature-settings:"liga" 0,"calt" 0;font-variant-ligatures:none}code{font-size:.875em;font-weight:var(--font-weight-medium);background:var(--bg-tertiary);padding:.125rem .25rem;border-radius:var(--radius-sm);border:1px solid var(--border-light)}pre{font-size:var(--font-size-sm);line-height:var(--line-height-normal);background:var(--bg-tertiary);padding:var(--spacing-md);border-radius:var(--radius);border:1px solid var(--border);overflow-x:auto}.math-expression{font-family:Times New Roman,"STIX Two Math","Latin Modern Math",serif;font-style:italic;font-weight:var(--font-weight-normal);font-size:1.1em}button,.btn{font-family:var(--font-family-primary);font-weight:var(--font-weight-medium);font-size:var(--font-size-base);letter-spacing:var(--letter-spacing-wide)}input,textarea,select{font-family:var(--font-family-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal)}.text-small,small{font-size:var(--font-size-sm);color:var(--text-muted);line-height:var(--line-height-normal)}.text-caption{font-size:var(--font-size-xs);color:var(--text-muted);font-weight:var(--font-weight-medium);text-transform:uppercase;letter-spacing:var(--letter-spacing-wider)}strong,.font-semibold{font-weight:var(--font-weight-semibold);color:var(--text-primary)}em{font-style:italic;color:var(--text-primary)}a{color:var(--primary);text-decoration:none;font-weight:var(--font-weight-medium);transition:color var(--transition-normal)}a:hover{color:var(--primary-dark);text-decoration:underline}@media (max-width: 768px){body{font-size:var(--font-size-sm)}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}h3{font-size:var(--font-size-xl)}.text-hero{font-size:var(--font-size-3xl)}.text-lead{font-size:var(--font-size-base)}}@media (prefers-contrast: high){*{font-weight:var(--font-weight-medium);text-shadow:none}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-bold)}}[data-theme=dark]{*{-webkit-font-smoothing:subpixel-antialiased}}
