/* Existing page palette and controls, a single recording workflow. */

#offline-options label{display:grid;gap:6px;margin:12px 0}#offline-options input,#offline-options textarea,#offline-options select{box-sizing:border-box;max-width:100%;width:100%;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:9px}#offline-options .u-check{display:flex;align-items:center;gap:9px}#offline-options .u-check input{width:18px;height:18px;flex-shrink:0}
.u-note{font-size:13px;line-height:1.5;color:var(--muted);overflow-wrap:anywhere}.u-list{list-style:none;padding:0;margin:12px 0}.u-list li{padding:12px 0;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.u-list strong{display:block;margin-bottom:7px}.u-list progress{width:100%;accent-color:var(--accent)}.u-tools{display:flex;flex-wrap:wrap;gap:7px;margin:8px 0}.u-tools button,.u-tools a,#recording-result button,#recording-result select,#recording-chat-tools button,#recording-chat-tools input,#recording-chat-tools select,#refresh-recordings,#save-recording,#add-recordings,.u-list button{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:8px 10px;cursor:pointer}button:disabled{cursor:default}

#recording-result{padding:12px 14px;box-sizing:border-box;max-width:100%;overflow-wrap:anywhere}#recording-player{width:100%}#recording-result-title{font-weight:600}#recording-speaker-names{display:flex;flex-wrap:wrap;gap:8px;border:1px solid var(--line);border-radius:8px;margin:10px 0}#recording-speaker-names label{display:grid;gap:4px;flex:1;min-width:100px}#recording-speaker-names input{width:100%;box-sizing:border-box;color:var(--ink);background:var(--bg);border:1px solid var(--line);padding:8px;border-radius:7px}#recording-merge{display:flex;flex-wrap:wrap;gap:6px}#recording-merge select{max-width:100%}
#recording-segments{max-height:55vh;overflow:auto;scrollbar-color:var(--muted) var(--surface)}.recording-segment{margin:12px 0;display:grid;gap:6px}.recording-segment label{font-size:13px}.recording-segment textarea{width:100%;min-height:65px;box-sizing:border-box;resize:vertical;font:inherit;line-height:1.6;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:10px}.recording-segment.low textarea{border-color:var(--accent)}.recording-segment button{justify-self:start;font-variant-numeric:tabular-nums}
#recording-chat-tools{padding:10px 16px;border-bottom:1px solid var(--line)}#recording-search-form{display:flex;align-items:end;gap:8px;flex-wrap:wrap;margin:10px 0}#recording-search-form label{display:grid;gap:6px;flex:1}#recording-search-form input{box-sizing:border-box;width:100%;min-width:100px}#recording-search-results{max-height:35vh;overflow:auto;line-height:1.6}#recording-search-results blockquote{margin:12px 0;padding:0;white-space:pre-wrap;overflow-wrap:anywhere}.download-menu{display:flex;flex-wrap:wrap;gap:7px;width:100%;padding:8px 0}.download-menu a,.download-menu button{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:8px;text-decoration:none}
#recording-result [hidden],#offline-options [hidden],[hidden].download-menu{display:none!important}#recording-queue li:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}#recording-result :focus-visible,#recording-chat-tools :focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}#transcript[hidden]{display:none!important}
@media(max-width:600px){.topbar-right{max-width:100%;min-width:0;flex-wrap:wrap}.topbar-right .account{max-width:100%;min-width:0;flex-wrap:wrap}#recording-merge{display:grid;grid-template-columns:1fr}#recording-result{padding:10px}}

/* Compact navigation and a source → options → start flow. */
.transcription-home .compact-header{display:flex;flex-direction:column;align-items:stretch;gap:4px;max-width:1120px;margin:auto;padding:10px 16px}
.compact-header .nav-row{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:nowrap;width:100%}
.compact-header .nav-row>#history-tab{margin-right:auto}
.compact-header .history-tab,.compact-header .lang-current,.compact-header .auth-tab{height:34px;box-sizing:border-box;padding:0 12px;font-size:13px;white-space:nowrap;text-decoration:none}
.compact-header .history-tab::before{display:none}.compact-header .lang-list{right:0;left:auto}
.compact-header .account-row{align-self:flex-end;box-sizing:border-box;border:0;background:transparent;padding:0;gap:8px;flex-wrap:nowrap;min-height:32px;max-width:100%}
.compact-header .account-row>*{flex-shrink:0}.compact-header .balance{font-size:13px}
.compact-header .pay-link{font-size:12px;padding:6px 9px}.compact-header .tg-link{padding:4px 8px;font-size:12px;min-height:28px}
.compact-header .tg-link.is-linked{padding:0;width:28px;background:none;opacity:1}.compact-header .tg-check{display:block;width:24px;height:24px}
.compact-header .account.guest .pay-link,.compact-header .pay-link[aria-disabled=true]{pointer-events:auto;cursor:pointer;color:var(--text);background:var(--surface-2)}
.compact-header .info .tip{right:-90px;box-sizing:border-box;max-width:calc(100vw - 32px)}
.transcription-home .hero{padding:20px 0 22px;margin:0;text-align:center}
.transcription-home .lead{font-size:clamp(25px,3vw,42px);line-height:1.12;max-width:28ch;margin:0 auto 12px;letter-spacing:-.025em;text-wrap:balance}
.transcription-home .hero .note{font-size:14px;line-height:1.5;margin:0 0 10px}.bot-entry{font-size:13px;color:var(--muted);text-underline-offset:3px}

.listen-stack>[hidden],#file-drop-overlay[hidden]{display:none!important}
#speech-lang{min-height:32px;font-size:13px;padding:4px 10px}
.source-toolbar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr;gap:8px;order:1;width:100%}
.source-toolbar>.source-action{box-sizing:border-box;display:flex;align-items:center;gap:10px;min-width:0;width:100%;min-height:52px;padding:8px 10px;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface-2);color:var(--ink);font:600 14px/1.25 var(--font);text-align:left;text-decoration:none;cursor:pointer;transition:background .15s,border-color .15s}
.source-action svg,#file-drop-overlay svg{flex-shrink:0;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.source-copy{display:grid;gap:2px;min-width:0}.source-copy small{font-size:11px;line-height:1.3;color:var(--muted);font-weight:400}
.source-toolbar>.source-action:hover{background:var(--surface-3);border-color:var(--muted)}
.source-toolbar>.source-action.source-selected{background:var(--accent-soft);border-color:var(--accent)}
.source-toolbar>.source-navigation{background:transparent;border-style:dashed}
.source-toolbar>.source-action:disabled,.source-toolbar>[aria-disabled=true]{opacity:.5;cursor:default}
.source-toolbar :focus-visible,.primary-start:focus-visible,.source-panel :focus-visible,#add-recordings:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}
.listen-stack>.source-panel{order:3;width:100%;box-sizing:border-box;padding:0}
.source-panel .video-link{margin:0;max-width:none}.video-link input::placeholder{color:var(--muted);opacity:1}
.tab-mic-option{display:flex;align-items:center;gap:10px;font-size:14px;line-height:1.5}.tab-mic-option input{width:18px;height:18px;flex-shrink:0;accent-color:var(--accent)}
.listen-stack>.offline-options{order:4;align-items:stretch;gap:0;width:100%;margin:0;padding:0}
.recognition-label{margin:0;font-size:13px;color:var(--muted)}
#recognition-mode{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin:8px 0 0;padding:3px;border-radius:10px}
#recognition-mode button{font:600 14px/1.3 var(--font);min-width:0;min-height:42px;padding:8px 6px;border-radius:7px;white-space:normal}
#recognition-mode button[aria-pressed=true]{background:var(--accent-soft);color:var(--ink);box-shadow:inset 0 0 0 1px var(--accent)}
#offline-options #glossary-field{font-size:13px;color:var(--muted);margin:10px 0 0}
#offline-options #recording-glossary{min-height:92px;resize:vertical;font:400 14px/1.45 var(--font);caret-color:var(--accent);border-color:var(--line-strong)}
#recording-glossary::placeholder{color:var(--muted);opacity:1}
#recording-limits:empty,#status:empty{display:none}#recording-limits{margin:10px 0 0;text-wrap:pretty}
.recording-files{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:10px;align-items:start;margin-top:12px;width:100%}
#recording-queue{min-width:0;margin:0}#recording-queue li:first-child{padding-top:0}
#add-recordings{box-sizing:border-box;display:grid;place-items:center;width:44px;height:44px;padding:10px;border-radius:9px}
#add-recordings svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.primary-start{order:5;min-height:44px;width:100%;box-sizing:border-box;border:1px solid transparent;border-radius:10px;background:var(--accent);color:var(--bg);font:700 15px/1.3 var(--font);padding:12px 16px;cursor:pointer}
.primary-start:hover{background:var(--accent-2)}.primary-start:disabled{background:var(--surface-3);color:var(--muted);border-color:var(--line);cursor:default}
.primary-start[aria-busy=true]{background:var(--surface-2);color:var(--ink)}
.listen-stack>.record-timer{order:6;align-self:center}.listen-stack>.wave{display:none;order:7;align-self:center}
.listen-stack.is-capturing>.wave,.listen-stack.is-dictating>.wave{display:flex}.listen-stack.is-capturing>.wave i{animation:bar .9s ease-in-out infinite alternate;background:var(--accent)}
.listen-stack>.progress{order:8;width:100%}.listen-stack>.status{order:9;margin:0;font-size:14px;line-height:1.5}
#file-drop-overlay{position:fixed;inset:12px;z-index:10000;border:2px dashed var(--accent);border-radius:18px;background:rgba(11,12,15,.95);display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--ink);font-size:20px;text-align:center;padding:20px;pointer-events:none}#file-drop-overlay svg{width:40px;height:40px;color:var(--accent)}
.transcription-home #comment-send{background:#ad351c;color:#fff;box-shadow:none}
@media(max-width:600px){
 .transcription-home .compact-header{padding:8px 16px;gap:4px}.compact-header .nav-row{gap:5px;justify-content:space-between}.compact-header .nav-row>#history-tab{margin-right:0}.compact-header .history-tab,.compact-header .lang-current,.compact-header .auth-tab{font-size:12px;padding:0 7px;height:32px}.compact-header .account-row{align-self:stretch;justify-content:flex-end;gap:5px}.compact-header .balance{font-size:12px}.compact-header .pay-link{font-size:11px;padding:5px 6px}.compact-header .info{width:24px;height:24px}.compact-header .tg-link{font-size:11px;padding:4px 5px}
 .transcription-home .hero{padding:12px 0 16px}.transcription-home .lead{font-size:25px;max-width:25ch;margin-bottom:8px}.transcription-home .hero .note{font-size:13px;margin-bottom:6px}.bot-entry{font-size:12px}
 .source-toolbar{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.source-toolbar>.source-action{min-height:48px;padding:6px 8px;gap:6px;font-size:13px}.source-action svg{width:17px;height:17px}.source-copy small{display:none}#upload-media .source-copy small{display:block;font-size:10px}#recognition-mode button{font-size:14px}.recording-files{gap:8px}
}
@media(prefers-reduced-motion:reduce){.source-toolbar>.source-action{transition:none}.listen-stack>.wave i{animation:none!important}}

.auth-optional-note{font-size:13px;line-height:1.5;color:var(--muted);margin:12px 0 0}.compact-header .info .tip{z-index:70}

.transcription-home>main{margin-top:4px}.transcription-home .composer{margin-top:8px;gap:14px}

#recording-queue li[data-state=ready]:not([data-job-id]){display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 8px;padding:12px 0}#recording-queue li[data-state=ready]:not([data-job-id])>strong{margin:0;align-self:center}#recording-queue li[data-state=ready]:not([data-job-id])>.u-tools{grid-column:2;grid-row:1;margin:0}#recording-queue li[data-state=ready]:not([data-job-id])>span{font-size:13px;color:var(--muted)}#recording-queue li[data-state=ready]:not([data-job-id])>progress{display:none}#recording-queue li[data-state=ready]:not([data-job-id])>.u-quote{grid-column:1/-1}.u-quote p{font-size:13px;line-height:1.5;margin:4px 0;color:var(--muted)}#recording-queue li[data-state=ready]:not([data-job-id])>button{grid-column:2;grid-row:2;font-size:12px;padding:5px 8px}

.transcription-home .compact-header{box-sizing:border-box;width:min(1152px,100%)}

.listen-stack>*{flex:0 0 auto;min-width:0}.listen-stack>.status{flex:0 0 auto;max-width:100%;overflow-wrap:anywhere;color:var(--text)}

.transcription-home .explainer h2{text-wrap:balance}.transcription-home .explainer p,.transcription-home .explainer li{text-wrap:pretty;max-width:75ch}

/* Editor actions keep one row; menus opened by those actions use the next row. */

.text-tools>*{flex-shrink:0}.text-tools [data-action=clear-field]{display:inline-flex;align-items:center;justify-content:center;gap:6px}
.text-tools [data-action=clear-field] svg,#save-recording svg{width:17px;height:17px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

.transcription-home .text-foot:has(#save-recording:not([hidden])){grid-template-columns:44px minmax(0,1fr) minmax(0,1fr)}
.transcription-home .text-foot>button{min-width:0;white-space:nowrap;padding:0 8px}
#save-recording{display:grid;place-items:center;width:44px;height:44px;padding:6px}#save-recording[hidden]{display:none!important}
.text-foot>.download-menu{grid-column:1/-1;min-width:0;box-sizing:border-box}
.editor-compact-label{display:none}
.transcription-home .composer.fullscreen{grid-template-rows:minmax(0,1fr) auto;margin:0;gap:8px;padding:12px}
.composer.fullscreen>.listen-stack{border:0;background:transparent}
.composer.fullscreen>.listen-stack>:not(#start-controls):not(#status){display:none!important}
.composer.fullscreen .text-column{min-height:0}.composer.fullscreen #recording-result{overflow:auto;min-height:0}
.composer.fullscreen #primary-start{width:100%;margin:0}
@media(max-width:860px){
 .transcription-home .text-tools{padding:6px 8px;gap:6px}.text-tools .editor-tool-label{display:none}
 .text-tools [data-action=fullscreen],.text-tools [data-action=clear-field]{box-sizing:border-box;width:44px;height:44px;min-width:44px;gap:0;padding:0;margin:0}
 .text-tools .tool-group{padding:2px;gap:2px}.text-tools .tool-group button{width:44px;height:44px}
 .text-tools select{box-sizing:border-box;width:100%;min-height:44px;margin:0;padding:0 24px 0 10px;font-size:16px;font-weight:400}
 .editor-wide-label{display:none}.editor-compact-label{display:inline}
 .transcription-home .text-foot{padding:8px;gap:6px}.transcription-home .text-foot>button{font-size:13px;padding:0 5px}
 .transcription-home .composer.fullscreen{padding:8px;gap:6px}
}
@media(max-width:360px){.compact-header .nav-row{gap:4px}.compact-header .history-tab,.compact-header .lang-current,.compact-header .auth-tab{font-size:11px;padding:0 4px}}

/* Recording language stays beside the selected action. */
.start-controls{display:flex;align-items:stretch;gap:8px;order:5;width:100%;box-sizing:border-box}
.start-controls>#primary-start{order:0;flex:1 1 0;min-width:0;width:auto}
.start-controls>#speech-lang{order:0;flex:0 1 auto;min-width:0;max-width:42%;min-height:44px;box-sizing:border-box;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.composer.fullscreen #start-controls>#speech-lang{display:none!important}
@media(max-width:360px){.source-toolbar>.source-action{padding:8px 6px;gap:5px}#recognition-mode button{padding-right:2px;padding-left:2px}}

.upload-hint summary{cursor:pointer;list-style:none;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px;min-height:44px}.upload-hint summary::-webkit-details-marker{display:none}.upload-hint summary:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}.upload-hint[open] .hint-ellipsis{display:none}.upload-hint[open] summary::after{content:"."}.upload-hint p{margin:8px 0 0}.upload-hint [hidden]{display:none!important}

/* Editor actions remain on one row, with comfortably sized controls. */
.font-settings{position:relative;margin:0 auto 0 0}
.font-settings>summary{box-sizing:border-box;display:grid;place-items:center;min-width:44px;min-height:44px;padding:6px 10px;border:1px solid var(--line-strong);border-radius:8px;color:var(--text);background:var(--surface-2);cursor:pointer;list-style:none;font-size:16px;font-weight:600}
.font-settings>summary::-webkit-details-marker{display:none}.font-settings>summary:hover{background:var(--surface-3)}
.font-settings-panel{position:absolute;left:0;top:calc(100% + 8px);z-index:20;box-sizing:border-box;width:220px;max-width:calc(100vw - 48px);display:grid;gap:10px;padding:12px;background:var(--surface-2);border:1px solid var(--line-strong);border-radius:10px}
.font-settings:not([open])>.font-settings-panel{display:none}
.font-settings-panel .tool-group{display:flex;justify-content:space-between;width:100%;box-sizing:border-box;margin:0;padding:0;gap:8px}
.font-settings-panel .tool-group button{width:44px;height:44px}
.font-settings-panel select{box-sizing:border-box;min-height:44px;width:100%;font-size:16px}
.font-settings :focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
@media(max-width:600px){.transcription-home .hero{padding:8px 0 10px}.source-toolbar{grid-auto-rows:1fr}.source-toolbar>.source-action{min-height:48px}.transcription-home .composer{gap:10px}}
