/* Feedback Hub page — a Deck page for one round of questions.
 *
 * Built on the shared OMNI design system (ABI/DESIGN-SYSTEM.md): load
 * omni-tokens.css and omni-components.css first. This file holds only what the
 * Feedback Hub adds on top of the Deck components — the ADHD reading size, big
 * touch targets, toggle choices, the dictation button and the sticky submit
 * (ABI/ADHD-COMMUNICATION.md). Colours, radii, shadows and type come from the
 * --omni-* tokens, so light (OMNI Prism), dark (Midnight Cinema) and the
 * high-contrast variant follow the Deck automatically. No literal colours. */

.fh-page { --fh-on-accent:var(--omni-on-primary); font-size:var(--omni-reading-size); line-height:1.55; }
/* Dark mode: light accents carry dark text so pressed states stay readable. */
html[data-theme="midnight-cinema"] .fh-page { --fh-on-accent:var(--omni-surface-sunken); }
.fh-main { padding-top:var(--omni-space-5); padding-bottom:10rem; }

/* Header -------------------------------------------------------------------- */
.fh-back .omni-brand__name { font-size:1rem; }
.fh-head { margin-bottom:var(--omni-space-4); }
.fh-head .fh-title { margin:.35rem 0 .6rem; color:var(--omni-ink-strong); font-size:clamp(1.7rem,4.6vw,2.6rem); line-height:1.08; letter-spacing:-.035em; font-weight:770; }
.fh-head p.fh-summary { max-width:none; margin:0 0 .5rem; color:var(--omni-ink-strong); font-size:1.15rem; font-weight:650; line-height:1.45; white-space:pre-line; }
.fh-head p.fh-intro { max-width:none; margin:0; color:var(--omni-muted); font-size:1rem; line-height:1.6; white-space:pre-line; }
.fh-eyebrow { margin:0; }
.fh-rule { margin:var(--omni-space-4) 0; }
.fh-rule strong { font-size:.95rem; line-height:1.45; }
.fh-alert { margin:var(--omni-space-3) 0; }
.fh-alert strong { font-size:.95rem; }
.fh-note, .fh-muted { color:var(--omni-muted); font-size:.95rem; }
.fh-talk-row { display:flex; flex-wrap:wrap; align-items:center; gap:var(--omni-space-3); margin:var(--omni-space-4) 0; }
.fh-talk { min-height:var(--omni-touch-target-lg); font-size:.95rem; }

