*{box-sizing:border-box;margin:0;padding:0}:root{--bg:#000;--surface:#111;--border:#333;--text:#fff9;--text-dim:#ffffff4d;--accent:#fff;--accent-glow:#ffffff14;--font:"IBM Plex Mono", monospace}html,body,#root{width:100%;height:100%;overflow:hidden}body{font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}.connect-panel{background:var(--bg);flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.connect-scroll{flex-direction:column;flex:1;gap:28px;padding:40px 32px;display:flex;overflow-y:auto}.field-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:2px;align-items:center;gap:8px;margin-bottom:10px;font-size:10px;font-weight:500;display:flex}.hint-btn{all:unset;border:1px solid var(--border);width:16px;height:16px;color:var(--text-dim);cursor:pointer;text-transform:none;letter-spacing:0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:10px;transition:all .15s;display:inline-flex;position:relative}.hint-btn:hover,.hint-btn:focus{color:var(--accent);border-color:#ffffff40}.hint-text{background:var(--surface);border:1px solid var(--border);width:240px;color:var(--text);z-index:10;text-transform:none;letter-spacing:0;border-radius:4px;padding:10px 12px;font-size:12px;font-weight:400;line-height:1.6;display:none;position:absolute;top:calc(100% + 8px);left:-4px}.hint-btn:hover .hint-text,.hint-btn:focus .hint-text{display:block}.connect-about{flex-direction:column;gap:0;display:flex}.connect-about p{color:var(--accent);margin-bottom:8px;font-size:13px;line-height:1.7}.connect-about p:last-of-type{margin-bottom:0}.inline-link{color:var(--text);border-bottom:1px solid #ffffff26;text-decoration:none;transition:all .15s}.inline-link:hover{color:var(--accent);border-color:var(--accent)}.connect-links{flex-wrap:wrap;gap:8px;display:flex}.link-pill{font-family:var(--font);color:var(--text-dim);border:1px solid var(--border);border-radius:4px;align-items:center;gap:6px;padding:8px 14px;font-size:12px;text-decoration:none;transition:all .15s;display:inline-flex}.link-pill svg{flex-shrink:0}.link-pill:hover{color:var(--accent);border-color:#ffffff40}.connect-fields{flex-direction:column;gap:28px;display:flex}.connect-url input{border:none;border-bottom:1px solid var(--border);width:100%;color:var(--accent);font-family:var(--font);background:0 0;border-radius:0;outline:none;padding:12px 0;font-size:14px;transition:border-color .2s}.connect-url input::placeholder{color:var(--text-dim)}.connect-url input:focus{border-color:var(--text)}.connect-rooms{flex-direction:column;gap:2px;display:flex}.room-card{background:var(--surface);cursor:pointer;border:1px solid #0000;justify-content:space-between;align-items:center;padding:14px 16px;transition:all .15s;display:flex}.room-card:first-child{border-radius:4px 4px 0 0}.room-card:last-child{border-radius:0 0 4px 4px}.room-card:only-child{border-radius:4px}.room-card:hover{background:#ffffff0a}.room-card.selected{background:#ffffff0f;border-color:#ffffff26}.room-card-left{flex-direction:column;gap:2px;display:flex}.room-card-name{color:var(--accent);font-size:15px;font-weight:500}.room-card-identity{color:var(--text-dim);font-size:11px}.room-card-delete{color:#0000;font-family:var(--font);cursor:pointer;font-size:11px;transition:color .15s;background:0 0!important;border:none!important;margin:0!important;padding:4px 8px!important}.room-card:hover .room-card-delete{color:var(--text-dim)}.room-card-delete:hover{color:#ffffff80!important}.add-token-row{margin-top:4px}.add-token-row textarea{background:var(--surface);border:1px solid var(--border);width:100%;color:var(--accent);font-family:var(--font);resize:none;border-radius:4px;outline:none;padding:12px;font-size:13px;transition:border-color .2s}.add-token-row textarea:focus{border-color:var(--text)}.add-token-actions{gap:8px;margin-top:8px;display:flex}.add-confirm,.add-cancel{font-family:var(--font);cursor:pointer;font-size:12px;transition:color .15s;background:0 0!important;border:none!important;margin:0!important;padding:6px 0!important}.add-confirm{color:var(--accent)!important}.add-confirm:disabled{cursor:default;color:var(--text-dim)!important}.add-cancel{color:var(--text-dim)!important}.add-cancel:hover{color:var(--text)!important}.add-trigger{font-family:var(--font);cursor:pointer;text-align:center;width:100%;font-size:13px;transition:all .15s;border:1px dashed var(--border)!important;color:var(--text-dim)!important;background:0 0!important;border-radius:4px!important;margin:0!important;padding:12px!important}.add-trigger:hover{border-color:var(--text)!important;color:var(--text)!important}.empty-state{flex-direction:column;align-items:center;gap:12px;padding:32px 0;display:flex}.empty-state p{color:var(--text-dim);font-size:13px}.empty-add-btn{font-family:var(--font);cursor:pointer;font-size:13px;transition:all .15s;border:1px dashed var(--border)!important;color:var(--text-dim)!important;background:0 0!important;border-radius:4px!important;margin:0!important;padding:10px 20px!important}.empty-add-btn:hover{border-color:var(--text)!important;color:var(--text)!important}.connect-btn{width:100%;font-family:var(--font);cursor:pointer;font-size:14px;font-weight:500;transition:opacity .2s;background:var(--accent)!important;color:#000!important;border:none!important;border-radius:4px!important;margin:0!important;padding:14px!important}.connect-btn:hover:not(:disabled){opacity:.85!important}.connect-btn:disabled{cursor:default;opacity:.2!important}.room-page{flex-direction:column;height:100%;display:flex;overflow:hidden}.room-content{background:#ffffff14;flex:1;gap:1px;display:flex;overflow:hidden}.spectrogram-panel{background:var(--bg);flex:1;min-width:0;min-height:0;padding:8px}.transcription-panel{background:var(--bg);flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.transcription{flex:1;justify-content:flex-start;align-items:flex-start;padding:24px;display:flex}.transcript-text{color:#fff;text-align:left;font-size:32px;font-weight:400;line-height:1.4}.waiting-dots{gap:6px;display:flex}.dot{background:#ffffff26;border-radius:1px;width:5px;height:5px;animation:1.4s step-end infinite blink}.dot:nth-child(2){animation-delay:.3s}.dot:nth-child(3){animation-delay:.6s}@keyframes blink{0%,60%{opacity:.15}30%{opacity:.6}}.disconnect-btn{font-family:var(--font);color:var(--text-dim);cursor:pointer;text-align:left;background:0 0;border:none;flex-shrink:0;padding:20px 24px;font-size:14px;transition:color .2s}.disconnect-btn:hover{color:var(--text)}@media (width<=768px){.room-content{flex-direction:column}.spectrogram-panel{flex:none;height:40vh}.transcription-panel,.connect-panel{flex:1}.connect-scroll{gap:32px;padding:28px 20px}.transcript-text{font-size:24px}}
