:root{--bg-primary:#050508;--bg-secondary:#111117;--bg-card:#161620bf;--bg-card-hover:#232332cc;--bg-input:#1e1e2db3;--bg-hover:#32324699;--border:#ffffff0f;--border-light:#ffffff1a;--border-glow:#ff375f26;--accent:#ff2d55;--accent-rgb:255, 45, 85;--accent-glow:#ff2d5526;--accent-hover:#ff5177;--accent-dim:#ff2d5533;--accent-gradient:linear-gradient(135deg, #ff2d55, #ff6b8a, #ff2d55);--success:#34d399;--success-bg:#34d3991f;--warning:#fbbf24;--danger:#f43f5e;--purple:#a855f7;--blue:#3b82f6;--text-primary:#f0f0f5;--text-secondary:#f0f0f5b8;--text-muted:#f0f0f552;--radius:16px;--radius-sm:12px;--radius-lg:20px;--font:"Inter", -apple-system, BlinkMacSystemFont, "SF Pro Display", system-ui, sans-serif;--shadow:0 4px 24px #0000004d;--shadow-lg:0 8px 40px #0006;--shadow-glow:0 0 30px #ff2d5526;--ios-inset:16px;--glass-bg:#12121ca6;--glass-border:#ffffff14;--glass-blur:24px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;margin:0;padding:0}html{font-family:var(--font);background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;font-size:16px;overflow-x:hidden}body{font-family:var(--font);background:var(--bg-primary);color:var(--text-primary);overscroll-behavior-y:none;min-height:100dvh;position:relative}body:before{content:"";z-index:-1;background:radial-gradient(ellipse 80% 50% at 20% 20%, #ff2d5514, transparent 60%), radial-gradient(ellipse 60% 60% at 80% 30%, #a855f70f, transparent 50%), radial-gradient(ellipse 80% 40% at 50% 80%, #3b82f60d, transparent 60%), var(--bg-primary);animation:12s ease-in-out infinite alternate meshPulse;position:fixed;inset:0}@keyframes meshPulse{0%{background:radial-gradient(ellipse 80% 50% at 20% 20%, #ff2d5514, transparent 60%), radial-gradient(ellipse 60% 60% at 80% 30%, #a855f70f, transparent 50%), radial-gradient(ellipse 80% 40% at 50% 80%, #3b82f60d, transparent 60%), var(--bg-primary)}50%{background:radial-gradient(ellipse 70% 60% at 30% 35%, #ff2d551a, transparent 60%), radial-gradient(ellipse 70% 50% at 70% 50%, #a855f714, transparent 50%), radial-gradient(ellipse 60% 50% at 40% 70%, #3b82f60f, transparent 60%), var(--bg-primary)}to{background:radial-gradient(ellipse 60% 70% at 40% 25%, #ff2d5512, transparent 60%), radial-gradient(ellipse 80% 40% at 60% 40%, #a855f70d, transparent 50%), radial-gradient(ellipse 70% 60% at 60% 85%, #3b82f612, transparent 60%), var(--bg-primary)}}.app-container{max-width:600px;padding:0 var(--ios-inset);padding-top:env(safe-area-inset-top,0px);padding-bottom:calc(80px + env(safe-area-inset-bottom,20px));min-height:100dvh;margin:0 auto}.app-header{justify-content:space-between;align-items:flex-end;margin-bottom:8px;padding:16px 0 20px;display:flex}.app-title{letter-spacing:-.04em;background:linear-gradient(135deg,#fff 0%,#ffffffb3 50%,#ff2d55 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:2rem;font-weight:800;line-height:1.1}.app-subtitle{color:var(--text-muted);letter-spacing:.02em;margin-top:4px;font-size:.8rem;font-weight:400}.drop-zone{border-radius:var(--radius);text-align:center;cursor:pointer;background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1.5px dashed #ffffff1a;margin-bottom:16px;padding:24px 20px;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.drop-zone:before{content:"";border-radius:inherit;opacity:0;background:linear-gradient(135deg,#ff2d550d,#0000 50%,#a855f708);transition:opacity .3s;position:absolute;inset:0}.drop-zone:hover:before,.drop-zone.dragover:before{opacity:1}.drop-zone:hover,.drop-zone.dragover{border-color:var(--accent);box-shadow:0 0 30px rgba(var(--accent-rgb), .1), inset 0 0 30px rgba(var(--accent-rgb), .03);transform:translateY(-1px)}.drop-zone.processing{border-color:var(--accent);background:var(--accent-glow);pointer-events:none}.drop-zone-icon{margin-bottom:6px;font-size:1.8rem}.drop-zone-text{color:var(--text-secondary);font-size:.82rem;line-height:1.5}.drop-zone-text strong{color:var(--accent)}.drop-zone-hint{color:var(--text-muted);margin-top:4px;font-size:.7rem}.drop-zone .spinner-text{color:var(--accent);justify-content:center;align-items:center;gap:8px;font-size:.82rem;font-weight:500;display:none}.drop-zone.processing .spinner-text{display:flex}.drop-zone.processing .drop-zone-default{display:none}.contacts-grid{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border-radius:var(--radius);border:1px solid var(--glass-border);box-shadow:var(--shadow);flex-direction:column;gap:0;margin-bottom:20px;display:flex;overflow:hidden}.contact-card{border:none;border-bottom:.5px solid var(--border);cursor:pointer;color:inherit;background:0 0;align-items:center;gap:12px;min-height:60px;padding:12px 16px;text-decoration:none;transition:background .15s;display:flex}.contact-card:last-child{border-bottom:none}.contact-card:active{background:var(--bg-hover)}.contact-avatar{color:#fff;width:42px;height:42px;box-shadow:0 2px 12px rgba(var(--accent-rgb), .25);letter-spacing:-.02em;background:linear-gradient(135deg,#ff2d55,#a855f7,#3b82f6) 0 0/200% 200%;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1rem;font-weight:700;animation:4s infinite avatarGradient;display:flex}@keyframes avatarGradient{0%,to{background-position:0%}50%{background-position:100%}}.contact-info{flex:1;min-width:0}.contact-name{letter-spacing:-.01em;margin-bottom:2px;font-size:.95rem;font-weight:600}.contact-meta{color:var(--text-muted);align-items:center;gap:6px;font-size:.72rem;display:flex}.contact-platform{color:var(--accent);background:#ff375f1a;border-radius:4px;padding:2px 6px;font-size:.62rem;font-weight:600}.contact-reply-rate{font-size:.68rem;font-weight:600}.contact-reply-rate.good{color:var(--success)}.contact-reply-rate.mid{color:var(--warning)}.contact-reply-rate.bad{color:var(--danger)}.contact-last-msg{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:.78rem;overflow:hidden}.contact-stats{flex-direction:column;align-items:flex-end;gap:3px;display:flex}.back-link{color:var(--text-muted);align-items:center;gap:4px;margin-bottom:16px;font-size:.8rem;text-decoration:none;transition:color .2s;display:inline-flex}.profile-header{background:var(--bg-card);border-radius:var(--radius);margin-bottom:12px;padding:20px}.profile-name{margin-bottom:4px;font-size:1.3rem;font-weight:700}.profile-sub{color:var(--text-muted);align-items:center;gap:8px;margin-bottom:12px;font-size:.8rem;display:flex}.profile-bio{color:var(--text-secondary);margin-bottom:10px;font-size:.85rem;line-height:1.5}.interests-row{flex-wrap:wrap;gap:6px;display:flex}.interest-tag{color:var(--accent);background:#ff375f14;border:none;border-radius:20px;padding:4px 12px;font-size:.72rem;font-weight:600}.panel{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border-radius:var(--radius);border:1px solid var(--glass-border);box-shadow:var(--shadow);margin-bottom:12px;padding:16px}.panel-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:12px;padding-left:4px;font-size:.72rem;font-weight:600}.reply-stat{justify-content:space-between;align-items:center;padding:6px 0;font-size:.82rem;display:flex}.reply-stat-label{color:var(--text-secondary)}.style-tag-row{flex-wrap:wrap;gap:4px;margin-top:8px;display:flex}.style-tag{border-radius:12px;padding:3px 8px;font-size:.65rem;font-weight:500}.style-tag.works{background:var(--success-bg);color:var(--success);border:1px solid #2ecc7133}.style-tag.fails{color:var(--danger);background:#e74c3c14;border:1px solid #e74c3c26}.fact-item{color:var(--text-secondary);align-items:flex-start;gap:8px;padding:6px 0;font-size:.82rem;display:flex}.fact-bullet{color:var(--accent);flex-shrink:0}.conversation{flex-direction:column;gap:8px;max-height:400px;padding:4px 0;display:flex;overflow-y:auto}.msg-bubble{border-radius:20px;max-width:78%;padding:10px 14px;font-size:.88rem;line-height:1.4;position:relative}.msg-bubble.you{color:#fff;box-shadow:0 2px 12px rgba(var(--accent-rgb), .3);background:linear-gradient(135deg,#ff2d55,#e91e63);border-bottom-right-radius:4px;align-self:flex-end}.msg-bubble.them{background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text-primary);-webkit-backdrop-filter:blur(12px);border-bottom-left-radius:4px;align-self:flex-start}.msg-status{text-align:right;margin-top:4px;font-size:.6rem}.msg-status.replied{color:var(--success)}.msg-status.ghosted{color:var(--danger)}.msg-status.pending{color:var(--text-muted)}.msg-input-row{gap:8px;margin-top:12px;display:flex}.msg-input{background:var(--bg-input);border-radius:var(--radius-sm);color:var(--text-primary);font-family:var(--font);border:none;outline:none;flex:1;min-height:44px;padding:11px 14px;font-size:.93rem;transition:box-shadow .2s}.msg-input:focus{box-shadow:0 0 0 2px #ff375f4d}.msg-input::placeholder{color:var(--text-muted)}.btn{border-radius:var(--radius-sm);font-family:var(--font);cursor:pointer;border:none;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:10px 18px;font-size:.88rem;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex;position:relative;overflow:hidden}.btn:active{transform:scale(.96)}.btn-primary{color:#fff;box-shadow:0 4px 16px rgba(var(--accent-rgb), .35);background:linear-gradient(135deg,#ff2d55,#e91e63,#ff2d55) 0 0/200% 200%;animation:3s infinite btnGradient}@keyframes btnGradient{0%,to{background-position:0%}50%{background-position:100%}}.btn-primary:hover{box-shadow:0 6px 24px rgba(var(--accent-rgb), .45);transform:translateY(-1px)}.btn-primary:disabled{opacity:.4;cursor:not-allowed;box-shadow:none;animation:none;transform:none}.btn-secondary{background:var(--glass-bg);color:var(--text-secondary);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(12px)}.btn-sm{min-height:34px;padding:7px 14px;font-size:.78rem}.btn-ghost{color:var(--text-muted);background:0 0;border:none;min-height:34px;padding:8px 12px;font-size:.78rem}.btn-ghost:active{color:var(--accent);background:var(--accent-glow)}.generated-messages{flex-direction:column;gap:8px;margin-top:12px;display:flex}.gen-msg-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;padding:12px 14px;transition:all .2s}.gen-msg-card:hover{border-color:var(--accent);background:var(--bg-card-hover)}.gen-msg-card.copied{border-color:var(--success);background:var(--success-bg)}.gen-msg-text{margin-bottom:6px;font-size:.88rem;line-height:1.4}.gen-msg-meta{color:var(--text-muted);align-items:center;gap:8px;font-size:.68rem;display:flex}.gen-msg-style{color:var(--accent);background:#e9456014;border-radius:4px;padding:2px 6px}.gen-msg-why{font-style:italic}@keyframes spin{to{transform:rotate(360deg)}}.spinner{border:2px solid rgba(var(--accent-rgb), .2);border-top-color:var(--accent);width:16px;height:16px;box-shadow:0 0 8px rgba(var(--accent-rgb), .2);border-radius:50%;animation:.6s linear infinite spin;display:inline-block}.empty-state{text-align:center;color:var(--text-muted);padding:60px 20px}.empty-state-icon{margin-bottom:12px;font-size:2.5rem}.empty-state-text{margin-bottom:6px;font-size:.9rem}.empty-state-hint{color:var(--text-muted);font-size:.75rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)translateY(4px)}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes toastIn{0%{opacity:0;transform:translateY(20px)scale(.9)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes toastOut{0%{opacity:1;transform:translateY(0)scale(1)}to{opacity:0;transform:translateY(-10px)scale(.95)}}@keyframes glowPulse{0%,to{box-shadow:0 0 15px #e9456026}50%{box-shadow:0 0 25px #e945604d}}.fade-in-scale{animation:.3s cubic-bezier(.25,.46,.45,.94) forwards fadeInScale}.skeleton{background:linear-gradient(90deg, var(--bg-card) 25%, var(--bg-card-hover) 50%, var(--bg-card) 75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.5s infinite shimmer}.skeleton-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);align-items:center;gap:14px;padding:14px 16px;display:flex}.skeleton-avatar{border-radius:50%;flex-shrink:0;width:44px;height:44px}.skeleton-line{border-radius:6px;height:12px}.skeleton-line.w-60{width:60%}.skeleton-line.w-40{width:40%}.skeleton-line.w-80{width:80%}.toast-container{z-index:1000;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:80px;left:50%;transform:translate(-50%)}.toast{border:1px solid var(--glass-border);color:var(--text-primary);box-shadow:0 8px 40px #00000080, 0 0 20px rgba(var(--accent-rgb), .1);pointer-events:auto;-webkit-backdrop-filter:saturate(180%)blur(24px);background:#12121cd9;border-radius:16px;align-items:center;gap:8px;padding:12px 20px;font-size:.85rem;animation:.35s cubic-bezier(.34,1.56,.64,1) forwards toastIn;display:flex}.toast.success{border-color:#34d3994d;box-shadow:0 8px 40px #00000080,0 0 20px #34d39926}.toast.error{border-color:#f43f5e4d;box-shadow:0 8px 40px #00000080,0 0 20px #f43f5e26}.toast.exiting{animation:.3s forwards toastOut}.bottom-nav{padding:8px 0 env(safe-area-inset-bottom,20px);z-index:100;-webkit-backdrop-filter:saturate(180%)blur(28px);background:#08080ed1;border-top:1px solid #ffffff0a;justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}.nav-item{color:var(--text-muted);cursor:pointer;font-size:.6rem;font-weight:500;font-family:var(--font);letter-spacing:.02em;background:0 0;border:none;flex-direction:column;align-items:center;gap:2px;min-width:64px;padding:4px 0;text-decoration:none;transition:color .2s;display:flex}.nav-item.active{color:var(--accent);filter:drop-shadow(0 0 6px rgba(var(--accent-rgb), .5))}.nav-item-icon{font-size:1.4rem;line-height:1}.status-dot{border-radius:50%;width:8px;height:8px;display:inline-block}.status-dot.active{background:var(--success);box-shadow:0 0 6px #2ecc7166}.status-dot.pending{background:var(--warning);animation:2s infinite pulse}.status-dot.inactive{background:var(--text-muted)}.stage-badge{text-transform:uppercase;letter-spacing:.3px;border-radius:10px;align-items:center;gap:4px;padding:3px 8px;font-size:.65rem;font-weight:600;display:inline-flex}.stage-badge.matching{color:#3498db;background:#3498db1a;border:1px solid #3498db33}.stage-badge.chatting{color:var(--success);background:#2ecc711a;border:1px solid #2ecc7133}.stage-badge.closing{color:var(--accent);background:#e945601a;border:1px solid #e9456033}.stage-badge.date_planned{color:#9b59b6;background:#9b59b61a;border:1px solid #9b59b633}.glow-card{position:relative;overflow:hidden}.glow-card:before{content:"";border-radius:inherit;z-index:-1;opacity:0;background:linear-gradient(135deg,#ff2d55,#a855f7,#3b82f6,#ff2d55) 0 0/300% 300%;transition:opacity .4s;animation:4s infinite borderGlow;position:absolute;inset:-2px}@keyframes borderGlow{0%,to{background-position:0%}50%{background-position:100%}}.glow-card:hover:before{opacity:.6}.stats-grid{grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:16px;display:grid}.stat-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius);text-align:center;-webkit-backdrop-filter:blur(16px);padding:16px;transition:all .25s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.stat-card:before{content:"";border-radius:inherit;background:linear-gradient(135deg, rgba(var(--accent-rgb), .06), transparent 60%);opacity:0;transition:opacity .3s;position:absolute;inset:0}.stat-card:hover:before{opacity:1}.stat-card:hover{border-color:rgba(var(--accent-rgb), .15);box-shadow:0 8px 32px #0000004d, 0 0 20px rgba(var(--accent-rgb), .08);transform:translateY(-2px)}.stat-value{background:linear-gradient(135deg,#ff2d55,#a855f7,#ff6b8a) 0 0/200% 200%;-webkit-text-fill-color:transparent;letter-spacing:-.02em;-webkit-background-clip:text;background-clip:text;font-size:1.6rem;font-weight:800;animation:4s infinite avatarGradient}.stat-label{color:var(--text-muted);letter-spacing:.03em;margin-top:4px;font-size:.68rem}.date-idea-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:8px;padding:12px 14px;transition:all .2s}.date-idea-card:hover{background:var(--bg-card-hover);border-color:#9b59b64d}.date-idea-title{margin-bottom:4px;font-size:.88rem;font-weight:600}.date-idea-why{color:var(--text-muted);margin-bottom:6px;font-size:.75rem}.date-idea-line{color:var(--accent);cursor:pointer;padding:4px 0;font-size:.8rem}.date-idea-line:hover{color:var(--accent-hover)}.app-container{padding-bottom:70px}@media (max-width:380px){.app-container{padding:0 8px 70px}.app-header{margin-bottom:12px;padding:14px 0}.app-title{font-size:1.2rem}.profile-name{font-size:1.1rem}.panel{margin-bottom:8px;padding:12px}.profile-header{margin-bottom:10px;padding:14px}.contact-card{gap:10px;padding:10px 12px}.contact-avatar{width:36px;height:36px;font-size:.9rem}.drop-zone{padding:16px}.msg-bubble{max-width:88%;padding:8px 10px;font-size:.8rem}.msg-input{padding:8px 10px;font-size:.8rem}.btn-sm{padding:5px 10px;font-size:.7rem}.stats-grid{grid-template-columns:repeat(2,1fr);gap:6px}.stat-value{font-size:1.2rem}.gen-msg-card{padding:10px}.interests-row{gap:4px}.interest-tag{padding:2px 7px;font-size:.62rem}.style-tag{padding:2px 6px;font-size:.6rem}.nav-item{padding:6px 16px}}@media (max-width:480px){.app-container{padding:0 12px 70px}.profile-header{padding:16px}.msg-bubble{max-width:85%}.contact-card{padding:12px 14px}.msg-input-row{flex-wrap:wrap}.msg-input-row select{flex:auto!important;width:100%!important}}.panel,.profile-header,.contact-card,.gen-msg-card,.date-idea-card{word-wrap:break-word;overflow-wrap:break-word;overflow:hidden}.profile-sub,.contact-meta,.gen-msg-meta,.msg-status{flex-wrap:wrap}.interests-row,.style-tag-row{-webkit-overflow-scrolling:touch;scrollbar-width:none;overflow-x:auto}.interests-row::-webkit-scrollbar{display:none}.style-tag-row::-webkit-scrollbar{display:none}.profile-bio,.fact-item,.gen-msg-text,.date-idea-why{word-break:break-word}.conversation{scrollbar-width:thin;scrollbar-color:var(--border) transparent;max-height:400px;overflow:hidden auto}.back-link{color:var(--text-muted);align-items:center;gap:4px;padding:6px 0;font-size:.78rem;font-weight:500;text-decoration:none;transition:color .2s;display:inline-flex}.back-link:hover{color:var(--accent)}.btn-ghost{border:1px solid var(--border);color:var(--text-secondary);border-radius:var(--radius-sm);font-size:.75rem;font-family:var(--font);cursor:pointer;background:0 0;padding:6px 12px;transition:all .2s}.btn-ghost:hover{border-color:var(--accent-dim);color:var(--text-primary);background:var(--accent-glow)}.msg-bubble{transition:background .15s}.msg-bubble:hover{filter:brightness(1.05)}.msg-actions{animation:.12s fadeInScale}.gen-msg-why{color:var(--text-muted);font-size:.68rem;font-style:italic;line-height:1.4}.reply-stat{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:6px 0;font-size:.78rem;display:flex}.reply-stat:last-child{border-bottom:none}.reply-stat-label{color:var(--text-secondary);font-weight:500}.reply-stat-value{font-weight:600}[data-theme=light]{--bg-primary:#f8f9fc;--bg-secondary:#eff0f5;--bg-card:#ffffffd9;--bg-card-hover:#f8f8fce6;--bg-input:#f0f0f8cc;--border:#0000000f;--border-light:#00000014;--accent:#ff2d55;--accent-rgb:255, 45, 85;--accent-glow:#ff2d551a;--accent-hover:#e0274c;--accent-dim:#ff2d551f;--success:#10b981;--success-bg:#10b98114;--warning:#f59e0b;--danger:#ef4444;--text-primary:#1a1a2e;--text-secondary:#1a1a2ea6;--text-muted:#1a1a2e59;--shadow:0 4px 24px #0000000f;--shadow-lg:0 8px 40px #0000001a;--shadow-glow:0 0 30px #ff2d551a;--glass-bg:#ffffffb3;--glass-border:#0000000f;--glass-blur:24px}.contact-card{transition:all .2s cubic-bezier(.4,0,.2,1)}.contact-card:hover{box-shadow:var(--shadow-lg);background:var(--bg-card-hover);transform:translateY(-1px)}.contact-card:active{transform:scale(.99)}.msg-input:focus,select:focus,button:focus-visible{outline:2px solid rgba(var(--accent-rgb), .5);outline-offset:1px}[data-theme=light] body:before{background:radial-gradient(ellipse 80% 50% at 20% 20%, #ff2d550a, transparent 60%), radial-gradient(ellipse 60% 60% at 80% 30%, #a855f708, transparent 50%), radial-gradient(ellipse 80% 40% at 50% 80%, #3b82f608, transparent 60%), var(--bg-primary)}[data-theme=light] .bottom-nav{background:#f8f9fcd1;border-top:1px solid #0000000a}[data-theme=light] .app-title{background:linear-gradient(135deg,#1a1a2e 0%,#555568 50%,#ff2d55 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.gen-msg-text{cursor:pointer;transition:opacity .15s}.gen-msg-text:hover{opacity:.8}.gen-msg-text:active{opacity:.6}.msg-input::placeholder{color:var(--text-muted);opacity:.7}@keyframes pulse-glow{0%,to{box-shadow:0 0 4px var(--success)}50%{box-shadow:0 0 10px var(--success)}}.compact-header{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;align-items:center;gap:12px;margin-bottom:0;padding:14px 16px;transition:all .2s;display:flex}.compact-header:hover{background:var(--bg-card-hover)}.compact-header-avatar{color:#fff;width:42px;height:42px;box-shadow:0 2px 12px rgba(var(--accent-rgb), .25);background:linear-gradient(135deg,#ff2d55,#a855f7,#3b82f6) 0 0/200% 200%;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.1rem;font-weight:700;animation:4s infinite avatarGradient;display:flex}.compact-header-info{flex:1;min-width:0}.compact-header-name{font-size:1rem;font-weight:700;line-height:1.2}.compact-header-meta{align-items:center;gap:6px;margin-top:2px;display:flex}.compact-header-stats{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.compact-header-rate{font-size:1.1rem;font-weight:700;line-height:1}.compact-header-chevron{color:var(--text-muted);font-size:.8rem;transition:transform .2s}.compact-header-chevron.open{transform:rotate(180deg)}.tab-nav{background:var(--bg-secondary);border-radius:var(--radius);border:1px solid var(--border);gap:0;margin-bottom:12px;padding:3px;display:flex}.tab-btn{border-radius:calc(var(--radius) - 3px);color:var(--text-muted);font-family:var(--font);cursor:pointer;background:0 0;border:none;flex:1;justify-content:center;align-items:center;gap:5px;padding:10px 8px;font-size:.78rem;font-weight:600;transition:all .2s;display:flex;position:relative}.tab-btn:hover{color:var(--text-secondary);background:#ffffff08}.tab-btn.active{background:var(--bg-card);color:var(--text-primary);box-shadow:0 1px 4px #0003}.tab-btn-icon{font-size:1rem;line-height:1}.tab-btn-badge{background:var(--accent);border-radius:50%;width:6px;height:6px;position:absolute;top:4px;right:8px}.chat-container{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;height:calc(100vh - 260px);min-height:300px;display:flex;overflow:hidden}.chat-thread{scrollbar-width:thin;scrollbar-color:var(--border) transparent;flex-direction:column;flex:1;gap:8px;padding:12px;display:flex;overflow-y:auto}.chat-input-area{border-top:1px solid var(--border);background:var(--bg-secondary);flex-shrink:0;padding:10px 12px}.chat-input-row{align-items:center;gap:6px;display:flex}.chat-role-toggle{flex-shrink:0;gap:0;display:flex}.chat-role-btn{border:1px solid var(--border);background:var(--bg-input);color:var(--text-muted);font-family:var(--font);cursor:pointer;padding:6px 10px;font-size:.7rem;font-weight:600;transition:all .15s}.chat-role-btn:first-child{border-right:none;border-radius:6px 0 0 6px}.chat-role-btn:last-child{border-radius:0 6px 6px 0}.chat-role-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.chat-input{background:var(--bg-input);border:1px solid var(--border);color:var(--text-primary);font-family:var(--font);border-radius:20px;outline:none;flex:1;padding:8px 14px;font-size:.82rem;transition:border-color .2s}.chat-input:focus{border-color:var(--accent)}.chat-input::placeholder{color:var(--text-muted);opacity:.7}.chat-send-btn{background:linear-gradient(135deg, var(--accent), #ff5a78);color:#fff;cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:.9rem;transition:all .15s;display:flex;box-shadow:0 2px 8px #e945604d}.chat-send-btn:hover{transform:scale(1.05);box-shadow:0 3px 12px #e9456066}.chat-send-btn:active{transform:scale(.95)}.chat-action-btn{background:var(--bg-input);border:1px solid var(--border);width:32px;height:32px;color:var(--text-muted);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.75rem;transition:all .15s;display:flex}.chat-action-btn:hover{border-color:var(--accent);color:var(--accent)}.ai-selector{scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:6px;margin-bottom:12px;padding:4px 0;display:flex;overflow-x:auto}.ai-selector::-webkit-scrollbar{display:none}.ai-selector-btn{border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-secondary);font-family:var(--font);white-space:nowrap;cursor:pointer;border-radius:20px;flex-shrink:0;align-items:center;gap:5px;padding:8px 14px;font-size:.72rem;font-weight:500;transition:all .2s;display:flex}.ai-selector-btn:hover{border-color:var(--accent-dim);background:var(--accent-glow)}.ai-selector-btn.active{color:#fff;box-shadow:0 4px 16px rgba(var(--accent-rgb), .35);background:linear-gradient(135deg,#ff2d55,#a855f7);border-color:#0000}.gen-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius);cursor:pointer;-webkit-backdrop-filter:blur(16px);padding:14px 16px;transition:all .25s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.gen-card:before{content:"";border-radius:inherit;background:linear-gradient(135deg, rgba(var(--accent-rgb), .04), transparent 50%, #a855f708);opacity:0;transition:opacity .3s;position:absolute;inset:0}.gen-card:hover:before{opacity:1}.gen-card:hover{border-color:rgba(var(--accent-rgb), .2);box-shadow:0 8px 32px #00000040, 0 0 16px rgba(var(--accent-rgb), .06);transform:translateY(-1px)}.gen-card:active{transform:scale(.99)}.gen-card-text{color:var(--text-primary);margin-bottom:8px;font-size:.88rem;line-height:1.45}.gen-card-footer{justify-content:space-between;align-items:center;gap:8px;display:flex}.gen-card-tags{flex:1;align-items:center;gap:6px;min-width:0;display:flex}.gen-card-actions{flex-shrink:0;gap:4px;display:flex}.gen-card-use-btn{background:linear-gradient(135deg, var(--accent), #ff5a78);color:#fff;font-family:var(--font);cursor:pointer;border:none;border-radius:14px;padding:5px 12px;font-size:.68rem;font-weight:600;transition:all .15s}.gen-card-use-btn:hover{box-shadow:0 2px 8px #e9456066}.gen-card-why{color:var(--text-muted);border-top:1px solid var(--border);margin-top:8px;padding-top:6px;font-size:.7rem;font-style:italic;line-height:1.4}.profile-section{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:10px;padding:16px}.profile-section-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.profile-section-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:.75rem;font-weight:600}.fact-chip{background:var(--bg-secondary);color:var(--text-secondary);border-radius:8px;align-items:center;gap:6px;padding:5px 10px;font-size:.78rem;transition:all .15s;display:inline-flex;position:relative}.fact-chip:hover{background:var(--bg-card-hover)}.fact-chip-delete{color:var(--danger);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:.7rem;line-height:1;display:none}.fact-chip:hover .fact-chip-delete{display:inline}.fact-chip.manual{border:1px solid var(--accent-dim)}.score-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);margin-top:8px;padding:10px 12px;animation:.2s fadeInScale}.score-grade{font-size:1.2rem;font-weight:700}.score-number{color:var(--text-muted);font-size:.72rem;font-weight:400}.more-actions{border-top:1px solid var(--border);flex-wrap:wrap;gap:6px;margin-top:12px;padding-top:12px;display:flex}.more-actions-btn{border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-secondary);font-family:var(--font);cursor:pointer;background:0 0;padding:8px 14px;font-size:.72rem;transition:all .15s}.more-actions-btn:hover{border-color:var(--accent-dim);color:var(--text-primary);background:var(--accent-glow)}.more-actions-btn.danger{color:var(--danger);border-color:#e74c3c33}.more-actions-btn.danger:hover{background:#e74c3c14;border-color:#e74c3c66}.chat-search{border-bottom:1px solid var(--border);background:var(--bg-secondary);padding:8px 12px}.chat-search .chat-input{border-radius:8px;width:100%;padding:6px 12px;font-size:.78rem}.convo-tabs{border-bottom:1px solid var(--border);background:var(--bg-secondary);scrollbar-width:none;gap:4px;padding:8px 12px;display:flex;overflow-x:auto}.convo-tabs::-webkit-scrollbar{display:none}@media (max-width:380px){.tab-btn{padding:8px 4px;font-size:.7rem}.tab-btn-icon{font-size:.9rem}.chat-container{height:calc(100vh - 230px)}.ai-selector-btn{padding:6px 10px;font-size:.68rem}.compact-header{gap:10px;padding:10px 12px}.compact-header-avatar{width:36px;height:36px;font-size:.9rem}}@media (max-width:480px){.chat-container{height:calc(100vh - 240px)}}.reply-chance{text-align:center;letter-spacing:-.02em;border-radius:8px;flex-shrink:0;min-width:38px;margin-top:2px;padding:4px 7px;font-size:.68rem;font-weight:700}.reply-chance.high{color:#10b981;background:#10b98126;border:1px solid #10b9814d}.reply-chance.mid{color:#f59e0b;background:#f59e0b26;border:1px solid #f59e0b4d}.reply-chance.low{color:#ef4444;background:#ef444426;border:1px solid #ef44444d}.confidence-dot{vertical-align:middle;margin-right:3px;font-size:.5rem}.confidence-dot.high{color:#10b981}.confidence-dot.medium{color:#f59e0b}.confidence-dot.low{color:#6b7280}.scoring-reason{color:var(--text-muted);opacity:.8;margin-top:4px;font-size:.6rem;font-style:italic;line-height:1.3}.tab-switcher{background:#ffffff0f;border-radius:9px;gap:0;padding:2px;display:flex}.tab-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:7px;flex:1;justify-content:center;align-items:center;gap:5px;min-height:32px;padding:7px 12px;font-size:.78rem;font-weight:600;transition:background .2s,color .2s;display:flex}.tab-btn.active{color:var(--text-primary);background:#ffffff1f;box-shadow:0 1px 4px #0000004d}.tab-badge{background:var(--accent);color:#fff;text-align:center;border-radius:10px;min-width:18px;padding:1px 6px;font-size:.58rem;font-weight:700}.today-container{flex-direction:column;gap:20px;display:flex}.today-stats{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border-radius:var(--radius);border:1px solid var(--glass-border);box-shadow:var(--shadow);grid-template-columns:repeat(4,1fr);gap:0;display:grid;overflow:hidden}.today-stat{text-align:center;border-right:.5px solid var(--border);flex-direction:column;gap:3px;padding:14px 8px;display:flex}.today-stat:last-child{border-right:none}.today-stat-value{color:var(--text-primary);letter-spacing:-.02em;font-size:1.4rem;font-weight:800;line-height:1}.today-stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.58rem;font-weight:600}.today-section{flex-direction:column;gap:0;display:flex}.today-section-header{align-items:center;gap:6px;padding:0 4px 8px;display:flex}.today-section-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.72rem;font-weight:600}.today-section-count{color:var(--text-muted);font-size:.6rem;font-weight:500}.priority-badge{font-size:.55rem;line-height:1}.today-section .action-card:first-of-type{border-top-left-radius:var(--radius);border-top-right-radius:var(--radius)}.today-section .action-card:last-child{border-bottom-left-radius:var(--radius);border-bottom-right-radius:var(--radius);border-bottom:none}.action-card{background:var(--glass-bg);color:inherit;cursor:pointer;-webkit-backdrop-filter:blur(12px);border:none;border-bottom:.5px solid #ffffff0a;border-radius:0;align-items:center;gap:12px;min-height:60px;padding:14px 16px;text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex}.action-card:active{background:var(--bg-hover)}.action-card-avatar{color:#fff;width:38px;height:38px;box-shadow:0 2px 10px rgba(var(--accent-rgb), .25);background:linear-gradient(135deg,#ff2d55,#a855f7,#3b82f6) 0 0/200% 200%;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.8rem;font-weight:700;animation:4s infinite avatarGradient;display:flex}.action-card-content{flex:1;min-width:0}.action-card-name{color:var(--text-primary);font-size:.78rem;font-weight:700}.action-card-platform{color:var(--text-muted);margin-left:4px;font-size:.55rem;font-weight:500}.action-card-preview{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:.68rem;overflow:hidden}.action-card-meta{color:var(--text-muted);margin-top:2px;font-size:.55rem}.action-card-arrow{color:var(--text-muted);flex-shrink:0;font-size:.9rem;transition:transform .2s}.action-card:active .action-card-arrow{color:var(--accent);transform:translate(2px)}.coach-tag{text-transform:uppercase;letter-spacing:.05em;color:#8b5cf6;background:#8b5cf626;border:1px solid #8b5cf640;border-radius:4px;padding:2px 6px;font-size:.55rem;font-weight:600}.coach-expand{border-top:1px solid var(--border);flex-direction:column;gap:4px;margin-top:8px;padding-top:8px;display:flex}.coach-tactic{color:var(--text-secondary);font-size:.72rem;line-height:1.4}.coach-stat{color:var(--accent);background:var(--accent-glow);border-radius:6px;width:fit-content;padding:3px 8px;font-size:.65rem;font-weight:500}.hero-stats-row{grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px;display:grid}.hero-stat{background:var(--bg-card);border:1px solid var(--border);text-align:center;border-radius:12px;padding:14px 12px}.hero-stat-value{color:var(--text);font-size:1.5rem;font-weight:800;line-height:1}.hero-stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;margin-top:4px;font-size:.65rem}.trend-arrow{margin-left:4px;font-size:.7rem;font-weight:700}.trend-up{color:#10b981}.trend-down{color:#ef4444}.trend-flat{color:var(--text-muted)}.style-breakdown{flex-direction:column;gap:8px;display:flex}.style-bar-row{align-items:center;gap:8px;display:flex}.style-bar-label{color:var(--text);flex-shrink:0;width:80px;font-size:.72rem;font-weight:500}.style-bar-track{background:#ffffff0f;border-radius:4px;flex:1;height:8px;overflow:hidden}.style-bar-fill{background:linear-gradient(90deg, var(--accent), #8b5cf6);border-radius:4px;height:100%;transition:width .6s}.style-bar-rate{color:var(--text-secondary);text-align:right;flex-shrink:0;width:36px;font-size:.68rem;font-weight:600}.best-msg-card{background:linear-gradient(135deg, rgba(var(--accent-rgb,139, 92, 246), .1), #10b98114);border:1px solid #8b5cf633;border-radius:12px;padding:14px}.best-msg-text{color:var(--text);margin-bottom:8px;font-size:.88rem;font-style:italic;line-height:1.4}.best-msg-meta{color:var(--text-muted);align-items:center;gap:8px;font-size:.65rem;display:flex}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:rgba(var(--accent-rgb), .2);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:rgba(var(--accent-rgb), .4)}select.msg-input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='rgba(240,240,245,0.4)' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:32px}.interest-tag{transition:all .2s}.interest-tag:hover{background:rgba(var(--accent-rgb), .15);box-shadow:0 0 12px rgba(var(--accent-rgb), .15);transform:translateY(-1px)}.profile-header,.compact-header{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);box-shadow:var(--shadow)}.chat-send-btn{box-shadow:0 4px 16px rgba(var(--accent-rgb), .4);background:linear-gradient(135deg,#ff2d55,#a855f7)}.chat-send-btn:hover{box-shadow:0 6px 24px rgba(var(--accent-rgb), .5)}.tab-switcher{border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(12px);background:#ffffff0a}.tab-btn.active{box-shadow:0 2px 12px #0000004d, 0 0 8px rgba(var(--accent-rgb), .06);background:#ffffff14}.profile-section,.chat-container{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);box-shadow:var(--shadow)}.score-card{background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(16px)}.hero-stat{background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(16px);transition:all .25s}.hero-stat:hover{border-color:rgba(var(--accent-rgb), .12);transform:translateY(-2px);box-shadow:0 8px 32px #0003}.hero-stat-value{background:linear-gradient(135deg,#ff2d55,#a855f7,#ff6b8a) 0 0/200% 200%;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;animation:4s infinite avatarGradient}.gen-card-use-btn{box-shadow:0 2px 12px rgba(var(--accent-rgb), .3);background:linear-gradient(135deg,#ff2d55,#a855f7)}::selection{background:rgba(var(--accent-rgb), .3);color:#fff}.fade-in{animation:.4s cubic-bezier(.34,1.56,.64,1) forwards fadeIn}.slide-up{animation:.45s cubic-bezier(.34,1.56,.64,1) forwards slideUp}