/* Items --------------------------------------------------------------------- */
.fh-section { display:flex; align-items:center; gap:.55rem; margin:var(--omni-space-6) 0 var(--omni-space-3); color:var(--omni-primary); font-family:var(--omni-font-mono); font-size:.75rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.fh-section::before { content:""; width:1.5rem; height:2px; border-radius:999px; background:currentColor; }
.fh-card { margin:0 0 var(--omni-space-4); padding:var(--omni-space-5); transition:border-color var(--omni-duration) var(--omni-ease),box-shadow var(--omni-duration) var(--omni-ease); }
.fh-card.is-done { border-color:color-mix(in oklab,var(--omni-success) 45%,var(--omni-line)); box-shadow:inset 4px 0 0 var(--omni-success),var(--omni-shadow); }
.fh-item--critical { border-color:color-mix(in oklab,var(--omni-danger) 35%,var(--omni-line)); box-shadow:inset 4px 0 0 var(--omni-danger),var(--omni-shadow); }
.fh-item__head { display:flex; flex-wrap:wrap; align-items:center; gap:.5rem; }
.fh-item__id { color:var(--omni-faint); font-family:var(--omni-font-mono); font-size:.75rem; font-weight:700; }
.fh-badge { min-height:1.9rem; padding:.3rem .75rem; font-size:.72rem; letter-spacing:.04em; text-transform:uppercase; }
.fh-card__title { margin:.55rem 0 .6rem; color:var(--omni-ink-strong); font-size:1.3rem; line-height:1.28; letter-spacing:-.015em; font-weight:740; }
.fh-meaning { margin:0 0 .7rem; color:var(--omni-ink); font-size:1.02rem; }
.fh-meaning b { color:var(--omni-ink-strong); }
.fh-context { margin:0 0 .7rem; color:var(--omni-muted); white-space:pre-line; }
.fh-proposal, .fh-reco { margin:.75rem 0; border:var(--omni-border-width) solid color-mix(in oklab,var(--omni-primary) 24%,var(--omni-line)); border-radius:var(--omni-radius-sm); padding:.8rem 1rem; color:var(--omni-ink); background:var(--omni-primary-soft); white-space:pre-line; }
.fh-proposal b, .fh-reco b { color:var(--omni-primary); }
.fh-reco { border-color:color-mix(in oklab,var(--omni-success) 28%,var(--omni-line)); background:var(--omni-success-soft); }
.fh-reco b { color:var(--omni-success); }
.fh-reco__why { margin-top:.4rem; color:var(--omni-muted); }
.fh-confidence { margin:.7rem 0; font-size:.92rem; }

/* Tables and charts sit on the Deck's .ui-table / .ui-hbar. */
.fh-table-wrap { margin:.75rem 0; box-shadow:none; }
.fh-table { min-width:0; }
.fh-table caption { padding:.75rem 1rem .25rem; color:var(--omni-ink-strong); font-size:.9rem; font-weight:750; text-align:left; }
.fh-table th { font-size:.72rem; }
.fh-table td { font-size:.92rem; }
.fh-chart { margin:.9rem 0; }
.fh-chart__row { font-size:.92rem; }
/* Long tables (audits): scroll under a sticky header, narrow with a filter. */
.fh-table-wrap--long { max-height:28rem; overflow:auto; }
.fh-table-wrap--long thead th { position:sticky; top:0; z-index:1; background:var(--omni-surface-raised); }
.fh-table-filter { display:flex; flex-wrap:wrap; align-items:center; gap:.6rem; margin:.75rem 0 .35rem; }
.fh-table-filter__input { flex:1 1 14rem; min-height:2.6rem; border:var(--omni-border-width) solid var(--omni-line-strong); border-radius:var(--omni-radius-sm); padding:.4rem .8rem; color:var(--omni-ink); font:inherit; font-size:.95rem; background:var(--omni-surface-raised); }
.fh-table-filter__count { color:var(--omni-muted); font-size:.85rem; font-weight:650; }

/* Pictures: an images block and picture options (pick one or several). */
.fh-gallery { margin:.9rem 0; }
.fh-gallery__title { margin-bottom:.5rem; color:var(--omni-ink-strong); font-size:.9rem; font-weight:750; }
.fh-gallery__grid, .fh-options--images { display:grid; grid-template-columns:repeat(auto-fill,minmax(11rem,1fr)); gap:.75rem; }
.fh-gallery__tile { display:flex; flex-direction:column; gap:.35rem; }
.fh-gallery__image { width:100%; max-height:22rem; object-fit:contain; border:var(--omni-border-width) solid var(--omni-line); border-radius:var(--omni-radius-sm); background:var(--omni-surface-sunken); }
.fh-gallery__caption { color:var(--omni-muted); font-size:.85rem; }
.fh-option--image { flex-direction:column; align-items:stretch; padding:.5rem; }
.fh-option__image { display:block; width:100%; aspect-ratio:4 / 3; object-fit:cover; border-radius:var(--omni-radius-sm); background:var(--omni-surface-sunken); }
.fh-choice[aria-pressed="true"] .fh-option__image { outline:3px solid var(--omni-primary); outline-offset:2px; }

/* Sections: a jump list when a page has two or more. */
.fh-sections { display:flex; flex-wrap:wrap; gap:.5rem; margin:0 0 var(--omni-space-4); }
.fh-sections__link { min-height:2.2rem; padding:.35rem .8rem; color:var(--omni-primary); font-size:.8rem; font-weight:750; text-decoration:none; }
.fh-sections__link:hover { background:var(--omni-primary-soft); }
.fh-section { scroll-margin-top:5rem; }

/* Owner inbox on the Connector (/human/inbox): many pages, cards and
 * documents on one screen, grouped by project and session. */
.fh-inbox-tabs { display:flex; flex-wrap:wrap; gap:.5rem; margin:0 0 var(--omni-space-4); }
.fh-inbox-tabs button { min-height:2.6rem; }
.fh-inbox-group { margin:var(--omni-space-5) 0 var(--omni-space-3); color:var(--omni-ink-strong); font-size:1.05rem; font-weight:760; }
.fh-inbox-group small { color:var(--omni-muted); font-weight:600; }
.fh-inbox-entry { margin:0 0 var(--omni-space-4); }
.fh-inbox-entry > summary { display:flex; flex-wrap:wrap; align-items:center; gap:.6rem; cursor:pointer; list-style:none; }
.fh-inbox-entry > summary::-webkit-details-marker { display:none; }
.fh-inbox-entry__kind { color:var(--omni-faint); font-family:var(--omni-font-mono); font-size:.72rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.fh-inbox-entry__title { flex:1 1 16rem; margin:0; color:var(--omni-ink-strong); font-size:1.15rem; font-weight:740; }
.fh-inbox-entry__meta { color:var(--omni-muted); font-size:.88rem; }
.fh-inbox-entry__body { margin-top:var(--omni-space-3); }
.fh-inbox-entry.is-sent { border-color:color-mix(in oklab,var(--omni-success) 45%,var(--omni-line)); box-shadow:inset 4px 0 0 var(--omni-success),var(--omni-shadow); }
.fh-inbox-entry.is-seen { opacity:.72; }
.fh-inbox-actions { display:flex; flex-wrap:wrap; align-items:center; gap:.65rem; margin-top:.75rem; }
.fh-inbox-status { color:var(--omni-muted); font-size:.9rem; font-weight:650; }
.fh-inbox-unlock { display:flex; flex-wrap:wrap; gap:.6rem; margin:var(--omni-space-3) 0; }
.fh-inbox-unlock input { flex:1 1 12rem; min-height:var(--omni-touch-target-lg); border:var(--omni-border-width) solid var(--omni-line-strong); border-radius:var(--omni-radius-sm); padding:.5rem .9rem; color:var(--omni-ink); font:inherit; letter-spacing:.1em; text-transform:uppercase; background:var(--omni-surface-raised); }
.fh-inbox-empty { color:var(--omni-muted); }

/* Choices: big toggle buttons (56 px), the Deck's choice look. */
.fh-hint { margin:.85rem 0 .3rem; color:var(--omni-muted); font-size:.92rem; font-weight:650; }
.fh-row { display:flex; flex-wrap:wrap; gap:.65rem; margin:.65rem 0; }
.fh-choice {
  display:inline-flex; min-height:var(--omni-touch-target-lg); align-items:center; gap:.65rem; text-align:left;
  border:var(--omni-border-width) solid var(--omni-line-strong); border-radius:var(--omni-radius-sm); padding:.6rem 1.1rem;
  color:var(--omni-ink); font:inherit; font-size:1rem; font-weight:680; background:var(--omni-surface-raised); box-shadow:var(--omni-shadow-sm); cursor:pointer;
  transition:border-color var(--omni-duration) var(--omni-ease),background-color var(--omni-duration) var(--omni-ease),transform var(--omni-duration) var(--omni-ease);
}
.fh-choice:hover:not(:disabled) { border-color:var(--omni-primary); background:var(--omni-primary-soft); }
.fh-choice:active:not(:disabled) { transform:translateY(1px) scale(.985); }
.fh-choice:disabled { opacity:.5; cursor:not-allowed; }
.fh-choice[aria-pressed="true"] { border-color:var(--omni-primary); color:var(--fh-on-accent); background:var(--omni-primary); box-shadow:0 10px 24px -14px color-mix(in srgb,var(--omni-primary) 75%,transparent); }
.fh-vote--up[aria-pressed="true"] { border-color:var(--omni-success); color:var(--fh-on-accent); background:var(--omni-success); }
.fh-vote--down[aria-pressed="true"] { border-color:var(--omni-danger); color:var(--fh-on-accent); background:var(--omni-danger); }
.fh-icon { font-size:1.65rem; line-height:1; }
.fh-option__text { display:flex; flex-direction:column; }
.fh-option__hint { font-size:.85rem; font-weight:450; opacity:.82; }
.fh-recommended { border-radius:999px; padding:.15rem .55rem; color:var(--omni-success); font-size:.72rem; font-weight:800; background:var(--omni-success-soft); }
.fh-choice[aria-pressed="true"] .fh-recommended { color:inherit; background:transparent; }

/* Comment + dictation. */
.fh-comment { position:relative; margin-top:.75rem; }
.fh-comment textarea {
  display:block; width:100%; min-height:var(--omni-touch-target-lg); resize:vertical;
  border:var(--omni-border-width) solid var(--omni-line); border-radius:var(--omni-radius-sm); padding:.85rem 4.25rem .85rem 1rem;
  color:var(--omni-ink); font:inherit; font-size:1rem; background:var(--omni-surface-raised); box-shadow:inset 0 1px 2px color-mix(in srgb,var(--omni-ink-strong) 5%,transparent);
}
.fh-comment textarea::placeholder { color:var(--omni-faint); }
.fh-comment textarea:hover { border-color:var(--omni-line-strong); }
.fh-mic { position:absolute; top:.4rem; right:.4rem; width:3rem; height:3rem; font-size:1.3rem; cursor:pointer; }
.fh-mic:hover { color:var(--omni-primary); }
.fh-mic.is-recording { border-color:var(--omni-danger); color:var(--fh-on-accent); background:var(--omni-danger); animation:fh-pulse 1.2s infinite; }
@keyframes fh-pulse { 50% { opacity:.65; } }

/* Sticky progress + Odoslať OMNI (ADHD rule 6). */
.fh-progress { flex:1; min-width:0; }
.fh-progress__track { height:.62rem; margin-bottom:.4rem; overflow:hidden; border-radius:999px; background:var(--omni-surface-sunken); }
.fh-progress__fill { width:0; height:100%; border-radius:999px; background:linear-gradient(90deg,var(--omni-primary),var(--omni-success)); transition:width var(--omni-duration) var(--omni-ease); }
.fh-progress__text { color:var(--omni-muted); font-size:.95rem; font-weight:680; }
.is-sent .fh-progress__text { color:var(--omni-success); }
.fh-send { min-height:var(--omni-touch-target-lg); padding-inline:1.6rem; font-size:1.05rem; white-space:nowrap; }
.fh-send.ui-button--primary { color:var(--fh-on-accent); }

/* Connector sign-in (access code), shown before the page on the phone. */
.fh-signin { max-width:34rem; margin:var(--omni-space-6) auto; }
.fh-signin form { display:flex; flex-direction:column; gap:.75rem; margin-top:var(--omni-space-4); }
.fh-signin input {
  min-height:var(--omni-touch-target-lg); border:var(--omni-border-width) solid var(--omni-line-strong); border-radius:var(--omni-radius-sm); padding:.6rem 1rem;
  color:var(--omni-ink); font:inherit; font-size:1.3rem; letter-spacing:.12em; text-transform:uppercase; background:var(--omni-surface-raised);
}
.fh-signin .fh-send { width:100%; }
.fh-signin .fh-title { margin:.35rem 0 .5rem; color:var(--omni-ink-strong); font-size:1.6rem; line-height:1.15; letter-spacing:-.03em; }
.fh-signin .fh-intro { color:var(--omni-muted); }

/* Approval item: one pending operation card with its own Allow / Deny. */
.fh-approval { margin:.75rem 0; border:var(--omni-border-width) solid var(--omni-line-strong); border-radius:var(--omni-radius-sm); padding:.85rem 1rem; background:var(--omni-surface-raised); }
.fh-approval__title { margin:.5rem 0 .25rem; color:var(--omni-ink-strong); font-size:1.1rem; font-weight:740; }
.fh-approval__operation { margin:.25rem 0; font-family:var(--omni-font-mono); font-size:.9rem; color:var(--omni-ink); }
.fh-approval__detail { max-height:18rem; overflow:auto; margin:.5rem 0; padding:.6rem .8rem; border-radius:var(--omni-radius-sm); white-space:pre-wrap; font-size:.88rem; background:var(--omni-surface); }
.fh-approval__actions .ui-button { min-height:var(--omni-touch-target-lg); }
.fh-approval__status { margin:.5rem 0 0; color:var(--omni-ink-strong); font-weight:700; }
.fh-approval.is-decided { opacity:.8; box-shadow:inset 4px 0 0 var(--omni-success); }

/* Creative review: a grid of posts with a status each, then one post full
 * screen with its picture, full text and the decision bar. */
.fh-review { margin:.75rem 0; }
/* Deck buttons and alerts set their own display; `hidden` must still hide. */
.fh-review [hidden], .fh-lightbox [hidden] { display:none !important; }
.fh-review__rule { margin-top:0; }
.fh-review__bar { display:flex; flex-wrap:wrap; align-items:center; gap:.65rem; margin:.5rem 0 .85rem; }
.fh-review__counter { flex:1 1 10rem; color:var(--omni-ink-strong); font-weight:760; }
.fh-review__open, .fh-review__rest { min-height:var(--omni-touch-target-lg); }
.fh-review__open.ui-button--primary { color:var(--fh-on-accent); }
.fh-review__confirm { flex-wrap:wrap; align-items:center; gap:.65rem; margin:0 0 .85rem; }
.fh-review__confirm-text { flex:1 1 14rem; }
.fh-review__confirm-yes.ui-button--primary { color:var(--fh-on-accent); }
.fh-review__grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(13rem,1fr)); gap:.85rem; }
.fh-review__tile {
  display:flex; flex-direction:column; min-width:0; overflow:hidden; padding:0; text-align:left;
  border:var(--omni-border-width) solid var(--omni-line-strong); border-radius:var(--omni-radius-sm);
  color:var(--omni-ink); font:inherit; background:var(--omni-surface-raised); box-shadow:var(--omni-shadow-sm); cursor:zoom-in;
  transition:border-color var(--omni-duration) var(--omni-ease),transform var(--omni-duration) var(--omni-ease);
}
.fh-review__tile:hover { border-color:var(--omni-primary); transform:translateY(-2px); }
.fh-review__tile:focus-visible { outline:3px solid var(--omni-focus); outline-offset:2px; }
.fh-review__tile[data-decision="approve"] { border-color:var(--omni-success); box-shadow:inset 0 -4px 0 var(--omni-success),var(--omni-shadow-sm); }
.fh-review__tile[data-decision="reject"] { border-color:var(--omni-danger); }
.fh-review__tile[data-decision="reject"] .fh-review__thumb { opacity:.5; filter:grayscale(.7); }
.fh-review__tile[data-decision="edit"] { border-color:var(--omni-warning); }
.fh-review__tile[data-decision="custom"] { border-color:var(--omni-info); }
.fh-review__media { position:relative; display:block; aspect-ratio:4 / 5; overflow:hidden; background:var(--omni-surface-sunken); }
.fh-review__thumb { display:block; width:100%; height:100%; object-fit:cover; }
.fh-review__textonly { display:-webkit-box; overflow:hidden; padding:2.6rem .9rem .9rem; color:var(--omni-ink); font-size:.9rem; line-height:1.45; white-space:pre-line; -webkit-line-clamp:9; -webkit-box-orient:vertical; }
.fh-review__play { position:absolute; right:.5rem; bottom:.5rem; display:grid; width:2.4rem; height:2.4rem; place-items:center; border-radius:999px; color:var(--omni-on-primary); background:var(--omni-primary); }
.fh-review__badge { position:absolute; top:.5rem; left:.5rem; border-radius:999px; padding:.25rem .6rem; font-size:.78rem; font-weight:800; box-shadow:var(--omni-shadow-sm); }
.fh-review__body { display:flex; flex-direction:column; gap:.2rem; padding:.65rem .8rem .8rem; }
.fh-review__title { color:var(--omni-ink-strong); font-weight:760; line-height:1.3; }
.fh-review__meta { color:var(--omni-muted); font-size:.82rem; font-weight:650; }
.fh-review__snippet { display:-webkit-box; overflow:hidden; color:var(--omni-muted); font-size:.85rem; line-height:1.4; -webkit-line-clamp:3; -webkit-box-orient:vertical; }
/* Status tones, shared by the grid badges and the full-screen badge. */
.fh-review__status--none { color:var(--omni-muted); background:var(--omni-surface-raised); }
.fh-review__status--approve { color:var(--omni-success); background:var(--omni-success-soft); }
.fh-review__status--reject { color:var(--omni-danger); background:var(--omni-danger-soft); }
.fh-review__status--edit { color:var(--omni-warning); background:var(--omni-warning-soft); }
.fh-review__status--custom { color:var(--omni-info); background:var(--omni-info-soft); }

