.onboarding-gate{background:var(--space-deep);justify-content:center;align-items:center;min-height:100dvh;padding:20px;display:flex;position:relative;overflow:hidden}.onboarding-gate:before{content:"";pointer-events:none;background:radial-gradient(at 30% 35%,#ff7a7f2e 0%,#0000 45%),radial-gradient(at 65% 45%,#d4a57424 0%,#0000 45%),radial-gradient(at 45% 70%,#ff5a5f14 0%,#0000 40%),radial-gradient(at 75% 25%,#7ba6880f 0%,#0000 35%);width:180%;height:80%;animation:20s ease-in-out infinite gateGlowShift;position:absolute;top:-40%;left:-30%}.onboarding-gate:after{content:"";pointer-events:none;background:linear-gradient(#0000 0%,#ff7a7f0a 50%,#d4a5740f 100%);height:35%;position:absolute;bottom:0;left:0;right:0}@keyframes gateGlowShift{0%,to{opacity:.75;transform:scale(1)rotate(0)}33%{opacity:.9;transform:scale(1.04)rotate(.5deg)}66%{opacity:.8;transform:scale(.98)rotate(-.5deg)}}.onboarding-card{-webkit-backdrop-filter:blur(40px)saturate(1.2);border-radius:var(--radius-xl);text-align:center;background:#fffbf6f0;border:1px solid #ff7a7f2e;width:100%;max-width:460px;padding:52px 44px;animation:.7s cubic-bezier(.16,1,.3,1) cardFloatUp;position:relative;box-shadow:0 8px 60px #4a3f352e,0 0 60px #ff7a7f1a,inset 0 1px #fff9}@keyframes cardFloatUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.onboarding-icon{justify-content:center;align-items:center;margin-bottom:24px;animation:2.5s ease-in-out infinite gentleBounce;display:flex}.tiger-logo-img{object-fit:contain;border-radius:50%;width:120px;height:120px;box-shadow:0 0 40px #ff7a7f40,0 0 80px #d4a5741f}@keyframes gentleBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.onboarding-title{background:linear-gradient(135deg,#ff5a5f 0%,#ff7b7f 45%,#ff8a80 70%,#d4a574 100%);-webkit-text-fill-color:transparent;letter-spacing:-.02em;-webkit-background-clip:text;background-clip:text;margin:0 0 14px;font-size:28px;font-weight:800}.onboarding-subtitle{color:var(--text-secondary);margin:0 0 36px;font-size:15px;line-height:1.8}.mode-selector{flex-direction:column;gap:12px;margin-bottom:24px;display:flex}.mode-option{border-radius:var(--radius-lg);cursor:pointer;text-align:left;background:#ff7a7f08;border:2px solid #ff7a7f24;align-items:flex-start;gap:14px;padding:18px;transition:all .25s;display:flex}.mode-option:hover{background:#ff7a7f14;border-color:#ff7a7f59}.mode-option.active{background:linear-gradient(135deg,#ff7a7f1f,#d4a57414);border-color:#ff7a7f8c;box-shadow:0 0 24px #ff7a7f1a}.mode-option-content h3{color:var(--text-primary);margin:0 0 4px;font-size:16px;font-weight:700}.mode-option-content p{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.6}.mode-check{color:var(--nebula-indigo-light);flex-shrink:0;margin-top:2px;margin-left:auto;font-size:20px;font-weight:700}.mode-hint{color:var(--text-muted);margin:0;font-size:13px;line-height:1.6}.history-notice{border-radius:var(--radius-md);color:var(--text-secondary);text-align:left;background:#ff7a7f14;border:1px solid #ff7a7f33;align-items:center;gap:8px;margin-bottom:24px;padding:14px 18px;font-size:13px;line-height:1.6;display:flex}.passphrase-input-wrapper{margin-bottom:18px;position:relative}.passphrase-input{border-radius:var(--radius-lg);width:100%;color:var(--text-primary);box-sizing:border-box;background:#ff7a7f0a;border:2px solid #ff7a7f2e;outline:none;padding:15px 52px 15px 18px;font-size:16px;transition:all .25s}.passphrase-input:focus{background:#ff7a7f0f;border-color:#ff7a7f80;box-shadow:0 0 0 4px #ff7a7f14}.passphrase-input::placeholder{color:var(--text-muted)}.toggle-visibility{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;align-items:center;padding:8px;font-size:13px;font-weight:600;transition:color .2s;display:flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.toggle-visibility:hover{color:var(--nebula-indigo-light)}.match-role-selector{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px;display:grid}.match-role-btn{border-radius:var(--radius-md);min-height:48px;color:var(--text-secondary);cursor:pointer;background:#ff7a7f08;border:2px solid #ff7a7f24;font-size:15px;font-weight:700;transition:all .25s}.match-role-btn:hover:not(:disabled){color:var(--text-primary);background:#ff7a7f14;border-color:#ff7a7f59}.match-role-btn.active{border-color:var(--nebula-indigo);color:var(--text-primary);background:linear-gradient(135deg,#ff7a7f2e,#d4a5741a);box-shadow:0 0 24px #ff7a7f1f}.match-role-btn:disabled{cursor:not-allowed;opacity:.4}.match-role-hint{color:var(--text-muted);margin:0 0 16px;font-size:12px;line-height:1.6}.nickname-input-wrapper{margin-bottom:18px}.nickname-input{border-radius:var(--radius-lg);width:100%;color:var(--text-primary);box-sizing:border-box;background:#ff7a7f0a;border:2px solid #ff7a7f2e;outline:none;padding:13px 16px;font-size:15px;transition:all .25s}.nickname-input:focus{border-color:#ff7a7f80;box-shadow:0 0 0 4px #ff7a7f14}.nickname-input::placeholder{color:var(--text-muted);font-size:14px}.onboarding-error{color:#fda4af;border-radius:var(--radius-md);background:#f43f5e1a;border:1px solid #f43f5e33;margin-bottom:18px;padding:12px 16px;font-size:14px;line-height:1.6}.onboarding-btn{background:var(--grad-btn);color:#fff;border-radius:var(--radius-full);cursor:pointer;letter-spacing:.01em;border:none;width:100%;margin-bottom:14px;padding:16px;font-size:16px;font-weight:700;transition:all .25s;box-shadow:0 4px 20px #ff7a7f33}.onboarding-btn:hover:not(:disabled){background:var(--grad-btn-hover);transform:translateY(-2px);box-shadow:0 8px 30px #ff7a7f59}.onboarding-btn:disabled{opacity:.5;cursor:not-allowed}.onboarding-btn.clear-btn{color:var(--text-secondary);border-radius:var(--radius-md);box-shadow:none;background:#ff7a7f14;border:1px solid #ff7a7f26;margin-top:14px;padding:14px;font-size:13px;font-weight:500}.onboarding-btn.clear-btn:hover{color:var(--text-primary);background:#ff7a7f26;border-color:#ff7a7f4d;transform:none}.confirm-overlay{-webkit-backdrop-filter:blur(10px);z-index:100;background:#050514b3;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.confirm-dialog{-webkit-backdrop-filter:blur(20px);border-radius:var(--radius-xl);background:#fffbf6f5;border:1px solid #ff7a7f26;width:100%;max-width:440px;padding:36px;animation:.3s floatUp;box-shadow:0 20px 60px #050514b3,0 0 40px #ff7a7f14}.confirm-dialog h3{color:var(--text-primary);margin:0 0 22px;font-size:20px;font-weight:700}.confirm-content{flex-direction:column;gap:14px;margin-bottom:28px;display:flex}.confirm-item{color:var(--text-secondary);align-items:flex-start;gap:10px;font-size:14px;line-height:1.6;display:flex}.confirm-item.warning{color:#fda4af}.confirm-actions{gap:12px;display:flex}.confirm-btn{border-radius:var(--radius-md);cursor:pointer;border:none;flex:1;padding:14px;font-size:14px;font-weight:700;transition:all .2s}.confirm-btn.primary{background:var(--grad-btn);color:#fff}.confirm-btn.primary:hover:not(:disabled){background:var(--grad-btn-hover);box-shadow:0 4px 24px #ff7a7f4d}.confirm-btn.primary:disabled{opacity:.5;cursor:not-allowed}.confirm-btn.secondary{color:var(--text-secondary);background:#ff7a7f14}.confirm-btn.secondary:hover{background:#ff7a7f26}@media (width<=480px){.onboarding-card{border-radius:var(--radius-xl);padding:36px 24px}.onboarding-title{font-size:24px}.tiger-logo-img{width:100px;height:100px}}.top-status-bar{z-index:40;background:var(--surface-solid-2);-webkit-backdrop-filter:blur(30px)saturate(1.2);border-bottom:1px solid var(--glass-border);flex-shrink:0;justify-content:space-between;align-items:center;gap:10px;min-height:52px;padding:10px 18px;display:flex;position:sticky;top:0}.status-bar-left{flex-shrink:1;align-items:center;min-width:0;display:flex}.app-logo{color:var(--nebula-pink-light);align-items:center;gap:10px;display:flex}.app-logo svg{filter:drop-shadow(0 0 8px #f43f685c)}.app-name{color:var(--text-primary);letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:700;overflow:hidden}.my-nickname-display{color:var(--nebula-pink-light);background:#f43f681f;border:1px solid #f43f6838;border-radius:99px;flex-shrink:0;margin-left:8px;padding:3px 10px;font-size:11px;font-weight:600}.peer-nickname-display{color:var(--nebula-purple-light);background:linear-gradient(135deg,#f43f681f,#d4a57414);border:1px solid #d4a57433;border-radius:99px;flex-shrink:0;margin-left:6px;padding:3px 12px;font-size:11px;font-weight:600;animation:.3s fadeIn}.status-bar-center{flex:1;justify-content:center;align-items:center;gap:12px;min-width:0;display:flex}.connection-status{align-items:center;gap:5px;display:flex}.status-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.status-dot.connecting{animation:1.5s ease-in-out infinite pulse}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(1.3)}}.status-label{font-size:12px;font-weight:600}.encryption-status{color:var(--text-muted);align-items:center;gap:4px;font-size:11px;font-weight:500;display:flex}.encryption-status svg{color:var(--aurora-teal-light);opacity:.7}.status-bar-right{flex-shrink:0;align-items:center;gap:2px;display:flex}.insight-nav-btn,.strategy-nav-btn,.theme-nav-btn,.settings-nav-btn{border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:34px;height:34px;transition:all .2s;display:flex}.insight-nav-btn{color:var(--nebula-purple-light)}.insight-nav-btn:hover{background:#d4a57426}.strategy-nav-btn{color:var(--aurora-cyan)}.strategy-nav-btn:hover{background:#22d3ee1a}.settings-nav-btn{color:var(--text-muted)}.theme-nav-btn{color:var(--nebula-pink-light)}.theme-nav-btn:hover{color:var(--nebula-pink);background:#f43f681f}.settings-nav-btn:hover{color:var(--nebula-pink-light);background:#f43f681f}@media (width<=768px){.top-status-bar{gap:6px;min-height:46px;padding:8px 12px}.status-bar-center{gap:6px}.encryption-status span{display:none}.app-name{font-size:13px}.status-label{font-size:11px}.insight-nav-btn,.strategy-nav-btn,.theme-nav-btn,.settings-nav-btn{border-radius:8px;width:30px;height:30px}}@media (width<=380px){.my-nickname-display,.peer-nickname-display{display:none}.status-bar-center{justify-content:flex-end}}.connection-panel{background:var(--surface-solid-2);-webkit-backdrop-filter:blur(20px)saturate(1.1);border-radius:var(--radius-lg);border:1px solid #ff7a7f1a;margin:14px 18px;padding:18px 20px;box-shadow:0 4px 20px #4a3f351f}.dedicated-match-status{border-radius:var(--radius-md);color:var(--text-primary);background:linear-gradient(135deg,#ff7a7f14,#d4a5740a);border:1px solid #ff7a7f33;flex-direction:column;gap:5px;margin-bottom:14px;padding:14px 16px;display:flex}.dedicated-match-status strong{color:var(--nebula-indigo-light);font-size:13px;font-weight:800}.dedicated-match-status span{color:var(--text-secondary);font-size:12px;line-height:1.5}.connection-panel.dedicated{flex-direction:column;gap:12px;display:flex}.connection-panel.dedicated .dedicated-match-status{margin-bottom:0}.status-title-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.status-title-row .connecting-animation{flex:none}.invite-card{border-radius:var(--radius-md);background:#7ba6880d;border:1px solid #7ba68829;flex-direction:column;gap:12px;padding:14px 16px;display:flex}.invite-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.invite-header>div{flex-direction:column;gap:4px;min-width:0;display:flex}.invite-eyebrow{color:var(--aurora-teal-light);letter-spacing:.06em;font-size:11px;font-weight:800}.invite-header strong{color:var(--text-primary);font-size:13px;line-height:1.45}.role-chip{border-radius:var(--radius-sm);color:var(--aurora-teal-light);white-space:nowrap;background:#7ba68814;border:1px solid #7ba6882e;flex:none;padding:6px 9px;font-size:12px;font-weight:700}.invite-link-preview{border-radius:var(--radius-sm);color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;background:#ff7a7f0d;border:1px solid #ff7a7f1f;padding:10px 12px;font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:12px;overflow:hidden}.invite-actions{flex-wrap:wrap;gap:8px;display:flex}.invite-copy{justify-content:center}.invite-copy:disabled{opacity:.5;cursor:not-allowed}.invite-qr{color:var(--text-muted);align-items:center;gap:12px;font-size:12px;line-height:1.5;display:flex}.invite-qr img{border-radius:var(--radius-sm);object-fit:contain;background:#fff;width:120px;height:120px;padding:8px}.manual-toggle{border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;background:#ff7a7f0f;border:1px solid #ff7a7f1f;align-self:flex-start;padding:8px 12px;font-size:12px;font-weight:700;transition:all .2s}.manual-toggle:hover{color:var(--nebula-indigo-light);border-color:#ff7a7f66}.manual-connect{flex-direction:column;gap:14px;display:flex}.connection-label{color:var(--text-muted);letter-spacing:.05em;margin-bottom:10px;font-size:12px;font-weight:700;display:block}.my-id-section{margin-bottom:4px}.id-display{align-items:center;gap:8px;display:flex}.id-text{border-radius:var(--radius-md);color:var(--nebula-indigo-light);text-overflow:ellipsis;white-space:nowrap;background:#ff7a7f0f;border:1px solid #ff7a7f14;flex:1;padding:11px 16px;font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:14px;font-weight:600;overflow:hidden}.copy-btn{border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;white-space:nowrap;background:#ff7a7f0f;border:1.5px solid #ff7a7f24;align-items:center;gap:4px;padding:11px 16px;font-size:13px;font-weight:600;transition:all .2s;display:flex}.copy-btn:hover{color:var(--nebula-indigo-light);background:#ff7a7f1f;border-color:#ff7a7f66}.divider{align-items:center;gap:12px;margin:18px 0;display:flex}.divider:before,.divider:after{content:"";background:#ff7a7f1a;flex:1;height:1px}.divider span{color:var(--text-muted);font-size:12px;font-weight:500}.connect-section{margin-bottom:8px}.connection-form{gap:8px;display:flex}.connection-input{border-radius:var(--radius-md);color:var(--text-primary);background:#ff7a7f0a;border:2px solid #ff7a7f24;outline:none;flex:1;padding:11px 16px;font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:14px;transition:all .2s}.connection-input:focus{background:#ff7a7f14;border-color:#ff7a7f73;box-shadow:0 0 0 3px #ff7a7f14}.connection-input::placeholder{color:var(--text-muted);font-family:inherit}.connect-btn{background:var(--grad-btn);color:#fff;border-radius:var(--radius-md);cursor:pointer;white-space:nowrap;border:none;padding:11px 22px;font-size:14px;font-weight:700;transition:all .2s}.connect-btn:hover:not(:disabled){background:var(--grad-btn-hover);box-shadow:var(--shadow-glow-indigo);transform:translateY(-1px)}.connect-btn:disabled{opacity:.5;cursor:not-allowed}.connection-hint{color:var(--text-muted);margin:14px 0 0;font-size:12px;line-height:1.6}.connection-panel.connected{background:linear-gradient(135deg,#7ba68814,#ffe9df80);border-color:#7ba68840;justify-content:space-between;align-items:center;display:flex}.connected-info{align-items:center;gap:12px;display:flex}.connected-icon{color:var(--aurora-teal-light);filter:drop-shadow(0 0 6px #7ba68880)}.connected-details{flex-direction:column;gap:2px;display:flex}.connected-label{color:var(--aurora-teal-light);font-size:12px;font-weight:600}.connected-id{color:var(--text-primary);font-family:SF Mono,Fira Code,Cascadia Code,monospace;font-size:14px;font-weight:700}.disconnect-btn{color:#fda4af;border-radius:var(--radius-md);cursor:pointer;background:#f43f5e1f;border:none;align-items:center;gap:6px;padding:9px 18px;font-size:13px;font-weight:600;transition:all .2s;display:flex}.disconnect-btn:hover{background:#f43f5e33}.connection-panel.connecting{justify-content:center;align-items:center;gap:12px;padding:18px 20px;display:flex}.connecting-animation{gap:5px;display:flex}.connecting-animation .dot{background:var(--nebula-indigo);border-radius:50%;width:7px;height:7px;animation:1.4s ease-in-out infinite both bounce;box-shadow:0 0 8px #ff7a7f80}.connecting-animation .dot:first-child{animation-delay:-.32s}.connecting-animation .dot:nth-child(2){animation-delay:-.16s}.connecting-animation .dot:nth-child(3){animation-delay:0s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.connecting-text{color:var(--text-secondary);font-size:14px;font-weight:500}.connection-panel.failed{border-color:#f43f5e33}.failed-info{color:#fda4af;align-items:center;gap:8px;margin-bottom:14px;font-size:14px;font-weight:600;display:flex}.fail-hint{color:var(--text-muted);margin:14px 0 0;font-size:12px;line-height:1.6}@media (width<=480px){.connection-panel{border-radius:var(--radius-md);margin:8px 10px;padding:12px}.dedicated-match-status{gap:3px;padding:10px 12px}.status-title-row,.invite-header,.invite-qr{flex-direction:column;align-items:stretch}.status-title-row{gap:6px}.status-title-row .connecting-animation{align-self:flex-start}.invite-card{gap:10px;padding:11px 12px}.role-chip{align-self:flex-start;font-size:11px}.invite-link-preview{font-size:11px}.invite-actions{flex-direction:column}.invite-qr img{width:112px;height:112px}.dedicated-match-status strong{font-size:12px}.dedicated-match-status span,.fail-hint,.connection-hint{font-size:11px;line-height:1.45}.manual-toggle{padding:7px 10px;font-size:11px}.connection-form,.id-display{flex-direction:column;align-items:stretch}.copy-btn,.connect-btn{justify-content:center}}.message-list{scroll-behavior:smooth;background:0 0;flex-direction:column;flex:1;gap:12px;padding:20px 16px 80px;display:flex;overflow-y:auto}.message-list::-webkit-scrollbar{width:4px}.message-list::-webkit-scrollbar-track{background:0 0}.message-list::-webkit-scrollbar-thumb{background:#ff7a7f26;border-radius:10px}.empty-state{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;padding:40px 20px;display:flex}.empty-icon{color:#ff7a7f40;opacity:.5;margin-bottom:20px;animation:.6s floatUp}.empty-title{color:var(--text-secondary);margin:0 0 10px;font-size:18px;font-weight:700}.empty-desc{color:var(--text-muted);margin:0;font-size:14px;line-height:1.8}.message-row{flex-direction:column;max-width:72%;animation:.3s floatUp;display:flex}.message-row.me{align-self:flex-end;align-items:flex-end}.message-row.peer{align-self:flex-start;align-items:flex-start}.message-row.system{align-self:center;max-width:85%}.message-bubble{word-break:break-word;border-radius:20px;padding:12px 18px;font-size:15px;line-height:1.7;position:relative}.message-bubble.me{background:var(--grad-btn);color:#fff;border-bottom-right-radius:6px;box-shadow:0 4px 16px #ff7a7f33}.message-bubble.peer{background:var(--bubble-peer-bg);color:var(--text-primary);border:1px solid var(--bubble-peer-border);-webkit-backdrop-filter:blur(8px);box-shadow:var(--bubble-peer-shadow);border-bottom-left-radius:6px}.message-bubble.topic{border:2px solid #ff7a7f4d}.topic-tag{color:inherit;background:#ffffff40;border-radius:8px;align-items:center;gap:4px;margin-bottom:6px;padding:3px 10px;font-size:11px;display:inline-flex}.message-bubble.peer .topic-tag{color:var(--nebula-pink);background:#ff7a7f26}.message-text{white-space:pre-wrap}.message-bubble.game-card{color:#442018;background:#fff7ed;border:1px solid #f472b638;border-radius:16px;width:min(78vw,320px);padding:14px}.message-bubble.game-card.me{color:#442018;background:linear-gradient(135deg,#ffe4e6,#fff7ed)}.message-bubble.game-card.peer{background:#fffaf5}.game-card-header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.game-card-kicker{color:#9f1239;font-size:12px;font-weight:700}.game-card-type{color:#9f1239;background:#be123c1a;border-radius:999px;flex:none;padding:4px 8px;font-size:12px;font-weight:700}.game-card-prompt{word-break:break-word;white-space:pre-wrap;font-size:15px;font-weight:650;line-height:1.55}.game-card-choices{background:#ffffff94;border:1px solid #be123c24;border-radius:12px;margin-top:12px;padding:10px}.game-card-choices>span{color:#9f1239;margin-bottom:8px;font-size:12px;font-weight:800;display:block}.game-card-choice-grid{grid-template-columns:repeat(auto-fit,minmax(42px,1fr));gap:8px;display:grid}.game-card-choice-grid button{color:#9f1239;cursor:pointer;background:#ffffffbd;border:1px solid #be123c2e;border-radius:999px;min-height:34px;font-size:14px;font-weight:800;transition:transform .18s,border-color .18s,background .18s}.game-card-choice-grid button:hover{background:#ffe4e6e6;border-color:#be123c5c;transform:translateY(-1px)}.game-card-choice-grid button:active{transform:translateY(0)}.game-card-choice-hint{color:#8a6b61;margin:0;font-size:13px;line-height:1.45}.game-card-rule,.game-card-reveal{background:#ffffff94;border:1px solid #be123c1f;border-radius:12px;margin-top:12px;padding:10px}.game-card-rule span,.game-card-reveal span{color:#9f1239;margin-bottom:4px;font-size:12px;font-weight:800;display:block}.game-card-rule p,.game-card-reveal p{color:#6b3d33;margin:0;font-size:13px;line-height:1.45}.game-card-reveal{background:#ffe4e6b3;border-color:#be123c2e}.game-card-penalty{background:#ffffffad;border:1px dashed #be123c38;border-radius:12px;margin-top:12px;padding:10px}.game-card-penalty span{color:#9f1239;margin-bottom:4px;font-size:12px;font-weight:700;display:block}.game-card-penalty p{margin:0;font-size:14px;line-height:1.5}.game-card-note{color:#8a6b61;margin-top:10px;font-size:12px;line-height:1.4}.message-footer{justify-content:flex-end;align-items:center;gap:6px;margin-top:6px;display:flex}.message-bubble.peer .message-footer{justify-content:flex-start}.message-time{opacity:.7;font-size:11px}.message-bubble.me .message-time{color:#fff9}.message-bubble.peer .message-time{color:var(--text-secondary)}.message-status{align-items:center;font-size:11px;display:flex}.message-status svg{width:12px;height:12px}.message-status .spin{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.message-actions{gap:4px;margin-top:6px;display:flex}.msg-action-btn{cursor:pointer;border:none;border-radius:10px;align-items:center;gap:4px;padding:5px 12px;font-size:12px;font-weight:600;transition:all .2s;display:flex}.msg-action-btn.retry{color:#fbbf24;background:#fbbf2426}.msg-action-btn.retry:hover{background:#fbbf2440}.msg-action-btn.delete{color:#fda4af;background:#f43f5e26}.msg-action-btn.delete:hover{background:#f43f5e40}.system-bubble{background:var(--system-bubble-bg);border:1px solid var(--system-bubble-border);color:var(--text-secondary);white-space:pre-wrap;border-radius:16px;align-items:center;gap:8px;padding:10px 18px;font-size:13px;line-height:1.6;display:flex}.system-bubble svg{color:#ff7a7f66;flex-shrink:0}.message-bubble.media{max-width:300px;padding:0;overflow:hidden}.message-bubble.media .message-footer{padding:6px 14px}.media-blur{background:var(--media-blur-bg);cursor:pointer;border-radius:16px 16px 0 0;justify-content:center;align-items:center;width:280px;height:200px;transition:all .3s;display:flex;position:relative}.media-blur:hover{background:linear-gradient(135deg,#ff8a802e,#d4a5741f)}.blur-overlay{color:#ff7a7f80;flex-direction:column;align-items:center;gap:10px;font-size:14px;font-weight:500;display:flex}.media-info{color:var(--text-secondary);background:rgba(var(--surface-rgb), .8);border-radius:8px;align-items:center;gap:4px;padding:3px 10px;font-size:11px;display:flex;position:absolute;bottom:10px;right:10px}.media-revealed{cursor:pointer;position:relative}.media-revealed img{object-fit:contain;cursor:zoom-in;border-radius:16px 16px 0 0;width:auto;max-width:280px;height:auto;max-height:340px;display:block}.reveal-hint{color:#fff;opacity:0;background:#00000080;border-radius:8px;padding:4px 12px;font-size:11px;transition:opacity .2s;position:absolute;bottom:10px;right:10px}.media-revealed:hover .reveal-hint{opacity:1}.media-collapse-btn{color:#fff;cursor:pointer;opacity:0;background:#00000080;border:none;border-radius:8px;padding:4px 10px;font-size:11px;transition:opacity .2s;position:absolute;top:10px;right:10px}.media-revealed:hover .media-collapse-btn{opacity:1}.image-viewer{z-index:120;background:var(--image-viewer-bg);cursor:zoom-out;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.image-viewer img{object-fit:contain;cursor:default;border-radius:12px;max-width:min(96vw,1200px);max-height:92dvh;box-shadow:0 20px 60px #00000080}.image-viewer-close{top:calc(16px + env(safe-area-inset-top,0));right:calc(16px + env(safe-area-inset-right,0));color:#fff;cursor:pointer;background:#ffffff1f;border:none;border-radius:50%;width:40px;height:40px;font-size:28px;line-height:1;position:fixed}.media-video{max-width:280px}.video-player{border-radius:16px 16px 0 0;width:100%;max-height:300px;display:block}.media-video .media-info{color:var(--text-muted);background:0 0;padding:10px 14px;font-size:12px;position:static}@media (width<=480px){.message-row{max-width:85%}.message-list{gap:10px;padding:12px 10px}.media-blur,.media-revealed img{max-width:220px;max-height:260px}.media-blur{width:220px;height:160px}.media-video{max-width:220px}.media-collapse-btn,.media-revealed .reveal-hint{opacity:1}.image-viewer{padding:12px}.image-viewer img{border-radius:8px;max-width:96vw;max-height:88dvh}}.message-bubble.sticker-bubble{box-shadow:none;background:0 0;border:none;padding:6px}.message-bubble.sticker-bubble.me,.message-bubble.sticker-bubble.peer{background:0 0}.sticker-bubble-svg{width:80px;height:80px;display:block}.sticker-heartbeat{animation:1s ease-in-out infinite stickerHeartbeatBig}.sticker-catpaw{animation:1.5s ease-in-out infinite stickerCatPawBig}.sticker-kiss{animation:1.2s ease-in-out infinite stickerKissBig}.sticker-hug{animation:1.8s ease-in-out infinite stickerHugBig}.sticker-rose{animation:2s ease-in-out infinite stickerRoseBig}.sticker-cry{animation:1.6s ease-in-out infinite stickerCryBig}.sticker-angry{animation:.8s ease-in-out infinite stickerAngryBig}.sticker-sleep{animation:2.5s ease-in-out infinite stickerSleepBig}.sticker-sparkle{animation:1s ease-in-out infinite stickerSparkleBig}.sticker-rainbow{animation:1.5s ease-in-out infinite stickerRainbowBig}.sticker-butterfly{animation:2s ease-in-out infinite stickerButterflyBig}.sticker-star{animation:1.2s ease-in-out infinite stickerStarBig}@keyframes stickerHeartbeatBig{0%,to{transform:scale(1)}15%{transform:scale(1.25)}30%{transform:scale(1)}45%{transform:scale(1.18)}60%{transform:scale(1)}}@keyframes stickerCatPawBig{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-5px)scale(1.08)}}@keyframes stickerKissBig{0%,to{transform:scale(1)rotate(0)}25%{transform:scale(1.12)rotate(-4deg)}75%{transform:scale(1.08)rotate(4deg)}}@keyframes stickerHugBig{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@keyframes stickerRoseBig{0%,to{transform:rotate(0)}50%{transform:rotate(5deg)scale(1.08)}}@keyframes stickerCryBig{0%,to{opacity:1;transform:translateY(0)}50%{opacity:.8;transform:translateY(3px)}}@keyframes stickerAngryBig{0%,to{transform:translate(0)}25%{transform:translate(-3px)}75%{transform:translate(3px)}}@keyframes stickerSleepBig{0%,to{transform:scale(1)rotate(0)}50%{transform:scale(.95)rotate(2deg)}}@keyframes stickerSparkleBig{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.12)}}@keyframes stickerRainbowBig{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes stickerButterflyBig{0%,to{transform:rotate(0)scale(1)}25%{transform:rotate(-3deg)scale(1.05)}75%{transform:rotate(3deg)scale(1.05)}}@keyframes stickerStarBig{0%,to{opacity:1;transform:rotate(0)scale(1)}50%{opacity:.8;transform:rotate(15deg)scale(1.15)}}.sticker-fallback{justify-content:center;align-items:center;font-size:48px;display:flex}.message-footer-sticker{justify-content:center;margin-top:2px;display:flex}.message-footer-sticker .message-time{color:var(--text-muted);font-size:11px}.effect-overlay{pointer-events:none;z-index:30;position:absolute;inset:0;overflow:hidden}.effect-catpaw-container{animation:.6s cubic-bezier(.34,1.56,.64,1) forwards catPawEnter,1.2s ease-in-out .6s infinite catPawFloat,.4s ease-in 2.2s forwards catPawExit;position:absolute;bottom:10%;left:50%;transform:translate(-50%)}.effect-catpaw-big{width:120px;height:120px}@keyframes catPawEnter{0%{opacity:0;transform:translate(-50%)translateY(100px)scale(.3)}to{opacity:1;transform:translate(-50%)translateY(0)scale(1)}}@keyframes catPawFloat{0%,to{transform:translate(-50%)translateY(0)}50%{transform:translate(-50%)translateY(-15px)}}@keyframes catPawExit{to{opacity:0;transform:translate(-50%)translateY(100px)scale(.3)}}.effect-sparkles{position:absolute;inset:-20px}.sparkle{font-size:24px;animation:.8s ease-out forwards sparklePop;position:absolute}.sparkle.s1{animation-delay:.3s;top:0;left:20%}.sparkle.s2{animation-delay:.5s;top:-10px;right:10%}.sparkle.s3{animation-delay:.7s;bottom:10px;right:20%}@keyframes sparklePop{0%{opacity:1;transform:scale(0)}to{opacity:0;transform:scale(1.5)translateY(-20px)}}.effect-watergun-container{animation:.5s cubic-bezier(.34,1.56,.64,1) forwards waterGunEnter,.3s ease-in-out .5s 3 waterGunShake,.4s ease-in 2s forwards waterGunExit;position:absolute;bottom:20%;right:-10%}.effect-watergun-big{width:140px;height:80px}@keyframes waterGunEnter{0%{opacity:0;transform:translate(100px)rotate(-20deg)}to{opacity:1;transform:translate(0)rotate(-5deg)}}@keyframes waterGunShake{0%,to{transform:rotate(-5deg)}50%{transform:rotate(8deg)}}@keyframes waterGunExit{to{opacity:0;transform:translate(100px)rotate(-20deg)}}.water-drops{position:absolute;inset:0}.drop{opacity:0;font-size:20px;animation:1s ease-out forwards waterDrop;position:absolute}.drop.d1{animation-delay:.6s;top:0;left:30%}.drop.d2{animation-delay:.8s;top:-10px;left:50%}.drop.d3{animation-delay:1s;top:5px;left:40%}.drop.d4{animation-delay:1.2s;top:-5px;left:25%}@keyframes waterDrop{0%{opacity:1;transform:translate(0)scale(.5)}to{transform:translate(var(--dx,20px), var(--dy,-60px)) scale(1);opacity:0}}.effect-hearts-container{position:absolute;inset:0}.falling-heart{font-size:28px;animation:2s linear forwards heartFall;position:absolute;top:-40px}@keyframes heartFall{0%{opacity:1;transform:translateY(0)rotate(0)scale(.5)}50%{opacity:.8;transform:translateY(50vh)rotate(180deg)scale(1.2)}to{opacity:0;transform:translateY(100vh)rotate(360deg)scale(.8)}}.effect-rose-container{animation:.8s cubic-bezier(.34,1.56,.64,1) forwards roseBloom,1s .8s roseStay,.5s 1.8s forwards roseFade;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.effect-rose-big{width:100px;height:100px}@keyframes roseBloom{0%{opacity:0;transform:translate(-50%,-50%)scale(0)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes roseStay{0%,to{transform:translate(-50%,-50%)scale(1)}}@keyframes roseFade{to{opacity:0;transform:translate(-50%,-50%)scale(1.3)}}.rose-petals{position:absolute;inset:-40px}.petal{opacity:0;font-size:18px;animation:1.5s ease-out forwards petalSpread;position:absolute;top:50%;left:50%}.petal.p0{animation-delay:.3s}.petal.p1{animation-delay:.4s}.petal.p2{animation-delay:.5s}.petal.p3{animation-delay:.6s}.petal.p4{animation-delay:.7s}.petal.p5{animation-delay:.4s}.petal.p6{animation-delay:.5s}.petal.p7{animation-delay:.6s}@keyframes petalSpread{0%{opacity:1;transform:translate(-50%,-50%)scale(0)}to{transform:translate(calc(-50% + var(--px,40px)), calc(-50% + var(--py,-40px))) scale(1.2);opacity:0}}.effect-kiss-container{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.flying-kiss{opacity:0;font-size:36px;animation:1.8s ease-out forwards kissFly;position:absolute}.flying-kiss.k0{animation-delay:0s}.flying-kiss.k1{animation-delay:.2s}.flying-kiss.k2{animation-delay:.4s}.flying-kiss.k3{animation-delay:.3s}.flying-kiss.k4{animation-delay:.5s}.flying-kiss.k5{animation-delay:.1s}@keyframes kissFly{0%{opacity:1;transform:translate(0)scale(.5)}50%{transform:translate(calc(var(--kx,30px) * 1), calc(var(--ky,-40px) * 1)) scale(1.3);opacity:.8}to{transform:translate(calc(var(--kx,50px) * 2), calc(var(--ky,-80px) * 2)) scale(1.5);opacity:0}}.kiss-sparkles{position:absolute;inset:-30px}.effect-hug-container{animation:.7s cubic-bezier(.34,1.56,.64,1) forwards hugEnter,.6s ease-in-out .7s 2 hugWiggle,.4s ease-in 2s forwards hugExit;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.effect-bear-big{width:140px;height:140px}@keyframes hugEnter{0%{opacity:0;transform:translate(-50%,-50%)scale(.2)rotate(-20deg)}to{opacity:1;transform:translate(-50%,-50%)scale(1)rotate(0)}}@keyframes hugWiggle{0%,to{transform:translate(-50%,-50%)scale(1)rotate(0)}25%{transform:translate(-50%,-50%)scale(1.1)rotate(-5deg)}75%{transform:translate(-50%,-50%)scale(1.1)rotate(5deg)}}@keyframes hugExit{to{opacity:0;transform:translate(-50%,-50%)scale(.2)rotate(20deg)}}.hug-hearts{position:absolute;inset:-30px}.heart{opacity:0;font-size:22px;animation:1.5s ease-out forwards heartRise;position:absolute}.heart.h1{animation-delay:.8s;top:50%;left:-20px}.heart.h2{animation-delay:1s;top:30%;right:-15px}.heart.h3{animation-delay:1.2s;top:60%;right:-10px}@keyframes heartRise{0%{opacity:1;transform:translateY(0)scale(.5)}to{opacity:0;transform:translateY(-40px)scale(1.2)}}@media (width<=480px){.effect-catpaw-big{width:90px;height:90px}.effect-watergun-big{width:110px;height:60px}.effect-rose-big{width:70px;height:70px}.effect-bear-big{width:100px;height:100px}.sticker-bubble-svg{width:60px;height:60px}.flying-kiss{font-size:28px}.falling-heart{font-size:22px}}.typing-indicator{padding:4px 12px;display:flex}.typing-bubble{background:#ff7a7f26;border-radius:12px 12px 12px 4px;align-items:center;gap:4px;padding:8px 14px;display:inline-flex}.typing-dot{background:var(--nebula-indigo);border-radius:50%;width:7px;height:7px;animation:1.4s ease-in-out infinite typingBounce}.typing-dot:nth-child(2){animation-delay:.2s}.typing-dot:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-6px)}}.scroll-to-bottom-btn{background:var(--grad-btn);color:#fff;cursor:pointer;z-index:10;border:none;border-radius:20px;align-self:center;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:600;transition:transform .15s,box-shadow .15s;animation:.2s scrollBtnFadeIn;display:flex;position:sticky;bottom:12px;box-shadow:0 4px 16px #ff7a7f4d}.scroll-to-bottom-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ff7a7f66}.scroll-to-bottom-btn.icon-only{padding:8px 10px}@keyframes scrollBtnFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.video-blur{cursor:pointer;background:var(--media-blur-bg);flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:80px;padding:20px;display:flex}.video-blur .blur-overlay{flex-direction:column;gap:6px}.video-blur .media-info{margin-top:4px}.toast-container{z-index:10000;pointer-events:none;flex-direction:column;gap:8px;max-width:90%;display:flex;position:fixed;top:60px;left:50%;transform:translate(-50%)}.toast{color:#fff;cursor:pointer;pointer-events:auto;-webkit-backdrop-filter:blur(10px);white-space:nowrap;text-overflow:ellipsis;border-radius:12px;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:500;animation:.3s toastSlideIn;display:flex;overflow:hidden;box-shadow:0 4px 16px #00000026}@keyframes toastSlideIn{0%{opacity:0;transform:translateY(-20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.toast-info{background:#8b5cf6eb}.toast-success{background:#10b981eb}.toast-error{background:#f43f5eeb}.toast-warning{color:#3d1a3d;background:#fbbf24eb}.toast-icon{flex-shrink:0;font-size:16px}.toast-message{text-overflow:ellipsis;overflow:hidden}.composer{z-index:40;width:100%;min-width:0;max-width:100%;padding:10px 16px;padding-bottom:calc(10px + env(safe-area-inset-bottom,0px));background:var(--surface-solid-2);-webkit-backdrop-filter:blur(40px);border-top:1px solid var(--glass-border);flex-shrink:0;align-items:flex-end;gap:8px;display:flex;position:sticky;bottom:0;overflow:visible}.composer-left{flex-shrink:0;position:relative}.composer-btn{width:40px;height:40px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:14px;justify-content:center;align-items:center;transition:all .2s;display:flex}.composer-btn:hover:not(:disabled){color:var(--nebula-indigo);background:#ff7a7f1a;transform:scale(1.05)}.composer-btn:disabled{opacity:.3;cursor:not-allowed}.attach-menu{background:var(--space-mid);z-index:50;border:1px solid #ff7a7f1f;border-radius:18px;flex-direction:column;gap:2px;min-width:150px;margin-bottom:8px;padding:8px;animation:.2s floatUp;display:flex;position:absolute;bottom:100%;left:0;box-shadow:0 8px 32px #0006}.attach-menu button{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:12px;align-items:center;gap:10px;padding:12px 16px;font-size:14px;font-weight:500;transition:all .2s;display:flex}.attach-menu button:hover{color:var(--nebula-indigo);background:#ff7a7f1a}.composer-center{flex:1;align-items:flex-end;min-width:0;display:flex}.composer-input{width:100%;height:auto;min-height:44px;color:var(--text-primary);resize:none;scrollbar-width:none;-ms-overflow-style:none;box-sizing:border-box;background:#ff7a7f0d;border:2px solid #ff7a7f1f;border-radius:22px;outline:none;max-height:120px;padding:11px 16px;font-family:inherit;font-size:15px;line-height:1.5;transition:all .25s;display:block;overflow:hidden auto}.composer-input::-webkit-scrollbar{width:0;height:0;display:none}.composer-input:focus{background:#ff7a7f14;border-color:#ff7a7f66;box-shadow:0 0 0 4px #ff7a7f0f}.composer-input::placeholder{color:var(--text-muted)}.composer-input:disabled{cursor:not-allowed;opacity:.5;background:#ff7a7f08}html[data-keyboard-open=true] .composer{padding-bottom:8px}.composer-right{flex-shrink:0;align-items:center;gap:2px;min-width:0;display:flex}.emoji-wrapper{position:relative}.emoji-trigger{color:#fbbf24b3}.emoji-trigger:hover:not(:disabled){color:#fbbf24;background:#fbbf241a}.emoji-panel{background:var(--space-mid);z-index:60;border:1px solid #ff7a7f1f;border-radius:20px;flex-direction:column;width:340px;max-height:420px;margin-bottom:8px;animation:.25s cubic-bezier(.16,1,.3,1) floatUp;display:flex;position:absolute;bottom:100%;right:-80px;overflow:hidden;box-shadow:0 12px 40px #0006}.emoji-tabs{background:rgba(var(--surface-rgb), .5);border-bottom:1px solid #ff7a7f14;flex-shrink:0;gap:2px;padding:10px 12px;display:flex}.emoji-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:10px;flex:1;padding:8px 10px;font-size:12px;font-weight:600;transition:all .2s}.emoji-tab:hover{color:var(--nebula-indigo)}.emoji-tab.active{color:var(--nebula-indigo);background:#ff7a7f1a;box-shadow:0 1px 4px #ff7a7f14}.emoji-grid{grid-template-columns:repeat(9,1fr);gap:4px;max-height:320px;padding:12px;display:grid;overflow-y:auto}.emoji-item{cursor:pointer;width:36px;height:36px;color:inherit;background:0 0;border:none;border-radius:10px;justify-content:center;align-items:center;font-size:20px;transition:all .15s;display:flex}.emoji-item:hover{background:#ff7a7f1a;transform:scale(1.2)}.sticker-panel,.effect-panel{max-height:340px;padding:12px;overflow-y:auto}.sticker-hint{color:var(--text-muted);text-align:center;margin:0 0 12px;font-size:12px;line-height:1.4}.sticker-grid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.sticker-item{cursor:pointer;background:0 0;border:none;border-radius:12px;flex-direction:column;align-items:center;gap:6px;padding:8px 4px;transition:all .2s;display:flex}.sticker-item:hover{background:#ff7a7f14;transform:scale(1.08)}.sticker-anim{background:linear-gradient(135deg,#ff7a7f1a,#d4a57414);border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;padding:6px;transition:all .3s;display:flex}.sticker-anim svg{width:100%;height:100%}.sticker-heartbeat svg{animation:1s ease-in-out infinite stickerHeartbeat}.sticker-catpaw svg{animation:1.5s ease-in-out infinite stickerCatPaw}.sticker-kiss svg{animation:1.2s ease-in-out infinite stickerKiss}.sticker-hug svg{animation:1.8s ease-in-out infinite stickerHug}.sticker-rose svg{animation:2s ease-in-out infinite stickerRose}.sticker-cry svg{animation:1.6s ease-in-out infinite stickerCry}.sticker-angry svg{animation:.8s ease-in-out infinite stickerAngry}.sticker-sleep svg{animation:2.5s ease-in-out infinite stickerSleep}.sticker-sparkle svg{animation:1s ease-in-out infinite stickerSparkle}.sticker-rainbow svg{animation:1.5s ease-in-out infinite stickerRainbow}.sticker-butterfly svg{animation:2s ease-in-out infinite stickerButterfly}.sticker-star svg{animation:1.2s ease-in-out infinite stickerStar}@keyframes stickerHeartbeat{0%,to{transform:scale(1)}15%{transform:scale(1.3)}30%{transform:scale(1)}45%{transform:scale(1.2)}60%{transform:scale(1)}}@keyframes stickerCatPaw{0%,to{transform:translateY(0)scale(1)}30%{transform:translateY(-4px)scale(1.1)}60%{transform:translateY(0)scale(1)}}@keyframes stickerKiss{0%,to{transform:scale(1)rotate(0)}25%{transform:scale(1.15)rotate(-5deg)}75%{transform:scale(1.1)rotate(5deg)}}@keyframes stickerHug{0%,to{transform:scale(1)}50%{transform:scale(1.12)}}@keyframes stickerRose{0%,to{transform:rotate(0)}25%{transform:rotate(5deg)scale(1.1)}75%{transform:rotate(-5deg)scale(1.05)}}@keyframes stickerCry{0%,to{opacity:1;transform:translateY(0)}50%{opacity:.8;transform:translateY(2px)}}@keyframes stickerAngry{0%,to{transform:translate(0)}25%{transform:translate(-2px)}75%{transform:translate(2px)}}@keyframes stickerSleep{0%,to{transform:scale(1)rotate(0)}50%{transform:scale(.95)rotate(2deg)}}@keyframes stickerSparkle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.15)}}@keyframes stickerRainbow{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes stickerButterfly{0%,to{transform:rotate(0)scale(1)}25%{transform:rotate(-3deg)scale(1.05)}75%{transform:rotate(3deg)scale(1.05)}}@keyframes stickerStar{0%,to{opacity:1;transform:rotate(0)scale(1)}50%{opacity:.8;transform:rotate(15deg)scale(1.2)}}.sticker-label{color:var(--text-muted);text-align:center;white-space:nowrap;font-size:10px;font-weight:500}.effect-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.effect-item{cursor:pointer;background:0 0;border:2px solid #ff7a7f1a;border-radius:14px;flex-direction:column;align-items:center;gap:6px;padding:10px 6px;transition:all .2s;display:flex}.effect-item:hover{background:linear-gradient(135deg,#ff7a7f14,#d4a5740f);border-color:#ff7a7f66;transform:scale(1.05);box-shadow:0 4px 12px #ff7a7f1f}.effect-preview{background:linear-gradient(135deg,#ff7a7f1a,#d4a57414);border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;padding:5px;transition:all .3s;display:flex}.effect-preview svg{width:100%;height:100%}.effect-preview-catpaw svg{animation:.8s ease-in-out infinite effectCatPaw}.effect-preview-watergun svg{animation:.6s ease-in-out infinite effectWatergun}.effect-preview-heartrain svg{animation:1.5s ease-in-out infinite effectHeartrain}.effect-preview-roseboom svg{animation:1.2s ease-in-out infinite effectRoseboom}.effect-preview-kissfly svg{animation:.9s ease-in-out infinite effectKissfly}.effect-preview-hugbear svg{animation:1.6s ease-in-out infinite effectHugbear}@keyframes effectCatPaw{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-6px)scale(1.15)}}@keyframes effectWatergun{0%,to{transform:translate(0)}30%{transform:translate(3px)scale(1.1)}60%{transform:translate(-2px)}}@keyframes effectHeartrain{0%,to{opacity:1;transform:translateY(0)}50%{opacity:.7;transform:translateY(-4px)}}@keyframes effectRoseboom{0%{opacity:.5;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}to{opacity:.8;transform:scale(1)}}@keyframes effectKissfly{0%,to{transform:translate(0)scale(1)}50%{transform:translate(4px)scale(1.1)rotate(-5deg)}}@keyframes effectHugbear{0%,to{transform:scale(1)}50%{transform:scale(1.1)rotate(3deg)}}.custom-emoji-panel{max-height:340px;padding:12px;overflow-y:auto}.custom-emoji-upload{color:#ff7a7f99;cursor:pointer;background:#ff7a7f0a;border:2px dashed #ff7a7f2e;border-radius:14px;justify-content:center;align-items:center;gap:8px;width:100%;margin-bottom:14px;padding:14px;font-size:14px;font-weight:600;transition:all .2s;display:flex}.custom-emoji-upload:hover{background:#ff7a7f14;border-color:#ff7a7f80}.custom-empty-hint{text-align:center;color:var(--text-muted);padding:20px;font-size:13px}.custom-emoji-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.custom-emoji-item{aspect-ratio:1;position:relative}.custom-emoji-btn{cursor:pointer;background:#ff7a7f0f;border:none;border-radius:12px;width:100%;height:100%;padding:0;transition:all .2s;overflow:hidden}.custom-emoji-btn:hover{transform:scale(1.08);box-shadow:0 4px 12px #ff7a7f26}.custom-emoji-btn img{object-fit:contain;width:100%;height:100%}.custom-emoji-delete{color:#fff;cursor:pointer;opacity:0;background:#f43f5e;border:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;transition:opacity .2s;display:flex;position:absolute;top:-4px;right:-4px}.custom-emoji-item:hover .custom-emoji-delete{opacity:1}.send-btn{color:#ff7a7f59;cursor:pointer;background:#ff7a7f1a;border:none;border-radius:14px;justify-content:center;align-items:center;width:40px;height:40px;transition:all .2s;display:flex}.send-btn.active{background:var(--grad-btn);color:#fff;box-shadow:0 4px 16px #ff7a7f4d}.send-btn.active:hover{background:linear-gradient(135deg, var(--nebula-pink), var(--nebula-purple));transform:scale(1.08);box-shadow:0 6px 24px #ff7a7f66}.send-btn:disabled{cursor:not-allowed}.preview-overlay{-webkit-backdrop-filter:blur(8px);z-index:100;background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.preview-dialog{background:var(--space-mid);border:1px solid #ff7a7f1f;border-radius:24px;width:100%;max-width:480px;max-height:90vh;animation:.3s floatUp;overflow-y:auto;box-shadow:0 20px 60px #00000080}.preview-header{border-bottom:1px solid #ff7a7f14;justify-content:space-between;align-items:center;padding:18px 24px;display:flex}.preview-header h3{color:var(--text-primary);margin:0;font-size:17px;font-weight:700}.preview-close{width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:10px;justify-content:center;align-items:center;transition:all .2s;display:flex}.preview-close:hover{color:var(--nebula-indigo);background:#ff7a7f1a}.preview-content{background:rgba(var(--surface-rgb), .4);justify-content:center;align-items:center;padding:16px;display:flex}.preview-image,.preview-video{border-radius:14px;max-width:100%;max-height:300px}.preview-info{color:var(--text-secondary);justify-content:space-between;align-items:center;padding:12px 24px;font-size:13px;display:flex}.preview-actions{border-top:1px solid #ff7a7f14;gap:10px;padding:18px 24px;display:flex}.preview-btn{cursor:pointer;border:none;border-radius:14px;flex:1;padding:13px;font-size:14px;font-weight:700;transition:all .2s}.preview-btn.cancel{color:var(--text-secondary);background:#ff7a7f14}.preview-btn.cancel:hover{background:#ff7a7f26}.preview-btn.send{background:var(--grad-btn);color:#fff}.preview-btn.send:hover{background:var(--grad-btn-hover);box-shadow:0 4px 16px #ff7a7f4d}.strategy-trigger{color:#fbbf2499;position:relative}.strategy-trigger:hover:not(:disabled){color:#fbbf24;background:#fbbf241a}.strategy-trigger:after{content:"表达建议";color:#fbbf2480;white-space:nowrap;opacity:0;font-size:10px;font-weight:500;transition:opacity .2s;position:absolute;bottom:-18px;left:50%;transform:translate(-50%)}.strategy-trigger:hover:after{opacity:1}.recent-stickers{border-bottom:1px solid #ff7a7f14;align-items:center;gap:10px;padding:8px 12px;display:flex}.recent-label{color:var(--text-muted);flex-shrink:0;font-size:11px;font-weight:600}.recent-items{flex:1;gap:6px;display:flex;overflow-x:auto}.recent-items::-webkit-scrollbar{display:none}.recent-item{cursor:pointer;background:#ff7a7f0f;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;padding:0;transition:all .15s;display:flex;overflow:hidden}.recent-item:hover{background:#ff7a7f26;transform:scale(1.15)}.recent-emoji{font-size:18px;line-height:1}.recent-gif{object-fit:cover;border-radius:6px;width:100%;height:100%}.emoji-cat-panel{flex-direction:column;display:flex;overflow:hidden}.emoji-cat-tabs{background:0 0;border-bottom:1px solid #ff7a7f14;flex-shrink:0;gap:2px;padding:8px 12px;display:flex;overflow-x:auto}.emoji-cat-tabs::-webkit-scrollbar{display:none}.emoji-cat-tab{color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:8px;flex-shrink:0;padding:6px 10px;font-size:12px;font-weight:600;transition:all .2s}.emoji-cat-tab:hover{color:var(--nebula-indigo);background:#ff7a7f0f}.emoji-cat-tab.active{color:var(--nebula-indigo);background:#ff7a7f1a;box-shadow:0 1px 3px #ff7a7f1a}.preview-save-policy{background:rgba(var(--surface-rgb), .4);border-top:1px solid #ff7a7f14;align-items:center;gap:10px;padding:12px 24px;display:flex}.policy-label{color:var(--text-primary);flex-shrink:0;font-size:13px;font-weight:600}.policy-select{color:var(--text-primary);cursor:pointer;appearance:none;background:#ff7a7f0d url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%23808080' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") right 10px center no-repeat;border:2px solid #ff7a7f26;border-radius:10px;outline:none;flex:1;padding:8px 30px 8px 12px;font-family:inherit;font-size:13px;transition:border-color .2s}.policy-select:focus{border-color:#ff7a7f66}@media (width<=480px){.composer{padding:8px max(8px, env(safe-area-inset-right,0px)) calc(8px + env(safe-area-inset-bottom,0px)) max(8px, env(safe-area-inset-left,0px));align-items:flex-end;gap:6px}.composer-left,.composer-right{flex:none}.composer-center{flex:auto;min-width:0}.composer-btn,.send-btn{border-radius:13px;flex:0 0 38px;width:38px;height:38px}.composer-input{border-radius:20px;height:auto;min-height:40px;max-height:min(120px,28dvh);padding:8px 12px;font-size:16px;line-height:1.35}.emoji-panel{width:min(300px,100vw - 24px);right:0}.emoji-grid{grid-template-columns:repeat(7,1fr)}.emoji-cat-tabs{gap:0;padding:6px 8px}.emoji-cat-tab{padding:5px 8px;font-size:11px}.recent-stickers{gap:8px;padding:6px 10px}.strategy-trigger:after{display:none}}@media (width<=360px){.composer{gap:4px}.composer-btn,.send-btn{border-radius:12px;flex-basis:34px;width:34px;height:34px}.composer-input{min-height:38px;padding:8px 10px}.strategy-trigger{display:none}}@media (width<=480px){html[data-keyboard-open=true] .composer{padding-bottom:8px}}.games-panel{background:var(--surface-solid-2);flex-shrink:0;padding:6px 16px 4px}.games-toggle{width:100%;min-height:38px;color:var(--text-primary);cursor:pointer;text-align:left;background:#ff7a7f0b;border:1px solid #ff7a7f1a;border-radius:999px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:8px 12px;display:grid;box-shadow:inset 0 1px #ffffff6b}.games-toggle:disabled{opacity:.45;cursor:not-allowed}.games-toggle-main{font-size:14px;font-weight:800}.games-toggle-sub{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-muted);font-size:12px;overflow:hidden}.games-toggle-icon{color:#ff7a7fb8;font-size:12px;font-weight:700}.games-panel-body{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:8px 2px 2px;display:grid}.games-panel-intro{color:var(--text-muted);background:#ffffff57;border:1px solid #ff7a7f1a;border-radius:12px;grid-column:1/-1;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;font-size:12px;line-height:1.4;display:flex}.games-panel-intro strong{color:var(--text-primary);flex:none;font-size:13px}.games-action{min-height:58px;color:var(--text-primary);cursor:pointer;text-align:left;background:#ffffff61;border:1px solid #ff7a7f1f;border-radius:13px;flex-direction:column;align-items:flex-start;gap:4px;padding:10px 12px;transition:transform .2s,border-color .2s,box-shadow .2s;display:flex}.games-action:hover:not(:disabled){border-color:#ff7a7f66;transform:translateY(-1px);box-shadow:0 8px 18px #ff7a7f1f}.games-action:disabled{cursor:not-allowed;opacity:.5}.games-action-label{font-size:14px;font-weight:800}.games-action-desc{color:var(--text-muted);font-size:12px;line-height:1.35}@media (width<=520px){.games-panel{padding:6px 10px 4px}.games-panel-body{grid-template-columns:1fr}.games-panel-intro{flex-direction:column;align-items:flex-start;gap:4px}}.drawer-overlay{-webkit-backdrop-filter:blur(8px);z-index:200;background:#00000073;justify-content:flex-end;display:flex;position:fixed;inset:0}.drawer-panel{background:linear-gradient(180deg, var(--surface-solid-2) 0%, var(--surface-solid) 100%);border-left:1px solid #ff5a5f14;flex-direction:column;width:440px;max-width:100%;height:100%;animation:.3s cubic-bezier(.16,1,.3,1) slideInRight;display:flex;box-shadow:-4px 0 40px #0006}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.drawer-header{border-bottom:1px solid #ff5a5f14;flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;padding:12px 20px;display:flex}.drawer-tabs{background:#ff5a5f0f;border-radius:14px;flex:1;gap:2px;padding:4px;display:flex;overflow-x:auto}.drawer-tab{cursor:pointer;background:0 0;border:none;border-radius:12px;flex-direction:column;flex-shrink:0;align-items:center;gap:2px;padding:7px 12px;transition:all .2s;display:flex}.drawer-tab.active{background:var(--surface-solid);box-shadow:0 2px 8px #0003}.drawer-tab:hover:not(.active){background:#ff5a5f0f}.drawer-tab-icon{color:rgba(var(--on-surface-text-rgb), .45);font-size:10px;font-weight:800;line-height:1}.drawer-tab.active .drawer-tab-icon{color:#ff5a5f}.drawer-tab-label{color:rgba(var(--on-surface-text-rgb), .35);font-size:11px;font-weight:600}.drawer-tab.active .drawer-tab-label{color:#ff5a5f}.drawer-close{width:36px;height:36px;color:rgba(var(--on-surface-text-rgb), .35);cursor:pointer;background:0 0;border:none;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex}.drawer-close:hover{color:#ff5a5f;background:#ff5a5f1a}.drawer-content{flex:1;padding:20px;overflow-y:auto}.drawer-section-title{color:var(--on-surface-text);align-items:center;gap:8px;margin:0 0 20px;font-size:18px;font-weight:700;display:flex}.drawer-section-title svg{color:#ff5a5f}.drawer-section-desc{color:rgba(var(--on-surface-text-rgb), .45);margin:-10px 0 20px;font-size:13px;line-height:1.7}.insight-private-tag{color:#ff5a5f;background:#ff5a5f1a;border-radius:20px;margin-left:auto;padding:2px 10px;font-size:11px;font-weight:600}.setting-group{margin-bottom:28px}.setting-group.danger{background:linear-gradient(135deg,#f43f5e14,#f43f5e0a);border:1px solid #f43f5e26;border-radius:20px;padding:20px}.setting-label{color:var(--on-surface-text);margin-bottom:10px;font-size:13px;font-weight:700;display:block}.setting-desc{color:rgba(var(--on-surface-text-rgb), .4);margin:10px 0 0;font-size:13px;line-height:1.6}.mode-toggle{gap:8px;display:flex}.mode-toggle-btn{color:rgba(var(--on-surface-text-rgb), .35);cursor:pointer;background:#ff5a5f0a;border:2px solid #ff5a5f1a;border-radius:14px;flex:1;padding:10px 16px;font-size:13px;font-weight:600;transition:all .2s}.mode-toggle-btn.active{color:#ff5a5f;background:linear-gradient(135deg,#ff5a5f1a,#a855f714);border-color:#ff5a5f}.mode-toggle-btn:hover:not(.active){color:#ff5a5f;border-color:#ff5a5f4d}.setting-row{flex-direction:column;gap:10px;display:flex}.setting-item{color:var(--on-surface-text);align-items:center;gap:8px;font-size:13px;display:flex}.ai-roadmap-list{flex-direction:column;gap:8px;display:flex}.ai-roadmap-item{color:var(--on-surface-text);background:#ffffff52;border:1px solid #ff5a5f17;border-radius:14px;grid-template-columns:8px 1fr;align-items:flex-start;gap:10px;padding:10px 12px;font-size:12px;line-height:1.55;display:grid}.ai-roadmap-dot{background:linear-gradient(135deg,#ff5a5f,#f59e0b);border-radius:50%;width:7px;height:7px;margin-top:6px;box-shadow:0 0 0 4px #ff5a5f14}.danger-btn{color:#fda4af;cursor:pointer;background:#ff5a5f0a;border:1.5px solid #f43f5e26;border-radius:14px;align-items:center;gap:8px;padding:12px 18px;font-size:13px;font-weight:600;transition:all .2s;display:flex}.danger-btn:hover{background:#f43f5e14;border-color:#f43f5e4d}.clear-confirm{margin-top:14px}.clear-warning{color:#fda4af;align-items:flex-start;gap:8px;margin:0 0 14px;font-size:13px;line-height:1.6;display:flex}.clear-input{box-sizing:border-box;width:100%;color:var(--on-surface-text);background:#ff5a5f0a;border:2px solid #f43f5e33;border-radius:14px;outline:none;margin-bottom:12px;padding:12px 16px;font-size:14px}.clear-input:focus{border-color:#f43f5e66}.clear-actions{gap:8px;display:flex}.clear-btn{cursor:pointer;border:none;border-radius:14px;flex:1;padding:11px;font-size:13px;font-weight:700}.clear-btn.cancel{color:rgba(var(--on-surface-text-rgb), .6);background:#ff5a5f0f;border:1.5px solid #ff5a5f1a}.clear-btn.confirm{color:#fff;background:linear-gradient(135deg,#f43f5e,#e11d48)}.clear-btn.confirm:hover:not(:disabled){background:linear-gradient(135deg,#e11d48,#be123c)}.clear-btn.confirm:disabled{opacity:.5;cursor:not-allowed}.privacy-notice{background:#fbbf240f;border:1px solid #fbbf2426;border-radius:18px;padding:18px}.privacy-notice h4{color:#fbbf24cc;align-items:center;gap:6px;margin:0 0 12px;font-size:14px;font-weight:700;display:flex}.privacy-notice ul{margin:0;padding:0;list-style:none}.privacy-notice li{color:#fbbf24a6;margin-bottom:6px;padding-left:16px;font-size:12px;line-height:1.7;position:relative}.privacy-notice li:before{content:"•";color:#fbbf2480;position:absolute;left:4px}.insight-empty{text-align:center;flex-direction:column;align-items:center;padding:40px 20px;display:flex}.insight-empty-icon{color:#ff5a5f4d;opacity:.6;margin-bottom:16px}.insight-empty-title{color:rgba(var(--on-surface-text-rgb), .4);margin:0 0 10px;font-size:17px;font-weight:700}.insight-empty-desc{color:rgba(var(--on-surface-text-rgb), .25);margin:0 0 24px;font-size:14px;line-height:1.8}.insight-score-card{background:linear-gradient(135deg,#ff5a5f14,#a855f70f);border:1px solid #ff5a5f1f;border-radius:20px;margin-bottom:20px;padding:20px}.score-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.score-label{color:var(--on-surface-text);font-size:14px;font-weight:700}.score-level{color:#ff5a5f;background:#ff5a5f1a;border-radius:20px;padding:3px 12px;font-size:13px;font-weight:600}.score-bar-container{background:#ff5a5f1a;border-radius:10px;height:10px;margin-bottom:8px;overflow:hidden}.score-bar{background:linear-gradient(90deg,#ff5a5f,#d4a574);border-radius:10px;height:100%;transition:width .6s cubic-bezier(.16,1,.3,1)}.score-value{color:#ff5a5f;text-align:right;font-size:28px;font-weight:800}.score-value span{color:rgba(var(--on-surface-text-rgb), .35);font-size:14px;font-weight:500}.insight-stats-grid{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:20px;display:grid}.insight-stat{background:rgba(var(--surface-rgb), .5);text-align:center;border:1px solid #ff5a5f14;border-radius:16px;padding:16px}.stat-value{color:var(--on-surface-text);margin-bottom:4px;font-size:22px;font-weight:800}.stat-label{color:rgba(var(--on-surface-text-rgb), .3);font-size:12px;font-weight:500}.insight-section{margin-bottom:20px}.insight-subtitle{color:var(--on-surface-text);align-items:center;gap:6px;margin:0 0 12px;font-size:14px;font-weight:700;display:flex}.emotion-bars{flex-direction:column;gap:8px;display:flex}.emotion-bar-item{align-items:center;gap:10px;display:flex}.emotion-bar-label{width:70px;color:rgba(var(--on-surface-text-rgb), .4);flex-shrink:0;font-size:12px;font-weight:500}.emotion-bar-track{background:#ff5a5f14;border-radius:8px;flex:1;height:8px;overflow:hidden}.emotion-bar-fill{background:linear-gradient(90deg,#ff5a5f,#d4a574);border-radius:8px;height:100%;transition:width .5s}.emotion-bar-count{width:24px;color:rgba(var(--on-surface-text-rgb), .3);text-align:right;flex-shrink:0;font-size:12px}.topic-chips{flex-wrap:wrap;gap:8px;display:flex}.topic-chip{color:#ff5a5f;background:linear-gradient(135deg,#ff5a5f14,#a855f70f);border:1px solid #ff5a5f26;border-radius:20px;padding:7px 14px;font-size:13px;font-weight:600}.insight-traits{flex-direction:column;gap:8px;display:flex}.insight-trait{color:rgba(var(--on-surface-text-rgb), .45);background:#ff5a5f0a;border-radius:12px;align-items:center;gap:8px;padding:10px 14px;font-size:13px;display:flex}.trait-icon{font-size:16px}.insight-trait strong{color:var(--on-surface-text);margin:0 2px}.insight-privacy-badge{color:rgba(var(--on-surface-text-rgb), .3);background:#ff5a5f0a;border-radius:12px;justify-content:center;align-items:center;gap:6px;margin-top:20px;padding:10px;font-size:11px;font-weight:500;display:flex}.insight-privacy-badge svg{color:#ff5a5f}.strategy-disclaimer{color:#fbbf24b3;background:#fbbf240f;border:1px solid #fbbf2426;border-radius:14px;align-items:flex-start;gap:8px;margin-bottom:20px;padding:12px 16px;font-size:12px;line-height:1.6;display:flex}.strategy-disclaimer svg{color:#fbbf2480;flex-shrink:0;margin-top:1px}.strategy-step{margin-bottom:8px}.strategy-step-title{color:var(--on-surface-text);flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 16px;font-size:15px;font-weight:700;display:flex}.tone-badge{color:#ff5a5f;background:#ff5a5f14;border-radius:20px;padding:3px 10px;font-size:12px;font-weight:600}.strategy-breadcrumb{align-items:center;gap:8px;margin-bottom:16px;font-size:13px;display:flex}.breadcrumb-link{color:#ff5a5f;cursor:pointer;background:#ff5a5f0f;border:none;border-radius:10px;align-items:center;gap:4px;padding:4px 10px;font-size:12px;font-weight:600;display:flex}.breadcrumb-link:hover{background:#ff5a5f1f}.breadcrumb-current{color:rgba(var(--on-surface-text-rgb), .35);font-weight:500}.goal-grid{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px;display:grid}.goal-btn{cursor:pointer;text-align:center;background:#ff5a5f08;border:2px solid #ff5a5f1a;border-radius:18px;flex-direction:column;align-items:center;gap:8px;padding:18px 12px;transition:all .2s;display:flex}.goal-btn:hover{background:#ff5a5f14;border-color:#ff5a5f4d;transform:translateY(-2px);box-shadow:0 4px 12px #ff5a5f14}.goal-icon{font-size:28px}.goal-label{color:var(--on-surface-text);font-size:13px;font-weight:600;line-height:1.4}.custom-goal{margin-bottom:16px}.custom-goal-hint{color:rgba(var(--on-surface-text-rgb), .3);margin:0 0 8px;font-size:13px}.custom-goal-row{gap:8px;display:flex}.custom-goal-input{color:var(--on-surface-text);background:#ff5a5f0a;border:2px solid #ff5a5f1f;border-radius:14px;outline:none;flex:1;padding:10px 14px;font-size:13px;transition:border-color .2s}.custom-goal-input:focus{border-color:#ff5a5f66}.custom-goal-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#ff5a5f,#d4a574);border:none;border-radius:14px;padding:10px 18px;font-size:13px;font-weight:600;transition:all .2s}.custom-goal-btn:hover{background:linear-gradient(135deg,#f2384a,#c0904f)}.tone-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.tone-btn{cursor:pointer;background:#ff5a5f08;border:2px solid #ff5a5f1a;border-radius:18px;flex-direction:column;align-items:center;gap:6px;padding:16px 12px;transition:all .2s;display:flex}.tone-btn:hover{background:#ff5a5f14;border-color:#ff5a5f4d;transform:translateY(-1px)}.tone-emoji{font-size:28px}.tone-label{color:var(--on-surface-text);font-size:14px;font-weight:700}.draft-list{flex-direction:column;gap:12px;margin-bottom:16px;display:flex}.draft-card{background:rgba(var(--surface-rgb), .5);border:1.5px solid #ff5a5f14;border-radius:16px;padding:16px;transition:all .2s}.draft-card:hover{border-color:#ff5a5f33;box-shadow:0 2px 12px #0003}.draft-text{color:var(--on-surface-text);background:#ff5a5f0a;border-radius:12px;margin-bottom:12px;padding:12px 16px;font-size:15px;line-height:1.7}.draft-actions{gap:8px;display:flex}.draft-action-btn{cursor:pointer;border:none;border-radius:12px;align-items:center;gap:6px;padding:8px 14px;font-size:12px;font-weight:600;transition:all .2s;display:flex}.draft-action-btn.insert{color:#fff;background:linear-gradient(135deg,#ff5a5f,#d4a574)}.draft-action-btn.insert:hover{background:linear-gradient(135deg,#f2384a,#c0904f)}.draft-action-btn.insert.copied{background:#10b981}.draft-warning{color:rgba(var(--on-surface-text-rgb), .35);background:#ff5a5f0a;border-radius:12px;align-items:flex-start;gap:6px;padding:10px 14px;font-size:11px;line-height:1.5;display:flex}.draft-warning svg{color:#ff5a5f;flex-shrink:0;margin-top:1px}.strategy-context{background:#ff5a5f0a;border-radius:14px;margin-top:20px;padding:12px 16px}.context-row{justify-content:space-between;align-items:center;display:flex}.context-label{color:rgba(var(--on-surface-text-rgb), .35);font-size:12px;font-weight:700}.context-value{color:var(--on-surface-text);font-size:12px}.topic-cards-section{background:linear-gradient(135deg,#fbbf240f 0%,#ff5a5f0a 100%);border:1px solid #fbbf2426;border-radius:14px;margin-top:20px;padding:14px}.topic-cards-header{color:#fbbf24b3;align-items:center;gap:8px;margin-bottom:10px;font-size:13px;font-weight:700;display:flex}.topic-random-btn{color:#fbbf24b3;cursor:pointer;background:#fbbf240f;border:1px solid #fbbf2433;border-radius:8px;align-items:center;gap:4px;margin-left:auto;padding:4px 10px;font-size:11px;font-weight:600;transition:all .2s;display:flex}.topic-random-btn:hover:not(:disabled){background:#fbbf241f;border-color:#fbbf2466}.topic-random-btn:disabled{opacity:.4;cursor:not-allowed}.topic-cat-tabs{gap:2px;margin-bottom:10px;display:flex;overflow-x:auto}.topic-cat-tabs::-webkit-scrollbar{display:none}.topic-cat-tab{color:#fbbf2480;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:8px;padding:5px 10px;font-size:11px;font-weight:600;transition:all .2s}.topic-cat-tab:hover{background:#fbbf241a}.topic-cat-tab.active{color:#fff;background:#f59e0b}.topic-card-list{flex-direction:column;gap:6px;max-height:200px;display:flex;overflow-y:auto}.topic-card-item{background:rgba(var(--surface-rgb), .4);cursor:pointer;text-align:left;color:var(--on-surface-text);border:1px solid #fbbf241f;border-radius:10px;align-items:center;gap:8px;padding:10px 12px;font-size:12px;line-height:1.5;transition:all .15s;display:flex}.topic-card-item:hover:not(:disabled){background:#fbbf240f;border-color:#fbbf2466;transform:translate(2px)}.topic-card-item:disabled{opacity:.5;cursor:not-allowed}.topic-sensitivity-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.topic-card-prompt{flex:1;min-width:0}.topic-send-icon{color:rgba(var(--on-surface-text-rgb), .25);flex-shrink:0;transition:color .2s}.topic-card-item:hover .topic-send-icon{color:#f59e0b}.blocked-state{text-align:center;background:linear-gradient(135deg,#f43f5e14,#f43f5e0a);border:1px solid #f43f5e26;border-radius:20px;margin-bottom:16px;padding:24px 16px}.blocked-icon{margin-bottom:14px}.blocked-title{color:#fda4af;margin:0 0 10px;font-size:16px;font-weight:700}.blocked-text{color:#fda4afb3;margin:0 0 20px;font-size:13px;line-height:1.7}.blocked-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.blocked-btn{cursor:pointer;border:none;border-radius:14px;padding:10px 20px;font-size:13px;font-weight:600;transition:all .2s}.blocked-btn.primary{color:#fff;background:linear-gradient(135deg,#ff5a5f,#d4a574)}.blocked-btn.primary:hover{background:linear-gradient(135deg,#f2384a,#c0904f)}.blocked-btn.secondary{color:var(--on-surface-text);background:#ff5a5f0f;border:1.5px solid #ff5a5f1a}.blocked-btn.secondary:hover{background:#ff5a5f1f}.progress-save-area{margin-bottom:20px}.progress-save-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#ff5a5f,#d4a574);border:none;border-radius:16px;justify-content:center;align-items:center;gap:8px;width:100%;padding:14px;font-size:15px;font-weight:700;transition:all .2s;display:flex}.progress-save-btn:hover{background:linear-gradient(135deg,#f2384a,#c0904f);transform:translateY(-1px);box-shadow:0 4px 16px #ff5a5f33}.progress-save-hint{color:rgba(var(--on-surface-text-rgb),.25);text-align:center;margin:8px 0 0;font-size:11px;line-height:1.5}.progress-empty{text-align:center;color:rgba(var(--on-surface-text-rgb),.3);padding:40px 20px}.progress-empty-icon{color:#ff5a5f4d;opacity:.6;margin-bottom:14px}.progress-empty p{margin:0 0 6px;font-size:14px}.progress-empty-desc{font-size:12px}.timeline{flex-direction:column;gap:0;padding-left:20px;display:flex;position:relative}.timeline:before{content:"";background:#ff5a5f1f;border-radius:1px;width:2px;position:absolute;top:8px;bottom:8px;left:7px}.timeline-item{padding-bottom:20px;position:relative}.timeline-dot{border:2px solid var(--surface-solid);background:#ff5a5f;border-radius:50%;width:12px;height:12px;position:absolute;top:6px;left:-16px;box-shadow:0 0 0 3px #ff5a5f26}.timeline-card{background:rgba(var(--surface-rgb),.6);border:1px solid #ff5a5f14;border-radius:16px;padding:16px;position:relative}.timeline-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.timeline-stage{color:#ff5a5f;font-size:14px;font-weight:700}.timeline-date{color:rgba(var(--on-surface-text-rgb),.25);font-size:11px}.timeline-bullets p{color:var(--on-surface-text);margin:0 0 4px;font-size:13px;line-height:1.6}.timeline-risks{margin-top:8px}.risk-tag{color:#fda4af;font-size:11px;font-weight:600}.timeline-scores{flex-direction:column;gap:6px;margin-top:10px;display:flex}.mini-score{align-items:center;gap:8px;display:flex}.mini-score-label{width:32px;color:rgba(var(--on-surface-text-rgb),.3);flex-shrink:0;font-size:11px}.mini-score-bar{background:#ff5a5f14;border-radius:6px;flex:1;height:6px;overflow:hidden}.mini-score-fill{background:linear-gradient(90deg,#ff5a5f,#d4a574);border-radius:6px;height:100%}.timeline-delete{width:24px;height:24px;color:rgba(var(--on-surface-text-rgb),.2);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;transition:all .2s;display:flex;position:absolute;top:12px;right:12px}.timeline-card:hover .timeline-delete{opacity:1}.timeline-delete:hover{color:#fda4af;background:#f43f5e1a}.progress-clear-all{color:#fda4af;cursor:pointer;background:#f43f5e0a;border:1.5px solid #f43f5e26;border-radius:14px;margin:20px auto 0;padding:10px 20px;font-size:13px;font-weight:600;display:block}.progress-clear-all:hover{background:#f43f5e14}.progress-preview-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:300;background:#0f0a1499;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.progress-preview-dialog{background:var(--surface-solid);border:1px solid #ff5a5f14;border-radius:24px;width:90%;max-width:360px;padding:28px;box-shadow:0 20px 60px #0006}.progress-preview-dialog h4{color:var(--on-surface-text);margin:0 0 8px;font-size:17px;font-weight:700}.preview-note{color:rgba(var(--on-surface-text-rgb),.35);margin:0 0 16px;font-size:12px}.preview-stage{color:#ff5a5f;background:#ff5a5f14;border-radius:20px;margin-bottom:12px;padding:6px 16px;font-size:14px;font-weight:700;display:inline-block}.preview-bullet{color:var(--on-surface-text);margin:0 0 6px;font-size:13px}.preview-actions{gap:10px;margin-top:20px;display:flex}.preview-cancel-btn{color:var(--on-surface-text);cursor:pointer;background:#ff5a5f0a;border:1.5px solid #ff5a5f1a;border-radius:14px;flex:1;padding:12px;font-weight:600}.preview-save-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#ff5a5f,#d4a574);border:none;border-radius:14px;flex:1;padding:12px;font-weight:600}.sticker-preview-grid{grid-template-columns:repeat(6,1fr);gap:8px;display:grid}.sticker-preview-item{aspect-ratio:1;background:#ff5a5f0f;border-radius:12px;justify-content:center;align-items:center;display:flex;overflow:hidden}.sticker-preview-emoji{font-size:28px}.sticker-preview-img{object-fit:contain;width:100%;height:100%}.sticker-manage-grid{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.sticker-manage-item{aspect-ratio:1;position:relative}.sticker-manage-img{object-fit:contain;background:#ff5a5f0f;border-radius:12px;width:100%;height:100%}.sticker-manage-delete{color:#fff;cursor:pointer;opacity:0;background:#f43f5e;border:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;font-size:12px;line-height:1;transition:opacity .2s;display:flex;position:absolute;top:-4px;right:-4px}.sticker-manage-item:hover .sticker-manage-delete{opacity:1}.memory-auth{text-align:center;padding:20px 10px}.memory-auth-icon{color:#ff5a5f;margin-bottom:14px}.memory-auth h4{color:var(--on-surface-text);margin:0 0 10px;font-size:16px;font-weight:700}.memory-auth-desc{color:rgba(var(--on-surface-text-rgb),.35);margin:0 0 16px;font-size:13px;line-height:1.7}.memory-auth-list{text-align:left;margin:0 0 20px;padding:0;list-style:none}.memory-auth-list li{color:rgba(var(--on-surface-text-rgb),.3);font-size:12px;line-height:1.8}.memory-auth-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#ff5a5f,#d4a574);border:none;border-radius:16px;padding:12px 28px;font-size:14px;font-weight:700;transition:all .2s}.memory-auth-btn:hover{background:linear-gradient(135deg,#f2384a,#c0904f)}.memory-import-area{margin-bottom:16px}.memory-import-btn{color:#ff5a5f;cursor:pointer;background:#ff5a5f0a;border:2px dashed #ff5a5f26;border-radius:16px;justify-content:center;align-items:center;gap:8px;width:100%;padding:14px;font-size:14px;font-weight:600;display:flex}.memory-import-btn:hover{background:#ff5a5f14;border-color:#ff5a5f}.memory-list{flex-direction:column;gap:8px;display:flex}.memory-item{background:#ff5a5f0a;border-radius:14px;align-items:center;gap:12px;padding:12px;display:flex}.memory-item-icon{color:#ff5a5f}.memory-item-info{flex-direction:column;gap:2px;display:flex}.memory-item-name{color:var(--on-surface-text);font-size:13px;font-weight:600}.memory-item-date{color:rgba(var(--on-surface-text-rgb),.25);font-size:11px}.file-input-hidden{display:none}.dhdna-intro{margin-bottom:16px}.dhdna-intro p{color:rgba(var(--on-surface-text-rgb),.35);margin:0 0 8px;font-size:13px}.dhdna-intro ul{margin:0;padding:0;list-style:none}.dhdna-intro li{color:rgba(var(--on-surface-text-rgb),.25);font-size:12px;line-height:1.8}.dhdna-input-area{margin-bottom:16px}.dhdna-textarea{width:100%;color:var(--on-surface-text);resize:vertical;box-sizing:border-box;background:#ff5a5f0a;border:2px solid #ff5a5f1f;border-radius:16px;outline:none;margin-bottom:10px;padding:12px 16px;font-family:inherit;font-size:13px;line-height:1.6}.dhdna-textarea:focus{border-color:#ff5a5f66}.dhdna-analyze-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#d4a574,#d4a574);border:none;border-radius:14px;width:100%;padding:12px;font-size:14px;font-weight:700;transition:all .2s}.dhdna-analyze-btn:hover:not(:disabled){background:linear-gradient(135deg,#c0904f,#c0904f)}.dhdna-analyze-btn:disabled{opacity:.5;cursor:not-allowed}.dhdna-result{margin-top:16px}.dhdna-result-header{margin-bottom:12px}.dhdna-confidence{color:#ff5a5f;background:#ff5a5f14;border-radius:20px;padding:3px 10px;font-size:12px;font-weight:600}.dhdna-confidence[data-level=low]{color:#f59e0b;background:#fbbf2414}.dhdna-dimensions{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.dhdna-dim-row{align-items:center;gap:8px;display:flex}.dhdna-dim-name{width:70px;color:rgba(var(--on-surface-text-rgb),.3);flex-shrink:0;font-size:11px}.dhdna-dim-bar-track{background:#ff5a5f14;border-radius:6px;flex:1;height:6px;overflow:hidden}.dhdna-dim-bar-fill{background:linear-gradient(90deg,#d4a574,#d4a574);border-radius:6px;height:100%}.dhdna-dim-score{color:#d4a574;text-align:right;flex-shrink:0;width:32px;font-size:11px;font-weight:700}.dhdna-summary{background:#ff5a5f0a;border-radius:14px;padding:14px}.dhdna-summary p{color:var(--on-surface-text);margin:0 0 6px;font-size:13px;line-height:1.6}.dhdna-summary strong{color:#ff5a5f}.dhdna-risk{color:#fda4af;font-size:12px}@media (width<=480px){.drawer-panel{width:100%}.drawer-content{padding:14px}.drawer-tabs{gap:0;padding:3px}.drawer-tab{padding:6px 8px}.drawer-tab-label{font-size:10px}.goal-grid{grid-template-columns:1fr 1fr;gap:8px}.insight-stats-grid{gap:8px}.insight-stat{padding:12px}}.admin-shell{color:#1f2937;background:#f7f8fb;min-height:100vh}.admin-shell.login{place-items:center;padding:24px;display:grid}.admin-login-card,.admin-panel,.admin-empty-card,.admin-metric-card{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 18px 45px #0f172a14}.admin-login-card{width:min(460px,100%);padding:32px}.admin-eyebrow{color:#0f766e;letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;font-size:12px;font-weight:800}.admin-login-card h1,.admin-header h1{color:#111827;letter-spacing:0;margin:0 0 10px;font-size:28px}.admin-login-card p,.admin-header p,.admin-empty-card p{color:#6b7280;margin:0;line-height:1.7}.admin-input-row{grid-template-columns:1fr auto;gap:8px;margin-top:24px;display:grid}.admin-input-row input{border:1px solid #d1d5db;border-radius:8px;min-width:0;padding:12px 14px;font-size:14px}.admin-input-row button,.admin-primary-btn,.admin-secondary-btn{cursor:pointer;border:0;border-radius:8px;font-weight:700}.admin-input-row button{color:#3730a3;background:#eef2ff;padding:0 14px}.admin-primary-btn{color:#fff;background:#0f766e;width:100%;margin-top:14px;padding:13px 16px}.admin-primary-btn:disabled{opacity:.55;cursor:not-allowed}.admin-back-link{color:#4b5563;margin-top:16px;text-decoration:none;display:inline-block}.admin-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin-top:12px;padding:10px 12px;font-size:14px}.admin-shell.dashboard{padding:28px}.admin-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px;display:flex}.admin-header-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.admin-secondary-btn{color:#374151;background:#e5e7eb;justify-content:center;align-items:center;min-height:38px;padding:0 14px;text-decoration:none;display:inline-flex}.admin-secondary-btn.danger{color:#991b1b;background:#fee2e2}.admin-primary-inline{color:#fff;cursor:pointer;background:#0f766e;border:0;border-radius:8px;min-height:40px;padding:0 16px;font-weight:800}.admin-primary-inline:disabled{cursor:not-allowed;opacity:.55}.admin-section-head{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.admin-section-head h2,.admin-section-head p{margin:0}.admin-section-head p{color:#6b7280;margin-top:6px;line-height:1.6}.admin-metric-grid,.admin-panel-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:14px;display:grid}.admin-panel-grid{grid-template-columns:1.1fr .9fr}.admin-metric-card,.admin-panel,.admin-empty-card{padding:20px}.admin-metric-card span,.admin-metric-card em{color:#6b7280;font-size:13px;font-style:normal;display:block}.admin-metric-card strong{color:#111827;margin:8px 0 2px;font-size:32px;display:block}.admin-metric-card.primary{border-color:#99f6e4}.admin-progress-track{background:#e5e7eb;border-radius:999px;height:8px;margin-top:14px;overflow:hidden}.admin-progress-track div{border-radius:inherit;background:#0f766e;height:100%}.admin-panel{margin-bottom:14px}.admin-panel h2,.admin-empty-card h2{color:#111827;margin:0 0 14px;font-size:18px}.admin-bars{gap:12px;display:grid}.admin-bar-row{color:#4b5563;grid-template-columns:90px 1fr 28px;align-items:center;gap:10px;font-size:13px;display:grid}.admin-bar-row div{background:#e5e7eb;border-radius:999px;height:8px;overflow:hidden}.admin-bar-row i{border-radius:inherit;background:#14b8a6;height:100%;display:block}.admin-tags{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.admin-tags span{color:#0f766e;background:#f0fdfa;border:1px solid #ccfbf1;border-radius:999px;padding:7px 10px;font-size:13px;font-weight:700}.admin-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.admin-facts p{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin:0;padding:12px}.admin-facts strong,.admin-facts span{display:block}.admin-facts strong{color:#111827;font-size:20px}.admin-facts span{color:#6b7280;margin-top:2px;font-size:12px}.admin-summary-list{gap:10px;display:grid}.admin-summary-list article,.admin-message-samples p{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:12px}.admin-summary-list strong{color:#111827;margin-bottom:6px;display:block}.admin-summary-list p,.admin-message-samples p{color:#4b5563;margin:0;line-height:1.7}.admin-message-samples{gap:8px;display:grid}.dhdna-panel{margin-top:14px}.dhdna-layout{grid-template-columns:minmax(280px,.9fr) minmax(320px,1.3fr);gap:16px;display:grid}.dhdna-source-box,.dhdna-result-box{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:14px}.dhdna-source-box h3,.dhdna-result-box h3,.dhdna-columns h4{color:#111827;margin:0 0 12px}.dhdna-input,.dhdna-textarea{box-sizing:border-box;color:#111827;font:inherit;border:1px solid #d1d5db;border-radius:8px;width:100%;margin-bottom:10px;padding:11px 12px}.dhdna-textarea{resize:vertical;line-height:1.6}.dhdna-source-actions{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.dhdna-source-list{gap:8px;display:grid}.dhdna-source-list article{background:#fff;border:1px solid #e5e7eb;border-radius:8px;justify-content:space-between;align-items:flex-start;gap:10px;padding:10px;display:flex}.dhdna-source-list strong,.dhdna-source-list span{display:block}.dhdna-source-list span{color:#6b7280;margin-top:4px;font-size:12px}.dhdna-source-list button,.dhdna-strategy button{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:7px 9px;font-weight:700}.dhdna-muted,.dhdna-warning{color:#6b7280;margin:0;line-height:1.7}.dhdna-warning{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;margin:12px 0;padding:10px}.dhdna-profile-meta{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.dhdna-profile-meta span{color:#3730a3;background:#eef2ff;border:1px solid #c7d2fe;border-radius:999px;padding:6px 9px;font-size:12px;font-weight:800}.dhdna-dimensions-grid{gap:8px;margin-bottom:16px;display:grid}.dhdna-dimension-row{grid-template-columns:96px 1fr 44px;align-items:center;gap:8px;font-size:13px;display:grid}.dhdna-dimension-row div{background:#e5e7eb;border-radius:999px;height:8px;overflow:hidden}.dhdna-dimension-row i{border-radius:inherit;background:#0f766e;height:100%;display:block}.dhdna-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px;display:grid}.dhdna-columns>div{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:12px}.dhdna-columns p,.dhdna-strategy p{color:#4b5563;margin:0 0 8px;line-height:1.7}.dhdna-strategy{border-top:1px solid #e5e7eb;padding-top:10px}.dhdna-strategy:first-of-type{border-top:0;padding-top:0}.dhdna-strategy div{gap:8px;display:flex}.dhdna-feedback-count{color:#6b7280;margin-top:12px;font-size:13px}@media (width<=900px){.admin-shell.dashboard{padding:18px}.admin-header{flex-direction:column}.admin-header-actions{justify-content:flex-start}.admin-metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-panel-grid{grid-template-columns:1fr}.admin-section-head{flex-direction:column}.dhdna-layout,.dhdna-columns{grid-template-columns:1fr}}@media (width<=560px){.admin-login-card{padding:24px}.admin-input-row{grid-template-columns:1fr}.admin-input-row button{min-height:40px}.admin-metric-grid,.admin-facts{grid-template-columns:1fr}.admin-bar-row{grid-template-columns:76px 1fr 24px}}.error-boundary{background:linear-gradient(135deg,#fce4ec 0%,#fce7f3 50%,#f3e8ff 100%);justify-content:center;align-items:center;height:100dvh;padding:20px;display:flex}.error-card{text-align:center;-webkit-backdrop-filter:blur(20px);background:#fffffff2;border-radius:24px;width:100%;max-width:400px;padding:40px 32px;box-shadow:0 8px 32px #db27771f}.error-icon{color:var(--pink-400,#f472b6);justify-content:center;margin-bottom:16px;display:flex}.error-title{color:#3d1a3d;margin-bottom:8px;font-size:20px;font-weight:700}.error-desc{color:#8b6b8b;margin-bottom:24px;font-size:14px;line-height:1.6}.error-details{text-align:left;color:#b8a0b8;margin-bottom:20px;font-size:12px}.error-details summary{cursor:pointer;color:#8b6b8b;margin-bottom:8px}.error-details pre{background:#fdf2f8;border-radius:8px;max-height:120px;padding:8px 12px;font-size:11px;line-height:1.4;overflow:auto}.error-actions{justify-content:center;gap:12px;display:flex}.error-btn{cursor:pointer;border:none;border-radius:12px;padding:10px 24px;font-size:14px;font-weight:600;transition:all .2s}.error-btn.primary{color:#fff;background:#ec4899}.error-btn.primary:hover{background:#db2777}.error-btn.secondary{color:#db2777;background:#fce7f3}.error-btn.secondary:hover{background:#fbcfe8}:root{--cream-50:#fffbf6;--cream-100:#fff3ee;--cream-200:#ffe9df;--rose-50:#fff5f3;--rose-100:#ffe3e0;--rose-200:#ffc9c4;--coral-400:#ff7b7f;--coral-500:#ff5a5f;--coral-600:#f2384a;--gold-300:#e6c79a;--gold-400:#d4a574;--gold-500:#c0904f;--sage-400:#7ba688;--sage-500:#5e8c72;--space-deep:#fffbf6;--space-dark:#fff3ee;--space-mid:#fff;--space-slate:#ffe9df;--nebula-indigo:var(--coral-500);--nebula-indigo-light:var(--coral-400);--nebula-purple:var(--gold-400);--nebula-purple-light:var(--gold-300);--nebula-pink:var(--coral-500);--nebula-pink-light:var(--coral-400);--nebula-rose:var(--coral-400);--aurora-teal:#14b8a6;--aurora-teal-light:#7ba688;--aurora-cyan:#d4a574;--surface:#ffffffc7;--surface-2:#fffbf6eb;--surface-hover:#ffe9dfe6;--glass-border:#ff5a5f24;--glass-border-strong:#ff5a5f3d;--text-primary:#4a3f35;--text-secondary:#4a3f35ad;--text-muted:#4a3f3570;--text-inverse:#fff;--shadow-card:0 12px 36px #ff5a5f1f;--shadow-glow-indigo:0 0 26px #ff5a5f3d;--shadow-glow-purple:0 0 26px #d4a57438;--shadow-glow-pink:0 0 24px #ff7a7f42;--grad-cosmic:linear-gradient(135deg, #ff5a5f, #ff8a80, #d4a574);--grad-nebula:linear-gradient(135deg, #ff5a5f29, #ff8a801f, #d4a57414);--grad-surface:linear-gradient(180deg, #ffffffb8, #fffbf6d6);--grad-aurora:linear-gradient(135deg, #ff5a5f24, #d4a5741f, #7ba6880f);--grad-btn:linear-gradient(135deg, #ff5a5f, #ff7b7f, #ff8a80);--grad-btn-hover:linear-gradient(135deg, #f2384a, #ff5a5f, #ff7b7f);--radius-sm:10px;--radius-md:16px;--radius-lg:22px;--radius-xl:28px;--radius-full:999px;--surface-solid:#fff;--surface-solid-2:#fffbf6;--chrome-border:#ff5a5f24;--on-surface-text:#4a3f35;--on-surface-muted:#4a3f3580;--on-surface-text-rgb:74, 63, 53;--surface-rgb:255, 251, 246;--bubble-peer-bg:#ffffffeb;--bubble-peer-border:#ff5a5f1f;--bubble-peer-shadow:0 6px 18px #ff5a5f14;--system-bubble-bg:#fffbf6e6;--system-bubble-border:#ff5a5f1f;--media-blur-bg:linear-gradient(135deg, #fffbf6f2, #ffe9dfb3);--image-viewer-bg:#281c22f0}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--text-primary);background-color:#fffbf6;background-image:radial-gradient(80% 58% at 50% 6%,#ff5a5f1a 0%,#0000 58%),radial-gradient(58% 46% at 14% 72%,#d4a5741a 0%,#0000 56%),radial-gradient(48% 42% at 88% 40%,#7ba68812 0%,#0000 54%),linear-gradient(165deg,#fffbf6 0%,#fff3ee 48%,#ffe9df 100%);background-position:0 0;background-repeat:repeat;background-size:auto;background-attachment:fixed;background-origin:padding-box;background-clip:border-box;font-family:Outfit,Inter,-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Noto Sans SC,Microsoft YaHei,sans-serif;position:relative}body:before{content:"";pointer-events:none;z-index:0;opacity:.55;background-image:radial-gradient(1px 1px at 12% 18%,#ffffffb3,#0000),radial-gradient(1px 1px at 28% 10%,#ffe9df8c,#0000),radial-gradient(1px 1px at 46% 24%,#ffffff73,#0000),radial-gradient(1px 1px at 66% 14%,#ffe2d680,#0000),radial-gradient(1px 1px at 84% 26%,#ffe9df73,#0000),radial-gradient(1.5px 1.5px at 22% 62%,#ff8a8066,#0000),radial-gradient(1.5px 1.5px at 72% 58%,#d4a57461,#0000);background-size:180% 180%;animation:70s linear infinite starDrift;position:fixed;inset:0}body:after{content:"";pointer-events:none;z-index:0;background:radial-gradient(34% 34% at 30% 32%,#ff8a801f 0%,#0000 58%),radial-gradient(38% 38% at 66% 34%,#d4a5741f 0%,#0000 58%),radial-gradient(32% 32% at 54% 74%,#7ba68812 0%,#0000 54%);animation:34s ease-in-out infinite nebulaDrift;position:fixed;inset:-28%}.app{z-index:1;height:100dvh;height:var(--app-height,100dvh);width:100%;max-width:820px;min-height:0;color:var(--text-primary);-webkit-backdrop-filter:blur(16px)saturate(1.25);border-left:1px solid var(--glass-border);border-right:1px solid var(--glass-border);background:linear-gradient(#ffffffb3 0%,#fffbf680 52%,#ffe9dfb8 100%);flex-direction:column;margin:0 auto;display:flex;position:relative;overflow:hidden;box-shadow:0 0 70px #ff5a5f0f,inset 0 0 90px #fff6}.app[data-theme=dark]{--space-deep:#1a141c;--space-dark:#211a24;--space-mid:#2a2230;--space-slate:#322838;--surface:#2a223099;--surface-2:#312838bd;--surface-hover:#403448d6;--glass-border:#ff7a7f29;--glass-border-strong:#ff7a7f47;--text-primary:#fff5ef;--text-secondary:#fff5efad;--text-muted:#fff5ef6b;--text-inverse:#23131b;--shadow-card:0 12px 44px #0c061085;--grad-surface:linear-gradient(180deg, #312838b3, #1c1621c7);--surface-solid:#241d29;--surface-solid-2:#1c1620;--chrome-border:#ffffff14;--on-surface-text:#f5f0e8;--on-surface-muted:#f5f0e880;--on-surface-text-rgb:245, 240, 232;--surface-rgb:38, 31, 36;--bubble-peer-bg:#ededff12;--bubble-peer-border:#ffffff14;--bubble-peer-shadow:0 4px 16px #0a041240;--system-bubble-bg:#1c1828b3;--system-bubble-border:#ffffff1a;--media-blur-bg:linear-gradient(135deg, #141020d9, #1c182899);background:linear-gradient(#1c1422a3 0%,#1c142275 52%,#261c2dad 100%);box-shadow:0 0 70px #ff5a5f14,inset 0 0 90px #ffffff06}html[data-theme=dark] body{background-color:#111118;background-image:radial-gradient(80% 58% at 50% 6%,#ff5a5f29 0%,#0000 58%),radial-gradient(58% 46% at 14% 72%,#d4a5741f 0%,#0000 56%),radial-gradient(48% 42% at 88% 40%,#7ba68814 0%,#0000 54%),linear-gradient(165deg,#1a141c 0%,#1e1824 48%,#241a2b 100%);background-position:0 0;background-repeat:repeat;background-size:auto;background-attachment:scroll;background-origin:padding-box;background-clip:border-box}.app-main{flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.chat-area{background:linear-gradient(#fff0 0%,#f43f680a 56%,#8b5cf60f 100%);flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}@media (width<=820px){.app{border-left:none;border-right:none}}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#f43f6838;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#f43f6861}::selection{color:var(--text-primary);background:#ff5a5f38}@keyframes starDrift{0%{background-position:0 0}25%{background-position:100% 25%}50%{background-position:50% 100%}75%{background-position:0 75%}to{background-position:0 0}}@keyframes nebulaDrift{0%,to{transform:translate(0,0)scale(1)}33%{transform:translate(1.5%,-1%)scale(1.04)}66%{transform:translate(-1%,1.5%)scale(1.03)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes floatUp{0%{opacity:0;transform:translateY(20px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes heartbeat{0%,to{transform:scale(1)}25%{transform:scale(1.08)}50%{transform:scale(1)}75%{transform:scale(1.05)}}@keyframes sparkle{0%,to{opacity:0;transform:scale(0)}50%{opacity:1;transform:scale(1)}}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200%}to{background-position:200%}}@keyframes glow{0%,to{box-shadow:0 0 12px #f43f6833}50%{box-shadow:0 0 28px #f43f6861,0 0 50px #8b5cf61f}}@keyframes frequencyRipple{0%{box-shadow:0 0 #f43f6857}70%{box-shadow:0 0 0 10px #f43f6800}to{box-shadow:0 0 #f43f6800}}@media (width<=768px){html,body,#root{height:var(--app-height,100%);overflow:hidden}.app{width:100%;max-width:100%;height:auto;box-shadow:none;border-left:none;border-right:none;margin:0;position:absolute;inset:0}}
