:root{color:#111;font-synthesis:none;text-rendering:optimizeLegibility;background:#fff;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body{overflow:hidden;width:100%;height:100%;margin:0}select{font:inherit}.app-shell{display:grid;grid-template-rows:repeat(2,minmax(0,1fr));width:100%;height:100dvh}.translation-panel{min-height:0;padding:clamp(20px,4vw,48px)}h2,p{margin:0}h2{color:#777;letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;font-weight:500}.language-select{color:#777;outline:none;cursor:pointer;letter-spacing:.08em;text-transform:uppercase;background:0 0;border:1px solid #0000;border-radius:0;width:auto;max-width:100%;height:24px;padding:0 4px;font-size:.75rem;font-weight:500}.language-select:focus-visible{border-color:#777}.transcript{--transcript-line-height:1.4em;--latest-line-arrow-gutter:.7em;margin-top:12px;margin-left:calc(-1*var(--latest-line-arrow-gutter));padding-left:var(--latest-line-arrow-gutter);overflow:hidden;letter-spacing:-.02em;height:calc(100% - 36px);font-size:clamp(1.4rem,3vw,2.25rem);line-height:1.4}.transcript-rows{display:flex;flex-direction:column;height:100%}.transcript-row{position:relative;flex:0 0 var(--transcript-line-height);height:var(--transcript-line-height);line-height:var(--transcript-line-height);transition:opacity .35s}.transcript-row-text{overflow:hidden;white-space:nowrap;height:100%}.transcript-row.is-latest:before{content:"";position:absolute;pointer-events:none;border:.2em solid #0000;border-left:.32em solid #111;border-right-width:0;width:0;height:0;margin-right:.22em;top:50%;right:100%;transform:translateY(-50%)}.speaker-segment{color:var(--speaker-color)}.interim-text,.speaker-segment.interim-text{color:#0ea5e9;opacity:1}@media (prefers-reduced-motion:reduce){.transcript-row{transition:none}}.app-menu{display:flex;position:fixed;top:max(16px,env(safe-area-inset-top));right:max(16px,env(safe-area-inset-right));z-index:20;align-items: center;gap:8px;transition:opacity .4s}.app-menu-controls{position:relative}.join-public-channel{color:#fff;font:inherit;white-space:nowrap;cursor:pointer;background:#16a34a;border:none;border-radius:0;flex:none;height:40px;padding:0 12px;font-size:.78rem;font-weight:600}.join-public-channel:hover{background:#15803d}.join-public-channel:focus-visible{outline:1px solid #111}@media (max-width:480px){.join-public-channel{padding:0 8px;font-size:.7rem}}.hamburger{display:flex;cursor:pointer;background:0 0;border:none;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;padding:10px}.hamburger span{display:block;background:#111;width:100%;height:1.5px}.hamburger:focus-visible{outline:1px solid #111}.menu-panel{position:absolute;background:#fff;border:1px solid #bbb;min-width:240px;top:calc(100% + 4px);right:0}.channel-summary{display:grid;border-bottom:1px solid #ddd;gap:3px;padding:12px}.channel-summary strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;font-weight:600}.channel-summary span{color:#777;font-size:.68rem}#channel-connection[data-state=connected]{color:#111}.menu-panel button{display:block;color:#111;font:inherit;text-align:left;cursor:pointer;background:#fff;border:none;width:100%;height:40px;padding:0 12px}.menu-panel button:hover{background:#f4f4f4}.menu-panel button:focus-visible{background:#f4f4f4}.menu-panel button:focus-visible{outline:none}.channel-code{color:#777;border-top:1px solid #ddd;padding:10px 12px;font-size:.72rem}.channel-code strong{color:#111;letter-spacing:.15em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.channel-dialog{background:#fff;border:1px solid #bbb;width:min(420px,100% - 40px);max-height:min(640px,100dvh - 40px);padding:20px}.channel-dialog::backdrop{background:#ffffffb8}.channel-dialog form,.dialog-content{display:grid;gap:12px}.dialog-heading{display:flex;justify-content:space-between;align-items: center;gap:16px}.dialog-heading button{color:#777;border:0;width:auto;height:auto;padding:4px}.channel-dialog label{color:#777;font-size:.75rem}.channel-dialog input,.channel-dialog button{color:#111;font:inherit;background:#fff;border:1px solid #bbb;width:100%;height:40px;padding:0 12px}.channel-dialog input:focus-visible{outline:none;border-color:#111}.channel-dialog button:focus-visible{outline:none;border-color:#111}.channel-dialog button{cursor:pointer}.join-code-input{letter-spacing:.3em;text-align:center;text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.2rem}.form-hint{color:#777;font-size:.75rem}.form-error{color:#111;font-size:.75rem}.channel-list{display:grid;overflow-y:auto;border-top:1px solid #ddd;max-height:420px}.channel-list button{display:grid;text-align:left;border:0;border-bottom:1px solid #ddd;height:auto;min-height:52px;padding:10px 0}.channel-list button:hover{background:#f4f4f4}.channel-list button:focus-visible{background:#f4f4f4}.channel-list strong{font-size:.85rem}.channel-list span{color:#777;margin-top:2px;font-size:.68rem}.microphone-control{position:fixed;z-index:20;bottom:max(20px,env(safe-area-inset-bottom));text-align:center;width:min(360px,100% - 40px);transition:opacity .4s;left:50%;transform:translate(-50%)}body[data-chrome-idle=true] .app-menu,body[data-chrome-idle=true] .microphone-control{opacity:0;pointer-events:none}@media (prefers-reduced-motion:reduce){.app-menu,.microphone-control{transition:none}}.record-cluster{display:grid;grid-template-columns:1fr auto 1fr;align-items: center;gap:12px}.record-button-wrap{display:grid;position:relative;grid-column:2;place-items: center;width:68px;height:68px}.record-button{appearance:none;-webkit-appearance:none;display:grid;position:relative;z-index:1;color:#fff;cursor:not-allowed;touch-action:manipulation;user-select:none;background:#c4c4c4;border:none;border-radius:50%;place-items: center;width:56px;height:56px;padding:0}.record-button svg{display:block;fill:currentColor;pointer-events:none;width:24px;height:24px}.record-button::-moz-focus-inner{border:0}.record-button:after{content:"";position:absolute;inset:-6px}.record-button:not(:disabled){cursor:pointer;background:#444}.record-button[data-state=live]:not(:disabled){background:#dc2626}.record-button:focus-visible{outline:1px solid #111;outline-offset:3px}.record-spinner{position:absolute;opacity:0;pointer-events:none;border:3px solid #bfdbfe;border-top-color:#2563eb;border-radius:50%;inset:0}.record-button-wrap[data-state=starting] .record-spinner{opacity:1;animation:.8s linear infinite record-spin}@keyframes record-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}#microphone{grid-column:3;color:#111;outline:none;background:#fff;border:1px solid #bbb;border-radius:0;width:100%;min-width:0;height:40px;padding:0 12px}#microphone[hidden]{display:none}#microphone:focus-visible{border-color:#111}#microphone:disabled{color:#777}.connection-status{visibility:hidden;color:#777;min-height:18px;margin-top:5px;font-size:.7rem}.connection-status[data-state=starting],.connection-status[data-state=error]{visibility:visible}.connection-status[data-state=error]{color:#111}noscript{position:fixed;display:grid;background:#fff;place-items: center;padding:20px;inset:0}
