:root{--bg: #0f1117;--panel: #171a23;--panel-2: #1f2330;--border: #2a2f3e;--text: #e7e9ee;--muted: #9aa3b2;--accent: #6366f1;--accent-2: #4f46e5}:root[data-theme=ocean]{--accent: #0ea5e9;--accent-2: #0284c7}:root[data-theme=sunset]{--accent: #f97316;--accent-2: #ea580c}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased}.screen{max-width:560px;margin:0 auto;height:100%;display:flex;flex-direction:column}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--border);background:var(--panel-2);color:var(--text);padding:11px 16px;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:transform .04s ease,background .15s ease,opacity .15s ease}.btn:hover{background:#262b3a}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:var(--accent-2)}.btn.primary:hover{background:var(--accent-2)}.btn.ghost{background:transparent}.btn.link{background:none;border:none;color:var(--muted);padding:6px}.btn.big{padding:16px;font-size:17px}.btn.small{padding:7px 12px;font-size:13px;border-radius:10px}.home{justify-content:center;align-items:center;padding:24px;gap:28px;text-align:center}.brand .logo{width:64px;height:64px;margin:0 auto 14px;border-radius:18px;display:grid;place-items:center;font-weight:800;font-size:22px;letter-spacing:1px;color:#fff;background:linear-gradient(135deg,var(--accent),#a855f7);box-shadow:0 10px 30px #6366f159}.brand h1{margin:0 0 6px;font-size:30px}.brand p{margin:0;color:var(--muted);max-width:320px}.actions{display:flex;flex-direction:column;gap:12px;width:100%;max-width:320px}.card{width:100%;max-width:360px;background:var(--panel);border:1px solid var(--border);border-radius:18px;padding:20px;display:flex;flex-direction:column;gap:12px;text-align:left}.card label{font-size:13px;color:var(--muted)}.card input{width:100%;padding:13px 14px;font-size:22px;letter-spacing:4px;text-align:center;font-weight:700;border-radius:12px;border:1px solid var(--border);background:var(--bg);color:var(--text);outline:none}.card input:focus{border-color:var(--accent)}.card .row{display:flex;gap:10px}.card .row .btn{flex:1}.scanner-wrap{margin-top:4px}.scanner{width:100%;border-radius:12px;overflow:hidden;background:#000}.error{color:#f87171;font-size:14px;margin:4px 0 0}.error.small{font-size:12px}.room{height:100%}.room-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border);background:var(--panel)}.room-id{display:flex;align-items:center;gap:10px}.code-chip{font-weight:800;letter-spacing:3px;font-size:18px;background:var(--panel-2);border:1px solid var(--border);padding:4px 10px;border-radius:8px}.member-count{font-size:12px;color:var(--muted)}.head-actions{display:flex;gap:8px}.members{display:flex;flex-wrap:wrap;gap:6px;padding:10px 16px;border-bottom:1px solid var(--border)}.member-tag{font-size:12px;font-weight:600;padding:3px 9px;border-radius:999px;color:var(--c);border:1px solid color-mix(in srgb,var(--c) 45%,transparent);background:color-mix(in srgb,var(--c) 14%,transparent);transition:opacity .2s ease}.member-tag.offline{opacity:.4}.messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px}.msg{display:flex;flex-direction:column;align-items:flex-start;max-width:80%}.msg.mine{align-self:flex-end;align-items:flex-end}.msg-name{font-size:11px;font-weight:700;margin:0 4px 3px}.msg-bubble{background:var(--panel-2);border:1px solid var(--border);padding:9px 13px;border-radius:4px 14px 14px;font-size:15px;line-height:1.35;word-break:break-word}.msg.mine .msg-bubble{background:var(--accent);border-color:var(--accent-2);color:#fff;border-top-left-radius:14px;border-top-right-radius:4px}.msg.system{align-self:center;max-width:100%}.msg.system{color:var(--muted);font-size:12px;font-style:italic}.composer{display:flex;gap:10px;padding:12px 16px;border-top:1px solid var(--border);background:var(--panel)}.composer input{flex:1;padding:12px 14px;font-size:15px;border-radius:12px;border:1px solid var(--border);background:var(--bg);color:var(--text);outline:none}.composer input:focus{border-color:var(--accent)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:grid;place-items:center;padding:20px;z-index:10}.modal{background:var(--panel);border:1px solid var(--border);border-radius:20px;padding:24px;width:100%;max-width:340px;text-align:center;display:flex;flex-direction:column;gap:14px}.modal h2{margin:0;font-size:20px}.qr-box{background:#fff;padding:14px;border-radius:16px;align-self:center;line-height:0}.hint{margin:0;color:var(--muted);font-size:13px}.code-big{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px dashed var(--border);background:var(--bg);color:var(--text);border-radius:12px;padding:12px;font-size:26px;font-weight:800;letter-spacing:6px;cursor:pointer;display:flex;flex-direction:column;gap:4px}.code-big .copy{font-size:11px;letter-spacing:1px;font-weight:600;color:var(--muted)}.app{display:flex;flex-direction:column;height:100%;max-width:560px;margin:0 auto}.app>.screen{flex:1;min-height:0;max-width:none}.room-tabs{display:flex;gap:6px;padding:8px 10px;border-bottom:1px solid var(--border);background:var(--bg);overflow-x:auto}.tab{display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:10px;border:1px solid var(--border);background:var(--panel);cursor:pointer;white-space:nowrap}.tab.active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 18%,var(--panel))}.tab-code{font-weight:700;letter-spacing:2px;font-size:13px}.tab-close,.tab.add{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:none;color:var(--muted);cursor:pointer;font-size:16px;line-height:1;padding:0 2px}.tab.add{border:1px dashed var(--border);border-radius:10px;padding:6px 12px;font-size:15px}.owner-controls{display:flex;flex-wrap:wrap;gap:8px;padding:8px 16px;border-bottom:1px solid var(--border);background:var(--panel)}.lock-badge{font-size:13px}.head-actions .icon{padding:7px 10px}.member-tag.kickable{cursor:pointer}.kick-btn{margin-left:6px;border:none;background:#ef4444;color:#fff;border-radius:999px;font-size:10px;font-weight:700;padding:1px 7px;cursor:pointer}.text-input{width:100%;padding:12px 14px;font-size:15px;border-radius:12px;border:1px solid var(--border);background:var(--bg);color:var(--text);outline:none}.text-input:focus{border-color:var(--accent)}.text-input:disabled{opacity:.5}.back-rooms{position:absolute;top:12px;left:12px}.go-pro{color:var(--accent);font-weight:700}.logo.small{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;font-weight:800;color:#fff;background:linear-gradient(135deg,var(--accent),#a855f7);align-self:center}.perks{text-align:left;margin:4px 0;padding-left:20px;color:var(--text);display:flex;flex-direction:column;gap:6px}.perks li::marker{color:var(--accent)}.modal.settings{text-align:left;max-width:360px}.modal.settings label{font-size:13px;color:var(--muted)}.pro-banner{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--accent-2);background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--text);border-radius:12px;padding:10px;font-weight:600;cursor:pointer}.swatches{display:flex;flex-wrap:wrap;gap:8px}.swatch{width:30px;height:30px;border-radius:999px;border:2px solid transparent;cursor:pointer}.swatch.sel{border-color:var(--text)}.swatch:disabled{opacity:.5;cursor:not-allowed}.themes{display:flex;gap:8px;flex-wrap:wrap}.themes .btn{text-transform:capitalize}.tab-badge{min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--accent);color:#fff;font-size:10px;font-weight:800;display:grid;place-items:center}
