:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--primary-hue: 260deg;--primary-saturation: 65%;--primary-lightness-interactive: 45%;--primary-lightness-text: 65%;--color-primary: hsl(var(--primary-hue), var(--primary-saturation), var(--primary-lightness-interactive));--color-primary-hover: hsl(var(--primary-hue), var(--primary-saturation), calc(var(--primary-lightness-interactive) + 8%));--color-primary-active: hsl(var(--primary-hue), var(--primary-saturation), calc(var(--primary-lightness-interactive) - 5%));--color-primary-light: hsl(var(--primary-hue), var(--primary-saturation), calc(var(--primary-lightness-interactive) + 15%));--color-primary-text: hsl(var(--primary-hue), var(--primary-saturation), var(--primary-lightness-text));--color-primary-text-hover: hsl(var(--primary-hue), var(--primary-saturation), calc(var(--primary-lightness-text) + 5%));--color-accent: hsl(calc(var(--primary-hue) - 120deg), var(--primary-saturation), var(--primary-lightness-interactive));--color-accent-hover: hsl(calc(var(--primary-hue) - 120deg), var(--primary-saturation), calc(var(--primary-lightness-interactive) + 8%));--color-accent-text: hsl(calc(var(--primary-hue) - 120deg), var(--primary-saturation), var(--primary-lightness-text));--color-secondary: hsl(calc(var(--primary-hue) - 120deg), var(--primary-saturation), var(--primary-lightness-interactive));--color-secondary-hover: hsl(calc(var(--primary-hue) - 120deg), var(--primary-saturation), calc(var(--primary-lightness-interactive) + 8%));--color-tertiary: hsl(calc(var(--primary-hue) - 240deg), var(--primary-saturation), var(--primary-lightness-interactive));--color-tertiary-hover: hsl(calc(var(--primary-hue) - 240deg), var(--primary-saturation), calc(var(--primary-lightness-interactive) + 8%));--color-success: hsl(142deg, 76%, 45%);--color-warning: hsl(38deg, 92%, 50%);--color-error: hsl(0deg, 84%, 60%);--bg-primary: hsl(0deg, 0%, 8%);--bg-secondary: hsl(0deg, 0%, 12%);--bg-tertiary: hsl(0deg, 0%, 16%);--bg-elevated: hsl(0deg, 0%, 14%);--bg-overlay: hsl(0deg, 0%, 0% / .8);--bg-glass: hsl(0deg, 0%, 10% / .8);--bg-gradient-primary: linear-gradient(135deg, var(--bg-primary) 0%, var(--bg-secondary) 100%);--bg-gradient-card: linear-gradient(135deg, var(--bg-secondary) 0%, var(--bg-tertiary) 100%);--bg-gradient-accent: linear-gradient(135deg, var(--color-primary) 0%, var(--color-accent) 100%);--text-primary: hsl(0deg, 0%, 95%);--text-secondary: hsl(0deg, 0%, 75%);--text-tertiary: hsl(0deg, 0%, 55%);--text-muted: hsl(0deg, 0%, 45%);--text-inverse: hsl(0deg, 0%, 10%);--border-color: hsl(0deg, 0%, 20%);--border-color-hover: hsl(0deg, 0%, 30%);--border-color-focus: var(--color-primary);--border-width: 1px;--border-radius: 8px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .3), 0 1px 2px rgba(0, 0, 0, .2);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4), 0 2px 4px rgba(0, 0, 0, .2);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .5), 0 4px 8px rgba(0, 0, 0, .3);--shadow-xl: 0 16px 40px rgba(0, 0, 0, .6), 0 8px 16px rgba(0, 0, 0, .4);--shadow-glow: 0 0 20px rgba(33, 150, 243, .3);--shadow-inset: inset 0 2px 4px rgba(0, 0, 0, .3);--spacing-3xs: 2px;--spacing-2xs: 4px;--spacing-xs: 6px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-lg: 16px;--spacing-xl: 20px;--spacing-2xl: 24px;--spacing-3xl: 32px;--spacing-4xl: 40px;--spacing-5xl: 48px;--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-size-5xl: 3rem;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-normal: 1.5;--line-height-relaxed: 1.625;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-2xl: 16px;--radius-full: 9999px;--transition-fast: .15s ease-in-out;--transition-normal: .25s ease-in-out;--transition-slow: .35s ease-in-out;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:var(--bg-gradient-primary);color:var(--text-primary);font-size:var(--font-size-base);line-height:var(--line-height-normal);font-weight:var(--font-weight-normal);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}#app{min-height:100vh;background:var(--bg-gradient-primary)}a{color:var(--color-primary-text);text-decoration:none;transition:var(--transition-fast);position:relative}a:hover{color:var(--color-primary-text-hover)}a:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}button{font-family:inherit;font-size:inherit;font-weight:inherit;border:var(--border-width) solid transparent;cursor:pointer;transition:var(--transition-fast);border-radius:var(--border-radius);background:transparent;position:relative;overflow:hidden}button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}button:disabled{opacity:.6;cursor:not-allowed;pointer-events:none}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}.container{width:100%;max-width:min(100vw - 2rem,600px);margin:0 auto;padding-left:var(--spacing-md);padding-right:var(--spacing-md)}@media(min-width:640px){.container{max-width:min(100vw - 4rem,700px);padding-left:var(--spacing-lg);padding-right:var(--spacing-lg)}}@media(min-width:768px){.container{max-width:min(100vw - 4rem,800px)}}@media(min-width:1024px){.container{max-width:min(100vw - 6rem,1000px)}}@media(min-width:1280px){.container{max-width:min(100vw - 8rem,1200px)}}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-sm{gap:var(--spacing-sm)}.gap-md{gap:var(--spacing-md)}.gap-lg{gap:var(--spacing-lg)}.p-sm{padding:var(--spacing-sm)}.p-md{padding:var(--spacing-md)}.p-lg{padding:var(--spacing-lg)}.m-sm{margin:var(--spacing-sm)}.m-md{margin:var(--spacing-md)}.m-lg{margin:var(--spacing-lg)}.text-center{text-align:center}.text-sm{font-size:var(--font-size-sm)}.text-base{font-size:var(--font-size-base)}.text-lg{font-size:var(--font-size-lg)}.text-xl{font-size:var(--font-size-xl)}.text-2xl{font-size:var(--font-size-2xl)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.font-bold{font-weight:var(--font-weight-bold)}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.card{background:var(--bg-gradient-card);border:var(--border-width) solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);transition:var(--transition-normal)}.card:hover{box-shadow:var(--shadow-lg);border-color:var(--border-color-hover);transform:translateY(-2px)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-md);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);transition:var(--transition-fast);cursor:pointer;position:relative;overflow:hidden}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff;border:var(--border-width) solid var(--color-primary)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-secondary{background:var(--bg-secondary);color:var(--text-primary);border:var(--border-width) solid var(--border-color)}.btn-secondary:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--border-color-hover)}.btn-ghost{background:transparent;color:var(--text-secondary);border:var(--border-width) solid transparent}.btn-ghost:hover:not(:disabled){background:var(--bg-tertiary);color:var(--text-primary)}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.animate-fade-in{animation:fadeIn var(--transition-normal)}.animate-slide-in{animation:slideIn var(--transition-normal)}.animate-pulse{animation:pulse 2s infinite}.spinner{width:20px;height:20px;border:2px solid var(--border-color);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-color-scheme:light){:root{background-color:var(--bg-primary);color:var(--text-primary)}}.btn-touch{min-height:44px;padding:var(--spacing-md) var(--spacing-lg)}.input-touch{min-height:44px;padding:var(--spacing-md)}.touch-target{min-height:44px;min-width:44px}.toast-container[data-v-3bee1bd4]{position:fixed;top:var(--spacing-md);right:var(--spacing-md);z-index:9999;display:flex;flex-direction:column;gap:var(--spacing-sm)}.toast[data-v-3bee1bd4]{min-width:300px;max-width:500px;background-color:var(--bg-secondary);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:var(--spacing-md);display:flex;align-items:center;justify-content:space-between;cursor:pointer;border-left:3px solid;animation:slideIn-3bee1bd4 .3s ease-out}.toast.success[data-v-3bee1bd4]{border-left-color:var(--color-secondary)}.toast.error[data-v-3bee1bd4]{border-left-color:var(--color-accent)}.toast.info[data-v-3bee1bd4]{border-left-color:var(--color-primary-text)}.toast.warning[data-v-3bee1bd4]{border-left-color:var(--color-tertiary)}.toast-content[data-v-3bee1bd4]{display:flex;align-items:center;gap:var(--spacing-sm);flex:1}.toast-icon[data-v-3bee1bd4]{font-size:1.25rem;font-weight:700}.toast.success .toast-icon[data-v-3bee1bd4]{color:var(--color-secondary)}.toast.error .toast-icon[data-v-3bee1bd4]{color:var(--color-accent)}.toast.info .toast-icon[data-v-3bee1bd4]{color:var(--color-primary-text)}.toast.warning .toast-icon[data-v-3bee1bd4]{color:var(--color-tertiary)}.toast-message[data-v-3bee1bd4]{color:var(--text-primary);font-size:.875rem;line-height:1.4}.toast-close[data-v-3bee1bd4]{background:none;border:none;font-size:1.25rem;color:var(--text-tertiary);cursor:pointer;padding:0;margin-left:var(--spacing-sm);width:24px;height:24px;display:flex;align-items:center;justify-content:center;line-height:1;transition:color .2s}.toast-close[data-v-3bee1bd4]:hover{color:var(--text-primary)}@keyframes slideIn-3bee1bd4{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.toast-enter-active[data-v-3bee1bd4],.toast-leave-active[data-v-3bee1bd4]{transition:all .3s ease}.toast-enter-from[data-v-3bee1bd4],.toast-leave-to[data-v-3bee1bd4]{transform:translate(100%);opacity:0}.toast-move[data-v-3bee1bd4]{transition:transform .3s ease}@media(max-width:768px){.toast-container[data-v-3bee1bd4]{left:var(--spacing-sm);right:var(--spacing-sm)}.toast[data-v-3bee1bd4]{min-width:auto;width:100%}}#app{min-height:100vh}