html.fh-lightbox-open, html.fh-lightbox-open body { overflow:hidden; }
.fh-lightbox { position:fixed; inset:0; z-index:1000; display:flex; flex-direction:column; color:var(--omni-ink); background:var(--omni-canvas); outline:none; }
.fh-lightbox[hidden] { display:none; }
.fh-lightbox__top { display:flex; flex-wrap:wrap; align-items:center; gap:.65rem; padding:.65rem 1rem; padding-top:max(.65rem,env(safe-area-inset-top)); border-bottom:var(--omni-border-width) solid var(--omni-line); }
.fh-lightbox__position { color:var(--omni-ink-strong); font-family:var(--omni-font-mono); font-size:1rem; font-weight:800; }
.fh-lightbox__status { min-height:2rem; font-size:.85rem; font-weight:800; }
.fh-lightbox__progress { flex:1 1 auto; color:var(--omni-muted); font-size:.92rem; font-weight:680; text-align:right; }
.fh-lightbox__close { width:var(--omni-touch-target-lg); height:var(--omni-touch-target-lg); font-size:1.4rem; cursor:pointer; }
.fh-lightbox__stage { position:relative; display:grid; flex:1 1 auto; min-height:0; grid-template-columns:minmax(0,1.55fr) minmax(18rem,1fr); gap:var(--omni-space-4); padding:var(--omni-space-4) 4.75rem; }
.fh-lightbox__media { display:flex; min-height:0; align-items:center; justify-content:center; overflow:hidden; border-radius:var(--omni-radius); background:var(--omni-surface-sunken); }
.fh-lightbox__image { display:block; width:100%; height:100%; object-fit:contain; }
.fh-lightbox__textonly { font-size:4rem; opacity:.5; }
.fh-lightbox__panel { display:flex; min-height:0; flex-direction:column; gap:.55rem; overflow:auto; padding-right:.25rem; }
.fh-lightbox__title { margin:0; color:var(--omni-ink-strong); font-size:1.4rem; line-height:1.25; font-weight:770; }
.fh-lightbox__meta { margin:0; color:var(--omni-muted); font-size:.92rem; font-weight:680; }
.fh-lightbox__video { align-self:flex-start; }
.fh-lightbox__text { color:var(--omni-ink); font-size:1.05rem; line-height:1.6; white-space:pre-wrap; overflow-wrap:anywhere; }
.fh-lightbox__note { margin:.25rem 0 0; border-radius:var(--omni-radius-sm); padding:.65rem .85rem; color:var(--omni-ink); background:var(--omni-surface-soft); white-space:pre-wrap; }
.fh-lightbox__nav {
  position:absolute; top:50%; z-index:2; display:grid; width:3.4rem; height:3.4rem; place-items:center; transform:translateY(-50%);
  border:var(--omni-border-width) solid var(--omni-line-strong); border-radius:999px; color:var(--omni-ink-strong); font:inherit; font-size:2rem; line-height:1;
  background:var(--omni-surface-raised); box-shadow:var(--omni-shadow); cursor:pointer;
}
.fh-lightbox__nav:hover:not(:disabled) { border-color:var(--omni-primary); color:var(--omni-primary); }
.fh-lightbox__nav:disabled { opacity:.3; cursor:default; }
.fh-lightbox__nav--prev { left:.75rem; }
.fh-lightbox__nav--next { right:.75rem; }
.fh-lightbox__composer { padding:.75rem 4.75rem 0; border-top:var(--omni-border-width) solid var(--omni-line); }
.fh-lightbox__composer[hidden], .fh-lightbox__done[hidden] { display:none; }
.fh-lightbox__composer-label { display:block; margin-bottom:.35rem; color:var(--omni-ink-strong); font-weight:760; }
.fh-lightbox__field { margin-top:0; }
.fh-lightbox__composer-row { display:flex; flex-wrap:wrap; gap:.6rem; margin-top:.6rem; }
.fh-lightbox__save.ui-button--primary, .fh-lightbox__send.ui-button--primary { color:var(--fh-on-accent); }
.fh-lightbox__decide { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.65rem; padding:.75rem 4.75rem; padding-bottom:max(.75rem,env(safe-area-inset-bottom)); }
.fh-decision { justify-content:center; font-size:1.05rem; }
.fh-decision--approve[aria-pressed="true"] { border-color:var(--omni-success); color:var(--fh-on-accent); background:var(--omni-success); }
.fh-decision--reject[aria-pressed="true"] { border-color:var(--omni-danger); color:var(--fh-on-accent); background:var(--omni-danger); }
.fh-decision--edit[aria-pressed="true"] { border-color:var(--omni-warning); color:var(--fh-on-accent); background:var(--omni-warning); }
.fh-decision--custom[aria-pressed="true"] { border-color:var(--omni-info); color:var(--fh-on-accent); background:var(--omni-info); }
.fh-lightbox__key { border:var(--omni-border-width) solid currentColor; border-radius:.3rem; padding:0 .35rem; font-family:var(--omni-font-mono); font-size:.72rem; opacity:.65; }
.fh-lightbox__keys { margin:0; padding:0 4.75rem .65rem; color:var(--omni-faint); font-size:.82rem; }
.fh-lightbox__done { margin:0 4.75rem .75rem; border-radius:var(--omni-radius-sm); padding:.85rem 1rem; background:var(--omni-success-soft); }
.fh-lightbox__done-text { margin:0; color:var(--omni-success); font-size:1.1rem; font-weight:780; }

