:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#e9eaf0;background:#111218;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;border:0}button:disabled{cursor:not-allowed;opacity:.45}.center{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 15%,#262747,#111218 55%)}.card{background:#1c1e29;border:1px solid #353748;box-shadow:0 25px 80px #0005;border-radius:22px}.entry{width:min(100%,420px);padding:38px}.brand{font-size:12px;font-weight:800;letter-spacing:.16em;color:#9b94f4}.entry h1{font-size:38px;letter-spacing:-.05em;margin:48px 0 8px}.entry p{line-height:1.6;color:#a8aabb}.entry form{display:grid;gap:11px;margin-top:34px}label{font-size:12px;font-weight:700;color:#a8aabb}input,select{min-width:0;width:100%;background:#101116;border:1px solid #373948;border-radius:10px;color:#f5f5fa;padding:12px 13px;outline:none}input:focus,select:focus{border-color:#9b94f4}button.primary{padding:13px 18px;background:#827cf1;border-radius:10px;color:#fff;font-weight:700}button.primary:hover{background:#958ff9}.error{color:#ff9d9d!important;font-size:13px}.shell{min-height:100vh;display:grid;grid-template-columns:275px minmax(0,1fr)}.sidebar{display:flex;flex-direction:column;background:#1a1b24;border-right:1px solid #30323e;padding:28px 16px 16px}.sidebar .brand{padding:0 11px 34px}.section-title{display:flex;justify-content:space-between;align-items:center;padding:0 12px;margin-bottom:10px;color:#787b90;font-size:11px;font-weight:800;letter-spacing:.15em}.section-title button{background:none;color:#a9aab8;font-size:21px;line-height:1}.rooms{display:grid;gap:4px}.room-button{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:11px 13px;background:transparent;color:#b3b5c4;border-radius:9px;font-weight:650}.room-button:hover,.room-button.selected{background:#303044;color:#fff}.room-icon{font-size:14px;color:#918cdb;letter-spacing:-.3em;width:24px}.create-room{margin-top:27px;padding:0 10px}.create-room label{display:block;margin-bottom:9px}.form-row{display:flex;gap:6px}.form-row input{padding:9px 10px;font-size:13px}.form-row button{width:39px;flex:none;color:#fff;background:#494673;border-radius:9px;font-size:22px}.sidebar-bottom{margin-top:auto;display:flex;align-items:center;gap:10px;padding:14px 7px 1px;border-top:1px solid #30323e}.avatar{display:grid;place-items:center;width:48px;height:48px;flex:none;border-radius:15px;background:#444475;color:#e8e6ff;font-size:20px;font-weight:800}.avatar.small{width:34px;height:34px;border-radius:11px;font-size:14px}.identity{display:flex;flex-direction:column;min-width:0}.identity strong{font-size:13px;overflow:hidden;text-overflow:ellipsis}.identity small{color:#828498;font-size:11px}.sidebar-bottom button{margin-left:auto;background:none;color:#aaaabc;font-size:11px;white-space:nowrap}.main-panel{position:relative;display:flex;flex-direction:column;min-width:0;background:#12131b}.empty{margin:auto;text-align:center;padding:25px}.empty-icon{font-size:42px;letter-spacing:-.4em;color:#8e89eb;margin-right:20px}.empty h2{font-size:27px;margin:12px 0 5px}.empty p{color:#9496a8;margin-bottom:27px}.room-header{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:28px 34px;border-bottom:1px solid #2b2d3a}.room-header h1{font-size:28px;margin:3px 0 0}.eyebrow,.members-heading{font-size:11px;font-weight:800;letter-spacing:.15em;color:#83859a}.status{display:flex;align-items:center;gap:8px;color:#aeb0bd;font-size:12px}.status-dot{width:8px;height:8px;border-radius:50%;background:#737589}.status.connected .status-dot{background:#61d5a3;box-shadow:0 0 0 4px #61d5a322}.status.reconnecting .status-dot{background:#f4c363}.room-body{flex:1;padding:29px 34px;overflow:auto}.members-heading{margin:0 0 18px}.people{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.person{display:flex;align-items:center;gap:12px;padding:14px;background:#1d1f2b;border:1px solid #303242;border-radius:15px}.person.speaking{border-color:#66d6a5;box-shadow:0 0 0 1px #66d6a533}.person.speaking .avatar{box-shadow:0 0 0 3px #66d6a5}.person-name{font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.person-name small{display:block;font-weight:500;font-size:11px;color:#8d90a3}.person-state{margin-left:auto;white-space:nowrap;font-size:11px;color:#8fd4ae}.hint{color:#9294a6}.connection-error{margin-top:24px;padding:18px;background:#262638;border-radius:12px;display:flex;align-items:center;gap:16px}.connection-error p{margin:0;color:#d9d9e6}.connection-error button:not(.primary){padding:10px 13px;background:#42436d;border-radius:8px;color:#fff}.audio-host{display:none}.controls{padding:17px 34px 22px;border-top:1px solid #2b2d3a;background:#191a24}.control-buttons{display:flex;gap:9px;align-items:center}.control-buttons button{padding:11px 15px;border-radius:10px;background:#303241;color:#e9e9f1;font-weight:700;font-size:13px}.control-buttons button:hover:not(:disabled){background:#414355}.control-buttons button.off{background:#554047;color:#ffb9c1}.control-buttons .leave{margin-left:auto;background:#59333c;color:#ffc9ce}.device-controls{display:flex;gap:16px;margin-top:15px}.device-controls label{flex:1;max-width:300px}.device-controls select{display:block;margin-top:6px;padding:8px 10px;font-size:12px}.device-note{display:block;color:#77798a;margin-top:8px}.toast{position:absolute;right:20px;top:20px;background:#5c323b;color:#fff;padding:11px 15px;border-radius:8px;font-size:13px}.toast button{margin-left:12px;background:none;color:#fff;font-size:18px}@media(max-width:700px){.shell{grid-template-columns:1fr}.sidebar{padding:15px;min-height:0;border-right:0;border-bottom:1px solid #30323e}.sidebar .brand{padding:0 0 15px}.rooms{display:flex;overflow-x:auto}.room-button{width:auto;white-space:nowrap}.create-room{margin-top:14px;padding:0}.sidebar-bottom{margin-top:15px}.main-panel{min-height:65vh}.room-header,.room-body{padding:20px}.controls{padding:15px}.device-controls{flex-wrap:wrap}.control-buttons button span{display:none}}
