:root{color-scheme:dark;--bg:#100b10;--panel:#1c141b;--line:#37252f;--muted:#ae9ba8;--red:#f43c65;--text:#fff5f8}
*{box-sizing:border-box}body{margin:0;font:15px/1.55 system-ui,-apple-system,"Segoe UI",sans-serif;background:radial-gradient(ellipse at 15% 24%,#70142666,transparent 50%),radial-gradient(ellipse at 90% 90%,#6b142544,transparent 55%),var(--bg);color:var(--text);min-height:100vh}button,input,textarea,select{font:inherit}a{color:inherit;text-decoration:none}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}[hidden]{display:none!important}button:focus-visible,a:focus-visible{outline:3px solid #ff9ab1;outline-offset:3px}input,textarea,select{width:100%;border:1px solid #4a303e;background:#140e14;color:var(--text);border-radius:11px;padding:13px 14px;outline:none}input:focus,textarea:focus,select:focus{border-color:#f05b7e;box-shadow:0 0 0 3px #f43c651c}textarea{resize:vertical}label{display:block;font-size:13px;font-weight:650;margin:18px 0 0}label input,label select,label textarea{margin-top:7px}label small{font-weight:400;color:var(--muted)}h1,h2,h3,p{margin:0}h2{font-size:23px;letter-spacing:-.6px}h3{font-size:18px}p{color:var(--muted)}.topbar{max-width:1360px;margin:auto;padding:27px 40px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #38202a70}.brand{display:flex;align-items:center;gap:10px;font-weight:850;font-size:24px;letter-spacing:1px}.brand-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:linear-gradient(140deg,#fc3e60,#bd183a);font-size:22px;box-shadow:0 5px 24px #ed2b5344}.brand small{font-size:8px;color:var(--muted);letter-spacing:2px;margin-left:5px}.top-actions{display:flex;align-items:center;gap:26px}.quiet{color:var(--muted);font-size:13px}.live{display:inline-flex;align-items:center;gap:7px;color:#d4c5cd;font-size:12px;white-space:nowrap}.live i,.eyebrow>span{display:inline-block;width:7px;height:7px;background:#5dd9a1;border-radius:50%;box-shadow:0 0 12px #5dd9a144}.landing{max-width:1240px;margin:70px auto 85px;padding:0 40px;display:grid;grid-template-columns:1.15fr 1fr;gap:80px;align-items:center}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;color:#e797ac;display:flex;align-items:center;gap:9px}.intro h1{font-size:clamp(48px,5.4vw,76px);line-height:1.08;letter-spacing:-4px;margin:25px 0}.intro em{font-style:normal;color:#ff5377}.intro>p{font-size:19px;max-width:370px}.intro-tags{display:flex;gap:9px;flex-wrap:wrap;margin:28px 0 55px}.intro-tags span{border:1px solid #72344666;background:#391b2655;border-radius:99px;padding:7px 12px;font-size:11px;color:#e3b7c7}.intro-note{display:flex;gap:17px;max-width:390px;align-items:start}.note-icon{font-size:26px;color:#e36c8a}.intro-note strong{font-size:13px}.intro-note p{font-size:12px;margin-top:7px}.join-card{background:linear-gradient(145deg,#2d1721ee,#1a121a);border:1px solid #693044;border-radius:22px;padding:32px;box-shadow:0 24px 80px #0005}.card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.pill{border:1px solid #794152;border-radius:7px;font-size:10px;padding:3px 7px;color:#f5b3c4}.join-card>p{margin:7px 0 20px;font-size:13px}.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:15px}.check{display:flex;gap:10px;align-items:start;font-size:12px;font-weight:400;color:var(--muted);line-height:1.6;margin:22px 0}.check input{width:17px;height:17px;margin:3px 0;accent-color:var(--red);flex-shrink:0}.text-btn{background:none;border:0;color:#ff9ab3;padding:0;font-size:inherit;text-decoration:underline}.primary,.secondary{border:0;border-radius:10px;padding:12px 18px;font-weight:700;font-size:13px;color:white;white-space:nowrap}.primary{background:linear-gradient(110deg,#ed335a,#e54865);box-shadow:0 5px 20px #e4325422}.primary:hover{filter:brightness(1.12)}.secondary{background:#34212d;border:1px solid #5a3246}.secondary:hover{background:#502a3b}.full{width:100%;display:flex;justify-content:center;align-items:center;gap:20px}.form-note{text-align:center;font-size:10px;color:var(--muted);margin-top:15px}footer{max-width:1280px;margin:0 auto;padding:22px 25px;border-top:1px solid #35232d;display:flex;justify-content:space-between;gap:20px;color:#9c8493;font-size:10px}footer nav{display:flex;gap:20px}footer button{background:none;border:0;color:#b099a8;font-size:10px;padding:0}.chat-shell{max-width:1360px;margin:24px auto;display:grid;grid-template-columns:220px minmax(0,1fr) 280px;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#150f16;height:calc(100dvh - 180px);min-height:430px}.sidebar{padding:24px 14px;background:#1c121b;display:flex;flex-direction:column;border-right:1px solid var(--line);overflow:auto}.sidebar-heading{font-size:9px;letter-spacing:1.5px;color:#ad839a;margin:12px 10px}.sidebar nav{display:flex;flex-direction:column;gap:6px}.sidebar nav button{border:0;background:transparent;color:#bca3b3;text-align:left;padding:11px 12px;border-radius:9px;display:flex;justify-content:space-between;font-size:13px}.sidebar nav button.active{background:#542034;color:#ffb6c9;border:1px solid #82344f}.sidebar nav button:hover{background:#3f1f31}.badge{border-radius:15px;background:var(--red);color:white;padding:0 6px;font-size:10px}.sidebar-bottom{display:flex;gap:9px;align-items:center;margin-top:auto;padding-top:30px}.sidebar-bottom strong{font-size:12px}.sidebar-bottom small{display:block;font-size:9px;color:var(--muted)}.avatar{width:35px;height:35px;border-radius:11px;display:grid;place-items:center;background:#4f233a;color:#ff94b1;font-weight:700;flex-shrink:0}.icon-btn{background:none;border:0;color:#c6a1b7;padding:6px;font-size:23px}.sidebar-bottom .icon-btn{margin-left:auto}.chat-main{display:flex;flex-direction:column;min-width:0;min-height:0}.chat-heading{padding:22px 25px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:8px}.chat-heading h2{font-size:21px;margin-top:5px}.chat-heading .eyebrow{font-size:8px}.welcome{margin:17px 23px 0;padding:12px 15px;border:1px solid #442534;border-radius:10px;color:#cf97ad;font-size:11px;background:#2a1722}.messages{flex:1;min-height:0;overflow:auto;padding:24px;display:flex;flex-direction:column;gap:15px;overflow-wrap:anywhere}.message{max-width:85%;align-self:flex-start}.message.own{align-self:flex-end}.message-meta{display:flex;gap:10px;align-items:center;font-size:10px;color:#c39eaf;margin-bottom:5px}.message-meta time{font-size:9px;color:#886c7d}.own .message-meta{justify-content:flex-end}.bubble{background:#2b1e2a;border:1px solid #3b2938;border-radius:0 13px 13px 13px;padding:10px 14px;font-size:13px;white-space:pre-wrap}.own .bubble{background:linear-gradient(120deg,#7c2748,#5c203e);border-color:#8c3459;border-radius:13px 0 13px 13px}.empty{text-align:center;color:#a18195;font-size:12px;padding:40px 12px}.empty strong{display:block;font-size:16px;color:#d3b4c5;margin:10px}.composer{display:flex;gap:8px;padding:15px 20px 0;border-top:1px solid var(--line)}.composer input{min-width:0}.composer-note{font-size:9px;color:#9a788c;padding:8px 24px 12px}.people-panel{border-left:1px solid var(--line);padding:25px 18px;overflow:auto;background:#1b111a}.people-heading{display:flex;justify-content:space-between;align-items:center}.filters{display:flex;gap:4px;margin:18px 0;flex-wrap:wrap}.filters button{background:#2c1c28;border:1px solid #442639;border-radius:7px;color:#b18ca2;font-size:10px;padding:5px 9px}.filters button.active{border-color:#a34365;color:#ffbed2;background:#512039}.user-row{display:flex;gap:10px;align-items:center;padding:13px 0;border-bottom:1px solid #30202b}.user-details{flex:1;min-width:0}.nick-btn{padding:0;background:none;border:0;color:#ead3df;font-weight:650;font-size:12px;text-align:left;overflow-wrap:anywhere}.user-details small{display:block;color:#9d7a90;font-size:10px}.user-tools{display:flex;gap:8px;margin-top:5px}.user-tools button{border:0;background:none;padding:0;color:#ba7898;font-size:9px}.people-note{font-size:10px;color:#9c7890;margin-top:25px}.admin-shell{max-width:1160px;margin:40px auto 65px;padding:0 25px}.admin-title{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px}.admin-title h1{font-size:33px;letter-spacing:-1.2px;margin:9px 0}.admin-title p{font-size:13px}.auth-card{max-width:440px;margin:50px auto;background:var(--panel);border:1px solid #693044;border-radius:18px;padding:30px}.auth-card p{font-size:12px;margin:10px 0}.auth-card .primary{margin-top:22px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.stat{padding:20px 24px;border:1px solid #522c40;background:linear-gradient(125deg,#2c1826,#1b131c);border-radius:14px}.stat small{display:block;color:var(--muted);font-size:11px}.stat strong{display:block;font-size:30px;margin-top:4px}.admin-tabs{display:flex;gap:10px;margin:28px 0;border-bottom:1px solid var(--line);overflow:auto}.admin-tabs button{background:none;color:#a9869d;border:0;border-bottom:2px solid transparent;padding:12px 8px;font-size:13px;white-space:nowrap}.admin-tabs .active{border-color:var(--red);color:#ffb6ca}.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.panel{background:#1c141d;border:1px solid #45293c;border-radius:14px;padding:24px;margin-bottom:20px}.panel h2{font-size:18px;margin-bottom:12px}.panel .primary{margin-top:22px}.muted{font-size:12px;margin:10px 0;color:var(--muted)}.mod-row{border-bottom:1px solid #372335;padding:13px 0;display:flex;justify-content:space-between;gap:15px;font-size:12px;align-items:center;overflow-wrap:anywhere}.mod-row p{font-size:11px;white-space:pre-wrap}.mod-row small{color:#ad869f}.mod-row .secondary{font-size:10px;padding:6px 10px}.inline-form{display:flex;gap:10px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}#toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);z-index:100;background:#512438;border:1px solid #c56583;border-radius:10px;padding:13px 20px;font-size:13px;max-width:90vw;box-shadow:0 5px 40px #0008}dialog{background:#20131e;color:var(--text);border:1px solid #693044;border-radius:18px;padding:25px;max-width:650px;width:90vw;max-height:80dvh}dialog::backdrop{background:#070208bf;backdrop-filter:blur(5px)}.dialog-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.prewrap{white-space:pre-wrap;color:#c5a9bb;font-size:13px;overflow-wrap:anywhere}#toggle-users{display:none}
@media(min-width:1450px){.landing{margin-top:100px;margin-bottom:110px}}
@media(max-width:1050px){.chat-shell{grid-template-columns:180px minmax(0,1fr) 230px;margin:18px;height:calc(100dvh - 170px)}.landing{gap:35px}.brand small{display:none}.people-panel{padding:20px 12px}.chat-heading{padding:18px}.composer{padding:13px 12px 0}.composer .primary{padding:10px}.intro h1{letter-spacing:-2.5px}}
@media(max-width:780px){.topbar{padding:18px 22px}.landing{padding:0 24px;margin:35px auto;grid-template-columns:1fr;gap:30px;max-width:550px}.intro h1{font-size:50px;margin:16px 0}.intro>p{font-size:16px}.intro-tags{margin:20px 0}.intro-note{display:none}.join-card{padding:25px}.chat-shell{grid-template-columns:145px minmax(0,1fr);height:calc(100dvh - 155px);margin:12px;border-radius:12px;position:relative}.people-panel{display:none;position:absolute;right:0;top:0;bottom:0;width:280px;z-index:3;box-shadow:-20px 0 40px #0007}.people-panel.open{display:block}#toggle-users{display:block}.chat-heading .secondary{font-size:10px;padding:8px}.sidebar{padding:15px 8px}.sidebar-heading{font-size:8px;margin-left:6px;letter-spacing:.7px}.sidebar nav button{font-size:11px;padding:9px}.sidebar-bottom .avatar{display:none}.chat-heading{padding:14px}.chat-heading h2{font-size:18px}.messages{padding:15px;gap:12px}.welcome{margin:10px 12px 0;padding:9px;font-size:10px}.composer input{font-size:12px;padding:10px}.composer .primary{font-size:11px}.composer .icon-btn{display:none}.composer-note{padding:8px 12px}.admin-title h1{font-size:26px}.admin-grid{grid-template-columns:1fr}.admin-title{align-items:start}.stats{grid-template-columns:1fr 1fr}footer{flex-direction:column;gap:10px;padding:20px}footer nav{flex-wrap:wrap}}
@media(max-width:460px){.brand{font-size:20px;gap:7px}.brand-icon{width:30px;height:30px}.top-actions{gap:12px}.live{font-size:10px}.chat-shell{grid-template-columns:106px minmax(0,1fr);margin:8px;height:calc(100dvh - 165px)}.sidebar-heading{font-size:7px}.sidebar nav button{padding:8px 5px;font-size:10px}.sidebar-bottom{flex-wrap:wrap}.sidebar-bottom .icon-btn{font-size:18px}.composer{gap:5px;padding:10px 8px 0}.composer .primary{font-size:10px;padding:9px}.messages{padding:12px}.message{max-width:95%}.bubble{font-size:12px;padding:9px}.two-cols{gap:10px}.join-card{padding:22px}.intro h1{font-size:47px}.eyebrow{font-size:8px;letter-spacing:1px}.admin-shell{padding:0 16px}.stat{padding:15px}.panel{padding:18px}.admin-title .secondary{font-size:10px;padding:8px}}
/* FLIRTORA CMS · Design-Update. Ausschließlich auf den Adminbereich begrenzt. */
body[data-mode="admin"]{color-scheme:light;background:radial-gradient(ellipse at 90% 0%,#fae5ec 0,transparent 45%),#f5f3f6;color:#302431;--muted:#807180;--line:#e9e1e7;--text:#302431;--panel:#fff;--red:#e63262}
body[data-mode="admin"] .topbar{max-width:none;background:#ffffffd9;border-bottom:1px solid #e8dfe6;padding:22px max(30px,calc((100vw - 1240px)/2));backdrop-filter:blur(12px)}
body[data-mode="admin"] .brand{color:#392437;font-size:22px;letter-spacing:1.3px}
body[data-mode="admin"] .brand small{color:#a68b9b}
body[data-mode="admin"] .brand-icon{box-shadow:0 7px 18px #ed2b5326}
body[data-mode="admin"] .topbar .live{color:#76606f;background:#f4f0f3;padding:7px 12px;border-radius:99px}
body[data-mode="admin"] .quiet{color:#9b6f86}
body[data-mode="admin"] .admin-shell{max-width:1300px;margin:35px auto 65px;padding:0 30px}
body[data-mode="admin"] .admin-title{position:relative;isolation:isolate;overflow:hidden;padding:35px 38px;border-radius:22px;background:linear-gradient(115deg,#301329 0%,#53213c 68%,#80344f 100%);box-shadow:0 18px 44px #54213d16;min-height:190px;margin-bottom:27px}
body[data-mode="admin"] .admin-title:after{content:"";position:absolute;z-index:-1;width:380px;height:380px;right:-60px;top:-180px;border:65px solid #ffb1cc0c;border-radius:50%;box-shadow:0 0 0 65px #ffb1cc06}
body[data-mode="admin"] .admin-title .eyebrow{color:#fdaac2;font-size:9px;letter-spacing:2.5px}
body[data-mode="admin"] .admin-title h1{color:#fff8fc;font-size:36px;letter-spacing:-1.5px;margin:12px 0}
body[data-mode="admin"] .admin-title p{color:#d7b9cc;max-width:500px;font-size:13px;line-height:1.8}
body[data-mode="admin"] .admin-title .secondary{border:1px solid #ffffff35;color:#ffedf5;background:#ffffff0c;box-shadow:none;padding:11px 18px;flex-shrink:0}
body[data-mode="admin"] #admin-content{display:grid;grid-template-columns:205px minmax(0,1fr);gap:27px}
body[data-mode="admin"] .stats{grid-column:1/-1;gap:18px}
body[data-mode="admin"] .stat{position:relative;overflow:hidden;border:1px solid #eadfe7;background:#fff;border-radius:16px;padding:23px 25px;box-shadow:0 5px 18px #3c173105;min-height:124px}
body[data-mode="admin"] .stat small{font-size:11px;font-weight:550;color:#94798b;letter-spacing:.3px}
body[data-mode="admin"] .stat strong{font-size:36px;line-height:1.4;color:#3f2235;font-weight:750;letter-spacing:-1.2px;margin-top:6px}
body[data-mode="admin"] .stat:after{content:"";position:absolute;width:48px;height:48px;right:22px;bottom:26px;border-radius:15px;background:#fbecf2;border:1px solid #f7e0ea;transform:rotate(-10deg)}
body[data-mode="admin"] .stat:before{position:absolute;z-index:1;right:35px;bottom:30px;color:#cb6792;font-size:25px;line-height:40px}
body[data-mode="admin"] .stat:nth-child(1){background:linear-gradient(115deg,#ed3d71,#d82c5c);border-color:#ec3b6d;box-shadow:0 12px 30px #df326028}
body[data-mode="admin"] .stat:nth-child(1) small{color:#ffe0eb}
body[data-mode="admin"] .stat:nth-child(1) strong{color:#fff}
body[data-mode="admin"] .stat:nth-child(1):after{background:#ffffff17;border-color:#ffffff22}
body[data-mode="admin"] .stat:nth-child(1):before{content:"●";color:#fff8}
body[data-mode="admin"] .stat:nth-child(2):before{content:"!";font-weight:700;right:40px}
body[data-mode="admin"] .stat:nth-child(3):before{content:"#";font-weight:600}
body[data-mode="admin"] .stat:nth-child(4):before{content:"×";font-weight:600}
body[data-mode="admin"] .admin-tabs{grid-column:1;grid-row:2;align-self:start;position:sticky;top:22px;background:linear-gradient(155deg,#352034,#251724);border-radius:17px;margin:0;padding:23px 13px;display:flex;flex-direction:column;gap:7px;border:1px solid #493046;min-height:300px;box-shadow:0 8px 25px #2517240d;overflow:hidden}
body[data-mode="admin"] .admin-tabs:before{content:"VERWALTUNG";font-size:8px;font-weight:700;color:#be91ab;letter-spacing:2px;padding:0 12px 14px}
body[data-mode="admin"] .admin-tabs button{display:flex;align-items:center;gap:11px;text-align:left;border:1px solid transparent;border-radius:10px;padding:12px;color:#cfb3c5;font-size:12px;transition:background .18s,color .18s}
body[data-mode="admin"] .admin-tabs button:before{font-size:10px;color:#927387;font-weight:700;letter-spacing:.4px}
body[data-mode="admin"] .admin-tabs button:nth-child(1):before{content:"01"}
body[data-mode="admin"] .admin-tabs button:nth-child(2):before{content:"02"}
body[data-mode="admin"] .admin-tabs button:nth-child(3):before{content:"03"}
body[data-mode="admin"] .admin-tabs button:nth-child(4):before{content:"04"}
body[data-mode="admin"] .admin-tabs button:hover{background:#ffffff08;color:white}
body[data-mode="admin"] .admin-tabs button.active{background:linear-gradient(100deg,#79334f,#622d48);border:1px solid #a65170;color:#ffe6f0;box-shadow:0 3px 15px #0001}
body[data-mode="admin"] .admin-tabs button.active:before{color:#ff94b8}
body[data-mode="admin"] #admin-content>section{grid-column:2;grid-row:2;min-width:0}
body[data-mode="admin"] .admin-grid{grid-template-columns:1fr 1fr;gap:22px}
body[data-mode="admin"] .panel{position:relative;border-radius:17px;background:white;border:1px solid #e9dfe7;padding:26px;box-shadow:0 6px 24px #321b2b04;margin-bottom:22px}
body[data-mode="admin"] .panel h2{font-size:18px;font-weight:700;letter-spacing:-.4px;color:#432c3d;padding-bottom:16px;margin-bottom:7px;border-bottom:1px solid #f1eaf0}
body[data-mode="admin"] .muted{color:#9a8293;line-height:1.8;font-size:11px}
body[data-mode="admin"] .mod-row{padding:15px 0;gap:18px;border-bottom:1px solid #f2edf1;align-items:start}
body[data-mode="admin"] .mod-row:last-child{border-bottom:0}
body[data-mode="admin"] .mod-row>div{min-width:0;flex:1}
body[data-mode="admin"] .mod-row strong{font-size:12px;color:#4c3345;font-weight:650}
body[data-mode="admin"] .mod-row p{font-size:11px;color:#9e8496;margin-top:5px;line-height:1.7}
body[data-mode="admin"] .mod-row .secondary{font-size:10px;border-radius:7px;padding:6px 11px;margin-top:2px;background:#fff3f7;color:#c7537c;border:1px solid #f4d8e4;box-shadow:none}
body[data-mode="admin"] .mod-row .secondary:hover{color:#a5315c;background:#ffe7f0;border-color:#e9aec5}
body[data-mode="admin"] label{font-size:11px;color:#705568;font-weight:650;letter-spacing:.15px;margin-top:22px}
body[data-mode="admin"] input,body[data-mode="admin"] select,body[data-mode="admin"] textarea{background:#fcfafc;color:#513a4b;border:1px solid #e5d9e2;border-radius:10px;padding:13px 14px;font-size:12px;font-weight:450;line-height:1.7;transition:border-color .18s,box-shadow .18s}
body[data-mode="admin"] input::placeholder,body[data-mode="admin"] textarea::placeholder{color:#b19aaa}
body[data-mode="admin"] input:focus,body[data-mode="admin"] select:focus,body[data-mode="admin"] textarea:focus{background:white;border-color:#e479a1;box-shadow:0 0 0 3px #e6326210}
body[data-mode="admin"] textarea{min-height:95px}
body[data-mode="admin"] .two-cols{gap:22px}
body[data-mode="admin"] .primary{background:linear-gradient(115deg,#e93366,#da2a5a);box-shadow:0 6px 15px #de2e601c;border-radius:9px;padding:13px 21px;font-size:12px}
body[data-mode="admin"] .secondary{color:#b8557b;border:1px solid #e9cedb;background:#fff0f5;border-radius:9px;font-size:12px}
body[data-mode="admin"] .inline-form{margin:18px 0 5px;align-items:center}
body[data-mode="admin"] #tab-security .admin-grid{grid-template-columns:1fr 1fr}
body[data-mode="admin"] #settings-form,body[data-mode="admin"] #rooms-form{padding:30px}
body[data-mode="admin"] .auth-card{position:relative;border:1px solid #eadde6;background:#fff;box-shadow:0 15px 60px #6d365216;border-radius:21px;padding:35px;max-width:450px;margin:48px auto}
body[data-mode="admin"] .auth-card:before{content:"♥";width:45px;height:45px;background:#fceaf1;color:#dd3c70;border:1px solid #f8d7e5;border-radius:14px;display:grid;place-items:center;font-size:22px;margin-bottom:24px}
body[data-mode="admin"] .auth-card h2{color:#462a3e;font-size:24px;letter-spacing:-.8px}
body[data-mode="admin"] .auth-card p{color:#a08698;font-size:12px;line-height:1.8;margin-top:12px}
body[data-mode="admin"] footer{border-color:#e4d9e1;color:#a98d9f}
body[data-mode="admin"] footer button{color:#94778a}
body[data-mode="admin"] #toast{background:#3d2539;border:1px solid #75415e;color:#fff0f7;box-shadow:0 12px 35px #3c1d3540;border-radius:11px}
body[data-mode="admin"] dialog{background:#fff;color:#422c3e;border-color:#e3ccd9;box-shadow:0 20px 80px #33132626}
body[data-mode="admin"] .prewrap{color:#927387}
body[data-mode="admin"] .icon-btn{color:#a36887}
@media(max-width:1100px){body[data-mode="admin"] #admin-content{grid-template-columns:180px minmax(0,1fr);gap:20px}body[data-mode="admin"] .admin-grid,body[data-mode="admin"] #tab-security .admin-grid{grid-template-columns:1fr}body[data-mode="admin"] .stat{padding:21px 20px}body[data-mode="admin"] .stat:after{width:38px;height:38px;right:15px}body[data-mode="admin"] .stat:before{right:25px;bottom:26px;font-size:22px}body[data-mode="admin"] .stat:nth-child(2):before{right:29px}}
@media(max-width:780px){body[data-mode="admin"] .topbar{padding:18px 22px}body[data-mode="admin"] .admin-shell{padding:0 20px;margin-top:22px}body[data-mode="admin"] .admin-title{padding:27px;border-radius:18px;min-height:185px;align-items:start;gap:15px}body[data-mode="admin"] .admin-title h1{font-size:28px;letter-spacing:-1px}body[data-mode="admin"] .admin-title p{font-size:12px}body[data-mode="admin"] #admin-content{grid-template-columns:1fr;gap:20px}body[data-mode="admin"] .stats{gap:12px;grid-template-columns:1fr 1fr}body[data-mode="admin"] .admin-tabs{grid-column:1;grid-row:2;position:static;min-height:0;flex-direction:row;overflow-x:auto;padding:9px;gap:6px;border-radius:12px}body[data-mode="admin"] .admin-tabs:before{display:none}body[data-mode="admin"] .admin-tabs button{padding:10px 13px;font-size:11px;flex-shrink:0}body[data-mode="admin"] .admin-tabs button:before{display:none}body[data-mode="admin"] #admin-content>section{grid-column:1;grid-row:3}body[data-mode="admin"] .panel{padding:23px}body[data-mode="admin"] #settings-form,body[data-mode="admin"] #rooms-form{padding:25px}body[data-mode="admin"] .stat{min-height:114px}body[data-mode="admin"] .stat strong{font-size:32px}body[data-mode="admin"] .two-cols{grid-template-columns:1fr;gap:0}}
@media(max-width:460px){body[data-mode="admin"] .admin-shell{padding:0 14px}body[data-mode="admin"] .brand{font-size:20px}body[data-mode="admin"] .topbar{padding:17px 20px}body[data-mode="admin"] .topbar .live{font-size:9px;padding:5px 8px}body[data-mode="admin"] .admin-title{padding:26px 23px;display:block}body[data-mode="admin"] .admin-title h1{font-size:29px;max-width:270px}body[data-mode="admin"] .admin-title .secondary{margin-top:20px;padding:8px 13px;font-size:10px}body[data-mode="admin"] .admin-title .eyebrow{font-size:8px;letter-spacing:1.6px}body[data-mode="admin"] .stat{padding:19px 17px}body[data-mode="admin"] .stat small{font-size:10px;max-width:100px}body[data-mode="admin"] .stat:after{width:32px;height:32px;right:14px;bottom:23px;border-radius:10px}body[data-mode="admin"] .stat:before{font-size:19px;right:22px;bottom:19px}body[data-mode="admin"] .stat:nth-child(2):before{right:26px}body[data-mode="admin"] .panel{padding:21px}body[data-mode="admin"] #settings-form,body[data-mode="admin"] #rooms-form{padding:22px}body[data-mode="admin"] .auth-card{margin:28px auto;padding:28px}}

@media(max-width:460px){body[data-mode="admin"] .admin-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible}body[data-mode="admin"] .admin-tabs button{white-space:normal;justify-content:center;padding:11px 8px}}
/* FLIRTORA · Öffentliche Oberfläche */
body[data-mode="chat"]{color-scheme:light;--text:#362332;--muted:#8c7587;--line:#eadfe6;--panel:#fff;--red:#e63262;background:radial-gradient(ellipse at 85% 0%,#fce4ed,transparent 48%),radial-gradient(ellipse at 0% 60%,#f4e5ee,transparent 50%),#faf7fa;color:var(--text)}
body[data-mode="chat"] .topbar{max-width:1320px;margin:0 auto;padding:24px 32px;border-bottom:1px solid #e7dbe4}
body[data-mode="chat"] .brand{color:#3e263a;font-size:24px;letter-spacing:1.5px}
body[data-mode="chat"] .brand-icon,body[data-mode="admin"] .brand-icon{color:white}
body[data-mode="chat"] .brand small{color:#a17b92}
body[data-mode="chat"] .live{color:#8a6f81;padding:8px 14px;background:#fff9fc;border:1px solid #ead9e3;border-radius:99px;font-size:11px;box-shadow:0 4px 14px #7b335007}
body[data-mode="chat"] .live i{background:#43c28c;box-shadow:0 0 0 4px #43c28c12}
body[data-mode="chat"] .landing{max-width:1240px;padding:0 35px;gap:55px 75px;margin:65px auto 65px;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
body[data-mode="chat"] .intro{position:relative;isolation:isolate;padding:20px 0}
body[data-mode="chat"] .intro .eyebrow{color:#a74f75;letter-spacing:1.6px;font-size:9px}
body[data-mode="chat"] .intro h1{font-size:clamp(46px,4.8vw,68px);letter-spacing:-3.7px;line-height:1.1;color:#392338;margin:28px 0 24px}
body[data-mode="chat"] .intro em{display:inline-block;background:linear-gradient(105deg,#de2d61,#aa3575);color:transparent;background-clip:text;-webkit-background-clip:text}
body[data-mode="chat"] .intro>p{color:#977d90;font-size:17px;line-height:1.8;max-width:410px}
body[data-mode="chat"] .intro-tags{gap:9px;margin:25px 0 43px}
body[data-mode="chat"] .intro-tags span{font-size:10px;color:#a86c8b;border:1px solid #e7cddc;background:#fff8fc;padding:7px 12px;box-shadow:0 3px 12px #80305b03}
body[data-mode="chat"] .intro-note{border-left:2px solid #e8b3c9;padding:0 0 0 20px;gap:13px;max-width:420px}
body[data-mode="chat"] .intro-note strong{color:#69465e;font-size:12px}
body[data-mode="chat"] .intro-note p{color:#a18599;font-size:11px;line-height:1.8;margin-top:7px}
body[data-mode="chat"] .note-icon{font-size:24px;color:#d16590}
body[data-mode="chat"] .intro-orbit{position:absolute;z-index:-1;right:0;top:-45px;width:185px;height:185px;border:1px solid #e6bed343;border-radius:50%;transform:rotate(-15deg);pointer-events:none}
body[data-mode="chat"] .intro-orbit:before{content:"";position:absolute;inset:28px;border:1px dashed #e2b3cb4d;border-radius:50%}
body[data-mode="chat"] .intro-orbit:after{content:"";position:absolute;inset:58px;background:radial-gradient(circle,#f8cadf66,transparent 68%);border-radius:50%}
body[data-mode="chat"] .orbit-heart{position:absolute;top:17px;right:8px;font-size:27px;color:#da497a45;transform:rotate(30deg)}
body[data-mode="chat"] .orbit-spark{position:absolute;bottom:0;left:25px;font-size:23px;color:#b0639150}
body[data-mode="chat"] .orbit-bubble{position:absolute;top:54px;left:56px;color:#df9bb54d;font-size:55px;transform:rotate(15deg)}
body[data-mode="chat"] .join-card{position:relative;border:1px solid #ecdbe5;border-radius:23px;background:linear-gradient(145deg,#fff,#fffafd);padding:34px;box-shadow:0 24px 70px #7834540e,0 3px 9px #77364f03}
body[data-mode="chat"] .join-card:before{content:"";position:absolute;top:-1px;left:33px;right:33px;height:3px;border-radius:0 0 8px 8px;background:linear-gradient(90deg,#e53e72,#b04882)}
body[data-mode="chat"] .card-top .eyebrow{color:#b47f9a;font-size:9px;letter-spacing:1.7px}
body[data-mode="chat"] .pill{color:#bc6188;border-color:#edcfdf;background:#fcf0f6;border-radius:7px;padding:4px 8px}
body[data-mode="chat"] .join-card h2{font-size:25px;color:#432c3f;letter-spacing:-.8px}
body[data-mode="chat"] .join-card>p{font-size:12px;color:#a18498;margin:8px 0 24px}
body[data-mode="chat"] label{color:#76566d;font-size:11px;letter-spacing:.1px;margin-top:18px}
body[data-mode="chat"] input,body[data-mode="chat"] select,body[data-mode="chat"] textarea{background:#fbf8fb;color:#614158;border:1px solid #e7dbe4;border-radius:10px;font-size:13px;font-weight:450;padding:13px 14px;transition:border-color .18s,box-shadow .18s}
body[data-mode="chat"] input::placeholder{color:#b59bad;font-size:12px}
body[data-mode="chat"] input:focus,body[data-mode="chat"] select:focus,body[data-mode="chat"] textarea:focus{border-color:#d977a0;background:white;box-shadow:0 0 0 3px #e73d7110}
body[data-mode="chat"] .check{font-size:11px;color:#a08598;line-height:1.8}
body[data-mode="chat"] .check input{accent-color:#e63a6b;background:white}
body[data-mode="chat"] .text-btn{color:#bd4d7a}
body[data-mode="chat"] .primary{background:linear-gradient(115deg,#e9366c,#d92c60);color:white;border-radius:10px;padding:13px 20px;font-size:12px;box-shadow:0 7px 20px #df316027;transition:transform .18s,box-shadow .18s}
body[data-mode="chat"] .primary:hover{transform:translateY(-1px);box-shadow:0 9px 25px #df316034}
body[data-mode="chat"] .secondary{background:#fcf0f6;border:1px solid #e8cfdd;color:#ae577e;border-radius:9px}
body[data-mode="chat"] .secondary:hover{background:#f9e0ed}
body[data-mode="chat"] .form-note{font-size:10px;color:#b193a6}
body[data-mode="chat"] .how-it-works{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;border-top:1px solid #e8dae3;padding-top:27px}
body[data-mode="chat"] .how-it-works article{display:flex;align-items:center;gap:14px;padding:4px}
body[data-mode="chat"] .how-it-works article>span{width:41px;height:41px;border-radius:12px;display:grid;place-items:center;border:1px solid #eed8e5;background:#fff8fc;color:#c06d98;font-size:11px;font-weight:700;flex-shrink:0}
body[data-mode="chat"] .how-it-works h3{font-size:12px;font-weight:650;color:#745168}
body[data-mode="chat"] .how-it-works p{font-size:10px;color:#a3899c;margin-top:4px;line-height:1.8}
body[data-mode="chat"] .chat-shell{max-width:1320px;margin:23px auto;grid-template-columns:220px minmax(0,1fr) 285px;background:white;border:1px solid #e5d8e2;border-radius:18px;box-shadow:0 14px 55px #7b345510;height:calc(100dvh - 175px);min-height:430px}
body[data-mode="chat"] .sidebar{background:linear-gradient(160deg,#372035,#271827);border-right:1px solid #503046;padding:24px 15px}
body[data-mode="chat"] .sidebar-heading{color:#b68ca6;font-size:8px;letter-spacing:1.5px;margin:13px 10px}
body[data-mode="chat"] .sidebar nav button{font-size:12px;padding:12px;color:#c2a3b8;border:1px solid transparent;border-radius:10px;transition:background .18s}
body[data-mode="chat"] .sidebar nav button.active{background:linear-gradient(110deg,#824057,#6b3150);border-color:#a05276;color:#ffe6f2;box-shadow:0 5px 15px #180b140c}
body[data-mode="chat"] .sidebar nav button:hover{background:#603046;color:#ffdae9}
body[data-mode="chat"] .sidebar-bottom{border-top:1px solid #5d3c512f;padding-top:19px;color:#f2d5e6;gap:10px}
body[data-mode="chat"] .sidebar-bottom small{color:#b993ab}
body[data-mode="chat"] .sidebar-bottom .avatar{background:#743650;color:#ffc7dc;border:1px solid #935073}
body[data-mode="chat"] .sidebar-bottom .icon-btn{color:#caa0b8}
body[data-mode="chat"] .chat-heading{padding:23px 26px;border-color:#eee3eb;background:linear-gradient(120deg,#fff,#fef9fc)}
body[data-mode="chat"] .chat-heading h2{font-size:22px;color:#472b40}
body[data-mode="chat"] .chat-heading .eyebrow{color:#b27e9c;font-size:8px;letter-spacing:1.8px}
body[data-mode="chat"] .welcome{background:#fcf0f6;border:1px solid #f0dce7;color:#b4819f;margin:18px 24px 0;font-size:11px;border-radius:10px;padding:11px 14px;line-height:1.8}
body[data-mode="chat"] .chat-main{background:radial-gradient(ellipse at 100% 100%,#fff8fc,#fff 60%)}
body[data-mode="chat"] .messages{padding:25px;gap:19px;scrollbar-color:#e8cada transparent;scrollbar-width:thin}
body[data-mode="chat"] .message{max-width:82%}
body[data-mode="chat"] .message-meta{color:#9d6687;font-size:10px;gap:10px;margin-bottom:6px}
body[data-mode="chat"] .message-meta time{color:#b59aaa;font-size:9px}
body[data-mode="chat"] .bubble{background:#f6f0f5;border:1px solid #eadfe8;color:#74576c;border-radius:3px 14px 14px 14px;padding:12px 16px;font-size:13px;line-height:1.7;box-shadow:0 3px 8px #5b2b4303}
body[data-mode="chat"] .own .bubble{background:linear-gradient(115deg,#ab396b,#853060);border-color:#a53d6b;color:#fff4fb;border-radius:14px 3px 14px 14px;box-shadow:0 5px 14px #9d31681a}
body[data-mode="chat"] .empty{color:#b598ab;line-height:1.8;font-size:11px;padding:45px 15px}
body[data-mode="chat"] .empty:before{content:"♡";display:block;color:#dfb5ca;font-size:43px;line-height:1.4}
body[data-mode="chat"] .empty strong{color:#967087;font-size:15px;font-weight:600}
body[data-mode="chat"] .composer{border-color:#eee0e9;padding:16px 21px 0;background:#fffafd}
body[data-mode="chat"] .composer input{background:white;border-color:#e5cfde;box-shadow:0 3px 10px #8c38610a;font-size:13px}
body[data-mode="chat"] .composer .primary{box-shadow:0 6px 18px #df326023;padding:12px 17px}
body[data-mode="chat"] .composer .icon-btn{color:#c581a2}
body[data-mode="chat"] .composer-note{color:#b18ba3;background:#fffafd;font-size:9px;padding:9px 25px 13px}
body[data-mode="chat"] .people-panel{background:linear-gradient(145deg,#fcf7fb,#f8f0f6);border-left:1px solid #ebdae6;padding:25px 19px;scrollbar-width:thin;scrollbar-color:#dfc0d3 transparent}
body[data-mode="chat"] .people-heading h3{font-size:17px;color:#70435f;letter-spacing:-.3px}
body[data-mode="chat"] .people-heading .live{padding:4px 9px;font-size:9px;background:white}
body[data-mode="chat"] .filters{gap:5px;margin:20px 0 12px}
body[data-mode="chat"] .filters button{font-size:9px;border-color:#e9d5e2;background:#fffafd;color:#b1819e;padding:6px 9px;border-radius:8px}
body[data-mode="chat"] .filters button.active{background:#82375d;border-color:#82375d;color:#ffebf5;box-shadow:0 4px 12px #83335215}
body[data-mode="chat"] .user-row{padding:16px 0;gap:11px;border-color:#ebdce6}
body[data-mode="chat"] .avatar{width:37px;height:37px;border-radius:12px;background:linear-gradient(135deg,#f8d9e7,#f2e0ef);border:1px solid #edc6db;color:#b85b89;font-size:13px}
body[data-mode="chat"] .nick-btn{color:#754d66;font-size:12px}
body[data-mode="chat"] .nick-btn:hover{color:#c6447e}
body[data-mode="chat"] .user-details small{color:#b595a9;font-size:9px;line-height:1.8;margin-top:2px}
body[data-mode="chat"] .user-tools{gap:10px;margin-top:6px}
body[data-mode="chat"] .user-tools button{color:#bd6d98;font-size:9px}
body[data-mode="chat"] .people-note{border-top:1px solid #e5d3df;padding-top:18px;margin-top:25px;font-size:10px;color:#b18ba4;line-height:1.8}
body[data-mode="chat"] .sidebar .people-note{border:0;padding:5px 12px;font-size:10px;color:#b68ca6}
body[data-mode="chat"] .badge{background:#e45482;color:white}
body[data-mode="chat"] footer{border-color:#e7d9e2;color:#b092a6;font-size:10px;padding-top:23px;padding-bottom:25px}
body[data-mode="chat"] footer button{color:#a28298;transition:color .18s}
body[data-mode="chat"] footer button:hover{color:#bb3e76}
body[data-mode="chat"] #toast{background:#49233e;color:#fff1f8;border:1px solid #a3688d;box-shadow:0 10px 35px #77315228;border-radius:12px}
body[data-mode="chat"] dialog{background:#fffafd;color:#633c57;border:1px solid #e8c8dd;box-shadow:0 20px 70px #7731522e;border-radius:18px}
body[data-mode="chat"] .dialog-heading h2{color:#61384f;font-size:22px}
body[data-mode="chat"] .prewrap{color:#a07a91;line-height:1.9}
body[data-mode="chat"] .icon-btn{color:#b26b94}
@media(max-width:1100px){body[data-mode="chat"] .landing{gap:40px 40px;padding:0 35px;margin-top:45px}body[data-mode="chat"] .intro h1{font-size:53px;letter-spacing:-2.8px}body[data-mode="chat"] .intro-orbit{opacity:.5}body[data-mode="chat"] .chat-shell{grid-template-columns:180px minmax(0,1fr) 245px;margin:18px;height:calc(100dvh - 175px)}body[data-mode="chat"] .people-panel{padding:23px 15px}body[data-mode="chat"] .composer .primary{padding:11px 14px}body[data-mode="chat"] .chat-heading{padding:20px}}
@media(max-width:780px){body[data-mode="chat"] .topbar{padding:19px 24px}body[data-mode="chat"] .landing{max-width:550px;grid-template-columns:1fr;padding:0 24px;margin:28px auto 40px;gap:26px}body[data-mode="chat"] .intro{padding:10px 0}body[data-mode="chat"] .intro h1{font-size:51px;letter-spacing:-3px;margin:20px 0 17px}body[data-mode="chat"] .intro>p{font-size:15px}body[data-mode="chat"] .intro-tags{margin:20px 0 0;gap:8px}body[data-mode="chat"] .intro-orbit{right:-5px;top:-5px;opacity:.55}body[data-mode="chat"] .join-card{padding:28px}body[data-mode="chat"] .join-card h2{font-size:23px}body[data-mode="chat"] .how-it-works{grid-template-columns:1fr;gap:18px;padding-top:25px;margin-top:8px}body[data-mode="chat"] .how-it-works article{padding:0}body[data-mode="chat"] .chat-shell{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);margin:12px;height:calc(100dvh - 170px);min-height:460px;border-radius:16px}body[data-mode="chat"] .sidebar{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;gap:8px;padding:11px 13px;border-right:0;border-bottom:1px solid #5f2e47;max-height:126px;overflow:hidden}body[data-mode="chat"] .sidebar-heading{display:none}body[data-mode="chat"] #rooms{grid-column:1/-1;grid-row:1;flex-direction:row;overflow:auto;gap:6px;scrollbar-width:none}body[data-mode="chat"] #rooms button{white-space:nowrap;flex-shrink:0;font-size:10px;padding:8px 12px}body[data-mode="chat"] #conversations{grid-column:1;grid-row:2;flex-direction:row;overflow:auto;gap:5px;align-items:center;scrollbar-width:none}body[data-mode="chat"] #conversations button{white-space:nowrap;flex-shrink:0;font-size:10px;padding:6px 11px;gap:7px}body[data-mode="chat"] .sidebar #conversations .people-note{padding:0;border:0;margin:0;font-size:9px}body[data-mode="chat"] .sidebar-bottom{grid-column:2;grid-row:2;margin:0;padding:0;border:0;gap:7px;flex-wrap:nowrap}body[data-mode="chat"] .sidebar-bottom .avatar,body[data-mode="chat"] .sidebar-bottom small{display:none}body[data-mode="chat"] .sidebar-bottom strong{font-size:10px;display:block;max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body[data-mode="chat"] .sidebar-bottom .icon-btn{font-size:18px;padding:0 3px}body[data-mode="chat"] .chat-heading{padding:15px 18px}body[data-mode="chat"] .chat-heading h2{font-size:20px}body[data-mode="chat"] .chat-heading .eyebrow{font-size:7px}body[data-mode="chat"] .welcome{margin:12px 15px 0;font-size:10px;padding:9px 12px}body[data-mode="chat"] .messages{padding:18px;gap:17px}body[data-mode="chat"] .message{max-width:86%}body[data-mode="chat"] .bubble{font-size:12px;padding:10px 13px}body[data-mode="chat"] .composer{padding:13px 13px 0;gap:7px}body[data-mode="chat"] .composer input{padding:11px 12px;font-size:12px}body[data-mode="chat"] .composer .primary{font-size:11px;padding:11px 13px}body[data-mode="chat"] .composer-note{padding:8px 16px 12px;font-size:8px}body[data-mode="chat"] .people-panel{position:absolute;right:0;top:0;bottom:0;width:280px;grid-column:auto;border-left:1px solid #e9d1df;box-shadow:-20px 0 50px #52213c26}body[data-mode="chat"] footer{padding:20px 24px}}
@media(max-width:460px){body[data-mode="chat"] .brand{font-size:20px;letter-spacing:1px}body[data-mode="chat"] .topbar{padding:17px 22px}body[data-mode="chat"] .live{padding:6px 10px;font-size:9px}body[data-mode="chat"] .intro h1{font-size:46px;letter-spacing:-2.8px}body[data-mode="chat"] .intro .eyebrow{font-size:8px;letter-spacing:.8px}body[data-mode="chat"] .intro>p{font-size:14px}body[data-mode="chat"] .intro-tags span{padding:6px 9px;font-size:9px}body[data-mode="chat"] .join-card{padding:25px 23px}body[data-mode="chat"] .join-card h2{font-size:22px}body[data-mode="chat"] .chat-shell{margin:9px;height:calc(100dvh - 172px);min-height:470px}body[data-mode="chat"] .chat-heading{padding:14px 16px}body[data-mode="chat"] .chat-heading .secondary{font-size:10px;padding:8px 12px}body[data-mode="chat"] .composer input::placeholder{font-size:11px}body[data-mode="chat"] .two-cols{gap:12px}}
@media(prefers-reduced-motion:reduce){body[data-mode="chat"] *{transition:none!important}}
@media(max-width:780px){body[data-mode="chat"] .intro-orbit{right:24px}body[data-mode="chat"] #toggle-users{position:relative;z-index:4}}

.close-people{display:none}
@media(max-width:780px){body[data-mode="chat"] .close-people{display:block;font-size:24px;padding:0 4px}body[data-mode="chat"] #toggle-users{z-index:auto}}
/* FLIRTORA · Atmosphäre und Symbolik */
body[data-mode="chat"]{background:linear-gradient(100deg,#241023b8 0%,#30142573 65%,#23132299 100%),url("flirtora-background.webp") center center/cover fixed,#211221}
body[data-mode="chat"] .topbar{border-color:#ffffff18}
body[data-mode="chat"] .brand{color:#fff2f8}
body[data-mode="chat"] .brand small{color:#d7b5ca}
body[data-mode="chat"] .topbar .live{background:#fff1f712;border-color:#fff2f52b;color:#f4d5e5;backdrop-filter:blur(14px)}
body[data-mode="chat"] .intro h1{color:#fff2f9;text-shadow:0 5px 25px #12081130;font-size:clamp(44px,4.3vw,62px);letter-spacing:-3px}
body[data-mode="chat"] .intro em{background:linear-gradient(100deg,#ff9bb7,#ffc3a9);background-clip:text;-webkit-background-clip:text;color:transparent}
body[data-mode="chat"] .intro .eyebrow{color:#ecc1d3}
body[data-mode="chat"] .intro>p{color:#e2c4d6}
body[data-mode="chat"] .intro-orbit{display:none}
body[data-mode="chat"] .intro-tags span{background:#fff5fa0b;border-color:#fff1f526;color:#f5dae8;display:inline-flex;align-items:center;gap:7px;backdrop-filter:blur(12px);box-shadow:0 5px 20px #09010b0a}
body[data-mode="chat"] .intro-tags svg{width:14px;height:14px;flex-shrink:0;color:#ffc1d5}
body[data-mode="chat"] .intro-note{border-left-color:#d888a585;background:#180b181a;border-radius:0 10px 10px 0;padding:12px 18px;backdrop-filter:blur(5px)}
body[data-mode="chat"] .intro-note strong{color:#f7deec}
body[data-mode="chat"] .intro-note p{color:#dbbccf}
body[data-mode="chat"] .note-icon{width:26px;flex-shrink:0;color:#ffbad4}
body[data-mode="chat"] .note-icon svg{width:25px;height:25px;display:block;margin-top:3px}
body[data-mode="chat"] .join-card{background:#fffcfff5;backdrop-filter:blur(18px);border-color:#ffffff91;box-shadow:0 24px 80px #16091b40,0 3px 15px #0b020a1f}
body[data-mode="chat"] .how-it-works{border:1px solid #f3d4e429;border-radius:17px;background:linear-gradient(130deg,#33152bd6,#54233b70);backdrop-filter:blur(20px);padding:23px 25px;gap:25px;box-shadow:0 12px 35px #0b041114}
body[data-mode="chat"] .how-it-works article>span{width:46px;height:46px;border-radius:14px;background:linear-gradient(140deg,#d986a931,#ffcab315);border-color:#ffdeec3b;color:#ffcfdd;box-shadow:0 4px 14px #160a140d}
body[data-mode="chat"] .feature-icon svg{width:25px;height:25px}
body[data-mode="chat"] .how-it-works h3{color:#fff0f7;font-size:12px}
body[data-mode="chat"] .how-it-works p{color:#e8c2d7;font-size:10px}
body[data-mode="chat"] footer{border-color:#ffe6f024;color:#ebc3d8}
footer button{display:inline-flex;align-items:center;gap:6px}
footer button svg{width:14px;height:14px;flex-shrink:0}
body[data-mode="chat"] footer button{color:#ecc7dc}
body[data-mode="chat"] footer button:hover{color:#fff5fa}
body[data-mode="chat"] .chat-shell{box-shadow:0 20px 75px #16091d33;border-color:#eacdd9b0}
body[data-mode="chat"] .sidebar{background:linear-gradient(165deg,#40213be8,#281629fa)}
body[data-mode="chat"] .sidebar:before{content:"";height:3px;display:block;margin:-24px -15px 14px;background:linear-gradient(90deg,#cc4d83,#e6a886)}
@media(max-width:1100px){body[data-mode="chat"] .intro h1{font-size:52px}}
@media(max-width:780px){body[data-mode="chat"]{background-attachment:scroll;background-position:65% top;background-size:auto 1100px;background-repeat:no-repeat;background-color:#291425}body[data-mode="chat"] .intro h1{font-size:49px;letter-spacing:-2.7px}body[data-mode="chat"] .how-it-works{padding:22px;gap:22px;margin-top:5px}body[data-mode="chat"] .how-it-works article>span{width:42px;height:42px}body[data-mode="chat"] .sidebar:before{display:none}body[data-mode="chat"] .join-card{background:#fffafff7}}
@media(max-width:460px){body[data-mode="chat"] .intro h1{font-size:clamp(37px,11.8vw,46px);letter-spacing:-2.7px}body[data-mode="chat"] .intro-tags{gap:6px}body[data-mode="chat"] .intro-tags span{font-size:9px;padding:6px 8px;gap:5px}body[data-mode="chat"] .intro-tags svg{width:12px;height:12px}body[data-mode="chat"] footer nav{gap:15px}}

/* Größeres Nachrichtenfeld, Emoji-Auswahl und private Bilder */
body[data-mode="chat"] .composer{display:flex;align-items:center;gap:8px}
body[data-mode="chat"] .composer #message{flex:1;min-width:0;min-height:70px;max-height:150px;resize:vertical;padding:14px 16px;line-height:1.45;border-radius:18px;font:inherit}
body[data-mode="chat"] .composer .icon-btn{display:inline-flex;align-items:center;justify-content:center;width:42px;height:44px;flex-shrink:0;font-size:25px}
.emoji-picker{display:grid;grid-template-columns:repeat(8,1fr);gap:5px;margin:0 18px 10px;padding:12px;background:#fff8fb;border:1px solid #efd4df;border-radius:18px;box-shadow:0 8px 24px #55203912}
.emoji-choice{padding:7px;border:0;background:transparent;font-size:24px;border-radius:10px;cursor:pointer}.emoji-choice:hover{background:#f8e2ec}
.image-preview{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 18px 8px;padding:12px 16px;border:1px solid #efd4df;background:#fff8fb;border-radius:14px;color:#773451}.image-preview span{overflow-wrap:anywhere}.image-preview button{border:0;background:transparent;font-size:26px;cursor:pointer}
.chat-image{display:block;max-width:100%;width:auto;max-height:340px;object-fit:contain;border-radius:12px;margin-bottom:6px}
[hidden]{display:none!important}
@media(max-width:780px){body[data-mode="chat"] .composer{flex-wrap:wrap;padding:12px;gap:7px}body[data-mode="chat"] .composer #message{flex-basis:100%;min-height:76px}body[data-mode="chat"] .composer .primary{margin-left:auto;min-width:108px}.emoji-picker{margin:0 12px 8px}.emoji-choice{padding:4px;font-size:23px}}

/* Kompakte Eingabe, großzügiger Verlauf und verankerte Emoji-Auswahl */
body[data-mode="chat"] .composer-area{position:relative;flex-shrink:0;min-width:0}
body[data-mode="chat"] .composer #message{min-height:44px;height:44px;max-height:100px;padding:10px 14px;resize:none;background:#fff8fb;color:#633c57;border:1px solid #e8c8dd;border-radius:14px;font-size:16px;line-height:22px}
body[data-mode="chat"] .emoji-picker{position:absolute;bottom:100%;left:14px;right:14px;z-index:8;width:auto;max-width:380px;margin:0 0 8px;grid-template-columns:repeat(8,minmax(0,1fr));max-height:220px;overflow:auto;box-shadow:0 12px 35px #55203924}
body[data-mode="chat"] .emoji-choice{min-width:0;padding:5px 0;line-height:1.3}
body[data-mode="chat"] #attach{background:#f8e3ee;border:1px solid #edd0df;border-radius:13px;color:#a34572}
body[data-mode="chat"] #attach svg{width:23px;height:23px;display:block}
body[data-mode="chat"] .chat-heading,body[data-mode="chat"] .welcome,body[data-mode="chat"] .composer-note,body[data-mode="chat"] .image-preview{flex-shrink:0}
@media(max-width:780px){
 body[data-mode="chat"] .chat-shell{height:calc(100dvh - 100px);min-height:540px;margin:8px}
 body[data-mode="chat"] .composer{padding:9px 12px;gap:7px}
 body[data-mode="chat"] .composer #message{flex-basis:100%;min-height:44px;height:44px;padding:10px 12px}
 body[data-mode="chat"] .composer .icon-btn{height:38px;width:40px}
 body[data-mode="chat"] .composer .primary{padding:9px 14px}
 body[data-mode="chat"] .emoji-picker{left:12px;right:12px;max-width:none;grid-template-columns:repeat(7,minmax(0,1fr));padding:10px;gap:4px}
 body[data-mode="chat"] .emoji-choice{font-size:24px;padding:5px 0}
 body[data-mode="chat"] .composer-note{padding:2px 14px 9px}
 body[data-mode="chat"] .messages{padding:15px;gap:15px}
}

.cookie-notice{position:fixed;left:20px;right:20px;bottom:20px;z-index:30;max-width:900px;margin:auto;background:#fffafd;color:#633c57;border:1px solid #e8c8dd;border-radius:20px;padding:22px;box-shadow:0 16px 65px #16091b66;display:flex;gap:22px;align-items:center}.cookie-notice p{font-size:13px;margin:7px 0;color:#79556c}.notice-links{display:flex;gap:16px}.notice-links button{border:0;background:transparent;color:#a34572;padding:0;text-decoration:underline}.message-report{align-self:flex-start;border:0;background:transparent;color:#9a6a85;font-size:10px;padding:3px 0}.message{flex-shrink:0}.moderation-tools{display:flex;gap:10px;margin:16px 0}.report-card{padding:20px;border:1px solid #ead9e3;border-radius:15px;margin:12px 0;background:#fffafd}.report-card p{font-size:13px;margin:8px 0;overflow-wrap:anywhere}.report-card blockquote{white-space:pre-wrap;overflow-wrap:anywhere;margin:12px 0;padding:12px;border-left:3px solid #c95c8d;background:#f9edf3}.report-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
@media(max-width:780px){.cookie-notice{left:10px;right:10px;bottom:10px;padding:18px;display:block;max-height:75dvh;overflow:auto}.cookie-notice>.primary{margin-top:15px;width:100%}.moderation-tools{flex-direction:column}.report-card{padding:14px}}

body[data-mode="chat"] .typing-status{color:#a34572;font-size:11px;font-weight:500;margin-top:3px;line-height:1.4}
@media(max-width:780px){body[data-mode="chat"] .typing-status{font-size:10px}}

body[data-mode="chat"] .gender-symbol{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;width:23px;height:23px;margin-left:6px;border-radius:8px;font-size:19px;font-weight:600;line-height:1;background:#f6eaf2;color:#885778}
body[data-mode="chat"] .gender-symbol.male{color:#427fa8;background:#e8f2fa}
body[data-mode="chat"] .gender-symbol.female{color:#b94d81;background:#fce6f0}
body[data-mode="chat"] .join-event{align-self:center;display:flex;gap:8px;align-items:center;max-width:100%;padding:8px 13px;border:1px solid #eedbe6;border-radius:13px;background:#fff8fb;color:#a07892;font-size:11px;overflow-wrap:anywhere;flex-shrink:0;text-align:center}
body[data-mode="chat"] .join-event-icon{color:#bd6994;font-size:17px}
body[data-mode="chat"] .join-name{display:inline;padding:0;border:0;background:transparent;color:#a34572;font-weight:700;font-size:inherit;text-decoration:underline;text-decoration-color:#d9a2bd;text-underline-offset:3px;overflow-wrap:anywhere}
body[data-mode="chat"] .join-name:hover{color:#d04485}
@media(max-width:780px){body[data-mode="chat"] .join-event{font-size:10px;padding:7px 10px}}

.user-action-menu{position:fixed;z-index:25;width:230px;max-width:calc(100vw - 16px);padding:15px;border:1px solid #eccbdd;background:#fffafd;color:#633c57;border-radius:17px;box-shadow:0 12px 40px #49233e33}
.user-action-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.user-action-heading strong{overflow-wrap:anywhere;min-width:0;font-size:14px}.user-action-close{border:0;background:transparent;color:#a37590;font-size:22px;padding:0 3px;line-height:1}.user-action-menu>.primary{width:100%;font-size:12px;padding:11px 12px}

.chat-header-actions{display:flex;align-items:center;gap:10px}body[data-mode="chat"] #close-chat{font-size:26px;border:1px solid #efd6e3;border-radius:12px;width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:#fff8fb;color:#a34572}
.read-receipt{display:block;align-self:flex-end;line-height:1;margin-top:2px;color:#a0a0ac}.read-receipt.is-read{color:#2495eb}.read-receipt svg{width:23px;height:16px;fill:none;stroke:currentColor;stroke-width:2.1;stroke-linecap:round;stroke-linejoin:round}
.image-open{display:block;max-width:100%;padding:0;border:0;background:transparent;border-radius:12px;cursor:zoom-in}.image-open .chat-image{margin-bottom:0}
body[data-mode="chat"] .image-dialog{width:min(94vw,1000px);max-width:94vw;max-height:92dvh;padding:14px;border-radius:18px;background:#fffafd}.image-dialog::backdrop{background:#180d20d9}.image-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 4px 10px;color:#8b5273;font-size:12px}.image-dialog-heading button{font-size:27px}.image-dialog #preview-image{display:block;max-width:100%;max-height:calc(92dvh - 85px);width:auto;height:auto;object-fit:contain;margin:auto;border-radius:9px}

body[data-mode="chat"] .delete-chat-dialog{width:min(460px,calc(100vw - 28px));padding:28px;max-height:90dvh;overflow:auto}.delete-chat-dialog::backdrop{background:#180d20bd}.delete-chat-icon{display:grid;place-items:center;width:46px;height:46px;background:#fbe2ec;color:#bc4276;border-radius:15px;font-size:32px;margin-bottom:16px}.delete-chat-dialog h2{font-size:22px;line-height:1.3;margin-bottom:14px}.delete-chat-dialog p{color:#845f77;font-size:14px;line-height:1.7}.delete-chat-dialog .delete-chat-note{margin-top:13px;font-size:11px;color:#a48296}.delete-chat-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:23px}
@media(max-width:460px){body[data-mode="chat"] .delete-chat-dialog{padding:22px}.delete-chat-actions{flex-direction:column-reverse}.delete-chat-actions button{width:100%}}
.migration-page{width:min(650px,calc(100vw - 30px));margin:45px auto}.migration-page h1{font-size:28px;margin:16px 0}.migration-page p{margin:16px 0;font-size:14px;overflow-wrap:anywhere}.migration-page .migration-notice{padding:15px;background:#fae5ef;color:#71314f;border-radius:12px}

/* Skyline v2: fixed viewport background, stable on mobile scrolling. */
body[data-mode="chat"]{background:#170e20;isolation:isolate}
body[data-mode="chat"]::before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(110deg,#160e2466,#29132b22 65%,#160e2444),url("chat69-rooftop-evening.webp") center 65%/cover no-repeat;background-color:#170e20}
body[data-mode="chat"] .intro h1{text-shadow:0 3px 22px #090511aa}
body[data-mode="chat"] .intro>p{color:#f0dbe8;text-shadow:0 2px 8px #090511}
body[data-mode="chat"] .chat-shell{box-shadow:0 22px 70px #08041266}
@media(max-width:780px){body[data-mode="chat"]::before{background-position:64% center}body[data-mode="chat"] .topbar{background:#160d2429}body[data-mode="chat"] .intro{border-radius:18px;background:linear-gradient(100deg,#140d2460,#140d2400);padding:14px 0}}

/* Chat69 brand artwork */
.topbar .brand.chat69-brand{display:inline-flex;align-items:center;line-height:1;flex-shrink:0;max-width:65%;padding:0;gap:0}
.chat69-logo{display:block;width:250px;max-width:100%;height:auto;object-fit:contain}
body[data-mode="admin"] .chat69-brand{background:#211329;border-radius:14px;padding:0 10px}
@media(max-width:780px){.chat69-logo{width:210px}.topbar .brand.chat69-brand{max-width:66%}}
@media(max-width:460px){.chat69-logo{width:180px}}

/* Startseite: klare Typografie und geordnete Abstände */
body[data-mode="chat"] .landing{align-items:start;gap:40px 64px;margin-top:48px;margin-bottom:48px}
body[data-mode="chat"] .landing .intro{padding:28px;border:1px solid #ffffff1c;border-radius:22px;background:linear-gradient(135deg,#170e25d9,#21112bae);box-shadow:0 14px 45px #09051120;min-width:0}
body[data-mode="chat"] .landing .intro .eyebrow{color:#f5d9e8;font-size:10px;letter-spacing:1px;line-height:1.7;flex-wrap:wrap}
body[data-mode="chat"] .landing .intro h1{font-size:clamp(38px,4vw,54px);line-height:1.14;letter-spacing:-1.8px;margin:22px 0 20px;color:#fff9fc;text-wrap:balance}
body[data-mode="chat"] .landing .intro em{background:none;-webkit-text-fill-color:currentColor;color:#ffb8d3}
body[data-mode="chat"] .landing .intro>p{font-size:17px;line-height:1.75;color:#f0dfe9;max-width:none;text-shadow:none}
body[data-mode="chat"] .landing .intro-tags{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0}
body[data-mode="chat"] .landing .intro-tags span{font-size:11px;font-weight:550;padding:9px 11px;color:#fff0f8;background:#fff1f710;border-color:#fff1f52d}
body[data-mode="chat"] .landing .intro-note{margin-top:28px;padding:15px 16px;background:#100a1d40;max-width:none}
body[data-mode="chat"] .landing .intro-note strong{font-size:13px;color:#fff0f7}
body[data-mode="chat"] .landing .intro-note p{font-size:12px;line-height:1.7;color:#e5cedc}
body[data-mode="chat"] .landing .join-card>p{color:#76576b;font-size:14px;line-height:1.65}
body[data-mode="chat"] .landing .join-card label{color:#69405a;font-size:13px;line-height:1.65}
body[data-mode="chat"] .landing .join-card label small{color:#785c70}
body[data-mode="chat"] .landing .join-card input::placeholder{color:#816578;opacity:1}
body[data-mode="chat"] .landing .join-card .check{font-size:12px;color:#735468}
body[data-mode="chat"] .landing .join-card .form-note{font-size:11px;color:#76576b}
body[data-mode="chat"] .landing .how-it-works{padding:25px;gap:24px;background:#28142be8}
body[data-mode="chat"] .landing .how-it-works h3{font-size:14px;line-height:1.5;color:#fff2f9}
body[data-mode="chat"] .landing .how-it-works p{font-size:12px;line-height:1.7;color:#ebd2e1}
@media(max-width:1100px){body[data-mode="chat"] .landing{gap:30px}body[data-mode="chat"] .landing .intro{padding:24px}body[data-mode="chat"] .landing .intro h1{font-size:40px}}
@media(max-width:780px){body[data-mode="chat"] .landing{padding:0 20px;margin:24px auto 36px;gap:22px}body[data-mode="chat"] .landing .intro{padding:24px 22px}body[data-mode="chat"] .landing .intro h1{font-size:clamp(30px,8.8vw,40px);letter-spacing:-1px;margin:18px 0 16px;text-wrap:initial}body[data-mode="chat"] .landing .intro em{display:block}body[data-mode="chat"] .landing .intro>p{font-size:15px}body[data-mode="chat"] .landing .intro .eyebrow{font-size:9px;letter-spacing:.6px}body[data-mode="chat"] .landing .intro-tags{display:grid;grid-template-columns:1fr;margin:20px 0 0;gap:8px}body[data-mode="chat"] .landing .intro-tags span{padding:10px 12px;font-size:12px}body[data-mode="chat"] .landing .how-it-works{padding:22px;gap:22px}body[data-mode="chat"] .landing .join-card{padding:25px 22px}body[data-mode="chat"] .landing .join-card h2{font-size:23px;line-height:1.3}}
@media(max-width:360px){body[data-mode="chat"] .landing{padding:0 14px}body[data-mode="chat"] .landing .intro{padding:22px 18px}body[data-mode="chat"] .landing .intro h1{font-size:30px}body[data-mode="chat"] .landing .join-card{padding:24px 19px}}

@media(max-width:780px){body[data-mode="chat"] .landing .intro .eyebrow{flex-wrap:nowrap;gap:7px;font-size:8px;letter-spacing:.35px}body[data-mode="chat"] .landing .intro .eyebrow>span{flex-shrink:0}}
@media(max-width:360px){body[data-mode="chat"] .landing .intro h1{font-size:28px;letter-spacing:-1.2px}}

/* Kamera nur im privaten Chat; Vorschau vor dem Versand. */
body[data-mode="chat"] #camera{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;background:#f8e3ee;border:1px solid #edd0df;border-radius:13px;color:#a34572;min-width:38px;min-height:38px}
body[data-mode="chat"] #camera svg{width:23px;height:23px}
body[data-mode="chat"] #pending-photo{width:64px;height:64px;object-fit:cover;border-radius:10px;flex-shrink:0}
body[data-mode="chat"] .image-preview #image-name{min-width:0;flex:1}

/* Bildvorschau: vollständiges Bild und stabile mobile Anordnung. */
body[data-mode="chat"] #image-preview{display:grid;grid-template-columns:minmax(0,1fr) 36px;align-items:center;gap:8px 12px;padding:10px 12px;margin:8px 14px;max-width:calc(100% - 28px);min-width:0}
body[data-mode="chat"] #pending-photo{grid-column:1/-1;display:block;width:100%;height:auto;max-height:min(160px,22dvh);object-fit:contain;border-radius:9px;background:#291829;min-width:0}
body[data-mode="chat"] #image-preview #image-name{grid-column:1;min-width:0;font-size:12px;line-height:1.45;overflow-wrap:anywhere}
body[data-mode="chat"] #remove-image{grid-column:2;display:grid;place-items:center;width:36px;height:36px;padding:0;border-radius:10px;background:#f6e0eb;color:#923960;line-height:1}
@media(max-width:780px){body[data-mode="chat"] #image-preview{margin:6px 12px;max-width:calc(100% - 24px)}body[data-mode="chat"] #pending-photo{max-height:min(130px,18dvh)}}

/* Klarer Ausstieg und übersichtliche Online-Liste. */
body[data-mode="chat"] #leave{display:inline-flex;align-items:center;justify-content:center;gap:7px;flex-shrink:0;min-height:40px;padding:9px 12px;margin-left:auto;border:1px solid #db91b266;border-radius:11px;background:#ffffff0d;color:#fff0f7;font-size:12px;font-weight:700;line-height:1.2;cursor:pointer}
body[data-mode="chat"] #leave:hover{background:#ffffff1a;border-color:#e8aac6}
#leave svg{width:18px;height:18px;flex-shrink:0}
body[data-mode="chat"] .sidebar-bottom{flex-wrap:wrap;gap:10px}
body[data-mode="chat"] .sidebar-bottom>div:not(.avatar){min-width:0;max-width:100%;overflow-wrap:anywhere}
body[data-mode="chat"] #toggle-users{align-items:center;justify-content:center;gap:7px;min-height:40px;border-radius:12px;background:#f7dfec;border:1px solid #e5b9d0;color:#853d65;font-weight:700;white-space:nowrap}
#toggle-users svg{width:19px;height:19px;flex-shrink:0}
.online-count-badge{display:inline-grid;place-items:center;min-width:23px;min-height:23px;padding:1px 6px;background:#853d65;color:#fff;border-radius:8px;font-size:11px}
body[data-mode="chat"] .people-panel{padding:22px 16px;background:#fffafd}
body[data-mode="chat"] .people-heading{gap:8px;align-items:center;margin-bottom:16px}
body[data-mode="chat"] .people-heading h3{font-size:16px;color:#633c57;letter-spacing:-.3px}
body[data-mode="chat"] .people-heading .live{font-size:10px;color:#75556a;gap:5px}
body[data-mode="chat"] .user-search-label{font-size:11px;color:#815c75;margin:0 0 6px}
body[data-mode="chat"] #user-search{min-height:42px;font-size:14px;background:#fff;color:#633c57;border-color:#e9d1df;border-radius:12px;padding:10px 12px}
body[data-mode="chat"] #user-search::placeholder{color:#96768a}
body[data-mode="chat"] .filters{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0}
body[data-mode="chat"] .filters button{font-size:11px;padding:7px 9px}
body[data-mode="chat"] #users{display:flex;flex-direction:column;gap:10px}
body[data-mode="chat"] .user-row{padding:13px 11px;border:1px solid #efdae5;border-radius:14px;background:#fff;gap:10px;align-items:flex-start}
body[data-mode="chat"] .user-details{min-width:0;flex:1;overflow-wrap:anywhere}
body[data-mode="chat"] .nick-btn{font-size:13px;line-height:1.5;font-weight:750;overflow-wrap:anywhere;max-width:100%;text-align:left}
body[data-mode="chat"] .user-details small{font-size:10px;line-height:1.65;color:#87667c;margin-top:4px}
body[data-mode="chat"] .user-tools{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}
body[data-mode="chat"] .user-tools button{padding:5px 7px;border:1px solid #efdce6;border-radius:7px;background:#fff7fb;font-size:10px;color:#985a7d}
body[data-mode="chat"] .people-note{font-size:11px;color:#87667c;line-height:1.7;margin-top:18px}
@media(max-width:780px){body[data-mode="chat"] .sidebar{grid-template-rows:auto auto auto;max-height:175px;gap:7px;padding:10px 12px}body[data-mode="chat"] .sidebar-bottom{grid-column:1/-1;grid-row:3;display:flex;align-items:center;flex-wrap:nowrap;padding-top:6px;border-top:1px solid #ffffff14}body[data-mode="chat"] #conversations{grid-column:1/-1}body[data-mode="chat"] .sidebar-bottom strong{max-width:160px;font-size:11px}body[data-mode="chat"] #leave{min-height:36px;padding:8px 11px;font-size:11px}body[data-mode="chat"] #toggle-users{display:inline-flex;padding:8px 9px;font-size:11px}body[data-mode="chat"] .chat-header-actions{gap:6px;flex-shrink:0}body[data-mode="chat"] .chat-heading>div:first-child{min-width:0}body[data-mode="chat"] .chat-heading h2{font-size:18px;overflow-wrap:anywhere}body[data-mode="chat"] .people-panel{width:min(340px,100%);padding:20px 16px}body[data-mode="chat"] #close-users{display:grid;place-items:center;width:34px;height:34px;background:#f6e1ec;border-radius:9px;flex-shrink:0}}
@media(max-width:360px){body[data-mode="chat"] .chat-heading{padding:12px 10px}body[data-mode="chat"] #toggle-users{gap:4px;padding:7px}body[data-mode="chat"] .sidebar-bottom strong{max-width:120px}}

/* Getrennte Raum-Auswahl und privater Posteingang. */
body[data-mode="chat"] .room-section,body[data-mode="chat"] .inbox-section{min-width:0}
body[data-mode="chat"] .inbox-section{margin-top:18px;padding-top:16px;border-top:1px solid #ffffff20}
body[data-mode="chat"] #rooms{gap:8px}
body[data-mode="chat"] #rooms .room-button{display:flex;align-items:center;justify-content:flex-start;gap:10px;padding:11px 13px;border:1px solid #ffffff18;border-radius:13px;background:#ffffff07;color:#e5ccdd;font-size:12px;font-weight:650;min-height:43px}
body[data-mode="chat"] #rooms .room-button.active{background:linear-gradient(115deg,#913d69,#633354);border-color:#e297bb88;color:#fff4fa;box-shadow:0 5px 16px #160a182b}
.room-symbol{font-size:21px;line-height:1;color:#f4bbd4}.room-name{overflow-wrap:anywhere}
body[data-mode="chat"] #conversations{display:flex;flex-direction:column;gap:8px}
body[data-mode="chat"] #conversations .conversation-card{display:flex;align-items:center;justify-content:flex-start;gap:9px;white-space:normal;padding:11px 10px;border:1px solid #ffffff18;border-radius:13px;background:#ffffff08;min-width:0;width:100%;color:#edd8e6;text-align:left}
body[data-mode="chat"] #conversations .conversation-card.active{background:#85436766;border-color:#d798b777}
body[data-mode="chat"] #conversations .conversation-card.has-unread{border-color:#eaa4c1a0;background:linear-gradient(120deg,#94416b80,#65305470)}
.conversation-avatar{display:grid;place-items:center;width:32px;height:32px;border-radius:11px;background:#ffffff13;color:#ffd6e8;font-size:13px;font-weight:700;flex-shrink:0}
.conversation-details{display:flex;flex-direction:column;min-width:0;flex:1;gap:3px}.conversation-details strong{font-size:12px;line-height:1.4;overflow-wrap:anywhere}.conversation-details small{font-size:9px;color:#d3b3c8;line-height:1.4}.conversation-arrow{color:#c89bb8;font-size:21px}
body[data-mode="chat"] #conversations .badge{flex-shrink:0;background:#ffbfda;color:#602140;min-width:23px;text-align:center;font-size:11px;padding:3px 6px;font-weight:750}
.inbox-empty{font-size:11px;line-height:1.7;color:#c7a5bd;padding:8px 10px}
#inbox-toggle{display:none}
@media(max-width:780px){
 body[data-mode="chat"] .sidebar{display:flex;flex-direction:column;gap:10px;max-height:none;padding:10px 12px;overflow:visible}
 body[data-mode="chat"] .room-section{width:100%}
 body[data-mode="chat"] #rooms{display:flex;flex-direction:row;gap:8px;overflow-x:auto;padding-bottom:2px}
 body[data-mode="chat"] #rooms .room-button{padding:9px 13px;min-height:40px;font-size:11px;gap:8px;white-space:nowrap}
 body[data-mode="chat"] .inbox-section{width:100%;margin:0;padding:10px 0 0;border-top:1px solid #ffffff1c}
 body[data-mode="chat"] #inbox-toggle{display:flex;align-items:center;gap:9px;width:100%;min-height:42px;padding:9px 12px;border:1px solid #d799b447;border-radius:12px;background:#ffffff09;color:#f7e8f2;font-size:12px;font-weight:650;text-align:left}
 body[data-mode="chat"] #inbox-toggle.has-unread{background:#89436655;border-color:#e5a0c1}
 .inbox-symbol{font-size:19px;color:#efbdd6}.inbox-count{margin-left:auto;display:grid;place-items:center;min-width:24px;height:24px;padding:0 6px;border-radius:8px;background:#ffffff14;color:#ead5e3;font-size:11px}.inbox-count.unread{background:#ffbfda;color:#602140}.inbox-chevron{font-size:19px;line-height:1}
 body[data-mode="chat"] .inbox-section:not(.expanded) #conversations{display:none}
 body[data-mode="chat"] .inbox-section.expanded #conversations{display:flex;flex-direction:column;align-items:stretch;max-height:23dvh;overflow-y:auto;gap:8px;padding:9px 0 0}
 body[data-mode="chat"] #conversations .conversation-card{flex-shrink:0;font-size:12px;padding:10px 12px;gap:10px}
 body[data-mode="chat"] .sidebar-bottom{display:flex;flex-wrap:nowrap;margin:0;padding-top:8px;width:100%;border-top:1px solid #ffffff14}
 .conversation-details strong{font-size:12px}.conversation-details small{font-size:10px}
}

/* Kompakte Navigation: Nachrichten behalten den verfügbaren Platz. */
@media(max-width:780px){
 body[data-mode="chat"]:has(#chat:not([hidden])) .topbar{padding:7px 18px;min-height:58px}
 body[data-mode="chat"]:has(#chat:not([hidden])) .chat69-logo{width:155px}
 body[data-mode="chat"] .chat-shell{height:calc(100dvh - 78px);min-height:420px;margin:8px;grid-template-rows:auto minmax(0,1fr)}
 body[data-mode="chat"] .sidebar{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:38px 38px;gap:7px 9px;padding:9px 11px;max-height:none;overflow:visible;z-index:9}
 body[data-mode="chat"] .room-section{grid-column:1;grid-row:1;width:auto;min-width:0}
 body[data-mode="chat"] #rooms{height:38px;gap:6px;padding:0;align-items:stretch}
 body[data-mode="chat"] #rooms .room-button{min-height:36px;padding:7px 11px;font-size:11px;border-radius:10px;gap:7px}
 body[data-mode="chat"] .room-symbol{font-size:18px}
 body[data-mode="chat"] .sidebar-bottom{grid-column:2;grid-row:1;width:auto;margin:0;padding:0;border:0;gap:0}
 body[data-mode="chat"] .sidebar-bottom>div{display:none}
 body[data-mode="chat"] #leave{margin:0;min-height:36px;padding:7px 9px;border-radius:10px;font-size:11px;gap:5px}
 body[data-mode="chat"] #leave svg{width:16px;height:16px}
 body[data-mode="chat"] .inbox-section{grid-column:1/-1;grid-row:2;width:auto;margin:0;padding:0;border:0;min-width:0}
 body[data-mode="chat"] #inbox-toggle{min-height:38px;height:38px;padding:7px 11px;font-size:11px;border-radius:10px;gap:8px}
 body[data-mode="chat"] .inbox-count{height:22px;min-width:22px}
 body[data-mode="chat"] .inbox-section.expanded #conversations{position:absolute;top:100%;left:7px;right:7px;margin-top:5px;max-height:min(340px,48dvh);padding:10px;overflow:auto;border:1px solid #a66b8b;border-radius:14px;background:#321d31;box-shadow:0 18px 40px #170b2366;z-index:12}
 body[data-mode="chat"] .chat-heading{padding:10px 14px;min-height:62px;gap:8px}
 body[data-mode="chat"] .chat-heading h2{font-size:18px;margin-top:3px;line-height:1.25}
 body[data-mode="chat"] .chat-heading .eyebrow{font-size:7px;line-height:1.3}
 body[data-mode="chat"] .messages{padding:17px 15px;gap:16px}
 body[data-mode="chat"] .welcome{margin:9px 12px 0;padding:8px 10px;font-size:10px;line-height:1.5}
 body[data-mode="chat"] .composer{padding:8px 11px;gap:6px}
 body[data-mode="chat"] .composer #message{height:42px;min-height:42px}
 body[data-mode="chat"] .composer-note{padding:0 12px 7px;line-height:1.4}
 body[data-mode="chat"] #toggle-users{min-height:36px}
}
@media(min-width:781px){body[data-mode="chat"] .sidebar{padding:18px 12px}body[data-mode="chat"] .inbox-section{margin-top:18px}body[data-mode="chat"] .sidebar-bottom{padding-top:18px}}

/* Nur neu eintreffende Chatblasen sanft einblenden. */
@keyframes chat-bubble-arrive{from{opacity:0;transform:translate3d(-7px,13px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes chat-bubble-arrive-own{from{opacity:0;transform:translate3d(7px,13px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
body[data-mode="chat"] .message.message-slide-in{animation:chat-bubble-arrive 280ms cubic-bezier(.2,.75,.25,1) both}
body[data-mode="chat"] .message.own.message-slide-in{animation-name:chat-bubble-arrive-own}
@media(prefers-reduced-motion:reduce){body[data-mode="chat"] .message.message-slide-in{animation:none}}

/* Online-Liste als eigenes, jederzeit schließbares mobiles Panel. */
.people-backdrop{position:fixed;inset:0;z-index:19;border:0;background:#160c244d;cursor:pointer;padding:0}
@media(min-width:781px){.people-backdrop{display:none!important}}
@media(max-width:780px){
 body[data-mode="chat"] #people-panel{position:fixed;inset:auto 10px 10px;z-index:20;width:auto;height:min(560px,72dvh);max-height:calc(100dvh - 30px);padding:16px;box-sizing:border-box;overflow:hidden;border:1px solid #e5bfd4;border-radius:20px;background:#fffafd;box-shadow:0 20px 70px #180b2466;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto auto auto minmax(0,1fr) auto;gap:0}
 body[data-mode="chat"] #people-panel.open{display:grid}
 body[data-mode="chat"] #people-panel .people-heading{display:flex;position:relative;align-items:center;gap:8px;margin:0 0 12px;min-height:40px;padding-right:48px}
 body[data-mode="chat"] #people-panel .people-heading h3{font-size:17px;flex:1;min-width:0}
 body[data-mode="chat"] #close-users{position:absolute;top:0;right:0;z-index:2;display:grid;place-items:center;width:40px;height:40px;min-width:40px;padding:0;border:1px solid #e9c5d9;border-radius:12px;background:#f5deeb;color:#803b62;font-size:27px;line-height:1;cursor:pointer;pointer-events:auto}
 body[data-mode="chat"] #people-panel #users{overflow-y:auto;overscroll-behavior:contain;min-height:0;padding:2px 3px 6px 0;gap:9px}
 body[data-mode="chat"] #people-panel .user-row{flex-shrink:0}
 body[data-mode="chat"] #people-panel .people-note{margin:10px 0 0;padding-top:10px;font-size:10px;line-height:1.5}
 body[data-mode="chat"] #people-panel .filters{margin:10px 0}
}

/* Angenehm lesbare Schrift in öffentlichen und privaten Chats. */
body[data-mode="chat"] .messages .bubble{font-size:15px;line-height:1.65;padding:11px 15px}
body[data-mode="chat"] .messages .message-meta{font-size:12px;line-height:1.5;gap:9px}
body[data-mode="chat"] .messages .message-meta time{font-size:10px}
body[data-mode="chat"] .messages .message-report{font-size:11px;line-height:1.5}
@media(max-width:780px){body[data-mode="chat"] .messages .bubble{font-size:15px;line-height:1.6;padding:11px 13px}body[data-mode="chat"] .messages .message-meta{font-size:11px}body[data-mode="chat"] .messages .message-meta time{font-size:10px}}

/* Kontaktbox direkt über den Namen einer Lobby-Nachricht. */
body[data-mode="chat"] .messages .message-meta .message-nick{display:inline;padding:2px 0;margin:0;border:0;border-radius:3px;background:transparent;color:#945073;font:inherit;font-weight:750;line-height:inherit;text-align:left;white-space:normal;overflow-wrap:anywhere;cursor:pointer;text-decoration:underline;text-decoration-color:#d9abc4;text-underline-offset:3px}
body[data-mode="chat"] .messages .message-meta .message-nick:hover{color:#b32f70;text-decoration-color:currentColor}

/* Startseite auf Desktop/Laptop höher platzieren. */
@media(min-width:781px) and (pointer:fine){
 body[data-mode="chat"]:has(#landing:not([hidden])) .topbar{padding-top:10px;padding-bottom:10px}
 body[data-mode="chat"] .landing{margin-top:26px}
}
@media(min-width:781px) and (max-height:820px) and (pointer:fine){
 body[data-mode="chat"]:has(#landing:not([hidden])) .topbar{padding-top:6px;padding-bottom:6px}
 body[data-mode="chat"]:has(#landing:not([hidden])) .chat69-logo{width:210px}
 body[data-mode="chat"] .landing{margin-top:18px;row-gap:24px}
 body[data-mode="chat"] .landing .join-card{padding:23px 28px}
 body[data-mode="chat"] .landing .join-card .card-top{margin-bottom:10px}
 body[data-mode="chat"] .landing .join-card>p{margin:6px 0 12px}
 body[data-mode="chat"] .landing .join-card label{margin-top:12px}
 body[data-mode="chat"] .landing .join-card label input,body[data-mode="chat"] .landing .join-card label select{margin-top:5px;padding-top:10px;padding-bottom:10px}
 body[data-mode="chat"] .landing .join-card .check{margin-top:15px;margin-bottom:15px}
 body[data-mode="chat"] .landing .join-card .form-note{margin-top:10px}
}

/* Feste Chat-Aufteilung: nur der Nachrichtenverlauf scrollt. */
body[data-mode="chat"] .chat-shell{height:calc(100svh - 140px);min-height:440px}
body[data-mode="chat"] .chat-main{position:relative;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:88px minmax(0,1fr) 76px 24px;min-height:0;overflow:hidden}
body[data-mode="chat"] .chat-heading{grid-row:1;min-height:0;height:100%;padding:12px 18px;overflow:hidden}
body[data-mode="chat"] .chat-heading>div:first-child{min-width:0;overflow:hidden}
body[data-mode="chat"] .chat-heading h2{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:3px;line-height:1.25}
body[data-mode="chat"] #typing-status{min-height:14px;height:14px;line-height:14px;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:10px}
body[data-mode="chat"] #typing-status[hidden]{display:block!important;visibility:hidden}
body[data-mode="chat"] #messages{grid-row:2;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable;overscroll-behavior:contain}
body[data-mode="chat"] .composer-area{grid-row:3;min-height:0;height:100%;background:#fffafd;z-index:8}
body[data-mode="chat"] .composer{height:100%;align-items:center;padding:12px;flex-wrap:nowrap}
body[data-mode="chat"] .composer #message{height:44px;min-height:44px;max-height:44px;flex:1;min-width:0;overflow-y:auto}
body[data-mode="chat"] .composer .icon-btn{width:38px;height:38px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}
body[data-mode="chat"] .composer .primary{height:38px;flex-shrink:0;padding:8px 13px}
body[data-mode="chat"] #connection{grid-row:4;min-height:0;height:100%;padding:2px 12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:9px;line-height:18px}
body[data-mode="chat"] #welcome{position:absolute;top:96px;left:12px;right:12px;z-index:7;max-height:72px;overflow-y:auto;margin:0;padding:10px 12px;box-shadow:0 5px 18px #49213a16}
body[data-mode="chat"] #image-preview{position:absolute;bottom:108px;left:12px;right:12px;z-index:9;margin:0;max-width:none;box-shadow:0 8px 28px #49213a30}
body[data-mode="chat"] #pending-photo{max-height:min(120px,18svh)}
@media(max-width:780px){
 body[data-mode="chat"] .chat-shell{height:calc(100svh - 70px);min-height:400px;margin:5px 8px}
 body[data-mode="chat"] .chat-main{grid-template-rows:64px minmax(0,1fr) 96px 20px}
 body[data-mode="chat"] .chat-heading{padding:6px 12px}
 body[data-mode="chat"] .chat-heading h2{font-size:18px}
 body[data-mode="chat"] .composer{padding:6px 10px;gap:6px;flex-wrap:wrap;align-content:center}
 body[data-mode="chat"] .composer #message{flex:1 0 100%;height:40px;min-height:40px;max-height:40px;padding:8px 12px}
 body[data-mode="chat"] .composer .icon-btn{height:36px;width:38px;min-height:36px}
 body[data-mode="chat"] .composer .primary{height:36px;margin-left:auto;padding:7px 13px}
 body[data-mode="chat"] #welcome{top:72px;left:10px;right:10px;font-size:10px}
 body[data-mode="chat"] #image-preview{bottom:124px;left:10px;right:10px;margin:0;max-width:none}
 body[data-mode="chat"] #connection{font-size:8px;line-height:16px}
}

/* Vollständig sichtbarer Chat, angepasst an die Bildschirmtastatur. */
body[data-mode="chat"]:has(#chat:not([hidden]))>footer{display:none}
@media(max-width:780px){
 body[data-mode="chat"].mobile-chat-viewport{position:fixed;inset:0;margin:0;width:100%;height:var(--chat-visible-height,100dvh);min-height:0;overflow:hidden;overscroll-behavior:none}
 body[data-mode="chat"].mobile-chat-viewport .topbar{height:58px;min-height:58px;box-sizing:border-box;padding:6px 16px}
 body[data-mode="chat"].mobile-chat-viewport #chat{box-sizing:border-box;height:calc(var(--chat-visible-height,100dvh) - var(--chat-top-height,58px) - 12px - env(safe-area-inset-bottom,0px));min-height:0;margin:5px 8px 7px;overflow:hidden}
 body[data-mode="chat"].mobile-chat-viewport .chat-main{min-height:0}
 body[data-mode="chat"].mobile-chat-viewport #messages{touch-action:pan-y;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}
 body[data-mode="chat"].chat-keyboard-open #welcome{display:none}
 body[data-mode="chat"].chat-keyboard-open #people-panel{height:min(560px,calc(var(--chat-visible-height,100dvh) - 20px));max-height:calc(var(--chat-visible-height,100dvh) - 20px)}
}

/* Willkommenshinweis kann pro Chatsitzung geschlossen werden. */
body[data-mode="chat"] #welcome{display:grid;grid-template-columns:minmax(0,1fr) 34px;align-items:start;gap:10px;max-height:100px;overflow:hidden;padding:10px 12px}
body[data-mode="chat"] #welcome-text{display:block;max-height:76px;overflow-y:auto;overflow-wrap:anywhere;white-space:pre-line;line-height:1.6}
body[data-mode="chat"] #dismiss-welcome{display:grid;place-items:center;width:34px;height:34px;padding:0;border:1px solid #e8c1d6;border-radius:9px;background:#fff5fa;color:#8c3d65;font-size:25px;line-height:1;cursor:pointer}
body[data-mode="chat"] #dismiss-welcome:hover{background:#f6ddea}

/* Namensschild ausschließlich im Kopf des privaten Gesprächs. */
body[data-mode="chat"] .chat-heading #chat-title.private-nameplate{position:relative;display:block;width:fit-content;max-width:100%;padding:3px 12px 3px 31px;border:1px solid #e8bed5;border-radius:10px;background:linear-gradient(120deg,#f8e2ee,#f2e5f4);color:#80375f;font-size:18px;font-weight:750;line-height:22px;letter-spacing:-.2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-sizing:border-box;box-shadow:0 3px 10px #8c3f6610}
body[data-mode="chat"] .chat-heading #chat-title.private-nameplate::before{content:"♡";position:absolute;left:10px;top:50%;transform:translateY(-50%);color:#b85387;font-size:18px;line-height:1}
@media(max-width:780px){body[data-mode="chat"] .chat-heading #chat-title.private-nameplate{font-size:16px;line-height:19px;padding:2px 10px 2px 28px;border-radius:8px}body[data-mode="chat"] .chat-heading #chat-title.private-nameplate::before{left:8px;font-size:16px}body[data-mode="chat"] .chat-heading:has(.private-nameplate){padding-top:4px;padding-bottom:4px}}

/* Chatblasen: ruhige Farben, klare Metadaten und dezente Tiefe. */
body[data-mode="chat"] #messages{background:linear-gradient(160deg,#fffdfefa,#fbf7fc);gap:18px}
body[data-mode="chat"] #messages .message{min-width:0;max-width:86%}
body[data-mode="chat"] #messages .bubble{font-size:15px;line-height:1.65;padding:12px 15px;border:1px solid #e9dce7;border-radius:7px 18px 18px 18px;background:linear-gradient(145deg,#ffffff,#f8f1f7);color:#51394d;box-shadow:0 3px 10px #47203908,0 1px 2px #47203906;overflow-wrap:anywhere}
body[data-mode="chat"] #messages .own .bubble{background:linear-gradient(125deg,#aa3e76,#79335f);border-color:#963968;color:#fffaff;border-radius:18px 7px 18px 18px;box-shadow:0 4px 12px #8a33651a,0 1px 2px #54203d12}
body[data-mode="chat"] #messages .message-meta{gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:7px;font-size:12px;line-height:1.5;color:#80506c}
body[data-mode="chat"] #messages .message-meta strong{font-weight:750;letter-spacing:.1px}
body[data-mode="chat"] #messages .message-meta time{font-size:11px;line-height:1.5;color:#796b7c;font-variant-numeric:tabular-nums;white-space:nowrap}
body[data-mode="chat"] #messages .message-meta time::before{content:"·";margin-right:8px;color:#b39aae}
body[data-mode="chat"] #messages .message-meta .message-nick{color:#894067;text-decoration-color:#d7aac3}
body[data-mode="chat"] #messages .message-report{display:inline-flex;align-items:center;min-height:24px;padding:4px 2px;font-size:10px;color:#88657b;line-height:1.5;margin-top:2px}
body[data-mode="chat"] #messages .message-report:hover{color:#aa376e;text-decoration:underline;text-underline-offset:3px}
body[data-mode="chat"] #messages .read-receipt{margin-top:5px;padding-right:2px;color:#8b8493}
body[data-mode="chat"] #messages .read-receipt.is-read{color:#1687db}
body[data-mode="chat"] #messages .chat-image{border-radius:12px}
@media(max-width:780px){body[data-mode="chat"] #messages{gap:16px}body[data-mode="chat"] #messages .message{max-width:90%}body[data-mode="chat"] #messages .bubble{font-size:15px;line-height:1.6;padding:11px 13px}body[data-mode="chat"] #messages .message-meta{font-size:11px;gap:7px;margin-bottom:6px}body[data-mode="chat"] #messages .message-meta time{font-size:11px}body[data-mode="chat"] #messages .message-meta time::before{margin-right:7px}}

/* Private Kontaktkarten mit klarer Auswahl und ungelesenen Hinweisen. */
body[data-mode="chat"] #conversations{gap:9px}
body[data-mode="chat"] #conversations .conversation-card{position:relative;display:flex;align-items:center;gap:11px;min-height:68px;padding:12px;border:1px solid #ffffff20;border-radius:15px;background:linear-gradient(130deg,#ffffff10,#ffffff07);box-shadow:0 3px 10px #140b1810;color:#f5e8f1;transition:background-color .16s,border-color .16s,box-shadow .16s}
body[data-mode="chat"] #conversations .conversation-card:hover{border-color:#dfb1ca88;background:#ffffff17}
body[data-mode="chat"] #conversations .conversation-avatar{position:relative;display:grid;place-items:center;width:38px;height:38px;flex:0 0 38px;border-radius:13px;border:1px solid #ffffff30;background:linear-gradient(140deg,#ecacc9,#b579a7);color:#542841;font-size:16px;font-weight:800;box-shadow:inset 0 1px 0 #ffffff40,0 3px 8px #170c2520}
body[data-mode="chat"] #conversations .avatar-shade-1{background:linear-gradient(140deg,#d5c5f7,#a792cf);color:#42335f}
body[data-mode="chat"] #conversations .avatar-shade-2{background:linear-gradient(140deg,#f5c6b2,#d39bb2);color:#64374c}
body[data-mode="chat"] #conversations .avatar-shade-3{background:linear-gradient(140deg,#c4d3f1,#aa9ccf);color:#3e3c66}
body[data-mode="chat"] #conversations .conversation-details{gap:4px;min-width:0}
body[data-mode="chat"] #conversations .conversation-details strong{display:block;font-size:13px;font-weight:750;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body[data-mode="chat"] #conversations .conversation-details small{display:block;font-size:10px;line-height:1.4;color:#dac4d5}
body[data-mode="chat"] #conversations .conversation-card.active{background:linear-gradient(125deg,#fff7fc,#eedfeb);border-color:#efc2d9;box-shadow:inset 3px 0 0 #c15b8b,0 4px 12px #160b241a;color:#62314f}
body[data-mode="chat"] #conversations .conversation-card.active .conversation-details small{color:#865b78}
body[data-mode="chat"] #conversations .conversation-active-mark{font-size:9px;color:#a54879;padding:4px;flex-shrink:0}
body[data-mode="chat"] #conversations .conversation-card.has-unread{background:linear-gradient(120deg,#934368,#663451);border-color:#e6a1c1;box-shadow:0 4px 12px #170b2522;color:#fff6fc}
body[data-mode="chat"] #conversations .conversation-card.has-unread .conversation-details small{color:#ffe0ee;font-weight:600}
body[data-mode="chat"] #conversations .conversation-card.active.has-unread{box-shadow:inset 3px 0 0 #ffd8e8,0 4px 12px #170b2522}
body[data-mode="chat"] #conversations .badge{display:inline-grid;place-items:center;min-width:27px;height:27px;flex-shrink:0;padding:0 7px;border-radius:10px;background:#fff0f8;color:#793353;font-size:12px;font-weight:800;font-variant-numeric:tabular-nums;box-shadow:0 2px 6px #170b2515}
body[data-mode="chat"] #conversations .conversation-arrow{font-size:24px;color:#dbb8ce;flex-shrink:0}
body[data-mode="chat"] #conversations .inbox-empty{padding:15px 11px;border:1px dashed #d3adc63d;border-radius:13px;color:#dcc2d3;font-size:11px;line-height:1.65}
body[data-mode="chat"] #conversations .inbox-empty strong{display:block;font-size:12px;color:#f5e5f0;margin-bottom:5px}
@media(max-width:780px){body[data-mode="chat"] .inbox-section.expanded #conversations{gap:9px;padding:11px;max-height:min(350px,48dvh);background:linear-gradient(145deg,#392238,#2c1a2f);border-color:#ad7a98}body[data-mode="chat"] #conversations .conversation-card{min-height:66px;padding:11px 12px;gap:11px}body[data-mode="chat"] #conversations .conversation-details strong{font-size:14px}body[data-mode="chat"] #conversations .conversation-details small{font-size:11px}}
@media(prefers-reduced-motion:reduce){body[data-mode="chat"] #conversations .conversation-card{transition:none}}

/* Online-Nutzer: Kontaktkarten passend zum privaten Posteingang. */
body[data-mode="chat"] #people-panel{background:#fdf9fc}
body[data-mode="chat"] #people-panel .people-heading h3{font-weight:780;color:#63334f;letter-spacing:-.4px}
body[data-mode="chat"] #people-panel #user-search{background:#fff;border-color:#e9d3e1;box-shadow:0 2px 7px #67315104}
body[data-mode="chat"] #people-panel #user-search:focus{border-color:#c87da7;box-shadow:0 0 0 3px #b7518512}
body[data-mode="chat"] #people-panel .filters button{border-radius:9px;font-weight:650;min-height:32px;color:#80536e;background:#fff;border-color:#e7d2df}
body[data-mode="chat"] #people-panel .filters button.active{background:linear-gradient(120deg,#a24677,#77385f);border-color:#92416d;color:#fff6fb;box-shadow:0 3px 9px #8c3c6920}
body[data-mode="chat"] #people-panel #users{gap:11px}
body[data-mode="chat"] #people-panel .user-row{position:relative;display:flex;align-items:flex-start;gap:12px;padding:14px 12px;border:1px solid #ebdbe5;border-radius:16px;background:linear-gradient(140deg,#fff,#fdf9fc);box-shadow:0 3px 10px #66344f06}
body[data-mode="chat"] #people-panel .user-row.is-self{border-color:#dbb7cf;background:linear-gradient(120deg,#fbecf5,#f6effa)}
body[data-mode="chat"] #people-panel .user-row>.avatar{display:grid;place-items:center;width:40px;height:40px;flex:0 0 40px;border-radius:14px;border:1px solid #e5b8ce;background:linear-gradient(140deg,#efbfd5,#d8a3c3);color:#68344f;font-size:16px;font-weight:800;box-shadow:inset 0 1px 0 #ffffff70,0 3px 8px #68334d10}
body[data-mode="chat"] #people-panel .user-row>.user-avatar-shade-1{background:linear-gradient(140deg,#e0d3f7,#c3b0df);border-color:#d0bde8;color:#56416f}
body[data-mode="chat"] #people-panel .user-row>.user-avatar-shade-2{background:linear-gradient(140deg,#f5d8c7,#e7bacb);border-color:#e5bfd0;color:#784454}
body[data-mode="chat"] #people-panel .user-row>.user-avatar-shade-3{background:linear-gradient(140deg,#d9e4f8,#c1b8df);border-color:#cbbfdf;color:#4e4e75}
body[data-mode="chat"] #people-panel .user-details{flex:1;min-width:0}
body[data-mode="chat"] #people-panel .user-identity{display:flex;align-items:center;flex-wrap:wrap;gap:6px}
body[data-mode="chat"] #people-panel .user-identity .nick-btn{max-width:100%;padding:0;margin:0;font-size:13px;line-height:1.5;font-weight:750;color:#66334f;overflow-wrap:anywhere}
body[data-mode="chat"] #people-panel .user-identity button.nick-btn:hover{color:#ad3e77;text-decoration:underline;text-underline-offset:3px}
body[data-mode="chat"] #people-panel .gender-symbol{width:21px;height:21px;margin:0;border-radius:7px;font-size:17px;flex-shrink:0}
body[data-mode="chat"] #people-panel .self-label{padding:2px 6px;border-radius:6px;background:#e9ccdf;color:#794264;font-size:9px;font-weight:750;line-height:1.5}
body[data-mode="chat"] #people-panel .user-info{display:flex;flex-direction:column;align-items:flex-start;gap:6px;margin-top:5px;min-width:0}
body[data-mode="chat"] #people-panel .user-info small{margin:0;font-size:11px;line-height:1.55;color:#806278;overflow-wrap:anywhere}
body[data-mode="chat"] #people-panel .user-room-label{display:inline-block;max-width:100%;padding:3px 7px;border:1px solid #eedde8;border-radius:7px;background:#fbf3f9;color:#895d78;font-size:10px;line-height:1.4;overflow-wrap:anywhere}
body[data-mode="chat"] #people-panel .user-tools{display:flex;flex-wrap:wrap;gap:7px;margin-top:11px}
body[data-mode="chat"] #people-panel .user-tools .user-tool{display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:6px 9px;border:1px solid #e7ccdc;border-radius:9px;background:#fff;color:#8a4b6e;font-size:10px;font-weight:650;line-height:1.4}
body[data-mode="chat"] #people-panel .user-tools .user-tool:hover{background:#f8e8f2;border-color:#d299b9}
body[data-mode="chat"] #people-panel .user-tools .report-tool{color:#8a6376;background:#fcf7fa;border-color:#eddee7}
body[data-mode="chat"] #people-panel .user-blocked-label{display:inline-block;margin-top:7px;padding:2px 6px;border-radius:6px;background:#f4e8ed;color:#8d586f;font-size:10px;font-weight:600}
@media(max-width:780px){body[data-mode="chat"] #people-panel .user-row{padding:14px 12px;gap:12px}body[data-mode="chat"] #people-panel .user-identity .nick-btn{font-size:14px}body[data-mode="chat"] #people-panel .user-tools .user-tool{min-height:38px;font-size:11px;padding:8px 10px}}

/* Einheitliche Symbole und ruhige Chat-Bedienelemente. */
body[data-mode="chat"] .chat-heading{background:linear-gradient(110deg,#fffafd,#f7f0f8);border-bottom:1px solid #e9d8e5}
body[data-mode="chat"] .chat-heading .eyebrow{color:#955575;font-weight:750;letter-spacing:1.2px}
body[data-mode="chat"] .chat-heading h2{color:#60344f;font-weight:780}
body[data-mode="chat"] .chat-heading #toggle-users{background:linear-gradient(135deg,#f9e9f2,#f1e3f2);border-color:#dfb9d0;color:#813f64;box-shadow:0 2px 6px #64324c08}
body[data-mode="chat"] .chat-heading #close-chat{background:#fff9fc;border-color:#e7c7d9;color:#a54c78;border-radius:11px;box-shadow:0 2px 6px #64324c06}
body[data-mode="chat"] #close-chat svg{display:block;width:19px;height:19px}
body[data-mode="chat"] .composer-area{background:#fffbfe;border-top:1px solid #eadce7}
body[data-mode="chat"] #message-form{border-top:0}
body[data-mode="chat"] #message-form #message{background:#fff;border-color:#e4cddd;color:#53384c;border-radius:13px;box-shadow:inset 0 1px 2px #5e2e4903}
body[data-mode="chat"] #message-form #message::placeholder{color:#96778c;opacity:1}
body[data-mode="chat"] #message-form #message:focus{border-color:#be749c;box-shadow:0 0 0 3px #a9477a0d}
body[data-mode="chat"] #message-form .icon-btn{display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid #e8ccdd;border-radius:11px;background:linear-gradient(140deg,#fff8fc,#f3e6f0);color:#975078;box-shadow:0 2px 5px #64324c06;cursor:pointer}
body[data-mode="chat"] #message-form .icon-btn svg{display:block;width:21px;height:21px;flex-shrink:0}
body[data-mode="chat"] #message-form .icon-btn:hover{background:#f3dfea;border-color:#d89aba;color:#80325e}
body[data-mode="chat"] #message-form #emoji[aria-expanded="true"]{background:#edd0e1;border-color:#bc759c;color:#743052}
body[data-mode="chat"] #message-form .primary{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid #9d3e70;border-radius:11px;background:linear-gradient(115deg,#ad447d,#7f365f);color:#fff9fd;font-weight:750;font-size:12px;line-height:1;box-shadow:0 3px 9px #8b38651c}
body[data-mode="chat"] #message-form .primary svg{display:block;width:17px;height:17px;flex-shrink:0}
body[data-mode="chat"] #message-form .primary:hover{background:linear-gradient(115deg,#b64a85,#8b3b69);filter:none}
body[data-mode="chat"] #message-form button:disabled{cursor:wait;opacity:.55;box-shadow:none}
body[data-mode="chat"] #message-form button:focus-visible{outline:3px solid #b35b8e;outline-offset:3px}
body[data-mode="chat"] .composer-note{background:#fffbfe;color:#8b6981}
@media(max-width:780px){body[data-mode="chat"] #message-form .primary{gap:6px;font-size:12px}body[data-mode="chat"] #message-form .icon-btn{border-radius:10px}}

/* Private Bilder: ruhiger Rahmen und feste Bedienelemente der Großansicht. */
body[data-mode="chat"] #messages .bubble:has(>.image-open){padding:6px;border-radius:17px}
body[data-mode="chat"] #messages .bubble:has(>.image-open)>div{padding:6px 7px 4px}
body[data-mode="chat"] #messages .image-open{position:relative;display:block;width:fit-content;max-width:100%;overflow:hidden;border:1px solid #d9c8d680;border-radius:12px;background:#281d30;box-shadow:0 2px 7px #2010240c;line-height:0}
body[data-mode="chat"] #messages .image-open .chat-image{display:block;width:auto;height:auto;max-width:100%;max-height:300px;object-fit:contain;border-radius:0;margin:0}
body[data-mode="chat"] #messages .image-open::after{content:"Vergrößern ↗";position:absolute;right:7px;bottom:7px;padding:5px 8px;border:1px solid #ffffff20;border-radius:8px;background:#211529d9;color:#fff5fc;font-size:10px;font-weight:600;line-height:1.3;pointer-events:none}
body[data-mode="chat"] #messages .image-open:focus-visible{outline:3px solid #bd6898;outline-offset:3px}
body[data-mode="chat"] #image-dialog{box-sizing:border-box;width:min(1040px,calc(100vw - 28px));height:min(800px,calc(100svh - 36px));max-width:calc(100vw - 28px);max-height:calc(100svh - 36px);padding:0;overflow:hidden;border:1px solid #86617e;border-radius:20px;background:#1d1424;color:#f8eaf4;box-shadow:0 24px 100px #0b061a80}
body[data-mode="chat"] #image-dialog[open]{display:grid;grid-template-rows:64px minmax(0,1fr)}
body[data-mode="chat"] #image-dialog::backdrop{background:#130c1fe8;backdrop-filter:blur(5px)}
body[data-mode="chat"] #image-dialog .image-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;min-width:0;height:64px;margin:0;padding:10px 14px 10px 20px;background:linear-gradient(110deg,#312036,#25182d);border-bottom:1px solid #ffffff12;color:#f3deed;font-size:13px;font-weight:650}
body[data-mode="chat"] #close-image-dialog{display:grid;place-items:center;width:44px;height:44px;min-width:44px;padding:0;flex-shrink:0;border:1px solid #d5b4cb4d;border-radius:12px;background:#ffffff0b;color:#f7e5f1;cursor:pointer}
body[data-mode="chat"] #close-image-dialog svg{display:block;width:23px;height:23px}
body[data-mode="chat"] #close-image-dialog:hover{background:#ffffff1a;border-color:#e2b3d0}
body[data-mode="chat"] #close-image-dialog:focus-visible{outline:3px solid #efb2d2;outline-offset:2px}
body[data-mode="chat"] #image-dialog .image-viewer-stage{display:grid;place-items:center;min-height:0;min-width:0;padding:16px;overflow:hidden;background:radial-gradient(ellipse at center,#302039,#1b1322 80%)}
body[data-mode="chat"] #image-dialog #preview-image{display:block;min-width:0;min-height:0;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;margin:0;border-radius:8px;box-shadow:0 6px 30px #09051255}
body[data-mode="chat"] #image-dialog #preview-error{max-width:360px;padding:20px;line-height:1.7;color:#f1cede;text-align:center;font-size:14px;background:#ffffff08;border:1px solid #c59bb12b;border-radius:14px}
@media(max-width:780px){body[data-mode="chat"] #messages .image-open .chat-image{max-height:250px}body[data-mode="chat"] #image-dialog{width:calc(100vw - 20px);max-width:calc(100vw - 20px);height:calc(var(--chat-visible-height,100svh) - 24px);max-height:calc(var(--chat-visible-height,100svh) - 24px);border-radius:16px}body[data-mode="chat"] #image-dialog .image-viewer-stage{padding:10px}body[data-mode="chat"] #image-dialog .image-dialog-heading{padding-left:15px}}

/* Dezente Hinweise ohne Änderung der Chat-Aufteilung. */
body[data-mode] #toast{position:fixed;top:calc(14px + env(safe-area-inset-top,0px));bottom:auto;left:50%;right:auto;transform:translateX(-50%);z-index:100;display:grid;grid-template-columns:30px minmax(0,1fr) 30px;align-items:center;gap:11px;width:max-content;max-width:min(520px,calc(100vw - 24px));max-height:calc(100svh - 30px);overflow-y:auto;padding:12px 14px;border:1px solid #e3bfd4;border-radius:15px;background:#fffafd;color:#653c56;box-shadow:0 10px 35px #25132e2b;font-size:13px;line-height:1.55}
body[data-mode] #toast .toast-icon{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:#f2dfed;color:#955079}
body[data-mode] #toast .toast-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
body[data-mode] #toast .toast-message{min-width:0;overflow-wrap:anywhere}
body[data-mode] #toast .toast-close{display:grid;place-items:center;width:30px;height:34px;padding:0;border:0;border-radius:9px;background:transparent;color:#956b86;font-size:24px;line-height:1;cursor:pointer}
body[data-mode] #toast .toast-close:hover{background:#f5e6ef;color:#743354}
body[data-mode] #toast[data-kind="success"] .toast-icon{background:#e7f1ed;color:#3b7b62}
body[data-mode] #toast[data-kind="error"]{border-color:#dcabc1;background:#fff8fb}
body[data-mode] #toast[data-kind="error"] .toast-icon{background:#f9e0e9;color:#b04e72}
body[data-mode="chat"] #connection{display:flex;align-items:center;gap:7px;min-width:0;overflow:hidden;white-space:nowrap}
body[data-mode="chat"] #connection::before{content:"";width:6px;height:6px;flex:0 0 6px;border-radius:50%;background:#b491a8}
body[data-mode="chat"] #connection[data-state="connected"]::before{background:#5a9c81}
body[data-mode="chat"] #connection[data-state="retry"]::before{background:#bb7a54}
body[data-mode="chat"] #connection .connection-label{min-width:0;overflow:hidden;text-overflow:ellipsis;flex-shrink:1}
body[data-mode="chat"] #connection .connection-detail{padding-left:7px;border-left:1px solid #d9bfd0;overflow:hidden;text-overflow:ellipsis;color:#8b6981}
body[data-mode="chat"] #connection[data-state="retry"]{color:#8b5a47}
@media(max-width:780px){body[data-mode] #toast{gap:8px;padding:10px 11px;font-size:12px;border-radius:13px}body[data-mode="chat"] #connection{gap:6px}}

/* Verfeinertes Namensschild ausschließlich im privaten Chatkopf. */
body[data-mode="chat"] .chat-heading #chat-title.private-nameplate{padding:3px 14px 3px 36px;border:1px solid #e4c4d8;border-radius:99px;background:linear-gradient(115deg,#fffafd 0%,#f9edf5 65%,#f1e9f6 100%);color:#733657;font-size:18px;font-weight:750;line-height:22px;letter-spacing:.1px;box-shadow:inset 0 1px 0 #ffffff,0 2px 7px #7b3c5f0d;text-shadow:none}
body[data-mode="chat"] .chat-heading #chat-title.private-nameplate::before{content:"";position:absolute;left:7px;top:50%;width:22px;height:22px;transform:translateY(-50%);border:1px solid #edcfdf;border-radius:50%;background-color:#f6e2ee;background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23aa4878%22%20stroke-width%3D%221.8%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M20.4%204.8a5.2%205.2%200%200%200-7.4%200L12%205.9l-1.1-1.1a5.2%205.2%200%200%200-7.4%207.4L12%2021l8.4-8.8a5.2%205.2%200%200%200%200-7.4Z%22%2F%3E%3C%2Fsvg%3E");background-size:13px 13px;background-position:center;background-repeat:no-repeat;box-sizing:border-box;box-shadow:inset 0 1px 0 #ffffff70}
@media(max-width:780px){body[data-mode="chat"] .chat-heading #chat-title.private-nameplate{padding:2px 12px 2px 31px;font-size:16px;line-height:19px;border-radius:99px}body[data-mode="chat"] .chat-heading #chat-title.private-nameplate::before{left:5px;width:19px;height:19px;background-size:11px 11px}}

/* Admin-Startübersicht; ausschließlich Verwaltungsansicht. */
body[data-mode="admin"] .admin-title{min-height:160px;padding:28px 32px;margin-bottom:24px;background:linear-gradient(115deg,#301c32,#60304f)}
body[data-mode="admin"] .stats{gap:15px}
body[data-mode="admin"] .stat{padding:21px 20px;min-height:155px;border:1px solid #e8dce5;border-radius:18px;background:linear-gradient(140deg,#fff,#fdf9fc);box-shadow:0 5px 18px #48253c06}
body[data-mode="admin"] .stat:before,body[data-mode="admin"] .stat:after{display:none}
body[data-mode="admin"] .admin-stat-icon{display:grid;place-items:center;width:34px;height:34px;float:right;border:1px solid #efd4e3;border-radius:11px;background:#f8eaf2;color:#9d527b}
body[data-mode="admin"] .admin-stat-icon svg{display:block;width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
body[data-mode="admin"] .stat small{display:block;margin:2px 40px 10px 0;font-size:11px;font-weight:650;color:#816078;line-height:1.5}
body[data-mode="admin"] .stat strong{display:block;font-size:34px;line-height:1.2;letter-spacing:-1px;color:#63334f}
body[data-mode="admin"] .admin-stat-description{font-size:10px;color:#887182;line-height:1.6;margin-top:9px}
body[data-mode="admin"] .stat.needs-attention{border-color:#dbadc7;background:linear-gradient(135deg,#fff8fc,#faecf4)}
body[data-mode="admin"] .stat.needs-attention .admin-stat-icon{background:#f2d7e7;border-color:#e9bdd5;color:#a34072}
body[data-mode="admin"] .admin-overview-intro{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:25px;border:1px solid #e8d8e3;border-radius:18px;background:linear-gradient(115deg,#fff,#f8eff7);margin-bottom:22px}
body[data-mode="admin"] .admin-overview-kicker{font-size:9px;letter-spacing:1.6px;font-weight:750;color:#a06387}
body[data-mode="admin"] .admin-overview-intro h2{font-size:23px;line-height:1.3;letter-spacing:-.6px;color:#59334c;margin:8px 0 11px}
body[data-mode="admin"] #admin-summary{font-size:13px;line-height:1.7;color:#7e5b71}
body[data-mode="admin"] .admin-updated{font-size:10px;line-height:1.7;color:#8f7688;margin-top:10px}
body[data-mode="admin"] .admin-updated[data-state="error"]{color:#a14765}
body[data-mode="admin"] .admin-quick-actions{display:flex;flex-direction:column;gap:8px;flex:0 0 230px}
body[data-mode="admin"] .admin-quick-actions button{min-height:40px;padding:10px 13px;text-align:left;white-space:normal;line-height:1.5;font-size:11px;border-radius:10px}
body[data-mode="admin"] .admin-quick-actions .primary{background:linear-gradient(115deg,#a64779,#79365f);border:1px solid #96456e;box-shadow:0 3px 10px #76314f14}
body[data-mode="admin"] .admin-quick-actions .secondary{background:#fff9fd;border:1px solid #e7cddd;color:#85506f}
body[data-mode="admin"] #admin-users-panel,body[data-mode="admin"] #admin-reports-panel{scroll-margin-top:20px}
body[data-mode="admin"] .panel>.muted{margin-bottom:15px;font-size:11px;color:#84677c}
body[data-mode="admin"] .admin-tabs button:nth-child(5):before{content:"05"}
@media(max-width:1100px){body[data-mode="admin"] .admin-overview-intro{align-items:stretch;flex-direction:column;gap:18px}body[data-mode="admin"] .admin-quick-actions{flex-basis:auto;display:grid;grid-template-columns:1fr 1fr}body[data-mode="admin"] .admin-quick-actions .primary{grid-column:1/-1}}
@media(max-width:780px){body[data-mode="admin"] .admin-title{padding:24px;min-height:0}body[data-mode="admin"] .admin-title h1{font-size:26px}body[data-mode="admin"] .stat{padding:16px 13px;min-height:150px}body[data-mode="admin"] .stats{gap:10px}body[data-mode="admin"] .stat small{font-size:10px;margin-right:30px}body[data-mode="admin"] .admin-stat-icon{width:28px;height:28px;border-radius:9px}body[data-mode="admin"] .admin-stat-icon svg{width:18px;height:18px}body[data-mode="admin"] .stat strong{font-size:30px}body[data-mode="admin"] .admin-overview-intro{padding:21px}body[data-mode="admin"] .admin-overview-intro h2{font-size:21px}}
@media(max-width:380px){body[data-mode="admin"] .admin-quick-actions{grid-template-columns:1fr}body[data-mode="admin"] .admin-stat-icon{float:none;margin-bottom:8px}body[data-mode="admin"] .stat small{margin-right:0}}

/* Rechtliche Informationen: Admin-Eingaben und öffentliche Seiten. */
body[data-mode="admin"] .legal-admin-form fieldset{min-width:0;margin:24px 0;padding:20px;border:1px solid #e6d6e2;border-radius:14px;background:#fffcfe}
body[data-mode="admin"] .legal-admin-form legend{padding:0 8px;color:#794568;font-weight:750;font-size:14px}
body[data-mode="admin"] .legal-admin-warning{padding:15px;border:1px solid #e7c7d6;border-radius:12px;background:#fff3f8;color:#85556d;font-size:12px;line-height:1.7;margin-top:16px}
body[data-mode="admin"] .legal-admin-form a{color:#9b4576;font-size:12px;text-decoration:underline;text-underline-offset:3px}
body[data-mode="admin"] .legal-admin-save{padding-top:8px}
footer nav{flex-wrap:wrap;align-items:center}
body[data-mode="chat"] footer nav a{display:inline-flex;align-items:center;min-height:30px;font-size:11px;color:#ecc7dc;text-underline-offset:3px}
body[data-mode="chat"] footer nav a:hover{text-decoration:underline;color:#fff5fa}
.notice-links a{font-size:12px;color:#a34572;text-decoration:underline}

.legal-dialog-links{display:flex;flex-direction:column;gap:10px;white-space:normal}
.legal-dialog-links a{display:block;padding:12px 14px;border:1px solid #e7ccdd;border-radius:10px;color:#85456b;background:#fff6fc;text-decoration:none;line-height:1.5}
body[data-mode="legal"]{color-scheme:light;margin:0;min-height:100svh;background:linear-gradient(140deg,#25172f,#47253d);color:#fff2fa;font:15px/1.7 system-ui,-apple-system,"Segoe UI",sans-serif}
.legal-top{width:min(1000px,calc(100% - 32px));margin:auto;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 0}
.legal-top img{display:block;width:180px;max-width:45vw;height:auto}
.legal-top>a:last-child{color:#f3cfdf;font-size:12px;text-decoration:underline;text-underline-offset:3px}
.legal-page{width:min(900px,calc(100% - 32px));box-sizing:border-box;margin:20px auto;padding:clamp(22px,4vw,44px);border:1px solid #efd9e5;border-radius:22px;background:#fffafd;color:#603b53;box-shadow:0 18px 60px #12081940}
.legal-eyebrow{color:#ac7194;font-size:10px;letter-spacing:1.5px;font-weight:700}
.legal-page h1{font-size:clamp(26px,4vw,36px);line-height:1.25;letter-spacing:-.7px;margin:12px 0 28px;color:#67334f;overflow-wrap:anywhere}
.legal-document{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.9;font-size:14px;color:#705269}
.legal-mail{display:inline-block;margin-top:22px;padding:11px 17px;border-radius:11px;background:#8c3d68;color:#fff6fb;font-weight:650}
.legal-navigation{width:min(900px,calc(100% - 32px));margin:0 auto 30px;display:flex;flex-wrap:wrap;gap:9px 20px;align-items:center}
.legal-navigation a{color:#efd0e1;font-size:12px;min-height:28px;line-height:28px;text-decoration:underline;text-underline-offset:3px}
.legal-navigation a[aria-current="page"]{color:#fff;font-weight:750}
@media(max-width:460px){body[data-mode="admin"] .legal-admin-form fieldset{padding:14px}.legal-page{margin-top:8px}.legal-top{padding-top:8px}}

/* Je Rechtsbereich genau ein Textfeld, durchgehend eine Spalte. */
body[data-mode="admin"] .legal-simple-editor .legal-editor-area{display:block;margin:24px 0;padding:21px;border:1px solid #e9d7e3;border-radius:14px;background:#fffcfe;min-width:0}
body[data-mode="admin"] .legal-simple-editor .legal-editor-area>label{display:block;margin:0 0 11px;color:#744360;font-size:15px;font-weight:750;line-height:1.5}
body[data-mode="admin"] .legal-simple-editor .legal-editor-area>textarea{display:block;width:100%;min-height:180px;max-height:650px;resize:vertical;font-size:14px;line-height:1.7;padding:15px;background:#fff}
body[data-mode="admin"] .legal-simple-editor #legal-edit-privacy{min-height:300px}
body[data-mode="admin"] .legal-simple-editor #legal-edit-cookie_notice{min-height:130px}
body[data-mode="admin"] .legal-simple-editor .legal-editor-area>.muted{margin:9px 0;color:#8d7486;font-size:11px}
@media(max-width:780px){body[data-mode="admin"] .legal-simple-editor .legal-editor-area{padding:15px}body[data-mode="admin"] .legal-simple-editor .legal-editor-area>textarea{font-size:16px;padding:12px}}

/* Schlichter mobiler Footer mit frei umbrechenden Textlinks. */
@media(max-width:780px){
 body:is([data-mode="chat"],[data-mode="legal"])>footer{flex-direction:column;align-items:stretch;gap:8px;margin:12px 24px 0;padding:12px 0 calc(12px + env(safe-area-inset-bottom,0px));}
 body:is([data-mode="chat"],[data-mode="legal"])>footer nav{order:0;display:flex;flex-wrap:wrap;justify-content:center;column-gap:14px;row-gap:0;min-width:0;align-items:center;}
 body:is([data-mode="chat"],[data-mode="legal"])>footer nav a{display:flex;align-items:center;justify-content:flex-start;min-width:0;min-height:28px;padding:3px 0;border:0;border-radius:0;background:none;box-shadow:none;color:#ebcbdc;font-size:12px;font-weight:400;line-height:1.5;text-align:left;overflow-wrap:break-word;text-underline-offset:4px;}
 body:is([data-mode="chat"],[data-mode="legal"])>footer nav a:hover{background:none;color:#fff;text-decoration:underline;}
 body:is([data-mode="chat"],[data-mode="legal"])>footer>span{order:1;display:block;padding-top:7px;border-top:1px solid #ffe6f018;text-align:center;font-size:10px;line-height:1.7;color:#dcc2d1;}
}

/* Helle Footer-Schrift auf dem Skyline-Hintergrund, für alle Bildschirmgrößen. */
body:is([data-mode="chat"],[data-mode="legal"])>footer nav a{color:#fff7fc;text-shadow:0 1px 4px #120914,0 2px 10px #12091499;}
body:is([data-mode="chat"],[data-mode="legal"])>footer>span{color:#f4e7ef;text-shadow:0 1px 4px #120914,0 2px 10px #12091499;}
body:is([data-mode="chat"],[data-mode="legal"])>footer nav a:hover,body:is([data-mode="chat"],[data-mode="legal"])>footer nav a:focus-visible{color:#fff;}

/* Hintergrundflaeche bleibt beim Ein-/Ausblenden der mobilen Browserleiste gleich gross. */
@media(max-width:1366px) and (any-pointer:coarse){
 body[data-mode="chat"]::before{position:fixed;inset:0 0 auto;height:100vh;height:100lvh;min-height:0;pointer-events:none;transform:translateZ(0);backface-visibility:hidden;}
}

/* Mobiler Footer: klarer Kontrast zur Skyline, weiterhin reine Textlinks. */
@media(max-width:780px){
 body:is([data-mode="chat"],[data-mode="legal"])>footer{margin:10px 0 0;padding:10px 18px calc(10px + env(safe-area-inset-bottom,0px));background:#291226;border-top:1px solid #63334e;}
 body:is([data-mode="chat"],[data-mode="legal"])>footer nav a{color:#fff1f7;font-size:11px;font-weight:400;text-shadow:none;}
 body:is([data-mode="chat"],[data-mode="legal"])>footer>span{color:#e0c4d4;font-size:9px;line-height:1.5;text-shadow:none;border-top-color:#63334e;}
}

/* Unterseiten nutzen denselben Footer und dieselbe Linkreihenfolge wie die Startseite. */
body[data-mode="legal"]{display:flex;flex-direction:column;}
body[data-mode="legal"]>footer{width:100%;margin-top:auto;flex-shrink:0;}
body[data-mode="legal"]>footer nav a{display:inline-flex;align-items:center;min-height:30px;font-size:11px;color:#fff7fc;text-underline-offset:3px;}
body[data-mode="legal"]>footer nav a:hover{text-decoration:underline;color:#fff;}
body[data-mode="legal"]>footer nav a[aria-current="page"]{text-decoration:underline;}
@media(max-width:780px){
 body[data-mode="legal"]>footer nav a{min-height:28px;color:#fff1f7;}
}

/* Startseite: gerade Kanten und klare Boxen, auf Desktop und Handy. */
body[data-mode="chat"] .landing .intro,
body[data-mode="chat"] .landing .join-card,
body[data-mode="chat"] .landing .how-it-works,
body[data-mode="chat"] .landing .intro-tags span,
body[data-mode="chat"] .landing .intro-note,
body[data-mode="chat"] .landing .feature-icon,
body[data-mode="chat"] .landing .pill,
body[data-mode="chat"] .landing input,
body[data-mode="chat"] .landing select,
body[data-mode="chat"] .landing button.primary,
body[data-mode="chat"] .landing button.secondary{border-radius:0;}
body[data-mode="chat"] .landing .intro,
body[data-mode="chat"] .landing .join-card,
body[data-mode="chat"] .landing .how-it-works{box-shadow:none;}
body[data-mode="chat"] .landing .join-card .primary{box-shadow:none;}
body[data-mode="chat"] .landing .join-card .primary:hover{box-shadow:none;}

/* Startseite: vertraute Systemschrift ohne externe Font-Dateien. */
body[data-mode="chat"] .landing,
body[data-mode="chat"] .landing input,
body[data-mode="chat"] .landing select,
body[data-mode="chat"] .landing textarea,
body[data-mode="chat"] .landing button{font-family:Arial,Helvetica,sans-serif;}
body[data-mode="chat"] .landing .intro h1{font-weight:600;letter-spacing:normal;}
body[data-mode="chat"] .landing .join-card h2,
body[data-mode="chat"] .landing .how-it-works h3{font-weight:600;letter-spacing:normal;}
body[data-mode="chat"] .landing .eyebrow,
body[data-mode="chat"] .landing .pill{letter-spacing:normal;}
body[data-mode="chat"] .landing label,
body[data-mode="chat"] .landing .intro-tags span,
body[data-mode="chat"] .landing .intro-note strong{font-weight:500;}

/* Lobby und Privatgespraeche: kantige Boxen und Arial wie auf der Startseite. */
body[data-mode="chat"] #chat,
body[data-mode="chat"] #chat button,
body[data-mode="chat"] #chat input,
body[data-mode="chat"] #chat textarea,
body[data-mode="chat"] #chat select,
body[data-mode="chat"] dialog,
body[data-mode="chat"] dialog button,
body[data-mode="chat"] dialog input,
body[data-mode="chat"] dialog textarea{font-family:Arial,Helvetica,sans-serif;}
body[data-mode="chat"] #chat{border-radius:0;box-shadow:0 8px 28px #180c2026;}
body[data-mode="chat"] #chat .chat-heading h2{font-weight:600;letter-spacing:normal;}
body[data-mode="chat"] #chat .sidebar-heading,
body[data-mode="chat"] #chat .eyebrow{letter-spacing:normal;}
body[data-mode="chat"] #chat :is(button,input,textarea,select,.welcome,.image-preview,.emoji-picker,.people-panel),
body[data-mode="chat"] #chat .chat-heading #chat-title.private-nameplate,
body[data-mode="chat"] #chat #messages .bubble,
body[data-mode="chat"] #chat #messages .own .bubble,
body[data-mode="chat"] #chat #messages .bubble:has(>.image-open),
body[data-mode="chat"] #chat #messages .chat-image{border-radius:0;}
body[data-mode="chat"] #chat #messages .bubble{background:#fffafd;box-shadow:none;}
body[data-mode="chat"] #chat #messages .own .bubble{background:#913b67;box-shadow:none;}
body[data-mode="chat"] #chat .chat-heading #chat-title.private-nameplate{background:#f9edf5;box-shadow:none;font-weight:600;letter-spacing:normal;}

/* Desktop: Chat exakt in die verfuegbare Fensterhoehe einpassen. */
@media(min-width:781px){
 html:has(body[data-mode="chat"] #chat:not([hidden])){height:100%;overflow:hidden;}
 body[data-mode="chat"]:has(#chat:not([hidden])){display:flex;flex-direction:column;height:100dvh;min-height:0;overflow:hidden;}
 body[data-mode="chat"]:has(#chat:not([hidden]))>.topbar{width:100%;flex:0 0 auto;}
 body[data-mode="chat"]:has(#chat:not([hidden]))>#chat{flex:1 1 0;min-height:0;height:auto;max-height:none;width:calc(100% - 48px);margin:12px auto;}
}

/* Wiedererkennbare lokale Avatare, farblich auf das Portal abgestimmt. */
body[data-mode="chat"] #chat .chat-avatar{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex:0 0 36px;overflow:hidden;border:1px solid #d9c4d3;border-radius:0;background:#ead8e7;box-shadow:none;vertical-align:middle;}
body[data-mode="chat"] #chat .chat-avatar img{display:block;width:100%;height:100%;object-fit:cover;}
body[data-mode="chat"] #chat #messages .message-avatar{width:28px;height:28px;flex-basis:28px;}
body[data-mode="chat"] #chat #messages .message-meta{min-height:28px;align-items:center;}
body[data-mode="chat"] #chat #messages .join-event{display:flex;align-items:center;gap:10px;line-height:1.5;}
body[data-mode="chat"] #chat #messages .join-event .join-avatar{width:30px;height:30px;flex-basis:30px;}
body[data-mode="chat"] #chat #messages .join-event>span:last-child{min-width:0;overflow-wrap:anywhere;}
body[data-mode="chat"] #chat #my-avatar{padding:0;background:none;border:0;box-shadow:none;border-radius:0;}
body[data-mode="chat"] #chat #my-avatar .chat-avatar{width:100%;height:100%;}
@media(max-width:780px){body[data-mode="chat"] #chat #conversations .chat-avatar{width:30px;height:30px;flex-basis:30px;}}

/* Private Namensbox: derselbe Avatar wie bei Nachrichten und in der Nutzerliste. */
body[data-mode="chat"] #chat .chat-heading #chat-title.private-nameplate{display:inline-flex;align-items:center;gap:9px;min-width:0;max-width:100%;padding:4px 10px 4px 4px;font-size:17px;line-height:1.35;vertical-align:middle;}
body[data-mode="chat"] #chat .chat-heading #chat-title.private-nameplate::before{content:none;display:none;}
body[data-mode="chat"] #chat .chat-heading #chat-title .private-header-avatar{width:28px;height:28px;flex:0 0 28px;}
body[data-mode="chat"] #chat .chat-heading #chat-title .private-header-name{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
@media(max-width:780px){
 body[data-mode="chat"] #chat .chat-heading #chat-title.private-nameplate{gap:7px;padding:3px 8px 3px 3px;font-size:15px;}
 body[data-mode="chat"] #chat .chat-heading #chat-title .private-header-avatar{width:24px;height:24px;flex-basis:24px;}
}

/* Privat-Chat: Avatar und Name reichen als Gespraechskopf. */
body[data-mode="chat"] #chat .chat-heading:has(#chat-title.private-nameplate) #chat-type{display:none;}

/* Runde Nachrichtenblasen mit innenliegenden Lesebestaetigungen. */
body[data-mode="chat"] #chat #messages .bubble{border-radius:7px 18px 18px 18px;}
body[data-mode="chat"] #chat #messages .own .bubble{border-radius:18px 7px 18px 18px;}
body[data-mode="chat"] #chat #messages .bubble:has(>.image-open){border-radius:17px;}
body[data-mode="chat"] #chat #messages .bubble .image-open{border-radius:12px;}
body[data-mode="chat"] #chat #messages .bubble .chat-image{border-radius:10px;}
body[data-mode="chat"] #chat #messages .own .bubble .read-receipt{display:block;width:max-content;max-width:100%;margin:5px 0 0 auto;padding:0;line-height:1;color:#d8ccd5;}
body[data-mode="chat"] #chat #messages .own .bubble .read-receipt.is-read{color:#78ccff;}

/* Kompakte Blasen: Text plus Uhrzeit/Haken nebeneinander, mit sicherem Umbruch. */
body[data-mode="chat"] #chat #messages .bubble{display:flex;flex-wrap:wrap;align-items:flex-end;gap:2px 8px;width:fit-content;max-width:100%;padding:8px 11px;line-height:1.5;}
body[data-mode="chat"] #chat #messages .bubble>.message-text{flex:0 1 auto;min-width:0;max-width:100%;white-space:pre-wrap;overflow-wrap:anywhere;}
body[data-mode="chat"] #chat #messages .bubble>.bubble-status{display:inline-flex;align-items:center;justify-content:flex-end;flex:0 0 auto;gap:4px;margin:0 0 0 auto;padding:0;min-height:15px;white-space:nowrap;line-height:1;color:#8c7384;}
body[data-mode="chat"] #chat #messages .own .bubble>.bubble-status{color:#e4d4df;}
body[data-mode="chat"] #chat #messages .bubble .bubble-status time{font-size:10px;font-weight:400;line-height:15px;}
body[data-mode="chat"] #chat #messages .own .bubble .bubble-status .read-receipt{display:inline-flex;align-items:center;margin:0;padding:0;width:auto;max-width:none;}
body[data-mode="chat"] #chat #messages .bubble .bubble-status .read-receipt svg{width:19px;height:13px;}
body[data-mode="chat"] #chat #messages .bubble:has(>.image-open){display:block;padding:6px;}
body[data-mode="chat"] #chat #messages .bubble:has(>.image-open)>.bubble-status{display:flex;width:max-content;max-width:100%;margin:3px 4px 1px auto;}

/* Laptop/Desktop: eigene Blasen kompakt und rechts unter dem Absender halten. */
@media(min-width:781px){
 body[data-mode="chat"] #chat #messages .message.own{display:flex;flex-direction:column;align-items:flex-end;align-self:flex-end;width:fit-content;min-width:0;max-width:86%;}
 body[data-mode="chat"] #chat #messages .message.own>.message-meta{max-width:100%;justify-content:flex-end;}
 body[data-mode="chat"] #chat #messages .message.own>.bubble{align-self:flex-end;width:fit-content;min-width:0;max-width:100%;padding:8px 11px;line-height:1.5;}
 body[data-mode="chat"] #chat #messages .message.own>.bubble:has(>.image-open){padding:6px;}
}

/* Bildzoom bleibt innerhalb der Vorschau; der Chat im Hintergrund behaelt seine Groesse. */
body[data-mode="chat"] #image-dialog .image-viewer-stage{touch-action:none;overscroll-behavior:contain;position:relative;isolation:isolate;}
body[data-mode="chat"] #image-dialog #preview-image{transform-origin:center;user-select:none;-webkit-user-select:none;-webkit-user-drag:none;touch-action:none;transition:none;}
body[data-mode="chat"] #image-dialog .image-is-zoomed{cursor:grab;}
body[data-mode="chat"] #image-dialog .image-is-zoomed:active{cursor:grabbing;}
body[data-mode="chat"] #image-dialog .image-dialog-heading{position:relative;z-index:2;gap:8px;}
body[data-mode="chat"] #image-dialog .image-zoom-controls{display:flex;align-items:center;gap:4px;margin-left:auto;}
body[data-mode="chat"] #image-dialog .image-zoom-controls button{min-width:34px;height:36px;padding:0 7px;border:1px solid #d5b4cb4d;border-radius:4px;background:#ffffff0b;color:#f7e5f1;line-height:1;font:16px Arial,Helvetica,sans-serif;touch-action:manipulation;}
body[data-mode="chat"] #image-dialog #image-zoom-reset{min-width:58px;font-size:11px;}
body[data-mode="chat"] #image-dialog .image-zoom-controls button:disabled{opacity:.4;cursor:default;}
body[data-mode="chat"] #close-image-dialog{touch-action:manipulation;}
@media(max-width:360px){body[data-mode="chat"] #image-dialog .image-dialog-heading{padding-left:10px;font-size:11px;}body[data-mode="chat"] #image-dialog .image-zoom-controls{gap:3px;}body[data-mode="chat"] #image-dialog .image-zoom-controls button{min-width:30px;padding:0 5px;}}

/* Neue Lobby-Nachrichten waehrend eines privaten Gespraechs. */
body[data-mode="chat"] #chat #rooms .room-button .lobby-unread-badge{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:19px;height:19px;margin-left:auto;padding:0 4px;border:1px solid #ff8c9d;border-radius:10px;background:#bd294a;color:#fff;font:700 10px/1 Arial,Helvetica,sans-serif;box-sizing:border-box;}
@media(max-width:780px){body[data-mode="chat"] #chat #rooms .room-button .lobby-unread-badge{margin-left:4px;min-width:18px;height:18px;}}

/* Private 15-second clips: compact preview and explicit playback. */
body[data-mode="chat"] .chat-video{display:block;width:260px;max-width:100%;max-height:280px;object-fit:contain;border-radius:10px;background:#120e18}
body[data-mode="chat"] .video-preview{flex:0 0 auto;margin:0 14px 8px;padding:10px 12px;border:1px solid #76516e;background:#291e2c;color:#f6eaf3;max-height:190px;overflow:auto}
.video-preview-heading,.video-choice-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}
.video-preview-heading button,.video-choice-heading button{border:0;background:transparent;color:inherit;font-size:26px;min-width:40px;min-height:40px;cursor:pointer}
#pending-video{display:block;max-width:100%;width:180px;max-height:105px;background:#120e18;margin-bottom:7px}
#video-choice{width:min(420px,calc(100vw - 28px));max-height:calc(100dvh - 40px);overflow:auto;padding:22px;background:#291e2c;color:#f6eaf3;border:1px solid #986785;border-radius:12px;box-sizing:border-box}
#video-choice::backdrop{background:rgba(12,7,18,.75)}
#video-choice h2{font-size:21px;margin:0}#video-choice p{font-size:14px;color:#e0c7d9;margin:10px 0 18px}#video-choice .full{display:block;width:100%;margin:10px 0;min-height:44px}#video-choice small{display:block;line-height:1.5;color:#e0c7d9}
@media(max-width:780px){body[data-mode="chat"] .composer #video-attach{width:34px;min-width:34px}body[data-mode="chat"] .video-preview{margin:0 8px 6px;padding:6px 10px;max-height:160px}#pending-video{max-height:85px}}
#video-recorder{width:min(440px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;padding:18px;background:#291e2c;color:#f6eaf3;border:1px solid #986785;border-radius:12px;box-sizing:border-box}
#video-recorder::backdrop{background:rgba(12,7,18,.85)}#video-recorder h2{font-size:22px;margin:0}#video-live{display:block;width:100%;height:min(42dvh,310px);object-fit:contain;background:#120e18;border-radius:8px;margin-top:12px}#video-recorder .full{width:100%;min-height:44px;margin:8px 0}#video-recorder small{display:block;color:#e0c7d9;line-height:1.5}.video-record-meter{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0 6px}.video-record-meter strong{font-variant-numeric:tabular-nums;font-size:22px;color:#f3b6d8}#video-record-progress{display:block;width:100%;height:6px;accent-color:#db7eb3;margin-bottom:14px}

/* Quiet, compact video dialogs in the portal palette. */
#video-choice,#video-recorder{width:min(420px,calc(100vw - 28px));padding:24px;border:1px solid #76526c;border-radius:10px;background:#251923;color:#fff1f8;box-shadow:0 24px 80px #0009;font-family:Arial,Helvetica,sans-serif;max-height:calc(100dvh - 32px);overscroll-behavior:contain}
#video-choice::backdrop,#video-recorder::backdrop{background:#100b14c9;backdrop-filter:blur(5px)}
#video-choice .video-choice-heading,#video-recorder .video-choice-heading{align-items:flex-start;gap:16px}
.video-dialog-kicker{display:block;margin-bottom:8px;font-size:10px;font-weight:700;letter-spacing:1.6px;color:#e1a1c8}
#video-choice h2,#video-recorder h2{margin:0;font-size:25px;line-height:1.2;font-weight:600;letter-spacing:-.4px}
#video-choice .video-choice-heading button,#video-recorder .video-choice-heading button{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;min-width:36px;min-height:36px;padding:7px;border:1px solid #78526b66;border-radius:6px;background:#ffffff05;color:#dcc2d3;cursor:pointer}
#video-choice .video-choice-heading button svg,#video-recorder .video-choice-heading button svg{width:20px;height:20px}
#video-choice .video-dialog-hint,#video-recorder .video-dialog-hint{display:block;font-size:13px;line-height:1.65;color:#cfb5c6;letter-spacing:0}
#video-choice .video-dialog-hint{margin:16px 0 22px;padding:0;max-width:30ch}
#video-choice .video-choice-actions{display:grid;gap:10px}
#video-choice .video-action{display:flex;align-items:center;justify-content:flex-start;gap:14px;width:100%;min-height:66px;padding:12px 16px;margin:0;border-radius:7px;font-size:15px;font-weight:600;text-align:left;box-shadow:none;transition:background .15s,border-color .15s}
#video-choice #video-record{background:#c77ca8;border:1px solid #d598bc;color:#20121d}
#video-choice #video-select{background:#ffffff04;border:1px solid #755368;color:#f4dfec}
#video-choice .video-action-icon{display:grid;place-items:center;flex:0 0 34px;height:34px}
#video-choice .video-action-icon svg{width:28px;height:28px}
#video-choice #video-record:hover{background:#d391b8}#video-choice #video-select:hover{background:#ffffff0b;border-color:#a57492}
#video-choice button:focus-visible,#video-recorder button:focus-visible{outline:2px solid #f4b9df;outline-offset:3px}
#video-recorder #video-live{margin-top:20px;border:1px solid #74516a55;border-radius:7px;height:min(39dvh,290px)}
#video-recorder .video-record-meter{padding:14px 0 9px;font-size:13px;color:#dfc8d8}
#video-recorder .video-record-meter strong{font-size:24px;font-weight:600;color:#edb6d6;letter-spacing:-.5px}
#video-recorder #video-record-progress{height:5px;margin:0 0 18px;accent-color:#cc86b0;border:0;border-radius:5px;overflow:hidden}
#video-record-progress::-webkit-progress-bar{background:#ffffff12}#video-record-progress::-webkit-progress-value{background:#cc86b0}#video-record-progress::-moz-progress-bar{background:#cc86b0}
#video-recorder .full{min-height:46px;padding:12px 16px;margin:0 0 12px;border-radius:7px;font-size:15px;font-weight:600;box-shadow:none}
#video-recorder #video-recorder-start{background:#c77ca8;border:1px solid #d598bc;color:#20121d}
#video-recorder #video-recorder-start:disabled{opacity:.45;cursor:wait}
#video-recorder #video-recorder-stop{background:#7c3048;border:1px solid #b25a75;color:#fff1f5}
#video-recorder .video-dialog-hint{margin:2px 0 0;text-align:center;font-size:12px}
#video-choice [hidden],#video-recorder [hidden]{display:none!important}
@media(max-width:380px){#video-choice,#video-recorder{padding:20px;width:calc(100vw - 20px)}#video-choice h2,#video-recorder h2{font-size:23px}#video-choice .video-action{padding:11px 12px;gap:10px;font-size:14px}}
@media(prefers-reduced-motion:reduce){#video-choice .video-action{transition:none}}
/* Private calls use their own dialog; incoming calls never open the camera. */
body[data-mode="chat"] .private-call-button{display:inline-flex;align-items:center;gap:7px;min-height:36px;padding:7px 10px;border:1px solid #a6cdb5;background:#e4f2e9;color:#207644;white-space:nowrap}
.private-call-button svg{width:19px;height:19px}.private-call-button:disabled{opacity:.4;cursor:default}
#private-call-dialog{width:min(580px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;overscroll-behavior:contain;box-sizing:border-box;padding:22px;border:1px solid #76526c;border-radius:12px;background:#251923;color:#fff1f8;box-shadow:0 24px 80px #0009;font-family:Arial,Helvetica,sans-serif}
#private-call-dialog::backdrop{background:#100b14db;backdrop-filter:blur(6px)}
.private-call-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:15px}.private-call-heading h2{font-size:24px;margin:0;overflow-wrap:anywhere}.private-call-heading button{width:36px;height:36px;min-width:36px;border:1px solid #78526b66;border-radius:6px;background:#ffffff05;color:#f7e3f0;font-size:26px;cursor:pointer}
#call-peer-avatar{display:flex;justify-content:center;margin:22px 0 12px}#call-peer-avatar .chat-avatar{width:78px;height:78px;border-radius:18px;overflow:hidden;border:1px solid #bd89a8}#call-peer-avatar img{width:100%;height:100%}#call-status{text-align:center;font-size:14px;color:#ddbed2;margin:12px 0 18px;line-height:1.5}
#call-video-stage{position:relative;background:#110c16;border:1px solid #74516a66;border-radius:9px;overflow:hidden;min-height:170px;margin-top:16px}#call-remote-video{display:block;width:100%;height:min(48dvh,370px);object-fit:contain;background:#110c16}#call-local-video{position:absolute;right:10px;bottom:10px;width:26%;height:30%;max-height:130px;object-fit:cover;border:1px solid #c49ab6;border-radius:7px;background:#291e2c;transform:scaleX(-1)}#call-play{position:absolute;left:12px;top:12px;max-width:80%;min-height:40px}
#call-incoming-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:25px}#call-incoming-actions button{min-height:48px;border-radius:7px;font-size:15px}#call-accept{background:#c77ca8;border:1px solid #d598bc;color:#20121d}
#call-controls{display:flex;align-items:stretch;justify-content:center;gap:10px;margin-top:16px}#call-controls button{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:64px;max-width:145px;padding:10px 6px;border:1px solid #755368;border-radius:8px;background:#ffffff07;color:#f4dfec;font:12px Arial,Helvetica,sans-serif;cursor:pointer}#call-controls svg{width:22px;height:22px}#call-controls button[aria-pressed="true"]{background:#702b493d;border-color:#c06a8c;color:#ffb6d1}#call-controls #call-hangup{background:#8c304d;border-color:#ba5876;color:#fff;font-size:14px;font-weight:bold}
#private-call-dialog button:focus-visible{outline:2px solid #f4b9df;outline-offset:3px}#private-call-dialog [hidden],body[data-mode="chat"] .private-call-button[hidden]{display:none!important}
@media(max-width:480px){.private-call-button .call-button-label{display:none}body[data-mode="chat"] .private-call-button{padding:7px;width:36px;justify-content:center}#private-call-dialog{padding:17px}#call-remote-video{height:40dvh}#call-controls{gap:7px}#call-peer-avatar{margin-top:16px}}

/* Optional call camera and mobile lens switching. */
#private-call-dialog .call-camera-hint{margin:12px 0 0;color:#e8c8db;font:13px/1.5 Arial,Helvetica,sans-serif;text-align:center}
#call-controls button:disabled{opacity:.48;cursor:default}
#call-controls #call-camera[aria-pressed="true"]{background:#304f454f;border-color:#8db7a5;color:#d8f3e8}
#call-local-video.rear-camera{transform:none}
@media(max-width:480px){#call-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}#call-controls button{max-width:none;min-height:56px;flex-direction:row;gap:7px;padding:9px 5px}#call-controls svg{width:20px;height:20px;flex-shrink:0}#call-incoming-actions{flex-wrap:wrap}#call-incoming-actions button{min-width:0;flex:1 1 120px}#private-call-dialog .call-camera-hint{font-size:12px}}

/* Keep call gestures inside the video; never zoom or lock the chat page. */
#private-call-dialog{touch-action:pan-y}
#private-call-dialog button{touch-action:manipulation}
#call-video-stage{touch-action:none;overscroll-behavior:contain;isolation:isolate}
#call-remote-video{transform-origin:center;user-select:none;-webkit-user-select:none;touch-action:none}
#call-local-video{z-index:2;touch-action:none}
#call-play,#call-zoom-reset{z-index:3}
#call-zoom-reset{position:absolute;right:10px;top:10px;max-width:60%;padding:8px 10px;min-height:36px;border:1px solid #b381a0;border-radius:6px;background:#251923e8;color:#fff1f8;font:12px Arial,Helvetica,sans-serif;cursor:pointer}
#call-video-stage.call-is-zoomed{cursor:grab}
#call-video-stage.call-is-zoomed:active{cursor:grabbing}

/* Call dialog fits the available viewport, including long guest names. */
#private-call-dialog{min-width:0;width:min(580px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px);overflow-x:hidden;overflow-y:auto;margin:auto;scrollbar-gutter:auto}
#private-call-dialog>*,#private-call-dialog .private-call-heading>div{min-width:0;max-width:100%}
#private-call-dialog .private-call-heading>div{flex:1}
#private-call-dialog .private-call-heading #call-close{flex:0 0 36px}
#private-call-dialog #call-peer-name{min-width:0;white-space:normal;overflow-wrap:anywhere;word-break:break-word;line-height:1.2}
#private-call-dialog #call-video-stage,#private-call-dialog #call-remote-video{min-width:0;max-width:100%}
#private-call-dialog #call-incoming-actions{display:flex;align-items:center;justify-content:center;gap:40px;min-width:0;margin:22px 0 4px;flex-wrap:nowrap}
#private-call-dialog #call-incoming-actions button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 64px;width:64px;height:64px;min-width:0;min-height:64px;max-width:64px;padding:16px;border:1px solid transparent;border-radius:50%;color:#fff;box-shadow:none;cursor:pointer;touch-action:manipulation}
#private-call-dialog #call-incoming-actions svg{display:block;width:28px;height:28px;flex-shrink:0;pointer-events:none}
#private-call-dialog #call-incoming-actions #call-accept{background:#21864d;border-color:#56b67a}
#private-call-dialog #call-incoming-actions #call-decline{background:#bd3549;border-color:#ed7080}
#private-call-dialog #call-decline svg{transform:rotate(135deg)}
#private-call-dialog #call-incoming-actions button:hover{filter:brightness(1.12)}
#private-call-dialog #call-incoming-actions button:active{filter:brightness(.92)}
#private-call-dialog #call-controls{min-width:0}
#private-call-dialog #call-controls button{min-width:0;white-space:normal;overflow-wrap:anywhere}
@media(max-width:480px){
 #private-call-dialog{width:calc(100vw - 20px);max-width:calc(100vw - 20px);max-height:calc(100dvh - 20px);padding:16px}
 #private-call-dialog .private-call-heading{gap:10px}
 #private-call-dialog #call-peer-name{font-size:clamp(18px,5.5vw,24px)}
 #private-call-dialog #call-incoming-actions{gap:36px}
 #private-call-dialog #call-peer-avatar{margin-top:14px}
 #private-call-dialog #call-status{margin:10px 0 14px}
}
@media(max-height:540px){
 #private-call-dialog{padding:12px 16px}
 #private-call-dialog #call-peer-avatar{margin:8px 0}
 #private-call-dialog #call-peer-avatar .chat-avatar{width:46px;height:46px}
 #private-call-dialog #call-status{margin:8px 0}
 #private-call-dialog #call-incoming-actions{margin-top:14px}
 #private-call-dialog #call-video-stage{min-height:100px;margin-top:10px}
 #private-call-dialog #call-remote-video{height:30dvh}
}

/* Camera-off view uses black, including letterboxing and muted video. */
#private-call-dialog #call-video-stage,#private-call-dialog #call-remote-video{background:#000}

/* In-call recovery for microphone and camera permissions. */
#private-call-dialog .call-permission-help{min-width:0;margin:16px 0;padding:15px;border:1px solid #94637f;border-radius:9px;background:#34232f;color:#f9edf5;overflow-wrap:anywhere}
#private-call-dialog .call-permission-help h3{margin:0 0 8px;font-size:17px;line-height:1.3}
#private-call-dialog .call-permission-help p,#private-call-dialog .call-permission-help li{color:#e7cede;font:13px/1.6 Arial,Helvetica,sans-serif}
#private-call-dialog .call-permission-help details{margin-top:13px}
#private-call-dialog .call-permission-help summary{cursor:pointer;font-size:13px;line-height:1.5;color:#f4c5e0}
#private-call-dialog .call-permission-help ol{margin:12px 0;padding-left:20px}
#private-call-dialog .call-permission-help details p{margin-top:10px}
#private-call-dialog .call-permission-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}
#private-call-dialog .call-permission-actions button{flex:1 1 130px;min-width:0;min-height:44px;white-space:normal;overflow-wrap:anywhere;padding:10px;border:1px solid #96647f;border-radius:6px;background:#513449;color:#fff1f8;font:13px Arial,Helvetica,sans-serif}
#private-call-dialog #call-permission-retry{background:#875374;border-color:#b67da0}
#private-call-dialog .call-permission-actions button:disabled{opacity:.6;cursor:default}

/* One shared height for the private nameplate and its adjacent actions. */
body[data-mode="chat"] #chat .chat-heading:has(#chat-title.private-nameplate){--private-heading-height:40px;align-items:center}
body[data-mode="chat"] #chat .chat-heading:has(#chat-title.private-nameplate)>div:first-child{min-width:0;flex:1 1 auto}
body[data-mode="chat"] #chat .chat-heading #chat-title.private-nameplate{display:flex;align-items:center;height:var(--private-heading-height);min-height:var(--private-heading-height);box-sizing:border-box;margin:0;padding:0 10px 0 4px;line-height:1.2;width:fit-content;max-width:100%}
body[data-mode="chat"] #chat .chat-heading:has(#chat-title.private-nameplate) .chat-header-actions{align-items:center;flex:0 0 auto}
body[data-mode="chat"] #chat .chat-heading:has(#chat-title.private-nameplate) :is(#private-call-start,#close-chat,#toggle-users){display:inline-flex;align-items:center;justify-content:center;height:var(--private-heading-height);min-height:var(--private-heading-height);box-sizing:border-box;padding-top:0;padding-bottom:0;line-height:1.2;margin:0}
@media(max-width:780px){
 body[data-mode="chat"] #chat .chat-heading:has(#chat-title.private-nameplate){--private-heading-height:36px}
 body[data-mode="chat"] #chat .chat-heading #chat-title.private-nameplate{padding:0 8px 0 4px;gap:6px}
}

/* Put name and actions in the same grid row; typing has its own reserved row. */
body[data-mode="chat"] #chat .chat-heading:has(#chat-title.private-nameplate){display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:var(--private-heading-height) 14px;column-gap:8px;row-gap:2px;align-items:center;align-content:center;padding-top:10px;padding-bottom:0}
body[data-mode="chat"] #chat .chat-heading:has(#chat-title.private-nameplate)>div:first-child{display:contents}
body[data-mode="chat"] #chat .chat-heading #chat-title.private-nameplate{grid-column:1;grid-row:1;align-self:center}
body[data-mode="chat"] #chat .chat-heading:has(#chat-title.private-nameplate) .chat-header-actions{grid-column:2;grid-row:1;align-self:center}
body[data-mode="chat"] #chat .chat-heading:has(#chat-title.private-nameplate) #typing-status{grid-column:1/-1;grid-row:2;min-width:0;margin:0;height:14px;min-height:14px;line-height:14px;align-self:start}

/* Compact private video cards; time/read receipts remain inside the message bubble. */
body[data-mode="chat"] #chat #messages .message.has-video{width:290px;max-width:90%;min-width:0}
body[data-mode="chat"] #chat #messages .message.has-video>.bubble{display:block;width:100%;max-width:100%;padding:5px;box-sizing:border-box;overflow:hidden}
body[data-mode="chat"] #chat #messages .message.has-video>.bubble>.message-text{padding:7px 6px 2px}
body[data-mode="chat"] #chat #messages .message.has-video>.bubble>.bubble-status{display:flex;width:max-content;margin:5px 5px 2px auto}
body[data-mode="chat"] #chat #messages .video-card{position:relative;isolation:isolate;width:100%;aspect-ratio:var(--video-ratio,1.7778);max-height:330px;overflow:hidden;border-radius:12px;background:radial-gradient(ellipse at 25% 15%,#513348,#1b141d 75%);line-height:1}
body[data-mode="chat"] #chat #messages .video-card.is-portrait{max-height:330px;aspect-ratio:3/4}
body[data-mode="chat"] #chat #messages .video-card>.chat-video{display:block;width:100%;height:100%;max-width:100%;max-height:none;object-fit:contain;margin:0;border:0;border-radius:0;background:transparent}
.video-play{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;width:100%;padding:18px;border:0;background:linear-gradient(180deg,#1b101b05,#1b101b24);color:#fff7fc;cursor:pointer;font:600 12px Arial,Helvetica,sans-serif}
.video-play-icon{display:grid;place-items:center;width:50px;height:50px;padding-left:3px;box-sizing:border-box;border:1px solid #ffffff75;border-radius:50%;background:#241521a6;box-shadow:0 3px 18px #0003;font-size:19px;backdrop-filter:blur(5px)}
.video-play:focus-visible{outline:3px solid #eeb7d6;outline-offset:-4px}
.video-card-label{position:absolute;left:11px;right:11px;bottom:10px;display:flex;justify-content:space-between;gap:12px;pointer-events:none;color:#fff2fa;font:600 11px Arial,Helvetica,sans-serif;text-shadow:0 1px 4px #000}
.video-duration{padding:4px 6px;border-radius:5px;background:#190e19b3;font-variant-numeric:tabular-nums}
.video-card.is-playing .video-play,.video-card.is-playing .video-card-label{display:none}
.video-card.is-unavailable .video-play{cursor:default}
.video-send-status{display:flex;align-items:center;gap:11px;margin:0 12px 8px;padding:10px 12px;border:1px solid #b48aa5;background:#f7edf3;color:#573549;border-radius:8px;font-family:Arial,Helvetica,sans-serif;line-height:1.4}
.video-send-status strong{display:block;font-size:13px;font-weight:600}.video-send-status small{display:block;margin-top:2px;font-size:11px;color:#765c6c}
.video-send-spinner{flex:0 0 17px;width:17px;height:17px;border:2px solid #dac5d3;border-top-color:#913b67;border-radius:50%;animation:video-send-spin .9s linear infinite}
.video-send-status[hidden]{display:none!important}
@keyframes video-send-spin{to{transform:rotate(360deg)}}
body.chat-no-pagezoom{touch-action:pan-x pan-y}
body.chat-no-pagezoom #message{font-size:16px}
@media(max-width:780px){body[data-mode="chat"] #chat #messages .message.has-video{width:260px;max-width:91%}.video-send-status{margin:0 8px 6px;padding:8px 10px}.video-send-status small{font-size:11px}}
@media(prefers-reduced-motion:reduce){.video-send-spinner{animation:none}}

/* Quiet stone/linen backdrop, without pictograms. */
body[data-mode="chat"] #chat #messages{
 background-color:#eee9e6;
 background-image:url("chat69-chat-pattern.svg?v=20261030-neutral1"),radial-gradient(ellipse at 12% 0%,#fffdf7a6,transparent 68%),linear-gradient(135deg,#f2ede8 0%,#eee7e8 55%,#e9e2e7 100%);
 background-size:192px 192px,100% 100%,100% 100%;
 background-repeat:repeat,no-repeat,no-repeat;
 background-position:0 0,0 0,0 0;
 background-attachment:scroll;
}
body[data-mode="chat"] #chat #messages.private-chat-backdrop{background-color:#eee9e6}
body[data-mode="chat"] #chat #messages .message>.bubble{box-shadow:0 2px 5px #4a29490c}
body[data-mode="chat"] #chat #messages .message.own>.bubble{box-shadow:0 2px 5px #4a29491a}
body[data-mode="chat"] #chat #messages .message-meta{color:#705d6b}
body[data-mode="chat"] #chat #messages>.empty{align-self:center;margin:auto;max-width:320px;padding:22px 26px;border:1px solid #dfcfd9;border-radius:14px;background:#fffaf6ed;box-shadow:0 4px 18px #53344608;color:#6a4a5e}
body[data-mode="chat"] #chat #messages>.empty strong{color:#513a4a}
body[data-mode="chat"] #chat #messages>.empty span{color:#806b79}

/* A new guest glides in once; no replays on polling, room switches or old history. */
body[data-mode="chat"] #chat #messages .join-event{
 position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;align-self:center;gap:11px;
 width:fit-content;max-width:min(100%,440px);min-width:0;padding:8px 15px 8px 9px;margin:3px 0;
 border:1px solid #d9c7d3;border-radius:15px;background:#fffcf9ed;color:#806575;
 box-shadow:0 3px 12px #57324a09;font-size:12px;line-height:1.45;text-align:left;flex-shrink:0;
}
body[data-mode="chat"] #chat #messages .join-avatar-wrap{position:relative;display:grid;place-items:center;flex:0 0 33px;width:33px;height:33px}
body[data-mode="chat"] #chat #messages .join-event .join-avatar{width:33px;height:33px;flex-basis:33px;border-radius:11px;position:relative;z-index:1}
body[data-mode="chat"] #chat #messages .join-avatar-wrap::after{content:"";position:absolute;inset:-3px;border:1px solid #ba8ca7;border-radius:14px;opacity:.4;pointer-events:none}
body[data-mode="chat"] #chat #messages .join-copy{display:flex;flex-wrap:wrap;align-items:baseline;gap:1px 5px;min-width:0;overflow-wrap:anywhere}
body[data-mode="chat"] #chat #messages .join-copy .join-name,
body[data-mode="chat"] #chat #messages .join-copy .join-person{min-width:0;max-width:100%;font:600 12px/1.45 Arial,Helvetica,sans-serif;color:#803c64;overflow-wrap:anywhere}
body[data-mode="chat"] #chat #messages .join-copy .join-name{text-decoration:none;border:0;padding:0;background:none;cursor:pointer}
body[data-mode="chat"] #chat #messages .join-copy .join-name:hover{text-decoration:underline;text-underline-offset:3px;color:#a04477}
body[data-mode="chat"] #chat #messages .join-copy .join-name:focus-visible{outline:2px solid #a7658d;outline-offset:3px;border-radius:2px}
body[data-mode="chat"] #chat #messages .join-detail{color:#887080;font-size:11px}
body[data-mode="chat"] #chat #messages .join-arrival{animation:chat69-guest-arrives .62s cubic-bezier(.18,.76,.25,1) both}
body[data-mode="chat"] #chat #messages .join-arrival::before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(105deg,transparent 25%,#e9cddd70 48%,transparent 70%);animation:chat69-guest-shine .85s ease-out both}
body[data-mode="chat"] #chat #messages .join-arrival .join-avatar-wrap::after{animation:chat69-guest-ring .85s ease-out both}
@keyframes chat69-guest-arrives{from{opacity:0;transform:translate3d(-18px,8px,0) scale(.96)}65%{opacity:1;transform:translate3d(2px,0,0) scale(1)}to{opacity:1;transform:translate3d(0,0,0) scale(1)}}
@keyframes chat69-guest-shine{from{opacity:0;transform:translateX(-110%)}20%{opacity:1}to{opacity:0;transform:translateX(110%)}}
@keyframes chat69-guest-ring{from{opacity:0;transform:scale(.85)}35%{opacity:.9}to{opacity:.4;transform:scale(1)}}
@media(max-width:780px){
 body[data-mode="chat"] #chat #messages{background-size:160px 160px,100% 100%,100% 100%;background-position:0 0,0 0,0 0}
 body[data-mode="chat"] #chat #messages .join-event{padding:7px 11px 7px 8px;gap:9px;max-width:100%;border-radius:13px}
 body[data-mode="chat"] #chat #messages>.empty{padding:18px 20px}
}
@media(prefers-reduced-motion:reduce){
 body[data-mode="chat"] #chat #messages .join-arrival,
 body[data-mode="chat"] #chat #messages .join-arrival::before,
 body[data-mode="chat"] #chat #messages .join-arrival .join-avatar-wrap::after{animation:none}
 body[data-mode="chat"] #chat #messages .join-arrival::before{content:none}
}

/* Compact arrival notice: quieter proportions, clear nickname, same entrance effect. */
body[data-mode="chat"] #chat #messages .join-event{
 gap:8px;max-width:min(100%,380px);padding:5px 11px 5px 6px;margin:2px 0;
 border-color:#ddcfd7;border-radius:12px;background:#fffcf9f2;
 box-shadow:0 1px 5px #57324a07;
}
body[data-mode="chat"] #chat #messages .join-avatar-wrap{flex:0 0 25px;width:25px;height:25px}
body[data-mode="chat"] #chat #messages .join-event .join-avatar{width:25px;height:25px;flex-basis:25px;border-radius:8px}
body[data-mode="chat"] #chat #messages .join-avatar-wrap::after{inset:-2px;border-radius:10px}
body[data-mode="chat"] #chat #messages .join-copy{gap:0 5px;line-height:1.35}
body[data-mode="chat"] #chat #messages .join-copy .join-name,
body[data-mode="chat"] #chat #messages .join-copy .join-person{font-size:11.5px;line-height:1.4;color:#77445f}
body[data-mode="chat"] #chat #messages .join-detail{font-size:10.5px;color:#8b7482;line-height:1.4}
@media(max-width:780px){
 body[data-mode="chat"] #chat #messages .join-event{gap:7px;padding:5px 9px 5px 6px;max-width:100%;border-radius:11px}
 body[data-mode="chat"] #chat #messages .join-avatar-wrap{flex-basis:24px;width:24px;height:24px}
 body[data-mode="chat"] #chat #messages .join-event .join-avatar{width:24px;height:24px;flex-basis:24px}
}

/* Private conversations identify the peer in the header, not above every bubble. */
body[data-mode="chat"] #chat #messages.private-chat-backdrop .message>.message-meta{display:none}
body[data-mode="chat"] #chat #messages.private-chat-backdrop{gap:12px}

/* FAQ belongs to the landing main, so its existing hidden state also hides the FAQ. */
body[data-mode="chat"] #landing .index-faq{grid-column:1/-1;display:grid;grid-template-columns:minmax(180px,.7fr) minmax(0,1.5fr);gap:44px;width:100%;min-width:0;margin-top:8px;padding:32px;border:1px solid #b38b9f40;background:#281b27f2;color:#f8eef4;font-family:Arial,Helvetica,sans-serif}
body[data-mode="chat"] #landing .faq-kicker{display:block;margin:2px 0 13px;color:#cda7bd;font-size:10px;font-weight:600;letter-spacing:1.4px}
body[data-mode="chat"] #landing .faq-intro h2{margin:0 0 13px;color:#fff7fb;font-size:32px;font-weight:500;letter-spacing:-.5px;line-height:1.2}
body[data-mode="chat"] #landing .faq-intro p{max-width:27ch;color:#cdb8c5;font-size:14px;line-height:1.7;margin:0}
body[data-mode="chat"] #landing .faq-list{min-width:0;border-top:1px solid #9973864a}
body[data-mode="chat"] #landing .faq-item{margin:0;border:0;border-bottom:1px solid #9973864a;background:transparent}
body[data-mode="chat"] #landing .faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:58px;padding:17px 4px;list-style:none;color:#f8eef4;font-size:14px;font-weight:500;line-height:1.5;cursor:pointer;-webkit-tap-highlight-color:transparent}
body[data-mode="chat"] #landing .faq-item summary::-webkit-details-marker{display:none}
body[data-mode="chat"] #landing .faq-item summary::marker{content:""}
body[data-mode="chat"] #landing .faq-item summary>span:first-child{min-width:0;overflow-wrap:anywhere}
body[data-mode="chat"] #landing .faq-item summary:hover{color:#fff;background:#ffffff04}
body[data-mode="chat"] #landing .faq-item summary:focus-visible{outline:2px solid #dcadca;outline-offset:2px}
body[data-mode="chat"] #landing .faq-toggle{position:relative;display:block;flex:0 0 18px;width:18px;height:18px;color:#d3a5bf}
body[data-mode="chat"] #landing .faq-toggle::before,body[data-mode="chat"] #landing .faq-toggle::after{content:"";position:absolute;left:3px;right:3px;top:8px;height:1.5px;background:currentColor;transition:transform .18s ease,opacity .18s ease}
body[data-mode="chat"] #landing .faq-toggle::after{transform:rotate(90deg)}
body[data-mode="chat"] #landing .faq-item[open] summary{color:#edc5de}
body[data-mode="chat"] #landing .faq-item[open] .faq-toggle::after{transform:rotate(0);opacity:0}
body[data-mode="chat"] #landing .faq-answer{padding:0 30px 18px 4px}
body[data-mode="chat"] #landing .faq-answer p{margin:0;color:#d5c2ce;font-size:13px;line-height:1.8;overflow-wrap:anywhere}
@media(max-width:900px){body[data-mode="chat"] #landing .index-faq{grid-template-columns:minmax(0,1fr);gap:23px;padding:26px}body[data-mode="chat"] #landing .faq-intro p{max-width:48ch}}
@media(max-width:780px){body[data-mode="chat"] #landing .index-faq{margin-top:0;padding:22px 19px;gap:22px}body[data-mode="chat"] #landing .faq-intro h2{font-size:27px}body[data-mode="chat"] #landing .faq-intro p{font-size:13px}body[data-mode="chat"] #landing .faq-item summary{padding:16px 1px;min-height:56px;gap:14px;font-size:13px}body[data-mode="chat"] #landing .faq-answer{padding:0 23px 17px 1px}body[data-mode="chat"] #landing .faq-answer p{font-size:13px;line-height:1.75}}
@media(prefers-reduced-motion:reduce){body[data-mode="chat"] #landing .faq-toggle::before,body[data-mode="chat"] #landing .faq-toggle::after{transition:none}}

/* Wide layout already has the online-user list in the right sidebar. */
@media(min-width:781px){
 body[data-mode="chat"] #chat #toggle-users{display:none!important}
}

/* Online directory: full-width contact actions with a distinct green call button. */
body[data-mode="chat"] #chat #people-panel{padding:20px 14px;background:#f8f4f6;font-family:Arial,Helvetica,sans-serif}
body[data-mode="chat"] #chat #people-panel .people-heading{gap:8px;align-items:flex-start;margin-bottom:19px}
body[data-mode="chat"] #chat #people-panel .people-title{flex:1;min-width:0}
body[data-mode="chat"] #chat #people-panel .people-title h3{margin:0;color:#523447;font-size:18px;font-weight:600;letter-spacing:-.3px;line-height:1.3}
body[data-mode="chat"] #chat #people-panel .people-title>span{display:block;margin-top:5px;color:#806b79;font-size:10px;line-height:1.4}
body[data-mode="chat"] #chat #people-panel .people-live{display:inline-flex;align-items:center;gap:4px;margin-top:3px;padding:4px 0;white-space:nowrap;color:#4e6e5c;font-size:9px;line-height:1.4}
body[data-mode="chat"] #chat #people-panel .people-live i{width:5px;height:5px;background:#4d9470;border-radius:50%;margin-right:2px}
body[data-mode="chat"] #chat #people-panel .people-live strong{font-weight:600;font-size:11px}
body[data-mode="chat"] #chat #people-panel #user-search{border:1px solid #dfcfd9;border-radius:7px;box-shadow:none;font-size:13px;min-height:40px;padding:9px 11px}
body[data-mode="chat"] #chat #people-panel .filters{gap:5px;margin:13px 0 15px}
body[data-mode="chat"] #chat #people-panel .filters button{min-height:31px;padding:6px 8px;border:1px solid #e1d3dd;border-radius:6px;background:#fff;color:#7c5e71;font-size:10px;font-weight:500;box-shadow:none}
body[data-mode="chat"] #chat #people-panel .filters button.active{background:#79526b;border-color:#79526b;color:#fff7fc}
body[data-mode="chat"] #chat #people-panel #users{gap:10px}
body[data-mode="chat"] #chat #people-panel #users .user-row{display:grid;grid-template-columns:42px minmax(0,1fr);align-items:start;gap:10px;flex-shrink:0;padding:13px 11px 9px;border:1px solid #e4d7df;border-radius:10px;background:#fffdfd;box-shadow:0 2px 5px #48233804;min-width:0}
body[data-mode="chat"] #chat #people-panel #users .user-row.is-self{border-color:#d9c7d4;background:#f2e9f0}
body[data-mode="chat"] #chat #people-panel #users .people-avatar{position:relative;width:42px;height:42px;display:block;grid-column:1;grid-row:1}
body[data-mode="chat"] #chat #people-panel #users .people-avatar>.avatar{display:block;width:42px;height:42px;max-width:42px;border:1px solid #e5d4df;border-radius:11px;overflow:hidden;background:#eee1ea;box-shadow:none}
body[data-mode="chat"] #chat #people-panel #users .people-avatar img{display:block;width:100%;height:100%;object-fit:cover}
body[data-mode="chat"] #chat #people-panel #users .people-online-dot{position:absolute;right:-2px;bottom:-2px;width:10px;height:10px;border:2px solid #fffdfd;border-radius:50%;background:#51946d}
body[data-mode="chat"] #chat #people-panel #users .is-blocked .people-online-dot{background:#ad969f}
body[data-mode="chat"] #chat #people-panel #users .user-details{min-width:0;grid-column:2;grid-row:1}
body[data-mode="chat"] #chat #people-panel #users .user-identity{gap:5px;min-width:0}
body[data-mode="chat"] #chat #people-panel #users .user-identity :is(.nick-btn,.people-nickname){max-width:100%;font-size:13px;line-height:1.4;font-weight:600;letter-spacing:0;color:#5c354c;overflow-wrap:anywhere}
body[data-mode="chat"] #chat #people-panel #users .self-label{font-size:9px;font-weight:500;padding:1px 5px;border-radius:4px;background:#e4d4df;color:#806475}
body[data-mode="chat"] #chat #people-panel #users .gender-symbol{width:17px;height:19px;font-size:16px;margin:0;border-radius:4px}
body[data-mode="chat"] #chat #people-panel #users .user-info{gap:5px;margin-top:4px}
body[data-mode="chat"] #chat #people-panel #users .user-info small{font-size:10px;line-height:1.5;color:#806b79}
body[data-mode="chat"] #chat #people-panel #users .user-room-label{padding:2px 6px;border:0;border-radius:4px;background:#f4edf2;color:#7f6175;font-size:9px;line-height:1.4}
body[data-mode="chat"] #chat #people-panel #users .people-contact-actions{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) 40px;gap:7px;min-width:0;margin-top:2px}
body[data-mode="chat"] #chat #people-panel #users .people-contact-actions>button{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:0;min-height:37px;padding:8px 6px;border:1px solid #d6b9cc;border-radius:6px;background:#f2e5ed;color:#75455f;font:600 10.5px/1.3 Arial,Helvetica,sans-serif;cursor:pointer;box-shadow:none}
body[data-mode="chat"] #chat #people-panel #users .people-contact-actions svg{width:15px;height:15px;flex:0 0 15px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
body[data-mode="chat"] #chat #people-panel #users .people-contact-actions .people-write>span{min-width:0;overflow-wrap:anywhere}
body[data-mode="chat"] #chat #people-panel #users .people-contact-actions .people-call{background:#31815a;border-color:#31815a;color:#fff}
body[data-mode="chat"] #chat #people-panel #users .people-call svg{width:18px;height:18px;flex-basis:18px}
body[data-mode="chat"] #chat #people-panel #users .people-write:hover{background:#ebd8e5;border-color:#c49ab3}
body[data-mode="chat"] #chat #people-panel #users .people-call:hover{background:#246f49;border-color:#246f49}
body[data-mode="chat"] #chat #people-panel #users .people-contact-actions>button:disabled{opacity:.45;cursor:not-allowed}
body[data-mode="chat"] #chat #people-panel #users .people-contact-actions>button:focus-visible{outline:2px solid #b06d97;outline-offset:3px}
body[data-mode="chat"] #chat #people-panel #users .people-call:focus-visible{outline-color:#438b65}
body[data-mode="chat"] #chat #people-panel #users .user-tools{display:flex;grid-column:1/-1;justify-content:flex-end;gap:14px;margin:0;padding-top:1px}
body[data-mode="chat"] #chat #people-panel #users .user-tools .user-tool{min-height:26px;padding:3px 0;border:0;border-radius:2px;background:transparent;color:#826b79;font-size:9px;font-weight:400;box-shadow:none}
body[data-mode="chat"] #chat #people-panel #users .user-tools .user-tool:hover{background:none;color:#75455f;text-decoration:underline;text-underline-offset:3px}
body[data-mode="chat"] #chat #people-panel #users .user-blocked-label{margin-top:6px;padding:2px 5px;border-radius:4px;background:#f1e5e8;color:#9b6375;font-size:9px}
body[data-mode="chat"] #chat #people-panel .people-note{display:flex;flex-direction:column;gap:3px;margin:14px 0 0;padding-top:12px;border-top:1px solid #e3d5de;color:#826b79;font-size:10px;line-height:1.5}
body[data-mode="chat"] #chat #people-panel .people-note strong{font-size:10px;font-weight:500;color:#7c5e70}
body[data-mode="chat"] #chat #people-panel .people-empty{padding:28px 10px;text-align:center;color:#947b8c;font-size:11px;line-height:1.7}
body[data-mode="chat"] #chat #people-panel .people-empty strong{display:block;color:#715366;font-size:12px;font-weight:600;margin-bottom:5px}
body[data-mode="chat"] #chat #people-panel .people-empty span{display:block}
@media(max-width:780px){
 body[data-mode="chat"] #chat #people-panel{padding:17px;border-radius:16px}
 body[data-mode="chat"] #chat #people-panel .people-heading{align-items:center;padding-right:47px;min-height:42px;margin-bottom:14px}
 body[data-mode="chat"] #chat #people-panel .people-title h3{font-size:19px}
 body[data-mode="chat"] #chat #people-panel #users .people-contact-actions{grid-template-columns:minmax(0,1fr) 45px}
 body[data-mode="chat"] #chat #people-panel #users .people-contact-actions>button{min-height:42px;font-size:12px}
 body[data-mode="chat"] #chat #people-panel #users .user-tools .user-tool{min-height:32px;font-size:10px}
 body[data-mode="chat"] #chat #people-panel #users .user-info small{font-size:11px}
}

/* Plum / dusty rose directory, in the same palette as the portal. */
body[data-mode="chat"] #chat #people-panel{
 padding:22px 14px 14px;border-left:1px solid #74516a;
 background:radial-gradient(ellipse at 5% 0%,#89557236,transparent 46%),linear-gradient(165deg,#302130,#251b27 65%);
 color:#f9edf5;color-scheme:dark;
}
body[data-mode="chat"] #chat #people-panel .people-heading{align-items:center;gap:8px;margin:0 0 17px;padding-bottom:18px;border-bottom:1px solid #b58da637}
body[data-mode="chat"] #chat #people-panel .people-title .people-eyebrow{display:block;margin:0 0 7px;color:#caa8bd;font-size:8px;font-weight:500;letter-spacing:1.6px;line-height:1.4}
body[data-mode="chat"] #chat #people-panel .people-title h3{color:#fff5fb;font-size:21px;font-weight:600;letter-spacing:-.5px;line-height:1.2}
body[data-mode="chat"] #chat #people-panel .people-title>span:not(.people-eyebrow){margin-top:7px;color:#c7adbf;font-size:10px;line-height:1.5}
body[data-mode="chat"] #chat #people-panel .people-live{align-self:flex-start;margin-top:22px;gap:4px;padding:5px 7px;border:1px solid #92c5a744;border-radius:6px;background:#b2dec50b;color:#b7dfc6;font-size:8px;line-height:1.5}
body[data-mode="chat"] #chat #people-panel .people-live i{width:5px;height:5px;background:#8bd3aa;box-shadow:0 0 7px #8bd3aa40}
body[data-mode="chat"] #chat #people-panel .people-live strong{font-size:11px;color:#d6f3e2}
body[data-mode="chat"] #chat #people-panel .user-search-label{color:#c6acbd;font-size:10px;line-height:1.5;margin-bottom:7px}
body[data-mode="chat"] #chat #people-panel #user-search{min-height:41px;padding:10px 12px;border:1px solid #82617a80;border-radius:8px;background:#ffffff08;color:#fff5fb;box-shadow:inset 0 1px 2px #160e1b10;font-size:12px}
body[data-mode="chat"] #chat #people-panel #user-search::placeholder{color:#bfa5b7;opacity:1}
body[data-mode="chat"] #chat #people-panel #user-search:focus{border-color:#ce9dbb;box-shadow:0 0 0 2px #cf9cbb14;outline:none}
body[data-mode="chat"] #chat #people-panel .filters{gap:4px;margin:12px 0 16px;flex-wrap:wrap}
body[data-mode="chat"] #chat #people-panel .filters button{min-height:31px;padding:6px 8px;border:1px solid transparent;border-radius:5px;background:transparent;color:#d5bccd;font-size:10px;font-weight:400;box-shadow:none;transition:background .15s,color .15s}
body[data-mode="chat"] #chat #people-panel .filters button:hover{background:#ffffff09;color:#fff5fb}
body[data-mode="chat"] #chat #people-panel .filters button.active{background:#dab3ca;border-color:#dab3ca;color:#402437;font-weight:600;box-shadow:0 2px 6px #120d1a18}
body[data-mode="chat"] #chat #people-panel #users{min-height:0;gap:11px;padding:2px 3px 6px 0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#84647e #0000}
body[data-mode="chat"] #chat #people-panel #users::-webkit-scrollbar{width:4px}
body[data-mode="chat"] #chat #people-panel #users::-webkit-scrollbar-thumb{border-radius:8px;background:#84647e}
body[data-mode="chat"] #chat #people-panel #users .user-row{position:relative;grid-template-columns:44px minmax(0,1fr);gap:11px;padding:15px 12px 9px;border:1px solid #a77f9850;border-radius:12px;background:linear-gradient(135deg,#ffffff0c,#ffffff04);box-shadow:0 4px 12px #120b1c10;transition:border-color .18s,background .18s}
body[data-mode="chat"] #chat #people-panel #users .user-row:hover{border-color:#c89db486;background:linear-gradient(135deg,#ffffff11,#ffffff07)}
body[data-mode="chat"] #chat #people-panel #users .user-row.is-self{padding-bottom:14px;border-color:#c59ab758;background:linear-gradient(130deg,#b87b9e22,#b87b9e0a)}
body[data-mode="chat"] #chat #people-panel #users .user-row.is-blocked{border-color:#87687750;background:#ffffff03}
body[data-mode="chat"] #chat #people-panel #users .people-avatar{width:44px;height:44px;padding:2px;box-sizing:border-box;border:1px solid #d5a8c4a6;border-radius:14px;background:linear-gradient(145deg,#f4d3e8,#976583);box-shadow:0 3px 9px #140c1d22}
body[data-mode="chat"] #chat #people-panel #users .people-avatar>.avatar{width:38px;height:38px;max-width:38px;border:0;border-radius:10px;background:#d3aec4}
body[data-mode="chat"] #chat #people-panel #users .people-online-dot{right:-2px;bottom:-2px;width:11px;height:11px;border:2px solid #382735;background:#87cda4;box-shadow:none}
body[data-mode="chat"] #chat #people-panel #users .is-blocked .people-avatar{border-color:#8e7385;background:#8e7385;box-shadow:none}
body[data-mode="chat"] #chat #people-panel #users .is-blocked .people-online-dot{background:#aa909f}
body[data-mode="chat"] #chat #people-panel #users .user-identity :is(.nick-btn,.people-nickname){font-size:13px;line-height:1.45;font-weight:600;color:#fff0f9;letter-spacing:0}
body[data-mode="chat"] #chat #people-panel #users .user-identity button.nick-btn:hover{color:#f2cce2}
body[data-mode="chat"] #chat #people-panel #users .self-label{background:#dab3ca20;color:#efd2e3;border:1px solid #d9afc530;padding:0 4px;border-radius:4px;font-size:8px;line-height:1.6}
body[data-mode="chat"] #chat #people-panel #users .gender-symbol{border:0;background:transparent;font-size:15px;width:15px;flex-basis:15px}
body[data-mode="chat"] #chat #people-panel #users .gender-symbol.male{color:#a5c8e2}
body[data-mode="chat"] #chat #people-panel #users .gender-symbol.female{color:#e7b7d2}
body[data-mode="chat"] #chat #people-panel #users .gender-symbol.diverse{color:#cbb9e9}
body[data-mode="chat"] #chat #people-panel #users .user-info{gap:7px;margin-top:4px}
body[data-mode="chat"] #chat #people-panel #users .user-info small{color:#c6adbe;font-size:10px;line-height:1.5}
body[data-mode="chat"] #chat #people-panel #users .user-room-label{max-width:100%;padding:3px 6px;border:1px solid #bb8caa32;border-radius:4px;background:#d4a9c30b;color:#e1c5d7;font-size:9px;line-height:1.3}
body[data-mode="chat"] #chat #people-panel #users .people-contact-actions{grid-template-columns:minmax(0,1fr) 40px;gap:7px;margin-top:3px}
body[data-mode="chat"] #chat #people-panel #users .people-contact-actions>button{min-height:38px;border-radius:7px;border-color:#e4bfd5;background:linear-gradient(115deg,#e8c8dc,#d6a9c4);color:#4e2a40;font-size:10.5px;font-weight:600;box-shadow:inset 0 1px 0 #fff5fc55;transition:background .15s,border-color .15s}
body[data-mode="chat"] #chat #people-panel #users .people-write:hover{background:#efd4e4;border-color:#efd4e4;color:#462338}
body[data-mode="chat"] #chat #people-panel #users .people-contact-actions .people-call{background:linear-gradient(140deg,#438966,#326f52);border-color:#6db18e99;color:#fff;box-shadow:inset 0 1px 0 #bceacf14}
body[data-mode="chat"] #chat #people-panel #users .people-call:hover{background:#438966;border-color:#95c9ad;color:#fff}
body[data-mode="chat"] #chat #people-panel #users .people-contact-actions>button:disabled{opacity:.38;cursor:not-allowed;box-shadow:none}
body[data-mode="chat"] #chat #people-panel #users .people-contact-actions>button:focus-visible{outline-color:#f1ccdf}
body[data-mode="chat"] #chat #people-panel #users .people-call:focus-visible{outline-color:#a4dbbd}
body[data-mode="chat"] #chat #people-panel #users .user-tools{gap:12px;margin-top:0;padding-top:0}
body[data-mode="chat"] #chat #people-panel #users .user-tools .user-tool{color:#c3a9ba;font-size:9px;min-height:27px;background:transparent;border:0}
body[data-mode="chat"] #chat #people-panel #users .user-tools .user-tool:hover{color:#ffe4f4;background:transparent}
body[data-mode="chat"] #chat #people-panel #users .user-blocked-label{color:#e7bccb;background:#ba739426;font-size:9px;border:1px solid #c990ab30}
body[data-mode="chat"] #chat #people-panel .people-note{margin:11px 0 0;padding-top:11px;border-top:1px solid #ae839c35;color:#c1a7b8;font-size:9px;line-height:1.6}
body[data-mode="chat"] #chat #people-panel .people-note strong{color:#eed3e4;font-size:10px;font-weight:500}
body[data-mode="chat"] #chat #people-panel .people-empty{padding:30px 10px;color:#c5abba}
body[data-mode="chat"] #chat #people-panel .people-empty strong{font-size:13px;color:#f6e0ee}
@media(min-width:781px){
 body[data-mode="chat"] #chat #people-panel{display:flex;flex-direction:column;min-height:0;overflow:hidden}
 body[data-mode="chat"] #chat #people-panel #users{flex:1 1 auto}
 body[data-mode="chat"] #chat #people-panel>:not(#users){flex-shrink:0}
}
@media(max-width:780px){
 body[data-mode="chat"] #chat #people-panel{padding:19px 16px 14px;border:1px solid #a77d9890;border-radius:17px;background:radial-gradient(ellipse at 0 0,#885a7433,transparent 60%),#2b202c;height:min(650px,82dvh);max-height:calc(100dvh - 24px)}
 body[data-mode="chat"] #chat #people-panel .people-heading{padding-right:46px;min-height:63px;margin-bottom:15px;padding-bottom:15px}
 body[data-mode="chat"] #chat #people-panel .people-title h3{font-size:23px}
 body[data-mode="chat"] #chat #people-panel .people-live{margin-top:23px}
 body[data-mode="chat"] #chat #people-panel #close-users{top:7px;right:0;border:1px solid #b78ba24d;border-radius:9px;background:#ffffff09;color:#f5d9ea;box-shadow:none}
 body[data-mode="chat"] #chat #people-panel #users .people-contact-actions{grid-template-columns:minmax(0,1fr) 44px}
 body[data-mode="chat"] #chat #people-panel #users .people-contact-actions>button{min-height:42px;font-size:12px}
 body[data-mode="chat"] #chat #people-panel #users .user-tools .user-tool{min-height:32px;font-size:10px}
 body[data-mode="chat"] #chat #people-panel #users .user-info small{font-size:11px}
 body[data-mode="chat"].chat-keyboard-open #chat #people-panel{height:min(650px,calc(var(--chat-visible-height,100dvh) - 20px));max-height:calc(var(--chat-visible-height,100dvh) - 20px)}
}
@media(prefers-reduced-motion:reduce){
 body[data-mode="chat"] #chat #people-panel :is(.user-row,.filters button,.people-contact-actions>button){transition:none}
}

/* Lighter, quieter directory: less repeated text, same contact actions. */
body[data-mode="chat"] #chat #people-panel{padding-top:18px;border-left-color:#d8c7d2;background:linear-gradient(160deg,#f7f0f4,#eee3eb);color:#654458;color-scheme:light}
body[data-mode="chat"] #chat #people-panel .people-heading{margin-bottom:15px;padding-bottom:14px;min-height:36px;border-bottom-color:#d7c2d0;align-items:center}
body[data-mode="chat"] #chat #people-panel .people-title h3{font-size:19px;font-weight:600;color:#674359;letter-spacing:-.3px}
body[data-mode="chat"] #chat #people-panel .people-live{align-self:center;margin-top:0;border:0;border-radius:0;background:transparent;color:#52735f;padding:4px 0;font-size:9px}
body[data-mode="chat"] #chat #people-panel .people-live strong{color:#44634f}
body[data-mode="chat"] #chat #people-panel .people-live i{background:#58956c;box-shadow:none}
body[data-mode="chat"] #chat #people-panel .user-search-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
body[data-mode="chat"] #chat #people-panel #user-search{border-color:#ddcbd7;background:#fffafdf0;color:#654058;box-shadow:none;min-height:39px}
body[data-mode="chat"] #chat #people-panel #user-search::placeholder{color:#927689}
body[data-mode="chat"] #chat #people-panel #user-search:focus{border-color:#ab7696;box-shadow:0 0 0 2px #ab769612}
body[data-mode="chat"] #chat #people-panel .filters{margin:11px 0 13px;gap:4px}
body[data-mode="chat"] #chat #people-panel .filters button{min-height:29px;color:#806276;background:transparent;border-color:transparent;padding:5px 8px}
body[data-mode="chat"] #chat #people-panel .filters button:hover{background:#fff7fbb3;color:#674359}
body[data-mode="chat"] #chat #people-panel .filters button.active{color:#fff8fc;background:#946c86;border-color:#946c86;box-shadow:none}
body[data-mode="chat"] #chat #people-panel #users{gap:8px;scrollbar-color:#c2a5b8 #0000}
body[data-mode="chat"] #chat #people-panel #users::-webkit-scrollbar-thumb{background:#c2a5b8}
body[data-mode="chat"] #chat #people-panel #users .user-row{padding:11px 10px 6px;gap:8px 10px;border-color:#ddcbd8;background:#fffafdf0;border-radius:10px;box-shadow:none}
body[data-mode="chat"] #chat #people-panel #users .user-row:hover{border-color:#c5a1b7;background:#fffafd}
body[data-mode="chat"] #chat #people-panel #users .user-row.is-self{padding-bottom:11px;background:#e9dce6;border-color:#d9c2d2}
body[data-mode="chat"] #chat #people-panel #users .user-row.is-blocked{background:#f0e7ec;border-color:#dfcdd7}
body[data-mode="chat"] #chat #people-panel #users .people-avatar{border-color:#d5b4c9;background:linear-gradient(135deg,#f7e4f0,#c9a5bd);box-shadow:none}
body[data-mode="chat"] #chat #people-panel #users .people-online-dot{border-color:#fffafd;background:#5c9a76}
body[data-mode="chat"] #chat #people-panel #users .user-identity :is(.nick-btn,.people-nickname){color:#6d405c;font-size:13px}
body[data-mode="chat"] #chat #people-panel #users .user-identity button.nick-btn:hover{color:#9a4f7c}
body[data-mode="chat"] #chat #people-panel #users .self-label{color:#77566b;background:#d9c4d2;border:0}
body[data-mode="chat"] #chat #people-panel #users .gender-symbol.male{color:#4e7a9a}
body[data-mode="chat"] #chat #people-panel #users .gender-symbol.female{color:#a35c83}
body[data-mode="chat"] #chat #people-panel #users .gender-symbol.diverse{color:#7d6597}
body[data-mode="chat"] #chat #people-panel #users .user-info{margin-top:5px;gap:0}
body[data-mode="chat"] #chat #people-panel #users .user-info small{display:none}
body[data-mode="chat"] #chat #people-panel #users .user-room-label{padding:0;border:0;border-radius:0;background:transparent;color:#8b6e80;font-size:10px;line-height:1.4}
body[data-mode="chat"] #chat #people-panel #users .people-contact-actions{margin-top:1px}
body[data-mode="chat"] #chat #people-panel #users .people-contact-actions>button{background:#ead7e4;border-color:#d4b6ca;color:#75425f;box-shadow:none;min-height:36px}
body[data-mode="chat"] #chat #people-panel #users .people-write:hover{background:#e3c9da;border-color:#c9a5bc;color:#60364d}
body[data-mode="chat"] #chat #people-panel #users .people-contact-actions .people-call{background:#3d825c;border-color:#3d825c;color:#fff;box-shadow:none}
body[data-mode="chat"] #chat #people-panel #users .people-call:hover{background:#326f4d;border-color:#326f4d}
body[data-mode="chat"] #chat #people-panel #users .people-contact-actions>button:focus-visible{outline-color:#a66e91}
body[data-mode="chat"] #chat #people-panel #users .people-call:focus-visible{outline-color:#4e8c67}
body[data-mode="chat"] #chat #people-panel #users .user-tools .user-tool{color:#8d7181;font-size:9px;min-height:25px}
body[data-mode="chat"] #chat #people-panel #users .user-tools .user-tool:hover{color:#70435d}
body[data-mode="chat"] #chat #people-panel #users .user-blocked-label{background:#e8d7df;border:0;color:#8f566b}
body[data-mode="chat"] #chat #people-panel .people-note{display:none}
body[data-mode="chat"] #chat #people-panel .people-empty{color:#927789}
body[data-mode="chat"] #chat #people-panel .people-empty strong{color:#79546c}
@media(max-width:780px){
 body[data-mode="chat"] #chat #people-panel{background:linear-gradient(155deg,#f7f0f4,#eee3eb);border-color:#cbaabe;padding-top:16px;grid-template-rows:auto auto auto minmax(0,1fr)}
 body[data-mode="chat"] #chat #people-panel .people-heading{min-height:40px;padding-right:46px;padding-bottom:12px;margin-bottom:14px}
 body[data-mode="chat"] #chat #people-panel #close-users{top:0;border-color:#d7b9cd;background:#fdf6fb;color:#895e78}
 body[data-mode="chat"] #chat #people-panel #users .people-contact-actions>button{min-height:41px}
 body[data-mode="chat"] #chat #people-panel #users .user-tools .user-tool{min-height:30px;font-size:10px}
}

/* Keep the whole mobile chat inside the visible keyboard viewport. */
@media(max-width:780px){
 html.chat-viewport-locked{height:100%;min-height:0;overflow:hidden;overscroll-behavior:none;scroll-behavior:auto}
 html.chat-viewport-locked body[data-mode="chat"].mobile-chat-viewport{inset:auto 0 auto 0;top:var(--chat-visible-top,0px);height:var(--chat-visible-height,100dvh);min-height:0;max-height:var(--chat-visible-height,100dvh);overflow:hidden;display:flex;flex-direction:column}
 html.chat-viewport-locked body[data-mode="chat"]>.topbar{flex:0 0 58px;width:100%;margin:0 auto}
 html.chat-viewport-locked body[data-mode="chat"] #chat{flex:1 1 0;height:auto;min-height:0;max-height:none;grid-template-rows:auto minmax(0,1fr);margin:5px 8px calc(7px + env(safe-area-inset-bottom,0px))}
 html.chat-viewport-locked body[data-mode="chat"] #chat>.sidebar{min-height:0;grid-template-rows:38px 38px;padding:9px 11px}
 html.chat-viewport-locked body[data-mode="chat"] #chat .inbox-section{display:block}
 html.chat-viewport-locked body[data-mode="chat"] #chat .chat-main{min-height:0;min-width:0}
 html.chat-viewport-locked body[data-mode="chat"] #chat #message{font-size:16px}
}

/* More conversation space while the mobile keyboard is open. */
@media(max-width:780px){
 html.chat-viewport-locked body[data-mode="chat"].chat-keyboard-open>.topbar{display:none}
 html.chat-viewport-locked body[data-mode="chat"].chat-keyboard-open #chat{margin-top:4px;margin-bottom:calc(4px + env(safe-area-inset-bottom,0px))}
 html.chat-viewport-locked body[data-mode="chat"].chat-keyboard-open #chat>.sidebar{grid-template-columns:minmax(70px,.65fr) minmax(0,1fr) auto;grid-template-rows:38px;gap:7px;padding:7px 8px;background:linear-gradient(110deg,#392437,#2b1d2c)}
 html.chat-viewport-locked body[data-mode="chat"].chat-keyboard-open #chat .room-section{grid-column:1;grid-row:1;min-width:0}
 html.chat-viewport-locked body[data-mode="chat"].chat-keyboard-open #chat #rooms{width:100%;min-width:0}
 html.chat-viewport-locked body[data-mode="chat"].chat-keyboard-open #chat #rooms .room-button{padding:7px 8px;gap:5px}
 html.chat-viewport-locked body[data-mode="chat"].chat-keyboard-open #chat .inbox-section{grid-column:2;grid-row:1;min-width:0}
 html.chat-viewport-locked body[data-mode="chat"].chat-keyboard-open #chat #inbox-toggle{width:100%;min-width:0;gap:5px;padding:7px 8px;font-size:11px}
 html.chat-viewport-locked body[data-mode="chat"].chat-keyboard-open #chat #inbox-toggle>span:nth-child(2){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 html.chat-viewport-locked body[data-mode="chat"].chat-keyboard-open #chat #inbox-count{flex-shrink:0}
 html.chat-viewport-locked body[data-mode="chat"].chat-keyboard-open #chat .sidebar-bottom{grid-column:3;grid-row:1}
 html.chat-viewport-locked body[data-mode="chat"].chat-keyboard-open #chat #leave{gap:4px;padding:7px 6px;font-size:10px}
 html.chat-viewport-locked body[data-mode="chat"].chat-keyboard-open #chat .chat-main{grid-template-rows:64px minmax(0,1fr) 96px 18px}
 html.chat-viewport-locked body[data-mode="chat"].chat-keyboard-open #chat .composer{flex-wrap:wrap;align-content:center;gap:4px;padding:7px 8px}
 html.chat-viewport-locked body[data-mode="chat"].chat-keyboard-open #chat .composer #message{flex:1 0 100%;width:100%;min-width:0;height:40px;min-height:40px;max-height:40px;padding:9px 10px;border-radius:12px;font-size:16px;line-height:20px}
 html.chat-viewport-locked body[data-mode="chat"].chat-keyboard-open #chat .composer .icon-btn{flex:0 0 30px;width:30px;min-width:30px;height:36px;min-height:36px;padding:5px}
 html.chat-viewport-locked body[data-mode="chat"].chat-keyboard-open #chat #connection{padding:0 10px;line-height:16px}
 html.chat-viewport-locked body[data-mode="chat"].chat-keyboard-open #chat #image-preview{bottom:122px}
 html.chat-viewport-locked body[data-mode="chat"].chat-keyboard-open #chat #video-preview{bottom:122px;max-height:110px}
 html.chat-viewport-locked body[data-mode="chat"].chat-keyboard-open #chat #pending-video{max-height:60px}
 html.chat-viewport-locked body[data-mode="chat"].chat-keyboard-open #chat #emoji-picker{max-height:140px}
}

/* Private call: readable controls and quiet rose tones. */
#private-call-dialog{padding:24px;border:1px solid #c8a9bd;border-radius:18px;background:#f7f0f5;color:#503247;box-shadow:0 24px 90px #140c1db3;font-family:Arial,Helvetica,sans-serif}
#private-call-dialog::backdrop{background:#160f21d9;backdrop-filter:blur(8px)}
#private-call-dialog .private-call-heading{align-items:center;padding-bottom:16px;border-bottom:1px solid #decbd8}
#private-call-dialog .video-dialog-kicker{color:#94647f;font-size:9px;letter-spacing:1.5px;margin-bottom:6px}
#private-call-dialog #call-peer-name{font-size:25px;color:#53344a;font-weight:600;letter-spacing:-.4px}
#private-call-dialog .private-call-heading #call-close{background:#efe2eb;border:1px solid #dbc2d2;border-radius:10px;color:#885772;height:36px;font-size:25px;line-height:1}
#private-call-dialog #call-peer-avatar{margin:26px 0 12px}
#private-call-dialog #call-peer-avatar>.call-peer-avatar{width:82px;height:82px;border:4px solid #fff9fd;border-radius:24px;overflow:hidden;box-shadow:0 0 0 1px #d7b9cc,0 8px 20px #57304b16}
#private-call-dialog #call-peer-avatar>.call-peer-avatar svg{width:100%;height:100%}
#private-call-dialog #call-status{margin:14px 0;color:#785c70;font-size:13px;line-height:1.6}
#private-call-dialog .call-camera-hint{margin:12px 0 0;padding:10px 14px;border:1px solid #d9c6d3;border-radius:10px;background:#fffafd;color:#7c5d72;font-size:12px;line-height:1.6}
#private-call-dialog #call-video-stage{margin-top:14px;border-color:#c4a5b9;border-radius:13px;min-height:140px;background:#000}
#private-call-dialog #call-remote-video{height:min(43dvh,350px);background:#000}
#private-call-dialog #call-local-video{border:2px solid #fff0f9;border-radius:10px;box-shadow:0 4px 20px #0006}
#private-call-dialog:has(#call-video-stage:not([hidden])) #call-peer-avatar{display:none}
#private-call-dialog #call-incoming-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:20px 0 0;align-items:stretch}
#private-call-dialog #call-incoming-actions button{display:flex;flex-direction:column;justify-content:center;gap:5px;width:100%;max-width:none;min-width:0;height:auto;min-height:94px;padding:14px 10px;border-radius:13px;box-shadow:0 4px 12px #38203310;font-family:inherit}
#private-call-dialog #call-incoming-actions button svg{width:25px;height:25px}
#private-call-dialog #call-incoming-actions .call-action-label{font-size:14px;font-weight:600;line-height:1.3}
#private-call-dialog #call-incoming-actions small{font-size:10px;line-height:1.3;color:#e0f4e7}
#private-call-dialog #call-incoming-actions #call-accept{background:#25794e;border-color:#388e61;color:#fff}
#private-call-dialog #call-incoming-actions #call-decline{background:#b34259;border-color:#c4596d;color:#fff}
#private-call-dialog #call-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:16px 0 0}
#private-call-dialog #call-controls button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;max-width:none;min-width:0;min-height:76px;padding:12px 5px;background:#fffafd;border:1px solid #dac1d2;border-radius:12px;color:#78556d;font:12px/1.3 Arial,Helvetica,sans-serif;box-shadow:0 2px 6px #56324a06}
#private-call-dialog #call-controls button svg{width:23px;height:23px;flex-shrink:0}
#private-call-dialog #call-controls #call-mic[aria-pressed="true"]{background:#f7dce3;border-color:#c77d91;color:#9c3d56}
#private-call-dialog #call-controls #call-camera[aria-pressed="true"]{background:#dfefe5;border-color:#85b39a;color:#286a48}
#private-call-dialog #call-controls #call-hangup{background:#b34259;border-color:#c4596d;color:#fff;font-size:12px;font-weight:600}
#private-call-dialog #call-controls button:disabled{opacity:.45;box-shadow:none;cursor:default}
#private-call-dialog button:focus-visible{outline:3px solid #9d6689;outline-offset:3px}
#private-call-dialog #call-play{background:#fff6fceF;border-color:#d6b5ca;color:#67425a;border-radius:9px;font-size:12px}
#private-call-dialog .call-permission-help{background:#fff9ed;border-color:#dfcda8;border-radius:12px;color:#695332}
#private-call-dialog .call-permission-help h3{color:#755c35}
#private-call-dialog .call-permission-help :is(p,li,summary){color:#806a48}
#private-call-dialog .call-permission-actions button{border-color:#c9a9be;border-radius:9px;background:#efe0ea;color:#65445b}
#private-call-dialog #call-permission-retry:not(:disabled){background:#25794e;border-color:#388e61;color:#fff}
@media(max-width:480px){
 #private-call-dialog{width:calc(100vw - 20px);max-width:calc(100vw - 20px);padding:17px;border-radius:15px}
 #private-call-dialog #call-peer-name{font-size:22px}
 #private-call-dialog #call-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 #private-call-dialog #call-controls button{min-height:59px;flex-direction:row;gap:8px;padding:10px 7px;font-size:12px}
 #private-call-dialog #call-remote-video{height:34dvh}
 #private-call-dialog #call-incoming-actions{gap:10px}
}
@media(max-height:540px){
 #private-call-dialog{padding:12px}
 #private-call-dialog #call-peer-avatar{margin:12px 0 8px}
 #private-call-dialog #call-status{margin:8px 0}
 #private-call-dialog #call-remote-video{height:28dvh}
 #private-call-dialog #call-controls button{min-height:52px;padding:8px 5px}
}

/* Equal camera tiles and controls that separate action from current state. */
#private-call-dialog{width:min(760px,calc(100vw - 24px))}
#private-call-dialog #call-video-stage{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;min-height:0;background:transparent;border:0;border-radius:0;overflow:visible;touch-action:pan-y}
#private-call-dialog .call-camera-tile{position:relative;isolation:isolate;min-width:0;width:100%;aspect-ratio:4/3;overflow:hidden;border:1px solid #b89aac;border-radius:12px;background:#000}
#private-call-dialog #call-remote-frame{touch-action:none;overscroll-behavior:contain}
#private-call-dialog :is(#call-remote-video,#call-local-video){position:absolute;inset:0;display:block;width:100%;height:100%;max-width:100%;max-height:none;object-fit:contain;border:0;border-radius:0;background:#000;box-shadow:none}
#private-call-dialog #call-local-video{z-index:1;transform:scaleX(-1)}
#private-call-dialog #call-local-video.rear-camera{transform:none}
#private-call-dialog .call-video-label{position:absolute;top:9px;left:9px;max-width:calc(100% - 18px);padding:5px 9px;border:1px solid #ffffff30;border-radius:6px;background:#160e1cba;color:#fff5fb;font:600 11px/1.3 Arial,Helvetica,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;z-index:4;pointer-events:none}
#private-call-dialog .call-camera-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:25px;text-align:center;color:#f0dce8;background:#171219;font:13px/1.5 Arial,Helvetica,sans-serif}
#private-call-dialog .call-camera-placeholder small{color:#b59dac;font-size:11px;max-width:23ch}
#private-call-dialog #call-play{top:auto;bottom:10px;left:10px;z-index:5}
#private-call-dialog #call-zoom-reset{top:auto;bottom:10px;right:10px;z-index:5;font-size:10px;max-width:54%}
#private-call-dialog #call-remote-frame.call-is-zoomed{cursor:grab}
#private-call-dialog #call-remote-frame.call-is-zoomed:active{cursor:grabbing}
#private-call-dialog #call-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
#private-call-dialog #call-controls button{flex-direction:row;justify-content:flex-start;gap:12px;min-height:69px;padding:12px 16px;text-align:left}
#private-call-dialog #call-controls svg{width:24px;height:24px}
#private-call-dialog .call-control-copy{display:flex;flex-direction:column;gap:4px;min-width:0}
#private-call-dialog .call-control-copy strong{font-size:13px;font-weight:600;line-height:1.3}
#private-call-dialog .call-control-copy small{font-size:10px;line-height:1.3;color:#97778b}
#private-call-dialog #call-hangup .call-control-copy small{color:#ffe1e8}
#private-call-dialog #call-controls button[aria-pressed="true"] .call-control-copy small{color:inherit;opacity:.8}
@media(max-width:480px){
 #private-call-dialog{width:calc(100vw - 20px);padding:15px}
 #private-call-dialog #call-video-stage{grid-template-columns:minmax(0,1fr);gap:8px}
 #private-call-dialog .call-camera-tile{aspect-ratio:auto;height:clamp(110px,21dvh,190px)}
 #private-call-dialog #call-controls{gap:8px}
 #private-call-dialog #call-controls button{gap:8px;padding:10px;min-height:68px}
 #private-call-dialog .call-control-copy strong{font-size:12px}
 #private-call-dialog #call-controls svg{width:21px;height:21px}
 #private-call-dialog .call-camera-hint{font-size:11px;padding:8px 10px}
}
@media(max-height:540px) and (min-width:481px){#private-call-dialog .call-camera-tile{aspect-ratio:auto;height:30dvh}}

/* The call fills the available height; only the camera tiles shrink. */
#private-call-dialog{--call-space:calc(var(--chat-visible-height,100dvh) - 20px);max-height:var(--call-space);overflow:hidden;background:linear-gradient(145deg,#faf4f8 0%,#eee2ed 65%,#e5d6e6 100%);border:1px solid #c4a6bd;box-shadow:0 24px 100px #1d1025a8,0 1px 0 #ffffffbd inset;padding:20px}
#private-call-dialog[open]{display:flex;flex-direction:column;gap:0}
#private-call-dialog[open]:has(#call-video-stage:not([hidden])){height:min(790px,var(--call-space))}
#private-call-dialog>.private-call-heading,#private-call-dialog>#call-status,#private-call-dialog>.call-camera-hint,#private-call-dialog>#call-controls,#private-call-dialog>#call-incoming-actions{flex:0 0 auto}
#private-call-dialog .private-call-heading{padding-bottom:12px;border-color:#cfb6c9}
#private-call-dialog #call-peer-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;color:#5b3451;font-size:23px}
#private-call-dialog .video-dialog-kicker{color:#926182;font-size:9px}
#private-call-dialog .private-call-heading #call-close{background:#e8d9e5;border-color:#cdb1c5;color:#784b6b}
#private-call-dialog #call-status{margin:10px 0;font-size:12px;line-height:1.45;color:#7e5b75}
#private-call-dialog #call-video-stage{flex:1 1 0;min-height:0;grid-template-rows:minmax(0,1fr);gap:10px;margin:0;overflow:hidden}
#private-call-dialog #call-video-stage .call-camera-tile{height:100%;min-height:0;aspect-ratio:auto;border-color:#ab879f;border-radius:12px;box-shadow:0 3px 12px #39213e12}
#private-call-dialog .call-video-label{border-color:#e2bdd84d;background:#312136c9;color:#fff2fb}
#private-call-dialog .call-camera-placeholder{background:radial-gradient(ellipse at 50% 30%,#302332,#161019 85%);color:#e4cadf}
#private-call-dialog .call-camera-placeholder small{color:#ad91a6}
#private-call-dialog .call-camera-hint{padding:8px 12px;margin-top:10px;border-color:#d3bccf;background:#fdf6fbc9;color:#805a75;font-size:11px;line-height:1.45}
#private-call-dialog #call-controls{margin-top:12px;gap:8px}
#private-call-dialog #call-controls button{min-height:62px;padding:10px 14px;background:#fff9fdda;border-color:#ceb1c7;color:#744a67;box-shadow:0 2px 6px #53304d0a}
#private-call-dialog #call-controls #call-camera{background:#eaddebd9;border-color:#c6a9c3;color:#70496a}
#private-call-dialog #call-controls #call-camera[aria-pressed="true"]{background:#dfefe6;border-color:#8bb59e;color:#326f4d}
#private-call-dialog #call-controls #call-mic[aria-pressed="true"]{background:#f5dce5;border-color:#c98ca1;color:#99415d}
#private-call-dialog #call-controls #call-hangup{background:linear-gradient(120deg,#b74768,#963653);border-color:#b75b76;color:#fff6fa}
#private-call-dialog .call-control-copy strong{font-size:12px}
#private-call-dialog .call-control-copy small{font-size:10px;color:#93758c}
#private-call-dialog #call-peer-avatar{flex:0 1 auto;min-height:0;margin:18px 0 8px}
#private-call-dialog .call-permission-help{flex:0 1 auto;min-height:0;max-height:min(260px,40dvh);overflow:auto;margin:10px 0}
#private-call-dialog:has(#call-permission-help:not([hidden])) .call-camera-hint{display:none}
@media(max-width:480px){
 #private-call-dialog{padding:14px;border-radius:15px}
 #private-call-dialog .private-call-heading{padding-bottom:10px}
 #private-call-dialog #call-peer-name{font-size:20px}
 #private-call-dialog #call-video-stage{grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(2,minmax(0,1fr));gap:8px}
 #private-call-dialog #call-status{margin:8px 0;font-size:11px}
 #private-call-dialog #call-controls button{min-height:59px;padding:9px 10px;gap:8px}
 #private-call-dialog .call-camera-placeholder{padding:24px 12px 10px;gap:4px;font-size:12px}
 #private-call-dialog .call-camera-placeholder small{font-size:10px;max-width:30ch}
}
@media(max-height:540px){
 #private-call-dialog{padding:10px 12px}
 #private-call-dialog .private-call-heading{padding-bottom:6px}
 #private-call-dialog .video-dialog-kicker{display:none}
 #private-call-dialog #call-peer-name{font-size:18px}
 #private-call-dialog #call-status{margin:5px 0;font-size:10px}
 #private-call-dialog #call-video-stage{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:minmax(0,1fr);gap:7px}
 #private-call-dialog .call-camera-hint{margin-top:6px;padding:5px 8px;font-size:10px}
 #private-call-dialog #call-controls{margin-top:7px;gap:6px}
 #private-call-dialog #call-controls button{min-height:45px;padding:7px;gap:6px}
 #private-call-dialog .call-control-copy{gap:2px}
 #private-call-dialog .call-control-copy strong{font-size:11px}
 #private-call-dialog .call-control-copy small{font-size:9px}
 #private-call-dialog #call-peer-avatar{margin:8px 0}
 #private-call-dialog #call-peer-avatar>.call-peer-avatar{width:48px;height:48px;border-radius:15px}
 #private-call-dialog #call-incoming-actions{margin-top:10px}
 #private-call-dialog #call-incoming-actions button{min-height:68px;padding:8px;gap:3px}
 #private-call-dialog .call-camera-placeholder small{display:none}
}

/* Quiet dark call surface with familiar round calling controls. */
#private-call-dialog{background:linear-gradient(160deg,#1b2a30,#111b21 70%);border:1px solid #34464f;color:#e9edef;box-shadow:0 25px 100px #000b;border-radius:20px;padding:20px}
#private-call-dialog::backdrop{background:#03090de8;backdrop-filter:blur(9px)}
#private-call-dialog .private-call-heading{border:0;padding-bottom:6px}
#private-call-dialog .video-dialog-kicker{display:none}
#private-call-dialog #call-peer-name{color:#f0f3f4;font-size:24px;font-weight:500;letter-spacing:0}
#private-call-dialog .private-call-heading #call-close{background:#ffffff08;border:0;color:#aab8bf;border-radius:50%}
#private-call-dialog #call-status{color:#a7b7bf;font-size:12px;margin:8px 0 16px}
#private-call-dialog #call-peer-avatar{margin:24px 0 18px}
#private-call-dialog #call-peer-avatar>.call-peer-avatar{width:94px;height:94px;border:3px solid #31474e;border-radius:50%;box-shadow:0 0 0 8px #ffffff03}
#private-call-dialog .call-camera-hint{display:none}
#private-call-dialog #call-video-stage{gap:9px}
#private-call-dialog #call-video-stage .call-camera-tile{border-color:#34464c;border-radius:12px;box-shadow:none;background:#080f13}
#private-call-dialog .call-video-label{background:#111b21a8;border:0;border-radius:6px;color:#e9edef;font-size:11px;font-weight:400;padding:5px 8px}
#private-call-dialog .call-camera-placeholder{background:#172329;color:#94a8b1;font-size:12px;font-weight:400}
#private-call-dialog .call-camera-placeholder small{display:none}
#private-call-dialog #call-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-top:16px;padding-top:12px;border-top:1px solid #ffffff0a}
#private-call-dialog #call-controls button,#private-call-dialog #call-controls #call-camera,#private-call-dialog #call-controls #call-hangup,#private-call-dialog #call-controls #call-camera[aria-pressed="true"],#private-call-dialog #call-controls #call-mic[aria-pressed="true"]{display:flex;flex-direction:column;justify-content:flex-start;align-items:center;gap:8px;min-height:80px;padding:0 2px;background:none;border:0;border-radius:10px;box-shadow:none;color:#e9edef;text-align:center}
#private-call-dialog #call-controls button svg{display:block;width:50px;height:50px;padding:14px;border-radius:50%;background:#2c3e46;color:#e9edef;flex-shrink:0;transition:background .15s}
#private-call-dialog #call-controls #call-mic[aria-pressed="true"] svg{background:#e9edef;color:#213139}
#private-call-dialog #call-controls #call-camera[aria-pressed="true"] svg{background:#dceee6;color:#1d6b4a}
#private-call-dialog #call-controls #call-hangup svg{background:#e44758;color:#fff}
#private-call-dialog #call-controls button:not(:disabled):hover svg{filter:brightness(1.15)}
#private-call-dialog #call-controls button:disabled{opacity:.35}
#private-call-dialog .call-control-copy{gap:0;align-items:center}
#private-call-dialog .call-control-copy strong{font-size:11px;font-weight:400;line-height:1.4;white-space:nowrap;color:#c3d0d6}
#private-call-dialog .call-control-copy small{display:none}
#private-call-dialog #call-incoming-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;max-width:320px;width:100%;align-self:center;margin:28px 0 8px}
#private-call-dialog #call-incoming-actions #call-accept,#private-call-dialog #call-incoming-actions #call-decline{background:none;border:0;border-radius:12px;box-shadow:none;min-height:102px;padding:0;gap:12px;color:#e9edef}
#private-call-dialog #call-incoming-actions button svg{width:66px;height:66px;padding:20px;border-radius:50%;background:#21a36b;color:#fff}
#private-call-dialog #call-incoming-actions #call-decline svg{background:#e44758}
#private-call-dialog #call-incoming-actions .call-action-label{font-size:12px;font-weight:400;color:#c3d0d6}
#private-call-dialog #call-incoming-actions small{display:none}
#private-call-dialog #call-play{background:#23343deF;border-color:#526770;color:#e9edef}
#private-call-dialog .call-permission-help{background:#203039;border-color:#43575f;color:#e9edef}
#private-call-dialog .call-permission-help h3{color:#e9edef}
#private-call-dialog .call-permission-help :is(p,li,summary){color:#bccbd2}
#private-call-dialog .call-permission-actions button{background:#30454f;border-color:#526871;color:#e9edef}
#private-call-dialog #call-permission-retry:not(:disabled){background:#218d63;border-color:#32a577;color:#fff}
#private-call-dialog button:focus-visible{outline:2px solid #65d7b0;outline-offset:4px}
@media(max-width:480px){
 #private-call-dialog{padding:16px;border-radius:18px}
 #private-call-dialog #call-peer-name{font-size:22px}
 #private-call-dialog #call-controls{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin-top:12px;padding-top:10px}
 #private-call-dialog #call-controls button{min-height:76px;gap:7px;padding:0 1px}
 #private-call-dialog #call-controls button svg{width:46px;height:46px;padding:12px}
 #private-call-dialog .call-control-copy strong{font-size:10px}
}
@media(max-height:540px){
 #private-call-dialog{padding:10px 12px}
 #private-call-dialog #call-status{margin:5px 0 8px;font-size:11px}
 #private-call-dialog #call-controls{margin-top:8px;padding-top:7px}
 #private-call-dialog #call-controls button{min-height:59px;gap:5px}
 #private-call-dialog #call-controls button svg{width:36px;height:36px;padding:9px}
 #private-call-dialog #call-peer-avatar{margin:10px 0}
 #private-call-dialog #call-peer-avatar>.call-peer-avatar{width:56px;height:56px}
 #private-call-dialog #call-incoming-actions{margin:14px 0 0}
 #private-call-dialog #call-incoming-actions button{min-height:80px;gap:7px}
 #private-call-dialog #call-incoming-actions button svg{width:52px;height:52px;padding:15px}
}
@media(prefers-reduced-motion:reduce){#private-call-dialog #call-controls button svg{transition:none}}

/* Device icons reflect the existing microphone/camera state. */
#private-call-dialog .call-icon-slash{display:none;pointer-events:none}
#private-call-dialog #call-mic[aria-pressed="true"] .call-icon-slash,
#private-call-dialog #call-camera[aria-pressed="false"] .call-icon-slash{display:inline}

/* The label states the current device state; the crossed icon means off. */
#private-call-dialog #call-controls #call-mic[aria-pressed="true"] svg,
#private-call-dialog #call-controls #call-camera[aria-pressed="false"] svg{background:#54323c;color:#ffc2cc}
#private-call-dialog #call-controls #call-mic[aria-pressed="true"] .call-control-copy strong,
#private-call-dialog #call-controls #call-camera[aria-pressed="false"] .call-control-copy strong{color:#ffc2cc}

/* A clearer nickname entrance, scoped to the start page. */
body[data-mode="chat"] #landing .join-card{border-color:#d1afc2;background:linear-gradient(145deg,#fffafbf5,#f3e5edf5)}
body[data-mode="chat"] #landing .join-card .nickname-label{display:block;margin-top:17px}
body[data-mode="chat"] #landing .join-card .nickname-label-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:7px;color:#674458;font-size:13px;font-weight:600}
body[data-mode="chat"] #landing .join-card .nickname-label-row small{font-size:10px;font-weight:400;white-space:nowrap;color:#947285}
body[data-mode="chat"] #landing .join-card .nickname-input-wrap{position:relative;display:flex;align-items:center;min-width:0;min-height:49px;background:#fff9fc;border:1px solid #cbaabd;border-radius:4px;box-shadow:0 2px 7px #65334708;transition:border-color .18s,box-shadow .18s,background .18s}
body[data-mode="chat"] #landing .join-card .nickname-input-icon{display:flex;align-items:center;justify-content:center;flex:0 0 46px;width:46px;height:30px;margin-left:2px;border-right:1px solid #ead8e2;color:#98647e;pointer-events:none}
body[data-mode="chat"] #landing .join-card .nickname-input-icon svg{width:23px;height:23px}
body[data-mode="chat"] #landing .join-card #guest-nickname{display:block;flex:1 1 0;min-width:0;width:100%;height:47px;margin:0;padding:11px 13px;border:0;border-radius:0;background:transparent;box-shadow:none;outline:0;font-size:16px;line-height:24px;font-weight:500;letter-spacing:.1px;color:#513044}
body[data-mode="chat"] #landing .join-card #guest-nickname::placeholder{color:#a08093;font-weight:400;letter-spacing:0;font-size:14px;opacity:1}
body[data-mode="chat"] #landing .join-card .nickname-input-wrap:focus-within{border-color:#a85b7e;background:#fffdfd;box-shadow:0 0 0 3px #a85b7e16}
body[data-mode="chat"] #landing .join-card .nickname-input-wrap:focus-within .nickname-input-icon{color:#9c466e;border-right-color:#dfbfd0}
@media(min-width:781px){body[data-mode="chat"] #landing .join-card .nickname-label{margin-top:12px}}
@media(prefers-reduced-motion:reduce){body[data-mode="chat"] #landing .join-card .nickname-input-wrap{transition:none}}


/* One consistent online badge on the landing page and in the chat header. */
.topbar .index-online-copy small{display:none}
body[data-mode="chat"] .topbar .live{display:flex;align-items:center;gap:10px;flex:0 0 auto;min-height:42px;padding:9px 13px;border:1px solid #d7afc66b;border-radius:6px;background:linear-gradient(120deg,#57364be8,#332335f0);box-shadow:inset 0 1px 0 #ffedf520,0 4px 15px #150b221c;backdrop-filter:blur(12px);color:#fff0f8;white-space:nowrap}
body[data-mode="chat"] .topbar .live i{display:block;flex:0 0 7px;width:7px;height:7px;border-radius:50%;background:#88e0b3;box-shadow:0 0 0 4px #88e0b310,0 0 10px #88e0b32b}
body[data-mode="chat"] .topbar #online-count{font:600 23px/1 Arial,Helvetica,sans-serif;font-variant-numeric:tabular-nums;letter-spacing:-.5px;color:#fff6fc}
body[data-mode="chat"] .topbar .index-online-copy{display:flex;flex-direction:column;gap:3px;padding-left:10px;border-left:1px solid #dfbdd044;font:500 11px/1.15 Arial,Helvetica,sans-serif;color:#f2dce9}
body[data-mode="chat"] .topbar .index-online-copy small{display:block;font-size:8px;font-weight:400;color:#ceb0c4;letter-spacing:.15px}
body[data-mode="chat"]:has(#chat:not([hidden])) .topbar .live{min-height:38px;padding:7px 11px;gap:9px}
body[data-mode="chat"]:has(#chat:not([hidden])) .topbar #online-count{font-size:20px}
@media(max-width:780px){
 body[data-mode="chat"] .topbar{gap:12px}
 body[data-mode="chat"] .topbar .brand.chat69-brand{min-width:0;max-width:calc(100% - 124px)}
 body[data-mode="chat"] .topbar .top-actions{flex:0 0 auto;min-width:0}
 body[data-mode="chat"] .topbar .live{min-height:40px;gap:8px;padding:8px 10px}
 body[data-mode="chat"] .topbar #online-count{font-size:22px}
 body[data-mode="chat"] .topbar .index-online-copy{padding-left:8px;font-size:10px}
 body[data-mode="chat"] .topbar .index-online-copy small{font-size:8px}
 body[data-mode="chat"]:has(#chat:not([hidden])) .topbar .live{min-height:38px;max-height:42px;padding:6px 9px;gap:7px}
 body[data-mode="chat"]:has(#chat:not([hidden])) .topbar #online-count{font-size:20px}
}

/* A lighter contact directory with clearly named actions. */
body[data-mode="chat"] #chat #people-panel{background:linear-gradient(150deg,#f5edf3,#e8dce7);border-left-color:#cfb8c9;padding-top:19px}
body[data-mode="chat"] #chat #people-panel .people-heading{gap:9px;padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid #cdb5c6}
body[data-mode="chat"] #chat #people-panel .people-title h3{color:#603b53;font-size:18px;font-weight:600;letter-spacing:-.25px}
body[data-mode="chat"] #chat #people-panel .people-live{display:inline-flex;align-items:center;gap:5px;padding:5px 7px;border:1px solid #c4d7c9;border-radius:5px;background:#edf5ef;color:#548267;font-size:9px;white-space:nowrap}
body[data-mode="chat"] #chat #people-panel .people-live strong{color:#346347;font-size:13px;font-variant-numeric:tabular-nums}
body[data-mode="chat"] #chat #people-panel #user-search{min-height:42px;border-color:#cdb3c5;border-radius:7px;background:#fffbfd;color:#69415a;padding:10px 12px;font-size:13px}
body[data-mode="chat"] #chat #people-panel .filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;margin:12px 0 15px;padding:3px;border:1px solid #d6c1d0;border-radius:7px;background:#e9dce6}
body[data-mode="chat"] #chat #people-panel .filters button{min-width:0;min-height:30px;padding:5px 3px;border:0;border-radius:4px;color:#8a657c;font-size:10px}
body[data-mode="chat"] #chat #people-panel .filters button.active{background:#fff9fd;color:#78475f;box-shadow:0 1px 5px #56314c12}
body[data-mode="chat"] #chat #people-panel #users{gap:10px;padding-right:3px}
body[data-mode="chat"] #chat #people-panel #users .user-row{padding:13px 12px 7px;gap:9px 10px;border:1px solid #d4bacb;border-radius:9px;background:#fffbfef2;box-shadow:0 2px 8px #5f3c5407}
body[data-mode="chat"] #chat #people-panel #users .user-row:hover{border-color:#b78aa5;background:#fffafd}
body[data-mode="chat"] #chat #people-panel #users .user-row.is-self{background:#e6d9e4;border-color:#cdb3c6;padding-bottom:13px}
body[data-mode="chat"] #chat #people-panel #users .user-row.is-blocked{background:#eee5e9;border-color:#d6c3cd}
body[data-mode="chat"] #chat #people-panel #users .people-avatar{border-radius:12px;background:#f1dfe9;border-color:#c5a0b8}
body[data-mode="chat"] #chat #people-panel #users .people-online-dot{border-color:#fffafd;background:#58a67a}
body[data-mode="chat"] #chat #people-panel #users .user-identity :is(.nick-btn,.people-nickname){font-size:14px;font-weight:600;color:#69435b;line-height:1.4}
body[data-mode="chat"] #chat #people-panel #users .self-label{padding:2px 5px;background:#cfb9c9;color:#6c4a60;border-radius:4px;font-size:8px}
body[data-mode="chat"] #chat #people-panel #users .user-info{margin-top:4px}
body[data-mode="chat"] #chat #people-panel #users .user-room-label{color:#9a7e90;font-size:10px}
body[data-mode="chat"] #chat #people-panel #users .people-contact-actions{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:7px;margin-top:3px;padding-top:9px;border-top:1px solid #ecdee7}
body[data-mode="chat"] #chat #people-panel #users .people-contact-actions>button{min-width:0;min-height:38px;padding:7px 6px;border-radius:6px;font-size:10px;gap:5px;white-space:nowrap}
body[data-mode="chat"] #chat #people-panel #users .people-contact-actions>button svg{width:16px;height:16px;flex-shrink:0}
body[data-mode="chat"] #chat #people-panel #users .people-write{background:#efe1eb;border-color:#d5b6cc;color:#80516c}
body[data-mode="chat"] #chat #people-panel #users .people-contact-actions .people-call{background:#e4f1e9;border-color:#bad6c5;color:#32744e}
body[data-mode="chat"] #chat #people-panel #users .people-call::after{content:"Anrufen";font-size:10px;font-weight:600}
body[data-mode="chat"] #chat #people-panel #users .people-call:hover{background:#d8ebdf;border-color:#8fbc9f;color:#24623d}
body[data-mode="chat"] #chat #people-panel #users .user-tools{gap:13px}
body[data-mode="chat"] #chat #people-panel #users .user-tools .user-tool{font-size:9px;min-height:27px;color:#9b8090}
body[data-mode="chat"] #chat #toggle-users{border:1px solid #c9a6bd;background:linear-gradient(120deg,#f8edf4,#ead7e5);color:#79516a;box-shadow:inset 0 1px 0 #fff8fc;gap:7px}
body[data-mode="chat"] #chat #toggle-users .online-count-badge{background:#70465f;color:#fff3fa;border:1px solid #82516e;font-variant-numeric:tabular-nums}
@media(max-width:780px){
 body[data-mode="chat"] #chat #people-panel{background:linear-gradient(145deg,#f5edf3,#e8dce7);border-color:#c1a0b8;padding-top:18px}
 body[data-mode="chat"] #chat #people-panel .people-heading{padding-right:43px}
 body[data-mode="chat"] #chat #people-panel #close-users{width:34px;height:34px;min-width:34px;border-radius:7px;background:#fff8fd;border-color:#c9a9bf;color:#875b76}
 body[data-mode="chat"] #chat #people-panel #users .people-contact-actions>button{min-height:42px;font-size:11px}
 body[data-mode="chat"] #chat #people-panel #users .people-call::after{font-size:11px}
}

body[data-mode="chat"] #chat #people-panel #users .people-write>span{font-size:0}
body[data-mode="chat"] #chat #people-panel #users .people-write>span::after{content:"Schreiben";font-size:10px}
@media(max-width:780px){body[data-mode="chat"] #chat #people-panel #users .people-write>span::after{font-size:11px}}

/* Framed room heading, exclusively for the public chat. */
body[data-mode="chat"] #chat .chat-heading:not(:has(#chat-title.private-nameplate))>div:first-child{flex:0 1 230px;min-width:0;max-width:100%;height:56px;padding:8px 14px;border:1px solid #d1adc3;border-left:3px solid #a86d8e;border-radius:6px;background:linear-gradient(115deg,#fff8fdf2,#f0e0ec);box-shadow:inset 0 1px 0 #fffcfe,0 2px 8px #693d5408;overflow:hidden}
body[data-mode="chat"] #chat .chat-heading:not(:has(#chat-title.private-nameplate)) #chat-type{display:block;margin:0;color:#9a7189;font-size:8px;line-height:11px;font-weight:600;letter-spacing:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body[data-mode="chat"] #chat .chat-heading:not(:has(#chat-title.private-nameplate)) #chat-title{display:block;margin:3px 0 0;color:#70455f;font-size:19px;line-height:23px;letter-spacing:-.3px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body[data-mode="chat"] #chat .chat-heading:not(:has(#chat-title.private-nameplate)) #typing-status{display:none!important}
@media(max-width:780px){
 body[data-mode="chat"] #chat .chat-heading:not(:has(#chat-title.private-nameplate))>div:first-child{flex:0 1 200px;height:48px;padding:6px 10px;border-radius:5px}
 body[data-mode="chat"] #chat .chat-heading:not(:has(#chat-title.private-nameplate)) #chat-type{font-size:7px;line-height:10px;letter-spacing:.7px}
 body[data-mode="chat"] #chat .chat-heading:not(:has(#chat-title.private-nameplate)) #chat-title{margin-top:3px;font-size:17px;line-height:21px}
}

/* Contact card shared by lobby nicknames and join notices. */
body[data-mode="chat"] #user-action-menu{width:264px;max-width:calc(100vw - 16px);padding:13px;border:1px solid #c9a5bd;border-radius:12px;background:linear-gradient(135deg,#fffbfe,#f1e5ef);color:#67425b;box-shadow:0 12px 36px #38203e30,inset 0 1px 0 #fff;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain}
body[data-mode="chat"] #user-action-menu .user-action-heading{gap:8px;margin-bottom:12px;padding-bottom:11px;border-bottom:1px solid #ddc6d6}
body[data-mode="chat"] #user-action-menu .contact-menu-identity{display:flex;align-items:center;gap:10px;min-width:0;flex:1}
body[data-mode="chat"] #user-action-menu .contact-menu-avatar{display:block;width:42px;height:42px;flex:0 0 42px;border:1px solid #c5a0b7;border-radius:11px;overflow:hidden;background:#ebd9e6}
body[data-mode="chat"] #user-action-menu .contact-menu-avatar img{width:100%;height:100%;object-fit:cover}
body[data-mode="chat"] #user-action-menu .contact-menu-copy{min-width:0;display:flex;flex-direction:column;gap:4px}
body[data-mode="chat"] #user-action-menu .contact-menu-copy strong{font-size:14px;font-weight:600;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#69425b}
body[data-mode="chat"] #user-action-menu .contact-menu-copy small{display:flex;align-items:center;gap:5px;font:10px/1.3 Arial,Helvetica,sans-serif;color:#7e9b87}
body[data-mode="chat"] #user-action-menu .contact-menu-copy small::before{content:"";width:5px;height:5px;border-radius:50%;background:#63a27c}
body[data-mode="chat"] #user-action-menu .user-action-close{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border:1px solid #d7bccc;border-radius:7px;background:#fff8fc;color:#966b86;font-size:22px;padding:0}
body[data-mode="chat"] #user-action-menu .contact-menu-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
body[data-mode="chat"] #user-action-menu .contact-menu-actions button{display:flex;align-items:center;justify-content:center;gap:7px;min-width:0;min-height:45px;padding:10px 8px;border:1px solid #cfafc4;border-radius:7px;background:#ead9e6;color:#7a4e68;font:600 12px/1.3 Arial,Helvetica,sans-serif;box-shadow:none;white-space:nowrap;touch-action:manipulation}
body[data-mode="chat"] #user-action-menu .contact-menu-actions .contact-menu-call{background:#e0efe6;border-color:#b1d1bd;color:#30704b}
body[data-mode="chat"] #user-action-menu .contact-menu-actions svg{width:19px;height:19px;flex-shrink:0}
body[data-mode="chat"] #user-action-menu .contact-menu-write:hover{background:#e3cddd}
body[data-mode="chat"] #user-action-menu .contact-menu-call:hover{background:#d3e8db}
body[data-mode="chat"] #user-action-menu button:focus-visible{outline:2px solid #ab7193;outline-offset:2px}

/* Equal-sized public room and user-list boxes on mobile/tablet. */
@media(max-width:780px){
 body[data-mode="chat"] #chat .chat-heading:not(:has(#chat-title.private-nameplate)){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;align-items:center}
 body[data-mode="chat"] #chat .chat-heading:not(:has(#chat-title.private-nameplate))>div:first-child{width:100%;max-width:none;height:48px;min-height:48px;box-sizing:border-box}
 body[data-mode="chat"] #chat .chat-heading:not(:has(#chat-title.private-nameplate)) .chat-header-actions{width:100%;min-width:0;justify-content:stretch}
 body[data-mode="chat"] #chat .chat-heading:not(:has(#chat-title.private-nameplate)) #toggle-users{display:flex;align-items:center;justify-content:center;flex:1 1 0;width:100%;height:48px;min-height:48px;max-height:48px;margin:0;padding:8px 10px;box-sizing:border-box;border-radius:5px;font-size:12px}
}

/* Slimmer matching public-chat boxes, without changing the chat height. */
@media(max-width:780px){
 body[data-mode="chat"] #chat .chat-heading:not(:has(#chat-title.private-nameplate))>div:first-child{height:40px;min-height:40px;padding:5px 10px;border-left-width:2px;box-shadow:none}
 body[data-mode="chat"] #chat .chat-heading:not(:has(#chat-title.private-nameplate)) #chat-type{font-size:7px;line-height:9px;font-weight:400;letter-spacing:.5px}
 body[data-mode="chat"] #chat .chat-heading:not(:has(#chat-title.private-nameplate)) #chat-title{margin-top:1px;font-size:16px;line-height:18px;font-weight:500}
 body[data-mode="chat"] #chat .chat-heading:not(:has(#chat-title.private-nameplate)) #toggle-users{height:40px;min-height:40px;max-height:40px;padding:5px 9px;font-size:11px;font-weight:500;box-shadow:none}
 body[data-mode="chat"] #chat .chat-heading:not(:has(#chat-title.private-nameplate)) #toggle-users>svg{width:17px;height:17px}
 body[data-mode="chat"] #chat .chat-heading:not(:has(#chat-title.private-nameplate)) #toggle-users .online-count-badge{min-width:20px;height:20px;padding:1px 5px;font-size:10px;font-weight:500}
}

/* A soft arrival-style light sweep every ten seconds; no layout movement. */
body[data-mode="chat"] #chat .chat-heading:not(:has(#chat-title.private-nameplate))>div:first-child,
body[data-mode="chat"] #chat .chat-heading:not(:has(#chat-title.private-nameplate)) #toggle-users{position:relative;isolation:isolate;overflow:hidden;animation:chat69-room-button-glow 10s ease-in-out infinite}
body[data-mode="chat"] #chat .chat-heading:not(:has(#chat-title.private-nameplate))>div:first-child::after,
body[data-mode="chat"] #chat .chat-heading:not(:has(#chat-title.private-nameplate)) #toggle-users::after{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;border-radius:inherit;background:linear-gradient(110deg,transparent 15%,#f4cde333 34%,#fff9fcb3 50%,#f4cde333 66%,transparent 85%);opacity:0;transform:translateX(-120%);animation:chat69-room-button-shine 10s ease-in-out infinite}
@keyframes chat69-room-button-glow{
 0%,14%,100%{box-shadow:inset 0 0 0 0 #e7b7d000,0 0 0 #e7b7d000}
 4.5%{box-shadow:inset 0 0 9px #ecc2d870,0 0 10px #d99cbe45}
 9%{box-shadow:inset 0 0 5px #ecc2d83b,0 0 5px #d99cbe20}
}
@keyframes chat69-room-button-shine{
 0%{opacity:0;transform:translateX(-120%)}
 1.5%{opacity:.7}
 10.5%{opacity:.7;transform:translateX(120%)}
 12.5%,100%{opacity:0;transform:translateX(120%)}
}
@media(prefers-reduced-motion:reduce){
 body[data-mode="chat"] #chat .chat-heading:not(:has(#chat-title.private-nameplate))>div:first-child,
 body[data-mode="chat"] #chat .chat-heading:not(:has(#chat-title.private-nameplate)) #toggle-users{animation:none}
 body[data-mode="chat"] #chat .chat-heading:not(:has(#chat-title.private-nameplate))>div:first-child::after,
 body[data-mode="chat"] #chat .chat-heading:not(:has(#chat-title.private-nameplate)) #toggle-users::after{animation:none;content:none}
}

/* Matching counter dimensions and a shared right alignment. */
body[data-mode="chat"] #chat #inbox-count,
body[data-mode="chat"] #chat #toggle-users #user-count{display:inline-flex;align-items:center;justify-content:center;align-self:center;flex:0 0 auto;min-width:22px;width:auto;height:22px;min-height:22px;max-height:22px;margin-top:0;margin-bottom:0;padding:0 5px;box-sizing:border-box;font:500 11px/1 Arial,Helvetica,sans-serif;font-variant-numeric:tabular-nums;vertical-align:middle;border-radius:6px}
body[data-mode="chat"] #chat #toggle-users #user-count{margin-left:auto}
@media(max-width:780px){
 body[data-mode="chat"] #chat #inbox-toggle{padding-right:10px}
 body[data-mode="chat"] #chat .chat-heading:not(:has(#chat-title.private-nameplate)) #toggle-users{justify-content:flex-start;padding-right:10px}
 html.chat-viewport-locked body[data-mode="chat"]:not(.chat-keyboard-open) #chat>.sidebar{padding-right:12px}
}

/* Quiet departure notice, using the same compact avatar row as arrivals. */
body[data-mode="chat"] #chat #messages .leave-event{background:#f6f1f3ed;border-color:#ded3da;box-shadow:none;color:#8c7885}
body[data-mode="chat"] #chat #messages .leave-event .join-avatar{opacity:.68}
body[data-mode="chat"] #chat #messages .leave-event .join-person{color:#765b6c;font-weight:500}
body[data-mode="chat"] #chat #messages .leave-event .join-detail{color:#8c7885}
body[data-mode="chat"] #chat #messages .leave-arrival{animation:chat69-leave-in .24s ease-out both}
@keyframes chat69-leave-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){body[data-mode="chat"] #chat #messages .leave-arrival{animation:none}}
