@import"https://fonts.googleapis.com/css2?family=Anton&family=Cormorant+Garamond:ital,wght@0,500;0,600;1,500&family=Inter:wght@400;500;600&display=swap";:root{--bg-deep: #05070f;--bg-surface: #0a0d1c;--bg-elevated: #131a33;--bg-glass: rgba(14, 19, 42, .68);--accent-rose: #ff4d6d;--accent-warm: #e23636;--accent-blush: #ffb3c1;--accent-glow: rgba(255, 77, 109, .22);--web-blue: #2f54c4;--teal: #3ee6d6;--text-primary: #eef1fb;--text-secondary: #9aa3c7;--text-muted: #5f6785;--border-subtle: rgba(255, 77, 109, .16);--border-input: rgba(255, 77, 109, .34);--self-bubble: linear-gradient(135deg, #2c1220 0%, #1e0c18 100%);--other-bubble: linear-gradient(135deg, #101a3a 0%, #0c1329 100%);--ease: cubic-bezier(.4, 0, .2, 1);--spring: cubic-bezier(.34, 1.56, .64, 1);--web-corner: url("data:image/svg+xml,%3Csvg xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22 width%3D%22240%22 height%3D%22240%22%3E%3Cg fill%3D%22none%22 stroke%3D%22%23e23636%22 stroke-opacity%3D%220.14%22 stroke-width%3D%221.1%22%3E%3Cpath d%3D%22M240 0 L8.0 -0.0%22%2F%3E%3Cpath d%3D%22M240 0 L25.7 88.8%22%2F%3E%3Cpath d%3D%22M240 0 L76.0 164.0%22%2F%3E%3Cpath d%3D%22M240 0 L151.2 214.3%22%2F%3E%3Cpath d%3D%22M240 0 L240.0 232.0%22%2F%3E%3Cpath d%3D%22M185.0 -0.0 Q191.5 9.7 189.2 21.0 Q198.8 27.5 201.1 38.9 Q212.5 41.2 219.0 50.8 Q230.3 48.5 240.0 55.0%22%2F%3E%3Cpath d%3D%22M135.0 -0.0 Q147.3 18.4 143.0 40.2 Q161.4 52.5 165.8 74.2 Q187.5 78.6 199.8 97.0 Q221.6 92.7 240.0 105.0%22%2F%3E%3Cpath d%3D%22M85.0 -0.0 Q103.2 27.2 96.8 59.3 Q124.0 77.5 130.4 109.6 Q162.5 116.0 180.7 143.2 Q212.8 136.8 240.0 155.0%22%2F%3E%3Cpath d%3D%22M35.0 -0.0 Q59.0 36.0 50.6 78.5 Q86.6 102.5 95.0 145.0 Q137.5 153.4 161.5 189.4 Q204.0 181.0 240.0 205.0%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E");color-scheme:dark}*{box-sizing:border-box}html,body{height:100%;overscroll-behavior-y:none}body{margin:0;font-family:Inter,system-ui,sans-serif;background:var(--bg-deep);color:var(--text-primary);-webkit-font-smoothing:antialiased;overflow-x:hidden}a,button,input{font-family:inherit}.screen{min-height:100vh;min-height:100dvh;display:flex;position:relative}.hidden{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.themed-backdrop,#chat-list-screen,#setup-screen,#chat-room,.canvas-mode{background-color:var(--bg-deep);background-image:var(--web-corner),radial-gradient(rgba(238,241,251,.032) 1px,transparent 1.4px),radial-gradient(ellipse at 15% -10%,rgba(226,54,54,.14),transparent 55%),radial-gradient(ellipse at 85% 115%,rgba(47,84,196,.16),transparent 55%);background-size:240px 240px,18px 18px,auto,auto;background-position:top right,0 0,center,center;background-repeat:no-repeat,repeat,no-repeat,no-repeat}.glitch-title{font-family:Anton,Inter,sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:.06em;color:var(--text-primary);text-shadow:2px 0 0 rgba(226,54,54,.55),-2px 0 0 rgba(62,230,214,.45);animation:chroma-drift 7s ease-in-out infinite}@keyframes chroma-drift{0%,91%,to{text-shadow:2px 0 0 rgba(226,54,54,.55),-2px 0 0 rgba(62,230,214,.45)}93%{text-shadow:3px 0 0 rgba(226,54,54,.7),-3px 0 0 rgba(62,230,214,.6)}95%{text-shadow:1px 0 0 rgba(226,54,54,.45),-1px 0 0 rgba(62,230,214,.4)}}.ambient-particles{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}.ambient-particles span{position:absolute;border-radius:50%;filter:blur(40px);opacity:.3;animation:drift 22s ease-in-out infinite}.ambient-particles span:nth-child(1){width:220px;height:220px;left:10%;top:15%;background:var(--accent-warm);animation-duration:26s}.ambient-particles span:nth-child(2){width:160px;height:160px;right:12%;top:55%;background:var(--accent-rose);animation-duration:20s;animation-delay:-6s}.ambient-particles span:nth-child(3){width:140px;height:140px;left:50%;bottom:8%;background:var(--web-blue);animation-duration:30s;animation-delay:-12s}@keyframes drift{0%,to{transform:translate(0) scale(1)}33%{transform:translate(30px,-20px) scale(1.08)}66%{transform:translate(-20px,25px) scale(.95)}}@media(prefers-reduced-motion:reduce){.ambient-particles span,.setup-card,.bubble,.glitch-title,.peek-bob{animation:none!important}}#chat-list-screen{flex-direction:column;width:100%;padding:calc(1.5rem + env(safe-area-inset-top,0px)) calc(1.25rem + env(safe-area-inset-right,0px)) 1.5rem calc(1.25rem + env(safe-area-inset-left,0px))}.list-shell{position:relative;z-index:1;width:min(480px,100%);margin:0 auto}.list-header{display:flex;align-items:center;gap:.75rem;margin-bottom:1.5rem}.list-header .brand-icon{color:var(--accent-warm);filter:drop-shadow(0 0 10px var(--accent-glow));flex-shrink:0}.list-header h1{margin:0;font-size:1.45rem}.list-header .tagline{margin:.1rem 0 0}.session-list{display:flex;flex-direction:column;gap:.6rem}.session-row{display:flex;align-items:center;gap:.85rem;width:100%;padding:.75rem 1rem;border-radius:14px;border:1px solid var(--border-subtle);background:var(--bg-glass);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--text-primary);text-align:left;cursor:pointer;transition:border-color .3s var(--ease),transform .3s var(--ease)}.session-row:hover{border-color:var(--border-input);transform:translateY(-1px)}.session-avatar{position:relative;flex-shrink:0;width:42px;height:42px}.session-avatar svg{width:100%;height:100%;display:block;border-radius:50%;background:#0a0d1e;box-shadow:0 0 0 1.5px var(--avatar-accent, var(--border-input))}.session-avatar .presence-dot{position:absolute;right:-1px;bottom:-1px;border:2px solid var(--bg-deep)}.presence-dot{flex-shrink:0;width:11px;height:11px;border-radius:50%;background:var(--text-muted)}.presence-dot.online{background:#2ee6a8;box-shadow:0 0 8px #2ee6a899}.presence-dot.offline{background:var(--text-muted)}.session-info{display:flex;flex-direction:column;gap:.15rem;min-width:0}.session-name{font-size:.95rem;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.session-status{font-size:.72rem;color:var(--text-secondary)}.empty-state{text-align:center;color:var(--text-muted);font-size:.85rem;margin-top:2.5rem;line-height:1.6}.fab{position:fixed;right:calc(1.5rem + env(safe-area-inset-right,0px));bottom:calc(1.5rem + env(safe-area-inset-bottom,0px));width:56px;height:56px;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--accent-rose),var(--accent-warm));color:#fff;box-shadow:0 8px 24px var(--accent-glow),0 4px 12px #0006;cursor:pointer;z-index:10;transition:transform .3s var(--ease),box-shadow .3s var(--ease)}.fab:hover{transform:scale(1.06)}.fab svg{width:24px;height:24px}#setup-screen{align-items:center;justify-content:center;padding:1.5rem}@property --border-angle{syntax: "<angle>"; inherits: false; initial-value: 0deg;}.setup-card{position:relative;z-index:1;width:min(400px,92vw);display:flex;flex-direction:column;gap:.5rem;padding:2.25rem 2rem;border-radius:20px;border:1px solid transparent;background:linear-gradient(var(--bg-glass),var(--bg-glass)) padding-box,conic-gradient(from var(--border-angle),var(--accent-warm),var(--accent-rose),var(--teal),var(--web-blue),var(--accent-warm)) border-box;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 0 40px var(--accent-glow),0 20px 60px #0006;animation:card-in .6s var(--ease) both,rotate-border 8s linear infinite}@keyframes rotate-border{to{--border-angle: 360deg}}@keyframes card-in{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.setup-back-btn{position:absolute;top:1.1rem;left:1.1rem;width:32px;height:32px;border-radius:50%;border:1px solid var(--border-subtle);background:var(--bg-elevated);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2}.setup-back-btn svg{width:16px;height:16px}.setup-brand{text-align:center;margin-bottom:.5rem}.setup-brand .brand-icon{color:var(--accent-warm);filter:drop-shadow(0 0 12px var(--accent-glow));margin-bottom:.5rem}.setup-brand h1{margin:0;font-size:1.9rem}.tagline{font-family:Cormorant Garamond,serif;font-style:italic;color:var(--text-secondary);font-size:1rem;margin:.35rem 0 0}#setup-form{display:flex;flex-direction:column;gap:1.1rem;margin-top:1.5rem}.input-group{display:flex;flex-direction:column;gap:.4rem}.input-group label,.input-group .input-label{font-size:.78rem;color:var(--text-secondary);letter-spacing:.02em}.setup-card input,.message-input,.send-form input[type=text]{padding:.7rem .85rem;font-size:.95rem;border-radius:10px;border:1px solid var(--border-subtle);background:var(--bg-elevated);color:var(--text-primary);transition:border-color .3s var(--ease),box-shadow .3s var(--ease)}.setup-card input::placeholder,.send-form input::placeholder{color:var(--text-muted);transition:opacity .3s var(--ease)}.setup-card input:focus,.send-form input:focus{outline:none;border-color:var(--border-input);box-shadow:0 0 0 3px var(--accent-glow)}.hint{color:var(--text-muted);font-size:.75rem;margin:.1rem 0 0;line-height:1.45}.vault-id-hint{color:var(--teal);letter-spacing:.02em}.avatar-picker{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.avatar-option{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.55rem .2rem .5rem;border-radius:14px;border:1.5px solid var(--border-subtle);background:var(--bg-elevated);cursor:pointer;transition:border-color .25s var(--ease),box-shadow .25s var(--ease),transform .25s var(--ease)}.avatar-option:hover{transform:translateY(-2px)}.avatar-option:has(input:checked){border-color:var(--avatar-accent);box-shadow:0 6px 18px color-mix(in srgb,var(--avatar-accent) 30%,transparent);background:color-mix(in srgb,var(--avatar-accent) 10%,var(--bg-elevated))}.avatar-option:has(input:focus-visible){outline:2px solid var(--avatar-accent);outline-offset:2px}.avatar-face{width:52px;aspect-ratio:1;border-radius:50%;overflow:hidden;background:#0a0d1e;display:block}.avatar-face svg{width:100%;height:100%;display:block}.avatar-name{font-size:.66rem;color:var(--text-secondary);white-space:nowrap}.avatar-option:has(input:checked) .avatar-name{color:var(--text-primary);font-weight:600}.btn-primary{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.8rem;margin-top:.4rem;border:none;border-radius:10px;background:linear-gradient(135deg,var(--accent-rose),var(--accent-warm));color:#fff;font-weight:600;font-size:.95rem;cursor:pointer;transition:transform .3s var(--ease),box-shadow .3s var(--ease)}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 8px 24px var(--accent-glow)}.btn-primary svg{width:16px;height:16px;transition:transform .3s var(--ease)}.btn-primary:hover svg{transform:translate(3px)}.footer-note{text-align:center;margin:1.25rem 0 0;font-size:.7rem;letter-spacing:.03em;color:var(--text-muted)}#chat-room{flex-direction:column;width:100%;height:100vh;height:100dvh;overflow:hidden}.chat-header{display:flex;align-items:center;gap:.6rem;padding:calc(.85rem + env(safe-area-inset-top,0px)) calc(1rem + env(safe-area-inset-right,0px)) .85rem calc(1rem + env(safe-area-inset-left,0px));border-bottom:1px solid var(--border-subtle);background:var(--bg-glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);position:sticky;top:0;z-index:5}.chat-back-btn{flex-shrink:0;width:32px;height:32px;border-radius:50%;border:1px solid var(--border-subtle);background:var(--bg-elevated);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer}.chat-back-btn svg{width:16px;height:16px}.partner-avatar{flex-shrink:0;width:34px;height:34px}.partner-avatar svg{width:100%;height:100%;display:block;border-radius:50%;background:#0a0d1e;box-shadow:0 0 0 1.5px var(--avatar-accent, var(--border-input)),0 0 12px color-mix(in srgb,var(--avatar-accent, #ff4d6d) 35%,transparent)}.chat-header-title{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem}.chat-header-title .room-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.room-name{font-family:Cormorant Garamond,serif;font-weight:600;font-size:1.3rem;color:var(--accent-blush)}.status{font-size:.72rem;letter-spacing:.02em}.status-connected{color:#2ee6a8}.status-connecting{color:var(--accent-blush)}.status-disconnected{color:#e08a8a}.header-actions{display:flex;align-items:center;gap:.4rem}.view-toggle{display:flex;gap:.2rem;padding:.2rem;border-radius:999px;background:var(--bg-elevated);border:1px solid var(--border-subtle)}.toggle-btn{padding:.3rem .7rem;background:transparent;border:none;border-radius:999px;color:var(--text-secondary);font-size:.75rem;cursor:pointer;transition:background .3s var(--ease),color .3s var(--ease)}.toggle-btn.active{background:linear-gradient(135deg,var(--accent-rose),var(--accent-warm));color:#fff;font-weight:600}.icon-btn{flex-shrink:0;width:32px;height:32px;border-radius:50%;border:1px solid var(--border-subtle);background:var(--bg-elevated);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:color .3s var(--ease),border-color .3s var(--ease),background .3s var(--ease)}.icon-btn svg{width:16px;height:16px}.icon-btn:hover{color:var(--accent-blush);border-color:var(--border-input)}.call-btn.active{color:#06130d;background:#2ee6a8;border-color:transparent;animation:pulse-dot 1.4s ease-in-out infinite}.end-session-btn:hover{color:#e08a8a;border-color:#e08a8a}.message-list{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:1.25rem;display:flex;flex-direction:column;gap:.6rem}.typing-indicator{padding:0 1.25rem .5rem;font-size:.75rem;font-style:italic;color:var(--text-secondary);animation:fade-in .25s var(--ease) both}.bubble{position:relative;max-width:70%;padding:.6rem .9rem;border-radius:16px;animation:slideUp .35s var(--ease) both;transition:transform .25s var(--ease);touch-action:pan-y}.bubble.dragging{transition:none}.bubble-reply-icon{position:absolute;left:-34px;top:50%;transform:translateY(-50%);width:26px;height:26px;border-radius:50%;background:var(--bg-elevated);border:1px solid var(--border-input);color:var(--accent-blush);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .15s var(--ease);pointer-events:none}.bubble-reply-icon svg{width:13px;height:13px}.reply-quote{display:flex;flex-direction:column;gap:.1rem;padding:.35rem .55rem;margin-bottom:.35rem;border-left:2px solid var(--accent-rose);background:#ffffff0a;border-radius:6px;font-size:.78rem}.reply-quote-sender{color:var(--accent-blush);font-weight:600}.reply-quote-snippet{color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.bubble.self{align-self:flex-end;background:var(--self-bubble);border:1px solid rgba(226,54,54,.3);border-bottom-right-radius:4px}.bubble.other{align-self:flex-start;background:var(--other-bubble);border:1px solid rgba(93,122,231,.22);border-bottom-left-radius:4px}.bubble-meta{font-size:.68rem;color:var(--text-muted);margin-bottom:.25rem}.bubble-body{word-break:break-word;overflow-wrap:anywhere;white-space:pre-wrap;font-size:.92rem;line-height:1.4}.bubble-image{display:block;max-width:280px;max-height:320px;width:100%;border-radius:12px;cursor:pointer;transition:transform .3s var(--ease)}.bubble-image:hover{transform:scale(1.02)}.bubble-audio{display:block;width:220px;max-width:100%;height:36px}.voice-player{display:flex;align-items:center;gap:.6rem;min-width:min(230px,58vw);padding:.15rem 0}.voice-play-btn{flex-shrink:0;width:36px;height:36px;border-radius:50%;border:none;background:var(--voice-accent, var(--accent-rose));color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 12px color-mix(in srgb,var(--voice-accent, #ff4d6d) 45%,transparent);transition:transform .2s var(--ease)}.voice-play-btn:active{transform:scale(.94)}.voice-play-btn svg{width:16px;height:16px}.voice-wave{flex:1;height:32px;min-width:110px;cursor:pointer;touch-action:manipulation}.voice-time{flex-shrink:0;font-size:.68rem;color:var(--text-secondary);font-variant-numeric:tabular-nums;min-width:30px;text-align:right}.peek-layer{position:relative;height:0;overflow:visible;z-index:3;pointer-events:none}.peek-bust{position:absolute;right:22px;bottom:-4px;width:112px;opacity:0;transform:translateY(90%);transition:transform .55s var(--spring),opacity .35s var(--ease);filter:drop-shadow(0 -4px 16px color-mix(in srgb,var(--avatar-accent, #ff4d6d) 40%,transparent))}.peek-bust.visible{opacity:1;transform:translateY(10%)}.peek-bust svg{width:100%;display:block}.peek-bust.visible .peek-bob{animation:peek-bob 3.2s ease-in-out infinite}@keyframes peek-bob{0%,to{transform:translateY(0)}50%{transform:translateY(4px)}}.call-bar{display:flex;align-items:center;gap:.75rem;margin:.45rem 1.25rem 0;padding:.6rem .9rem;border-radius:14px;border:1px solid var(--border-input);background:var(--bg-glass);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);animation:slideUp .3s var(--ease) both}.call-pulse{flex-shrink:0;width:10px;height:10px;border-radius:50%;background:#2ee6a8;box-shadow:0 0 10px #2ee6a8b3}.call-bar[data-state=ringing_in] .call-pulse,.call-bar[data-state=ringing_out] .call-pulse{animation:pulse-dot .9s ease-in-out infinite}.call-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.1rem}.call-status{font-size:.84rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.call-timer{font-size:.72rem;color:var(--text-secondary);font-variant-numeric:tabular-nums}.call-actions{display:flex;gap:.5rem}.call-action-btn{width:38px;height:38px;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s var(--ease)}.call-action-btn:active{transform:scale(.92)}.call-action-btn svg{width:18px;height:18px}.call-action-btn.accept{background:#2ee6a8;color:#06130d;animation:pulse-dot 1.2s ease-in-out infinite}.call-action-btn.hangup{background:var(--accent-warm);color:#fff}.call-action-btn.mute{background:var(--bg-elevated);color:var(--text-secondary);border:1px solid var(--border-subtle)}.call-action-btn.mute.muted{background:#e2a736;color:#1a1206;border:none}.image-preview-bar{padding:.75rem 1.25rem 0;animation:slideUp .3s var(--ease) both}.preview-thumbnail-wrap{position:relative;display:inline-block}.preview-thumbnail-wrap img{height:72px;border-radius:10px;border:1px solid var(--border-subtle);display:block}.preview-remove-btn{position:absolute;top:-8px;right:-8px;width:22px;height:22px;border-radius:50%;border:none;background:var(--accent-rose);color:#fff;font-size:.7rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.recording-bar{display:flex;align-items:center;gap:.6rem;padding:.6rem 1.25rem 0;animation:slideUp .3s var(--ease) both}.recording-dot{flex-shrink:0;width:8px;height:8px;border-radius:50%;background:var(--accent-warm);animation:pulse-dot 1.2s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.35}}#recording-timer{font-variant-numeric:tabular-nums;font-size:.85rem;color:var(--text-primary)}.recording-wave{flex:1;height:24px;min-width:0}.recording-cancel-btn{flex-shrink:0;margin-left:auto;width:24px;height:24px;border-radius:50%;border:none;background:var(--bg-elevated);color:var(--text-secondary);font-size:.7rem;cursor:pointer}.composer-context-bar{display:flex;align-items:center;gap:.6rem;padding:.55rem 1.25rem 0;animation:slideUp .3s var(--ease) both;border-left:3px solid var(--accent-rose)}.composer-context-bar[data-mode=edit]{border-left-color:var(--teal)}.composer-context-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.1rem}.composer-context-label{font-size:.75rem;font-weight:600;color:var(--accent-blush)}.composer-context-snippet{font-size:.75rem;color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.composer-context-cancel-btn{flex-shrink:0;width:22px;height:22px;border-radius:50%;border:none;background:var(--bg-elevated);color:var(--text-secondary);font-size:.7rem;cursor:pointer}.send-form{position:relative;z-index:4;display:flex;align-items:center;gap:.6rem;padding:.85rem calc(1.25rem + env(safe-area-inset-right,0px)) calc(.85rem + env(safe-area-inset-bottom,0px)) calc(1.25rem + env(safe-area-inset-left,0px));border-top:1px solid var(--border-subtle);background:var(--bg-surface)}.send-form input[type=text]{flex:1;min-width:0}.attach-btn,.mic-btn,.send-btn{flex-shrink:0;display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;cursor:pointer;transition:background .3s var(--ease),transform .3s var(--ease)}.attach-btn,.mic-btn{background:var(--bg-elevated);border:1px solid var(--border-subtle);color:var(--text-secondary)}.attach-btn:hover,.mic-btn:hover{color:var(--accent-blush);border-color:var(--border-input)}.mic-btn.recording{color:#fff;background:var(--accent-warm);border-color:var(--accent-warm);animation:pulse-dot 1.2s ease-in-out infinite}.send-btn{border:none;background:linear-gradient(135deg,var(--accent-rose),var(--accent-warm));color:#fff}.send-btn.editing{background:linear-gradient(135deg,#3ee6d6,#1fae9e);color:#06211d}.send-btn:hover{transform:scale(1.05);box-shadow:0 4px 16px var(--accent-glow)}.attach-btn svg,.mic-btn svg,.send-btn svg{width:18px;height:18px}.canvas-mode{position:fixed;inset:0;z-index:40;display:flex;flex-direction:column;touch-action:none;overscroll-behavior:contain}.canvas-toolbar{display:flex;align-items:center;gap:.75rem;padding:calc(.7rem + env(safe-area-inset-top,0px)) calc(1rem + env(safe-area-inset-right,0px)) .7rem calc(1rem + env(safe-area-inset-left,0px));border-bottom:1px solid var(--border-subtle);background:var(--bg-glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.canvas-title{flex:1;font-family:Cormorant Garamond,serif;font-style:italic;font-size:1.2rem;color:var(--accent-blush)}.canvas-actions{display:flex;gap:.5rem}.draw-canvas{flex:1;width:100%;min-height:0;touch-action:none;cursor:crosshair}.canvas-hint{position:absolute;left:50%;bottom:calc(.9rem + env(safe-area-inset-bottom,0px));transform:translate(-50%);margin:0;font-size:.72rem;color:var(--text-muted);pointer-events:none;white-space:nowrap}.lightbox{position:fixed;inset:0;background:#04050ce6;backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:50;padding:2rem;animation:fade-in .25s var(--ease) both;cursor:zoom-out}.lightbox img{max-width:100%;max-height:100%;border-radius:12px;box-shadow:0 0 60px var(--accent-glow)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.toast{position:fixed;bottom:calc(5.5rem + env(safe-area-inset-bottom,0px));left:50%;transform:translate(-50%);max-width:min(420px,calc(100vw - 2rem));background:var(--bg-elevated);border:1px solid var(--border-input);color:var(--text-primary);padding:.6rem 1.1rem;border-radius:999px;font-size:.8rem;box-shadow:0 8px 24px #0006;z-index:60;animation:toast-in .3s var(--ease) both}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}@media(max-width:480px){.setup-card{padding:1.75rem 1.25rem}.bubble{max-width:82%}.chat-header{gap:.45rem}.header-actions{gap:.3rem}.toggle-btn{padding:.3rem .5rem;font-size:.68rem}.partner-avatar{width:30px;height:30px}.room-name{font-size:1.1rem}.avatar-face{width:46px}.peek-bust{width:96px;right:14px}}@media(max-width:360px){.chat-header{padding-left:calc(.6rem + env(safe-area-inset-left,0px));padding-right:calc(.6rem + env(safe-area-inset-right,0px));gap:.3rem}.header-actions{gap:.25rem}.toggle-btn{padding:.28rem .4rem;font-size:.62rem}.partner-avatar{display:none}}
