.onboarding-gate{background:linear-gradient(135deg,#fce4ec 0%,#f8bbd9 25%,#f48fb1 50%,#f8bbd9 75%,#fce4ec 100%);justify-content:center;align-items:center;min-height:100vh;padding:20px;display:flex;position:relative;overflow:hidden}.onboarding-gate:before{content:"";background-color:#0000;background-image:radial-gradient(circle at 30% 20%,#ec489914 0%,#0000 50%),radial-gradient(circle at 70% 60%,#f472b60f 0%,#0000 50%),radial-gradient(circle at 50% 80%,#ec48990d 0%,#0000 50%);background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:400% 400%;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;width:200%;height:200%;animation:15s linear infinite shimmer;position:absolute;top:-50%;left:-50%}@keyframes shimmer{0%{background-position:-200%}to{background-position:200%}}.onboarding-card{-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);text-align:center;background:#fffffff0;border-radius:28px;width:100%;max-width:480px;padding:52px 44px;animation:.6s cubic-bezier(.16,1,.3,1) floatUp;position:relative;box-shadow:0 4px 32px #db27771a,0 1px 4px #db27770a}.onboarding-icon{justify-content:center;align-items:center;margin-bottom:20px;animation:2s ease-in-out infinite gentleBounce;display:flex}.tiger-logo-img{object-fit:contain;border-radius:50%;width:120px;height:120px;box-shadow:0 4px 20px #db277726}@keyframes gentleBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.onboarding-title{color:#3d1a3d;letter-spacing:-.02em;margin:0 0 14px;font-size:28px;font-weight:800}.onboarding-subtitle{color:#831843;margin:0 0 36px;font-size:15px;line-height:1.8}.mode-selector{flex-direction:column;gap:14px;margin-bottom:22px;display:flex}.mode-option{cursor:pointer;text-align:left;border:2px solid #fce7f3;border-radius:18px;align-items:flex-start;gap:14px;padding:18px;transition:all .2s;display:flex}.mode-option:hover{background:#fdf2f8;border-color:#f9a8d4}.mode-option.active{background:linear-gradient(135deg,#fdf2f8,#fce7f3);border-color:#ec4899}.mode-option-icon{color:#ec4899;flex-shrink:0;margin-top:2px}.mode-option-content h3{color:#3d1a3d;margin:0 0 4px;font-size:16px;font-weight:700}.mode-option-content p{color:#831843;margin:0;font-size:13px;line-height:1.6}.mode-check{color:#ec4899;flex-shrink:0;margin-top:2px;margin-left:auto;font-size:20px;font-weight:700}.mode-hint{color:#9d174d;margin:0;font-size:13px;line-height:1.6}.history-notice{color:#831843;text-align:left;background:linear-gradient(135deg,#fdf2f8,#fce7f3);border:1px solid #f9a8d4;border-radius:14px;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{color:#3d1a3d;box-sizing:border-box;background:#fdf2f8;border:2px solid #fce7f3;border-radius:16px;outline:none;width:100%;padding:15px 52px 15px 18px;font-size:16px;transition:all .2s}.passphrase-input:focus{background:#fff;border-color:#ec4899;box-shadow:0 0 0 4px #ec489914}.passphrase-input::placeholder{color:#f9a8d4}.toggle-visibility{color:#9d174d;cursor:pointer;background:0 0;border:none;align-items:center;padding:8px;transition:color .2s;display:flex;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.toggle-visibility:hover{color:#ec4899}.match-role-selector{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:12px;display:grid}.match-role-btn{color:#831843;cursor:pointer;background:#fff;border:2px solid #fce7f3;border-radius:14px;min-height:44px;font-size:15px;font-weight:700;transition:all .2s}.match-role-btn:hover:not(:disabled){background:#fdf2f8;border-color:#f9a8d4}.match-role-btn.active{color:#9d174d;background:linear-gradient(135deg,#fdf2f8,#fce7f3);border-color:#ec4899}.match-role-btn:disabled{cursor:not-allowed;opacity:.6}.match-role-hint{color:#831843;margin:0 0 16px;font-size:12px;line-height:1.6}.nickname-input-wrapper{margin-bottom:18px}.nickname-input{color:#3d1a3d;box-sizing:border-box;background:#fff;border:2px solid #fce7f3;border-radius:16px;outline:none;width:100%;padding:13px 16px;font-size:15px;transition:all .2s}.nickname-input:focus{border-color:#ec4899;box-shadow:0 0 0 4px #ec489914}.nickname-input::placeholder{color:#f9a8d4;font-size:14px}.nickname-hint{color:#ec4899;margin-top:6px;font-size:11px;font-weight:500;display:block}.onboarding-error{color:#b91c1c;background:#fee2e2;border-radius:14px;margin-bottom:18px;padding:12px 16px;font-size:14px;line-height:1.6}.onboarding-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#ec4899,#db2777);border:none;border-radius:16px;width:100%;margin-bottom:14px;padding:15px;font-size:16px;font-weight:700;transition:all .2s}.onboarding-btn:hover:not(:disabled){background:linear-gradient(135deg,#db2777,#be185d);transform:translateY(-1px);box-shadow:0 6px 20px #ec489959}.onboarding-btn:disabled{opacity:.6;cursor:not-allowed}.privacy-note{color:#9d174d;margin:0;font-size:12px;line-height:1.6}.onboarding-btn.clear-btn{color:#831843;background:#fdf2f8;border:1px solid #fce7f3;margin-top:14px;font-size:13px;font-weight:500}.onboarding-btn.clear-btn:hover{color:#9d174d;box-shadow:none;background:#fce7f3;border-color:#f9a8d4;transform:none}.confirm-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);z-index:100;background:#3d1a3d4d;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.confirm-dialog{background:#fff;border-radius:24px;width:100%;max-width:440px;padding:36px;animation:.3s floatUp;box-shadow:0 20px 60px #db277726}.confirm-dialog h3{color:#3d1a3d;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:#3d1a3d;align-items:flex-start;gap:10px;font-size:14px;line-height:1.6;display:flex}.confirm-item svg{flex-shrink:0;margin-top:2px}.confirm-item.warning{color:#db2777}.confirm-actions{gap:12px;display:flex}.confirm-btn{cursor:pointer;border:none;border-radius:14px;flex:1;padding:13px;font-size:14px;font-weight:700;transition:all .2s}.confirm-btn.primary{color:#fff;background:linear-gradient(135deg,#ec4899,#db2777)}.confirm-btn.primary:hover:not(:disabled){background:linear-gradient(135deg,#db2777,#be185d)}.confirm-btn.primary:disabled{opacity:.6;cursor:not-allowed}.confirm-btn.secondary{color:#3d1a3d;background:#fdf2f8}.confirm-btn.secondary:hover{background:#fce7f3}@media (width<=480px){.onboarding-card{border-radius:24px;padding:36px 24px}.onboarding-title{font-size:24px}.tiger-logo-img{width:100px;height:100px}}.top-status-bar{-webkit-backdrop-filter:blur(30px);background:#ffffffb3;border-bottom:1px solid #fce7f3;flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;min-height:50px;padding:10px 20px;display:flex}.status-bar-left{flex-shrink:0;align-items:center;display:flex}.app-logo{color:#ec4899;align-items:center;gap:7px;display:flex}.app-name{color:#3d1a3d;letter-spacing:-.01em;font-size:14px;font-weight:700}.my-nickname-display{color:#ec4899;background:#fdf2f8;border-radius:8px;margin-left:6px;padding:2px 8px;font-size:11px;font-weight:600}.peer-nickname-display{color:#db2777;background:linear-gradient(135deg,#fdf2f8,#fce7f3);border-radius:8px;margin-left:4px;padding:2px 10px;font-size:11px;font-weight:600;animation:.3s fadeIn}.status-bar-center{flex:1;justify-content:center;align-items:center;gap:14px;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:#b8a0b8;align-items:center;gap:4px;font-size:11px;font-weight:500;display:flex}.privacy-mode-badge{color:#8b6b8b;background:#fdf2f8;border-radius:10px;align-items:center;gap:5px;padding:3px 10px;font-size:11px;font-weight:600;display:flex}.privacy-dot{background:#ec4899;border-radius:50%;width:5px;height:5px}.status-bar-right{flex-shrink:0;align-items:center;gap:4px;display:flex}.insight-nav-btn,.strategy-nav-btn,.settings-nav-btn{cursor:pointer;background:0 0;border:none;border-radius:12px;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex}.insight-nav-btn{color:#8b5cf6}.insight-nav-btn:hover{background:#ede9fe}.strategy-nav-btn{color:#fbbf24}.strategy-nav-btn:hover{background:#fef3c7}.settings-nav-btn{color:#b8a0b8}.settings-nav-btn:hover{color:#ec4899;background:#fce7f3}@media (width<=768px){.top-status-bar{gap:4px;padding:8px 12px}.status-bar-center{gap:6px}.encryption-status span,.privacy-mode-badge{display:none}.app-name{font-size:12px}}.connection-panel{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffff80;border:1px solid #fce7f3;border-radius:20px;margin:16px 20px;padding:20px}.dedicated-match-status{color:#3d1a3d;background:#fdf2f8;border:1px solid #f9a8d4;border-radius:12px;flex-direction:column;gap:5px;margin-bottom:14px;padding:12px 14px;display:flex}.dedicated-match-status strong{font-size:13px;font-weight:800}.dedicated-match-status span{color:#8b6b8b;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}.manual-toggle{color:#8b6b8b;cursor:pointer;background:#fff;border:1px solid #fce7f3;border-radius:12px;align-self:flex-start;padding:8px 12px;font-size:12px;font-weight:700}.manual-toggle:hover{color:#db2777;border-color:#f9a8d4}.manual-connect{flex-direction:column;gap:14px;display:flex}.connection-label{color:#b8a0b8;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{color:#db2777;text-overflow:ellipsis;white-space:nowrap;background:linear-gradient(135deg,#fdf2f8,#fce7f3);border-radius:14px;flex:1;padding:11px 16px;font-family:SF Mono,Fira Code,monospace;font-size:14px;font-weight:600;overflow:hidden}.copy-btn{color:#8b6b8b;cursor:pointer;white-space:nowrap;background:#fff;border:1.5px solid #fce7f3;border-radius:14px;align-items:center;gap:4px;padding:11px 16px;font-size:13px;font-weight:600;transition:all .2s;display:flex}.copy-btn:hover{color:#ec4899;background:#fdf2f8;border-color:#f9a8d4}.divider{align-items:center;gap:12px;margin:18px 0;display:flex}.divider:before,.divider:after{content:"";background:#fce7f3;flex:1;height:1px}.divider span{color:#b8a0b8;font-size:12px;font-weight:500}.connect-section{margin-bottom:8px}.connection-form{gap:8px;display:flex}.connection-input{color:#3d1a3d;background:#fdf2f8;border:2px solid #fce7f3;border-radius:14px;outline:none;flex:1;padding:11px 16px;font-family:SF Mono,Fira Code,monospace;font-size:14px;transition:all .2s}.connection-input:focus{background:#fff;border-color:#ec4899;box-shadow:0 0 0 3px #ec48990f}.connection-input::placeholder{color:#f9a8d4;font-family:inherit}.connect-btn{color:#fff;cursor:pointer;white-space:nowrap;background:linear-gradient(135deg,#ec4899,#db2777);border:none;border-radius:14px;padding:11px 22px;font-size:14px;font-weight:700;transition:all .2s}.connect-btn:hover:not(:disabled){background:linear-gradient(135deg,#db2777,#be123c);transform:translateY(-1px);box-shadow:0 4px 14px #db27774d}.connect-btn:disabled{opacity:.5;cursor:not-allowed}.connection-hint{color:#b8a0b8;margin:14px 0 0;font-size:12px;line-height:1.6}.connection-panel.connected{justify-content:space-between;align-items:center;display:flex}.connected-info{align-items:center;gap:12px;display:flex}.connected-icon{color:#10b981}.connected-details{flex-direction:column;gap:2px;display:flex}.connected-label{color:#8b6b8b;font-size:12px;font-weight:500}.connected-id{color:#3d1a3d;font-family:SF Mono,Fira Code,monospace;font-size:14px;font-weight:700}.disconnect-btn{color:#be123c;cursor:pointer;background:#fecdd3;border:none;border-radius:14px;align-items:center;gap:6px;padding:9px 18px;font-size:13px;font-weight:600;transition:all .2s;display:flex}.disconnect-btn:hover{background:#fda4af}.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:#ec4899;border-radius:50%;width:7px;height:7px;animation:1.4s ease-in-out infinite both bounce}.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:#8b6b8b;font-size:14px;font-weight:500}.connection-panel.failed{border-color:#fecdd3}.failed-info{color:#e11d48;align-items:center;gap:8px;margin-bottom:14px;font-size:14px;font-weight:600;display:flex}.fail-hint{color:#b8a0b8;margin:14px 0 0;font-size:12px;line-height:1.6}@media (width<=480px){.connection-panel{margin:10px 12px;padding:16px}.connection-form,.id-display{flex-direction:column;align-items:stretch}.copy-btn,.connect-btn{justify-content:center}}.message-list{scroll-behavior:smooth;flex-direction:column;flex:1;gap:10px;padding:24px 20px;display:flex;overflow-y:auto}.message-list::-webkit-scrollbar{width:5px}.message-list::-webkit-scrollbar-track{background:0 0}.message-list::-webkit-scrollbar-thumb{background:#fbcfe8;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:#f9a8d4;opacity:.5;margin-bottom:20px;animation:.6s floatUp}.empty-title{color:#8b6b8b;margin:0 0 10px;font-size:18px;font-weight:700}.empty-desc{color:#b8a0b8;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{color:#fff;background:linear-gradient(135deg,#ec4899,#db2777);border-bottom-right-radius:6px}.message-bubble.peer{color:#3d1a3d;background:#fdf2f8;border:1px solid #fce7f3;border-bottom-left-radius:6px}.message-bubble.topic{border:2px solid #fbcfe8}.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:#db2777;background:#fce7f3}.message-text{white-space:pre-wrap}.message-footer{justify-content:flex-end;align-items:center;gap:6px;margin-top:6px;display:flex}.message-time{opacity:.7;font-size:11px}.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:#92400e;background:#fef3c7}.msg-action-btn.retry:hover{background:#fde68a}.msg-action-btn.delete{color:#be123c;background:#fecdd3}.msg-action-btn.delete:hover{background:#fda4af}.system-bubble{color:#92400e;white-space:pre-wrap;background:linear-gradient(135deg,#fef3c7,#fffbeb);border:1px solid #fde68a;border-radius:14px;align-items:center;gap:8px;padding:10px 18px;font-size:13px;line-height:1.6;display:flex}.system-bubble svg{flex-shrink:0}.message-bubble.media{max-width:300px;padding:0;overflow:hidden}.message-bubble.media .message-footer{padding:6px 14px}.media-blur{cursor:pointer;background:linear-gradient(135deg,#fdf2f8,#fce7f3);justify-content:center;align-items:center;width:280px;height:200px;transition:all .3s;display:flex;position:relative}.media-blur:hover{background:linear-gradient(135deg,#fce7f3,#fbcfe8)}.blur-overlay{color:#ec4899;flex-direction:column;align-items:center;gap:10px;font-size:14px;font-weight:500;display:flex}.media-info{color:#b8a0b8;background:#ffffffd9;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{max-width:280px;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-video{max-width:280px}.video-player{border-radius:20px 20px 0 0;width:100%;max-height:300px;display:block}.media-video .media-info{background:0 0;padding:10px 14px;font-size:12px;position:static}@media (width<=480px){.message-row{max-width:85%}.message-list{padding:16px 12px}.media-blur,.media-revealed img{width:220px;height:160px}.media-video{max-width:220px}}.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:#b8a0b8;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}}.composer{-webkit-backdrop-filter:blur(30px);background:#ffffffbf;border-top:1px solid #fce7f3;flex-shrink:0;align-items:flex-end;gap:8px;padding:14px 20px;display:flex}.composer-left{flex-shrink:0;position:relative}.composer-btn{color:#ec4899;cursor:pointer;background:0 0;border:none;border-radius:14px;justify-content:center;align-items:center;width:42px;height:42px;transition:all .2s;display:flex}.composer-btn:hover:not(:disabled){background:#fdf2f8;transform:scale(1.05)}.composer-btn:disabled{opacity:.4;cursor:not-allowed}.attach-menu{z-index:50;background:#fff;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 #db27771f}.attach-menu button{color:#3d1a3d;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:#ec4899;background:#fdf2f8}.composer-center{flex:1;min-width:0}.composer-input{color:#3d1a3d;resize:none;box-sizing:border-box;background:#fdf2f8;border:2px solid #fce7f3;border-radius:18px;outline:none;width:100%;max-height:120px;padding:11px 16px;font-family:inherit;font-size:15px;line-height:1.5;transition:all .2s}.composer-input:focus{background:#fff;border-color:#ec4899;box-shadow:0 0 0 3px #ec489914}.composer-input::placeholder{color:#f9a8d4}.composer-input:disabled{cursor:not-allowed;opacity:.6;background:#fdf2f8}.composer-right{flex-shrink:0;align-items:center;gap:4px;display:flex}.emoji-wrapper{position:relative}.emoji-trigger{color:#fbbf24}.emoji-trigger:hover:not(:disabled){background:#fef3c7}.emoji-panel{z-index:60;background:#fff;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 #db277726}.emoji-tabs{background:#fdf2f8;border-bottom:1px solid #fce7f3;flex-shrink:0;gap:2px;padding:10px 12px;display:flex}.emoji-tab{color:#b8a0b8;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:#ec4899}.emoji-tab.active{color:#db2777;background:#fff;box-shadow:0 1px 4px #db277714}.emoji-grid{grid-template-columns:repeat(9,1fr);gap:4px;max-height:320px;padding:12px;display:grid;overflow-y:auto}.emoji-item{cursor:pointer;background:0 0;border:none;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;font-size:20px;transition:all .15s;display:flex}.emoji-item:hover{background:#fdf2f8;transform:scale(1.2)}.sticker-panel,.effect-panel{max-height:340px;padding:12px;overflow-y:auto}.sticker-hint{color:#b8a0b8;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:#fdf2f8;transform:scale(1.08)}.sticker-anim{background:linear-gradient(135deg,#fdf2f8,#fce7f3);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:#8b6b8b;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:#fff;border:2px solid #fce7f3;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,#fdf2f8,#fce7f3);border-color:#ec4899;transform:scale(1.05);box-shadow:0 4px 12px #db27771f}.effect-preview{background:linear-gradient(135deg,#fdf2f8,#fce7f3);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:#ec4899;cursor:pointer;background:#fdf2f8;border:2px dashed #fbcfe8;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:#fce7f3;border-color:#ec4899}.custom-empty-hint{text-align:center;color:#b8a0b8;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:#fdf2f8;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 #db277726}.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:#f9a8d4;cursor:pointer;background:#fce7f3;border:none;border-radius:16px;justify-content:center;align-items:center;width:44px;height:44px;transition:all .2s;display:flex}.send-btn.active{color:#fff;background:linear-gradient(135deg,#ec4899,#db2777);box-shadow:0 4px 16px #db27774d}.send-btn.active:hover{background:linear-gradient(135deg,#db2777,#be123c);transform:scale(1.08);box-shadow:0 6px 20px #db277766}.send-btn:disabled{cursor:not-allowed}.preview-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#3d1a3d66;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.preview-dialog{background:#fff;border-radius:24px;width:100%;max-width:480px;max-height:90vh;animation:.3s floatUp;overflow-y:auto;box-shadow:0 20px 60px #db277733}.preview-header{border-bottom:1px solid #fce7f3;justify-content:space-between;align-items:center;padding:18px 24px;display:flex}.preview-header h3{color:#3d1a3d;margin:0;font-size:17px;font-weight:700}.preview-close{color:#b8a0b8;cursor:pointer;background:0 0;border:none;border-radius:10px;justify-content:center;align-items:center;width:32px;height:32px;transition:all .2s;display:flex}.preview-close:hover{color:#ec4899;background:#fdf2f8}.preview-content{background:#fdf2f8;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:#8b6b8b;justify-content:space-between;align-items:center;padding:12px 24px;font-size:13px;display:flex}.preview-actions{border-top:1px solid #fce7f3;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:#3d1a3d;background:#fdf2f8}.preview-btn.cancel:hover{background:#fce7f3}.preview-btn.send{color:#fff;background:linear-gradient(135deg,#ec4899,#db2777)}.preview-btn.send:hover{background:linear-gradient(135deg,#db2777,#be123c)}.strategy-trigger{color:#f59e0b;position:relative}.strategy-trigger:hover:not(:disabled){color:#d97706;background:#fef3c7}.strategy-trigger:after{content:"表达建议";color:#f59e0b;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 #fce7f3;align-items:center;gap:10px;padding:8px 12px;display:flex}.recent-label{color:#b8a0b8;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:#fdf2f8;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:#fce7f3;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:#fff;border-bottom:1px solid #fce7f3;flex-shrink:0;gap:2px;padding:8px 12px;display:flex;overflow-x:auto}.emoji-cat-tabs::-webkit-scrollbar{display:none}.emoji-cat-tab{color:#b8a0b8;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:#ec4899;background:#fdf2f8}.emoji-cat-tab.active{color:#db2777;background:#fdf2f8;box-shadow:0 1px 3px #db27771a}.preview-save-policy{background:#fdf2f8;border-top:1px solid #fce7f3;align-items:center;gap:10px;padding:12px 24px;display:flex}.policy-label{color:#3d1a3d;flex-shrink:0;font-size:13px;font-weight:600}.policy-select{color:#3d1a3d;cursor:pointer;appearance:none;background:#fff 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='%23b8a0b8' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") right 10px center no-repeat;border:2px solid #fce7f3;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:#ec4899}@media (width<=480px){.composer{gap:6px;padding:10px 12px}.emoji-panel{width:300px;right:-50px}.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}}.drawer-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:200;background:#3d1a3d40;justify-content:flex-end;display:flex;position:fixed;inset:0}.drawer-panel{background:linear-gradient(#fff5f9 0%,#fff 30%);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 #db277714}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}.drawer-header{border-bottom:1px solid #fce7f3;flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;padding:12px 20px;display:flex}.drawer-tabs{background:#fce7f3;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:#fff;box-shadow:0 2px 8px #db27771f}.drawer-tab:hover:not(.active){background:#ffffff80}.drawer-tab-icon{font-size:16px;line-height:1}.drawer-tab-label{color:#b8a0b8;font-size:11px;font-weight:600}.drawer-tab.active .drawer-tab-label{color:#db2777}.drawer-close{color:#b8a0b8;cursor:pointer;background:0 0;border:none;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;transition:all .2s;display:flex}.drawer-close:hover{color:#db2777;background:#fce7f3}.drawer-content{flex:1;padding:20px;overflow-y:auto}.drawer-section-title{color:#3d1a3d;align-items:center;gap:8px;margin:0 0 20px;font-size:18px;font-weight:700;display:flex}.drawer-section-title svg{color:#ec4899}.insight-private-tag{color:#ec4899;background:#ec489914;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,#fff1f2,#ffe4e6);border:1px solid #fecdd3;border-radius:20px;padding:20px}.setting-label{color:#3d1a3d;margin-bottom:10px;font-size:13px;font-weight:700;display:block}.setting-desc{color:#8b6b8b;margin:10px 0 0;font-size:13px;line-height:1.6}.mode-toggle{gap:8px;display:flex}.mode-toggle-btn{color:#b8a0b8;cursor:pointer;background:#fff;border:2px solid #fce7f3;border-radius:14px;flex:1;padding:10px 16px;font-size:13px;font-weight:600;transition:all .2s}.mode-toggle-btn.active{color:#db2777;background:linear-gradient(135deg,#fdf2f8,#fce7f3);border-color:#ec4899}.mode-toggle-btn:hover:not(.active){color:#ec4899;border-color:#f9a8d4}.setting-row{flex-direction:column;gap:10px;display:flex}.setting-item{color:#3d1a3d;align-items:center;gap:8px;font-size:13px;display:flex}.danger-btn{color:#e11d48;cursor:pointer;background:#fff;border:1.5px solid #fecdd3;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:#fff1f2;border-color:#f43f5e}.clear-confirm{margin-top:14px}.clear-warning{color:#e11d48;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;border:2px solid #fecdd3;border-radius:14px;outline:none;width:100%;margin-bottom:12px;padding:12px 16px;font-size:14px}.clear-input:focus{border-color:#f43f5e}.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:#3d1a3d;background:#fff;border:1.5px solid #fce7f3}.clear-btn.confirm{color:#fff;background:linear-gradient(135deg,#e11d48,#f43f5e)}.clear-btn.confirm:hover:not(:disabled){background:linear-gradient(135deg,#be123c,#e11d48)}.clear-btn.confirm:disabled{opacity:.5;cursor:not-allowed}.privacy-notice{background:linear-gradient(135deg,#fffbeb,#fef3c7);border:1px solid #fde68a;border-radius:18px;padding:18px}.privacy-notice h4{color:#92400e;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:#92400e;margin-bottom:6px;padding-left:16px;font-size:12px;line-height:1.7;position:relative}.privacy-notice li:before{content:"•";color:#d97706;position:absolute;left:4px}.insight-empty{text-align:center;flex-direction:column;align-items:center;padding:40px 20px;display:flex}.insight-empty-icon{color:#f9a8d4;opacity:.6;margin-bottom:16px}.insight-empty-title{color:#8b6b8b;margin:0 0 10px;font-size:17px;font-weight:700}.insight-empty-desc{color:#b8a0b8;margin:0 0 24px;font-size:14px;line-height:1.8}.insight-score-card{background:linear-gradient(135deg,#fdf2f8,#fce7f3);border:1px solid #fbcfe8;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:#3d1a3d;font-size:14px;font-weight:700}.score-level{color:#ec4899;background:#ec48991a;border-radius:20px;padding:3px 12px;font-size:13px;font-weight:600}.score-bar-container{background:#ec48991f;border-radius:10px;height:10px;margin-bottom:8px;overflow:hidden}.score-bar{background:linear-gradient(90deg,#f472b6,#ec4899,#db2777);border-radius:10px;height:100%;transition:width .6s cubic-bezier(.16,1,.3,1)}.score-value{color:#db2777;text-align:right;font-size:28px;font-weight:800}.score-value span{color:#b8a0b8;font-size:14px;font-weight:500}.insight-stats-grid{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:20px;display:grid}.insight-stat{text-align:center;background:#fff;border:1px solid #fce7f3;border-radius:16px;padding:16px}.stat-value{color:#3d1a3d;margin-bottom:4px;font-size:22px;font-weight:800}.stat-label{color:#b8a0b8;font-size:12px;font-weight:500}.insight-section{margin-bottom:20px}.insight-subtitle{color:#3d1a3d;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{color:#8b6b8b;flex-shrink:0;width:70px;font-size:12px;font-weight:500}.emotion-bar-track{background:#fce7f3;border-radius:8px;flex:1;height:8px;overflow:hidden}.emotion-bar-fill{background:linear-gradient(90deg,#f9a8d4,#ec4899);border-radius:8px;height:100%;transition:width .5s}.emotion-bar-count{color:#b8a0b8;text-align:right;flex-shrink:0;width:24px;font-size:12px}.topic-chips{flex-wrap:wrap;gap:8px;display:flex}.topic-chip{color:#db2777;background:linear-gradient(135deg,#fdf2f8,#fce7f3);border:1px solid #fbcfe8;border-radius:20px;padding:7px 14px;font-size:13px;font-weight:600}.insight-traits{flex-direction:column;gap:8px;display:flex}.insight-trait{color:#8b6b8b;background:#fdf2f8;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:#3d1a3d;margin:0 2px}.insight-privacy-badge{color:#b8a0b8;background:#fdf2f8;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:#ec4899}.strategy-disclaimer{color:#92400e;background:#fffbeb;border:1px solid #fde68a;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:#d97706;flex-shrink:0;margin-top:1px}.strategy-step{margin-bottom:8px}.strategy-step-title{color:#3d1a3d;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 16px;font-size:15px;font-weight:700;display:flex}.tone-badge{color:#ec4899;background:#fdf2f8;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:#ec4899;cursor:pointer;background:#fdf2f8;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:#fce7f3}.breadcrumb-current{color:#8b6b8b;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:#fff;border:2px solid #fce7f3;border-radius:18px;flex-direction:column;align-items:center;gap:8px;padding:18px 12px;transition:all .2s;display:flex}.goal-btn:hover{background:#fdf2f8;border-color:#f9a8d4;transform:translateY(-2px);box-shadow:0 4px 12px #db277714}.goal-icon{font-size:28px}.goal-label{color:#3d1a3d;font-size:13px;font-weight:600;line-height:1.4}.custom-goal{margin-bottom:16px}.custom-goal-hint{color:#b8a0b8;margin:0 0 8px;font-size:13px}.custom-goal-row{gap:8px;display:flex}.custom-goal-input{border:2px solid #fce7f3;border-radius:14px;outline:none;flex:1;padding:10px 14px;font-size:13px;transition:border-color .2s}.custom-goal-input:focus{border-color:#ec4899}.custom-goal-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#ec4899,#db2777);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,#db2777,#be123c)}.tone-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.tone-btn{cursor:pointer;background:#fff;border:2px solid #fce7f3;border-radius:18px;flex-direction:column;align-items:center;gap:6px;padding:16px 12px;transition:all .2s;display:flex}.tone-btn:hover{background:#fdf2f8;border-color:#f9a8d4;transform:translateY(-1px)}.tone-emoji{font-size:28px}.tone-label{color:#3d1a3d;font-size:14px;font-weight:700}.draft-list{flex-direction:column;gap:12px;margin-bottom:16px;display:flex}.draft-card{background:#fff;border:1.5px solid #fce7f3;border-radius:16px;padding:16px;transition:all .2s}.draft-card:hover{border-color:#fbcfe8;box-shadow:0 2px 12px #db27770f}.draft-text{color:#3d1a3d;background:#fdf2f8;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,#ec4899,#db2777)}.draft-action-btn.insert:hover{background:linear-gradient(135deg,#db2777,#be123c)}.draft-action-btn.insert.copied{background:#10b981}.draft-warning{color:#8b6b8b;background:#fdf2f8;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:#ec4899;flex-shrink:0;margin-top:1px}.strategy-context{background:#fdf2f8;border-radius:14px;margin-top:20px;padding:12px 16px}.context-row{justify-content:space-between;align-items:center;display:flex}.context-label{color:#8b6b8b;font-size:12px;font-weight:700}.context-value{color:#3d1a3d;font-size:12px}.topic-cards-section{background:linear-gradient(135deg,#fef3c7 0%,#fdf2f8 100%);border:1px solid #fde68a;border-radius:14px;margin-top:20px;padding:14px}.topic-cards-header{color:#92400e;align-items:center;gap:8px;margin-bottom:10px;font-size:13px;font-weight:700;display:flex}.topic-random-btn{color:#92400e;cursor:pointer;background:#fffbeb;border:1px solid #fcd34d;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:#fef3c7;border-color:#f59e0b}.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:#92400e;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:#f59e0b1a}.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{cursor:pointer;text-align:left;color:#3d1a3d;background:#fff;border:1px solid #fde68a;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:#fffbeb;border-color:#f59e0b;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:#b8a0b8;flex-shrink:0;transition:color .2s}.topic-card-item:hover .topic-send-icon{color:#f59e0b}.blocked-state{text-align:center;background:linear-gradient(135deg,#fff1f2,#ffe4e6);border:1px solid #fecdd3;border-radius:20px;margin-bottom:16px;padding:24px 16px}.blocked-icon{margin-bottom:14px}.blocked-title{color:#be123c;margin:0 0 10px;font-size:16px;font-weight:700}.blocked-text{color:#e11d48;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,#ec4899,#db2777)}.blocked-btn.primary:hover{background:linear-gradient(135deg,#db2777,#be123c)}.blocked-btn.secondary{color:#3d1a3d;background:#fff;border:1.5px solid #fce7f3}.blocked-btn.secondary:hover{background:#fdf2f8}.progress-save-area{margin-bottom:20px}.progress-save-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#ec4899,#db2777);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,#db2777,#be123c);transform:translateY(-1px);box-shadow:0 4px 16px #db277733}.progress-save-hint{color:#b8a0b8;text-align:center;margin:8px 0 0;font-size:11px;line-height:1.5}.progress-empty{text-align:center;color:#b8a0b8;padding:40px 20px}.progress-empty-icon{color:#f9a8d4;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:#fce7f3;border-radius:1px;width:2px;position:absolute;top:8px;bottom:8px;left:7px}.timeline-item{padding-bottom:20px;position:relative}.timeline-dot{background:#ec4899;border:2px solid #fff;border-radius:50%;width:12px;height:12px;position:absolute;top:6px;left:-16px;box-shadow:0 0 0 3px #fce7f3}.timeline-card{background:#fff;border:1px solid #fce7f3;border-radius:16px;padding:16px;position:relative}.timeline-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.timeline-stage{color:#db2777;font-size:14px;font-weight:700}.timeline-date{color:#b8a0b8;font-size:11px}.timeline-bullets p{color:#3d1a3d;margin:0 0 4px;font-size:13px;line-height:1.6}.timeline-risks{margin-top:8px}.risk-tag{color:#e11d48;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{color:#8b6b8b;flex-shrink:0;width:32px;font-size:11px}.mini-score-bar{background:#fce7f3;border-radius:6px;flex:1;height:6px;overflow:hidden}.mini-score-fill{background:linear-gradient(90deg,#f472b6,#ec4899);border-radius:6px;height:100%}.timeline-delete{color:#b8a0b8;cursor:pointer;opacity:0;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:24px;height:24px;transition:all .2s;display:flex;position:absolute;top:12px;right:12px}.timeline-card:hover .timeline-delete{opacity:1}.timeline-delete:hover{color:#e11d48;background:#fff1f2}.progress-clear-all{color:#e11d48;cursor:pointer;background:#fff;border:1.5px solid #fecdd3;border-radius:14px;margin:20px auto 0;padding:10px 20px;font-size:13px;font-weight:600;display:block}.progress-clear-all:hover{background:#fff1f2}.progress-preview-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:300;background:#3d1a3d66;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.progress-preview-dialog{background:#fff;border-radius:24px;width:90%;max-width:360px;padding:28px;box-shadow:0 20px 60px #db277733}.progress-preview-dialog h4{color:#3d1a3d;margin:0 0 8px;font-size:17px;font-weight:700}.preview-note{color:#8b6b8b;margin:0 0 16px;font-size:12px}.preview-stage{color:#db2777;background:#fdf2f8;border-radius:20px;margin-bottom:12px;padding:6px 16px;font-size:14px;font-weight:700;display:inline-block}.preview-bullet{color:#3d1a3d;margin:0 0 6px;font-size:13px}.preview-actions{gap:10px;margin-top:20px;display:flex}.preview-cancel-btn{color:#3d1a3d;cursor:pointer;background:#fff;border:1.5px solid #fce7f3;border-radius:14px;flex:1;padding:12px;font-weight:600}.preview-save-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#ec4899,#db2777);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:#fdf2f8;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:#fdf2f8;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:#ec4899;margin-bottom:14px}.memory-auth h4{color:#3d1a3d;margin:0 0 10px;font-size:16px;font-weight:700}.memory-auth-desc{color:#8b6b8b;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:#8b6b8b;font-size:12px;line-height:1.8}.memory-auth-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#ec4899,#db2777);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,#db2777,#be123c)}.memory-import-area{margin-bottom:16px}.memory-import-btn{color:#ec4899;cursor:pointer;background:#fdf2f8;border:2px dashed #fbcfe8;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:#fce7f3;border-color:#ec4899}.memory-list{flex-direction:column;gap:8px;display:flex}.memory-item{background:#fdf2f8;border-radius:14px;align-items:center;gap:12px;padding:12px;display:flex}.memory-item-icon{color:#ec4899}.memory-item-info{flex-direction:column;gap:2px;display:flex}.memory-item-name{color:#3d1a3d;font-size:13px;font-weight:600}.memory-item-date{color:#b8a0b8;font-size:11px}.file-input-hidden{display:none}.dhdna-intro{margin-bottom:16px}.dhdna-intro p{color:#8b6b8b;margin:0 0 8px;font-size:13px}.dhdna-intro ul{margin:0;padding:0;list-style:none}.dhdna-intro li{color:#b8a0b8;font-size:12px;line-height:1.8}.dhdna-input-area{margin-bottom:16px}.dhdna-textarea{color:#3d1a3d;resize:vertical;box-sizing:border-box;border:2px solid #fce7f3;border-radius:16px;outline:none;width:100%;margin-bottom:10px;padding:12px 16px;font-family:inherit;font-size:13px;line-height:1.6}.dhdna-textarea:focus{border-color:#ec4899}.dhdna-analyze-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#8b5cf6,#7c3aed);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,#7c3aed,#6d28d9)}.dhdna-analyze-btn:disabled{opacity:.5;cursor:not-allowed}.dhdna-result{margin-top:16px}.dhdna-result-header{margin-bottom:12px}.dhdna-confidence{color:#ec4899;background:#fdf2f8;border-radius:20px;padding:3px 10px;font-size:12px;font-weight:600}.dhdna-confidence[data-level=low]{color:#92400e;background:#fef3c7}.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{color:#8b6b8b;flex-shrink:0;width:70px;font-size:11px}.dhdna-dim-bar-track{background:#fce7f3;border-radius:6px;flex:1;height:6px;overflow:hidden}.dhdna-dim-bar-fill{background:linear-gradient(90deg,#a78bfa,#8b5cf6);border-radius:6px;height:100%}.dhdna-dim-score{color:#8b5cf6;text-align:right;flex-shrink:0;width:32px;font-size:11px;font-weight:700}.dhdna-summary{background:#fdf2f8;border-radius:14px;padding:14px}.dhdna-summary p{color:#3d1a3d;margin:0 0 6px;font-size:13px;line-height:1.6}.dhdna-summary strong{color:#db2777}.dhdna-risk{color:#e11d48;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}}:root{--pink-50:#fdf2f8;--pink-100:#fce7f3;--pink-200:#fbcfe8;--pink-300:#f9a8d4;--pink-400:#f472b6;--pink-500:#ec4899;--pink-600:#db2777;--rose-400:#fb7185;--rose-500:#f43f5e;--purple-300:#c4b5fd;--purple-400:#a78bfa;--purple-500:#8b5cf6;--peach:#fda4af;--lavender:#ddd6fe;--mint:#a7f3d0;--gold:#fbbf24;--bg-primary:#fff5f7;--bg-card:#fff;--text-primary:#3d1a3d;--text-secondary:#8b6b8b;--text-muted:#b8a0b8;--shadow-sm:0 1px 3px #db27770f;--shadow-md:0 4px 16px #db277714;--shadow-lg:0 8px 32px #db27771f;--radius-sm:10px;--radius-md:16px;--radius-lg:24px;--radius-xl:32px}*{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:linear-gradient(135deg,#fce4ec 0%,#fce7f3 25%,#f3e8ff 50%,#fce7f3 75%,#fce4ec 100%);font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Hiragino Sans GB,Noto Sans SC,Microsoft YaHei,sans-serif}.app{-webkit-backdrop-filter:blur(30px);max-width:900px;height:100vh;box-shadow:var(--shadow-lg);background:#ffffffd9;flex-direction:column;margin:0 auto;display:flex}.app-main{flex:1;display:flex;overflow:hidden}.chat-area{background:linear-gradient(#fce7f34d 0%,#fff9 30%,#fffc 100%);flex-direction:column;flex:1;display:flex;overflow:hidden}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--pink-200);border-radius:10px}::-webkit-scrollbar-thumb:hover{background:var(--pink-300)}::selection{background:var(--pink-200);color:var(--pink-600)}@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 glow{0%,to{box-shadow:0 0 8px #ec48994d}50%{box-shadow:0 0 20px #ec489980}}@media (width<=768px){.app{max-width:100%;box-shadow:none;background:#fffffff2}}
