.rooms-app{height:100dvh;width:100%;display:grid;place-items:center;background:radial-gradient(80% 60% at 12% 0,rgba(245,165,36,.16),transparent 60%),radial-gradient(70% 70% at 100% 100%,rgba(124,58,237,.22),transparent 60%),linear-gradient(160deg,#0a1024,#11193a 60%,#0a1024)}.rooms-shell{position:relative;display:flex;width:100%;height:100dvh;max-width:1180px;background:var(--bg);overflow:hidden}@media (min-width:900px){.rooms-shell{height:min(900px,95dvh);border-radius:26px;box-shadow:0 40px 120px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.1)}}.rl-pane{display:flex;flex-direction:column;width:384px;flex:0 0 384px;background:var(--surface);border-right:1px solid var(--line);min-height:0}.rl-head{flex:0 0 auto;padding:max(16px,env(safe-area-inset-top)) 16px 12px;background:linear-gradient(180deg,#141d33,#0c1118);color:var(--tenant-on-dark)}.rl-head-top{display:flex;align-items:center;gap:11px}.rl-crest{width:36px;height:36px;flex:0 0 36px;border-radius:10px;background:linear-gradient(160deg,var(--tenant-primary-2),var(--tenant-primary));display:grid;place-items:center;font-family:var(--font-serif);font-weight:700;font-size:14px;color:var(--tenant-on-dark)}.rl-title{flex:1;min-width:0}.rl-title b{display:block;font-family:var(--font-serif);font-size:19px;font-weight:600;letter-spacing:-.01em}.rl-title span{display:block;font-family:var(--font-mono);font-size:8.5px;letter-spacing:.22em;text-transform:uppercase;color:rgba(246,240,226,.5);margin-top:1px}.rl-head .icon-btn{background:rgba(246,240,226,.08);border:0;color:rgba(246,240,226,.85);width:36px;height:36px;border-radius:10px;display:grid;place-items:center;cursor:pointer}.rl-head .icon-btn:hover{background:rgba(246,240,226,.16);color:#fff}.rl-lang{display:flex;gap:2px;background:rgba(246,240,226,.08);border-radius:999px;padding:2px}.rl-lang button{border:0;background:none;color:rgba(246,240,226,.6);font-size:11px;font-weight:700;padding:5px 10px;border-radius:999px;cursor:pointer}.rl-lang button.active{background:var(--tenant-accent);color:#2d1b00}.rl-search{display:flex;align-items:center;gap:9px;margin-top:12px;background:rgba(246,240,226,.1);border:1px solid rgba(246,240,226,.14);border-radius:999px;padding:9px 14px}.rl-search svg{color:rgba(246,240,226,.55);flex:0 0 auto}.rl-search input{flex:1;min-width:0;border:0;background:none;outline:0;color:var(--tenant-on-dark);font-size:13.5px}.rl-search input::-moz-placeholder{color:rgba(246,240,226,.5)}.rl-search input::placeholder{color:rgba(246,240,226,.5)}.rl-filters{flex:0 0 auto;display:flex;gap:7px;overflow-x:auto;scrollbar-width:none;padding:12px 16px;border-bottom:1px solid var(--line)}.rl-filters::-webkit-scrollbar{display:none}.rl-chip{flex:0 0 auto;border:1px solid var(--line);background:var(--surface-2);color:var(--ink-2);font-size:12px;font-weight:600;padding:6px 13px;border-radius:999px;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}.rl-chip:hover{border-color:rgba(245,165,36,.4)}.rl-chip.active{background:var(--ink);color:var(--surface);border-color:var(--ink)}.rl-scroll{flex:1;overflow-y:auto;min-height:0}.rl-scroll::-webkit-scrollbar{width:0}.rl-ballot{margin:12px;padding:14px;border-radius:var(--r-lg);background:linear-gradient(135deg,#16234d,#0a1024);color:var(--tenant-on-dark);position:relative;overflow:hidden;cursor:pointer}.rl-ballot:after{content:"";position:absolute;right:-30px;top:-30px;width:120px;height:120px;border-radius:999px;background:radial-gradient(circle,rgba(245,165,36,.4),transparent 70%)}.rl-ballot .bl-eye{font-family:var(--font-mono);font-size:9px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--tenant-accent);display:inline-flex;align-items:center;gap:6px}.rl-ballot b{display:block;font-family:var(--font-serif);font-size:16px;font-weight:600;margin:6px 0 3px;letter-spacing:-.01em;position:relative}.rl-ballot span.s{font-size:12px;color:rgba(246,240,226,.72);position:relative}.rl-ballot .go{margin-top:11px;display:inline-flex;align-items:center;gap:7px;font-size:10px;letter-spacing:.1em;color:var(--tenant-accent)}.rl-ballot .go,.rl-sec{font-family:var(--font-mono);text-transform:uppercase;font-weight:700}.rl-sec{font-size:9px;letter-spacing:.16em;color:var(--muted);padding:14px 16px 6px}.rl-row{display:flex;gap:12px;align-items:center;padding:11px 16px;cursor:pointer;border-bottom:1px solid var(--line);transition:background .12s ease}.rl-row:hover{background:var(--surface-2)}.rl-row.active{background:var(--amber-50)}.rl-row.active:before{content:"";position:absolute;left:0;width:3px;height:44px;border-radius:0 3px 3px 0;background:var(--tenant-accent)}.rl-av{position:relative;width:50px;height:50px;flex:0 0 50px;border-radius:16px;display:grid;place-items:center;color:#fff}.rl-av svg{width:23px;height:23px}.rl-av.hosting{background:linear-gradient(150deg,var(--tenant-accent),#d97706);color:#2d1b00}.rl-av.banter{background:linear-gradient(150deg,#16a34a,#14532d)}.rl-av.event{background:linear-gradient(150deg,#7c3aed,#4c1d95)}.rl-av.community{background:linear-gradient(150deg,#0369a1,#082f49)}.rl-av .live-dot{position:absolute;right:-2px;top:-2px;width:14px;height:14px;border-radius:999px;background:#ef4444;border:2px solid var(--surface);box-shadow:0 0 0 0 rgba(239,68,68,.5);animation:livepulse 1.6s infinite}@keyframes livepulse{0%{box-shadow:0 0 0 0 rgba(239,68,68,.5)}70%{box-shadow:0 0 0 7px rgba(239,68,68,0)}to{box-shadow:0 0 0 0 rgba(239,68,68,0)}}.rl-main{flex:1;min-width:0}.rl-r1{display:flex;align-items:center;gap:8px}.rl-name{font-size:14.5px;font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.rl-time{font-size:10.5px;color:var(--muted);flex:0 0 auto}.rl-r2{display:flex;align-items:center;gap:8px;margin-top:3px}.rl-last{font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.rl-last b{color:var(--ink-2);font-weight:600}.rl-unread{flex:0 0 auto;min-width:18px;height:18px;padding:0 5px;background:var(--tenant-accent);color:#2d1b00;font-size:10.5px;display:grid;place-items:center}.rl-badge,.rl-unread{border-radius:999px;font-weight:700}.rl-badge{flex:0 0 auto;display:inline-flex;align-items:center;gap:4px;font-family:var(--font-mono);font-size:8px;letter-spacing:.08em;text-transform:uppercase;padding:2px 6px}.rl-badge.private{background:var(--surface-2);color:var(--muted);border:1px solid var(--line)}.rl-badge.public{background:var(--indigo-50,#eef2ff);color:#4338ca}.rl-badge.live{background:#fee2e2;color:#b91c1c}.rl-badge.archived{border:1px solid var(--line)}.rl-badge.archived,.rl-foot{background:var(--surface-2);color:var(--muted)}.rl-foot{flex:0 0 auto;display:flex;align-items:center;gap:9px;padding:12px 16px max(12px,env(safe-area-inset-bottom));border-top:1px solid var(--line);font-size:11px;line-height:1.4}.rl-foot svg{color:var(--tenant-accent);flex:0 0 auto}.rp-pane{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--chat-bg);position:relative;min-height:0}.rp-pane:before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;opacity:.5;background-image:radial-gradient(circle at 12% 18%,rgba(15,19,34,.04) 0 2px,transparent 2px),radial-gradient(circle at 78% 42%,rgba(15,19,34,.035) 0 2px,transparent 2px);background-size:120px 120px,160px 160px}.rp-pane>*{position:relative;z-index:1}.rp-back{display:none}@media (max-width:899px){.rp-back{display:grid}}.rp-joinbar{flex:0 0 auto;display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--surface);border-top:1px solid var(--line)}.rp-joinbar .jb-tx{flex:1;min-width:0;font-size:12.5px;color:var(--muted)}.rp-joinbar .jb-tx b{display:block;color:var(--ink);font-size:13.5px}.rp-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px;gap:8px}.rp-empty .ic{width:70px;height:70px;border-radius:22px;display:grid;place-items:center;background:var(--surface);border:1px solid var(--line);color:var(--tenant-accent);box-shadow:var(--sh-card);margin-bottom:8px}.rp-empty h2{font-family:var(--font-serif);font-size:22px;font-weight:600;color:var(--ink);margin:0}.rp-empty p{font-size:13.5px;color:var(--muted);max-width:320px;line-height:1.5;margin:0}@media (max-width:899px){.rp-empty{display:none}.rl-pane{width:100%;flex:1 1 auto}.rooms-shell{position:relative}.rp-pane{position:absolute;inset:0;z-index:20;transform:translateX(100%);transition:transform .26s cubic-bezier(.2,.8,.2,1)}.rooms-app[data-view=chat] .rp-pane{transform:translateX(0)}.rooms-app[data-view=chat] .rl-pane{display:none}}.ballot-sheet{position:absolute;inset:0;z-index:40;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(8,12,24,.55);opacity:0;pointer-events:none;transition:opacity .2s ease}.ballot-sheet.open{opacity:1;pointer-events:auto}.ballot-card{width:100%;max-width:460px;max-height:88%;overflow-y:auto;background:var(--bg);border-radius:22px;padding:22px;transform:translateY(10px);transition:transform .24s ease}.ballot-sheet.open .ballot-card{transform:translateY(0)}.ballot-card .bc-x{float:right;background:var(--surface-2);border:1px solid var(--line);width:32px;height:32px;border-radius:999px;display:grid;place-items:center;cursor:pointer;color:var(--muted)}.ballot-card h2{font-family:var(--font-serif);font-size:22px;font-weight:600;color:var(--ink);margin:0 0 4px;letter-spacing:-.01em}.ballot-card .bc-sub{font-size:13px;color:var(--muted);margin:0 0 6px}.ballot-card .bc-pool{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-mono);font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--green-600);background:var(--green-50);border:1px solid #bbf7d0;padding:4px 10px;border-radius:999px;margin-bottom:16px}.month-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.month-cell{text-align:left;border:1px solid var(--line);background:var(--surface);border-radius:var(--r-md);padding:13px 14px;cursor:pointer;transition:border-color .15s ease,background .15s ease}.month-cell:hover:not(.full){border-color:var(--tenant-accent);background:var(--amber-50)}.month-cell.full{opacity:.55;cursor:not-allowed}.month-cell.chosen{border-color:var(--tenant-accent);background:var(--amber-50);box-shadow:inset 0 0 0 2px rgba(245,165,36,.3)}.month-cell .mc-name{font-family:var(--font-serif);font-size:17px;font-weight:600;color:var(--ink)}.month-cell .mc-cap{display:flex;align-items:center;justify-content:space-between;margin-top:8px}.month-cell .mc-bar{flex:1;height:5px;border-radius:999px;background:var(--surface-2);overflow:hidden;margin-right:9px}.month-cell .mc-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--tenant-accent),var(--tenant-accent-2))}.month-cell .mc-state{font-family:var(--font-mono);font-size:9px;letter-spacing:.06em;text-transform:uppercase;font-weight:700;color:var(--muted);white-space:nowrap}.month-cell.full .mc-state{color:#b91c1c}.ballot-done{margin-top:16px;padding:13px 15px;border-radius:var(--r-md);background:var(--green-50);border:1px solid #bbf7d0;color:var(--green-600);font-size:13px;font-weight:600;gap:9px}.ballot-done,.invite-sheet{display:flex;align-items:center}.invite-sheet{position:absolute;inset:0;z-index:40;justify-content:center;padding:18px;background:rgba(8,12,24,.55);opacity:0;pointer-events:none;transition:opacity .2s ease}.invite-sheet.open{opacity:1;pointer-events:auto}.invite-card{width:100%;max-width:380px;background:var(--bg);border-radius:22px;padding:24px;text-align:center;transform:translateY(10px);transition:transform .24s ease}.invite-sheet.open .invite-card{transform:translateY(0)}.invite-card h2{font-family:var(--font-serif);font-size:20px;font-weight:600;color:var(--ink);margin:0 0 4px}.invite-card .iv-sub{font-size:12.5px;color:var(--muted);margin:0 0 18px;line-height:1.5}.invite-qr{width:120px;height:120px;margin:0 auto 16px;border-radius:16px;background:var(--surface);border:1px solid var(--line);display:grid;place-items:center;color:var(--ink)}.invite-link{display:flex;align-items:center;gap:8px;background:var(--surface-2);border:1px solid var(--line);border-radius:999px;padding:8px 8px 8px 14px;margin-bottom:12px}.invite-link code{flex:1;min-width:0;font-family:var(--font-mono);font-size:11.5px;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}.invite-link button{flex:0 0 auto;border:0;background:var(--ink);color:var(--surface);font-size:11px;font-weight:700;padding:7px 13px;border-radius:999px;cursor:pointer}.invite-link button.copied{background:var(--green-600)}.invite-wa{width:100%;justify-content:center;display:inline-flex;align-items:center;gap:9px;padding:12px;border-radius:var(--r-md);background:#25d366;color:#04331a;font-weight:700;font-size:13.5px}.invite-wa,.invite-x{border:0;cursor:pointer}.invite-x{margin-top:12px;background:none;color:var(--muted);font-size:12.5px}.rooms-note{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);z-index:2;display:flex;gap:8px;align-items:center;font-size:11px;color:rgba(246,240,226,.6)}@media (max-width:1240px){.rooms-note{display:none}}