/* Scoped to the new bounded experience-practice view. Shared brand/theme tokens. */
body[data-interview-workspace="training"] #resumePracticeWorkspace,
body[data-interview-workspace="legacy"] #resumePracticeWorkspace,
body[data-interview-workspace="resume"] #resumePracticeLegacyTools,
body[data-interview-workspace="resume"][data-active-panel="interview"] .interview-bottom-actionbar,
body[data-interview-workspace="resume"][data-active-panel="interview"] #mobileActionDock { display: none !important; }
body[data-interview-workspace="training"] #resumePracticeLegacyTools > summary,
body[data-interview-workspace="legacy"] #resumePracticeLegacyTools > summary { display: none !important; }
body[data-interview-workspace="training"] #resumePracticeLegacyTools,
body[data-interview-workspace="legacy"] #resumePracticeLegacyTools { border: 0; max-width: none; margin: 0; }
html:root body .rp-workspace {
  --rp-bg: var(--hw-ui-bg, #f5f6f8); --rp-surface: var(--hw-ui-surface, #fff);
  --rp-text: var(--hw-ui-text, #20252c); --rp-muted: var(--hw-ui-muted, #66717e);
  --rp-line: var(--hw-ui-line, #e2e5ea); --rp-hover: var(--hw-ui-hover, #f3f4f6);
  --rp-primary: var(--hw-ui-primary, #a63d32);
  max-width: 1240px; margin: 0 auto; padding: 28px 28px 52px; color: var(--rp-text); background: transparent !important; font-size: 15px; line-height: 1.7;
}
html:root body .rp-workspace * { box-sizing: border-box; min-width: 0; }
/* Dialogue v2: one scrolling history and one composer in the same grid. The
   composer occupies layout space (including the mobile keyboard), never an
   overlay above an answer. All colors inherit the existing brand/theme. */
html:root body .rp-workspace.rp-dialogue { box-sizing:border-box; max-width:860px; height:var(--rp-visible-height,min(860px,calc(100dvh - 146px))); min-height:min(420px,var(--rp-visible-height,420px)); padding:16px 22px 20px; display:flex; flex-direction:column; position:relative; gap:12px; }
html:root body .rp-dialogue .rp-dialogue-header { display:flex; align-items:center; justify-content:space-between; gap:12px; padding-bottom:12px; border-bottom:1px solid var(--rp-line); flex:none; }
html:root body .rp-dialogue .rp-dialogue-title h1 { font-size:21px; margin:0 0 3px; }
html:root body .rp-dialogue .rp-dialogue-meta { display:flex; flex-wrap:wrap; gap:6px 12px; color:var(--rp-muted); font-size:14px; font-variant-numeric:tabular-nums; }
html:root body .rp-dialogue .rp-dialogue-top-actions { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
html:root body .rp-dialogue .rp-dialogue-top-actions .rp-button { padding:8px 12px; }
html:root body .rp-dialogue .rp-dialogue-more { position:relative; }
html:root body .rp-dialogue .rp-dialogue-more summary { padding:10px; cursor:pointer; }
html:root body .rp-dialogue .rp-dialogue-more[open] { z-index:6; }
html:root body .rp-dialogue .rp-dialogue-more[open] .rp-dialogue-more-menu { position:absolute; inset:100% 0 auto auto; min-width:180px; max-width:calc(100vw - 32px); padding:8px; display:grid; gap:4px; background:var(--rp-surface)!important; border:1px solid var(--rp-line); border-radius:12px; box-shadow:0 8px 24px #0002; }
html:root body .rp-dialogue .rp-dialogue-more[open] .rp-button { display:block; width:100%; text-align:left; background:var(--rp-surface)!important; }
html:root body .rp-dialogue .rp-dialogue-timeline { flex:1; min-height:0; overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; padding:8px 8px 20px; display:flex; flex-direction:column; gap:24px; }
html:root body .rp-dialogue .rp-dialogue-turn { display:flex; flex-direction:column; gap:14px; flex:none; }
html:root body .rp-dialogue .rp-dialogue-message { max-width:85%; padding:16px 18px; border-radius:14px; font-size:16px; line-height:1.8; }
html:root body .rp-dialogue .rp-dialogue-interviewer { align-self:flex-start; padding-left:0; }
html:root body .rp-dialogue .rp-dialogue-user { align-self:flex-end; background:var(--rp-hover)!important; border:0; }
html:root body .rp-dialogue :is(.rp-dialogue-question,.rp-dialogue-answer) { white-space:pre-wrap; overflow-wrap:anywhere; }
html:root body .rp-dialogue .rp-dialogue-speaker { font-size:13px; color:var(--rp-muted); margin-bottom:6px; }
html:root body .rp-dialogue .rp-dialogue-message-actions { display:flex; gap:8px; margin-top:8px; }
html:root body .rp-dialogue .rp-dialogue-message-actions .rp-button { min-height:36px; padding:4px 10px; font-size:13px; }
html:root body .rp-dialogue .rp-dialogue-answer-detail { border-top:1px solid var(--rp-line); margin-top:12px; padding-top:8px; }
html:root body .rp-dialogue .rp-dialogue-answer-detail summary { color:var(--rp-muted); cursor:pointer; min-height:36px; }
html:root body .rp-dialogue .rp-dialogue-answer-detail[open] > :not(summary) { margin-top:12px; }
html:root body .rp-dialogue .rp-dialogue-composer { flex:none; padding:12px 14px; border:1px solid var(--rp-line); border-radius:16px; background:var(--rp-surface)!important; box-shadow:0 3px 12px #0000000a; }
html:root body .rp-dialogue .rp-dialogue-input { display:block; width:100%; min-height:68px; max-height:160px; resize:vertical; padding:4px; border:0; border-radius:6px; color:var(--rp-text); background:transparent; font:inherit; font-size:16px; line-height:1.6; }
html:root body .rp-dialogue .rp-dialogue-input::placeholder { color:var(--rp-muted); }
html:root body .rp-dialogue .rp-dialogue-composer-footer { display:flex; align-items:center; justify-content:space-between; gap:10px; margin-top:8px; }
html:root body .rp-dialogue .rp-dialogue-input-actions { display:flex; align-items:center; gap:8px; margin-left:auto; flex-wrap:wrap; justify-content:flex-end; }
html:root body .rp-dialogue .rp-dialogue-input-actions .rp-button { padding:8px 14px; }
html:root body .rp-dialogue .rp-dialogue-input-actions .rp-dialogue-icon-button { display:grid; place-items:center; padding:9px; width:44px; height:44px; flex:none; border-radius:50%; }
html:root body .rp-dialogue .rp-dialogue-status { color:var(--rp-muted); font-size:14px; }
html:root body .rp-dialogue .rp-dialogue-audio { font-size:13px; padding-top:8px; }
html:root body .rp-dialogue .rp-dialogue-audio summary { cursor:pointer; }
html:root body .rp-dialogue .rp-dialogue-audio[open] { display:grid; gap:8px; }
html:root body .rp-dialogue .rp-dictation-wave { height:32px; display:inline-flex; gap:3px; align-items:center; }
html:root body .rp-dialogue .rp-dictation-wave i { width:3px; height:4px; border-radius:3px; background:var(--rp-primary); transition:height .08s linear; }
html:root body .rp-dialogue .rp-dialogue-jump { position:absolute; bottom:165px; left:50%; transform:translateX(-50%); box-shadow:0 2px 8px #0002; }
html:root body .rp-dialogue .rp-dialogue-drawer-layer { position:absolute; inset:0; z-index:8; background:#0005!important; display:flex; justify-content:flex-end; border-radius:12px; }
html:root body .rp-dialogue .rp-dialogue-drawer { width:min(380px,100%); background:var(--rp-surface)!important; padding:20px; overflow:auto; box-shadow:-6px 0 28px #0002; }
html:root body .rp-dialogue .rp-dialogue-drawer-heading { display:flex; justify-content:space-between; align-items:center; gap:8px; margin-bottom:20px; }
html:root body .rp-dialogue .rp-dialogue-drawer > .rp-button { display:block; width:100%; margin-top:12px; }
html:root body .rp-dialogue .rp-dialogue-drawer .rp-question-card { display:block!important; position:static; padding:0; border:0; background:transparent!important; max-height:none; }
html:root body .rp-dialogue .rp-dialogue-drawer .rp-question-card > h2 { display:none; }
/* The shared container owns overlay/focus/history. These are content styles,
   scoped so an information panel never becomes a second interview workspace. */
html:root body .rp-workspace.rp-interview-panel-content { padding:0; margin:0; max-width:none; font-size:16px; display:grid; gap:16px; }
html:root body .rp-interview-panel-content .rp-question-card { display:block!important; padding:0; border:0; position:static; background:transparent!important; }
html:root body .rp-interview-panel-content .rp-question-card > h2 { display:none; }
html:root body .rp-interview-panel-content .rp-question-count { margin:0 0 16px; font-size:14px; line-height:1.6; }
html:root body .rp-interview-panel-content .rp-question-grid { display:grid; grid-template-columns:1fr; gap:8px; padding:3px; max-height:70dvh; overflow-y:auto; }
html:root body .rp-interview-panel-content .rp-question-number { position:relative; min-width:44px; min-height:64px; padding:12px; display:flex; align-items:flex-start; gap:12px; text-align:left; border-radius:10px; font-variant-numeric:tabular-nums; }
html:root body .rp-interview-panel-content .rp-question-mark { position:absolute; top:2px; right:4px; font-size:11px; }
html:root body .rp-interview-panel-content .rp-question-draft { position:absolute; bottom:0; right:4px; font-size:14px; }
html:root body .rp-interview-panel-content .rp-question-number[aria-current="step"] { outline:2px solid var(--rp-primary); outline-offset:1px; }
html:root body .rp-interview-panel-content .rp-question-legend { margin:16px 0; font-size:13px; color:var(--rp-muted); line-height:1.6; }
html:root body .rp-interview-panel-content .rp-panel-question { font-size:16px; line-height:1.8; white-space:pre-wrap; overflow-wrap:anywhere; }
html:root body .rp-interview-panel-content .rp-panel-quote { padding:12px 0 12px 16px; border-left:2px solid var(--rp-line); color:var(--rp-muted); white-space:pre-wrap; overflow-wrap:anywhere; }
html:root body .rp-interview-panel-content > .rp-button { text-align:left; }
@media(max-width:700px) {
  html:root body .rp-workspace.rp-dialogue { height:var(--rp-visible-height,calc(100dvh - 105px)); min-height:min(300px,var(--rp-visible-height,300px)); padding:10px 8px max(10px,env(safe-area-inset-bottom)); gap:8px; }
  html:root body .rp-dialogue .rp-dialogue-header { flex-wrap:wrap; align-items:flex-start; gap:8px; }
  html:root body .rp-dialogue .rp-dialogue-title h1 { font-size:19px; }
  html:root body .rp-dialogue .rp-dialogue-top-actions { gap:4px; }
  html:root body .rp-dialogue .rp-dialogue-top-actions .rp-button { padding:6px 10px; min-height:40px; }
  html:root body .rp-dialogue .rp-dialogue-message { max-width:94%; padding:12px; }
  html:root body .rp-dialogue .rp-dialogue-interviewer { padding-left:0; }
  html:root body .rp-dialogue .rp-dialogue-timeline { gap:16px; padding:4px 2px 12px; }
  html:root body .rp-dialogue .rp-dialogue-composer { padding:10px; }
  html:root body .rp-dialogue .rp-dialogue-composer-footer { flex-wrap:wrap; }
  html:root body .rp-dialogue .rp-dialogue-input { min-height:54px; max-height:100px; }
}
html:root body .rp-workspace :is(h1,h2,h3,p,span,label,strong,ol,li,header,div,main,aside,article,summary,details,blockquote) { color: inherit; background: transparent; }
html:root body .rp-workspace :is(h1,h2,h3,p,blockquote) { margin: 0; overflow-wrap: anywhere; }
html:root body .rp-workspace h1 { font-size: 28px; font-weight: 650; line-height: 1.4; margin: 3px 0 8px; }
html:root body .rp-workspace h2 { font-size: 21px; font-weight: 650; line-height: 1.65; }
html:root body .rp-workspace h3 { font-size: 16px; font-weight: 600; line-height: 1.7; }
html:root body .rp-workspace .rp-muted { color: var(--rp-muted); font-size: 13px; }
html:root body .rp-workspace .rp-eyebrow { color: var(--rp-muted); font-size: 12px; }
html:root body .rp-workspace .rp-heading { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 20px; }
html:root body .rp-workspace .rp-badge { flex-shrink: 0; padding: 4px 9px; border: 1px solid var(--rp-line); border-radius: 6px; background: var(--rp-surface) !important; color: var(--rp-muted) !important; font-size: 12px; }
html:root body .rp-workspace .rp-notice { padding: 12px 16px; margin-bottom: 20px; border: 1px solid var(--rp-line); border-radius: 8px; background: var(--rp-hover) !important; color: var(--rp-muted); font-size: 13px; }
html:root body .rp-workspace .rp-error { border-left: 3px solid var(--rp-primary); color: var(--rp-text); }
html:root body .rp-workspace .rp-layout { display: grid; grid-template-columns: minmax(0, 1fr) 270px; gap: 20px; align-items: start; }
html:root body .rp-interview .rp-layout { grid-template-columns: minmax(0, 1fr); }
html:root body .rp-reports .rp-layout { grid-template-columns: minmax(0, 1fr); }
html:root body .rp-reports > .rp-history { display: block; margin-bottom: 20px; padding: 12px 18px; }
html:root body .rp-reports > .rp-history > summary { min-height: 32px; cursor: pointer; font-size: 14px; font-weight: 600; }
html:root body .rp-reports > .rp-history[open] > :not(summary) { margin-top: 12px; }
html:root body .rp-interview .rp-run-progress { position: sticky; top: 0; z-index: 2; background: var(--rp-surface) !important; flex-wrap: wrap; }
html:root body .rp-workspace .rp-local-answer { border-left: 3px solid var(--rp-primary); }
html:root body .rp-workspace .rp-main { display: grid; gap: 16px; }
html:root body .rp-workspace .rp-card { padding: 24px; border: 1px solid var(--rp-line); border-radius: 12px; background: var(--rp-surface) !important; display: grid; gap: 16px; }
html:root body .rp-workspace .rp-flow { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; list-style-position: inside; padding: 0; margin: 4px 0; font-size: 13px; }
html:root body .rp-workspace .rp-flow li { padding: 12px; border-radius: 8px; background: var(--rp-hover) !important; }
html:root body .rp-workspace .rp-consent { display: grid; grid-template-columns: 18px minmax(0,1fr); gap: 10px; align-items: start; padding: 16px; border: 1px solid var(--rp-line); border-radius: 8px; font-size: 13px; cursor: pointer; }
html:root body .rp-workspace .rp-consent input { width: 17px; height: 17px; margin: 4px 0 0; accent-color: var(--rp-primary); }
html:root body .rp-workspace .rp-button { justify-self: start; min-height: 44px; padding: 10px 16px; border: 1px solid var(--rp-line) !important; border-radius: 7px; background: var(--rp-surface) !important; color: var(--rp-text) !important; font: inherit; font-size: 14px; font-weight: 550; line-height: 1.6; box-shadow: none; cursor: pointer; white-space: normal; text-align: left; }
html:root body .rp-workspace .rp-button.rp-primary { background: var(--rp-primary) !important; color: #fff !important; border-color: var(--rp-primary) !important; }
html:root body .rp-workspace .rp-button:disabled { opacity: .55; cursor: not-allowed; }
html:root body .rp-workspace .rp-button:hover:not(:disabled):not(.rp-primary) { background: var(--rp-hover) !important; }
html:root body .rp-workspace :is(button,input,textarea,summary):focus-visible { outline: 3px solid var(--hw-ui-focus,#6679b7); outline-offset: 3px; }
html:root body .rp-workspace .rp-session-meta { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 10px; }
html:root body .rp-workspace .rp-question { font-size: 22px; line-height: 1.7; white-space: pre-wrap; }
html:root body .rp-workspace .rp-answer-label { display: grid; gap: 8px; }
html:root body .rp-workspace .rp-answer { width: 100%; min-height: 190px; resize: vertical; padding: 15px; border: 1px solid var(--rp-line); border-radius: 8px; color: var(--rp-text) !important; background: var(--rp-bg) !important; font: inherit; line-height: 1.75; }
html:root body .rp-workspace .rp-answer::placeholder { color: var(--rp-muted); opacity: 1; }
html:root body .rp-workspace .rp-transcript { border-top: 1px solid var(--rp-line); padding-top: 12px; }
html:root body .rp-workspace .rp-transcript summary { min-height: 38px; cursor: pointer; font-size: 13px; color: var(--rp-muted); }
html:root body .rp-workspace .rp-transcript[open] > :not(summary) { margin-top: 12px; }
html:root body .rp-workspace .rp-original { white-space: pre-wrap; padding: 14px 16px; border-radius: 8px; background: var(--rp-hover) !important; }
html:root body .rp-workspace .rp-history { padding: 20px; gap: 12px; }
html:root body .rp-workspace .rp-history h2 { font-size: 16px; }
html:root body .rp-workspace .rp-history-item { width: 100%; font-size: 13px; }
html:root body .rp-workspace .rp-history-item[aria-current="true"] { border-left: 3px solid var(--rp-primary) !important; }
html:root body .rp-reports .rp-history-item { display: grid; gap: 4px; overflow-wrap: anywhere; }
html:root body .rp-reports .rp-history-item strong { font-weight: 600; }
html:root body .rp-reports .rp-report-summary { display: grid; gap: 12px; padding: 18px; border-radius: 8px; background: var(--rp-hover) !important; }
html:root body .rp-reports .rp-report-summary .rp-primary { margin-top: 4px; }
html:root body #p10Reports[hidden] { display: none !important; }
html:root body .rp-workspace .rp-history-empty { padding-block: 12px; color: var(--rp-muted); font-size: 13px; }
html:root body .rp-workspace .rp-report-item { display: grid; gap: 10px; padding: 18px 0; border-top: 1px solid var(--rp-line); }
html:root body .rp-workspace .rp-label { font-size: 12px; color: var(--rp-muted); padding-top: 4px; }
html:root body .rp-workspace .rp-quote { padding: 12px 16px; border-left: 3px solid var(--rp-primary); background: var(--rp-hover) !important; white-space: pre-wrap; }
html:root body .rp-workspace .rp-suggestion { white-space: pre-wrap; }
html:root body .rp-workspace .rp-voice { display: grid; gap: 14px; padding: 18px; border: 1px solid var(--rp-line); border-radius: 10px; background: var(--rp-bg) !important; }
html:root body .rp-workspace .rp-voice-option { display: flex; align-items: start; gap: 9px; font-size: 13px; color: var(--rp-muted); cursor: pointer; }
html:root body .rp-workspace .rp-voice-option input { flex: 0 0 auto; width: 17px; height: 17px; margin: 3px 0 0; accent-color: var(--rp-primary); }
html:root body .rp-workspace .rp-voice-status { font-size: 14px; }
html:root body .rp-workspace .rp-voice-headline { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
html:root body .rp-workspace .rp-voice-timer { color: var(--rp-muted); font-size: 24px; font-variant-numeric: tabular-nums; letter-spacing: .04em; flex-shrink: 0; }
html:root body .rp-workspace .rp-recording-notice { border: 1px solid var(--rp-line); border-radius: 8px; padding: 16px; display: grid; gap: 10px; }
html:root body .rp-workspace .rp-recording-explanation { display: grid; gap: 10px; color: var(--rp-muted); font-size: 13px; }
html:root body .rp-workspace .rp-saved-audio[open] { display: grid; gap: 8px; }
html:root body .rp-workspace .rp-voice-actions { display: flex; flex-wrap: wrap; gap: 12px; }
html:root body .rp-workspace .rp-voice-actions .rp-primary { min-width: 150px; text-align: center; min-height: 48px; }
html:root body .rp-workspace .rp-recording { width: 100%; max-width: 480px; }
html:root body .rp-workspace .rp-text-entry label { margin-bottom: 12px; }
html:root body .rp-workspace .rp-feedback-split { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1.5fr); gap: 16px; }
html:root body .rp-workspace .rp-feedback-split section { border: 1px solid var(--rp-line); border-radius: 8px; padding: 14px; display: grid; gap: 8px; }
html:root body .rp-workspace .rp-answer-reviews,
html:root body .rp-workspace .rp-answer-result { display: grid; gap: 20px; }
html:root body .rp-workspace .rp-answer-result + .rp-answer-result { border-top: 1px solid var(--rp-line); padding-top: 24px; }
html:root body .rp-workspace .rp-result-section { display: grid; gap: 12px; padding: 18px; border: 1px solid var(--rp-line); border-radius: 10px; background: var(--rp-surface) !important; }
html:root body .rp-workspace .rp-optimized-answer { border-left: 3px solid var(--rp-primary); background: var(--rp-bg) !important; }
html:root body .rp-workspace .rp-answer-comparison { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; gap: 16px; }
html:root body .rp-workspace .rp-answer-comparison > section { min-width: 0; }
html:root body .rp-workspace .rp-suggested-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
html:root body .rp-workspace .rp-suggested-heading .rp-button { min-height: 40px; padding: 7px 16px; }
html:root body .rp-workspace .rp-suggested-editor { display: grid; gap: 12px; }
html:root body .rp-workspace .rp-suggested-editor label { display: grid; gap: 8px; }
html:root body .rp-workspace .rp-suggested-editor textarea { width: 100%; min-height: 200px; resize: vertical; padding: 12px; border: 1px solid var(--rp-line); border-radius: 8px; color: var(--rp-text); background: var(--rp-surface); font: inherit; line-height: 1.75; }
html:root body .rp-workspace .rp-personal-answer-status { margin-bottom: 8px; }
html:root body .rp-workspace .rp-suggested-error { margin: 12px 0; padding: 8px 12px; }
html:root body .rp-workspace .rp-optimization-actions { display: grid; justify-items: start; gap: 12px; }
html:root body .rp-workspace .rp-feedback-group { display: grid; gap: 8px; }
html:root body .rp-workspace .rp-feedback-point { display: grid; gap: 8px; }
html:root body .rp-reports .rp-priority-points > .rp-feedback-point { padding: 14px; border-left: 3px solid var(--rp-primary); border-radius: 4px; background: var(--rp-bg) !important; }
html:root body .rp-reports .rp-question-review { gap: 20px; }
html:root body .rp-reports .rp-feedback-group { gap: 14px; }
html:root body .rp-reports .rp-feedback-evidence,
html:root body .rp-reports .rp-knowledge-basis { padding-top: 6px; }
html:root body .rp-reports .rp-report-next { display: grid; gap: 12px; padding: 16px 0; }
html:root body .rp-reports .rp-review-status > summary { color: var(--rp-muted); }
html:root body .rp-reports details.rp-standard-answer { display: block; }
html:root body .rp-reports details.rp-standard-answer > summary { font-size: 14px; font-weight: 550; }
html:root body .rp-workspace .rp-feedback-group h4 { color: var(--rp-text); background: transparent; margin: 4px 0 0; font-size: 14px; font-weight: 600; }
html:root body .rp-workspace :is(.rp-optimized-text,.rp-reference-text,.rp-streaming) { white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.85; }
html:root body .rp-workspace .rp-result-actions { display: flex; flex-wrap: wrap; gap: 10px; }
html:root body .rp-workspace .rp-streaming { border-left: 2px solid var(--rp-line); padding-left: 12px; }
html:root body .rp-workspace .rp-earlier-reviews > .rp-answer-result { margin-top: 18px; }
html:root body .rp-workspace :is(.rp-goal-settings,.rp-run-progress,.rp-goal-reached) { display: grid; gap: 16px; border: 1px solid var(--rp-line); border-radius: 10px; padding: 18px; background: var(--rp-surface) !important; }
html:root body .rp-workspace .rp-goal-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
html:root body .rp-workspace .rp-goal-grid > div { display: grid; gap: 10px; min-width: 0; }
html:root body .rp-workspace .rp-goal-modes { display: flex; flex-wrap: wrap; gap: 8px; }
html:root body .rp-workspace .rp-goal-modes .rp-button[aria-pressed="true"] { border-color: var(--rp-primary) !important; color: var(--rp-primary) !important; box-shadow: inset 0 0 0 1px var(--rp-primary); }
html:root body .rp-workspace .rp-goal-grid > :only-child { grid-column: 1 / -1; }
html:root body .rp-workspace .rp-start-notice { margin: 4px 0; }
html:root body .rp-workspace .rp-goal-settings > details .rp-goal-select { width: 100%; }
html:root body .rp-workspace .rp-goal-field { display: grid; gap: 8px; min-width: 0; }
html:root body .rp-workspace .rp-goal-values { display: flex; flex-wrap: wrap; gap: 8px; }
html:root body .rp-workspace :is(.rp-goal-select,.rp-goal-number) { box-sizing: border-box; border: 1px solid var(--rp-line); border-radius: 7px; color: var(--rp-text); background: var(--rp-bg) !important; min-height: 42px; padding: 8px 12px; font: inherit; width: 132px; max-width: 100%; }
html:root body .rp-workspace .rp-goal-number[hidden] { display: none; }
html:root body .rp-workspace .rp-run-progress { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
html:root body .rp-workspace .rp-run-stats { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 24px; flex: 1 1 300px; font-size: 14px; }
html:root body .rp-workspace .rp-run-stats strong { font-variant-numeric: tabular-nums; }
html:root body .rp-workspace .rp-goal-reached { border-left: 3px solid var(--rp-primary); background: var(--rp-bg) !important; }
html:root body .rp-workspace .rp-report-segment { display: grid; gap: 16px; padding-block: 20px; border-top: 1px solid var(--rp-line); }
@media (max-width: 1000px) { html:root body .rp-workspace .rp-layout { grid-template-columns: minmax(0,1fr); } }
@media (max-width: 640px) {
  html:root body .rp-workspace .rp-answer-comparison { grid-template-columns: minmax(0,1fr); }
  html:root body .rp-workspace { padding: 18px 14px 36px; }
  html:root body .rp-workspace .rp-heading { align-items: start; flex-direction: column; gap: 10px; }
  html:root body .rp-workspace .rp-card { padding: 18px; }
  html:root body .rp-workspace .rp-flow { grid-template-columns: minmax(0,1fr); }
  html:root body .rp-workspace .rp-feedback-split { grid-template-columns: minmax(0,1fr); }
  html:root body .rp-workspace .rp-goal-grid { grid-template-columns: minmax(0,1fr); }
  html:root body .rp-workspace .rp-question { font-size: 19px; }
}
html:root body[data-theme="dark"] .rp-workspace,
html:root[data-theme="dark"] body .rp-workspace { --rp-bg: var(--hw-ui-bg,#111417); --rp-surface: var(--hw-ui-surface,#1d2126); --rp-text: var(--hw-ui-text,#eef0f4); --rp-muted: var(--hw-ui-muted,#afb7c3); --rp-line: var(--hw-ui-line,#363d47); --rp-hover: var(--hw-ui-hover,#262c34); }
html:root body .rp-legacy-tools { max-width: 1184px; margin: 0 auto 28px; border: 1px solid var(--hw-ui-line,#e2e5ea); border-radius: 10px; color: var(--hw-ui-text,#20252c); background: var(--hw-ui-surface,#fff) !important; }
html:root body .rp-legacy-tools > summary { min-height: 48px; padding: 14px 18px; color: var(--hw-ui-muted,#66717e); background: transparent !important; font-size: 14px; line-height: 1.6; font-weight: 550; cursor: pointer; }
html:root body .rp-legacy-tools > summary:focus-visible { outline: 3px solid var(--hw-ui-focus,#6679b7); outline-offset: 2px; }
html:root body .rp-legacy-tools[open] > summary { border-bottom: 1px solid var(--hw-ui-line,#e2e5ea); }
html:root body .rp-legacy-tools > :not(summary) { margin-inline: 0; }
@media (max-width: 640px) { html:root body .rp-legacy-tools { margin-inline: 14px; } }

/* Interview = one current action; report = overview and an explicit question directory.
   Only this layout opts in. Historic text keeps its original bytes and normal flow. */
html:root body :is(.rp-live-workspace,.rp-reports) { font-size: 16px; line-height: 1.75; }
html:root body :is(.rp-live-workspace,.rp-reports) .rp-heading { margin-bottom: 16px; }
html:root body :is(.rp-live-workspace,.rp-reports) .rp-card { gap: 16px; padding: 22px; }
html:root body :is(.rp-live-workspace,.rp-reports) :is(.rp-muted,.rp-label,.rp-eyebrow) { font-size: 14px; }
html:root body :is(.rp-live-workspace,.rp-reports) :is(.rp-button,.rp-voice-status,.rp-transcript summary,.rp-feedback-group h4) { font-size: 16px; }
html:root body .rp-live-workspace .rp-run-progress { position: static; padding: 12px 16px; gap: 8px 12px; }
html:root body .rp-live-workspace .rp-run-stats { gap: 8px 18px; font-size: 15px; }
html:root body .rp-live-workspace .rp-run-progress .rp-button { padding: 8px 12px; }
html:root body .rp-live-workspace .rp-question { font-size: 24px; line-height: 1.65; }
html:root body .rp-workspace .rp-current-feedback { display: grid; gap: 8px; padding: 14px 16px; border-left: 3px solid var(--rp-primary); background: var(--rp-hover) !important; }
html:root body .rp-workspace .rp-current-feedback > .rp-notice { margin: 0; padding: 0; border: 0; }

/* The sole live action bar remains in flow: it cannot cover following inputs or
   require a fixed-height spacer. Its containing block must include the details. */
html:root body .rp-live-workspace .rp-stable-actions { position: sticky; top: 64px; z-index: 3; display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 12px 0; border-block: 1px solid var(--rp-line); background: var(--rp-surface) !important; }
html:root body .rp-live-workspace .rp-stable-actions > .rp-primary { min-width: 168px; text-align: center; }
html:root body .rp-live-workspace .rp-stable-actions .rp-voice-actions { align-items: center; gap: 10px; }
html:root body .rp-live-workspace .rp-stable-actions .rp-button { min-height: 46px; }
html:root body .rp-live-workspace :is(.rp-voice,.rp-text-entry) { scroll-margin-top: 152px; }

html:root body .rp-workspace .rp-answer-details { display: grid; gap: 16px; margin-top: 4px; }
html:root body .rp-workspace .rp-detail-tabs { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
html:root body .rp-workspace .rp-detail-tabs .rp-button { border-radius: 7px; }
html:root body .rp-workspace .rp-detail-tabs :is([aria-selected="true"],[aria-pressed="true"]) { color: var(--rp-primary) !important; border-color: var(--rp-primary) !important; background: var(--rp-hover) !important; }
html:root body .rp-workspace .rp-detail-panel { display: grid; gap: 16px; padding: 18px 0 0; border-top: 1px solid var(--rp-line); scroll-margin-top: 148px; }
html:root body .rp-workspace .rp-detail-panel[hidden] { display: none; }
html:root body .rp-workspace .rp-detail-panel .rp-result-section { border: 0; border-radius: 0; padding: 0; background: transparent !important; }
html:root body .rp-workspace .rp-detail-panel .rp-answer-comparison { align-items: start; gap: 24px; }
html:root body .rp-workspace .rp-detail-panel .rp-answer-comparison > section + section { padding-left: 24px; border-left: 1px solid var(--rp-line); }
html:root body .rp-workspace .rp-detail-panel :is(.rp-original,.rp-reference-text,.rp-optimized-text) { font-size: 16px; line-height: 1.85; white-space: pre-wrap; overflow-wrap: anywhere; max-height: none; }
html:root body .rp-workspace .rp-more-actions { padding: 10px 0; border-top: 1px solid var(--rp-line); }
html:root body .rp-workspace .rp-more-actions > summary { width: fit-content; min-height: 44px; display: list-item; align-content: center; padding-block: 8px; font-size: 16px; cursor: pointer; }
html:root body .rp-workspace .rp-more-actions[open] > :not(summary) { margin-top: 10px; }
html:root body .rp-workspace :is(.rp-detail-tabs,.rp-stable-actions,.rp-directory-row) .rp-button:focus-visible,
html:root body .rp-workspace .rp-more-actions > summary:focus-visible { outline: 3px solid var(--hw-ui-focus,#6679b7); outline-offset: 3px; }

html:root body .rp-reports .rp-report-summary { padding: 0 0 18px; border-bottom: 1px solid var(--rp-line); border-radius: 0; background: transparent !important; }
html:root body .rp-reports > .rp-history { padding: 8px 0; border: 0; border-radius: 0; background: transparent !important; }
html:root body .rp-reports > .rp-history > summary { min-height: 44px; padding-block: 8px; font-size: 16px; }
html:root body .rp-reports .rp-focus-list { display: grid; gap: 16px; margin: 0; padding: 0; list-style: none; }
html:root body .rp-reports .rp-focus-list > .rp-focus-item { display: grid; gap: 6px; padding: 0 0 0 14px; border-left: 3px solid var(--rp-primary); }
html:root body .rp-reports .rp-focus-list :is(p,.rp-suggestion) { font-size: 16px; }
html:root body .rp-reports .rp-report-directory { display: grid; gap: 0; }
html:root body .rp-reports .rp-directory-row { display: grid; grid-template-columns: 2.5rem minmax(0,1fr) auto; align-items: center; gap: 12px 20px; padding: 16px 0; border-bottom: 1px solid var(--rp-line); }
html:root body .rp-reports .rp-directory-row:first-child { border-top: 1px solid var(--rp-line); }
html:root body .rp-reports .rp-directory-row :is(h3,h4,.rp-directory-question) { margin: 0; font-size: 17px; line-height: 1.6; }
html:root body .rp-reports .rp-directory-row .rp-button { justify-self: end; white-space: nowrap; }
/* Unanswered rows have two actions. Give each its own column instead of
   auto-placing the fourth child into the narrow question-number column. */
@media (min-width: 641px) {
  html:root body .rp-reports .rp-directory-row:has(> .rp-button + .rp-button) { grid-template-columns: 2.5rem minmax(0,1fr) auto auto; }
}
html:root body .rp-reports .rp-directory-row[aria-current="true"] { border-left: 3px solid var(--rp-primary); padding-left: 12px; }
html:root body .rp-reports .rp-report-detail { display: grid; gap: 18px; padding-top: 20px; border-top: 1px solid var(--rp-line); scroll-margin-top: 80px; }
html:root body .rp-reports .rp-report-detail[hidden] { display: none; }
html:root body .rp-reports .rp-report-detail .rp-answer-result { gap: 18px; }
html:root body .rp-reports .rp-report-detail .rp-result-section { border: 0; padding: 0; border-radius: 0; background: transparent !important; }
html:root body .rp-reports .rp-report-detail .rp-result-section + .rp-result-section { border-top: 1px solid var(--rp-line); padding-top: 18px; }
html:root body .rp-reports .rp-report-detail .rp-report-next { padding-block: 0; }

@media (max-width: 900px) {
  html:root body .rp-live-workspace .rp-stable-actions { top: 60px; }
}
/* These two pages retain the existing mobile drawer after the shared shell
   identifies it as workspaceSidebar. Closed navigation must not occupy a page. */
@media (max-width: 767px) {
  html:root body.mobile-navigation-enabled:is([data-active-panel="interview"],[data-active-panel="interview-reports"]) #workspaceSidebar {
    position: fixed !important; inset: 0 auto 0 0 !important; z-index: 15001 !important;
    width: min(304px, calc(100vw - 40px)) !important; max-width: calc(100vw - 40px) !important;
    height: 100dvh !important; max-height: 100dvh !important; overflow: auto !important;
    box-sizing: border-box !important; transform: none !important;
  }
  html:root body.mobile-navigation-enabled:is([data-active-panel="interview"],[data-active-panel="interview-reports"]) #workspaceSidebar[aria-hidden="true"] { display: none !important; }
  html:root body.mobile-navigation-enabled:is([data-active-panel="interview"],[data-active-panel="interview-reports"]) #workspaceSidebar[aria-hidden="false"] { display: flex !important; visibility: visible !important; pointer-events: auto !important; }
}
@media (max-width: 640px) {
  html:root body :is(.rp-live-workspace,.rp-reports) { padding: 16px 12px 28px; }
  html:root body :is(.rp-live-workspace,.rp-reports) .rp-card { padding: 16px; }
  html:root body .rp-live-workspace .rp-question { font-size: 21px; }
  html:root body .rp-live-workspace .rp-run-progress { padding: 10px 12px; }
  html:root body .rp-live-workspace .rp-run-stats { flex-basis: 100%; gap: 6px 14px; }
  html:root body .rp-live-workspace .rp-stable-actions { gap: 8px; padding-block: 10px; }
  html:root body .rp-live-workspace .rp-stable-actions > .rp-primary { min-width: 144px; }
  html:root body .rp-workspace .rp-detail-tabs { align-items: stretch; }
  html:root body .rp-workspace .rp-detail-tabs .rp-button { flex: 1 1 130px; text-align: center; }
  html:root body .rp-workspace .rp-detail-panel .rp-answer-comparison { grid-template-columns: minmax(0,1fr); gap: 18px; }
  html:root body .rp-workspace .rp-detail-panel .rp-answer-comparison > section + section { padding: 18px 0 0; border-left: 0; border-top: 1px solid var(--rp-line); }
  html:root body .rp-reports .rp-directory-row { grid-template-columns: minmax(0,1fr); gap: 10px; padding-block: 14px; }
  html:root body .rp-reports .rp-directory-row .rp-button { justify-self: start; }
  html:root body .rp-live-workspace:has(:is(textarea,input,select):focus) .rp-stable-actions { position: static; }
}
@media (max-height: 520px) {
  html:root body .rp-live-workspace .rp-stable-actions { position: static; }
}
@media (prefers-reduced-motion: reduce) {
  html:root body .rp-workspace,
  html:root body .rp-workspace * { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
/* The current run only: no account history or hidden reference answers. */
html:root body .rp-live-workspace .rp-layout.rp-with-question-card { display:grid; grid-template-columns:minmax(0,1fr) 240px; gap:20px; align-items:start; }
html:root body .rp-live-workspace .rp-question-card { position:sticky; top:80px; border:1px solid var(--rp-line); border-radius:12px; padding:12px; background:var(--rp-surface); }
html:root body .rp-live-workspace .rp-question-card h2 { font-size:17px; margin:0 0 4px; }
html:root body .rp-live-workspace .rp-question-count { margin-bottom:10px; font-size:14px; line-height:1.5; }
html:root body .rp-live-workspace .rp-question-grid { display:grid; grid-template-columns:1fr; gap:6px; align-content:start; padding:4px; max-height:min(560px,65vh); overflow-y:auto; overscroll-behavior:contain; scrollbar-gutter:stable; }
html:root body .rp-live-workspace .rp-question-number { position:relative; display:flex; align-items:flex-start; gap:12px; width:100%; min-height:64px; padding:12px; font-size:15px; line-height:1.6; text-align:left; }
html:root body .rp-workspace .rp-question-summary { display:grid; gap:5px; flex:1; }
html:root body .rp-workspace .rp-question-index { flex:none; min-width:22px; padding-top:4px; }
html:root body .rp-workspace .rp-question-text { white-space:normal; overflow-wrap:anywhere; line-height:1.6; }
html:root body .rp-workspace .rp-question-status { font-size:12px; color:var(--rp-muted); font-weight:400; }
html:root body .rp-live-workspace .rp-question-number strong { font-size:16px; line-height:1; font-variant-numeric:tabular-nums; }
html:root body .rp-live-workspace .rp-question-number .rp-question-mark { position:absolute; top:3px; right:3px; font-size:11px; line-height:1; }
html:root body .rp-live-workspace .rp-question-number .rp-question-draft { position:absolute; bottom:2px; right:4px; font-size:14px; line-height:1; }
html:root body .rp-live-workspace .rp-question-legend { margin:8px 0; color:var(--rp-muted); font-size:12px; line-height:1.6; }
html:root body .rp-live-workspace .rp-question-empty { margin:8px 0; }
html:root body .rp-live-workspace .rp-question-number[aria-current="step"] { outline:2px solid var(--rp-accent,#a54236); outline-offset:2px; }
html:root body .rp-live-workspace .rp-question-navigation { display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
html:root body .rp-live-workspace .rp-last-question { flex-basis:100%; display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
html:root body .rp-live-workspace .rp-last-question p { margin:0; }
html:root body .rp-live-captions { margin:12px 0; padding:14px 16px; border:1px solid var(--rp-line); border-radius:12px; background:var(--rp-surface); }
html:root body .rp-live-captions .rp-label { margin:0 0 8px; }
html:root body .rp-live-text { margin:0; min-height:3em; max-height:10em; overflow:auto; white-space:pre-wrap; overflow-wrap:anywhere; font-size:16px; line-height:1.65; }
html:root body .rp-connection-status { margin:8px 0; padding:10px 14px; border-inline-start:3px solid var(--rp-line); background:var(--rp-surface); font-size:16px; line-height:1.6; }
html:root body .rp-connection-status[data-connection="slow"], html:root body .rp-connection-status[data-connection="offline"] { border-inline-start-color:var(--rp-accent,#a54236); }
html:root body .rp-connection-help ol { margin:10px 0; padding-inline-start:24px; line-height:1.7; }
@media(max-width:1100px) {
  html:root body .rp-live-workspace .rp-layout.rp-with-question-card { grid-template-columns:minmax(0,1fr); }
  html:root body .rp-live-workspace .rp-question-card { display:none; position:static; grid-row:1; }
  html:root body .rp-live-workspace .rp-question-card.is-open { display:block; }
}
