@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=Inter:wght@400;500;600&display=swap";:root{--bg-deep: #0a0a0f;--bg-surface: #13121a;--bg-elevated: #1c1a26;--bg-glass: rgba(30, 27, 42, .65);--accent-rose: #c4516e;--accent-warm: #e8a87c;--accent-blush: #f5c6d0;--accent-glow: rgba(196, 81, 110, .25);--text-primary: #ede5e9;--text-secondary: #9b8e95;--text-muted: #6b5f65;--border-subtle: rgba(196, 81, 110, .15);--border-input: rgba(196, 81, 110, .3);--self-bubble: linear-gradient(135deg, #2a1a2e 0%, #1e1428 100%);--other-bubble: linear-gradient(135deg, #1a1520 0%, #151019 100%);--ease: cubic-bezier(.4, 0, .2, 1);color-scheme:dark}*{box-sizing:border-box}html,body{height:100%}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}h1,h2,.brand-title{font-family:Cormorant Garamond,serif}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}.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:.35;animation:drift 22s ease-in-out infinite}.ambient-particles span:nth-child(1){width:220px;height:220px;left:10%;top:15%;background:var(--accent-rose);animation-duration:26s}.ambient-particles span:nth-child(2){width:160px;height:160px;right:12%;top:55%;background:var(--accent-warm);animation-duration:20s;animation-delay:-6s}.ambient-particles span:nth-child(3){width:140px;height:140px;left:50%;bottom:8%;background:var(--accent-blush);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{animation:none!important}}#setup-screen{align-items:center;justify-content:center;padding:1.5rem;background:radial-gradient(ellipse at top,#150f18 0%,var(--bg-deep) 60%)}@property --border-angle{syntax: "<angle>"; inherits: false; initial-value: 0deg;}.setup-card{position:relative;z-index:1;width:min(380px,90vw);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-rose),var(--accent-warm),var(--accent-blush),var(--accent-rose)) 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-brand{text-align:center;margin-bottom:.5rem}.setup-brand .brand-icon{color:var(--accent-rose);filter:drop-shadow(0 0 12px var(--accent-glow));margin-bottom:.5rem}.setup-brand h1{margin:0;font-size:2.1rem;font-weight:600;letter-spacing:.02em;background:linear-gradient(135deg,var(--accent-blush),var(--accent-warm));-webkit-background-clip:text;background-clip:text;color:transparent}.tagline{color:var(--text-secondary);font-size:.9rem;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{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}.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:#1a0e12;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%;background:var(--bg-deep)}.chat-header{display:flex;justify-content:space-between;align-items:center;padding:calc(.85rem + env(safe-area-inset-top,0px)) 1.25rem .85rem;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-header-title{display:flex;flex-direction:column;gap:.15rem}.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:#7fd99a}.status-connecting{color:var(--accent-warm)}.status-disconnected{color:#e08a8a}.header-actions{display:flex;align-items:center;gap:.5rem}.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 .75rem;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:#1a0e12;font-weight:600}.message-list{flex:1;overflow-y:auto;padding:1.25rem;display:flex;flex-direction:column;gap:.6rem}.bubble{max-width:70%;padding:.6rem .9rem;border-radius:16px;animation:slideUp .35s var(--ease) both}@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 var(--border-subtle);border-bottom-right-radius:4px}.bubble.other{align-self:flex-start;background:var(--other-bubble);border:1px solid rgba(255,255,255,.05);border-bottom-left-radius:4px}.bubble-meta{font-size:.68rem;color:var(--text-muted);margin-bottom:.25rem}.bubble-body{word-break:break-word;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)}.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:#1a0e12;font-size:.7rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.send-form{display:flex;align-items:center;gap:.6rem;padding:.85rem 1.25rem calc(.85rem + env(safe-area-inset-bottom,0px));border-top:1px solid var(--border-subtle);background:var(--bg-surface)}.send-form input[type=text]{flex:1}.attach-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{background:var(--bg-elevated);border:1px solid var(--border-subtle);color:var(--text-secondary)}.attach-btn:hover{color:var(--accent-blush);border-color:var(--border-input)}.send-btn{border:none;background:linear-gradient(135deg,var(--accent-rose),var(--accent-warm));color:#1a0e12}.send-btn:hover{transform:scale(1.05);box-shadow:0 4px 16px var(--accent-glow)}.attach-btn svg,.send-btn svg{width:18px;height:18px}.lightbox{position:fixed;inset:0;background:#050408e6;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%);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.5rem}.bubble{max-width:82%}}
