:root{color-scheme:light;--bg:#f7f7f4;--panel:#fff;--text:#171717;--muted:#70706b;--line:#e4e4df;--soft:#f0f0eb;--accent:#1f6f4a;--accent-strong:#18573a;--danger:#b42318;--shadow:0 1px 2px rgba(0,0,0,.04),0 12px 30px rgba(0,0,0,.03);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:var(--bg);color:var(--text)}button,input,select{font:inherit}button{cursor:pointer}.hidden{display:none!important}.topbar{height:72px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 32px;background:rgba(247,247,244,.92);backdrop-filter:blur(16px);position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:12px}.brand-mark{width:36px;height:36px;border:1px solid #bdbdb5;border-radius:10px;display:grid;place-items:center;font-weight:800;background:#fff}.brand-name{font-weight:760}.brand-sub{font-size:12px;color:var(--muted);margin-top:1px}.status-cluster{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--muted)}.status-dot{width:8px;height:8px;border-radius:999px;display:inline-block}.status-dot.online{background:#159455}.status-dot.offline{background:#a6a6a0}.status-dot.connecting{background:#d99b16}.shell{width:min(1180px,calc(100% - 32px));margin:34px auto 80px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow)}.join-panel{max-width:760px;margin:70px auto;padding:36px}.eyebrow{margin:0 0 8px;font-size:11px;letter-spacing:.14em;font-weight:800;color:var(--muted)}h1{margin:0;font-size:clamp(28px,4vw,44px);line-height:1.08;letter-spacing:-.03em}h2{margin:0;font-size:28px;letter-spacing:-.025em}h3{margin:0;font-size:17px}.lead{color:var(--muted);max-width:650px;line-height:1.6}.form-grid{margin-top:30px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}label>span,.control-label{display:block;font-size:12px;color:var(--muted);font-weight:700;margin-bottom:7px}input,select{width:100%;border:1px solid #d6d6cf;border-radius:10px;background:#fff;padding:11px 12px;outline:none;color:var(--text)}input:focus,select:focus{border-color:#8aa895;box-shadow:0 0 0 3px rgba(31,111,74,.09)}.advanced{grid-column:1/-1;border:1px solid var(--line);border-radius:10px;padding:12px 14px;background:#fafaf8}.advanced summary{cursor:pointer;font-weight:700;font-size:13px}.advanced label{display:block;margin-top:14px}.actions{display:flex;gap:14px;align-items:center;margin-top:24px}.primary,.secondary,.danger-ghost{border-radius:10px;padding:10px 14px;border:1px solid transparent;font-weight:720}.primary{background:var(--text);color:white}.primary:hover{background:#2b2b2b}.secondary{background:white;border-color:#d6d6cf;color:var(--text)}.secondary:hover{background:#f8f8f5}.danger-ghost{background:transparent;color:var(--danger)}.danger-ghost:hover{background:#fff1ef}.error-text{color:var(--danger);font-size:13px}.hint,.muted{color:var(--muted);font-size:12px}.meeting{display:grid;gap:18px}.meeting-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding:6px 2px}.room-line{display:flex;align-items:center;gap:12px}.head-actions,.toolbar-actions{display:flex;gap:8px;flex-wrap:wrap}.pill{display:inline-flex;align-items:center;border-radius:999px;background:#ecece7;color:#55554f;padding:5px 9px;font-size:11px;font-weight:750}.pill.subtle{background:#f4f4f0}.controls-panel{padding:18px}.control-row{display:flex;gap:18px;align-items:end}.grow{flex:1;min-width:260px}.compact-select{width:190px}.mic-state-line{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:9px}.meter-track{height:8px;border-radius:999px;background:#ecece7;overflow:hidden;position:relative}.meter-level{height:100%;width:0;background:#64645e;border-radius:inherit;transition:width 60ms linear}.threshold-marker{position:absolute;top:-2px;bottom:-2px;width:2px;background:#c46a14;left:20%;opacity:0}.mic-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:16px}.talk-button{min-width:220px;border:0;border-radius:12px;background:var(--accent);color:white;padding:12px 16px;display:inline-flex;gap:10px;align-items:center;justify-content:center;user-select:none;touch-action:none}.talk-button:hover{background:var(--accent-strong)}.talk-button.active{background:#9e2b21;transform:translateY(1px)}.talk-button small{opacity:.78;font-size:10px;display:block}.talk-dot{width:9px;height:9px;border-radius:999px;background:#fff}.partial-panel{border:1px dashed #b7c9bd;border-radius:14px;background:#f6fbf7;padding:16px 18px}.partial-label{color:var(--accent);font-size:11px;font-weight:800;letter-spacing:.06em}.partial-speaker{color:var(--muted);font-size:12px;margin-top:8px}.partial-text{font-size:19px;line-height:1.5;margin-top:4px}.pulse-dot{display:inline-block;width:7px;height:7px;border-radius:999px;background:var(--accent);margin-right:6px;animation:pulse 1.2s infinite}@keyframes pulse{50%{opacity:.3}}.toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center}.search-wrap{width:min(440px,100%)}.transcript-grid{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:start}.transcript-panel,.participants-panel{padding:18px}.participants-panel{position:sticky;top:90px}.panel-title-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.transcript-list{display:grid;gap:10px;max-height:62vh;overflow:auto;padding-right:3px}.empty-state{padding:28px 10px;color:var(--muted);text-align:center}.transcript-card{border:1px solid var(--line);border-radius:12px;padding:14px 15px;background:#fff}.transcript-meta{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:7px;font-size:11px;color:var(--muted)}.speaker-name{color:var(--text);font-weight:780}.transcript-text{font-size:16px;line-height:1.5}.translation-text{margin-top:9px;padding-top:9px;border-top:1px solid var(--soft);color:#4f4f4a;line-height:1.5}.badges{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.badge{font-size:10px;padding:4px 7px;border-radius:999px;background:#f0f0eb;color:#5e5e58;font-weight:720}.badge.good{background:#eaf6ee;color:#1c6a42}.badge.warn{background:#fff3d7;color:#7d5600}.badge.blue{background:#edf3ff;color:#2c5591}.participants-list{display:grid;gap:8px}.participant{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:10px;border-radius:10px;background:#f7f7f4}.participant-name{font-weight:720;font-size:13px}.participant-sub{color:var(--muted);font-size:11px;margin-top:2px}.mic-chip{font-size:10px;border-radius:999px;padding:4px 7px;background:#ecece7}.mic-chip.speaking{background:#fde9e6;color:#9e2b21}.mic-chip.listening{background:#eaf6ee;color:#1c6a42}.test-card{margin-top:18px;padding:13px;border-radius:12px;background:#f4f4f0;color:#575752;font-size:12px;line-height:1.5}.test-title{font-weight:800;color:var(--text);margin-bottom:4px}.diagnostics{padding:18px}.diag-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.health-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.health-item{background:#f7f7f4;border-radius:10px;padding:10px}.health-key{color:var(--muted);font-size:10px}.health-value{font-weight:780;margin-top:3px;font-size:13px;overflow-wrap:anywhere}.toast{position:fixed;right:22px;bottom:22px;z-index:50;max-width:360px;background:#171717;color:#fff;border-radius:11px;padding:11px 14px;box-shadow:0 12px 40px rgba(0,0,0,.25);font-size:13px}@media(max-width:850px){.topbar{padding:0 16px}.shell{width:min(100% - 20px,1180px);margin-top:20px}.form-grid{grid-template-columns:1fr}.control-row{flex-direction:column;align-items:stretch}.compact-select{width:100%}.transcript-grid{grid-template-columns:1fr}.participants-panel{position:static}.meeting-head,.toolbar{align-items:stretch;flex-direction:column}.health-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:520px){.join-panel{margin:24px auto;padding:22px}.health-grid{grid-template-columns:1fr}.head-actions,.toolbar-actions{width:100%}.head-actions button,.toolbar-actions button{flex:1}}
