@font-face{font-family:Syne;src:url(/fonts/Syne-VariableFont_wght.ttf) format("truetype");font-weight:400 800;font-style:normal;font-display:swap}@font-face{font-family:Space Mono;src:url(/fonts/SpaceMono-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Space Mono;src:url(/fonts/SpaceMono-Italic.ttf) format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:Space Mono;src:url(/fonts/SpaceMono-Bold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Space Mono;src:url(/fonts/SpaceMono-BoldItalic.ttf) format("truetype");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-VariableFont_wght.ttf) format("truetype");font-weight:300 700;font-style:normal;font-display:swap}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-Italic-VariableFont_wght.ttf) format("truetype");font-weight:300 700;font-style:italic;font-display:swap}:root{--enc-violet: #8B5CF6;--enc-violet-fill: #7C5CFC;--enc-violet-dim: #6D4DE0;--enc-violet-bright: #A78BFA;--enc-violet-glow: rgba(139, 92, 246, .22);--enc-violet-subtle: rgba(139, 92, 246, .1);--enc-magenta: #E060C0;--enc-magenta-glow: rgba(224, 96, 192, .18);--enc-logo-grad: linear-gradient(100deg, #A020E0 0%, #E060C0 50%, #7C5CFC 100%);--enc-green: #2BE08B;--enc-green-fill: #1FB874;--enc-green-dim: #18A968;--enc-green-glow: rgba(43, 224, 139, .16);--enc-green-subtle: rgba(43, 224, 139, .08);--enc-cyan: #00E5FF;--enc-cyan-dim: #00B8CC;--enc-cyan-glow: rgba(0, 229, 255, .15);--enc-purple: var(--enc-violet);--enc-purple-glow: var(--enc-violet-glow);--enc-yellow: #FFD60A;--enc-red: #FF4D6D;--enc-red-glow: rgba(255, 77, 109, .18);--enc-bg-base: #0A0C0F;--enc-bg-surface: #111318;--enc-bg-elevated: #181C22;--enc-bg-hover: #1F242D;--enc-bg-border: #252B35;--enc-text-primary: #F0F4FF;--enc-text-secondary: #8892A4;--enc-text-muted: #4A5568;--enc-text-inverse: #0A0C0F;--fg1: var(--enc-text-primary);--fg2: var(--enc-text-secondary);--fg3: var(--enc-text-muted);--bg1: var(--enc-bg-base);--bg2: var(--enc-bg-surface);--bg3: var(--enc-bg-elevated);--accent: var(--enc-violet);--link: var(--enc-violet-bright);--bg: var(--enc-bg-base);--bg-soft: var(--enc-bg-surface);--bg-card: var(--enc-bg-elevated);--bg-elevated: var(--enc-bg-elevated);--bg-hover: var(--enc-bg-hover);--border: var(--enc-bg-border);--border-soft: var(--enc-bg-border);--text: var(--enc-text-primary);--text-muted: var(--enc-text-secondary);--text-dim: var(--enc-text-muted);--accent-strong: var(--enc-violet-bright);--accent-soft: var(--enc-violet-subtle);--ok: var(--enc-green);--warn: var(--enc-yellow);--danger: var(--enc-red);--danger-soft: rgba(255, 77, 109, .14);--radius: var(--radius-lg);--radius-small: var(--radius-md);--shadow: var(--shadow-modal);--font-display: "Syne", sans-serif;--font-mono: "JetBrains Mono", monospace;--font-ui: "Space Mono", monospace;--font-sans: "Space Mono", monospace;--text-xs: .625rem;--text-sm: .75rem;--text-base: .875rem;--text-md: 1rem;--text-lg: 1.125rem;--text-xl: 1.375rem;--text-2xl: 1.75rem;--text-3xl: 2.25rem;--text-4xl: 3rem;--text-5xl: 4rem;--text-hero: 5.5rem;--leading-tight: 1.1;--leading-snug: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.7;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 24px;--radius-pill: 9999px;--border-width: 1px;--border-color: var(--enc-bg-border);--border-active: var(--enc-green);--shadow-card: 0 1px 3px rgba(0,0,0,.4), 0 4px 16px rgba(0,0,0,.3);--shadow-modal: 0 8px 32px rgba(0,0,0,.6), 0 2px 8px rgba(0,0,0,.4);--glow-green: 0 0 20px var(--enc-green-glow), 0 0 40px rgba(0,255,135,.08);--glow-cyan: 0 0 20px var(--enc-cyan-glow);--glow-red: 0 0 20px var(--enc-red-glow);--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .4s cubic-bezier(.16, 1, .3, 1);--z-base: 0;--z-raised: 10;--z-overlay: 100;--z-modal: 200;--z-toast: 300;--z-tooltip: 400;--sidebar-width: 296px}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--enc-bg-base);color:var(--enc-text-primary);font-family:var(--font-ui);font-size:var(--text-base);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-tooltip);pointer-events:none;background:repeating-linear-gradient(0deg,rgba(0,0,0,.03) 0px,rgba(0,0,0,.03) 1px,transparent 1px,transparent 2px);mix-blend-mode:multiply}h1,h2,h3,h4,p{margin:0}a{color:var(--enc-violet-bright);text-decoration:none}a:hover{text-decoration:underline}button{font-family:inherit;cursor:pointer}input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}::selection{background:var(--enc-violet-subtle)}*{scrollbar-width:thin;scrollbar-color:var(--enc-bg-border) transparent}*::-webkit-scrollbar{width:9px;height:9px}*::-webkit-scrollbar-thumb{background:var(--enc-bg-border);border-radius:var(--radius-pill)}*::-webkit-scrollbar-thumb:hover{background:#313945}*::-webkit-scrollbar-track{background:transparent}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.enc-hero{font-family:var(--font-display);font-weight:800;font-size:var(--text-hero);letter-spacing:-.04em;line-height:var(--leading-tight);color:var(--fg1)}.enc-h1{font-family:var(--font-display);font-weight:800;font-size:var(--text-4xl);letter-spacing:-.03em;line-height:var(--leading-tight);color:var(--fg1)}.enc-h2{font-family:var(--font-display);font-weight:700;font-size:var(--text-3xl);letter-spacing:-.02em;line-height:var(--leading-snug);color:var(--fg1)}.enc-h3{font-family:var(--font-display);font-weight:700;font-size:var(--text-2xl);letter-spacing:-.01em;line-height:var(--leading-snug);color:var(--fg1)}.enc-body{font-family:var(--font-ui);font-weight:400;font-size:var(--text-md);line-height:var(--leading-relaxed);color:var(--fg2)}.enc-label{font-family:var(--font-mono);font-weight:700;font-size:var(--text-xs);letter-spacing:.12em;text-transform:uppercase;color:var(--fg3)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--text-base);font-weight:700;letter-spacing:.04em;text-decoration:none;cursor:pointer;border:none;transition:all var(--transition-base);position:relative;overflow:hidden;white-space:nowrap}.btn-primary{background:var(--enc-violet-fill);color:#fff;padding:var(--space-3) var(--space-6);border-radius:var(--radius-md)}.btn-primary:hover{background:#8b6bff;transform:translateY(-1px)}.btn-primary:active{transform:translateY(0);background:var(--enc-violet-dim)}.btn-secondary{background:transparent;color:var(--enc-text-primary);padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);border:1px solid var(--enc-bg-border)}.btn-secondary:hover{border-color:var(--enc-violet);color:var(--enc-violet-bright);background:var(--enc-violet-subtle)}.btn-ghost{background:transparent;color:var(--enc-text-secondary);padding:var(--space-3) var(--space-5);border-radius:var(--radius-md)}.btn-ghost:hover{color:var(--enc-text-primary);background:var(--enc-bg-surface)}.btn-danger{background:transparent;color:var(--enc-red);padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);border:1px solid rgba(255,77,109,.4)}.btn-danger:hover{background:#ff4d6d1a;border-color:var(--enc-red);transform:translateY(-1px)}.btn-danger-solid{background:var(--enc-red);color:#fff;border:none}.btn-danger-solid:hover{background:#e63e5c}.btn-sm{padding:var(--space-2) var(--space-4);font-size:var(--text-xs);border-radius:var(--radius-sm)}.btn-lg{padding:var(--space-4) var(--space-8);font-size:var(--text-md);border-radius:var(--radius-lg)}.btn-pill{border-radius:var(--radius-pill)}.btn-icon{width:40px;height:40px;background:var(--enc-bg-surface);border:1px solid var(--enc-bg-border);border-radius:var(--radius-md);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-base);font-size:var(--text-md);color:var(--enc-text-secondary)}.btn-icon:hover{border-color:var(--enc-violet);color:var(--enc-violet-bright);background:var(--enc-violet-subtle)}.button{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);border:1px solid var(--enc-bg-border);background:var(--enc-bg-elevated);color:var(--enc-text-primary);font-family:var(--font-mono);font-size:var(--text-base);font-weight:700;letter-spacing:.04em;transition:background var(--transition-base),border-color var(--transition-base),opacity var(--transition-base)}.button:hover:not(:disabled){background:var(--enc-bg-hover)}.button:disabled{opacity:.55;cursor:not-allowed}.button-loading{position:relative;color:transparent;pointer-events:none}.button-loading:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;margin:auto;width:1em;height:1em;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;color:var(--enc-text-primary);animation:btn-spin .6s linear infinite}@keyframes btn-spin{to{transform:rotate(360deg)}}.button-primary{background:var(--enc-violet-fill);border-color:var(--enc-violet-fill);color:#fff}.button-primary:hover:not(:disabled){background:#8b6bff;border-color:#8b6bff}.button-ghost{background:transparent;border-color:transparent;color:var(--enc-text-secondary)}.button-ghost:hover:not(:disabled){background:var(--enc-bg-hover);color:var(--enc-text-primary)}.button-danger{background:transparent;border-color:#ff4d6d66;color:var(--enc-red)}.button-danger:hover:not(:disabled){background:#ff4d6d1a;border-color:var(--enc-red)}.button-block{width:100%}.badge{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill)}.badge-green{background:var(--enc-green-subtle);border:1px solid rgba(43,224,139,.25);color:var(--enc-green)}.badge-cyan{background:var(--enc-cyan-glow);border:1px solid rgba(0,229,255,.25);color:var(--enc-cyan)}.badge-violet,.badge-purple{background:var(--enc-violet-subtle);border:1px solid rgba(139,92,246,.3);color:var(--enc-violet-bright)}.badge-yellow{background:#ffd60a1a;border:1px solid rgba(255,214,10,.25);color:var(--enc-yellow)}.badge-red{background:var(--enc-red-glow);border:1px solid rgba(255,77,109,.25);color:var(--enc-red)}.badge-neutral{background:var(--enc-bg-elevated);border:1px solid var(--enc-bg-border);color:var(--enc-text-secondary)}.badge-dot:before{content:"";display:block;width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}.input-group{display:flex;flex-direction:column;gap:var(--space-2)}.input-label{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--enc-text-muted)}.input{background:var(--enc-bg-surface);border:1px solid var(--enc-bg-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);font-family:var(--font-mono);font-size:var(--text-base);color:var(--enc-text-primary);outline:none;transition:all var(--transition-base);width:100%}.input::placeholder{color:var(--enc-text-muted)}.input:focus{border-color:var(--enc-violet);box-shadow:0 0 0 3px var(--enc-violet-subtle)}.input-error{border-color:var(--enc-red)}.input-error:focus{box-shadow:0 0 0 3px var(--enc-red-glow)}.input-hint{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--enc-text-muted)}.input-hint.error{color:var(--enc-red)}.form-field{display:flex;flex-direction:column;gap:var(--space-2)}.form-label{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--enc-text-muted)}.form-input{background:var(--enc-bg-surface);border:1px solid var(--enc-bg-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);font-family:var(--font-mono);font-size:var(--text-base);color:var(--enc-text-primary);outline:none;transition:border-color var(--transition-base),box-shadow var(--transition-base);width:100%}.form-input::placeholder{color:var(--enc-text-muted)}.form-input:focus{border-color:var(--enc-violet);box-shadow:0 0 0 3px var(--enc-violet-subtle)}.form-input.invalid{border-color:var(--enc-red)}.form-input.invalid:focus{box-shadow:0 0 0 3px var(--enc-red-glow)}.form-error{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--enc-red)}.form-alert{padding:var(--space-4) var(--space-5);border-radius:var(--radius-lg);border:1px solid rgba(255,77,109,.4);border-left:3px solid var(--enc-red);background:#ff4d6d0f;color:var(--enc-red);font-family:var(--font-mono);font-size:var(--text-base)}.card{background:var(--enc-bg-surface);border:1px solid var(--enc-bg-border);border-radius:var(--radius-xl);padding:var(--space-6);transition:all var(--transition-base)}.card:hover{border-color:#8b5cf659;box-shadow:0 0 24px var(--enc-violet-glow);transform:translateY(-2px)}.alert{display:flex;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-radius:var(--radius-lg);border-left:3px solid;margin-bottom:var(--space-3)}.alert-success{background:#00ff870f;border-color:var(--enc-green)}.alert-success .alert-title{color:var(--enc-green)}.alert-error{background:#ff4d6d0f;border-color:var(--enc-red)}.alert-error .alert-title{color:var(--enc-red)}.alert-info{background:#00e5ff0f;border-color:var(--enc-cyan)}.alert-info .alert-title{color:var(--enc-cyan)}.alert-warning{background:#ffd60a0f;border-color:var(--enc-yellow)}.alert-warning .alert-title{color:var(--enc-yellow)}.progress-bar{width:100%;height:6px;background:var(--enc-bg-elevated);border-radius:var(--radius-pill);overflow:hidden}.progress-fill{height:100%;border-radius:var(--radius-pill);background:linear-gradient(90deg,var(--enc-violet-fill),var(--enc-magenta));box-shadow:0 0 8px var(--enc-violet-glow);transition:width var(--transition-slow)}.spinner{width:18px;height:18px;border:2px solid var(--enc-bg-border);border-top-color:var(--enc-violet-bright);border-radius:50%;animation:enc-spin .7s linear infinite;flex-shrink:0}@keyframes enc-spin{to{transform:rotate(360deg)}}.spinner-inline{display:inline-flex;align-items:center;gap:var(--space-3)}.spinner-fullscreen{min-height:100vh;display:flex;align-items:center;justify-content:center;gap:var(--space-3)}.spinner-label{font-family:var(--font-mono);color:var(--enc-text-secondary);font-size:var(--text-base)}.avatar{border-radius:50%;background:var(--enc-bg-elevated);border:2px solid var(--enc-bg-border);display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;color:var(--enc-text-secondary);flex-shrink:0;-webkit-user-select:none;user-select:none}.avatar-sm{width:32px;height:32px;font-size:var(--text-xs)}.avatar-md{width:40px;height:40px;font-size:var(--text-base)}.avatar-lg{width:56px;height:56px;font-size:var(--text-xl)}.avatar-user{background:var(--enc-bg-elevated);border-color:var(--enc-bg-border);color:var(--enc-text-secondary)}.avatar-assistant{background:var(--enc-violet-subtle);border-color:#8b5cf652;color:var(--enc-violet-bright);border-radius:var(--radius-md)}.avatar.online{border-color:var(--enc-green);box-shadow:0 0 0 2px var(--enc-bg-base),0 0 0 4px var(--enc-green)}.copy-button{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--enc-bg-border);background:var(--enc-bg-surface);color:var(--enc-text-secondary);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:700;letter-spacing:.04em;transition:border-color var(--transition-fast),color var(--transition-fast)}.copy-button:hover{border-color:var(--enc-violet);color:var(--enc-violet-bright)}.copy-button.copied{border-color:var(--enc-green);color:var(--enc-green)}.copy-button-small{padding:2px var(--space-2);font-size:var(--text-xs)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:var(--space-2);padding:var(--space-10) var(--space-6);color:var(--enc-text-muted);font-family:var(--font-mono)}.menu-item-danger{color:var(--enc-red)!important}.toast-stack,.toast-container{position:fixed;bottom:var(--space-6);right:var(--space-6);z-index:var(--z-toast);display:flex;flex-direction:column;gap:var(--space-3);max-width:360px}.toast{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);background:var(--enc-bg-elevated);border:1px solid var(--enc-bg-border);border-left:3px solid var(--enc-violet);box-shadow:var(--shadow-modal);font-family:var(--font-mono);font-size:var(--text-base);color:var(--enc-text-primary);animation:toast-in var(--transition-slow)}.toast.success,.toast-success{border-left-color:var(--enc-green)}.toast.error,.toast-error{border-left-color:var(--enc-red)}@keyframes toast-in{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}.toast-icon{font-size:14px;line-height:1.4;flex-shrink:0}.toast-success .toast-icon,.toast.success .toast-icon{color:var(--enc-green)}.toast-error .toast-icon,.toast.error .toast-icon{color:var(--enc-red)}.toast-message{flex:1}.toast-close{background:none;border:none;color:var(--enc-text-muted);font-size:18px;line-height:1;padding:0 2px}.toast-close:hover{color:var(--enc-text-primary)}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);background:#0a0c0fb8;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:var(--space-6);animation:fade-in var(--transition-base)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.dialog{width:100%;max-width:440px;background:var(--enc-bg-elevated);border:1px solid var(--enc-bg-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-modal);padding:var(--space-6);animation:dialog-in var(--transition-slow)}@keyframes dialog-in{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.dialog-title{font-family:var(--font-display);font-weight:700;font-size:var(--text-xl);letter-spacing:-.01em;color:var(--enc-text-primary);margin-bottom:var(--space-3)}.dialog-message{font-family:var(--font-ui);font-size:var(--text-base);line-height:var(--leading-relaxed);color:var(--enc-text-secondary);margin-bottom:var(--space-6)}.dialog-actions{display:flex;justify-content:flex-end;gap:var(--space-3)}.auth-screen{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}.auth-aside{position:relative;background:var(--enc-bg-surface);border-right:1px solid var(--enc-bg-border);padding:var(--space-12);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.auth-aside:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(680px 420px at 12% 0%,var(--enc-violet-subtle),transparent 60%),radial-gradient(520px 360px at 100% 100%,var(--enc-magenta-glow),transparent 55%);pointer-events:none}.auth-aside>*{position:relative;z-index:1}.auth-aside-brand{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-display);font-weight:800;font-size:1.6rem;letter-spacing:-.03em;color:var(--enc-text-primary)}.auth-aside-brand .enco-chev{font-family:var(--font-mono);color:var(--enc-violet-bright);font-size:1.2rem}.auth-aside-hero{font-family:var(--font-display);font-weight:800;font-size:var(--text-4xl);letter-spacing:-.04em;line-height:var(--leading-tight);color:var(--enc-text-primary);max-width:13ch}.auth-aside-hero .grad{background:var(--enc-logo-grad);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.auth-aside-sub{margin-top:var(--space-5);font-family:var(--font-ui);font-size:var(--text-md);line-height:var(--leading-relaxed);color:var(--enc-text-secondary);max-width:42ch}.auth-aside-codecard{margin-top:var(--space-8);max-width:420px;background:var(--enc-bg-elevated);border:1px solid var(--enc-bg-border);border-radius:var(--radius-lg);overflow:hidden}.auth-aside-codecard-header{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);background:var(--enc-bg-surface);border-bottom:1px solid var(--enc-bg-border)}.auth-aside-codecard-dot{width:10px;height:10px;border-radius:50%}.auth-aside-codecard-dot:nth-child(1){background:#ff5f57}.auth-aside-codecard-dot:nth-child(2){background:#ffbd2e}.auth-aside-codecard-dot:nth-child(3){background:var(--enc-green)}.auth-aside-codecard-body{padding:var(--space-5);font-family:var(--font-mono);font-size:var(--text-sm);line-height:var(--leading-relaxed);color:var(--enc-text-primary)}.auth-aside-codecard-body .kw{color:var(--enc-violet-bright)}.auth-aside-codecard-body .str{color:var(--enc-yellow)}.auth-aside-codecard-body .fn{color:var(--enc-green)}.auth-aside-codecard-body .cmt{color:var(--enc-text-muted)}.auth-aside-foot{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--enc-text-muted);letter-spacing:.04em}.auth-main{display:flex;align-items:center;justify-content:center;padding:var(--space-12) var(--space-8)}.auth-card{width:100%;max-width:400px}.auth-eyebrow{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--enc-text-muted);margin-bottom:var(--space-3)}.auth-title{font-family:var(--font-display);font-weight:800;font-size:var(--text-3xl);letter-spacing:-.03em;color:var(--enc-text-primary);margin-bottom:var(--space-2)}.auth-subtitle{font-family:var(--font-ui);font-size:var(--text-base);color:var(--enc-text-secondary);margin-bottom:var(--space-8);line-height:var(--leading-relaxed)}.auth-form{display:flex;flex-direction:column;gap:var(--space-5)}.field{display:flex;flex-direction:column;gap:var(--space-2)}.field-label{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--enc-text-muted)}.field-input{background:var(--enc-bg-surface);border:1px solid var(--enc-bg-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);font-family:var(--font-mono);font-size:var(--text-base);color:var(--enc-text-primary);outline:none;width:100%;transition:border-color var(--transition-base),box-shadow var(--transition-base)}.field-input::placeholder{color:var(--enc-text-muted)}.field-input:focus{border-color:var(--enc-violet);box-shadow:0 0 0 3px var(--enc-violet-subtle)}.field-input.error{border-color:var(--enc-red)}.field-error{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--enc-red)}.field-row{display:flex;align-items:center;justify-content:space-between}.field-forgot{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--enc-violet-bright)}.field-forgot:hover{text-decoration:underline}.btn-auth{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;padding:var(--space-4) var(--space-6);background:var(--enc-violet-fill);color:#fff;border:none;border-radius:var(--radius-md);font-family:var(--font-mono);font-size:var(--text-md);font-weight:700;letter-spacing:.04em;margin-top:var(--space-2);transition:background var(--transition-base),transform var(--transition-base),box-shadow var(--transition-base)}.btn-auth:hover{background:#8b6bff;transform:translateY(-1px);box-shadow:0 0 22px var(--enc-violet-glow)}.btn-auth:active{transform:translateY(0)}.btn-auth:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.auth-divider{display:flex;align-items:center;gap:var(--space-4);margin:var(--space-6) 0;font-family:var(--font-mono);font-size:var(--text-xs);letter-spacing:.1em;text-transform:uppercase;color:var(--enc-text-muted)}.auth-divider:before,.auth-divider:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,transparent,var(--enc-bg-border),transparent)}.auth-switch{margin-top:var(--space-8);text-align:center;font-family:var(--font-mono);font-size:var(--text-base);color:var(--enc-text-secondary)}.auth-switch a{color:var(--enc-violet-bright);font-weight:700}.auth-switch a:hover{text-decoration:underline}@media (max-width: 920px){.auth-screen{grid-template-columns:1fr}.auth-aside{display:none}.auth-main{padding:var(--space-12) var(--space-6)}}@media (max-width: 480px){.auth-main{padding:var(--space-8) var(--space-5)}}.enco-brand{display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-display);font-weight:800;letter-spacing:-.03em;color:var(--enc-text-primary)}.enco-chev{display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-weight:700;color:var(--enc-violet-bright)}.enco-brand .enco-name{line-height:1}.enco-ai{align-self:center;font-family:var(--font-mono);font-weight:700;font-size:.5em;letter-spacing:.12em;line-height:1;color:var(--enc-violet-bright);background:var(--enc-violet-subtle);border:1px solid rgba(139,92,246,.32);border-radius:var(--radius-sm);padding:3px 5px;margin-left:-2px}.chat-layout{display:flex;height:100vh;overflow:hidden}.sidebar{display:flex;flex-direction:column;width:296px;flex-shrink:0;background:var(--enc-bg-surface);border-right:1px solid var(--enc-bg-border);height:100%}.sidebar-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-5) var(--space-4) var(--space-4)}.sidebar-brand{cursor:pointer;display:inline-flex;align-items:center;gap:var(--space-2);font-family:var(--font-display);font-weight:800;letter-spacing:-.03em;color:var(--enc-text-primary);text-decoration:none}.sidebar-brand:hover{text-decoration:none}.sidebar-logo{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:var(--radius-md);background:var(--enc-violet-subtle);border:1px solid rgba(139,92,246,.32);color:var(--enc-violet-bright);font-family:var(--font-mono);font-weight:700;font-size:var(--text-base)}.sidebar-close{display:none;background:none;border:none;color:var(--enc-text-secondary);font-size:22px;line-height:1;padding:2px 6px}.sidebar-close:hover{color:var(--enc-text-primary)}.sidebar-actions{padding:0 var(--space-4) var(--space-3)}.btn-newchat{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;padding:var(--space-3) var(--space-4);background:var(--enc-violet-fill);color:#fff;border:none;border-radius:var(--radius-md);font-family:var(--font-mono);font-size:var(--text-base);font-weight:700;letter-spacing:.04em;transition:background var(--transition-base),transform var(--transition-base),box-shadow var(--transition-base)}.btn-newchat:hover{background:#8b6bff;transform:translateY(-1px);box-shadow:0 0 20px var(--enc-violet-glow)}.btn-newchat:active{transform:translateY(0);background:var(--enc-violet-dim)}.btn-newchat .plus{font-size:1.1em;line-height:1}.sidebar-search-wrap{padding:0 var(--space-4) var(--space-3);position:relative}.sidebar-search-icon{position:absolute;left:calc(var(--space-4) + 12px);top:50%;transform:translateY(-50%);color:var(--enc-text-muted);font-size:13px;pointer-events:none}.sidebar-search{width:100%;padding:var(--space-3) var(--space-3) var(--space-3) calc(var(--space-6) + 8px);border-radius:var(--radius-md);border:1px solid var(--enc-bg-border);background:var(--enc-bg-base);color:var(--enc-text-primary);font-family:var(--font-mono);font-size:var(--text-base);outline:none;transition:border-color var(--transition-base),box-shadow var(--transition-base)}.sidebar-search::placeholder{color:var(--enc-text-muted)}.sidebar-search:focus{border-color:var(--enc-violet);box-shadow:0 0 0 3px var(--enc-violet-subtle)}.sidebar-list{flex:1;overflow-y:auto;padding:var(--space-1) var(--space-3) var(--space-4)}.sidebar-loading,.sidebar-empty{padding:var(--space-6) var(--space-4);text-align:center;color:var(--enc-text-muted);font-family:var(--font-mono);font-size:var(--text-sm);line-height:var(--leading-relaxed)}.sidebar-group{margin-bottom:var(--space-3)}.sidebar-group-label{padding:var(--space-3) var(--space-3) var(--space-2);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--enc-text-muted)}.sidebar-group-toggle{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-3);background:none;border:none;color:var(--enc-text-muted);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.12em;text-align:left}.sidebar-group-toggle:hover{color:var(--enc-text-secondary)}.sidebar-caret{display:inline-block;transition:transform var(--transition-fast);font-size:10px}.sidebar-caret.open{transform:rotate(90deg)}.sidebar-group-archived{border-top:1px solid var(--enc-bg-border);margin-top:var(--space-2);padding-top:var(--space-2)}.chat-item{position:relative;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);margin-bottom:var(--space-1);border-radius:var(--radius-md);color:var(--enc-text-secondary);font-family:var(--font-mono);font-size:var(--text-base);cursor:pointer;border:1px solid transparent;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast)}.chat-item:hover{background:var(--enc-bg-hover);color:var(--enc-text-primary)}.chat-item.active{background:var(--enc-violet-subtle);border-color:#8b5cf652;color:var(--enc-text-primary)}.chat-item-main{display:flex;align-items:center;gap:var(--space-2);flex:1;min-width:0;background:none;border:none;padding:0;color:inherit;text-align:left}.chat-item-pin{flex-shrink:0;font-size:11px;color:var(--enc-violet-bright)}.chat-item-title{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-item-rename{flex:1;min-width:0;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--enc-violet);background:var(--enc-bg-base);color:var(--enc-text-primary);font-family:var(--font-mono);font-size:var(--text-base);outline:none}.chat-archived-badge{flex-shrink:0;font-family:var(--font-mono);font-size:var(--text-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);background:var(--enc-bg-elevated);border:1px solid var(--enc-bg-border);color:var(--enc-text-secondary)}.chat-item-menu-wrap{position:relative;flex-shrink:0}.chat-item-menu-button{background:none;border:none;color:var(--enc-text-muted);font-size:16px;line-height:1;padding:2px 5px;border-radius:var(--radius-sm);opacity:0;transition:opacity var(--transition-fast),background var(--transition-fast)}.chat-item:hover .chat-item-menu-button,.chat-item.active .chat-item-menu-button,.chat-item-menu-button:focus-visible{opacity:1}.chat-item-menu-button:hover{background:var(--enc-bg-elevated);color:var(--enc-text-primary)}.chat-item-menu{position:absolute;top:calc(100% + 4px);right:0;z-index:var(--z-overlay);min-width:184px;background:var(--enc-bg-elevated);border:1px solid var(--enc-bg-border);border-radius:var(--radius-md);box-shadow:var(--shadow-modal);padding:var(--space-1);display:flex;flex-direction:column}.chat-item-menu button{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2) var(--space-3);background:none;border:none;border-radius:var(--radius-sm);color:var(--enc-text-secondary);font-family:var(--font-mono);font-size:var(--text-base);text-align:left;transition:background var(--transition-fast),color var(--transition-fast)}.chat-item-menu button:hover{background:var(--enc-bg-hover);color:var(--enc-text-primary)}.chat-item-menu button.danger:hover{color:var(--enc-red);background:var(--enc-red-glow)}.chat-item-menu .menu-key{margin-left:auto;color:var(--enc-text-muted);font-size:12px}.chat-item-menu-sep{height:1px;background:var(--enc-bg-border);margin:var(--space-1) 0}.sidebar-footer{border-top:1px solid var(--enc-bg-border);padding:var(--space-3)}.sidebar-profile{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2);border-radius:var(--radius-md);cursor:pointer;border:1px solid transparent;text-decoration:none;transition:background var(--transition-fast),border-color var(--transition-fast)}.sidebar-profile:hover{background:var(--enc-bg-hover);border-color:var(--enc-bg-border);text-decoration:none}.sidebar-profile-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-1)}.sidebar-profile-name{font-family:var(--font-mono);font-size:var(--text-base);font-weight:700;color:var(--enc-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1}.sidebar-profile-plan,.sidebar-profile-email{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--enc-violet-bright);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1}.sidebar-profile-email{color:var(--enc-text-muted);text-transform:none;letter-spacing:0}.sidebar-profile-gear{color:var(--enc-text-muted);font-size:16px;flex-shrink:0}.sidebar-profile:hover .sidebar-profile-gear{color:var(--enc-text-primary)}.sidebar-backdrop{display:none}@media (max-width: 880px){.chat-menu-button{display:inline-flex!important}.sidebar{position:fixed;inset:0 auto 0 0;z-index:var(--z-modal);transform:translate(-100%);transition:transform var(--transition-base);box-shadow:var(--shadow-modal)}.sidebar.open{transform:translate(0)}.sidebar-close{display:inline-flex}.sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-overlay);background:#0a0c0fb3}}.chat-main{flex:1;display:flex;flex-direction:column;min-width:0;height:100%;background:var(--enc-bg-base)}.chat-topbar{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-6);border-bottom:1px solid var(--enc-bg-border);background:#111318d9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);min-height:64px}.chat-menu-button{display:none;background:var(--enc-bg-surface);border:1px solid var(--enc-bg-border);border-radius:var(--radius-md);color:var(--enc-text-primary);font-size:16px;padding:7px 11px}.chat-title-wrap{flex:1;min-width:0;display:flex;align-items:center;gap:var(--space-3)}.chat-title{min-width:0;font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--enc-text-primary)}.chat-topbar>.chat-title{flex:1}.mode-switcher{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-2);flex-shrink:0}.mode-segments{display:inline-flex;padding:3px;border-radius:var(--radius-md);background:var(--enc-bg-surface);border:1px solid var(--enc-bg-border);gap:2px}.mode-segment{display:flex;flex-direction:column;align-items:center;gap:1px;padding:var(--space-2) var(--space-4);border:none;border-radius:6px;background:transparent;color:var(--enc-text-secondary);font-family:var(--font-mono);transition:background var(--transition-base),color var(--transition-base)}.mode-segment:hover:not(.active):not(:disabled){color:var(--enc-text-primary)}.mode-segment.active{background:var(--enc-violet-subtle);color:var(--enc-violet-bright);box-shadow:inset 0 0 0 1px #8b5cf659}.mode-segment:disabled{opacity:.5;cursor:not-allowed}.mode-segment-name{font-size:var(--text-base);font-weight:700}.mode-segment-short{font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;opacity:.85}.mode-description{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--enc-text-muted);max-width:360px;text-align:right;line-height:var(--leading-normal)}.chat-scroll{flex:1;overflow-y:auto;position:relative}.chat-messages{max-width:840px;margin:0 auto;padding:var(--space-8) var(--space-6) var(--space-4);display:flex;flex-direction:column;gap:var(--space-6)}.chat-loading{display:flex;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-12);color:var(--enc-text-secondary);font-family:var(--font-mono);font-size:var(--text-base)}.chat-error{max-width:760px;margin:var(--space-5) auto;padding:var(--space-4) var(--space-5);border-radius:var(--radius-lg);border:1px solid rgba(255,77,109,.4);border-left:3px solid var(--enc-red);background:#ff4d6d0f;color:var(--enc-text-secondary);font-family:var(--font-mono);font-size:var(--text-base);display:flex;flex-direction:column;gap:var(--space-3);align-items:flex-start}.chat-error p{color:var(--enc-red)}.jump-to-bottom{position:absolute;bottom:var(--space-5);left:50%;transform:translate(-50%);display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);border:1px solid var(--enc-bg-border);background:var(--enc-bg-elevated);color:var(--enc-text-secondary);font-family:var(--font-mono);font-size:var(--text-sm);box-shadow:var(--shadow-card);transition:border-color var(--transition-fast),color var(--transition-fast)}.jump-to-bottom:hover{color:var(--enc-violet-bright);border-color:var(--enc-violet)}.message{display:flex;gap:var(--space-4)}.message-avatar{flex-shrink:0;padding-top:2px}.message-body{flex:1;min-width:0}.message-header{display:flex;align-items:baseline;gap:var(--space-3);margin-bottom:var(--space-2)}.message-author{font-family:var(--font-mono);font-size:var(--text-base);font-weight:700;color:var(--enc-text-primary)}.message-time{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--enc-text-muted)}.message-refused-badge{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:2px var(--space-3);border-radius:var(--radius-pill);background:var(--enc-red-glow);border:1px solid rgba(255,77,109,.3);color:var(--enc-red)}.message-content{font-size:var(--text-md);line-height:var(--leading-relaxed);color:var(--enc-text-primary)}.message-user .message-content{background:var(--enc-violet-subtle);border:1px solid rgba(139,92,246,.28);border-radius:var(--radius-lg);border-top-left-radius:var(--radius-sm);padding:var(--space-4) var(--space-5)}.message-plain{white-space:pre-wrap;word-break:break-word}.message-assistant .message-content{color:var(--enc-text-secondary)}.message-assistant .message-content strong{color:var(--enc-text-primary)}.message-refused .message-content{background:#ff4d6d0f;border:1px solid rgba(255,77,109,.28);border-left:3px solid var(--enc-red);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5)}.message-interrupted{margin-top:var(--space-3);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--enc-yellow)}.message-meta{margin-top:var(--space-3);display:flex;flex-wrap:wrap;gap:var(--space-4);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--enc-text-muted);font-variant-numeric:tabular-nums}.message-actions{margin-top:var(--space-3);display:flex;gap:var(--space-2);opacity:0;transition:opacity var(--transition-fast)}.message:hover .message-actions{opacity:1}.stream-cursor{display:inline-block;width:8px;height:1.05em;margin-left:2px;vertical-align:text-bottom;background:var(--enc-violet-bright);border-radius:1px;animation:enco-blink .9s steps(2) infinite}@keyframes enco-blink{50%{opacity:0}}.typing-indicator{display:inline-flex;align-items:center;gap:var(--space-3);font-family:var(--font-mono);color:var(--enc-text-secondary)}.typing-dots{display:inline-flex;gap:4px}.typing-dots span{width:6px;height:6px;border-radius:50%;background:var(--enc-violet-bright);animation:enco-typing 1.1s ease-in-out infinite}.typing-dots span:nth-child(2){animation-delay:.18s}.typing-dots span:nth-child(3){animation-delay:.36s}@keyframes enco-typing{0%,60%,to{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}.chat-streaming-status{max-width:840px;margin:0 auto;width:100%;padding:0 var(--space-6);display:flex;align-items:center;gap:var(--space-3);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--enc-text-secondary)}.empty-state{max-width:760px;margin:0 auto;padding:var(--space-16) var(--space-6) var(--space-8);display:flex;flex-direction:column;align-items:center;text-align:center;gap:0}.empty-state-logo{display:inline-flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:var(--radius-xl);background:var(--enc-bg-surface);border:1px solid var(--enc-bg-border);margin-bottom:var(--space-5);font-family:var(--font-mono);font-weight:700;font-size:28px;color:var(--enc-violet-bright);box-shadow:0 0 28px var(--enc-violet-glow)}.empty-state-title{font-family:var(--font-display);font-weight:800;font-size:var(--text-3xl);letter-spacing:-.03em;color:var(--enc-text-primary);margin-bottom:var(--space-3)}.empty-state-subtitle{font-family:var(--font-ui);font-size:var(--text-md);max-width:540px;line-height:var(--leading-relaxed);color:var(--enc-text-secondary)}.empty-state-subtitle strong{color:var(--enc-violet-bright)}.empty-state-prompts{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3);margin-top:var(--space-8);width:100%}.empty-state-prompt{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-2);padding:var(--space-4) var(--space-5);border-radius:var(--radius-lg);border:1px solid var(--enc-bg-border);background:var(--enc-bg-surface);text-align:left;transition:border-color var(--transition-base),background var(--transition-base),transform var(--transition-base),box-shadow var(--transition-base)}.empty-state-prompt:hover{border-color:#8b5cf666;background:var(--enc-bg-hover);transform:translateY(-2px);box-shadow:0 0 22px var(--enc-violet-glow)}.empty-state-prompt-tag{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--enc-violet-bright)}.empty-state-prompt-title{font-family:var(--font-mono);font-size:var(--text-base);font-weight:700;color:var(--enc-text-primary)}.empty-state-prompt-text{font-family:var(--font-mono);font-size:var(--text-sm);line-height:var(--leading-normal);color:var(--enc-text-secondary)}.message-input{padding:var(--space-3) var(--space-6) var(--space-5);background:linear-gradient(180deg,transparent,var(--enc-bg-base) 36%)}.message-input-box{max-width:840px;margin:0 auto;display:flex;align-items:flex-end;gap:var(--space-3);padding:var(--space-3) var(--space-3) var(--space-3) var(--space-5);border-radius:var(--radius-xl);border:1px solid var(--enc-bg-border);background:var(--enc-bg-surface);transition:border-color var(--transition-base),box-shadow var(--transition-base)}.message-input-box:focus-within{border-color:var(--enc-violet);box-shadow:0 0 0 3px var(--enc-violet-subtle)}.message-input-textarea{flex:1;min-height:26px;max-height:220px;resize:none;border:none;outline:none;background:transparent;color:var(--enc-text-primary);font-family:var(--font-mono);font-size:var(--text-md);line-height:var(--leading-normal);padding:var(--space-2) 0}.message-input-textarea::placeholder{color:var(--enc-text-muted)}.button-send,.button-stop{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:var(--radius-md);font-size:17px;flex-shrink:0;transition:background var(--transition-base),transform var(--transition-base),box-shadow var(--transition-base),opacity var(--transition-base)}.button-send{background:var(--enc-violet-fill)!important;color:#fff!important;border:none!important}.button-send:hover:not(:disabled){background:#8b6bff!important;box-shadow:0 0 18px var(--enc-violet-glow)}.button-send:disabled{opacity:.4;cursor:not-allowed}.button-stop{background:transparent!important;border:1px solid rgba(255,77,109,.4)!important;color:var(--enc-red)!important;width:auto;padding:0 var(--space-4);gap:var(--space-2);font-family:var(--font-mono);font-size:var(--text-base);font-weight:700}.button-stop:hover{background:#ff4d6d1a!important;border-color:var(--enc-red)!important}.message-input-hint{max-width:840px;margin:var(--space-3) auto 0;text-align:center;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--enc-text-muted);line-height:var(--leading-normal)}.message-input-hint .accent{color:var(--enc-text-secondary)}.enco-avatar{width:34px;height:34px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-weight:700;font-size:var(--text-sm);flex-shrink:0}.enco-avatar.user{background:var(--enc-bg-elevated);border:1px solid var(--enc-bg-border);color:var(--enc-text-secondary)}.enco-avatar.assistant{background:var(--enc-violet-subtle);border:1px solid rgba(139,92,246,.32);color:var(--enc-violet-bright)}@media (max-width: 880px){.chat-menu-button{display:inline-flex}}@media (max-width: 640px){.mode-description,.mode-segment-short{display:none}.empty-state-prompts{grid-template-columns:1fr}.chat-messages{padding:var(--space-5) var(--space-4) var(--space-3)}.message-input{padding:var(--space-3) var(--space-4) var(--space-4)}}.md-content{line-height:var(--leading-relaxed);word-break:break-word;font-family:var(--font-ui);font-size:var(--text-md);color:var(--enc-text-secondary)}.md-content>*:first-child{margin-top:0}.md-content>*:last-child{margin-bottom:0}.md p,.md-paragraph{margin:0 0 var(--space-3)}.md p:last-child,.md-paragraph:last-child{margin-bottom:0}.md strong,.md-content strong{font-weight:700;color:var(--enc-text-primary)}.md-heading{margin:var(--space-5) 0 var(--space-2);font-weight:700;line-height:var(--leading-snug)}h1.md-h,.md h1{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:800;letter-spacing:-.02em;color:var(--enc-text-primary)}h2.md-h,.md h2{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;color:var(--enc-text-primary)}h3.md-h,h4.md-h,.md h3{font-family:var(--font-display);font-size:var(--text-lg);font-weight:700;color:var(--enc-text-primary);margin:var(--space-4) 0 var(--space-2)}.md-list{margin:0 0 var(--space-3);padding-left:var(--space-5);display:flex;flex-direction:column;gap:var(--space-1)}.md-list-ordered{list-style:decimal}.md ul,.md ol{margin:0 0 var(--space-3);padding-left:var(--space-5)}.md li{margin-bottom:var(--space-1)}.md ul li::marker{color:var(--enc-violet-bright)}.md-link,.md a{color:var(--enc-cyan);text-decoration:underline;text-underline-offset:2px}.md-link:hover,.md a:hover{color:var(--enc-cyan-dim)}.md-quote{margin:0 0 var(--space-3);padding:var(--space-3) var(--space-4);border-left:3px solid var(--enc-violet);background:var(--enc-violet-subtle);border-radius:0 var(--radius-md) var(--radius-md) 0;color:var(--enc-text-secondary);font-style:italic}.md-hr{border:none;border-top:1px solid var(--enc-bg-border);margin:var(--space-5) 0}.md-inline-code,.md code.inline{font-family:var(--font-mono);font-size:.9em;padding:1px 5px;border-radius:var(--radius-sm);background:var(--enc-bg-surface);border:1px solid var(--enc-bg-border);color:var(--enc-green)}.md-codeblock,.md .code-block{margin:var(--space-4) 0;border-radius:var(--radius-lg);border:1px solid var(--enc-bg-border);background:var(--enc-bg-surface);overflow:hidden}.md-codeblock-header,.md .code-block-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-5);background:var(--enc-bg-elevated);border-bottom:1px solid var(--enc-bg-border)}.md-codeblock-dots{display:flex;gap:var(--space-2)}.md-codeblock-dot{width:10px;height:10px;border-radius:50%}.md-codeblock-dot:nth-child(1){background:#ff5f57}.md-codeblock-dot:nth-child(2){background:#ffbd2e}.md-codeblock-dot:nth-child(3){background:var(--enc-green)}.md-codeblock-lang,.md .code-block-filename{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:700;letter-spacing:.04em;color:var(--enc-violet-bright);background:var(--enc-violet-subtle);border:1px solid rgba(139,92,246,.2);padding:2px var(--space-2);border-radius:var(--radius-sm)}.md-pre,.md .code-block-body{margin:0;padding:var(--space-5);overflow-x:auto;font-family:var(--font-mono);font-size:var(--text-base);line-height:var(--leading-relaxed);color:var(--enc-text-primary);white-space:pre;-moz-tab-size:2;tab-size:2}.settings-screen,.settings-page{min-height:100vh;display:flex;flex-direction:column;background:var(--enc-bg-base)}.settings-topbar{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-8);border-bottom:1px solid var(--enc-bg-border);background:#111318d9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:sticky;top:0;z-index:var(--z-raised)}.settings-back{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--enc-bg-border);border-radius:var(--radius-md);background:var(--enc-bg-surface);color:var(--enc-text-secondary);font-family:var(--font-mono);font-size:var(--text-base);font-weight:700;transition:border-color var(--transition-fast),color var(--transition-fast);text-decoration:none}.settings-back:hover{border-color:var(--enc-violet);color:var(--enc-violet-bright);text-decoration:none}.settings-topbar-title,.settings-heading{font-family:var(--font-display);font-weight:700;font-size:var(--text-lg);letter-spacing:-.01em;color:var(--enc-text-primary)}.settings-body{flex:1;overflow-y:auto;padding:var(--space-10) var(--space-8) var(--space-16)}.settings-inner{max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:var(--space-8)}.settings-content{max-width:760px;margin:0 auto;padding:var(--space-10) var(--space-8) var(--space-16);display:flex;flex-direction:column;gap:var(--space-8)}.settings-section{display:flex;flex-direction:column;gap:var(--space-4)}.settings-section-label{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--enc-text-muted)}.settings-panel,.settings-card{background:var(--enc-bg-surface);border:1px solid var(--enc-bg-border);border-radius:var(--radius-xl);overflow:hidden}.settings-card-danger,.settings-danger .settings-panel,.settings-danger .settings-card{border-color:#ff4d6d4d}.settings-card-header{display:flex;align-items:center;gap:var(--space-5);padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--enc-bg-border)}.settings-row{display:flex;align-items:center;gap:var(--space-5);padding:var(--space-5) var(--space-6)}.settings-row+.settings-row{border-top:1px solid var(--enc-bg-border)}.settings-row-main{flex:1;min-width:0}.settings-row-title{font-family:var(--font-mono);font-size:var(--text-base);font-weight:700;color:var(--enc-text-primary)}.settings-row-desc{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--enc-text-secondary);margin-top:2px;line-height:var(--leading-normal)}.settings-row-input{background:var(--enc-bg-base);border:1px solid var(--enc-bg-border);border-radius:var(--radius-md);padding:var(--space-2) var(--space-4);font-family:var(--font-mono);font-size:var(--text-base);color:var(--enc-text-primary);outline:none;min-width:220px;transition:border-color var(--transition-base),box-shadow var(--transition-base)}.settings-row-input:focus{border-color:var(--enc-violet);box-shadow:0 0 0 3px var(--enc-violet-subtle)}.settings-card-title{font-family:var(--font-display);font-weight:700;font-size:var(--text-xl);letter-spacing:-.01em;color:var(--enc-text-primary);padding:var(--space-5) var(--space-6) 0}.settings-card-subtitle{font-family:var(--font-ui);font-size:var(--text-sm);color:var(--enc-text-secondary);padding:var(--space-2) var(--space-6) 0;line-height:var(--leading-normal)}.settings-card-header .settings-card-title,.settings-card-header .settings-card-subtitle{padding:0}.settings-form{display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-5) var(--space-6)}.settings-actions{display:flex;justify-content:flex-end;gap:var(--space-3);padding:0 var(--space-6) var(--space-5)}.settings-mode-options{display:flex;gap:var(--space-2);flex-shrink:0}.settings-mode-opt{padding:var(--space-2) var(--space-4);border:1px solid var(--enc-bg-border);border-radius:var(--radius-md);background:transparent;color:var(--enc-text-secondary);font-family:var(--font-mono);font-size:var(--text-sm);font-weight:700;transition:all var(--transition-fast)}.settings-mode-opt.active{border-color:var(--enc-violet);color:var(--enc-violet-bright);background:var(--enc-violet-subtle)}.settings-modes{border:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.settings-modes legend{margin-bottom:var(--space-2);padding:0}.settings-mode-option{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"radio name" "radio desc";column-gap:var(--space-3);row-gap:2px;align-items:start;padding:var(--space-4) var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--enc-bg-border);background:var(--enc-bg-elevated);cursor:pointer;transition:border-color var(--transition-base),background var(--transition-base)}.settings-mode-option:hover{border-color:var(--enc-text-muted)}.settings-mode-option.active{border-color:var(--enc-violet);background:var(--enc-violet-subtle)}.settings-mode-option input{grid-area:radio;margin-top:3px;accent-color:var(--enc-violet)}.settings-mode-name{grid-area:name;font-family:var(--font-mono);font-size:var(--text-base);font-weight:700;color:var(--enc-text-primary)}.settings-mode-desc{grid-area:desc;font-family:var(--font-ui);font-size:var(--text-sm);color:var(--enc-text-secondary);line-height:var(--leading-normal)}.toggle{position:relative;width:46px;height:26px;border-radius:var(--radius-pill);background:var(--enc-bg-elevated);border:1px solid var(--enc-bg-border);flex-shrink:0;transition:background var(--transition-base),border-color var(--transition-base)}.toggle:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:var(--enc-text-secondary);transition:transform var(--transition-base),background var(--transition-base)}.toggle.on{background:var(--enc-violet-subtle);border-color:var(--enc-violet)}.toggle.on:after{transform:translate(20px);background:var(--enc-violet-bright)}.btn-danger-outline{padding:var(--space-2) var(--space-5);border:1px solid rgba(255,77,109,.45);border-radius:var(--radius-md);background:transparent;color:var(--enc-red);font-family:var(--font-mono);font-size:var(--text-sm);font-weight:700;flex-shrink:0;transition:background var(--transition-fast),border-color var(--transition-fast)}.btn-danger-outline:hover{background:#ff4d6d1a;border-color:var(--enc-red)}.settings-save-bar{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3)}.settings-hero{display:flex;align-items:center;gap:var(--space-5);padding-bottom:var(--space-8);border-bottom:1px solid var(--enc-bg-border)}.settings-hero-meta{flex:1;min-width:0}.settings-hero-name{font-family:var(--font-display);font-weight:800;font-size:var(--text-2xl);letter-spacing:-.02em;color:var(--enc-text-primary)}.settings-hero-email{font-family:var(--font-mono);font-size:var(--text-base);color:var(--enc-text-secondary);margin-top:var(--space-1)}@media (max-width: 640px){.settings-body,.settings-content{padding:var(--space-6) var(--space-4) var(--space-12)}.settings-topbar{padding:var(--space-4)}.settings-card-title,.settings-card-subtitle,.settings-form,.settings-actions{padding-left:var(--space-4);padding-right:var(--space-4)}.settings-row{padding:var(--space-4);flex-wrap:wrap}.settings-card-header{padding:var(--space-4)}}.settings-sub-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-5) var(--space-6) var(--space-2)}.settings-sub-plan{font-family:var(--font-display);font-weight:700;font-size:var(--text-lg);color:var(--enc-text-primary)}.settings-sub-status{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:2px var(--space-3);border-radius:var(--radius-pill)}.settings-sub-status-active{background:var(--enc-green-subtle);border:1px solid rgba(43,224,139,.25);color:var(--enc-green)}.settings-sub-status-past_due{background:#ffd60a1a;border:1px solid rgba(255,214,10,.25);color:var(--enc-yellow)}.settings-sub-status-canceled{background:var(--enc-bg-elevated);border:1px solid var(--enc-bg-border);color:var(--enc-text-muted)}.settings-sub-usage{padding:0 var(--space-6) var(--space-3);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--enc-text-secondary)}.settings-sub-cancel-notice{margin:0 var(--space-6) var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:#ffd60a0f;border-left:3px solid var(--enc-yellow);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--enc-yellow)}.settings-sub-actions{flex-wrap:wrap;gap:var(--space-3)}.settings-sub-actions .button{min-width:13rem}.pricing-page{min-height:100vh;display:flex;flex-direction:column;background:var(--enc-bg-base);padding-bottom:var(--space-16)}.pricing-header{display:flex;flex-direction:column;align-items:center;gap:var(--space-5);padding:var(--space-10) var(--space-6) var(--space-8);text-align:center;position:relative}.pricing-back{position:absolute;left:var(--space-6);top:var(--space-6);display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border:1px solid var(--enc-bg-border);border-radius:var(--radius-md);background:var(--enc-bg-surface);color:var(--enc-text-secondary);font-family:var(--font-mono);font-size:var(--text-sm);font-weight:700;text-decoration:none;transition:border-color var(--transition-fast),color var(--transition-fast)}.pricing-back:hover{border-color:var(--enc-violet);color:var(--enc-violet-bright);text-decoration:none}.pricing-headline{display:flex;flex-direction:column;gap:var(--space-2)}.pricing-title{font-family:var(--font-display);font-weight:800;font-size:var(--text-3xl);letter-spacing:-.03em;color:var(--enc-text-primary)}.pricing-subtitle{font-family:var(--font-mono);font-size:var(--text-base);color:var(--enc-text-secondary)}.pricing-current-notice{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap;justify-content:center;padding:var(--space-3) var(--space-5);border:1px solid rgba(139,92,246,.3);border-radius:var(--radius-lg);background:var(--enc-violet-subtle);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--enc-text-secondary)}.pricing-current-notice strong{color:var(--enc-violet-bright)}.pricing-manage-btn{padding:var(--space-2) var(--space-4);border:1px solid rgba(139,92,246,.4);border-radius:var(--radius-md);background:none;color:var(--enc-violet-bright);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:700;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast)}.pricing-manage-btn:hover:not(:disabled){background:#8b5cf61f;border-color:var(--enc-violet)}.pricing-manage-btn:disabled{opacity:.6;cursor:not-allowed}.pricing-interval-toggle{display:inline-flex;align-items:center;border:1px solid var(--enc-bg-border);border-radius:var(--radius-md);background:var(--enc-bg-surface);padding:var(--space-1);gap:var(--space-1)}.pricing-interval-btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border:none;border-radius:var(--radius-sm);background:none;color:var(--enc-text-secondary);font-family:var(--font-mono);font-size:var(--text-sm);font-weight:700;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.pricing-interval-btn.active{background:var(--enc-bg-elevated);color:var(--enc-text-primary)}.pricing-interval-btn:hover:not(.active){color:var(--enc-text-primary)}.pricing-interval-saving{font-size:var(--text-xs);color:var(--enc-green);background:var(--enc-green-subtle);border-radius:var(--radius-pill);padding:1px var(--space-2)}.pricing-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-5);max-width:1140px;margin:0 auto;padding:0 var(--space-6);width:100%;box-sizing:border-box}.pricing-card{display:flex;flex-direction:column;background:var(--enc-bg-surface);border:1px solid var(--enc-bg-border);border-radius:var(--radius-xl);overflow:hidden;min-width:0;transition:border-color var(--transition-base),box-shadow var(--transition-base)}.pricing-card:hover{border-color:#8b5cf659;box-shadow:0 0 24px var(--enc-violet-glow)}.pricing-card-highlight{border-color:#8b5cf680;box-shadow:0 0 32px var(--enc-violet-glow);background:linear-gradient(160deg,rgba(139,92,246,.07) 0%,var(--enc-bg-surface) 60%)}.pricing-card-current{border-color:#8b5cf680}.pricing-card-top{padding:var(--space-5) var(--space-5) var(--space-3)}.pricing-card-name-row{display:flex;align-items:flex-start;gap:var(--space-2);flex-wrap:wrap;margin-bottom:var(--space-4)}.pricing-card-name{font-family:var(--font-display);font-weight:800;font-size:var(--text-md);letter-spacing:-.02em;color:var(--enc-text-primary);line-height:1.2}.pricing-card-badge{flex-shrink:0;font-family:var(--font-mono);font-size:.55rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:3px var(--space-2);border-radius:var(--radius-pill);background:var(--enc-violet-subtle);border:1px solid rgba(139,92,246,.3);color:var(--enc-violet-bright);margin-top:2px}.pricing-card-badge-current{background:var(--enc-green-subtle);border-color:#2be08b40;color:var(--enc-green)}.pricing-card-price{margin-bottom:var(--space-3)}.pricing-card-price-free{font-family:var(--font-display);font-weight:700;font-size:var(--text-2xl);color:var(--enc-text-primary);display:block}.pricing-card-price-inner{display:flex;flex-direction:column;gap:2px}.pricing-card-amount-row{display:flex;align-items:baseline;gap:var(--space-1)}.pricing-card-amount{font-family:var(--font-display);font-weight:800;font-size:var(--text-2xl);letter-spacing:-.03em;color:var(--enc-text-primary);line-height:1}.pricing-card-currency{font-family:var(--font-display);font-weight:700;font-size:var(--text-lg);color:var(--enc-text-primary)}.pricing-card-meta-row{display:flex;align-items:center;gap:var(--space-2)}.pricing-card-per{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--enc-text-muted)}.pricing-card-discount{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:700;color:var(--enc-green);background:var(--enc-green-subtle);border-radius:var(--radius-pill);padding:1px var(--space-2)}.pricing-card-desc{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--enc-text-secondary);line-height:var(--leading-relaxed)}.pricing-card-features{list-style:none;padding:0 var(--space-5) var(--space-3);margin:0;flex:1;display:flex;flex-direction:column;gap:var(--space-2)}.pricing-card-feature{display:flex;align-items:flex-start;gap:var(--space-2);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--enc-text-secondary);line-height:var(--leading-relaxed)}.pricing-card-check{color:var(--enc-violet-bright);font-size:11px;flex-shrink:0;margin-top:3px}.pricing-card-cta-wrap{padding:var(--space-3) var(--space-5) var(--space-5)}.pricing-card-cta{display:block;width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--enc-bg-border);border-radius:var(--radius-md);background:var(--enc-bg-elevated);color:var(--enc-text-primary);font-family:var(--font-mono);font-size:var(--text-sm);font-weight:700;letter-spacing:.04em;text-align:center;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),transform var(--transition-fast),box-shadow var(--transition-fast)}.pricing-card-cta:hover:not(:disabled){background:var(--enc-bg-hover);border-color:var(--enc-violet)}.pricing-card-cta:disabled{opacity:.6;cursor:not-allowed}.pricing-card-cta-primary{background:var(--enc-violet-fill);border-color:var(--enc-violet-fill);color:#fff}.pricing-card-cta-primary:hover:not(:disabled){background:#8b6bff;border-color:#8b6bff;transform:translateY(-1px);box-shadow:0 0 20px var(--enc-violet-glow)}.pricing-card-cta-current{background:none;border-color:#8b5cf64d;color:var(--enc-violet-bright)}.pricing-card-cta-current:hover:not(:disabled){background:var(--enc-violet-subtle);border-color:var(--enc-violet)}.pricing-footer-note{text-align:center;margin-top:var(--space-8);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--enc-text-muted)}@media (max-width: 1024px){.pricing-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 640px){.pricing-grid{grid-template-columns:1fr;padding:0 var(--space-4)}.pricing-back{position:static;align-self:flex-start}.pricing-header{padding:var(--space-6) var(--space-4);gap:var(--space-4)}.pricing-title{font-size:var(--text-2xl)}}
