@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&display=swap";:root{--color-brand-primary: #7c3aed;--color-brand-secondary: #6366f1;--color-brand-accent: #a78bfa;--color-accent-cyan: #34d399;--color-accent-blue: #60a5fa;--color-accent-pink: #ec4899;--color-accent-orange: #f97316;--gradient-primary: linear-gradient(135deg, #7c3aed 0%, #6366f1 50%, #34d399 100%);--gradient-hero: linear-gradient(135deg, rgba(124, 58, 237, .15) 0%, rgba(99, 102, 241, .1) 50%, rgba(52, 211, 153, .05) 100%);--gradient-artistic: linear-gradient(135deg, #7c3aed 0%, #ec4899 50%, #f97316 100%);--gradient-soft: linear-gradient(180deg, rgba(124, 58, 237, .05) 0%, rgba(99, 102, 241, .08) 100%);--color-surface-bg: #0f172a;--color-surface-elevated: rgba(15, 23, 42, .6);--color-surface-glass: rgba(255, 255, 255, .05);--color-surface-glass-light: rgba(255, 255, 255, .08);--color-surface-glass-lighter: rgba(255, 255, 255, .1);--color-surface-overlay: rgba(15, 23, 42, .4);--color-surface-card: rgba(15, 23, 42, .4);--color-surface-nav: rgba(30, 41, 59, .7);--color-border-primary: rgba(255, 255, 255, .1);--color-border-subtle: rgba(255, 255, 255, .05);--color-border-light: rgba(148, 163, 184, .1);--color-text-primary: #e2e8f0;--color-text-secondary: #94a3b8;--color-text-tertiary: #64748b;--color-text-inverse: #ffffff;--color-text-subtle: #475569;--color-success: #10b981;--color-success-dark: #059669;--color-error: #ef4444;--color-warning: #f59e0b;--color-info: #3b82f6;--color-glass-bg: rgba(255, 255, 255, .05);--color-glass-border: rgba(255, 255, 255, .1);--color-glass-border-bright: rgba(255, 255, 255, .15);--font-family-ui: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-family-mono: "JetBrains Mono", "Courier New", monospace;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--font-size-xs: 12px;--font-size-sm: 14px;--font-size-base: 16px;--font-size-lg: 18px;--font-size-xl: 20px;--font-size-2xl: 24px;--font-size-3xl: 32px;--line-height-tight: 1.2;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--space-0: 0;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--shadow-xs: 0 2px 4px rgba(0, 0, 0, .1);--shadow-sm: 0 4px 8px rgba(0, 0, 0, .15);--shadow-md: 0 4px 12px rgba(0, 0, 0, .2);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .2);--shadow-xl: 0 12px 32px rgba(0, 0, 0, .25);--shadow-2xl: 0 18px 40px rgba(2, 6, 23, .5);--shadow-inset: inset 0 1px 0 rgba(255, 255, 255, .1);--shadow-glow-primary: 0 4px 16px rgba(99, 102, 241, .3);--shadow-glow-primary-hover: 0 6px 20px rgba(99, 102, 241, .4);--shadow-glow-success: 0 4px 16px rgba(16, 185, 129, .3);--shadow-glow-success-hover: 0 6px 20px rgba(16, 185, 129, .4);--shadow-glow-accent: 0 4px 12px rgba(139, 92, 246, .2);--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--duration-fast: .15s;--duration-normal: .3s;--duration-slow: .5s;--duration-slower: .8s;--easing-ease-out: cubic-bezier(.4, 0, .2, 1);--easing-ease-in: cubic-bezier(.4, 0, 1, 1);--easing-ease-in-out: cubic-bezier(.4, 0, .2, 1);--easing-ease-bounce: cubic-bezier(.34, 1.56, .64, 1);--z-base: 0;--z-dropdown: 100;--z-modal: 200;--z-toast: 300;--z-tooltip: 400;--touch-target-mobile: 44px;--touch-target-desktop: 40px;--icon-button-padding-mobile: 12px;--icon-button-padding-desktop: 10px}@media (prefers-color-scheme: light){:root{--color-surface-bg: #f9fafb;--color-surface-elevated: #ffffff;--color-surface-glass: rgba(255, 255, 255, .8);--color-surface-glass-light: rgba(255, 255, 255, .85);--color-surface-glass-lighter: rgba(255, 255, 255, .9);--color-surface-overlay: rgba(248, 250, 252, .95);--color-surface-card: rgba(255, 255, 255, .9);--color-surface-nav: rgba(226, 232, 240, .9);--color-border-primary: rgba(148, 163, 184, .2);--color-border-subtle: rgba(148, 163, 184, .15);--color-border-light: rgba(226, 232, 240, .5);--color-text-primary: #1e293b;--color-text-secondary: #64748b;--color-text-tertiary: #94a3b8;--color-text-inverse: #ffffff;--color-text-subtle: #475569;--color-glass-bg: rgba(255, 255, 255, .8);--color-glass-border: rgba(148, 163, 184, .2);--color-glass-border-bright: rgba(148, 163, 184, .3)}body{background-color:var(--color-surface-bg);color:var(--color-text-primary)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--duration-normal) ease;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:none;font-family:var(--font-family-ui)}.btn:active{transform:translateY(1px);opacity:.9}.btn:focus-visible{outline:2px solid rgba(139,92,246,.6);outline-offset:2px}.btn-primary{background:linear-gradient(135deg,var(--color-brand-primary) 0%,var(--color-brand-secondary) 100%);color:#fff;box-shadow:var(--shadow-glow-primary)}.btn-primary:hover{box-shadow:var(--shadow-glow-primary-hover);transform:translateY(-1px)}.btn-secondary{background:var(--color-surface-glass);color:var(--color-text-primary);border:1px solid var(--color-border-primary)}.btn-secondary:hover{background:var(--color-surface-glass-light);border-color:#8b5cf680}.btn-ghost{background:var(--color-surface-glass);border:1px solid var(--color-border-light);color:var(--color-text-primary)}.btn-ghost:hover{background:var(--color-surface-glass-light);border-color:var(--color-border-primary)}.btn-outline{background:transparent;border:1px solid var(--color-border-primary);color:var(--color-text-primary)}.btn-outline:hover{background:var(--color-surface-glass);border-color:#8b5cf680}.btn-success{background:linear-gradient(135deg,var(--color-success) 0%,var(--color-success-dark) 100%);color:#fff;box-shadow:var(--shadow-glow-success)}.btn-success:hover{box-shadow:var(--shadow-glow-success-hover);transform:translateY(-1px)}.btn-icon{display:inline-flex;align-items:center;justify-content:center;padding:var(--icon-button-padding-desktop);border-radius:var(--radius-md);width:var(--touch-target-desktop);height:var(--touch-target-desktop);cursor:pointer;transition:all var(--duration-fast) ease;background:var(--color-surface-glass);border:1px solid var(--color-border-primary);color:var(--color-text-primary)}.btn-icon:hover{background:var(--color-surface-glass-light);border-color:#8b5cf680;box-shadow:var(--shadow-glow-accent)}.btn-icon:focus-visible{outline:2px solid rgba(139,92,246,.6);outline-offset:2px}@media (max-width: 640px){.btn-icon{padding:var(--icon-button-padding-mobile);width:var(--touch-target-mobile);height:var(--touch-target-mobile)}}@media (prefers-reduced-motion: reduce){.btn:hover,.btn-primary:hover,.btn-success:hover,.btn-ghost:hover,.btn-icon:hover{transform:none}}.surface-card{border-radius:var(--radius-lg);background:var(--color-surface-card);border:1px solid var(--color-border-primary);box-shadow:var(--shadow-md);transition:all var(--duration-normal) ease}.surface-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.surface-glass{-webkit-backdrop-filter:blur(12px) saturate(1.5);backdrop-filter:blur(12px) saturate(1.5);background:var(--color-surface-glass);border:1px solid var(--color-glass-border);box-shadow:var(--shadow-lg),var(--shadow-inset)}.surface-elevated{background:var(--color-surface-elevated);border:1px solid var(--color-border-primary);box-shadow:var(--shadow-lg)}.surface-interactive{padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-glass);border:1px solid var(--color-border-primary);cursor:pointer;transition:all var(--duration-normal) ease}.surface-interactive:hover{background:var(--color-surface-glass-light);border-color:#8b5cf680}.text-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:var(--line-height-tight)}.text-body{font-size:var(--font-size-base);font-weight:var(--font-weight-regular);color:var(--color-text-primary);line-height:var(--line-height-normal)}.text-body-secondary{font-size:var(--font-size-base);font-weight:var(--font-weight-regular);color:var(--color-text-secondary);line-height:var(--line-height-normal)}.text-caption{font-size:var(--font-size-xs);font-weight:var(--font-weight-regular);color:var(--color-text-tertiary);line-height:var(--line-height-tight)}.text-heading{font-weight:var(--font-weight-bold);color:var(--color-text-primary);line-height:var(--line-height-tight)}.text-h1{font-size:var(--font-size-3xl);font-weight:var(--font-weight-extrabold)}.text-h2{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold)}.text-h3{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold)}.input-field{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:#1e293bcc;border:2px solid var(--color-border-primary);color:var(--color-text-primary);font-size:var(--font-size-base);font-family:var(--font-family-ui);transition:all var(--duration-normal) ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.input-field:hover{border-color:#7c3aed80;background:#1e293bf2}.input-field:focus{outline:none;border-color:#7c3aedcc;box-shadow:0 0 0 3px #7c3aed26,inset 0 1px #ffffff0d;background:#1e293bf2}.input-field::-moz-placeholder{color:var(--color-text-tertiary)}.input-field::placeholder{color:var(--color-text-tertiary)}.input-field option{background:var(--color-surface-bg);color:var(--color-text-primary);padding:var(--space-2) var(--space-3)}.input-field option:hover,.input-field option:checked{background:var(--color-brand-primary);color:#fff}.clickable{cursor:pointer;transition:all var(--duration-fast) ease}.clickable:hover{opacity:.8}.inline-flex-center{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2)}.flex-center{display:flex;align-items:center;justify-content:center}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.scrollbar-hide::-webkit-scrollbar{display:none}.image-uploader-controls{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap}@media (max-width: 640px){.image-uploader-controls{flex-direction:column;align-items:stretch}.image-uploader-controls label,.image-uploader-controls input,.image-uploader-controls button{width:100%}}.export-format-card{display:flex;flex-direction:column;align-items:flex-start;padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-glass);border:1px solid var(--color-border-primary);cursor:pointer;transition:all var(--duration-normal) ease;text-align:left;width:100%}.export-format-card:hover{background:var(--color-surface-glass-light);border-color:#8b5cf680;box-shadow:var(--shadow-glow-accent);transform:translateY(-2px)}.export-format-card:focus-visible{outline:2px solid rgba(139,92,246,.6);outline-offset:2px}@media (max-width: 640px){.export-format-card:hover{transform:none}}@media (max-width: 768px){.relative.z-60.w-full{max-width:calc(100vw - var(--space-6))!important;margin:0 var(--space-3);padding:var(--space-4)!important}.grid.grid-cols-1.md\:grid-cols-2{grid-template-columns:1fr}}@media (prefers-reduced-motion: reduce){.surface-card:hover,.export-format-card:hover{transform:none}}.card-hover{transition:transform var(--duration-normal) ease,box-shadow var(--duration-normal) ease}.card-hover:hover{transform:translateY(-2px);box-shadow:var(--shadow-xl)}@media (prefers-reduced-motion: reduce){.card-hover:hover{transform:none}}.fav-card{padding:var(--space-3);border-radius:var(--radius-lg);background:var(--color-surface-card);border:1px solid var(--color-border-primary);-webkit-backdrop-filter:blur(12px) saturate(1.5);backdrop-filter:blur(12px) saturate(1.5);cursor:pointer;position:relative;transition:all var(--duration-normal) ease}.fav-card:hover{background:var(--color-surface-glass-lighter);border-color:#7c3aed66;box-shadow:var(--shadow-lg);transform:translateY(-2px)}@media (prefers-color-scheme: light){.fav-card{background:#ffffffe6;border-color:#94a3b833}.fav-card:hover{background:#fffffffa;box-shadow:var(--shadow-lg)}}@media (prefers-reduced-motion: reduce){.fav-card:hover{transform:none}}.fav-menu{background:var(--color-surface-elevated);border:1px solid var(--color-border-primary);border-radius:var(--radius-lg);padding:var(--space-2);box-shadow:var(--shadow-xl)}.fav-menu-item{display:block;width:100%;text-align:left;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--font-size-sm);color:var(--color-text-primary);background:transparent;border:none;cursor:pointer;transition:background var(--duration-fast) ease,color var(--duration-fast) ease;font-family:var(--font-family-ui)}.fav-menu-item:hover{background:var(--color-surface-glass-light);color:var(--color-text-inverse)}.fav-menu-item:focus-visible{outline:2px solid rgba(139,92,246,.6);outline-offset:2px}@media (prefers-color-scheme: light){.fav-menu{background:var(--color-surface-overlay);border-color:var(--color-border-primary)}.fav-menu-item:hover{background:#0f172a0d;color:var(--color-text-primary)}}.tag-chip{padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);border:1px solid var(--color-border-primary);cursor:pointer;background:var(--color-surface-glass);color:var(--color-text-secondary);transition:all var(--duration-fast) ease;font-family:var(--font-family-ui)}.tag-chip:hover{background:var(--color-surface-glass-light);color:var(--color-text-primary);border-color:#7c3aed66}.tag-chip:focus-visible{outline:2px solid rgba(139,92,246,.6);outline-offset:2px}.tag-chip-active{background:linear-gradient(135deg,var(--color-brand-primary) 0%,var(--color-brand-secondary) 100%);color:#fff;border-color:transparent;box-shadow:0 2px 8px #7c3aed66}.tag-chip-active:hover{color:#fff;background:linear-gradient(135deg,#8b5cf6,#818cf8)}@media (prefers-color-scheme: light){.tag-chip{background:#fffc;border-color:#94a3b84d;color:var(--color-text-secondary)}.tag-chip:hover{background:#fffffff2}}.tab-desc{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-normal);margin-top:var(--space-1)}@keyframes gradient-drift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.gradient-animated{background-size:200% 100%;animation:gradient-drift var(--duration-slower) ease-in-out infinite}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.shimmer{background-size:1000px 100%;animation:shimmer 2s infinite}@keyframes card-pop{0%{transform:translateY(8px) scaleY(.95);opacity:0}to{transform:translateY(0) scaleY(1);opacity:1}}.animate-card-pop{animation:card-pop var(--duration-normal) var(--easing-ease-bounce) both;transform-origin:center bottom}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.animate-float{animation:float 3s ease-in-out infinite}@keyframes pulse-glow{0%,to{box-shadow:0 0 #8b5cf666}50%{box-shadow:0 0 0 8px #8b5cf600}}.animate-pulse-glow{animation:pulse-glow 2s ease-in-out infinite}@keyframes swatch-expand{0%{transform:scale(1)}to{transform:scale(1.05)}}.animate-swatch-expand:hover{animation:swatch-expand var(--duration-fast) ease-out forwards}@keyframes slide-up{0%{transform:translateY(16px);opacity:0}to{transform:translateY(0);opacity:1}}.animate-slide-up{animation:slide-up var(--duration-normal) var(--easing-ease-out) both}@keyframes color-pulse{0%{box-shadow:0 0 #8b5cf6b3}70%{box-shadow:0 0 0 12px #8b5cf600}to{box-shadow:0 0 #8b5cf600}}.animate-color-pulse{animation:color-pulse var(--duration-normal) ease-out}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-pop{0%{transform:scale(.95);opacity:0}50%{transform:scale(1.02)}to{transform:scale(1);opacity:1}}.animate-modal-pop{animation:modal-pop var(--duration-normal) var(--easing-ease-bounce)}@keyframes button-glow{0%{box-shadow:var(--shadow-glow-primary)}to{box-shadow:var(--shadow-glow-primary-hover)}}.btn-glow:hover{animation:button-glow var(--duration-fast) ease-out forwards}@keyframes icon-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-spin-smooth{animation:icon-rotate 2s linear infinite}@keyframes skeleton-shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.skeleton{background:linear-gradient(90deg,var(--color-surface-glass) 25%,var(--color-surface-glass-light) 50%,var(--color-surface-glass) 75%);background-size:1000px 100%;animation:skeleton-shimmer 2s infinite}.transition-colors{transition:background-color var(--duration-normal) ease,border-color var(--duration-normal) ease,color var(--duration-normal) ease}.transition-transform{transition:transform var(--duration-normal) ease}.transition-all{transition:all var(--duration-normal) ease}.transition-fast{transition:all var(--duration-fast) ease}.transition-slow{transition:all var(--duration-slow) ease}.hover-lift{transition:transform var(--duration-normal) ease,box-shadow var(--duration-normal) ease}.hover-lift:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl)}.hover-scale{transition:transform var(--duration-normal) ease}.hover-scale:hover{transform:scale(1.02)}.hover-glow{transition:box-shadow var(--duration-normal) ease}.hover-glow:hover{box-shadow:var(--shadow-glow-accent)}.theme-transition{transition:background-color var(--duration-slow) ease,color var(--duration-slow) ease}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.animate-card-pop,.animate-float,.animate-pulse-glow,.animate-swatch-expand:hover,.animate-slide-up,.animate-color-pulse,.animate-fade-in,.animate-modal-pop,.btn-glow:hover,.animate-spin-smooth,.skeleton,.hover-lift:hover,.hover-scale:hover,.gradient-animated,.theme-transition{animation:none!important;transition:none!important}.hover-lift:hover{transform:none;box-shadow:var(--shadow-md)}.hover-scale:hover{transform:none}}.stagger>*{animation-fill-mode:both}.stagger>*:nth-child(1){animation-delay:0ms}.stagger>*:nth-child(2){animation-delay:60ms}.stagger>*:nth-child(3){animation-delay:.12s}.stagger>*:nth-child(4){animation-delay:.18s}.stagger>*:nth-child(5){animation-delay:.24s}.stagger>*:nth-child(n+6){animation-delay:.3s}@media (prefers-reduced-motion: reduce){.stagger>*{animation-delay:0!important}}@keyframes gradient-text-shimmer{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.text-gradient{background:linear-gradient(135deg,#7c3aed,#ec4899,#f97316);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;background-size:200% 200%}.text-gradient-animated{animation:gradient-text-shimmer 8s ease-in-out infinite}.text-glow{text-shadow:0 0 20px rgba(124,58,237,.5),0 0 40px rgba(99,102,241,.3);letter-spacing:.05em}.pattern-dots{position:relative;overflow:hidden}.pattern-dots:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(circle,rgba(124,58,237,.1) 1px,transparent 1px);background-size:20px 20px;pointer-events:none;z-index:0}.pattern-dots>*{position:relative;z-index:1}.bg-gradient-soft{background:linear-gradient(135deg,#7c3aed14,#6366f10d,#34d39908)}.card-artistic{position:relative;background:var(--color-surface-glass);border:1px solid var(--color-border-primary);border-radius:var(--radius-lg);overflow:hidden}.card-artistic:before{content:"";position:absolute;top:-50%;right:-50%;width:200%;height:200%;background:linear-gradient(135deg,rgba(124,58,237,.1) 0%,transparent 70%);pointer-events:none;animation:rotate 20s linear infinite}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes float-subtle{0%,to{transform:translateY(0) translate(0)}25%{transform:translateY(-4px) translate(2px)}50%{transform:translateY(-8px) translate(0)}75%{transform:translateY(-4px) translate(-2px)}}.btn-float{animation:float-subtle 4s ease-in-out infinite}@media (prefers-reduced-motion: reduce){.gradient-animated,.shimmer,.animate-card-pop,.animate-float,.animate-pulse-glow,.swatch-expand,.animate-slide-up,.animate-color-pulse,.animate-modal-pop,.btn-glow,.icon-spin,.skeleton-shimmer,.transition-colors,.transition-transform,.transition-all,.text-gradient-animated,.card-artistic:before,.btn-float{animation:none!important;background-position:initial!important}}*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--font-family-mono);font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.-right-2\.5{right:-.625rem}.-top-2\.5{top:-.625rem}.bottom-0{bottom:0}.bottom-2{bottom:.5rem}.left-0{left:0}.left-3{left:.75rem}.right-0{right:0}.right-3{right:.75rem}.top-1\/2{top:50%}.top-2\.5{top:.625rem}.top-3{top:.75rem}.z-40{z-index:40}.z-50{z-index:50}.mx-4{margin-left:1rem;margin-right:1rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-1{margin-bottom:.25rem}.mb-10{margin-bottom:2.5rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-3{margin-left:.75rem}.ml-5{margin-left:1.25rem}.mr-2{margin-right:.5rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.aspect-square{aspect-ratio:1 / 1}.h-10{height:2.5rem}.h-12{height:3rem}.h-3{height:.75rem}.h-36{height:9rem}.h-4{height:1rem}.h-40{height:10rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-full{height:100%}.max-h-48{max-height:12rem}.max-h-\[70vh\]{max-height:70vh}.max-h-\[90vh\]{max-height:90vh}.min-h-screen{min-height:100vh}.w-10{width:2.5rem}.w-12{width:3rem}.w-16{width:4rem}.w-20{width:5rem}.w-3{width:.75rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-56{width:14rem}.w-6{width:1.5rem}.w-full{width:100%}.min-w-0{min-width:0px}.min-w-fit{min-width:-moz-fit-content;min-width:fit-content}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-6xl{max-width:72rem}.max-w-\[3\.5rem\]{max-width:3.5rem}.max-w-lg{max-width:32rem}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-shrink-0{flex-shrink:0}.-translate-y-1\/2{--tw-translate-y: -50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-1{--tw-translate-x: .25rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-6{--tw-translate-x: 1.5rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.scale-105{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.animate-card-pop{animation:card-pop var(--duration-normal) var(--easing-ease-bounce) both}.animate-fade-in{animation:fade-in var(--duration-fast) ease-out}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:spin 1s linear infinite}.cursor-pointer{cursor:pointer}.list-disc{list-style-type:disc}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.self-end{align-self:flex-end}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-y-auto{overflow-y:auto}.break-words{overflow-wrap:break-word}.break-all{word-break:break-all}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-full{border-radius:var(--radius-full)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-md{border-radius:var(--radius-md)}.rounded-sm{border-radius:var(--radius-sm)}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-\[var\(--color-border-subtle\)\]{border-color:var(--color-border-subtle)}.border-slate-600{--tw-border-opacity: 1;border-color:rgb(71 85 105 / var(--tw-border-opacity, 1))}.border-slate-700{--tw-border-opacity: 1;border-color:rgb(51 65 85 / var(--tw-border-opacity, 1))}.border-transparent{border-color:transparent}.border-white{--tw-border-opacity: 1;border-color:rgb(255 255 255 / var(--tw-border-opacity, 1))}.border-white\/10{border-color:#ffffff1a}.border-t-transparent{border-top-color:transparent}.bg-black\/40{background-color:#0006}.bg-black\/50{background-color:#00000080}.bg-black\/60{background-color:#0009}.bg-indigo-600{--tw-bg-opacity: 1;background-color:rgb(79 70 229 / var(--tw-bg-opacity, 1))}.bg-slate-600{--tw-bg-opacity: 1;background-color:rgb(71 85 105 / var(--tw-bg-opacity, 1))}.bg-slate-700\/40{background-color:#33415566}.bg-slate-700\/50{background-color:#33415580}.bg-slate-800{--tw-bg-opacity: 1;background-color:rgb(30 41 59 / var(--tw-bg-opacity, 1))}.bg-slate-800\/40{background-color:#1e293b66}.bg-slate-800\/50{background-color:#1e293b80}.bg-slate-900{--tw-bg-opacity: 1;background-color:rgb(15 23 42 / var(--tw-bg-opacity, 1))}.bg-slate-900\/50{background-color:#0f172a80}.bg-white{--tw-bg-opacity: 1;background-color:rgb(255 255 255 / var(--tw-bg-opacity, 1))}.bg-white\/5{background-color:#ffffff0d}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-indigo-600{--tw-gradient-from: #4f46e5 var(--tw-gradient-from-position);--tw-gradient-to: rgb(79 70 229 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-purple-400{--tw-gradient-from: #c084fc var(--tw-gradient-from-position);--tw-gradient-to: rgb(192 132 252 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-purple-500{--tw-gradient-from: #a855f7 var(--tw-gradient-from-position);--tw-gradient-to: rgb(168 85 247 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.from-purple-500\/10{--tw-gradient-from: rgb(168 85 247 / .1) var(--tw-gradient-from-position);--tw-gradient-to: rgb(168 85 247 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to)}.via-violet-600{--tw-gradient-to: rgb(124 58 237 / 0) var(--tw-gradient-to-position);--tw-gradient-stops: var(--tw-gradient-from), #7c3aed var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-blue-400{--tw-gradient-to: #60a5fa var(--tw-gradient-to-position)}.to-blue-500{--tw-gradient-to: #3b82f6 var(--tw-gradient-to-position)}.to-blue-500\/10{--tw-gradient-to: rgb(59 130 246 / .1) var(--tw-gradient-to-position)}.to-pink-500{--tw-gradient-to: #ec4899 var(--tw-gradient-to-position)}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.object-contain{-o-object-fit:contain;object-fit:contain}.p-1{padding:.25rem}.p-1\.5{padding:.375rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-8{padding-top:2rem;padding-bottom:2rem}.pl-10{padding-left:2.5rem}.pr-10{padding-right:2.5rem}.pt-2{padding-top:.5rem}.pt-4{padding-top:1rem}.text-center{text-align:center}.text-right{text-align:right}.font-mono{font-family:var(--font-family-mono)}.text-2xl{font-size:var(--font-size-2xl);line-height:var(--line-height-tight)}.text-3xl{font-size:var(--font-size-3xl);line-height:var(--line-height-tight)}.text-lg{font-size:var(--font-size-lg);line-height:var(--line-height-normal)}.text-sm{font-size:var(--font-size-sm);line-height:var(--line-height-normal)}.text-xl{font-size:var(--font-size-xl);line-height:var(--line-height-tight)}.text-xs{font-size:var(--font-size-xs);line-height:var(--line-height-tight)}.font-bold{font-weight:var(--font-weight-bold)}.font-medium{font-weight:var(--font-weight-medium)}.font-semibold{font-weight:var(--font-weight-semibold)}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.tracking-wide{letter-spacing:.025em}.tracking-wider{letter-spacing:.05em}.text-\[var\(--color-text-secondary\)\]{color:var(--color-text-secondary)}.text-emerald-400{--tw-text-opacity: 1;color:rgb(52 211 153 / var(--tw-text-opacity, 1))}.text-green-400{--tw-text-opacity: 1;color:rgb(74 222 128 / var(--tw-text-opacity, 1))}.text-indigo-400{--tw-text-opacity: 1;color:rgb(129 140 248 / var(--tw-text-opacity, 1))}.text-purple-400{--tw-text-opacity: 1;color:rgb(192 132 252 / var(--tw-text-opacity, 1))}.text-purple-500{--tw-text-opacity: 1;color:rgb(168 85 247 / var(--tw-text-opacity, 1))}.text-red-400{--tw-text-opacity: 1;color:rgb(248 113 113 / var(--tw-text-opacity, 1))}.text-rose-400{--tw-text-opacity: 1;color:rgb(251 113 133 / var(--tw-text-opacity, 1))}.text-slate-100{--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity, 1))}.text-slate-100\/80{color:#f1f5f9cc}.text-slate-200{--tw-text-opacity: 1;color:rgb(226 232 240 / var(--tw-text-opacity, 1))}.text-slate-200\/80{color:#e2e8f0cc}.text-slate-300{--tw-text-opacity: 1;color:rgb(203 213 225 / var(--tw-text-opacity, 1))}.text-slate-400{--tw-text-opacity: 1;color:rgb(148 163 184 / var(--tw-text-opacity, 1))}.text-slate-500{--tw-text-opacity: 1;color:rgb(100 116 139 / var(--tw-text-opacity, 1))}.text-transparent{color:transparent}.text-white{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.text-white\/90{color:#ffffffe6}.accent-indigo-500{accent-color:#6366f1}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.shadow-2xl{--tw-shadow: var(--shadow-2xl);--tw-shadow-colored: var(--shadow-2xl);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-inner{--tw-shadow: inset 0 2px 4px 0 rgb(0 0 0 / .05);--tw-shadow-colored: inset 0 2px 4px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow: var(--shadow-lg);--tw-shadow-colored: var(--shadow-lg);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow: var(--shadow-md);--tw-shadow-colored: var(--shadow-md);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow: var(--shadow-sm);--tw-shadow-colored: var(--shadow-sm);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow: var(--shadow-xl);--tw-shadow-colored: var(--shadow-xl);box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}.outline-none{outline:2px solid transparent;outline-offset:2px}.blur{--tw-blur: blur(8px);filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-md{--tw-backdrop-blur: blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.backdrop-blur-sm{--tw-backdrop-blur: blur(4px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}body{font-family:var(--font-family-ui);background-color:var(--color-surface-bg);color:var(--color-text-primary);background-image:radial-gradient(ellipse at 10% 10%,rgba(99,102,241,.06),transparent 10%),radial-gradient(ellipse at 90% 90%,rgba(67,56,202,.06),transparent 10%);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (max-width: 639px){main{padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))}nav[aria-label="Mobile navigation"]>div{padding-bottom:calc(var(--space-3) + env(safe-area-inset-bottom,0px))}}.site-header{align-items:center}.app-title{font-size:clamp(24px,5vw,32px);font-weight:var(--font-weight-extrabold);letter-spacing:-.03em;background:linear-gradient(135deg,#a78bfa,#60a5fa,#34d399);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:var(--line-height-tight);animation:gradient-text-shimmer 8s ease-in-out infinite;background-size:200% 200%}.app-subtitle{margin-top:var(--space-2);color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:var(--line-height-normal);max-width:600px;animation:slide-up var(--duration-slow) ease-out .2s both}.header-actions{display:flex;align-items:center;gap:var(--space-3)}.header-actions .btn{padding:var(--space-2) var(--space-3)}.glass{-webkit-backdrop-filter:blur(12px) saturate(1.5);backdrop-filter:blur(12px) saturate(1.5);background-color:var(--color-glass-bg);border:1px solid var(--color-glass-border);box-shadow:var(--shadow-lg),var(--shadow-inset)}.color-swatch{height:140px;cursor:pointer;transition:transform var(--duration-fast) ease,box-shadow var(--duration-fast) ease}.color-swatch:hover{transform:translateY(-2px);box-shadow:0 12px 24px #0000004d,0 4px 8px #0003}@media (prefers-reduced-motion: reduce){.color-swatch:hover{transform:none}}.icon-btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--icon-button-padding-desktop);border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration-fast) ease;background:var(--color-surface-glass);border:1px solid var(--color-border-primary)}.icon-btn:focus,.icon-btn:hover{background:var(--color-surface-glass-light);border-color:#8b5cf680;box-shadow:var(--shadow-glow-accent);outline:none}.icon-btn:focus-visible{outline:2px solid rgba(139,92,246,.6);outline-offset:2px}@media (max-width: 640px){.icon-btn{padding:var(--icon-button-padding-mobile)}}@media (prefers-reduced-motion: reduce){.icon-btn:hover{transform:none}}.btn-wrap{position:relative;display:inline-block}.btn-wrap .tooltip{position:absolute;bottom:120%;left:50%;transform:translate(-50%) translateY(6px);background:#0f172ae6;color:#fff;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-size-xs);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity var(--duration-fast) ease,transform var(--duration-fast) ease;box-shadow:var(--shadow-xl)}.btn-wrap:hover .tooltip,.btn-wrap:focus-within .tooltip{opacity:1;transform:translate(-50%) translateY(0)}.toast-container{position:fixed;bottom:88px;left:50%;right:auto;transform:translate(-50%);z-index:50;padding:0 var(--space-3);max-width:calc(100% - var(--space-6))}@media (min-width: 640px){.toast-container{bottom:var(--space-6);right:var(--space-6);left:auto;transform:none;padding:0;max-width:448px}}.toast-content{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-xl);box-shadow:var(--shadow-2xl);max-width:100%}@media (min-width: 640px){.toast-content{flex-direction:row;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5)}}.toast-action-button{background:linear-gradient(to right,var(--color-primary),var(--color-secondary));color:#fff;padding:var(--space-2) var(--space-4);border-radius:var(--radius-lg);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);transition:all var(--duration-normal) ease;cursor:pointer;border:none;box-shadow:var(--shadow-lg);min-height:44px;width:100%}@media (min-width: 640px){.toast-action-button{width:auto;margin-left:var(--space-2)}}.toast-action-button:hover{background:linear-gradient(to right,#8b5cf6,#7366f1);transform:translateY(-2px);box-shadow:var(--shadow-xl)}.toast-action-button:active{transform:translateY(0)}.copied-toast{position:absolute;top:-36px;right:0;background:#0f172af2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);transform:translateY(-6px);opacity:0;animation:popIn var(--duration-normal) ease forwards;box-shadow:var(--shadow-lg);border:1px solid var(--color-border-primary)}@keyframes popIn{0%{opacity:0;transform:translateY(-6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.animate-pop{animation:popIn var(--duration-fast) ease both}.toast-preview{display:flex;align-items:center;gap:var(--space-2);width:100%;flex-wrap:wrap}@media (min-width: 640px){.toast-preview{width:auto;flex-wrap:nowrap}}.toast-swatch{width:24px;height:18px;border-radius:var(--radius-sm);box-shadow:inset 0 -2px 6px #00000040;border:1px solid rgba(255,255,255,.03);flex-shrink:0}@media (min-width: 640px){.toast-swatch{width:28px;height:20px}}@media (max-width: 639px){.toast-preview .toast-swatch:nth-child(n+5){display:none}}.hsl-range{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:10px;border-radius:9999px;outline:none;transition:background var(--duration-normal) linear}.hsl-range.shimmer{background-size:200% 100%;animation:shimmer-bg 3.2s linear infinite}@keyframes shimmer-bg{0%{background-position:0% 50%}to{background-position:200% 50%}}.hsl-range::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:9999px;background:var(--color-text-secondary);box-shadow:var(--shadow-lg);border:3px solid rgba(255,255,255,.06);cursor:pointer}.hsl-range::-moz-range-thumb{width:18px;height:18px;border-radius:9999px;background:var(--color-text-secondary);box-shadow:var(--shadow-lg);border:3px solid rgba(255,255,255,.06);cursor:pointer}.hsl-panel .glass{padding:var(--space-4)}.hsl-card-title{font-weight:var(--font-weight-bold)}.tab-nav{align-items:center;gap:var(--space-1)}.tab-button{position:relative;display:flex;align-items:center;white-space:nowrap}.tab-inactive{color:var(--color-text-secondary);background:transparent;padding:var(--space-3) var(--space-3);border-radius:var(--radius-md);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--duration-normal) ease;border-bottom:3px solid transparent}.tab-inactive:hover{color:var(--color-text-primary);background:var(--color-surface-glass);border-radius:var(--radius-md);transition:all var(--duration-normal) ease;color:var(--color-brand-accent);background:var(--color-surface-glass-light)}.tab-active{color:#fff;background:linear-gradient(135deg,#7c3aed4d,#6366f133);border:1px solid rgba(124,58,237,.6);font-weight:var(--font-weight-bold);box-shadow:0 4px 12px #7c3aed40,inset 0 1px #ffffff1a}@media (max-width: 639px){.tab-inactive,.tab-active{width:56px;height:56px;padding:0;border:none;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center}.tab-inactive{color:var(--color-text-secondary);background:transparent}.tab-inactive:hover{background:var(--color-surface-glass-light);color:var(--color-brand-accent)}.tab-active{background:linear-gradient(135deg,#7c3aed66,#6366f14d);border:1.5px solid rgba(124,58,237,.7);color:#fff;box-shadow:0 6px 16px #7c3aed4d,inset 0 1px #ffffff26}}@media (min-width: 640px){.tab-inactive,.tab-active{padding:var(--space-2) var(--space-4);gap:var(--space-2)}.tab-active{border-bottom:3px solid var(--color-brand-accent);border-radius:var(--radius-md)}}@media (prefers-color-scheme: light){.tab-inactive{color:var(--color-text-secondary)}.tab-inactive:hover{color:var(--color-text-primary);background:#0f172a0d}.tab-active{color:#fff;background:#7c3aed26;box-shadow:0 4px 12px #7c3aed33}}.hsl-scheme-select{background:var(--color-surface-glass);border:1px solid var(--color-border-primary);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--color-text-primary);font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--duration-normal) ease;font-size:var(--font-size-sm);font-family:var(--font-family-ui)}.hsl-scheme-select:hover{background:var(--color-surface-glass-light);border-color:#8b5cf680}.hsl-scheme-select:focus{outline:2px solid rgba(139,92,246,.6);outline-offset:2px}@media (prefers-color-scheme: light){.hsl-scheme-select{background:#fffc;border:1px solid rgba(148,163,184,.3);color:#334155}.hsl-scheme-select:hover{background:#fffffff2;border-color:#8b5cf680}}.control-panel{background:#0f172a99;-webkit-backdrop-filter:blur(12px) saturate(1.5);backdrop-filter:blur(12px) saturate(1.5);border:1px solid var(--color-border-primary);border-radius:var(--radius-xl);padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-3);box-shadow:var(--shadow-lg),var(--shadow-inset)}@media (min-width: 768px){.control-panel{flex-direction:row;align-items:center;justify-content:space-between;padding:var(--space-4)}}@media (prefers-color-scheme: light){.control-panel{background:var(--color-surface-glass);border:1px solid var(--color-border-primary);box-shadow:var(--shadow-lg),var(--shadow-inset)}}.control-left{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;width:100%}@media (min-width: 768px){.control-left{width:auto}}.control-right{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;width:100%;flex-direction:row}@media (min-width: 768px){.control-right{width:auto}}@media (max-width: 768px){.control-panel{flex-direction:column;align-items:stretch}.control-right{justify-content:stretch}}.palette-grid{gap:.75rem;display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}@media (max-width: 640px){.palette-grid{gap:.5rem;grid-template-columns:repeat(2,1fr)}}@media (min-width: 641px) and (max-width: 1024px){.palette-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width: 1025px){.palette-grid{grid-template-columns:repeat(5,1fr)}}.palette-card{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-lg);transition:all var(--duration-normal) cubic-bezier(.4,0,.2,1);background:var(--color-surface-card);border:1px solid var(--color-border-primary)}.palette-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-xl)}.palette-footer{padding:var(--space-3);background:#0f172a99;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-top:1px solid var(--color-border-subtle)}@media (prefers-color-scheme: light){.palette-card{background:#ffffffe6;border:1px solid rgba(148,163,184,.2);box-shadow:var(--shadow-md)}.palette-card:hover{box-shadow:var(--shadow-lg)}.palette-footer{background:#f8fafcf2;border-top:1px solid var(--color-border-subtle)}}@media (prefers-reduced-motion: reduce){.palette-card:hover{transform:none}}.range-compact{width:200px}.btn-copy{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-weight:var(--font-weight-semibold);font-size:var(--font-size-xs);border:1px solid var(--color-border-primary);background:var(--color-surface-glass);cursor:pointer;transition:all var(--duration-fast) ease;font-family:var(--font-family-mono)}.btn-copy:hover{background:var(--color-surface-glass-light);border-color:#8b5cf680;transform:translateY(-1px)}.btn-copy:active{transform:translateY(0)}@media (prefers-color-scheme: light){.btn-copy{background:#0f172a0a;border:1px solid rgba(15,23,42,.1)}.btn-copy:hover{background:#0f172a14;border-color:#8b5cf666}}@media (prefers-reduced-motion: reduce){.btn-copy:hover{transform:none}}.ripple-el{position:absolute;pointer-events:none;border-radius:50%;opacity:1}.fav-menu{border:1px solid rgba(255,255,255,.04)}.fav-menu button{background:transparent;color:var(--color-text-primary);border:none;cursor:pointer}.fav-menu button:focus{outline:none}.hover\:scale-105:hover{--tw-scale-x: 1.05;--tw-scale-y: 1.05;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.hover\:bg-indigo-500:hover{--tw-bg-opacity: 1;background-color:rgb(99 102 241 / var(--tw-bg-opacity, 1))}.hover\:bg-red-600\/80:hover{background-color:#dc2626cc}.hover\:bg-slate-600\/50:hover{background-color:#47556980}.hover\:bg-white\/10:hover{background-color:#ffffff1a}.hover\:text-indigo-300:hover{--tw-text-opacity: 1;color:rgb(165 180 252 / var(--tw-text-opacity, 1))}.hover\:text-slate-100:hover{--tw-text-opacity: 1;color:rgb(241 245 249 / var(--tw-text-opacity, 1))}.hover\:text-slate-200:hover{--tw-text-opacity: 1;color:rgb(226 232 240 / var(--tw-text-opacity, 1))}.hover\:text-white:hover{--tw-text-opacity: 1;color:rgb(255 255 255 / var(--tw-text-opacity, 1))}.hover\:underline:hover{text-decoration-line:underline}.focus\:ring-2:focus{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 #0000)}.focus\:ring-purple-500:focus{--tw-ring-opacity: 1;--tw-ring-color: rgb(168 85 247 / var(--tw-ring-opacity, 1))}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:shadow-none:disabled{--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;box-shadow:var(--tw-ring-offset-shadow, 0 0 #0000),var(--tw-ring-shadow, 0 0 #0000),var(--tw-shadow)}@media (min-width: 640px){.sm\:mb-0{margin-bottom:0}.sm\:ml-auto{margin-left:auto}.sm\:block{display:block}.sm\:flex{display:flex}.sm\:hidden{display:none}.sm\:h-6{height:1.5rem}.sm\:w-6{width:1.5rem}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:items-center{align-items:center}.sm\:gap-3{gap:.75rem}.sm\:gap-4{gap:1rem}.sm\:p-6{padding:1.5rem}.sm\:px-0{padding-left:0;padding-right:0}.sm\:text-sm{font-size:var(--font-size-sm);line-height:var(--line-height-normal)}}@media (min-width: 768px){.md\:flex{display:flex}.md\:hidden{display:none}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width: 1024px){.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:p-12{padding:3rem}}
