.app{height:100vh;display:flex;flex-direction:column}.app[style*="display: none"]{display:none!important}.app-container{display:flex;flex:1;height:calc(100vh - 60px)}.app-container.sidebar-open .sidebar{transform:translate(0)}@media (max-width: 768px){.app-container.sidebar-open:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:998}}.preloader-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:var(--bg-color);display:flex;align-items:center;justify-content:center;z-index:9999;transition:opacity .3s ease-out,visibility .3s ease-out}.preloader-container{text-align:center;animation:fadeInUp .8s ease-out}.preloader-logo{margin-bottom:2rem;animation:pulse 2s ease-in-out infinite}.preloader-logo-img{max-width:120px;max-height:120px;width:auto;height:auto;object-fit:contain;border-radius:12px;border:2px solid rgba(255,20,147,.2);background:#ffffff0d;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 8px 32px #ff14934d,0 4px 16px #0000001a,inset 0 1px #fff3;transition:all .3s ease;padding:6px}.preloader-logo-img:hover{transform:scale(1.05);border-color:#ff149366;box-shadow:0 12px 40px #ff149366,0 6px 20px #00000026,inset 0 1px #ffffff4d}.preloader-content{margin-bottom:3rem}.preloader-title{font-size:3rem;font-weight:700;background:linear-gradient(135deg,#ff1493,#ff69b4,#ff1493);background-size:200% 200%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0 0 .5rem;animation:gradientShift 3s ease-in-out infinite;font-family:Inter,sans-serif;letter-spacing:-.02em}.preloader-subtitle{font-size:1.2rem;color:var(--text-secondary);margin:0;opacity:.8;animation:fadeIn 1s ease-out .5s both}.preloader-spinner{margin-bottom:2rem;display:flex;justify-content:center}.spinner-ring{display:inline-block;position:relative;width:60px;height:60px}.spinner-ring div{box-sizing:border-box;display:block;position:absolute;width:48px;height:48px;margin:6px;border:3px solid transparent;border-top:3px solid #ff1493;border-radius:50%;animation:spinnerRotate 1.2s cubic-bezier(.5,0,.5,1) infinite}.spinner-ring div:nth-child(1){animation-delay:-.45s}.spinner-ring div:nth-child(2){animation-delay:-.3s}.spinner-ring div:nth-child(3){animation-delay:-.15s}.preloader-dots{display:flex;justify-content:center;gap:8px}.dot{width:8px;height:8px;background:#ff1493;border-radius:50%;animation:dotBounce 1.4s ease-in-out infinite both}.dot:nth-child(1){animation-delay:-.32s}.dot:nth-child(2){animation-delay:-.16s}.dot:nth-child(3){animation-delay:0s}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes spinnerRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes dotBounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}[data-color-scheme=dark] .preloader-logo-img{border-color:#ff14934d;background:#00000026;box-shadow:0 8px 32px #ff149366,0 4px 16px #0000004d,inset 0 1px #ffffff1a}[data-color-scheme=dark] .preloader-subtitle{opacity:.9}@media (max-width: 768px){.preloader-title{font-size:2.5rem}.preloader-subtitle{font-size:1.1rem}.preloader-logo-img{max-width:100px;max-height:100px}}@media (max-width: 480px){.preloader-title{font-size:2rem}.preloader-subtitle{font-size:1rem}.preloader-logo-img{max-width:80px;max-height:80px}}:root{--color-white: rgba(255, 255, 255, 1);--color-black: rgba(0, 0, 0, 1);--color-cream-50: rgba(254, 252, 253, 1);--color-cream-100: rgba(253, 250, 252, 1);--color-gray-200: rgba(251, 245, 248, 1);--color-gray-300: rgba(190, 169, 180, 1);--color-gray-400: rgba(140, 124, 132, 1);--color-slate-500: rgba(120, 108, 113, 1);--color-brown-600: rgba(120, 82, 100, 1);--color-charcoal-700: rgba(40, 30, 35, 1);--color-charcoal-800: rgba(50, 35, 42, 1);--color-slate-900: rgba(45, 30, 38, 1);--color-pink-300: rgba(248, 180, 217, 1);--color-pink-400: rgba(244, 159, 209, 1);--color-pink-500: rgba(236, 72, 153, 1);--color-pink-600: rgba(219, 39, 119, 1);--color-pink-700: rgba(190, 24, 93, 1);--color-pink-800: rgba(157, 23, 77, 1);--color-red-400: rgba(255, 84, 89, 1);--color-red-500: rgba(220, 38, 127, 1);--color-orange-400: rgba(255, 183, 197, 1);--color-orange-500: rgba(255, 105, 135, 1);--color-brown-600-rgb: 120, 82, 100;--color-pink-500-rgb: 236, 72, 153;--color-slate-900-rgb: 45, 30, 38;--color-slate-500-rgb: 120, 108, 113;--color-red-500-rgb: 220, 38, 127;--color-red-400-rgb: 255, 84, 89;--color-orange-500-rgb: 255, 105, 135;--color-orange-400-rgb: 255, 183, 197;--color-bg-1: rgba(236, 72, 153, .08);--color-bg-2: rgba(244, 159, 209, .08);--color-bg-3: rgba(248, 180, 217, .08);--color-bg-4: rgba(219, 39, 119, .08);--color-bg-5: rgba(190, 24, 93, .08);--color-bg-6: rgba(255, 105, 135, .08);--color-bg-7: rgba(248, 180, 217, .08);--color-bg-8: rgba(255, 183, 197, .08);--color-background: var(--color-cream-50);--color-surface: var(--color-cream-100);--color-text: var(--color-slate-900);--color-text-secondary: var(--color-slate-500);--color-primary: var(--color-pink-500);--color-primary-hover: var(--color-pink-600);--color-primary-active: var(--color-pink-700);--color-secondary: rgba(var(--color-brown-600-rgb), .12);--color-secondary-hover: rgba(var(--color-brown-600-rgb), .2);--color-secondary-active: rgba(var(--color-brown-600-rgb), .25);--color-border: rgba(var(--color-brown-600-rgb), .2);--color-btn-primary-text: var(--color-cream-50);--color-card-border: rgba(var(--color-brown-600-rgb), .12);--color-card-border-inner: rgba(var(--color-brown-600-rgb), .12);--color-error: var(--color-red-500);--color-success: var(--color-pink-500);--color-warning: var(--color-orange-500);--color-info: var(--color-slate-500);--color-focus-ring: rgba(var(--color-pink-500-rgb), .4);--color-select-caret: rgba(var(--color-slate-900-rgb), .8);--focus-ring: 0 0 0 3px var(--color-focus-ring);--focus-outline: 2px solid var(--color-primary);--status-bg-opacity: .15;--status-border-opacity: .25;--select-caret-light: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23134252' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--select-caret-dark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23f5f5f5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--color-success-rgb: 236, 72, 153;--color-error-rgb: 220, 38, 127;--color-warning-rgb: 255, 105, 135;--color-info-rgb: 120, 108, 113;--font-family-base: "FKGroteskNeue", "Geist", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-family-mono: "Berkeley Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;--font-size-xs: 11px;--font-size-sm: 12px;--font-size-base: 14px;--font-size-md: 14px;--font-size-lg: 16px;--font-size-xl: 18px;--font-size-2xl: 20px;--font-size-3xl: 24px;--font-size-4xl: 30px;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 550;--font-weight-bold: 600;--line-height-tight: 1.2;--line-height-normal: 1.5;--letter-spacing-tight: -.01em;--space-0: 0;--space-1: 1px;--space-2: 2px;--space-4: 4px;--space-6: 6px;--space-8: 8px;--space-10: 10px;--space-12: 12px;--space-16: 16px;--space-20: 20px;--space-24: 24px;--space-32: 32px;--radius-sm: 6px;--radius-base: 8px;--radius-md: 10px;--radius-lg: 12px;--radius-full: 9999px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .02);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .04), 0 1px 2px rgba(0, 0, 0, .02);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .04), 0 2px 4px -1px rgba(0, 0, 0, .02);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .04), 0 4px 6px -2px rgba(0, 0, 0, .02);--shadow-inset-sm: inset 0 1px 0 rgba(255, 255, 255, .15), inset 0 -1px 0 rgba(0, 0, 0, .03);--duration-fast: .15s;--duration-normal: .25s;--ease-standard: cubic-bezier(.16, 1, .3, 1);--container-sm: 640px;--container-md: 768px;--container-lg: 1024px;--container-xl: 1280px}@media (prefers-color-scheme: dark){:root{--color-gray-400-rgb: 140, 124, 132;--color-pink-300-rgb: 248, 180, 217;--color-gray-300-rgb: 190, 169, 180;--color-gray-200-rgb: 251, 245, 248;--color-bg-1: rgba(157, 23, 77, .15);--color-bg-2: rgba(190, 24, 93, .15);--color-bg-3: rgba(219, 39, 119, .15);--color-bg-4: rgba(236, 72, 153, .15);--color-bg-5: rgba(244, 159, 209, .15);--color-bg-6: rgba(255, 105, 135, .15);--color-bg-7: rgba(248, 180, 217, .15);--color-bg-8: rgba(255, 183, 197, .15);--color-background: var(--color-charcoal-700);--color-surface: var(--color-charcoal-800);--color-text: var(--color-gray-200);--color-text-secondary: rgba(var(--color-gray-300-rgb), .7);--color-primary: var(--color-pink-300);--color-primary-hover: var(--color-pink-400);--color-primary-active: var(--color-pink-800);--color-secondary: rgba(var(--color-gray-400-rgb), .15);--color-secondary-hover: rgba(var(--color-gray-400-rgb), .25);--color-secondary-active: rgba(var(--color-gray-400-rgb), .3);--color-border: rgba(var(--color-gray-400-rgb), .3);--color-error: var(--color-red-400);--color-success: var(--color-pink-300);--color-warning: var(--color-orange-400);--color-info: var(--color-gray-300);--color-focus-ring: rgba(var(--color-pink-300-rgb), .4);--color-btn-primary-text: var(--color-slate-900);--color-card-border: rgba(var(--color-gray-400-rgb), .2);--color-card-border-inner: rgba(var(--color-gray-400-rgb), .15);--shadow-inset-sm: inset 0 1px 0 rgba(255, 255, 255, .1), inset 0 -1px 0 rgba(0, 0, 0, .15);--button-border-secondary: rgba(var(--color-gray-400-rgb), .2);--color-border-secondary: rgba(var(--color-gray-400-rgb), .2);--color-select-caret: rgba(var(--color-gray-200-rgb), .8);--focus-ring: 0 0 0 3px var(--color-focus-ring);--focus-outline: 2px solid var(--color-primary);--status-bg-opacity: .15;--status-border-opacity: .25;--select-caret-light: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23134252' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--select-caret-dark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23f5f5f5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--color-success-rgb: var(--color-pink-300-rgb);--color-error-rgb: var(--color-red-400-rgb);--color-warning-rgb: var(--color-orange-400-rgb);--color-info-rgb: var(--color-gray-300-rgb)}}[data-color-scheme=dark]{--color-gray-400-rgb: 140, 124, 132;--color-pink-300-rgb: 248, 180, 217;--color-gray-300-rgb: 190, 169, 180;--color-gray-200-rgb: 251, 245, 248;--color-bg-1: rgba(157, 23, 77, .15);--color-bg-2: rgba(190, 24, 93, .15);--color-bg-3: rgba(219, 39, 119, .15);--color-bg-4: rgba(236, 72, 153, .15);--color-bg-5: rgba(244, 159, 209, .15);--color-bg-6: rgba(255, 105, 135, .15);--color-bg-7: rgba(248, 180, 217, .15);--color-bg-8: rgba(255, 183, 197, .15);--color-background: var(--color-charcoal-700);--color-surface: var(--color-charcoal-800);--color-text: var(--color-gray-200);--color-text-secondary: rgba(var(--color-gray-300-rgb), .7);--color-primary: var(--color-pink-300);--color-primary-hover: var(--color-pink-400);--color-primary-active: var(--color-pink-800);--color-secondary: rgba(var(--color-gray-400-rgb), .15);--color-secondary-hover: rgba(var(--color-gray-400-rgb), .25);--color-secondary-active: rgba(var(--color-gray-400-rgb), .3);--color-border: rgba(var(--color-gray-400-rgb), .3);--color-error: var(--color-red-400);--color-success: var(--color-pink-300);--color-warning: var(--color-orange-400);--color-info: var(--color-gray-300);--color-focus-ring: rgba(var(--color-pink-300-rgb), .4);--color-btn-primary-text: var(--color-slate-900);--color-card-border: rgba(var(--color-gray-400-rgb), .15);--color-card-border-inner: rgba(var(--color-gray-400-rgb), .15);--shadow-inset-sm: inset 0 1px 0 rgba(255, 255, 255, .1), inset 0 -1px 0 rgba(0, 0, 0, .15);--color-border-secondary: rgba(var(--color-gray-400-rgb), .2);--color-select-caret: rgba(var(--color-gray-200-rgb), .8);--focus-ring: 0 0 0 3px var(--color-focus-ring);--focus-outline: 2px solid var(--color-primary);--status-bg-opacity: .15;--status-border-opacity: .25;--select-caret-light: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23134252' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--select-caret-dark: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23f5f5f5' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");--color-success-rgb: var(--color-pink-300-rgb);--color-error-rgb: var(--color-red-400-rgb);--color-warning-rgb: var(--color-orange-400-rgb);--color-info-rgb: var(--color-gray-300-rgb)}[data-color-scheme=light]{--color-brown-600-rgb: 120, 82, 100;--color-pink-500-rgb: 236, 72, 153;--color-slate-900-rgb: 45, 30, 38;--color-background: var(--color-cream-50);--color-surface: var(--color-cream-100);--color-text: var(--color-slate-900);--color-text-secondary: var(--color-slate-500);--color-primary: var(--color-pink-500);--color-primary-hover: var(--color-pink-600);--color-primary-active: var(--color-pink-700);--color-secondary: rgba(var(--color-brown-600-rgb), .12);--color-secondary-hover: rgba(var(--color-brown-600-rgb), .2);--color-secondary-active: rgba(var(--color-brown-600-rgb), .25);--color-border: rgba(var(--color-brown-600-rgb), .2);--color-btn-primary-text: var(--color-cream-50);--color-card-border: rgba(var(--color-brown-600-rgb), .12);--color-card-border-inner: rgba(var(--color-brown-600-rgb), .12);--color-error: var(--color-red-500);--color-success: var(--color-pink-500);--color-warning: var(--color-orange-500);--color-info: var(--color-slate-500);--color-focus-ring: rgba(var(--color-pink-500-rgb), .4);--color-success-rgb: var(--color-pink-500-rgb);--color-error-rgb: var(--color-red-500-rgb);--color-warning-rgb: var(--color-orange-500-rgb);--color-info-rgb: var(--color-slate-500-rgb)}html{font-size:var(--font-size-base);font-family:var(--font-family-base);line-height:var(--line-height-normal);color:var(--color-text);background-color:var(--color-background);-webkit-font-smoothing:antialiased;box-sizing:border-box}body{margin:0;padding:0}*,*:before,*:after{box-sizing:inherit}h1,h2,h3,h4,h5,h6{margin:0;font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);color:var(--color-text);letter-spacing:var(--letter-spacing-tight)}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-md)}p{margin:0 0 var(--space-16) 0}a{color:var(--color-primary);text-decoration:none;transition:color var(--duration-fast) var(--ease-standard)}a:hover{color:var(--color-primary-hover)}code,pre{font-family:var(--font-family-mono);font-size:calc(var(--font-size-base) * .95);background-color:var(--color-secondary);border-radius:var(--radius-sm)}code{padding:var(--space-1) var(--space-4)}pre{padding:var(--space-16);margin:var(--space-16) 0;overflow:auto;border:1px solid var(--color-border)}pre code{background:none;padding:0}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-8) var(--space-16);border-radius:var(--radius-base);font-size:var(--font-size-base);font-weight:500;line-height:1.5;cursor:pointer;transition:all var(--duration-normal) var(--ease-standard);border:none;text-decoration:none;position:relative}.btn:focus-visible{outline:none;box-shadow:var(--focus-ring)}.btn--primary{background:var(--color-primary);color:var(--color-btn-primary-text)}.btn--primary:hover{background:var(--color-primary-hover)}.btn--primary:active{background:var(--color-primary-active)}.btn--secondary{background:var(--color-secondary);color:var(--color-text)}.btn--secondary:hover{background:var(--color-secondary-hover)}.btn--secondary:active{background:var(--color-secondary-active)}.btn--outline{background:transparent;border:1px solid var(--color-border);color:var(--color-text)}.btn--outline:hover{background:var(--color-secondary)}.btn--sm{padding:var(--space-4) var(--space-12);font-size:var(--font-size-sm);border-radius:var(--radius-sm)}.btn--lg{padding:var(--space-10) var(--space-20);font-size:var(--font-size-lg);border-radius:var(--radius-md)}.btn--full-width{width:100%}.btn:disabled{opacity:.5;cursor:not-allowed}.form-control{display:block;width:100%;padding:var(--space-8) var(--space-12);font-size:var(--font-size-md);line-height:1.5;color:var(--color-text);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-base);transition:border-color var(--duration-fast) var(--ease-standard),box-shadow var(--duration-fast) var(--ease-standard)}textarea.form-control{font-family:var(--font-family-base);font-size:var(--font-size-base)}select.form-control{padding:var(--space-8) var(--space-12);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:var(--select-caret-light);background-repeat:no-repeat;background-position:right var(--space-12) center;background-size:16px;padding-right:var(--space-32)}@media (prefers-color-scheme: dark){select.form-control{background-image:var(--select-caret-dark)}}[data-color-scheme=dark] select.form-control{background-image:var(--select-caret-dark)}[data-color-scheme=light] select.form-control{background-image:var(--select-caret-light)}.form-control:focus{border-color:var(--color-primary);outline:var(--focus-outline)}.form-label{display:block;margin-bottom:var(--space-8);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm)}.form-group{margin-bottom:var(--space-16)}.card{background-color:var(--color-surface);border-radius:var(--radius-lg);border:1px solid var(--color-card-border);box-shadow:var(--shadow-sm);overflow:hidden;transition:box-shadow var(--duration-normal) var(--ease-standard)}.card:hover{box-shadow:var(--shadow-md)}.card__body{padding:var(--space-16)}.card__header,.card__footer{padding:var(--space-16);border-bottom:1px solid var(--color-card-border-inner)}.status{display:inline-flex;align-items:center;padding:var(--space-6) var(--space-12);border-radius:var(--radius-full);font-weight:var(--font-weight-medium);font-size:var(--font-size-sm)}.status--success{background-color:rgba(var(--color-success-rgb, 33, 128, 141),var(--status-bg-opacity));color:var(--color-success);border:1px solid rgba(var(--color-success-rgb, 33, 128, 141),var(--status-border-opacity))}.status--error{background-color:rgba(var(--color-error-rgb, 192, 21, 47),var(--status-bg-opacity));color:var(--color-error);border:1px solid rgba(var(--color-error-rgb, 192, 21, 47),var(--status-border-opacity))}.status--warning{background-color:rgba(var(--color-warning-rgb, 168, 75, 47),var(--status-bg-opacity));color:var(--color-warning);border:1px solid rgba(var(--color-warning-rgb, 168, 75, 47),var(--status-border-opacity))}.status--info{background-color:rgba(var(--color-info-rgb, 98, 108, 113),var(--status-bg-opacity));color:var(--color-info);border:1px solid rgba(var(--color-info-rgb, 98, 108, 113),var(--status-border-opacity))}.container{width:100%;margin-right:auto;margin-left:auto;padding-right:var(--space-16);padding-left:var(--space-16)}@media (min-width: 640px){.container{max-width:var(--container-sm)}}@media (min-width: 768px){.container{max-width:var(--container-md)}}@media (min-width: 1024px){.container{max-width:var(--container-lg)}}@media (min-width: 1280px){.container{max-width:var(--container-xl)}}.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-4{gap:var(--space-4)}.gap-8{gap:var(--space-8)}.gap-16{gap:var(--space-16)}.m-0{margin:0}.mt-8{margin-top:var(--space-8)}.mb-8{margin-bottom:var(--space-8)}.mx-8{margin-left:var(--space-8);margin-right:var(--space-8)}.my-8{margin-top:var(--space-8);margin-bottom:var(--space-8)}.p-0{padding:0}.py-8{padding-top:var(--space-8);padding-bottom:var(--space-8)}.px-8{padding-left:var(--space-8);padding-right:var(--space-8)}.py-16{padding-top:var(--space-16);padding-bottom:var(--space-16)}.px-16{padding-left:var(--space-16);padding-right:var(--space-16)}.block{display:block}.hidden{display:none}.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:var(--focus-outline);outline-offset:2px}[data-color-scheme=dark] .btn--outline{border:1px solid var(--color-border-secondary)}@font-face{font-family:FKGroteskNeue;src:url(https://r2cdn.perplexity.ai/fonts/FKGroteskNeue.woff2) format("woff2")}.chat-header{display:flex;align-items:center;gap:var(--space-12);padding:var(--space-16) var(--space-20);border-bottom:1px solid var(--color-border);background:var(--color-surface)}.chat-header h1{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);margin:0}.header-title-container{display:flex;align-items:center;gap:var(--space-12)}.header-logo{width:32px;height:32px;filter:drop-shadow(0 2px 8px rgba(255,105,180,.2));transition:transform .2s ease}.header-logo:hover{transform:rotate(10deg) scale(1.1)}.header-subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);position:absolute;left:0;bottom:-1em;font-style:italic}.theme-toggle{position:fixed;top:var(--space-16);right:var(--space-16);z-index:1000;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-full);padding:var(--space-8);cursor:pointer;transition:all var(--duration-normal) var(--ease-standard);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm)}.theme-toggle:hover{background:var(--color-secondary);box-shadow:var(--shadow-md)}.theme-toggle .sun-icon{display:block}.theme-toggle .moon-icon,[data-color-scheme=dark] .theme-toggle .sun-icon{display:none}[data-color-scheme=dark] .theme-toggle .moon-icon{display:block}.app-container{display:flex;height:100vh;overflow:hidden}.sidebar{width:280px;background:var(--color-bg-1);border-right:1px solid var(--color-border);display:flex;flex-direction:column;transition:transform var(--duration-normal) var(--ease-standard)}.sidebar-header{padding:var(--space-16);border-bottom:1px solid var(--color-border)}.sidebar-content{flex:1;overflow-y:auto;padding:var(--space-8)}.sidebar-footer{padding:var(--space-16);border-top:1px solid var(--color-border)}.sidebar-legal-links{display:flex;align-items:center;justify-content:center;gap:var(--space-8);margin-top:var(--space-12);flex-wrap:wrap}.legal-link{color:var(--color-text-secondary);text-decoration:none;font-size:11px;transition:color var(--duration-fast) var(--ease-standard);background:none;border:none;cursor:pointer;padding:0;font-family:inherit}.legal-link:hover{color:var(--color-primary);text-decoration:underline}.legal-separator{color:var(--color-text-secondary);font-size:11px}.sidebar-credits{margin-top:var(--space-8);text-align:center}.sidebar-credits p{margin:0;font-size:10px;color:var(--color-text-secondary);line-height:1.4}.sidebar-credits a{color:var(--color-primary);text-decoration:none;transition:color var(--duration-fast) var(--ease-standard)}.sidebar-credits a:hover{color:var(--color-primary-hover);text-decoration:underline}.chat-history{display:flex;flex-direction:column;gap:var(--space-4)}.chat-history-item{padding:var(--space-12);border-radius:var(--radius-base);cursor:pointer;transition:all var(--duration-fast) var(--ease-standard);border:1px solid transparent;position:relative;display:flex;align-items:center;justify-content:space-between}.chat-history-item:hover{background:var(--color-secondary);border-color:var(--color-border)}.chat-history-item.active{background:var(--color-primary);color:var(--color-btn-primary-text)}.chat-item-content{flex:1;min-width:0}.chat-item-title{font-weight:var(--font-weight-medium);font-size:var(--font-size-sm);margin-bottom:var(--space-4);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.chat-item-time{font-size:var(--font-size-xs);opacity:.7}.chat-item-delete{background:none;border:none;padding:var(--space-4);border-radius:var(--radius-sm);cursor:pointer;color:var(--color-text-secondary);opacity:0;transition:all var(--duration-fast) var(--ease-standard);margin-left:var(--space-8);flex-shrink:0}.chat-history-item:hover .chat-item-delete{opacity:1}.chat-item-delete:hover{color:var(--color-error);background:rgba(var(--color-error-rgb),.1)}.chat-history-item.active .chat-item-delete{color:var(--color-btn-primary-text);opacity:.8}.chat-history-item.active .chat-item-delete:hover{opacity:1;background:#fff3}.chat-container{flex:1;display:flex;flex-direction:column;overflow:hidden}.sidebar-toggle{background:none;border:none;padding:var(--space-8);border-radius:var(--radius-base);cursor:pointer;color:var(--color-text);transition:background var(--duration-fast) var(--ease-standard)}.sidebar-toggle:hover{background:var(--color-secondary)}.chat-messages{flex:1;overflow-y:auto;padding:var(--space-20);display:flex;flex-direction:column;gap:var(--space-16)}.welcome-message{display:flex;justify-content:center;align-items:center;min-height:300px;text-align:center}.logo-container{margin-bottom:var(--space-24)}.welcome-logo{width:100px;filter:drop-shadow(0 4px 20px rgba(255,105,180,.3));animation:pulse 2s infinite;transition:transform .3s ease}.welcome-logo:hover{transform:scale(1.1)}@keyframes pulse{0%{filter:drop-shadow(0 4px 20px rgba(255,105,180,.3))}50%{filter:drop-shadow(0 4px 25px rgba(255,105,180,.5));transform:scale(1.05)}to{filter:drop-shadow(0 4px 20px rgba(255,105,180,.3))}}.welcome-content h2{color:var(--color-primary);margin-bottom:var(--space-16)}.welcome-content p{color:var(--color-text-secondary);max-width:500px}.message{display:flex;gap:var(--space-12);max-width:80%;animation:fadeIn .3s ease-out}.message.user{align-self:flex-end;flex-direction:row-reverse}.message.assistant{align-self:flex-start}.message-avatar{width:32px;height:32px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-weight:var(--font-weight-bold);font-size:var(--font-size-sm);flex-shrink:0}.message.user .message-avatar{background:var(--color-primary);color:var(--color-btn-primary-text)}.message.assistant .message-avatar{background:var(--color-bg-2);color:var(--color-text)}.message-content{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-12) var(--space-16);position:relative}.message.user .message-content{background:var(--color-primary);color:var(--color-btn-primary-text);border-color:var(--color-primary)}.message-text{line-height:var(--line-height-normal);white-space:pre-wrap;word-wrap:break-word}.message-meta{display:flex;align-items:center;justify-content:space-between;margin-top:var(--space-8);gap:var(--space-8)}.message-time{font-size:var(--font-size-xs);opacity:.7}.message-actions{display:flex;gap:var(--space-4)}.message-action{background:none;border:none;padding:var(--space-4);border-radius:var(--radius-sm);cursor:pointer;opacity:.6;transition:all var(--duration-fast) var(--ease-standard)}.message-action:hover{opacity:1;background:#ffffff1a}.message.user .message-action:hover{background:#fff3}.thinking-message{display:flex;gap:var(--space-12);max-width:80%;align-self:flex-start;animation:fadeIn .3s ease-out}.thinking-content{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-12) var(--space-16);display:flex;align-items:center;gap:var(--space-8)}.thinking-dots{display:flex;gap:var(--space-4)}.thinking-dots span{width:6px;height:6px;background:var(--color-primary);border-radius:var(--radius-full);animation:thinkingPulse 1.4s infinite ease-in-out}.thinking-dots span:nth-child(1){animation-delay:-.32s}.thinking-dots span:nth-child(2){animation-delay:-.16s}.thinking-text{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.modal{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1000;display:flex;align-items:center;justify-content:center}.modal.hidden{display:none}.modal-backdrop{position:absolute;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-24);min-width:400px;max-width:90vw;position:relative;box-shadow:var(--shadow-lg)}.modal-content h3{margin:0 0 var(--space-16) 0;color:var(--color-text)}.modal-content p{margin:0 0 var(--space-24) 0;color:var(--color-text-secondary)}.modal-actions{display:flex;gap:var(--space-12);justify-content:flex-end}.typing-cursor{display:inline-block;width:2px;height:1em;background:var(--color-primary);margin-left:2px;animation:blink 1s infinite}.message.user .typing-cursor{background:var(--color-btn-primary-text)}.skip-typing-hint{position:absolute;bottom:-25px;right:0;font-size:var(--font-size-xs);color:var(--color-text-secondary);opacity:.7;cursor:pointer;transition:opacity var(--duration-fast)}.skip-typing-hint:hover{opacity:1}.message-text h1,.message-text h2,.message-text h3,.message-text h4,.message-text h5,.message-text h6{margin:var(--space-16) 0 var(--space-8) 0;font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight)}.message-text h1:first-child,.message-text h2:first-child,.message-text h3:first-child,.message-text h4:first-child,.message-text h5:first-child,.message-text h6:first-child{margin-top:0}.message-text h1{font-size:var(--font-size-2xl)}.message-text h2{font-size:var(--font-size-xl)}.message-text h3{font-size:var(--font-size-lg)}.message-text strong{font-weight:var(--font-weight-bold)}.message-text em{font-style:italic}.message-text .inline-code{font-family:var(--font-family-mono);font-size:calc(var(--font-size-base) * .9);background:var(--color-bg-3);color:var(--color-text);padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);border:1px solid var(--color-border)}.message.user .message-text .inline-code{background:#fff3;color:inherit;border-color:#ffffff4d}.message-text .code-block{font-family:var(--font-family-mono);background:var(--color-bg-3);border:1px solid var(--color-border);border-radius:var(--radius-base);padding:var(--space-16);margin:var(--space-12) 0;overflow-x:auto;white-space:pre;font-size:var(--font-size-sm);line-height:1.4}.message.user .message-text .code-block{background:#ffffff26;border-color:#ffffff4d}.message-text .code-block code{background:none;padding:0;border:none;color:inherit}.message-text .numbered-list,.message-text .bullet-list{margin:var(--space-12) 0;padding-left:var(--space-20)}.message-text .numbered-list{list-style-type:decimal}.message-text .bullet-list{list-style-type:disc}.message-text .numbered-list-item,.message-text .bullet-list-item{margin-bottom:var(--space-4);line-height:var(--line-height-normal)}.message-text a{color:var(--color-primary);text-decoration:underline;transition:color var(--duration-fast) var(--ease-standard)}.message-text a:hover{color:var(--color-primary-hover)}.message.user .message-text a{color:#ffffffe6}.message.user .message-text a:hover{color:#fff}.message-text p{margin:0 0 var(--space-12) 0}.message-text p:last-child{margin-bottom:0}.chat-input-container{padding:var(--space-20);border-top:1px solid var(--color-border);background:var(--color-surface)}.chat-input-wrapper{display:flex;align-items:flex-end;gap:var(--space-12);background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-12);transition:border-color var(--duration-fast) var(--ease-standard)}.chat-input-wrapper:focus-within{border-color:var(--color-primary)}.chat-input{flex:1;border:none;outline:none;background:none;font-family:var(--font-family-base);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text);resize:none;min-height:24px;max-height:120px}.chat-input::placeholder{color:var(--color-text-secondary)}.send-button{background:var(--color-primary);color:var(--color-btn-primary-text);border:none;border-radius:var(--radius-base);padding:var(--space-8);cursor:pointer;transition:all var(--duration-fast) var(--ease-standard);display:flex;align-items:center;justify-content:center}.send-button:hover:not(:disabled){background:var(--color-primary-hover)}.send-button:disabled{opacity:.5;cursor:not-allowed}.input-hint{margin-top:var(--space-8);font-size:var(--font-size-xs);color:var(--color-text-secondary);text-align:center}.input-hint .message-limit-warning{color:var(--color-error);font-weight:var(--font-weight-medium);animation:pulse 2s infinite}.input-hint .message-limit-low{color:var(--color-warning);font-weight:var(--font-weight-medium)}.chat-input-wrapper.limit-reached{border-color:var(--color-error);background:rgba(var(--color-error-rgb),.05)}.chat-input.limit-reached::placeholder{color:var(--color-error);font-weight:var(--font-weight-medium)}@keyframes pulse{0%{opacity:1}50%{opacity:.7}to{opacity:1}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes thinkingPulse{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1);opacity:1}}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}@media (max-width: 768px){.sidebar{position:fixed;top:0;left:0;height:100vh;z-index:1001;transform:translate(-100%);transition:transform var(--duration-normal) var(--ease-standard);box-shadow:0 0 20px #0000004d}.sidebar.open{transform:translate(0)}.app-container{position:relative}.chat-history-item{min-height:48px;padding:var(--space-12) var(--space-16);-webkit-tap-highlight-color:transparent;touch-action:manipulation}.chat-item-delete{min-width:44px;min-height:44px;padding:var(--space-12);-webkit-tap-highlight-color:transparent;touch-action:manipulation}.btn{min-height:44px;padding:var(--space-12) var(--space-16);-webkit-tap-highlight-color:transparent;touch-action:manipulation}.sidebar-toggle{min-width:44px;min-height:44px;-webkit-tap-highlight-color:transparent;touch-action:manipulation}}@media (min-width: 769px){.sidebar{position:relative;transform:translate(0)!important;transition:none}.sidebar-toggle{display:none}.chat-container{width:100%}.message{max-width:95%}.theme-toggle{top:var(--space-12);right:var(--space-12)}}.chat-messages::-webkit-scrollbar,.sidebar-content::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-track,.sidebar-content::-webkit-scrollbar-track{background:transparent}.chat-messages::-webkit-scrollbar-thumb,.sidebar-content::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}.chat-messages::-webkit-scrollbar-thumb:hover,.sidebar-content::-webkit-scrollbar-thumb:hover{background:var(--color-text-secondary)}.error-message{background:rgba(var(--color-error-rgb),.1);border:1px solid rgba(var(--color-error-rgb),.3);color:var(--color-error);padding:var(--space-12) var(--space-16);border-radius:var(--radius-base);margin:var(--space-8) 0;font-size:var(--font-size-sm)}.loading{opacity:.6;pointer-events:none}.chat-input:focus{outline:none}.send-button:focus-visible{outline:var(--focus-outline);outline-offset:2px}.hidden{display:none!important}.input-controls{display:flex;align-items:flex-end;gap:var(--space-8);flex:1}.mode-toggle-button{background:var(--color-surface-elevated);border:1px solid var(--color-border);border-radius:var(--radius-base);padding:var(--space-8);cursor:pointer;transition:all var(--duration-fast) var(--ease-standard);display:flex;align-items:center;justify-content:center;color:var(--color-text-secondary);min-height:40px;min-width:40px}.mode-toggle-button:hover:not(:disabled){background:var(--color-surface-hover);border-color:var(--color-border-hover);color:var(--color-text)}.mode-toggle-button.active{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-btn-primary-text)}.mode-toggle-button:disabled{opacity:.5;cursor:not-allowed}.chat-input.image-mode{border-left:3px solid var(--color-primary);padding-left:var(--space-12)}.chat-input.image-mode::placeholder{color:var(--color-primary);font-style:italic}.send-button.image-mode{background:linear-gradient(135deg,var(--color-primary),var(--color-pink-600));animation:imageButtonGlow 2s ease-in-out infinite alternate}.send-button.image-mode:hover:not(:disabled){background:linear-gradient(135deg,var(--color-primary-hover),var(--color-pink-700))}.image-mode-hint{color:var(--color-primary);font-weight:var(--font-weight-medium);display:flex;align-items:center;gap:var(--space-4)}@keyframes imageButtonGlow{0%{box-shadow:0 0 5px rgba(var(--color-primary-rgb),.5)}to{box-shadow:0 0 20px rgba(var(--color-primary-rgb),.8)}}.generated-image-container{max-width:400px;border-radius:var(--radius-lg);overflow:hidden;margin:var(--space-8) 0;box-shadow:0 4px 12px #00000026;transition:transform var(--duration-fast) var(--ease-standard)}.generated-image-container:hover{transform:scale(1.02)}.generated-image{width:100%;height:auto;display:block;border-radius:var(--radius-lg)}.image-prompt-text{background:var(--color-surface-elevated);padding:var(--space-8) var(--space-12);border-radius:0 0 var(--radius-lg) var(--radius-lg);font-size:var(--font-size-sm);color:var(--color-text-secondary);border-top:1px solid var(--color-border)}.image-generation-status{display:flex;align-items:center;gap:var(--space-8);padding:var(--space-12);background:var(--color-surface-elevated);border-radius:var(--radius-base);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.image-generation-spinner{width:16px;height:16px;border:2px solid var(--color-border);border-top:2px solid var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}
