:root{--maroon: #8b2a3a;--maroon-d: #6f1f2d;--line: #e4dfe6;--bg: #fdf7f3}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;font-family:Segoe UI,Tahoma,Arial,sans-serif;background:#fff;color:#222}button{cursor:pointer;border:0;border-radius:4px;padding:8px 14px;background:var(--maroon);color:#fff;font-size:.9rem;font-family:inherit}button.ghost{background:#d9d2dc;color:#333}button.small{padding:3px 8px;font-size:.75rem}button:disabled{opacity:.5;cursor:default}input,select{padding:9px;border-radius:4px;border:1px solid #c9c2cc;background:#fff;color:#222;font-size:.9rem;width:100%;font-family:inherit}.center{min-height:100vh;display:grid;place-items:center;padding:16px;background:var(--bg)}.card{background:#fff;padding:24px;border-radius:10px;width:100%;max-width:380px;display:flex;flex-direction:column;gap:10px;box-shadow:0 4px 24px #0000001f}.card h1{margin:0 0 6px;text-align:center;color:var(--maroon)}.tabs{display:flex;gap:6px}.tabs button{flex:1}.err{color:#c0392b;font-size:.85rem;min-height:18px}.app{position:relative;height:100dvh;display:flex;flex-direction:column;overflow:hidden;background:#fff}.topbar{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;background:var(--maroon);color:#fff;gap:8px}.banner{background:#fff3cd;color:#664d03;padding:6px 10px;font-size:.9rem;border-bottom:1px solid #ffe69c}.msgs{flex:1;overflow-y:auto;display:flex;flex-direction:column;min-height:0}.msg,.urow,.dmrow{display:flex;align-items:flex-start;gap:8px;padding:6px 10px;border-bottom:1px solid var(--line);word-break:break-word}.msg:nth-child(odd){background:var(--bg)}.ubody{flex:1;min-width:0}.who{font-weight:700;font-size:.95rem}.deco{font-weight:400}.ubio{color:#666;font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.empty{margin:auto;color:#888;padding:20px}.av{width:40px;height:40px;border-radius:4px;object-fit:cover;flex:none}.av.ph{display:inline-grid;place-items:center;background:var(--maroon);color:#fff;font-weight:700}.pic{max-width:min(260px,100%);max-height:260px;border-radius:6px;margin-top:4px}.toast{position:absolute;bottom:110px;inset-inline:0;margin-inline:auto;width:max-content;max-width:90%;background:#333;color:#fff;padding:6px 14px;border-radius:6px;z-index:50;font-size:.9rem}.composer-wrap{position:relative;border-top:1px solid var(--line);background:#fff}.composer{display:flex;gap:4px;padding:5px;align-items:center}.composer input{flex:1}.composer .send{background:var(--maroon);font-weight:700;white-space:nowrap}.ibtn{display:inline-grid;place-items:center;width:36px;height:36px;padding:0;background:transparent;font-size:1.2rem;cursor:pointer;border-radius:4px;flex:none}.ibtn.off{opacity:.4;pointer-events:none}.emojis{position:absolute;bottom:100%;inset-inline-start:0;background:#fff;border:1px solid var(--line);border-radius:6px;padding:6px;display:grid;grid-template-columns:repeat(8,1fr);gap:2px;z-index:40;max-height:260px;overflow-y:auto;max-width:calc(100vw - 16px);box-shadow:0 2px 10px #0003}.emo{background:transparent;padding:4px;font-size:1.3rem;position:relative}.ecode{position:absolute;bottom:0;inset-inline-end:0;font-size:.5rem;line-height:1;background:#0003;color:#000;border-radius:3px;padding:0 2px}.sc-row{display:flex;gap:6px;align-items:center;margin:4px 0}.sc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:4px}.sc-cell{display:flex;align-items:center;gap:2px;border:1px solid var(--line);border-radius:6px;padding:2px 4px}.sc-cell input{width:34px;padding:2px;text-align:center}.nav{display:flex;background:var(--maroon);gap:2px;padding:4px;z-index:25}.nav button{flex:1;background:var(--maroon-d);padding:10px 2px;border:1px solid #000;border-radius:0;font-weight:700;font-size:.8rem;position:relative;white-space:nowrap}.nav button.on{background:#b13a4e}.badge-n{background:#f39c12;color:#000;border-radius:10px;padding:0 6px;font-size:.7rem;margin-inline-start:4px}.sheet{position:absolute;top:0;bottom:52px;inset-inline-end:0;width:min(400px,100%);background:#fff;z-index:20;display:flex;flex-direction:column;border-inline-start:1px solid var(--line);box-shadow:0 0 14px #00000040}.sheet-head{background:var(--maroon);color:#fff;display:flex;justify-content:space-between;align-items:center;padding:6px 10px;font-weight:700}.sheet-head .x,.x{background:#d9534f;padding:4px 9px;border-radius:3px}.sheet-body{flex:1;overflow-y:auto;display:flex;flex-direction:column}.search{border-radius:0;background:#f3eaec;border:0;border-bottom:1px solid var(--line)}.section{background:#f3eaec;color:var(--maroon);font-weight:700;font-size:.8rem;padding:4px 10px}.urow{cursor:pointer;position:relative;align-items:center}.urow:hover{background:#f8f1f3}.urow.room.active{background:#f3dde2}.urow .strip{position:absolute;inset-block:0;inset-inline-start:0;width:5px}.urow.post{cursor:default;align-items:flex-start}.count{background:var(--maroon);color:#fff;border-radius:10px;padding:0 8px;font-size:.8rem}.mod{display:flex;gap:2px}.settings{padding:6px;gap:6px}.settings .frow{display:flex;align-items:center;gap:6px}.settings .frow label{background:var(--maroon);color:#fff;padding:6px 10px;flex:1;font-weight:700;font-size:.85rem}.settings .frow input[type=color]{width:90px;padding:0;height:32px}.settings select{background:var(--maroon);color:#fff;font-weight:700;text-align:center}.settings button,.settings label.opt{display:block;width:100%;padding:10px;text-align:center;font-weight:700;border-radius:4px;border:1px solid #aab;background:#f6f3ff;color:#222;cursor:pointer}.settings .green{background:#5cb85c;color:#fff;border:0}.settings .red{background:#d9534f;color:#fff;border:0}.dmwin{position:absolute;top:0;left:0;width:min(490px,100%);height:min(490px,70%);background:#fff;border:1px solid #000;z-index:30;display:flex;flex-direction:column;box-shadow:0 4px 16px #00000059;direction:rtl}.dmwin.big{width:100%;height:calc(100% - 52px)}.dm-head{background:var(--maroon);color:#fff;display:flex;align-items:center;gap:8px;padding:0;min-height:34px}.dm-head .who{flex:1;text-align:center;color:#fff}.hb{padding:8px 14px;border-radius:0;font-weight:700}.hb.red{background:#d9534f}.hb.blue{background:#5bc0de}.dm-body{flex:1;overflow-y:auto}.dmrow:nth-child(odd){background:var(--bg)}.seats{display:flex;gap:6px;padding:6px 10px;background:#f3eaec;flex-wrap:wrap;align-items:center}.seat{width:92px;padding:6px 4px;border-radius:8px;background:#fff;border:2px solid var(--line);text-align:center;font-size:.75rem}.seat.speaking{border-color:#2ecc71}.seat.locked{opacity:.55}.seat .nm{font-weight:700;margin:3px 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.seat .row{display:flex;gap:3px;justify-content:center;flex-wrap:wrap}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:grid;place-items:center;z-index:60;padding:12px}.panel{background:#fff;border-radius:8px;width:100%;max-width:640px;max-height:85vh;display:flex;flex-direction:column;overflow:hidden}.panel-body{overflow-y:auto;padding:8px;display:flex;flex-direction:column;gap:6px}.btn{display:inline-block;cursor:pointer;border-radius:4px;padding:8px 12px;background:#d9d2dc}.btn.small{padding:3px 8px;font-size:.75rem}.btn.off{opacity:.5;pointer-events:none}.chatrow{direction:ltr;text-align:left;align-items:center;padding:2px 6px;gap:6px;font-size:.8rem;line-height:1.25}.chatrow .av{width:30px;height:30px}.chatrow .mtext{text-align:left;unicode-bidi:plaintext}.chatrow .macts{display:flex;flex-direction:column;gap:2px;align-items:flex-end}button.mini{padding:1px 6px;font-size:.65rem;border-radius:3px;min-width:22px}button.mini.del{background:var(--maroon)}.topbar{padding:3px 8px;font-size:.85rem}.topbar button.small{padding:1px 6px;font-size:.7rem}.seats{direction:ltr;gap:4px;padding:3px 6px;font-size:.7rem;flex-wrap:nowrap;overflow-x:auto}.seats strong{font-size:.75rem;white-space:nowrap}.seat{width:62px;flex:none;padding:2px;border-width:1px;border-radius:5px;font-size:.65rem}.seat .nm{margin:1px 0}.seat .row button.small{padding:1px 4px;font-size:.62rem}.seats>button.small{padding:2px 6px;font-size:.65rem;white-space:nowrap;flex:none}.announce-row{background:#fff4d6!important;border-inline-start:3px solid #e0a800}.atag{background:#c0392b;color:#fff;border-radius:3px;padding:0 5px;font-size:.65rem;font-weight:700}.backdrop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:19}.gtag{font-size:.6rem;background:var(--maroon);color:#fff;border-radius:3px;padding:0 4px;margin-inline-start:4px}.gform{display:flex;flex-direction:column;gap:6px;border:1px solid var(--line);padding:8px;border-radius:6px;margin:6px 0}.gform label{display:flex;flex-direction:column;font-size:.8rem;gap:2px}.pgrid{display:grid;grid-template-columns:1fr 1fr;gap:4px}.pgrid .pchk{flex-direction:row;align-items:center;gap:4px}.pgrid input{width:auto}.seats{overflow:visible;position:relative;z-index:30;gap:3px;padding:4px 6px}.sbtn{width:40px;height:40px;padding:0;border-radius:4px;border:1px solid var(--maroon-d);background:var(--maroon);display:grid;place-items:center;cursor:pointer;overflow:hidden}.sbtn svg{background:none}.seatbtn{background:var(--maroon)}.seatbtn img{width:100%;height:100%;object-fit:cover}.seatbtn .lk{color:#fff;font-weight:700}.seatbtn.speaking{box-shadow:0 0 0 2px #2ecc71}.seatbtn.locked{opacity:.6}.sbtn.speaker{background:#2ecc71;font-size:1.3rem}.sbtn.speaker.off{background:#999}.seat-wrap{position:relative}.seat-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40}.seat-menu{position:absolute;top:44px;inset-inline-start:0;z-index:41;min-width:96px;background:var(--maroon);border:1px solid var(--maroon-d);border-radius:4px;display:flex;flex-direction:column;box-shadow:0 2px 8px #0000004d}.seat-menu button{background:var(--maroon);color:#fff;border:0;border-bottom:1px solid var(--maroon-d);border-radius:0;font-size:.8rem;padding:5px 8px;white-space:nowrap}.seat-menu button:last-child{border-bottom:0;background:#fff;color:var(--maroon)}.voice-toggle{margin-inline-start:auto}.pmatrix{border-collapse:collapse;width:100%;font-size:.8rem}.pmatrix th,.pmatrix td{border:1px solid var(--line);padding:4px 6px}.pmatrix td:first-child{min-width:170px}.pmatrix input{width:auto}.settings{padding:8px;gap:8px}.settings .frow label{border-radius:6px}.settings .frow input[type=color]{border-radius:6px;border:1px solid var(--line);cursor:pointer}.settings>input{border-radius:6px}.settings button,.settings label.opt{position:relative;border-radius:8px;border:1px solid #c9c4d6;background:#fff;transition:background .15s,transform .08s,box-shadow .15s}.settings button:hover,.settings label.opt:hover{background:#f4eef0;box-shadow:0 1px 4px #0000001f}.settings button:active,.settings label.opt:active{transform:scale(.985)}.settings .green{background:#5cb85c;border:0}.settings .green:hover{background:#4cae4c}.settings .red{background:#d9534f;border:0}.settings .red:hover{background:#c9302c}.settings .frow button.small{width:auto;padding:6px 10px}.settings .ic{position:absolute;left:12px;top:50%;transform:translateY(-50%);font-style:normal;direction:ltr}.settings .thumb{position:absolute;left:6px;top:50%;transform:translateY(-50%);width:30px;height:30px;border-radius:6px;overflow:hidden;display:block}.settings .thumb>*{width:30px;height:30px}.settings .selwrap{position:relative}.settings .selwrap:after{content:"⌄";position:absolute;left:12px;top:50%;transform:translateY(-60%);color:#fff;pointer-events:none;font-weight:700}.settings select{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:100%;border-radius:8px;border:0;padding:10px;cursor:pointer;transition:background .15s}.settings select:hover{background:var(--maroon-d)}.panel:has(.admin-wrap){max-width:760px;height:80vh}.admin-wrap{display:flex;flex:1;min-height:0}.side-tabs{display:flex;flex-direction:column;gap:6px;padding:8px;width:118px;flex-shrink:0;overflow-y:auto;background:#f3eef0;border-inline-end:1px solid var(--line)}.side-tabs button{width:100%;text-align:start;padding:10px 8px;border-radius:8px;font-size:.85rem;transition:background .15s}.admin-main{flex:1;min-width:0;display:flex;flex-direction:column;min-height:0}.admin-main .panel-body{flex:1}.settings button:disabled{opacity:.5;cursor:not-allowed}.av{width:48px;height:48px;border-radius:6px}.chatrow .av{width:56px;height:56px;border-radius:6px}.dm-head .av{width:28px;height:28px}.clk{cursor:pointer}.notice-row{direction:ltr;display:flex;align-items:center;gap:8px;padding:3px 8px;font-size:.78rem;color:#555;background:#faf5f6;border-bottom:1px solid var(--line)}.notice-row .av{width:32px;height:32px}.notice-row b{color:var(--maroon)}.bans{background:#faf5f6;padding:4px 10px;border-bottom:1px solid var(--line)}.banrow{display:flex;justify-content:space-between;align-items:center;padding:3px 0;font-size:.85rem}.pcard{background:#fff;width:min(440px,100%);max-height:92vh;display:flex;flex-direction:column;border-radius:8px;overflow:hidden;box-shadow:0 6px 24px #00000059}.pcard-head{background:var(--maroon);color:#fff;display:flex;justify-content:space-between;align-items:center;padding:6px 10px;font-weight:700}.pcard-body{overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding-bottom:10px}.pavatar{width:100%;max-height:52vh;aspect-ratio:1 / 1;object-fit:cover;display:block;background:#eee}.pavatar.ph{display:grid;place-items:center;background:var(--maroon);color:#fff;font-size:5rem;font-weight:700}.pstatus{text-align:center;color:#444;padding:0 10px}.ptags{display:flex;gap:6px;flex-wrap:wrap;justify-content:center;padding:0 10px}.ptag{background:var(--maroon);color:#fff;padding:3px 10px;border-radius:4px;font-size:.8rem}.ptag.room{background:var(--maroon-d)}.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;padding:0 10px}.pbtn{display:flex;align-items:center;justify-content:center;gap:6px;background:#fff;color:#222;border:1px solid #ddd;border-radius:8px;padding:10px 6px;font-size:.85rem;box-shadow:0 1px 2px #00000014;transition:transform .08s,box-shadow .15s,background .15s}.pbtn:hover{background:#f8f1f3;box-shadow:0 2px 6px #00000026}.pbtn:active{transform:scale(.96)}.pbtn.likebtn{color:#e0245e;font-weight:700}.pbtn.dis{opacity:.6;cursor:default}.pbtn.warn{color:#b9770e}.pbtn.danger{color:#c0392b}.pbtn.purple{color:#8e44ad}.pbtn.go{background:var(--maroon);color:#fff;border-color:var(--maroon);padding:8px 14px}.plogins{margin:0 10px;border:1px solid var(--line);border-radius:6px;max-height:220px;overflow-y:auto}.plogin{display:flex;flex-wrap:wrap;gap:4px 12px;padding:6px 8px;font-size:.75rem;border-bottom:1px solid var(--line)}.plogin .did{color:#777;word-break:break-all}.pbox{margin:0 10px;padding:8px;border:1px solid var(--line);border-radius:8px;display:flex;flex-direction:column;gap:6px}.prow{display:flex;gap:6px}.prow select{flex:1;min-width:0}.dm-backdrop{z-index:29}.sheet{inset-inline-end:auto;left:auto;right:0;z-index:38;border-inline-start:0;border-left:1px solid var(--line)}.backdrop,.dm-backdrop{z-index:34}.dmwin{z-index:36}.nav{flex-direction:row-reverse;padding-bottom:calc(4px + env(safe-area-inset-bottom))}html,body{overscroll-behavior:none}@media (max-width: 600px){input,select,textarea{font-size:16px}.sheet{width:100%;border-left:0}.dmwin{width:100%}.nav button{font-size:.72rem;padding:10px 0}.pgrid{grid-template-columns:repeat(2,1fr)}.panel:has(.admin-wrap){height:92vh}.modal{padding:6px}}.uic{vertical-align:-3px;margin-inline-end:4px;flex:none}.picons{display:grid;grid-template-columns:repeat(auto-fill,minmax(42px,1fr));gap:6px}.picons button{background:#fff;border:1px solid #ddd;border-radius:8px;padding:4px;display:grid;place-items:center}.picons button.sel{border-color:var(--maroon);box-shadow:0 0 0 2px var(--maroon)}.picons button:hover{background:#f8f1f3}.sync-btn{font-size:11px;padding:2px 8px;margin-top:2px;border:0;border-radius:10px;background:#d9d0dc;cursor:pointer}.tbl-wrap{overflow-x:auto;margin:6px 0}.tbl{width:100%;border-collapse:collapse;font-size:.85rem}.tbl th,.tbl td{border:1px solid #ddd;padding:4px 6px;text-align:start;vertical-align:middle}.tbl th{background:#f3eef5;white-space:nowrap}.tbl .acts{white-space:nowrap}.tbl .acts button{margin-inline-end:4px}.tbl input,.tbl select{max-width:100%}.enter-row{background:#f3eef5;border-radius:8px;padding:6px 10px;margin:4px 0;text-align:center;font-size:.9rem}.roomlink{background:none;border:0;color:inherit;font:inherit;cursor:pointer;text-decoration:underline;padding:0 2px}.media-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-top:10px}.media-item{display:flex;flex-direction:column;gap:4px;background:#0001;border-radius:8px;padding:6px}.media-item img,.media-item video{width:100%;height:120px;object-fit:cover;border-radius:6px}.hview{width:min(560px,94vw);max-height:84vh;display:flex;flex-direction:column}.hview-list{overflow-y:auto;flex:1;display:flex;flex-direction:column;gap:6px}.hview-day{text-align:center;font-size:12px;opacity:.7;margin:6px 0}.hview-msg{background:#0001;border-radius:10px;padding:6px 10px}.urow:not(.room):not(.post){direction:ltr}.urow:not(.room):not(.post) .ubody{direction:rtl;text-align:right;flex:1;min-width:0}.redit{max-width:380px}.redit-body{padding:12px;display:flex;flex-direction:column;gap:10px;overflow-y:auto}.redit-body label{display:flex;flex-direction:column;gap:4px;font-size:.9rem}.redit-body label.rrow{flex-direction:row;align-items:center;gap:8px}.rbans{background:#faf5f6;padding:6px 10px;border-radius:6px}.utag{color:#8a8a8a;font-size:.75em;font-weight:600;margin-inline-start:4px}.pwbox{display:flex;flex-direction:column;gap:6px;padding:6px 0}