@media (max-width:760px) {
  .fh-review__grid { grid-template-columns:repeat(auto-fill,minmax(8.5rem,1fr)); gap:.6rem; }
  .fh-review__open, .fh-review__rest { flex:1 1 100%; }
  .fh-lightbox__top { gap:.45rem; padding-inline:.75rem; }
  .fh-lightbox__progress { flex-basis:100%; order:5; text-align:left; }
  .fh-lightbox__close { margin-left:auto; }
  .fh-lightbox__stage { display:flex; flex-direction:column; gap:.75rem; overflow-y:auto; padding:.75rem; }
  .fh-lightbox__media { flex:0 0 auto; height:min(42vh,24rem); }
  .fh-lightbox__panel { flex:0 0 auto; overflow:visible; }
  .fh-lightbox__title { font-size:1.2rem; }
  .fh-lightbox__nav { top:calc(.75rem + min(42vh,24rem) / 2); width:2.9rem; height:2.9rem; font-size:1.7rem; }
  .fh-lightbox__nav--prev { left:1.1rem; }
  .fh-lightbox__nav--next { right:1.1rem; }
  .fh-lightbox__composer { padding:.65rem .75rem 0; }
  .fh-lightbox__decide { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.5rem; padding:.6rem .75rem; padding-bottom:max(.6rem,env(safe-area-inset-bottom)); }
  .fh-decision { min-height:3.1rem; padding:.45rem .6rem; }
  .fh-decision .fh-icon { font-size:1.3rem; }
  .fh-lightbox__done { margin:0 .75rem .6rem; }
  .fh-lightbox__keys, .fh-lightbox__key { display:none; }
}
/* Touch screens swipe instead of using keys. */
@media (hover:none) {
  .fh-lightbox__keys, .fh-lightbox__key { display:none; }
}

@media (max-width:620px) {
  .fh-page { font-size:1rem; }
  .fh-card { padding:var(--omni-space-4); }
  .fh-choice { flex:1 1 100%; }
  .fh-send { width:100%; }
  .fh-main { padding-bottom:12rem; }
  .omni-appbar .fh-themes { width:100%; justify-content:space-between; }
  .omni-appbar .fh-themes button { flex:1 1 0; justify-content:center; }
}
@media (prefers-reduced-motion:reduce) {
  .fh-mic.is-recording { animation:none; }
  .fh-progress__fill, .fh-card, .fh-choice, .fh-review__tile { transition:none; }
  .fh-review__tile:hover { transform:none; }
}
