/* Lama chat on other tabs. The Search chat rules in visual.css and
   voice-page.css apply to .lama-chat too; these add what other pages need. */
.lama-chat {min-width:0}
.lama-chat .sr-only {position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.lama-chat .job-chat-workspace {max-width:none!important;margin:0!important}
.lama-chat .job-chat-transcript {min-height:240px;max-height:min(56vh,560px)}
.lama-chat .job-chat-examples[hidden] {display:none!important}
.lama-turn-note {display:block;margin:6px 0 0 5px;color:var(--blue);font-size:10px;font-weight:750;letter-spacing:.02em}
.lama-chat .job-chat-turn.voice-reply>p {margin:0}

/* CV studio: chat on the left, the live draft on the right. */
#cvBuilder .cv-lama-chat {display:flex;flex-direction:column;gap:10px;min-width:0}
#cvBuilder .cv-chat-tools {display:flex;flex-wrap:wrap;gap:6px 14px;order:2;padding:0 4px}
#cvBuilder .cv-chat-tools .text-button {font-size:11px}
#cvBuilder .cv-lama-chat>.cv-voice-details {order:3;margin:0 4px}
#cvBuilder .cv-lama-chat>.lama-chat {order:1}

.cv-skill-stories {margin-top:14px;padding:17px 18px;border:1px solid var(--line);border-radius:19px;background:var(--surface)}
.cv-skill-stories-head {display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}
.cv-skill-stories-head h3 {margin:4px 0 6px;color:var(--ink);font-size:17px;letter-spacing:-.035em}
.cv-skill-stories-head p {max-width:460px;margin:0;color:var(--muted);font-size:11px;line-height:1.55}
.cv-skill-stories-head .btn {flex:none;min-height:36px;padding:8px 14px;font-size:11px}
.cv-skill-list {display:flex;flex-wrap:wrap;gap:7px;margin-top:14px}
html[data-theme] .cv-skill-list button {display:inline-flex;align-items:center;gap:7px;min-height:32px;padding:6px 11px;border:1px solid var(--line);border-radius:999px;background:var(--raised);color:var(--ink);font-size:11px;font-weight:700;cursor:pointer;transition:border-color .15s,background .15s,transform .15s}
html[data-theme] .cv-skill-list button:hover {border-color:var(--blue);background:var(--hover);transform:translateY(-1px)}
.cv-skill-list button i {width:7px;height:7px;flex:none;border-radius:50%;background:#d5bd87}
.cv-skill-list button.has-story i {background:#78ad83}
.cv-skill-list button small {color:var(--muted);font-size:10px;font-weight:600}
.cv-skill-list .cv-skill-empty {color:var(--muted);font-size:11px}
@media(max-width:560px){.cv-skill-stories-head .btn {width:100%}}

/* Chats on the other tabs, and the Application studio chat beneath an open pack. */
.tab-lama-chat {display:grid;gap:10px;max-width:980px;margin:0 0 22px}
.tab-lama-chat-head {display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 12px;padding:0 4px}
.tab-lama-chat-head strong {color:var(--ink);font-size:15px;letter-spacing:-.025em}
#studioLamaChat.in-pack {max-width:none;margin:18px 0}
#studioLamaChat.in-pack .tab-lama-chat-head {display:none}
html[data-theme] .pack-content.cv-edit-flash {animation:cv-edit-flash 1.25s ease-out}
@media(prefers-reduced-motion:reduce){html[data-theme] .pack-content.cv-edit-flash {animation:none}}

/* Upload a CV from the Search page's working CV bar. */
html[data-theme] #view-discover .search-cv-bar {grid-template-columns:auto minmax(0,1fr) auto auto}
#view-discover .search-cv-bar.dragging {border-color:var(--blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 22%,transparent)}
#view-discover .chat-context-attach[aria-busy="true"] {opacity:.65;cursor:progress}
@media(max-width:700px){
  html[data-theme] #view-discover .search-cv-bar {grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  #view-discover .search-cv-bar>label {grid-column:1/-1}
  html[data-theme] #view-discover .chat-context-attach {grid-column:1}
  html[data-theme] #view-discover .search-cv-bar .chat-context-edit:not(.chat-context-attach) {grid-column:2}
}

/* A reply the person talked over: kept for context, shown as cut short. */
.job-chat-turn.interrupted p {opacity:.72}

/* == Production polish (V-tasks) == */
/* Selectors start with html[data-theme] so they beat the layered rules in
   visual.css and voice-page.css without !important. Tokens live in visual.css. */

/* V1: Lama's replies are reading text, not secondary text. */
html[data-theme] .job-chat-turn p {color:var(--ink);font-size:14px;line-height:1.6}
html[data-theme] :is(#view-discover,.lama-chat) .job-chat-turn p {font-size:14px;line-height:1.6}
html[data-theme] .job-chat-turn.pending p {color:var(--muted)}
html[data-theme="light"] .job-chat-turn.user p {color:#173c22}
html[data-theme] .job-chat-turn > span {font-size:11px;letter-spacing:.12em}
html[data-theme] .job-chat-turn.assistant p {max-width:72ch}

/* V2: nothing below 11px; placeholders at full token colour. */
html[data-theme] :is(.eyebrow,.micro,.sidebar-kicker,.sidebar-foot,.desktop-tagline,
  .job-chat-identity-caption,.selected-badge,.cv-studio-presence,.feature-index) {font-size:11px}
html[data-theme] :is(#view-discover,.lama-chat) :is(.job-chat-reset,.job-chat-examples button) {font-size:12px}
html[data-theme] input::placeholder, html[data-theme] textarea::placeholder {opacity:1}
html[data-theme] :is(#view-discover,.lama-chat) :is(.search-page-head .eyebrow,.search-cv-bar>.search-context-label,
  .job-chat-identity-caption,.job-chat-voice-badge,.job-chat-examples>span,.chat-context-edit,.lama-voice-hint,#searchVoiceHint) {font-size:11px}
html[data-theme] :is(.topbar-right #today,.cv-template-option small,.cv-story-footer p,.method-step>span,
  .lama-turn-note,.cv-skill-list button small,.job-chat-turn-actions :is(button,a)) {font-size:11px}
html[data-theme] :is(#view-discover,.lama-chat) .job-chat-turn-actions :is(button,a) {font-size:11px}
@media (max-width:700px) {
  html[data-theme] .search-context-label {font-size:11px}
  html[data-theme] .pack-tabs button {font-size:11px}
}

/* V3: touch-ready mobile, no sideways scroll in Library. */
.library-list {grid-template-columns:minmax(0,1fr)}
html[data-theme] .library-item, html[data-theme] .library-item > * {min-width:0}
@media (max-width:700px) {
  html[data-theme] :is(input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea) {font-size:16px}
  html[data-theme] :is(.topbar .theme-toggle,.account-menu-trigger) {min-width:44px;min-height:44px}
  html[data-theme] :is(#view-discover,.lama-chat) :is(.job-chat-modes button,.job-chat-examples button,.job-chat-reset),
  html[data-theme] .mode-entry-bar :is(.job-chat-modes,.studio-mode-tabs) button,
  html[data-theme] .studio-mode-tabs button,
  html[data-theme] #packHubFilters button,
  html[data-theme] :is(#cvFocusStory,#cvFocusDesign,#cvFocusImages),
  html[data-theme] .view.active .text-button {min-height:44px}
  html[data-theme] .lama-send,
  html[data-theme] :is(#view-discover,.lama-chat) .job-chat-composer-actions :is(#roleRequestSubmit,.lama-send) {width:44px;height:44px;min-width:44px}
  html[data-theme] :is(#view-discover,.lama-chat) :is(.chat-context-edit,select),
  html[data-theme] #view-discover :is(#searchCv,#jobChatVoiceSelect) {min-height:44px}
  html[data-theme] #packHubFilters button {min-width:44px}
  html[data-theme] .view.active :is(.library-item button,.library-item .btn,.role-open) {display:inline-flex;align-items:center;justify-content:center;min-height:44px}
  html[data-theme] .view.active details > summary {display:flex;align-items:center;min-height:44px}
  html[data-theme] .cv-template-option input[type=radio] {width:20px;height:20px}
  html[data-theme] .library-actions a {display:inline-flex;align-items:center;min-height:44px;padding:0 12px}
  html[data-theme] input[type=checkbox] {width:22px;height:22px}
  /* Tab chats: the voice picker takes its own row so the full voice name shows. */
  html[data-theme] .lama-chat .job-chat-head {flex-wrap:wrap;row-gap:8px}
  html[data-theme] .lama-chat .job-chat-voice-choice {order:3;flex:1 1 100%;max-width:none;margin-left:0}
  html[data-theme] .lama-chat .job-chat-voice-choice select {flex:1 1 auto;width:100%;max-width:none;min-width:0}
  /* Search: one head row keeps the mic on the first screen. The picker takes the room
     of the "Lama" name and "Voice" label, which stay available to screen readers. */
  html[data-theme] #view-discover .job-chat-head {flex-wrap:nowrap;padding:10px 16px}
  html[data-theme] #view-discover .job-chat-workspace[data-input-mode="voice"] .job-chat-identity>strong {position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
  html[data-theme] #view-discover .job-chat-voice-choice {flex:1 1 auto;min-width:0;max-width:none;margin-left:0;font-size:0;gap:0}
  html[data-theme] #view-discover #jobChatVoiceSelect {flex:1 1 auto;width:100%;min-width:0;max-width:none;font-size:16px}
  html[data-theme] #view-discover .job-chat-reset {flex:none}
  /* The 44px targets add height above the mic; these trims keep it above the bottom nav at 390x844. */
  html[data-theme] #view-discover .search-page-head {margin-bottom:16px}
  html[data-theme] #view-discover .search-mode-entry {padding:12px 14px;gap:8px;margin-bottom:8px}
  html[data-theme] :is(#view-discover,.lama-chat) .search-cv-bar {margin-bottom:8px}
  html[data-theme] #view-discover .job-chat-workspace[data-input-mode="voice"] .role-request-form {padding-top:12px}
}

/* V4: keyboard focus is always visible on fields, selects and disclosures. */
html[data-theme] :is(input,select,textarea,summary):focus-visible {outline:2px solid var(--blue);outline-offset:2px}
html[data-theme] :is(input,select,textarea):focus {border-color:var(--blue)}
html[data-theme] :is(#view-discover,.lama-chat,#view-overview) :is(input,select,textarea):focus-visible {outline:2px solid var(--blue);outline-offset:2px}

/* V5: one column per page; the tab chats line up with the cards below them. */
html[data-theme] .tab-lama-chat {max-width:none;margin-bottom:24px}
html[data-theme] #view-discover :is(.search-mode-entry,.search-cv-bar,.search-mode-panel) {max-width:860px;margin-inline:auto}
html[data-theme] #view-discover .search-mode-entry {margin-bottom:12px}
html[data-theme] .company-review-section {margin-bottom:28px}

/* V6: fields read as fields; placeholders are lighter than typed text. */
html[data-theme] :is(input:not([type=checkbox]):not([type=radio]),select,textarea) {font-size:14px;font-weight:500}
html[data-theme] :is(input,textarea)::placeholder {font-weight:400;color:var(--muted)}
html[data-theme] .check-line {grid-template-columns:auto 1fr;align-items:start;column-gap:10px}
html[data-theme] .check-line input[type=checkbox] {margin-top:2px}
html[data-theme] input[type=file]::file-selector-button {border:1px solid var(--line);border-radius:8px;background:var(--raised);color:var(--ink);font:inherit;font-weight:700;padding:8px 12px;margin-right:10px;cursor:pointer}

/* V7: no duplicate controls or orphan page counters. */
html[data-theme] .head-counter {display:none}
html[data-theme] #view-library .library-edit-entry {display:none}
html[data-theme] .library-item .pack-download-actions a {background:transparent;border:1px solid var(--line);color:var(--ink)}

/* == Production features (B-tasks) == */
html[data-theme] {--danger:#9b3030;--danger-ink:#ffffff}
html[data-theme="dark"] {--danger:#f0a8a8;--danger-ink:#2c0e0e}

/* B3: delete controls and confirm dialogs. Delete is quiet until confirmed. */
html[data-theme] .library-item :is(.library-actions,.pack-download-actions) .library-delete,
html[data-theme] .pack-hub-actions .library-delete {background:transparent;border:1px solid var(--line);color:var(--danger)}
html[data-theme] .library-item :is(.library-actions,.pack-download-actions) .library-delete:hover,
html[data-theme] .pack-hub-actions .library-delete:hover {background:var(--hover);border-color:var(--danger)}
html[data-theme] .danger-text {color:var(--danger);font-weight:700}
html[data-theme] #actionCard #deleteOpenPack {display:inline-flex;align-items:center;min-height:40px;margin-top:6px;padding:0;background:none;border:0;font-size:13px;cursor:pointer}
html[data-theme] .btn-danger {display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 20px;border:1px solid var(--danger);border-radius:999px;background:var(--danger);color:var(--danger-ink);font:inherit;font-size:13px;font-weight:750;cursor:pointer}
html[data-theme] .btn-danger:disabled {opacity:.5;cursor:not-allowed}
html[data-theme] .confirm-dialog {width:min(480px,calc(100vw - 24px));box-shadow:0 18px 50px rgba(20,30,24,.16)}
html[data-theme="dark"] .confirm-dialog {box-shadow:0 18px 50px rgba(0,0,0,.55)}
html[data-theme] .confirm-dialog-form {display:grid;gap:12px}
html[data-theme] .confirm-dialog h2 {margin:0;font-size:24px;line-height:1.18;letter-spacing:-.035em}
html[data-theme] .confirm-dialog p {margin:0;color:var(--ink);font-size:14px;line-height:1.6}
html[data-theme] .confirm-dialog .field-hint {color:var(--muted);font-size:12px}
html[data-theme] .confirm-dialog label {display:grid;gap:6px;color:var(--ink);font-size:12px;font-weight:700}
html[data-theme] .confirm-dialog input {box-sizing:border-box;width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);font:inherit;font-size:14px;font-weight:500}
html[data-theme] .confirm-dialog .form-error {color:var(--danger);font-size:13px;font-weight:700}
html[data-theme] .confirm-dialog .form-error:empty {display:none}
html[data-theme] .confirm-dialog-actions {display:flex;justify-content:flex-end;flex-wrap:wrap;gap:10px;margin-top:6px}
html[data-theme] .confirm-dialog-actions .btn {min-height:44px;padding:0 20px}
html[data-theme] .personal-details-danger {margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}
html[data-theme] .personal-details-danger .text-button {min-height:44px;padding:0;background:none;border:0;font-size:13px;cursor:pointer}
html[data-theme] .account-menu #accountMenuSignOut {color:var(--ink);border-top:1px solid var(--line);border-radius:0;margin-top:3px}
html[data-theme] .account-menu .account-menu-danger {color:var(--danger);border-top:0;margin-top:0}
@media (max-width:700px) {html[data-theme] .confirm-dialog-actions .btn {flex:1 1 auto}}

/* B4: CV, cover letter, or both in one file. */
html[data-theme] .pack-download-choices {display:grid;gap:8px;min-width:0}
html[data-theme] .pack-download-row {display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px 10px;min-width:0}
html[data-theme] .pack-download-row>span {color:var(--ink);font-size:13px;font-weight:700}
html[data-theme] .pack-download-row>div {display:flex;flex-wrap:wrap;gap:6px}
html[data-theme] .pack-download-row a {display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:40px;padding:0 14px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--ink);font-size:13px;font-weight:750;text-decoration:none}
html[data-theme] .pack-download-row a:hover {background:var(--hover);text-decoration:none}
html[data-theme] #packDownloads .pack-download-row:first-child a:first-child {background:var(--action);border-color:var(--action);color:var(--action-ink)}
html[data-theme] #packDownloads .pack-download-row:first-child a:first-child:hover {background:var(--ink);color:var(--canvas)}
html[data-theme] #actionCard .download-hint {margin:4px 0 10px;color:var(--muted);font-size:12px;line-height:1.5}
html[data-theme] .pack-downloads {margin-bottom:14px}
html[data-theme] .pack-hub-download {order:2;min-width:0}
html[data-theme] .pack-hub-download[open] {flex:1 1 100%}
html[data-theme] .pack-hub-download>summary {display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border:1px solid var(--line);border-radius:999px;background:var(--raised);color:var(--ink);font-size:12px;font-weight:750;cursor:pointer;list-style:none}
html[data-theme] .pack-hub-download>summary::-webkit-details-marker {display:none}
html[data-theme] .pack-hub-download>summary::after {content:"";width:6px;height:6px;margin-left:8px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg)}
html[data-theme] .pack-hub-download[open]>summary::after {transform:translateY(2px) rotate(-135deg)}
html[data-theme] .pack-hub-download>.field-hint {margin:10px 0 8px;color:var(--muted);font-size:12px;line-height:1.5}
html[data-theme] .pack-hub-actions .library-delete {order:1;margin-left:auto;min-height:40px;padding:0 14px;border-radius:999px;font-size:12px;font-weight:750}
@media (max-width:700px) {
  html[data-theme] .pack-download-row a,
  html[data-theme] .pack-hub-download>summary,
  html[data-theme] .pack-hub-actions :is(button,.library-delete) {min-height:48px}
  html[data-theme] .pack-download-row a {flex:1 1 auto}
  html[data-theme] .pack-download-row>div {flex:1 1 100%}
}

/* B9: Lama's example of a strong answer, shown under the reply as a quiet quote card. */
html[data-theme] .lama-story-example {box-sizing:border-box;max-width:72ch;margin:8px 0 0;padding:12px 14px 12px 16px;border:1px solid var(--line);border-left:3px solid var(--blue);border-radius:4px 12px 12px 4px;background:color-mix(in srgb,var(--raised) 70%,var(--surface))}
html[data-theme] .lama-story-example-label {margin:0 0 6px;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
html[data-theme] .lama-story-example-text {margin:0;color:var(--ink);font-size:14px;font-style:italic;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}
html[data-theme] .lama-story-example-hint {margin:8px 0 0;color:var(--muted);font-size:12px;line-height:1.5}
html[data-theme] .lama-story-example-answer {display:inline-flex;align-items:center;min-height:40px;margin-top:10px;padding:0 14px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--ink);font:inherit;font-size:13px;font-weight:750;cursor:pointer}
html[data-theme] .lama-story-example-answer:hover {background:var(--hover);border-color:var(--blue)}
html[data-theme] :is(.lama-chat,#view-discover)[data-input-mode="voice"] .lama-story-example-answer {display:none}
@media (max-width:700px) {html[data-theme] .lama-story-example-answer {min-height:44px}}

/* B8: skip link, and a visible focus ring where an older rule removed the outline. */
html[data-theme] .skip-link {position:fixed;z-index:3000;top:8px;left:8px;padding:10px 16px;border-radius:999px;background:var(--action);color:var(--action-ink);font-size:13px;font-weight:750;text-decoration:none;transform:translateY(-200%);transition:transform .15s}
html[data-theme] .skip-link:focus, html[data-theme] .skip-link:focus-visible {transform:none;outline:2px solid var(--blue);outline-offset:2px}
html[data-theme] main:focus {outline:none}
html[data-theme] #view-overview .home-cv-form textarea:focus-visible {box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 45%,transparent)}
html[data-theme] .pack-content:focus-visible {outline:2px solid var(--blue);outline-offset:2px}
@media (prefers-reduced-motion:reduce) {html[data-theme] .skip-link {transition:none}}

/* B5: pipeline stages on saved packs. */
html[data-theme] #packHubFilters {flex-wrap:wrap}
html[data-theme] #packHubFilters button {display:inline-flex;align-items:center;gap:6px}
html[data-theme] .pack-filter-count {min-width:18px;padding:1px 6px;border-radius:999px;background:var(--hover);color:var(--ink);font-size:11px;font-weight:750;text-align:center}
html[data-theme] .pack-tracker {display:grid;gap:8px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}
html[data-theme] .pack-tracker-status {display:flex;align-items:center;justify-content:space-between;gap:10px;color:var(--muted);font-size:12px;font-weight:700}
html[data-theme] .pack-tracker select {min-height:40px;padding:0 30px 0 12px;border:1px solid var(--line);border-radius:12px;background-color:var(--surface);color:var(--ink)}
html[data-theme] .pack-tracker-meta {margin:0;color:var(--muted);font-size:12px;line-height:1.5}
html[data-theme] .pack-tracker-meta:empty {display:none}
html[data-theme] .pack-tracker-more>summary {display:inline-flex;align-items:center;min-height:32px;color:var(--blue);font-size:12px;font-weight:700;cursor:pointer}
html[data-theme] .pack-tracker-more label {display:grid;gap:4px;margin-top:8px;color:var(--ink);font-size:12px;font-weight:700}
html[data-theme] .pack-tracker-more :is(input,textarea) {box-sizing:border-box;width:100%;min-height:40px;padding:8px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);font:inherit;font-size:14px;font-weight:500}
html[data-theme] .pack-tracker-more textarea {resize:vertical}
@media (max-width:700px) {
  html[data-theme] .pack-tracker select, html[data-theme] .pack-tracker-more :is(input,textarea) {min-height:44px}
  html[data-theme] .view.active .pack-tracker-more>summary {min-height:44px}
}

/* B6: add a role from a link. */
html[data-theme] .job-import-form {display:grid;gap:6px;margin:0 0 18px;padding-bottom:16px;border-bottom:1px solid var(--line)}
html[data-theme] .job-import-form>label {color:var(--ink);font-size:12px;font-weight:700}
html[data-theme] .job-import-row {display:flex;gap:8px;min-width:0}
html[data-theme] .job-import-row input {flex:1 1 auto;min-width:0;min-height:44px;padding:0 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink)}
html[data-theme] .job-import-row .btn {flex:none;min-height:44px;padding:0 20px}
html[data-theme] .job-import-form[aria-busy="true"] .btn {cursor:progress}
html[data-theme] .job-import-form .field-hint {margin:0;color:var(--muted);font-size:12px}
html[data-theme] .job-import-form .form-error {margin:0;color:var(--danger);font-size:13px;font-weight:700}
html[data-theme] .job-import-form .form-error:empty {display:none}
html[data-theme] .job-import-warnings {padding:10px 12px;border:1px solid #c9a96b;border-radius:12px;background:color-mix(in srgb,#e8c98a 18%,var(--surface))}
html[data-theme] .job-import-warnings p {margin:0;color:var(--ink);font-size:13px;line-height:1.5}

/* V8: five radii, one eyebrow rhythm, disabled actions with a visible reason, flatter mobile CV studio. */
html[data-theme] {--r-xs:8px;--r-sm:12px;--r-md:16px;--r-lg:24px;--r-pill:999px}
html[data-theme] :is(.surface,.library-item,.job-card,.action-card,.feature-card,.cv-skill-stories,.pack-hub-card,.pack-hub-empty) {border-radius:var(--r-md)}
html[data-theme] :is(#view-discover,.lama-chat) .job-chat-workspace {border-radius:var(--r-lg)}
html[data-theme] :is(.eyebrow,.micro) {letter-spacing:.14em}
html[data-theme] .text-button:disabled {opacity:.5;cursor:not-allowed;text-decoration:none}
html[data-theme] .cv-template-hint {margin:6px 0 0;color:var(--muted);font-size:12px}
html[data-theme] #view-overview #cvBuilder.cv-builder {border-radius:var(--r-md)}
@media (max-width:700px){
  html[data-theme] #view-overview #cvBuilder.cv-builder {padding:16px 0;border:0;background:transparent;box-shadow:none}
  html[data-theme] #view-overview #cvBuilder .role-request-form {padding-left:12px;padding-right:12px}
}

/* B10: the small markdown subset in Lama's replies. */
html[data-theme] .job-chat-turn p .lama-md-p {display:block}
html[data-theme] .job-chat-turn p .lama-md-p + .lama-md-p, html[data-theme] .job-chat-turn p .lama-md-list + .lama-md-p {margin-top:8px}
html[data-theme] .job-chat-turn p .lama-md-list {margin:6px 0;padding-left:20px;white-space:normal}
html[data-theme] .job-chat-turn p .lama-md-list li + li {margin-top:4px}
html[data-theme] .job-chat-turn p strong {color:inherit;font-weight:750}
html[data-theme] .job-chat-turn p a {color:var(--blue);font-weight:700;text-decoration:underline;text-underline-offset:2px}

/* Round 2: best-fit comparison under a Search reply, and the web search caption. */
html[data-theme] .job-chat-comparison {display:grid;gap:6px;max-width:72ch;margin:8px 0 0;padding:0;list-style:none;counter-reset:fit}
html[data-theme] .job-chat-comparison li {display:grid;gap:2px;padding:9px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);counter-increment:fit}
html[data-theme] .job-chat-comparison li.best {border-color:color-mix(in srgb,var(--blue) 55%,var(--line))}
html[data-theme] .job-chat-comparison strong {color:var(--ink);font-size:13px}
html[data-theme] .job-chat-comparison strong::before {content:counter(fit) ". ";color:var(--muted)}
html[data-theme] .job-chat-comparison small {color:var(--muted);font-size:12px;line-height:1.5}
html[data-theme] .job-chat-search-query {display:block;grid-column:1/-1;margin-top:-4px;color:var(--muted);font-size:12px}
html[data-theme] .job-chat-web-sources>span {font-size:11px}

/* B7: values in the tailored documents that the source CV does not contain. */
html[data-theme] .fact-check {margin-top:16px;padding:16px;border:1px solid var(--line);border-left:3px solid #c9a96b;border-radius:4px 16px 16px 4px;background:var(--surface)}
html[data-theme] .fact-check h3 {margin:0 0 6px;font-size:17px;letter-spacing:-.03em}
html[data-theme] .fact-check>p {margin:0 0 10px;color:var(--muted);font-size:13px;line-height:1.5}
html[data-theme] .fact-check h4 {margin:10px 0 6px;color:var(--ink);font-size:13px}
html[data-theme] .fact-check-group {display:grid;grid-template-columns:120px minmax(0,1fr);gap:8px;margin-top:4px}
html[data-theme] .fact-check-group>span {color:var(--muted);font-size:12px;font-weight:700}
html[data-theme] .fact-check-group ul {display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}
html[data-theme] .fact-check-group li {display:inline-flex;align-items:baseline;gap:6px;padding:3px 10px;border:1px solid var(--line);border-radius:999px;background:var(--raised);color:var(--ink);font-size:13px}
html[data-theme] .fact-check-group em {color:var(--muted);font-size:12px;font-style:normal}
html[data-theme] .fact-check-clean {margin:12px 0 0;color:var(--muted);font-size:12px}
@media (max-width:560px) {html[data-theme] .fact-check-group {grid-template-columns:1fr}}

/* Installable app (/app): install link on the sign-in card, and room for the status bar when installed. */
.get-app-link{display:flex;width:fit-content;align-items:center;justify-content:center;gap:9px;min-height:44px;margin:16px auto 0;padding:10px 18px;border:1px solid var(--line);border-radius:999px;color:var(--ink);font-size:14px;font-weight:700;text-decoration:none}
.get-app-link:hover{border-color:var(--muted)}
.get-app-link .action-icon{width:18px;height:18px}
@media (display-mode: standalone){
  body{padding-top:env(safe-area-inset-top);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
}

/* Short sign-up form: password with a Show button, and one plain note. */
.password-field{position:relative;display:block}
.password-field input{width:100%;padding-right:76px}
.password-show{position:absolute;right:6px;top:50%;transform:translateY(-50%);min-height:36px;padding:0 12px;border:0;border-radius:9px;background:transparent;color:var(--muted);font-size:13px;font-weight:700;cursor:pointer}
.password-show:hover,.password-show:focus-visible{color:var(--ink);background:var(--hover,#ffffff14)}
.registration-note{margin:4px 0 0;color:var(--muted);font-size:13px;line-height:1.5}
