/* 全局色彩、页面骨架、基础控件和响应式布局。 */
:root{--ink:#242724;--muted:#858981;--line:#e9e9e3;--paper:#fff;--canvas:#f5f4f0;--green:#285e4b;--mint:#e9f2ec;--accent:#b9ed72}*{box-sizing:border-box}body{margin:0;background:var(--canvas);color:var(--ink);font-family:"DM Sans","Noto Sans SC",sans-serif;font-size:14px}.app-shell{min-height:100vh;display:flex}.rail{width:218px;position:fixed;inset:0 auto 0 0;background:#fbfbf8;border-right:1px solid var(--line);display:flex;flex-direction:column;padding:28px 16px 18px;z-index:2}.brand{display:flex;align-items:center;gap:10px;padding:0 10px;text-decoration:none;color:var(--ink);font-weight:700;font-size:19px;letter-spacing:-.7px}.brand-mark{display:grid;place-items:center;background:var(--green);color:#fff;border-radius:10px;width:30px;height:30px;font-family:Georgia,serif;font-size:20px;font-style:italic}.rail-nav{display:grid;gap:6px;margin-top:48px}.nav-item{height:43px;border:0;background:transparent;color:#81867e;padding:0 12px;border-radius:8px;text-align:left;display:flex;align-items:center;gap:12px;font:500 13px inherit;cursor:pointer}.nav-item.active{background:#edf1eb;color:var(--green);font-weight:600}.nav-icon{font-size:17px}.rail-bottom{margin-top:auto;border-top:1px solid var(--line);padding:18px 6px 0;display:flex;align-items:center;gap:9px;font-size:11px;color:#747a72}.avatar{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#e1e9de;color:#41634b;font-size:12px;font-weight:700}.online-dot{margin-left:auto;width:6px;height:6px;background:#85bc67;border-radius:50%}.main{margin-left:218px;width:calc(100% - 218px);min-height:100vh}.topbar{height:67px;padding:0 48px;border-bottom:1px solid #e9e8e2;display:flex;align-items:center;justify-content:space-between;background:rgba(250,250,247,.76)}.crumb{color:#969a93;font-size:12px}.crumb span{padding:0 9px;color:#c1c3bd}.crumb strong{color:#4a4e48;font-weight:500}.top-actions{display:flex;align-items:center;gap:22px}.privacy{font-size:11px;color:#7c867a}.lock{font-size:9px;color:#557b5e;margin-right:4px}.icon-button{width:31px;height:31px;border:1px solid var(--line);border-radius:8px;background:#fff;color:#697068;font-size:16px;cursor:pointer}.content{max-width:1100px;margin:0 auto;padding:50px 58px}.intro{display:flex;align-items:flex-end;justify-content:space-between;margin:0 0 29px}.eyebrow{font-size:9px;font-weight:700;letter-spacing:1.5px;color:#80947e;display:flex;align-items:center;gap:7px}.eyebrow-dot{width:6px;height:6px;border-radius:50%;background:#8cc873}h1{font-size:31px;letter-spacing:-1.2px;margin:10px 0 7px;font-weight:600} .intro p{margin:0;color:#858a82;font-size:13px}.text-button{background:none;border:0;color:#777c74;font:500 11px inherit;padding:8px;cursor:pointer}.text-button span{padding-left:6px}.workspace{height:min(620px,calc(100vh - 255px));min-height:480px;background:#fff;border:1px solid #e6e7e0;border-radius:14px;box-shadow:0 6px 20px rgba(42,47,35,.035);display:flex;flex-direction:column;overflow:hidden}.workspace-head{height:78px;border-bottom:1px solid #f0f0eb;display:flex;align-items:center;justify-content:space-between;padding:0 27px;flex-shrink:0}.language-pair{display:flex;align-items:center;gap:15px}.language{display:grid;gap:5px}.language>span{font-size:9px;color:#989c94;letter-spacing:.3px}.language select{border:0;background:transparent;color:#333831;font:600 12px inherit;outline:none;min-width:128px;cursor:pointer}.swap-button{border:1px solid #e9ebe5;background:#fff;border-radius:7px;width:27px;height:27px;color:#7e8d78;font-size:15px;cursor:pointer}.connection{display:flex;gap:7px;align-items:center;color:#8a9087;font-size:10px}.connection-dot{width:6px;height:6px;background:#b5c5a9;border-radius:50%}.transcript{position:relative;flex:1;overflow:auto;padding:27px 42px;display:flex;flex-direction:column;gap:20px}.empty-state{margin:auto;text-align:center;color:#8e938a}.sound-orb{margin:0 auto 17px;width:57px;height:57px;border-radius:50%;display:grid;place-items:center;background:#f1f5ed;color:#8eaa82;font-size:22px}.empty-state h2{font-size:14px;color:#4c534a;font-weight:600;margin:0 0 8px}.empty-state p{font-size:11px;line-height:1.9;margin:0;color:#999d95}.message{max-width:78%;animation:up .22s ease}.message.mine{align-self:flex-end}.message.theirs{align-self:flex-start}.message-meta{display:flex;align-items:center;gap:7px;margin-bottom:7px;color:#999d96;font-size:9px}.message.mine .message-meta{justify-content:flex-end}.lang-badge{border:1px solid #eceee8;border-radius:4px;padding:2px 5px;color:#737a70}.message-original{font-size:13px;line-height:1.65;color:#42473f;background:#f6f6f2;padding:11px 14px;border-radius:11px 11px 3px 11px}.message.theirs .message-original{background:#edf4ed;border-radius:11px 11px 11px 3px;color:#315841}.message-translation{font-size:13px;line-height:1.65;color:#777d74;padding:8px 4px 0}.message.theirs .message-translation{color:#777d74}.composer{height:140px;border-top:1px solid #f0f0eb;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;flex-shrink:0}.mic-button{display:flex;align-items:center;gap:9px;height:43px;padding:0 19px;border:none;border-radius:24px;background:var(--green);color:white;font:600 12px inherit;cursor:pointer;box-shadow:0 4px 11px rgba(40,94,75,.15);transition:.18s}.mic-button:hover{background:#214c3d;transform:translateY(-1px)}.mic-button.listening{background:#b5463d;box-shadow:0 4px 11px rgba(181,70,61,.16)}.mic-glyph{font-size:8px;color:#c6f197}.composer-hint{color:#a1a59c;font-size:9px;margin-top:12px}kbd{font:9px inherit;color:#7b8177;border:1px solid #e9eae4;background:#fafaf8;border-radius:3px;padding:2px 5px}.hint-separator{margin:0 5px}.listening-label{display:none;position:absolute;top:15px;font-size:10px;color:#a54e44;align-items:center;gap:7px}.listening-label.visible{display:flex}.pulse{width:6px;height:6px;background:#c45a4e;border-radius:50%;box-shadow:0 0 0 4px #fae9e6;animation:pulse 1.3s infinite}.footnote{font-size:10px;color:#9b9f97;margin:17px 3px}.sparkle{color:#8a9c7b;margin-right:5px}dialog{border:1px solid #e5e7df;border-radius:13px;padding:0;width:min(440px,calc(100vw - 32px));box-shadow:0 20px 70px #20271d33;color:var(--ink)}dialog::backdrop{background:#20271d55;backdrop-filter:blur(2px)}dialog form{padding:25px}.dialog-top{display:flex;justify-content:space-between;align-items:flex-start}.dialog-top h2{font-size:20px;margin:8px 0}.dialog-top .icon-button{font-size:20px}.dialog-top+.dialog-top{margin-top:0}dialog p{color:#858a82;font-size:12px;line-height:1.7;margin:10px 0 22px}.service-label{display:block;font-size:11px;color:#5e655c;margin-bottom:7px}.service-label+input{width:100%;height:39px;padding:0 11px;border:1px solid #e2e5dd;border-radius:7px;font:12px inherit;outline-color:#74957b}.dialog-actions{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}.secondary-button,.primary-button{border-radius:7px;padding:9px 13px;font:500 11px inherit;cursor:pointer}.secondary-button{background:white;border:1px solid var(--line);color:#62675f}.primary-button{background:var(--green);border:1px solid var(--green);color:#fff}.toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,12px);padding:10px 15px;border-radius:8px;background:#303832;color:white;font-size:11px;opacity:0;pointer-events:none;transition:.2s;z-index:5}.toast.show{opacity:1;transform:translate(-50%,0)}@keyframes pulse{50%{box-shadow:0 0 0 7px #fae9e655}}@keyframes up{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media(max-width:800px){.rail{width:64px;padding:20px 9px}.brand{padding:0 7px}.brand>span:last-child,.nav-item>span:last-child,.rail-bottom>span{display:none}.rail-nav{margin-top:42px}.nav-item{justify-content:center;padding:0}.rail-bottom{justify-content:center}.online-dot{display:none}.main{margin-left:64px;width:calc(100% - 64px)}.topbar{padding:0 22px}.content{padding:37px 22px}.workspace{height:calc(100vh - 238px);min-height:460px}.workspace-head{padding:0 17px}.transcript{padding:20px}.language select{min-width:auto;max-width:115px;font-size:11px}.privacy{display:none}}@media(max-width:500px){.topbar{height:57px;padding:0 14px}.content{padding:28px 12px}.intro h1{font-size:25px}.intro p{font-size:11px}.text-button{font-size:10px}.workspace{height:calc(100vh - 208px);min-height:430px}.workspace-head{height:70px;padding:0 12px}.language-pair{gap:7px}.language select{max-width:90px}.connection{font-size:0}.connection-dot{width:7px;height:7px}.transcript{padding:17px}.message{max-width:90%}.composer{height:125px}}

/* 双语对话列表、原文与译文卡片的基础布局。 */
.columns-head{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:11px 42px;background:#fcfcfa;border-bottom:1px solid #f0f0eb;color:#92978e;font-size:9px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.message{max-width:none;width:100%;display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start;animation:up .22s ease}.message.mine,.message.theirs{align-self:stretch}.message-meta{grid-column:1/-1;margin:0 0 -14px}.message.mine .message-meta{justify-content:flex-start}.message-original,.message-translation{min-height:42px}.message-translation{padding:11px 14px;background:#f6f8f3;border-radius:11px 11px 11px 3px}.message-interim{font-size:12px;line-height:1.6;color:#818b7c;background:#fafbf8;padding:9px 12px;border:1px dashed #dce5d7;border-radius:8px;margin-top:8px;min-height:36px}.message-interim:empty{display:none}@media(max-width:800px){.columns-head{padding:10px 20px;gap:12px}.message{gap:12px}.message-original,.message-translation{font-size:12px;padding:9px 10px}}@media(max-width:500px){.columns-head{padding:9px 12px;font-size:8px;gap:8px}.message{gap:8px}.message-original,.message-translation{font-size:11px;overflow-wrap:anywhere;padding:8px}.message-meta{margin-bottom:-12px}}

/* 上下排列的原文与译文，以及实时声波和录音区域。 */
.columns-head{display:none}.message{display:flex;flex-direction:column;gap:8px;padding-bottom:9px;border-bottom:1px solid #f0f0eb}.message-meta{order:0;margin:0 0 1px}.message-original{order:1;width:100%;background:#f5f6f2;border-radius:9px;padding:13px 16px;color:#333a32;font-size:15px;line-height:1.6}.message-translation{order:2;width:100%;min-height:0;margin-left:15px;width:calc(100% - 15px);padding:10px 14px;border-left:2px solid #a6be94;border-radius:0 8px 8px 0;background:#f4f8f0;color:#3f6544;font-size:14px;line-height:1.65}.message.interim-row .message-original{color:#859080;border:1px dashed #dbe3d5;background:#fbfcf9}.workspace{height:min(690px,calc(100vh - 220px));min-height:510px}.composer{height:170px}.waveform-wrap{position:absolute;top:13px;width:min(420px,75%);display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 12px}.waveform-label{grid-column:1/-1;display:flex;justify-content:space-between;color:#9ca296;font-size:8px;letter-spacing:.8px}.waveform-label span:last-child{letter-spacing:0;text-transform:none}.waveform{width:100%;height:26px;display:block}.composer .mic-button{margin-top:42px}.composer-hint{margin-top:9px}@media(max-width:600px){.workspace{height:calc(100vh - 218px);min-height:470px}.composer{height:155px}.waveform-wrap{width:80%}.composer .mic-button{margin-top:35px}.message-original{font-size:14px}.message-translation{font-size:13px}}
.service-note{font-size:10px;color:#8b9187;margin:7px 0 16px}.model-label{margin-top:4px}.listening-label.visible{top:52px}.provider-select,.model-select{width:100%;height:39px;padding:0 11px;border:1px solid #e2e5dd;border-radius:7px;background:#fff;color:#42483f;font:12px inherit;outline-color:#74957b}.provider-select{margin-bottom:16px}.model-select{margin-bottom:2px}.test-button{font-size:10px;padding:7px 11px}.test-button:disabled{opacity:.55;cursor:wait}.key-label+.test-button{margin-top:9px}.test-button+.service-note{min-height:18px;line-height:1.55}

/* 让实时对话成为页面主体，并占据可用的主要高度。 */
.content{max-width:none;width:100%;min-height:calc(100vh - 67px);padding:28px 38px 14px;display:flex;flex-direction:column}
.intro{flex-shrink:0;justify-content:flex-end;margin-bottom:8px;min-height:28px}
.workspace{width:100%;height:auto;min-height:0;flex:1}
.message-meta{display:none!important}
.footnote{flex-shrink:0;margin:10px 3px 0}
@media(max-width:800px){.content{padding:24px 20px 12px}}
@media(max-width:500px){.content{padding:18px 12px 10px}}
.content{padding-top:12px}
.workspace-actions{display:flex;align-items:center;gap:18px}
.workspace-actions .text-button{padding:7px 0}
.composer{height:132px}
.composer .mic-button{margin-top:29px}
.listening-label.visible{top:42px}
@media(max-width:600px){.content{padding-top:8px}.composer{height:124px}.composer .mic-button{margin-top:24px}}

/* 压缩顶部控件，并让对话列表在工作区内滚动。 */
.main{height:100vh;min-height:0}
.content{height:calc(100vh - 67px);min-height:0;overflow:hidden}
.workspace-head{height:108px;min-height:108px;padding:0 24px;gap:16px}
.workspace-head>.language-pair{flex-shrink:0}
.workspace-head>.composer{height:96px;min-width:280px;width:min(410px,34vw);flex:1 1 300px;max-width:410px;border:0;overflow:visible}
.workspace-head .waveform-wrap{top:2px;width:min(300px,82%)}
.workspace-head .composer .mic-button{margin-top:31px}
.workspace-head .composer-hint{white-space:nowrap;font-size:8px;margin-top:5px}
.workspace-head .listening-label.visible{top:27px}
.workspace-actions{flex-shrink:0;gap:12px}
.transcript{min-height:0;overscroll-behavior:contain}
.transcript>.message,.transcript>.empty-state{flex-shrink:0}
@media(max-width:1000px){.workspace-head{padding:0 16px;gap:10px}.workspace-head>.language-pair{gap:8px}.workspace-head>.composer{min-width:245px;width:auto}.workspace-actions{gap:7px}.workspace-actions .text-button{font-size:9px}}
@media(max-width:700px){.content{padding:8px 12px 10px}.workspace-head{height:auto;min-height:0;padding:12px;display:flex;flex-wrap:wrap;row-gap:4px}.workspace-head>.language-pair{order:0}.workspace-head>.workspace-actions{order:1;margin-left:auto}.workspace-head>.composer{order:2;flex:0 0 100%;width:100%;max-width:none;min-width:0;height:92px}.workspace-head .waveform-wrap{top:0;width:min(360px,75%)}.workspace-head .composer .mic-button{margin-top:27px}.workspace-head .composer-hint{font-size:8px}.workspace-head .listening-label.visible{top:23px}.transcript{padding:16px}}

/* 将语言选择、声波、录音按钮和提示排列为紧凑控制组。 */
.workspace-head{height:94px;min-height:94px;padding:0 24px;justify-content:space-between}
.workspace-head>.composer{position:relative;display:grid;grid-template-columns:96px auto;grid-template-rows:43px 19px;align-content:center;align-items:center;justify-content:center;gap:4px 12px;flex:0 0 390px;width:390px;min-width:330px;max-width:390px;height:88px;margin:0;padding:0;border:0;overflow:visible}
.workspace-head .waveform-wrap{position:static;grid-column:1;grid-row:1;width:96px;display:flex;align-items:center;gap:6px}
.workspace-head .waveform-label{display:flex;flex-direction:column;justify-content:center;gap:2px;white-space:nowrap;font-size:7px;letter-spacing:.3px}
.workspace-head .waveform{width:42px;height:30px;flex:0 0 42px}
.workspace-head .mic-button{grid-column:2;grid-row:1;margin:0!important;justify-self:start;white-space:nowrap}
.workspace-head .composer-hint{grid-column:1/-1;grid-row:2;margin:0!important;text-align:center;white-space:nowrap;font-size:8px}
.workspace-head .listening-label.visible{top:-5px;left:50%;transform:translateX(-50%);white-space:nowrap;font-size:8px}
.workspace-head .connection{white-space:nowrap}
@media(max-width:1000px){.workspace-head{padding:0 14px}.workspace-head>.composer{flex-basis:340px;width:340px;min-width:315px;max-width:340px}.workspace-actions .text-button{font-size:9px}}
@media(max-width:700px){.workspace-head{height:auto;min-height:0;padding:10px 12px;row-gap:4px}.workspace-head>.composer{flex:0 0 100%;width:100%;max-width:100%;min-width:0;height:72px;grid-template-columns:96px auto;grid-template-rows:39px 17px}.workspace-head .waveform-wrap{position:static;width:96px}.workspace-head .waveform{height:27px}.workspace-head .composer-hint{font-size:7px}.workspace-head .listening-label.visible{top:-2px}}
.workspace-head>.composer{flex-basis:390px!important;width:390px!important;min-width:390px!important;max-width:390px!important}
.workspace-head .composer>.waveform-wrap{position:static!important;width:108px!important;min-width:108px!important;max-width:108px!important}
.workspace-head .composer>.waveform-wrap>.waveform{display:block!important;width:42px!important;min-width:42px!important;max-width:42px!important;height:30px!important;flex:0 0 42px!important}
@media(max-width:1000px){.workspace-head>.composer{flex-basis:340px!important;width:340px!important;min-width:340px!important;max-width:340px!important}}
@media(max-width:700px){.workspace-head>.composer{flex-basis:100%!important;width:100%!important;min-width:0!important;max-width:100%!important}.workspace-head .composer>.waveform-wrap{width:108px!important;min-width:108px!important;max-width:108px!important}}

/* 为语言、录音操作和状态分配独立网格区域，避免互相挤压。 */
.workspace-head{display:grid;grid-template-columns:minmax(220px,1fr) auto minmax(220px,1fr);height:88px;min-height:88px;padding:0 22px;gap:18px;overflow:visible}
.workspace-head>.language-pair{grid-column:1;grid-row:1;min-width:0}
.workspace-head>.composer{grid-column:2;grid-row:1;position:relative;display:grid;grid-template-columns:1fr;grid-template-rows:42px 18px;justify-items:center;align-content:center;gap:5px;width:auto;min-width:0;max-width:none;flex:none;height:78px;margin:0;padding:0;border:0;overflow:visible}
.workspace-head>.composer>.mic-button{grid-column:1;grid-row:1;justify-self:center;margin:0!important;white-space:nowrap}
.workspace-head>.composer>.composer-hint{grid-column:1;grid-row:2;margin:0!important;text-align:center;white-space:nowrap;font-size:8px}
.workspace-head .listening-label{display:none!important}
.workspace-head>.workspace-actions{grid-column:3;grid-row:1;justify-self:end;display:flex;align-items:center;gap:16px;min-width:0;white-space:nowrap}
.workspace-actions .text-button{font-size:10px}
@media(max-width:900px){.workspace-head{grid-template-columns:minmax(0,1fr) auto;grid-template-rows:48px 76px;height:132px;min-height:132px;padding:6px 16px;gap:2px 12px}.workspace-head>.language-pair{grid-column:1;grid-row:1}.workspace-head>.workspace-actions{grid-column:2;grid-row:1;gap:9px}.workspace-head>.composer{grid-column:1/-1;grid-row:2;justify-self:center;height:72px}.workspace-head>.composer>.mic-button{height:39px}}
@media(max-width:520px){.workspace-head{padding:7px 10px;grid-template-columns:minmax(0,1fr) auto;gap:2px 5px}.workspace-head>.language-pair{gap:5px}.workspace-head .language select{max-width:92px;font-size:10px}.workspace-head .workspace-actions{gap:6px}.workspace-actions .text-button{font-size:8px}.workspace-head .connection{font-size:9px}}

/* 减少每条记录的上下留白，让固定高度的记录区能容纳更多句子。 */
.transcript{gap:6px}
.transcript>.message{gap:4px;padding-bottom:4px}
.transcript>.message .message-original{padding:9px 14px;font-size:14px;line-height:1.5}
.transcript>.message .message-translation{padding:7px 12px;font-size:13px;line-height:1.5}
.transcript>.message-interim{margin-top:4px;padding:7px 10px;line-height:1.5}

/* 草稿确认时复用原字幕节点，避免先消失再出现的闪动。 */
.message-original,.message-translation{transition:background-color .28s ease,color .28s ease,border-color .28s ease}
.message.is-committing{animation:commit-settle .32s ease-out both}
.message.is-committing .message-translation{animation:translation-arrive .3s ease-out both}
.message.is-fading{opacity:0;transform:translateY(-3px);transition:opacity .22s ease,transform .22s ease}
@keyframes commit-settle{from{opacity:.82;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}
@keyframes translation-arrive{from{opacity:.45;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.message.is-committing,.message.is-committing .message-translation{animation:none}.message.is-fading{transition:none}}

/* Mobile layout: reclaim the narrow viewport and keep controls touch friendly. */
@media(max-width:600px){
  .app-shell{display:block;min-height:100dvh}
  .rail{position:static;width:100%;height:54px;padding:0 14px;flex-direction:row;align-items:center;gap:18px;border-right:0;border-bottom:1px solid var(--line)}
  .brand{padding:0;gap:7px;font-size:16px}
  .brand-mark{width:27px;height:27px;font-size:18px}
  .rail-nav{display:flex;gap:4px;margin:0}
  .nav-item{height:36px;width:38px;padding:0;justify-content:center}
  .rail-bottom{display:none}
  .main{height:calc(100dvh - 54px);min-height:0;margin:0;width:100%;display:flex;flex-direction:column}
  .topbar{height:48px;min-height:48px;padding:0 14px}
  .crumb{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .crumb span{padding:0 4px}
  .top-actions{gap:8px}
  .content{height:auto;min-height:0;flex:1;padding:8px 10px 8px;overflow:hidden}
  .workspace{min-height:0;border-radius:11px}
  .workspace-head{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;height:auto;min-height:0;padding:10px;gap:9px 5px}
  .workspace-head>.language-pair{grid-column:1;grid-row:1;gap:4px;min-width:0}
  .workspace-head .language{min-width:0}
  .workspace-head .language>span{font-size:7px;letter-spacing:0}
  .workspace-head .language select{max-width:min(28vw,112px);min-width:0;font-size:10px}
  .workspace-head>.workspace-actions{grid-column:2;grid-row:1;gap:7px}
  .workspace-actions .text-button{font-size:9px;padding:6px 0}
  .workspace-head .connection{font-size:0;gap:0}
  .workspace-head .connection-dot{width:8px;height:8px}
  .workspace-head>.composer{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:40px auto;justify-items:center;align-content:center;gap:3px;width:100%;min-width:0;max-width:none;height:59px;min-height:59px;margin:0;padding:0;border:0}
  .workspace-head>.composer>.mic-button{grid-column:1;grid-row:1;height:38px;padding:0 18px;font-size:12px}
  .workspace-head>.composer>.composer-hint{grid-column:1;grid-row:2;margin:0!important;font-size:8px;white-space:normal;text-align:center}
  .workspace-head>.composer>.waveform-wrap,.workspace-head>.composer>.listening-label{display:none!important}
  .columns-head{display:none}
  .transcript{padding:12px 10px;gap:6px}
  .transcript>.message{gap:4px;padding-bottom:7px}
  .transcript>.message .message-original{font-size:14px;line-height:1.55;padding:10px 12px;overflow-wrap:anywhere}
  .transcript>.message .message-translation{font-size:13px;line-height:1.55;padding:8px 10px;margin-left:8px;width:calc(100% - 8px);overflow-wrap:anywhere}
  .transcript>.message-interim{overflow-wrap:anywhere}
  .empty-state{padding:12px}
  .empty-state p{line-height:1.65}
  .footnote{font-size:8px;line-height:1.4;margin:6px 2px 0}
  dialog{max-height:calc(100dvh - 24px);overflow:auto}
  dialog form{padding:19px}
  .dialog-actions{position:sticky;bottom:-19px;background:#fff;padding:12px 0 2px}
  .toast{bottom:12px;width:max-content;max-width:calc(100vw - 24px);text-align:center}
}

/* The prototype has one workspace; use the full viewport without a rail. */
.main{margin-left:0;width:100%}
