@import url("https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap");:root{--bg-body:#f1f5f9;--bg-surface:#ffffff;--bg-sidebar:#f8fafc;--bg-admin-sidebar:#0f172a;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#94a3b8;--accent-primary:#6366f1;--accent-hover:#4f46e5;--accent-light:#e0e7ff;--gradient-brand:linear-gradient(135deg,#6366f1,#a855f7 50%,#ec4899);--gradient-glow:linear-gradient(135deg,rgba(99,102,241,0.4),rgba(236,72,153,0.4));--border-color:#e2e8f0;--border-light:#f1f5f9;--shadow-sm:0 1px 2px 0 rgba(15,23,42,0.06);--shadow-md:0 10px 20px -12px rgba(15,23,42,0.16);--shadow-lg:0 28px 60px -34px rgba(15,23,42,0.28);--shadow-glow:0 14px 30px -10px rgba(99,102,241,0.45);--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-pill:999px;--transition-fast:0.2s cubic-bezier(0.4,0,0.2,1);--transition-smooth:0.3s cubic-bezier(0.16,1,0.3,1);--color-blue:#3b82f6;--color-blue-bg:rgba(59,130,246,0.1);--color-purple:#8b5cf6;--color-purple-bg:rgba(139,92,246,0.1);--color-orange:#f59e0b;--color-orange-bg:rgba(245,158,11,0.1);--color-green:#10b981;--color-green-bg:rgba(16,185,129,0.1);--color-red:#ef4444;--color-red-bg:rgba(239,68,68,0.1)}*{box-sizing:border-box}body,html{margin:0;min-height:100%}body{font-family:Inter,Segoe UI,sans-serif;color:var(--text-primary);background-color:var(--bg-body);background-image:radial-gradient(at 0 0,rgba(99,102,241,.08) 0,transparent 50%),radial-gradient(at 100% 0,rgba(236,72,153,.05) 0,transparent 50%),radial-gradient(at 100% 100%,rgba(168,85,247,.08) 0,transparent 50%);line-height:1.5;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer;border:none;background:none}ul{list-style:none;margin:0;padding:0}code{background:var(--border-light);color:var(--color-purple);padding:4px 8px;border-radius:8px;font-size:.86rem}.app-container{display:flex;min-height:100vh}.sidebar{width:280px;background-color:var(--bg-surface);border-right:1px solid var(--border-color);display:flex;flex-direction:column;padding:24px;z-index:10}.admin-sidebar{background-color:var(--bg-admin-sidebar);color:#e2e8f0;border-right:none}.logo,.logo-area{display:flex;align-items:center;gap:12px}.logo-area{margin-bottom:32px}.logo-icon{width:42px;height:42px;border-radius:var(--radius-md);background:var(--gradient-brand);color:white;display:flex;align-items:center;justify-content:center;font-size:.95rem;font-weight:800;box-shadow:var(--shadow-glow)}.admin-icon{background:linear-gradient(135deg,#10b981,#3b82f6)}.logo h2,.logo-area h2{margin:0;font-size:1.25rem;font-weight:700;letter-spacing:-.5px}.sidebar .logo h2,.sidebar .logo-area h2{background:var(--gradient-brand);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.admin-sidebar .logo-area h2{color:white;-webkit-text-fill-color:white;background:none}.auth-btn,.btn,.btn-outline,.copy-btn,.hero-links a,.hero-links button,.new-chat-btn,.summarize-btn{border-radius:var(--radius-pill);transition:var(--transition-smooth)}.new-chat-btn{width:100%;padding:14px 16px;background-color:var(--bg-surface);border:1px solid var(--border-color);color:var(--text-primary);font-weight:600;font-size:14px;box-shadow:var(--shadow-sm);margin-bottom:24px}.btn-outline:hover,.new-chat-btn:hover{border-color:var(--accent-primary);color:var(--accent-primary);box-shadow:var(--shadow-md);transform:translateY(-1px)}.nav-section{flex:1 1;overflow-y:auto}.spacer-section{flex:1 1}.section-title{font-size:11px;text-transform:uppercase;font-weight:600;color:var(--text-muted);letter-spacing:.5px;margin-bottom:12px;padding-left:8px}.admin-nav,.history-list{display:flex;flex-direction:column;gap:4px}.history-item,.nav-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--radius-md);color:var(--text-secondary);font-size:14px;cursor:pointer;transition:var(--transition-fast)}.history-item:hover,.nav-item:hover{background-color:var(--bg-body);color:var(--text-primary)}.history-item.active{background-color:var(--accent-light);color:var(--accent-primary);font-weight:600}.history-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-nav{margin-top:12px;flex:1 1}.admin-sidebar .nav-item{color:#94a3b8}.admin-sidebar .nav-item:hover{background-color:rgba(255,255,255,.05);color:white}.admin-sidebar .nav-item.active{background-color:var(--color-blue-bg);color:var(--color-blue);border-right:3px solid var(--color-blue)}.sidebar-links{display:grid;grid-gap:10px;gap:10px;margin:16px 0 20px}.nav-link-btn,.sidebar-links a{color:var(--text-secondary);font-size:14px;font-weight:600}.user-profile{margin-top:auto;display:flex;align-items:center;gap:12px;padding:12px;border-radius:var(--radius-md);background-color:var(--bg-body);border:1px solid transparent;transition:var(--transition-fast)}.user-profile:hover{border-color:var(--border-color);background-color:var(--bg-surface)}.admin-profile{background-color:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1)}.admin-profile:hover{background-color:rgba(255,255,255,.08)}.avatar,.profile-avatar{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;background:var(--accent-light);color:var(--accent-hover);flex-shrink:0}.profile-avatar{width:96px;height:96px;font-size:1.6rem;border:4px solid var(--border-light);box-shadow:var(--shadow-sm)}.user-info{flex:1 1;min-width:0}.user-name{margin:0;font-size:14px;font-weight:600;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-profile .user-name{color:white}.user-plan{margin:0;font-size:12px;color:var(--text-muted)}.admin-profile .user-plan{color:#94a3b8}.settings-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;color:var(--text-muted);font-size:13px}.main-content{flex:1 1;display:flex;flex-direction:column;overflow-y:auto}.topbar{display:flex;justify-content:space-between;align-items:center;padding:16px 40px;min-height:80px;gap:20px;flex-wrap:wrap}.breadcrumb,.breadcrumb h2{margin:0;font-size:14px;color:var(--text-secondary);font-weight:600}.topbar-actions{gap:12px}.topbar-actions,.topbar-user{display:flex;align-items:center}.topbar-user{gap:10px;padding:8px 12px;border-radius:var(--radius-pill);background:rgba(255,255,255,.65);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);max-width:260px}.topbar-avatar{width:32px;height:32px;font-size:.8rem}.topbar-user-info{min-width:0;display:grid;grid-gap:2px;gap:2px}.topbar-user-name,.topbar-user-role{margin:0;line-height:1.2}.topbar-user-name{font-size:13px;font-weight:700;color:var(--text-primary)}.topbar-user-name,.topbar-user-role{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.topbar-user-role{font-size:11px;color:var(--text-muted)}.icon-btn{min-width:36px;height:36px;border-radius:50%;color:var(--text-secondary);display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;background:rgba(255,255,255,.5)}.icon-btn:hover{background-color:rgba(0,0,0,.05);color:var(--text-primary)}.workspace{max-width:920px;width:100%;margin:0 auto;padding:20px 40px 80px}.admin-workspace{max-width:1180px}.settings-workspace{max-width:760px}.workspace-header{text-align:center;margin-bottom:40px;animation:fadeInDown .6s ease-out forwards}.workspace-header h1{margin:0 0 16px;font-size:clamp(2.2rem,4vw,3rem);font-weight:800;letter-spacing:-1px;line-height:1.15}.text-gradient{background:var(--gradient-brand);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.workspace-header p{margin:0 auto;max-width:660px;font-size:16px;color:var(--text-secondary)}.summary-preview-card{position:-webkit-sticky;position:sticky;top:18px;z-index:20;border-radius:var(--radius-xl);padding:24px;margin-bottom:24px;min-height:170px}.result-empty-state{display:grid;grid-gap:8px;gap:8px;padding:10px 0 4px}.result-empty-state h4{margin:0;font-size:16px}.result-empty-state p{margin:0;color:var(--text-muted);font-size:14px}.compact-loading{padding-top:8px}.compact-output{padding-top:4px}.compact-metrics{margin:18px 0 0;grid-template-columns:repeat(2,minmax(0,1fr))}.editor-card,.panel,.result-area,.settings-card,.stat-card,.summary-preview-card{background:rgba(255,255,255,.88);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.5);box-shadow:var(--shadow-lg)}.editor-card{border-radius:var(--radius-xl);overflow:hidden;margin-bottom:24px}.editor-tabs{display:flex;border-bottom:1px solid var(--border-color);padding:0 12px;background-color:rgba(248,250,252,.6)}.tab-btn{padding:16px 20px;font-size:14px;font-weight:500;color:var(--text-secondary);position:relative}.tab-btn.active{color:var(--accent-primary)}.tab-btn.active:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background-color:var(--accent-primary)}.editor-body{padding:24px}.input-panel{display:grid;grid-gap:16px;gap:16px}.form-group input,.form-group select,.input-group input,.title-input,.url-wrapper input{width:100%;padding:14px 16px;border:1px solid var(--border-color);border-radius:var(--radius-md);background-color:var(--bg-body);color:var(--text-primary);outline:none;transition:var(--transition-fast)}.form-group input:focus,.form-group select:focus,.input-group input:focus,.title-input:focus,.url-wrapper input:focus,select:focus,textarea:focus{border-color:var(--accent-primary);box-shadow:0 0 0 4px rgba(99,102,241,.1);background-color:var(--bg-surface)}textarea{width:100%;min-height:220px;border:none;background:transparent;resize:vertical;color:var(--text-primary);line-height:1.65;outline:none}.textarea-footer{display:flex;justify-content:space-between;align-items:center;margin-top:4px;padding-top:12px;border-top:1px solid var(--border-light)}.auth-footer,.danger-info p,.drop-desc,.form-header p,.panel-note,.profile-actions p,.rating-note,.word-count{color:var(--text-muted);font-size:14px}.clear-btn{color:var(--text-secondary);font-size:13px;font-weight:600}.dropzone{border:2px dashed var(--border-color);border-radius:var(--radius-lg);background-color:rgba(248,250,252,.6);padding:40px 20px;text-align:center}.drop-icon{width:64px;height:64px;margin:0 auto 16px;border-radius:18px;background:var(--accent-light);color:var(--accent-hover);display:flex;align-items:center;justify-content:center;font-weight:800}.drop-title{margin:0 0 8px;font-size:16px;font-weight:600}.url-wrapper{display:flex;align-items:center;gap:12px;background-color:var(--bg-body);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:0 16px}.input-prefix,.url-wrapper span{color:var(--text-muted);font-weight:700}.input-wrapper{position:relative;display:flex;align-items:center}.input-prefix{position:absolute;left:16px}.input-wrapper input{padding-left:42px}.action-bar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:32px;animation:fadeInUp .5s ease-out .3s backwards}.settings-group{display:flex;gap:24px;align-items:flex-end;flex-wrap:wrap}.setting-item{display:flex;flex-direction:column;gap:8px}.form-group label,.input-group label,.setting-item label{font-size:13px;font-weight:600;color:var(--text-secondary)}.segmented-control{display:inline-flex;background-color:var(--border-light);padding:4px;border-radius:var(--radius-pill);border:1px solid var(--border-color)}.segment{padding:6px 16px;border-radius:var(--radius-pill);color:var(--text-secondary);font-size:14px}.segment.active{color:var(--text-primary)}.segment.active,.select-box{background-color:var(--bg-surface);box-shadow:var(--shadow-sm)}.select-box{position:relative;border:1px solid var(--border-color);border-radius:var(--radius-md)}.select-box select{padding:10px 16px;border:none;background:transparent;outline:none;min-width:220px}.auth-btn,.btn-primary,.summarize-btn{background:var(--gradient-brand);color:white;padding:16px 28px;font-weight:600;box-shadow:var(--shadow-glow)}.auth-btn:hover,.btn-primary:hover,.summarize-btn:hover{transform:translateY(-2px)}.inline-error{margin:0 0 16px;color:var(--color-red);font-size:14px;font-weight:600}.result-area{border-radius:var(--radius-xl);padding:32px;min-height:360px}.mini-header,.panel-header,.result-header{display:flex;justify-content:space-between;align-items:center;gap:12px}.result-header{margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border-light)}.form-section-title h3,.mini-header h4,.panel-header h3,.profile-actions h3,.result-header h3{margin:0;font-size:18px;font-weight:600}.result-actions{display:flex;gap:10px;align-items:center}.btn-outline,.btn-primary-outline,.copy-btn{padding:10px 16px;border:1px solid var(--border-color);background:var(--bg-surface);color:var(--text-secondary);font-size:14px;font-weight:600}.btn-primary-outline{color:var(--accent-primary);border-color:var(--accent-primary)}.star-rating{display:flex;gap:4px}.star-icon{width:28px;height:28px;border-radius:50%;color:#fbbf24;background:transparent;font-size:18px}.star-icon.filled{color:#f59e0b}.loading-state{text-align:center;padding:20px 0}.spinner-container{width:48px;height:48px;margin:0 auto 16px}.spinner{width:100%;height:100%;border-radius:50%;border:3px solid var(--accent-light);border-top-color:var(--accent-primary);animation:spin 1s linear infinite}.loading-state p{color:var(--text-secondary);font-size:14px;font-weight:500;margin-bottom:24px}.skeleton-lines{display:flex;flex-direction:column;gap:12px;text-align:left}.skeleton{height:14px;border-radius:4px;background:linear-gradient(90deg,#f1f5f9 25%,#e2e8f0 50%,#f1f5f9 75%);background-size:200% 100%;animation:skeletonShimmer 1.5s infinite}.line{width:100%}.x-long{width:92%}.long{width:84%}.medium{width:60%}.summary-bullets{padding-left:18px}.summary-paragraph{line-height:1.8;color:var(--text-primary);font-size:15px;margin:0;white-space:pre-wrap}.summary-bullets li{position:relative;margin-bottom:12px;padding-left:10px;line-height:1.7}.summary-bullets li:before{content:"•";position:absolute;left:-14px;top:-1px;color:var(--accent-primary);font-size:22px}.metrics-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:14px;gap:14px;margin:24px 0}.metric-chip{padding:16px;border-radius:var(--radius-lg);background:rgba(241,245,249,.8);border:1px solid var(--border-color)}.metric-chip span{display:block;color:var(--text-muted);font-size:12px;margin-bottom:6px}.metric-chip strong{font-size:16px}.btn-group,.chart-grid,.dashboard-row,.form-row,.input-row,.result-subgrid,.section-stack,.stats-cards{display:grid;grid-gap:20px;gap:20px}.chart-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.chart-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-row,.result-subgrid{grid-template-columns:1.6fr 1fr}.feedback-card,.panel,.settings-card,.stat-card,.transcript-card{border-radius:var(--radius-lg);border:1px solid var(--border-color);padding:24px}.chart-card-panel{min-height:280px}.panel-subtitle{margin:4px 0 0;color:var(--text-muted);font-size:13px}.mini-metric-grid{display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.mini-metric-card{padding:16px;border-radius:var(--radius-lg);background:rgba(241,245,249,.75);border:1px solid var(--border-color)}.mini-metric-card span{display:block;color:var(--text-muted);font-size:12px;margin-bottom:6px}.mini-metric-card strong{font-size:18px}.mini-metric-card p{margin:6px 0 0;font-size:12px}.empty-state{margin:0;color:var(--text-muted);font-size:14px}.message-list{display:grid;grid-gap:12px;gap:12px;margin-top:16px}.message-bubble{border-radius:16px;padding:14px;border:1px solid var(--border-color)}.message-bubble.user{background:rgba(99,102,241,.06)}.message-bubble.assistant{background:rgba(16,185,129,.06)}.message-row{display:flex;justify-content:space-between;gap:12px;font-size:12px;color:var(--text-muted);margin-bottom:8px}.empty-output,.message-bubble p{margin:0;white-space:pre-wrap}.feedback-textarea{min-height:160px;padding:16px;border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--bg-body)}.save-rating-btn{margin-top:14px}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:20px;gap:20px;margin-bottom:24px}.stat-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.stat-icon{width:44px;height:44px;border-radius:12px;display:flex;justify-content:center;align-items:center;font-size:14px;font-weight:700}.b-blue{background:var(--color-blue-bg);color:var(--color-blue)}.b-purple{background:var(--color-purple-bg);color:var(--color-purple)}.b-orange{background:var(--color-orange-bg);color:var(--color-orange)}.b-green{background:var(--color-green-bg);color:var(--color-green)}.trend{padding:4px 8px;border-radius:20px;font-size:12px;font-weight:600}.trend.positive{background:var(--color-green-bg);color:var(--color-green)}.trend.negative{background:var(--color-red-bg);color:var(--color-red)}.trend.neutral{background:var(--border-light);color:#64748b}.stat-card h3{margin:0 0 4px;font-size:28px;font-weight:700}.stat-card p{margin:0;font-size:14px;color:var(--text-muted);font-weight:500}.mock-chart{height:220px;display:flex;align-items:flex-end;justify-content:space-around;padding-top:20px;border-bottom:1px dashed var(--border-color)}.bar-col{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;width:10%;height:100%;gap:8px}.bar-col.wide{width:auto;flex:1 1}.bar{width:100%;border-radius:6px 6px 0 0;background:var(--gradient-brand);animation:growUp 1s ease-out forwards;transform-origin:bottom}.bar.b-blue,.hbar-fill.b-blue{background:linear-gradient(135deg,#3b82f6,#60a5fa)}.bar.b-purple,.hbar-fill.b-purple{background:linear-gradient(135deg,#8b5cf6,#a855f7)}.bar.b-orange,.hbar-fill.b-orange{background:linear-gradient(135deg,#f59e0b,#fb7185)}.bar.b-green,.hbar-fill.b-green{background:linear-gradient(135deg,#10b981,#22c55e)}.label{font-size:12px;color:var(--text-muted)}.chart-value{font-size:12px;color:var(--text-secondary);font-weight:600}.horizontal-chart{display:grid;grid-gap:14px;gap:14px}.hbar-row{display:grid;grid-gap:8px;gap:8px}.hbar-label-row{display:flex;justify-content:space-between;gap:12px;color:var(--text-secondary);font-size:13px;font-weight:600}.hbar-track{height:10px;background:var(--border-light);border-radius:999px;overflow:hidden}.hbar-fill{height:100%;border-radius:inherit}.resource-list{display:grid;grid-gap:20px;gap:20px}.res-info{display:flex;justify-content:space-between;gap:12px;font-size:13px;font-weight:600;color:var(--text-secondary);margin-bottom:8px}.progress-bg{width:100%;height:8px;background:var(--border-light);border-radius:8px;overflow:hidden}.progress{height:100%}.table-responsive{overflow-x:auto}.data-table{width:100%;border-collapse:collapse;text-align:left}.data-table th{padding:12px 16px;border-bottom:2px solid var(--border-color);color:var(--text-muted);font-size:12px;text-transform:uppercase;letter-spacing:.5px}.data-table td{padding:16px;border-bottom:1px solid var(--border-light);color:var(--text-primary);font-size:14px;font-weight:500;vertical-align:top}.action-cell{display:flex;gap:8px;flex-wrap:wrap}.status-badge{display:inline-flex;align-items:center;justify-content:center;padding:4px 10px;border-radius:20px;font-size:12px;font-weight:700}.status-badge.success{background:var(--color-green-bg);color:var(--color-green)}.status-badge.error{background:var(--color-red-bg);color:var(--color-red)}.badge{font-size:10px;background:#dc2626;color:white;padding:2px 6px;border-radius:4px;letter-spacing:1px;text-transform:uppercase}.status-indicator{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;color:var(--color-green);background-color:var(--color-green-bg);padding:6px 12px;border-radius:20px}.dot{width:8px;height:8px;background-color:var(--color-green);border-radius:50%}.admin-top-nav{display:flex;gap:8px;background:rgba(241,245,249,.5);padding:4px;border-radius:var(--radius-lg);margin:0 16px}.top-nav-item{padding:8px 16px;border-radius:var(--radius-md);font-size:13px;font-weight:600;color:var(--text-secondary);transition:all .2s;white-space:nowrap}.top-nav-item:hover{background:rgba(0,0,0,.05);color:var(--text-primary)}.top-nav-item.active{background:white;color:var(--accent-primary);box-shadow:var(--shadow-sm)}.admin-sidebar{justify-content:space-between}.admin-sidebar,.upload-zone{display:flex;flex-direction:column}.upload-zone{position:relative;align-items:center;justify-content:center;padding:40px 20px;border:2px dashed rgba(0,102,255,.2);border-radius:20px;background:rgba(255,255,255,.03);cursor:pointer;transition:all .4s cubic-bezier(.175,.885,.32,1.275);overflow:hidden;margin-bottom:20px}.upload-zone:hover{border-color:var(--brand-blue);background:rgba(0,102,255,.05);transform:translateY(-2px);box-shadow:0 10px 30px rgba(0,102,255,.1)}.upload-zone.dragging{border-color:var(--brand-blue);background:rgba(0,102,255,.1);border-style:solid;transform:scale(1.02);box-shadow:0 0 20px rgba(0,102,255,.2)}.upload-icon-wrapper{width:64px;height:64px;background:linear-gradient(135deg,var(--brand-blue),#00c6ff);border-radius:16px;display:flex;align-items:center;justify-content:center;margin-bottom:16px;color:white;box-shadow:0 8px 16px rgba(0,102,255,.3);transition:transform .3s ease}.upload-zone:hover .upload-icon-wrapper{transform:rotate(-5deg) scale(1.1)}.upload-svg{width:32px;height:32px}.upload-main-text{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin-bottom:8px;text-align:center}.upload-sub-text{font-size:.9rem;color:var(--text-muted);text-align:center}.upload-zone.loading{pointer-events:none;border-color:var(--brand-blue);background:var(--bg-hover)}.loading-bar-container{position:absolute;bottom:0;left:0;width:100%;height:4px;background:rgba(0,102,255,.1)}.loading-bar-fill{height:100%;background:var(--brand-blue);width:0;animation:loading-fill 2s ease-in-out infinite}@keyframes loading-fill{0%{width:0;left:0}50%{width:40%;left:30%}to{width:0;left:100%}}.text-error{color:#ff4d4f!important;font-weight:700;animation:shake .4s ease-in-out}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}.input-panel textarea.main-textarea{min-height:250px}.view-switcher{display:flex;margin-bottom:24px;background:rgba(241,245,249,.5);padding:4px;border-radius:var(--radius-lg);gap:4px}.view-btn{flex:1 1;padding:10px;border-radius:var(--radius-md);font-size:14px;font-weight:600;color:var(--text-secondary);transition:all .2s}.view-btn.active{background:white;color:var(--accent-primary);box-shadow:var(--shadow-sm)}.history-view-container{display:flex;flex-direction:column;gap:24px;animation:fadeIn .3s ease-out}.history-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:20px;gap:20px}.conversation-card{background:white;border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:20px;display:flex;flex-direction:column;gap:12px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);position:relative}.conversation-card:hover{transform:translateY(-4px);border-color:var(--accent-light);box-shadow:0 12px 24px rgba(0,0,0,.04)}.card-header{display:flex;justify-content:space-between;align-items:flex-start}.card-title{font-weight:700;font-size:16px;margin:0;color:var(--text-primary);display:-webkit-box;-webkit-line-clamp:1;line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.card-date{font-size:12px;color:var(--text-muted)}.card-preview{font-size:14px;color:var(--text-secondary);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:0}.card-footer{margin-top:auto;padding-top:12px;border-top:1px solid var(--border-light);display:flex;justify-content:space-between;align-items:center}.card-delete-btn{color:var(--color-red);font-size:12px;font-weight:600;opacity:.6;transition:opacity .2s}.card-delete-btn:hover{opacity:1}.detail-view-header{display:flex;align-items:center;gap:16px;margin-bottom:24px}.back-btn{padding:8px 12px;background:white;border:1px solid var(--border-color);border-radius:var(--radius-md)}.exchange-list{display:flex;flex-direction:column;gap:32px}.exchange-box{background:white;border:1px solid var(--border-color);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-sm)}.exchange-prompt{background:rgba(var(--accent-primary-rgb),.03);padding:20px 24px;border-bottom:1px solid var(--border-light);max-height:400px;overflow-y:auto}.exchange-prompt label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--accent-primary);font-weight:700;margin-bottom:8px;position:-webkit-sticky;position:sticky;top:-20px;background:inherit;padding:4px 0;z-index:1}.exchange-prompt p{margin:0;font-size:15px;line-height:1.6;color:var(--text-primary);white-space:pre-wrap;word-wrap:break-word;overflow-wrap:break-word}.exchange-result{padding:24px}.exchange-result label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--color-green);font-weight:700;margin-bottom:12px}.exchange-metrics{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px;padding-top:16px;border-top:1px dashed var(--border-color)}.mini-chip{padding:6px 10px;background:#f8fafc;border-radius:6px;font-size:12px;color:var(--text-secondary)}.mini-chip strong{color:var(--text-primary);margin-left:4px}.logout-name{color:#ef4444!important}.auth-container{display:flex;min-height:100vh}.auth-banner{flex:1.2 1;background-color:#0f172a;color:white;padding:60px;position:relative;overflow:hidden;display:flex;align-items:center}.register-banner .circle-1{background:linear-gradient(135deg,#10b981,#3b82f6)}.register-banner .circle-2{background:linear-gradient(135deg,#f59e0b,#ef4444)}.auth-banner:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at center,rgba(255,255,255,.06) 1px,transparent 0);background-size:20px 20px;opacity:.3}.banner-content{position:relative;z-index:2;max-width:540px}.banner-content h1{margin:0 0 24px;font-size:clamp(2.5rem,4vw,3.4rem);font-weight:800;line-height:1.15;letter-spacing:-1px}.banner-content p{margin:0 0 40px;font-size:18px;line-height:1.6;color:#cbd5e1}.btn-group,.stats-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.stats-cards .stat-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);box-shadow:none}.stats-cards .stat-card h3{color:#818cf8}.stats-cards .stat-card p{color:#94a3b8}.circle-decoration{position:absolute;border-radius:50%;filter:blur(90px);opacity:.55}.circle-1{width:400px;height:400px;background:var(--gradient-brand);top:-100px;right:-100px}.circle-2{width:300px;height:300px;background:linear-gradient(135deg,#3b82f6,#06b6d4);bottom:-60px;left:10%}.auth-form-wrapper{flex:1 1;background-color:var(--bg-surface);display:flex;align-items:center;justify-content:center;padding:40px;box-shadow:-20px 0 40px rgba(15,23,42,.06)}.form-container{width:100%;max-width:440px;animation:fadeInUp .5s ease-out}.back-btn{color:var(--text-secondary);font-weight:600;font-size:14px;display:inline-flex;margin-bottom:24px}.form-header{margin-bottom:28px}.form-header h2{margin:0 0 8px;font-size:28px;font-weight:700}.google-signin-wrapper{display:flex;justify-content:center;margin-bottom:4px}.google-btn-container{width:100%;display:flex;justify-content:center}.google-btn-container>div{width:100%!important}.auth-divider{display:flex;align-items:center;gap:16px;margin:4px 0 8px;color:var(--text-secondary);font-size:13px;font-weight:500;letter-spacing:.5px;text-transform:lowercase}.auth-divider:after,.auth-divider:before{content:"";flex:1 1;height:1px;background:linear-gradient(to right,transparent,var(--border-color),transparent)}.auth-form{display:flex;flex-direction:column;gap:20px}.form-row,.input-row{grid-template-columns:repeat(2,minmax(0,1fr))}.input-group{display:flex;flex-direction:column;gap:8px}.form-options{justify-content:space-between;gap:12px}.form-options,.remember-me{display:flex;align-items:center}.remember-me{gap:8px;color:var(--text-secondary);font-size:14px}.remember-me.wide{align-items:flex-start}.forgot-pw{font-size:14px;color:var(--accent-primary);font-weight:600}.auth-footer{margin-top:28px;text-align:center}.auth-footer a{color:var(--accent-primary);font-weight:700}.settings-card{padding:40px}.profile-header{display:flex;align-items:center;gap:32px}.separator{border:0;border-top:1px solid var(--border-light);margin:32px 0}.form-section-title{margin-bottom:24px}.danger-zone{display:flex;justify-content:space-between;align-items:center;gap:20px;background:rgba(239,68,68,.05);border:1px dashed rgba(239,68,68,.3);padding:24px;border-radius:var(--radius-lg)}.logout-profile{width:100%}.btn-danger{padding:12px 18px;border-radius:var(--radius-md);background:#ef4444;color:white;font-weight:600}.btn-danger:hover{background:#dc2626}.app-loading,.auth-redirect-shell{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px}.auth-redirect-card{width:min(620px,100%);border-radius:var(--radius-xl);padding:32px;background:rgba(255,255,255,.92);border:1px solid rgba(255,255,255,.6);box-shadow:var(--shadow-lg)}.auth-redirect-card h1{margin:0 0 12px;font-size:2rem;line-height:1.15}.auth-redirect-card p{margin:0 0 24px;color:var(--text-secondary)}.hero-links{display:flex;gap:12px;flex-wrap:wrap}.hero-links a,.hero-links button{padding:12px 18px;background:var(--gradient-brand);color:white;font-weight:600;box-shadow:var(--shadow-glow)}.hero-links a:hover,.hero-links button:hover{transform:translateY(-2px)}.toast-notification{position:fixed;left:50%;bottom:36px;transform:translateX(-50%) translateY(120%);padding:12px 22px;border-radius:var(--radius-pill);background:#0f172a;color:white;box-shadow:var(--shadow-lg);transition:transform .25s ease,opacity .25s ease;opacity:0;z-index:1000}.toast-notification.show{transform:translateX(-50%) translateY(0);opacity:1}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes skeletonShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes growUp{0%{transform:scaleY(0)}to{transform:scaleY(1)}}@keyframes pulseAnim{0%{box-shadow:0 0 0 0 rgba(16,185,129,.7)}70%{box-shadow:0 0 0 6px rgba(16,185,129,0)}to{box-shadow:0 0 0 0 rgba(16,185,129,0)}}@media (max-width:1100px){.chart-grid-2,.chart-grid-3,.dashboard-row,.result-subgrid{grid-template-columns:1fr}}@media (max-width:900px){.app-container,.auth-container{flex-direction:column}.sidebar{width:100%;border-right:none;border-bottom:1px solid var(--border-color)}.auth-banner{display:none}.settings-workspace,.workspace{padding:20px 20px 48px}.topbar{padding:16px 20px}.action-bar,.danger-zone,.profile-header{flex-direction:column;align-items:stretch}.form-row,.input-row,.metrics-strip,.mini-metric-grid,.stats-cards{grid-template-columns:1fr}}.hamburger-btn{display:none;font-size:24px;color:var(--text-primary);margin-right:16px;padding:4px 8px;cursor:pointer;border-radius:8px;transition:background-color .2s}.hamburger-btn:hover{background-color:var(--bg-body)}.sidebar-backdrop{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.4);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:90}@media (max-width:1024px){.hamburger-btn{display:block}.sidebar{position:fixed;top:0;left:0;height:100vh;transform:translateX(-100%);transition:transform var(--transition-smooth);z-index:100}.sidebar-open .sidebar{transform:translateX(0);box-shadow:var(--shadow-lg)}.sidebar-open .sidebar-backdrop{display:block}.main-content{width:100%!important;margin-left:0!important}.workspace{padding:20px 16px}.workspace-header h1{font-size:1.8rem}}@media (max-width:768px){.topbar{padding:12px 16px}.topbar-user-info{display:none}.settings-group{flex-direction:column!important;align-items:stretch!important;gap:16px}.setting-item{width:100%!important}.segmented-control{width:100%}.segment{flex:1 1;text-align:center}.metrics-strip{display:grid!important;grid-template-columns:1fr 1fr!important;grid-gap:10px!important;gap:10px!important;height:auto!important;padding:12px 0!important}.metric-chip{width:100%;justify-content:center;border-right:none!important}.action-bar{flex-direction:column!important;gap:24px;align-items:stretch!important}.main-actions{width:100%}.main-actions .primary-btn{width:100%;justify-content:center}}@media (max-width:640px){.history-grid{grid-template-columns:1fr!important}.exchange-box{padding:16px}.exchange-metrics{flex-direction:column!important;gap:8px}.result-subgrid{grid-template-columns:1fr!important}.logo h2{font-size:1.1rem}.composer-card .tabs{flex-wrap:wrap}.tab-btn{flex:1 1;min-width:120px}}.title-with-icon{display:flex;align-items:center;gap:12px}.title-with-icon h3{margin:0}.chart-body{padding:16px 0 0;min-height:160px}.svg-chart-container{position:relative;width:100%}.chart-x-axis{display:flex;justify-content:space-between;padding-top:8px;font-size:11px;color:var(--text-muted)}.sparkline{filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.donut-container{display:flex;align-items:center;gap:24px}.donut{transform:rotate(-90deg)}.donut-number{fill:var(--text-primary);font-size:.5rem;font-weight:800;text-anchor:middle;transform:rotate(90deg);transform-origin:center}.donut-label{fill:var(--text-muted);font-size:.2rem;text-anchor:middle;transform:rotate(90deg) translateY(4px);transform-origin:center}.donut-legend{display:flex;flex-direction:column;gap:8px;flex:1 1}.legend-item{display:flex;align-items:center;gap:8px;font-size:13px}.legend-item .dot{width:8px;height:8px;border-radius:50%}.legend-item .label{flex:1 1;color:var(--text-secondary)}.legend-item .value{font-weight:700;color:var(--text-primary)}.mini-metric-card p{margin:4px 0 0;font-size:11px;color:var(--text-muted)}.stat-card .panel-subtitle{display:block;margin-top:8px;font-size:12px}.text-secondary{color:var(--text-secondary)}.mr-2{margin-right:8px}.modal-overlay-bg{position:fixed;inset:0;background:rgba(0,0,0,.5);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1040;animation:fadeIn .2s ease-out forwards}.modal-overlay-bg.closing{animation:fadeOut .2s ease-in forwards}.modal-container-wrapper{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:1050;pointer-events:none}.modal-content{pointer-events:auto;background:#ffffff;color:#1f2937;border-radius:16px;width:70%;max-width:900px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px rgba(0,0,0,.5);animation:zoomIn .25s cubic-bezier(.16,1,.3,1) forwards}.modal-content.closing{animation:zoomOut .2s ease-in forwards}.modal-header{padding:1.5rem 2rem;justify-content:space-between;border-bottom:1px solid #e5e7eb}.btn-icon,.modal-header{display:flex;align-items:center}.btn-icon{background:transparent;border:none;color:#6b7280;cursor:pointer;padding:6px;border-radius:8px;justify-content:center;transition:all .2s}.btn-icon:hover{background:#f3f4f6;color:#111827}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes zoomIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes zoomOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}