:root {
  color-scheme: light;
  --ink: #172126;
  --ink-soft: #34434a;
  --muted: #68767c;
  --paper: #f3f1ea;
  --surface: #fffefa;
  --surface-strong: #fff;
  --line: #d8d4c8;
  --line-strong: #b9b3a4;
  --accent: #b34428;
  --accent-dark: #87321d;
  --accent-solid: #b34428;
  --accent-solid-hover: #87321d;
  --accent-soft: #f8e7df;
  --green: #246447;
  --green-soft: #ddf3e7;
  --green-line: #9ad0b4;
  --green-ink-soft: #356d4b;
  --gold: #8a6100;
  --gold-soft: #fff0c7;
  --gold-ink: #674d00;
  --gold-line: #ead08b;
  --gold-line-strong: #d8b45b;
  --blue-soft: #e5eff4;
  --blue-ink: #245d78;
  --blue-ink-strong: #17445a;
  --blue-ink-soft: #37697f;
  --blue-line: #a9cadb;
  --blue-line-strong: #7eaabd;
  --blue-line-soft: #c7dce7;
  --danger: #942f26;
  --danger-solid: #942f26;
  --danger-soft: #fee4df;
  --danger-line: #e3b4aa;
  --danger-solid-hover: #6f211b;
  --on-solid: #fff;
  --strong-surface: #172126;
  --strong-surface-hover: #263238;
  --strong-ink: #fff;
  --strong-muted: #cbd5d8;
  --header-active-surface: #fff;
  --header-active-ink: #172126;
  --surface-subtle: #faf8f2;
  --surface-muted: #ece9e0;
  --surface-hover: #f7f4ed;
  --surface-overlay: rgba(255, 255, 255, .76);
  --surface-overlay-strong: rgba(255, 255, 255, .86);
  --sticky-surface: rgba(255, 254, 250, .97);
  --sticky-info-surface: rgba(229, 239, 244, .97);
  --hero-background: linear-gradient(135deg, #fffefa 0%, #f4eadf 72%, #edd7c8 100%);
  --rotation-hero-background: linear-gradient(135deg, #fffefa 0%, #edf4f6 58%, #d8e8ed 100%);
  --info-background: linear-gradient(135deg, #f8fcfe, var(--blue-soft));
  --success-background: linear-gradient(135deg, #f4fff8, #e2f4e9);
  --success-background-soft: #f4fff8;
  --warning-background: linear-gradient(135deg, #fffdf5, var(--gold-soft));
  --image-matte: #ece8de;
  --image-stage: #d9d5ca;
  --table-line: #e5e2d9;
  --focus-ring: #2274a5;
  --placeholder: #8a959a;
  --disabled-ink: #a0a5a6;
  --shadow: 0 10px 32px rgba(40, 38, 30, .07);
  --radius: 18px;
  font-family: ui-rounded, "SF Pro Rounded", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

:root[data-theme="dark"] {
  color-scheme: dark;
  --ink: #eef3f5;
  --ink-soft: #cbd6da;
  --muted: #a9b7bc;
  --paper: #10171a;
  --surface: #182226;
  --surface-strong: #202c31;
  --line: #39494f;
  --line-strong: #586b73;
  --accent: #f08a70;
  --accent-dark: #ffad98;
  --accent-solid: #a83e26;
  --accent-solid-hover: #c45235;
  --accent-soft: #44261f;
  --green: #8bd7ad;
  --green-soft: #173629;
  --green-line: #39795a;
  --green-ink-soft: #9eddb9;
  --gold: #f0cb72;
  --gold-soft: #3b3219;
  --gold-ink: #f3d98f;
  --gold-line: #78652d;
  --gold-line-strong: #9b7d32;
  --blue-soft: #18333f;
  --blue-ink: #9bd2ea;
  --blue-ink-strong: #c6e8f5;
  --blue-ink-soft: #acd5e4;
  --blue-line: #426d80;
  --blue-line-strong: #56889e;
  --blue-line-soft: #315564;
  --danger: #ff9c91;
  --danger-solid: #98352f;
  --danger-soft: #40221f;
  --danger-line: #8f4c44;
  --danger-solid-hover: #bd5046;
  --strong-surface: #dbe4e7;
  --strong-surface-hover: #eef4f6;
  --strong-ink: #172126;
  --strong-muted: #4c5b61;
  --header-active-surface: #eef3f5;
  --header-active-ink: #172126;
  --surface-subtle: #1d292e;
  --surface-muted: #26343a;
  --surface-hover: #2a393f;
  --surface-overlay: rgba(32, 44, 49, .82);
  --surface-overlay-strong: rgba(38, 52, 58, .9);
  --sticky-surface: rgba(24, 34, 38, .97);
  --sticky-info-surface: rgba(24, 51, 63, .97);
  --hero-background: linear-gradient(135deg, #192429 0%, #2d2929 72%, #38251f 100%);
  --rotation-hero-background: linear-gradient(135deg, #192429 0%, #1d3038 58%, #203d48 100%);
  --info-background: linear-gradient(135deg, #1b2c34, var(--blue-soft));
  --success-background: linear-gradient(135deg, #182b22, #1b3a2b);
  --success-background-soft: #182b22;
  --warning-background: linear-gradient(135deg, #302b1c, var(--gold-soft));
  --image-matte: #111719;
  --image-stage: #0c1113;
  --table-line: #344249;
  --focus-ring: #66c7ff;
  --placeholder: #93a2a8;
  --disabled-ink: #849298;
  --shadow: 0 10px 32px rgba(0, 0, 0, .26);
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme]) {
    color-scheme: dark;
    --ink: #eef3f5;
    --ink-soft: #cbd6da;
    --muted: #a9b7bc;
    --paper: #10171a;
    --surface: #182226;
    --surface-strong: #202c31;
    --line: #39494f;
    --line-strong: #586b73;
    --accent: #f08a70;
    --accent-dark: #ffad98;
    --accent-solid: #a83e26;
    --accent-solid-hover: #c45235;
    --accent-soft: #44261f;
    --green: #8bd7ad;
    --green-soft: #173629;
    --green-line: #39795a;
    --green-ink-soft: #9eddb9;
    --gold: #f0cb72;
    --gold-soft: #3b3219;
    --gold-ink: #f3d98f;
    --gold-line: #78652d;
    --gold-line-strong: #9b7d32;
    --blue-soft: #18333f;
    --blue-ink: #9bd2ea;
    --blue-ink-strong: #c6e8f5;
    --blue-ink-soft: #acd5e4;
    --blue-line: #426d80;
    --blue-line-strong: #56889e;
    --blue-line-soft: #315564;
    --danger: #ff9c91;
    --danger-solid: #98352f;
    --danger-soft: #40221f;
    --danger-line: #8f4c44;
    --danger-solid-hover: #bd5046;
    --strong-surface: #dbe4e7;
    --strong-surface-hover: #eef4f6;
    --strong-ink: #172126;
    --strong-muted: #4c5b61;
    --header-active-surface: #eef3f5;
    --header-active-ink: #172126;
    --surface-subtle: #1d292e;
    --surface-muted: #26343a;
    --surface-hover: #2a393f;
    --surface-overlay: rgba(32, 44, 49, .82);
    --surface-overlay-strong: rgba(38, 52, 58, .9);
    --sticky-surface: rgba(24, 34, 38, .97);
    --sticky-info-surface: rgba(24, 51, 63, .97);
    --hero-background: linear-gradient(135deg, #192429 0%, #2d2929 72%, #38251f 100%);
    --rotation-hero-background: linear-gradient(135deg, #192429 0%, #1d3038 58%, #203d48 100%);
    --info-background: linear-gradient(135deg, #1b2c34, var(--blue-soft));
    --success-background: linear-gradient(135deg, #182b22, #1b3a2b);
    --success-background-soft: #182b22;
    --warning-background: linear-gradient(135deg, #302b1c, var(--gold-soft));
    --image-matte: #111719;
    --image-stage: #0c1113;
    --table-line: #344249;
    --focus-ring: #66c7ff;
    --placeholder: #93a2a8;
    --disabled-ink: #849298;
    --shadow: 0 10px 32px rgba(0, 0, 0, .26);
  }
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; scroll-padding-top: 138px; }
body { min-height: 100vh; margin: 0; background: var(--paper); color: var(--ink); font-size: 16px; line-height: 1.45; }
a { color: var(--accent-dark); }
button, input, select, textarea { font: inherit; }
button, a, summary, input, select, textarea { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid var(--focus-ring); outline-offset: 3px; }

.site-header { position: sticky; top: 0; z-index: 20; display: flex; min-height: 62px; align-items: center; gap: 1rem; padding: .65rem max(1rem, calc((100vw - 1400px) / 2)); padding-top: max(.65rem, env(safe-area-inset-top)); background: rgba(23, 33, 38, .97); color: white; box-shadow: 0 2px 14px rgba(20, 25, 28, .15); }
.brand { display: inline-flex; min-width: 44px; min-height: 44px; align-items: center; gap: .65rem; color: white; font-weight: 850; letter-spacing: -.01em; text-decoration: none; }
.brand-mark { display: grid; width: 32px; height: 32px; flex: 0 0 32px; place-items: center; border-radius: 10px; background: var(--accent-solid); }
.brand-home-icon { width: 19px; height: 19px; fill: currentColor; }
.site-tabs { display: flex; align-items: center; gap: .2rem; margin-left: auto; padding: .2rem; border: 1px solid rgba(255, 255, 255, .13); border-radius: 11px; background: rgba(255, 255, 255, .06); }
.site-tabs a { display: grid; min-height: 36px; place-items: center; padding: .4rem .65rem; border-radius: 8px; color: #d9e1e4; font-size: .75rem; font-weight: 850; text-decoration: none; white-space: nowrap; }
.site-tabs a:hover { background: rgba(255, 255, 255, .1); color: white; }
.site-tabs a[aria-current="page"] { background: var(--header-active-surface); color: var(--header-active-ink); }
.header-tag { color: #ced7da; font-size: .78rem; font-weight: 700; }
main { width: min(1400px, 100%); margin: 0 auto; padding: 1.1rem 1rem calc(4rem + env(safe-area-inset-bottom)); }

.login-shell { min-height: calc(100vh - 8rem); display: grid; place-items: center; padding: 2rem 1rem; }
.login-panel { width: min(100%, 30rem); display: grid; gap: 1.25rem; }
.login-panel form { align-items: stretch; }
.session-controls { display: flex; align-items: center; gap: .65rem; margin-left: auto; color: #d9e1e4; font-size: .72rem; }
.session-controls button { min-height: 2.25rem; padding: .35rem .65rem; }
.session-controls a { color: #f4f7f8; font-weight: 800; white-space: nowrap; }
.account-shell { width: min(100%, 62rem); margin-inline: auto; }
.account-grid { display: grid; min-width: 0; gap: 1rem; }
.account-card { display: grid; min-width: 0; gap: .75rem; }
.account-card > :first-child, .account-card > :last-child { margin-block: 0; }
.account-readonly { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: .55rem; margin: 0; }
.account-readonly > div { display: grid; min-width: 0; gap: .1rem; padding: .65rem .75rem; border: 1px solid var(--line); border-radius: 11px; background: var(--surface-subtle); }
.account-readonly dt { color: var(--muted); font-size: .67rem; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.account-readonly dd { margin: 0; overflow-wrap: anywhere; font-weight: 850; }
[data-invite-link-shell] { display: grid; min-width: 0; gap: .55rem; padding: .75rem; border: 1px solid var(--blue-line); border-radius: 13px; background: var(--blue-soft); }
[data-invite-link] { min-width: 0; font-family: ui-monospace, "SFMono-Regular", Consolas, monospace; font-size: .74rem; }
.invite-link-actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.invite-link-actions button { width: auto; min-height: 44px; padding: .55rem .8rem; }
[data-invite-copy-status], [data-invite-status] { min-height: 1.2em; margin: 0; color: var(--muted); font-size: .78rem; font-weight: 750; }
[data-invite-copy-status][data-state="copied"], [data-invite-copy-status][data-state="shared"], [data-invite-status][data-state="ready"] { color: var(--green); }
[data-invite-copy-status][data-state="copying"], [data-invite-copy-status][data-state="selected"] { color: var(--accent); }
[data-invite-copy-status][data-state="error"], [data-invite-status][data-state="invalid"] { color: var(--danger); }
.profile-hero { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; padding: clamp(1rem, 3vw, 1.75rem); border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow); }
.appearance-panel { display: grid; grid-template-columns: minmax(220px, .65fr) minmax(440px, 1.35fr); align-items: center; gap: 1rem; margin-top: 0; }
.appearance-copy h2 { margin: .1rem 0 .3rem; }
.appearance-copy p:last-child { margin-bottom: 0; color: var(--muted); }
.appearance-control { display: grid; min-width: 0; gap: .45rem; }
.theme-options { display: grid; min-width: 0; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .45rem; margin: 0; padding: 0; border: 0; }
.theme-options legend { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.theme-options label { display: grid; min-width: 0; min-height: 52px; grid-template-columns: 22px minmax(0, 1fr); align-items: center; gap: .5rem; padding: .55rem .65rem; border: 1px solid var(--line); border-radius: 11px; background: var(--surface-subtle); color: var(--ink); cursor: pointer; }
.theme-options label:has(input:checked) { border-color: var(--accent); background: var(--accent-soft); box-shadow: inset 0 0 0 1px var(--accent); }
.theme-options input { width: 22px; min-height: 22px; height: 22px; margin: 0; accent-color: var(--accent-solid); }
.theme-options span { display: grid; min-width: 0; gap: .05rem; }
.theme-options strong { font-size: .82rem; }
.theme-options small { font-size: .68rem; line-height: 1.25; }
.theme-status { min-height: 1.4em; margin: 0; }
.theme-status[data-state="local-only"] { color: var(--danger); }
.profile-grid, .people-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-bottom: 1rem; }
.people-list { display: grid; gap: .55rem; }
.person-row { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: .75rem; padding: .65rem .75rem; border: 1px solid var(--line); border-radius: 12px; background: var(--surface-subtle); }
.person-row > div { display: grid; min-width: 0; gap: .08rem; }
.person-row span { color: var(--muted); font-size: .78rem; overflow-wrap: anywhere; }
.person-row form { margin: 0; }
.person-row button { white-space: nowrap; }
.person-row > .person-actions { display: flex; width: min(100%, 26rem); align-items: center; justify-content: flex-end; gap: .45rem; flex-wrap: wrap; }
.person-role-change, .person-access-management { width: min(100%, 26rem); }
.person-role-change > summary { display: flex; min-height: 44px; align-items: center; justify-content: center; padding: .5rem .7rem; border: 1px solid var(--blue-line-strong); border-radius: 10px; background: var(--surface-strong); color: var(--blue-ink); font-size: .75rem; list-style: none; }
.person-role-change > summary::-webkit-details-marker { display: none; }
.person-role-change > summary::after { margin-left: .45rem; content: "+"; }
.person-role-change[open] > summary::after { content: "−"; }
.person-role-change[open] { padding: .6rem; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.person-role-change > form { display: grid; gap: .65rem; padding-top: .7rem; }
.role-change-status { min-height: 2.5em; margin: 0; color: var(--muted); font-size: .78rem; font-weight: 700; }
.role-change-status[data-state="ready"] { color: var(--danger); }
.person-access-management { border: 1px solid var(--line); border-radius: 12px; background: var(--surface); }
.person-access-management > summary { display: flex; min-height: 44px; align-items: center; justify-content: space-between; gap: .6rem; padding: .5rem .7rem; color: var(--ink); font-size: .75rem; list-style: none; }
.person-access-management > summary::-webkit-details-marker { display: none; }
.person-access-management > summary strong { white-space: nowrap; }
.person-access-body { display: grid; gap: .65rem; padding: 0 .65rem .65rem; border-top: 1px solid var(--line); }
.person-access-list { display: grid; gap: .4rem; }
.person-access-row { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: .5rem; padding: .5rem; border: 1px solid var(--line); border-radius: 10px; background: var(--surface-subtle); }
.person-access-row > div { display: grid; min-width: 0; }
.person-access-row span { color: var(--muted); font-size: .75rem; }
.person-access-body > form { display: grid; gap: .55rem; }
.assignment-choices { min-width: 0; margin: 0; padding: .6rem; border: 1px solid var(--line); border-radius: 10px; }
.assignment-choices legend { padding: 0 .25rem; font-size: .8rem; font-weight: 850; }
.assignment-choices > .fine { margin: 0 0 .45rem; }
.assignment-choice-list { display: grid; max-height: 18rem; gap: .35rem; overflow-y: auto; }
.assignment-choice { display: grid; min-height: 44px; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: .55rem; padding: .45rem .55rem; border: 1px solid var(--line); border-radius: 9px; background: var(--surface-subtle); }
.assignment-choice input { width: 22px; height: 22px; margin: 0; }
.assignment-choice span { color: var(--ink); font-size: .8rem; font-weight: 750; }
.checkbox-row { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; }
.checkbox-row input { margin-top: .2rem; }
[data-read-only-form] button[type="submit"], [data-read-only-form] input[type="file"] { display: none; }
[data-read-only-form] :disabled { opacity: .78; }

h1, h2, h3, p { overflow-wrap: anywhere; }
h1 { margin: .15rem 0 .65rem; font-size: clamp(2rem, 6vw, 4rem); line-height: .98; letter-spacing: -.05em; }
h2 { margin: 0 0 .8rem; font-size: clamp(1.2rem, 3vw, 1.45rem); letter-spacing: -.02em; }
h3 { margin: .1rem 0 .45rem; font-size: 1rem; }
p { margin: .65rem 0; }
.eyebrow { margin: 0; color: var(--accent); font-size: .72rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.fine, small { color: var(--muted); font-size: .8rem; font-weight: 550; }
.section-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: .8rem; margin-bottom: .75rem; }
.section-heading h2 { margin: .1rem 0 0; }
.section-heading > span, .queue-count { padding: .3rem .55rem; border-radius: 999px; background: var(--surface-muted); color: var(--ink-soft); font-size: .75rem; font-weight: 850; white-space: nowrap; }

.hero { position: relative; overflow: hidden; margin-bottom: 1rem; padding: clamp(1.4rem, 4vw, 3.2rem); border: 1px solid var(--line); border-radius: 24px; background: var(--hero-background); box-shadow: var(--shadow); }
.hero::after { position: absolute; right: -70px; bottom: -100px; width: 260px; height: 260px; border: 40px solid rgba(179, 68, 40, .09); border-radius: 50%; content: ""; pointer-events: none; }
.hero h1 { max-width: 820px; }
.hero > p:not(.eyebrow) { max-width: 680px; color: var(--ink-soft); font-size: clamp(1rem, 2vw, 1.12rem); }
.workflow-steps { position: relative; z-index: 1; display: flex; max-width: 620px; gap: .5rem; margin: 1.2rem 0 0; padding: 0; list-style: none; }
.workflow-steps li { display: flex; flex: 1; align-items: center; gap: .45rem; min-width: 0; padding: .55rem .65rem; border: 1px solid rgba(135, 50, 29, .15); border-radius: 12px; background: var(--surface-overlay); font-size: .8rem; }
.workflow-steps span { display: grid; flex: 0 0 auto; width: 24px; height: 24px; place-items: center; border-radius: 50%; background: var(--strong-surface); color: var(--strong-ink); font-size: .7rem; }

.mobile-resume { display: none; }
.mobile-resume .pill { justify-self: start; }
.mobile-resume-copy { display: grid; min-width: 0; gap: .12rem; }
.mobile-resume-copy strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mobile-resume-action { max-width: 150px; color: var(--accent); font-size: .76rem; font-weight: 900; line-height: 1.15; text-align: right; }

.home-grid { display: grid; gap: 1rem; }
.panel, .success, .dispute { margin: 1rem 0; padding: 1rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); box-shadow: var(--shadow); }
details.site-activity { margin: 1rem 0 0; padding: 0; overflow: hidden; border: 1px solid var(--line); }
.site-activity-summary { display: grid; min-height: 70px; grid-template-columns: minmax(0, 1fr) auto auto; align-items: center; gap: .65rem; padding: .7rem .9rem; color: var(--ink); list-style: none; }
.site-activity-summary::-webkit-details-marker { display: none; }
.site-activity-summary h2 { margin: .08rem 0 0; }
.site-activity-summary::after { content: "+"; color: var(--accent); font-size: 1.25rem; }
.site-activity[open] .site-activity-summary::after { content: "−"; }
.site-activity-glance { color: var(--muted); font-size: .76rem; font-weight: 750; white-space: nowrap; }
.site-activity-glance strong { color: var(--ink); font-size: .95rem; }
.site-activity-body { padding: 0 .9rem .8rem; border-top: 1px solid var(--line); }
.site-activity .performance-grid { margin: .7rem 0 .55rem; }
.site-activity .performance-note, .site-activity .fine { margin-block: .35rem; }
.known-visitor-log { display: grid; gap: .55rem; margin: .8rem 0; padding: .75rem; border: 1px solid var(--blue-line); border-radius: 13px; background: var(--blue-soft); }
.known-visitor-log h3 { margin: .05rem 0 0; color: var(--blue-ink-strong); }
.known-visitor { display: grid; grid-template-columns: minmax(180px, .6fr) minmax(0, 1.4fr); gap: .7rem; padding: .65rem; border: 1px solid var(--blue-line); border-radius: 11px; background: var(--surface-strong); }
.known-visitor > div { display: grid; align-content: start; gap: .1rem; }
.known-visitor > div span { color: var(--muted); font-size: .72rem; }
.known-visitor ol { display: grid; gap: .25rem; margin: 0; padding: 0; list-style: none; }
.known-visitor li { display: flex; justify-content: space-between; gap: .7rem; padding-bottom: .2rem; border-bottom: 1px solid var(--blue-line-soft); color: var(--blue-ink-soft); font-size: .72rem; }
.known-visitor li:last-child { border-bottom: 0; }
.known-visitor time { font-variant-numeric: tabular-nums; white-space: nowrap; }
.collaboration-bar { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: .8rem 0; padding: .75rem .9rem; border: 1px solid var(--blue-line); border-radius: 14px; background: var(--blue-soft); }
.collaboration-bar > div { display: grid; min-width: 0; gap: .12rem; }
.collaboration-bar p, .collaboration-bar strong, .collaboration-bar span { margin: 0; }
.collaboration-bar > div > span { color: var(--blue-ink-soft); font-size: .78rem; }
.reviewer-chip { flex: 0 0 auto; padding: .42rem .62rem; border: 1px solid var(--blue-line-strong); border-radius: 999px; background: var(--surface-strong); color: var(--blue-ink); font-size: .72rem; font-weight: 850; }
.upload-panel { margin-top: 0; }
.recent-batches { min-width: 0; padding: .2rem 0; }
form { display: grid; gap: .85rem; }
label { display: grid; gap: .35rem; color: var(--ink-soft); font-size: .84rem; font-weight: 800; }
input, select, textarea { width: 100%; min-height: 48px; padding: .7rem .8rem; border: 1px solid var(--line-strong); border-radius: 12px; background: var(--surface-strong); color: var(--ink); }
textarea { resize: vertical; }
input[type="file"] { padding: .65rem; }
input[type="file"]::file-selector-button { min-height: 42px; margin: -.25rem .7rem -.25rem -.25rem; padding: .55rem .75rem; border: 0; border-radius: 9px; background: var(--strong-surface); color: var(--strong-ink); font-weight: 850; cursor: pointer; }
input::placeholder { color: var(--placeholder); }
.signed-spread-entry { display: block; width: 100%; min-width: 0; }
.signed-spread-entry input { min-width: 8.5rem; min-height: 56px; padding-inline: 1rem; font-size: 1.12rem; font-variant-numeric: tabular-nums; font-weight: 850; }
.spread-entry-help { color: var(--muted); font-size: .72rem; font-weight: 650; }
.upload { padding: .85rem; border: 1.5px dashed var(--line-strong); border-radius: 14px; background: var(--surface-subtle); }
.upload span { color: var(--muted); font-size: .78rem; font-weight: 600; }
.upload-progress { display: grid; gap: .45rem; padding: .75rem .8rem; border: 1px solid var(--blue-line); border-radius: 12px; background: var(--blue-soft); }
.upload-progress-heading { display: flex; align-items: baseline; justify-content: space-between; gap: .7rem; }
.upload-progress-heading strong { color: var(--blue-ink-strong); font-size: .82rem; }
.upload-progress-heading span { flex: 0 0 auto; color: var(--blue-ink); font-size: .72rem; font-weight: 900; }
.upload-progress progress { width: 100%; height: 10px; overflow: hidden; border: 0; border-radius: 999px; accent-color: #246b8d; }
.upload-progress progress::-webkit-progress-bar { border-radius: 999px; background: var(--blue-line-soft); }
.upload-progress progress::-webkit-progress-value { border-radius: 999px; background: #246b8d; }
.upload-progress[data-state="preparing"] progress:indeterminate { animation: upload-pulse 1.1s ease-in-out infinite alternate; }
.upload-progress[data-state="complete"] { border-color: var(--green-line); background: var(--green-soft); }
.upload-progress[data-state="error"] { border-color: var(--danger-line); background: var(--danger-soft); }
.upload-progress[data-state="error"] .upload-progress-heading strong { color: var(--danger); }
.upload-progress small { line-height: 1.35; }
@keyframes upload-pulse { from { opacity: .45; } to { opacity: 1; } }
button, .button { display: inline-flex; min-height: 50px; align-items: center; justify-content: center; padding: .75rem 1.1rem; border: 0; border-radius: 13px; background: var(--accent-solid); color: var(--on-solid); font-weight: 900; text-align: center; text-decoration: none; cursor: pointer; box-shadow: 0 4px 12px rgba(135, 50, 29, .18); }
button:hover, .button:hover { background: var(--accent-solid-hover); }
button:disabled { cursor: wait; opacity: .72; }

.batch-list { display: grid; gap: .65rem; }
.batch-card { display: grid; min-height: 94px; grid-template-columns: minmax(0, 1fr) auto; align-content: center; gap: .35rem .7rem; padding: .85rem .95rem; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); color: var(--ink); text-decoration: none; transition: border-color .15s, transform .15s; }
.batch-card:hover { border-color: var(--accent); transform: translateY(-1px); }
.batch-card strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.batch-card small { display: flex; min-width: 0; grid-column: 1 / -1; justify-content: space-between; gap: .7rem; }
.batch-card-next { overflow: hidden; color: var(--accent-dark); font-weight: 850; text-overflow: ellipsis; white-space: nowrap; }
.batch-card progress { width: 100%; height: 7px; grid-column: 1 / -1; overflow: hidden; border: 0; border-radius: 999px; accent-color: var(--accent); }
.batch-card progress::-webkit-progress-bar { border-radius: 999px; background: var(--surface-muted); }
.batch-card progress::-webkit-progress-value { border-radius: 999px; background: var(--accent); }
.recent-title-mobile, .recent-count-mobile { display: none; }

.rotation-hero { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(240px, .65fr); align-items: end; gap: 1rem; margin-bottom: 1rem; padding: clamp(1.3rem, 4vw, 2.6rem); border: 1px solid var(--line); border-radius: 24px; background: var(--rotation-hero-background); box-shadow: var(--shadow); }
.rotation-hero h1 { max-width: 760px; margin-bottom: .7rem; }
.rotation-hero p:not(.eyebrow) { max-width: 670px; color: var(--ink-soft); }
.rotation-example { display: grid; gap: .2rem; padding: 1rem; border: 1px solid var(--blue-line); border-radius: 16px; background: var(--surface-overlay); }
.rotation-example strong { font-size: 1.05rem; }
.rotation-example span { color: var(--blue-ink-soft); font-size: .8rem; font-weight: 750; }
.rotation-builder { margin-top: 0; }
.rotation-form-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; }
.rotation-result { margin-top: 1.2rem; }
.rotation-proof { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 1rem; padding: 1rem; border: 1px solid var(--green-line); border-radius: 18px; background: var(--green-soft); }
.rotation-proof h2, .rotation-proof p { margin: .15rem 0; }
.rotation-proof dl { display: grid; grid-template-columns: repeat(3, minmax(88px, 1fr)); gap: .45rem; margin: 0; }
.rotation-proof dl div { display: grid; padding: .55rem .65rem; border: 1px solid rgba(36, 100, 71, .22); border-radius: 11px; background: var(--surface-overlay); }
.rotation-proof dt { color: var(--green); font-size: .66rem; font-weight: 800; text-transform: uppercase; }
.rotation-proof dd { margin: 0; font-size: 1.2rem; font-weight: 900; }
.rotation-game-nav { position: sticky; top: 67px; z-index: 8; display: flex; gap: .35rem; margin: 1rem 0; overflow-x: auto; padding: .45rem; border: 1px solid var(--line); border-radius: 13px; background: var(--sticky-surface); box-shadow: 0 4px 16px rgba(40, 38, 30, .08); scrollbar-width: thin; }
.rotation-game-nav a { display: grid; min-width: 72px; min-height: 42px; flex: 1 0 auto; place-items: center; padding: .45rem .6rem; border: 1px solid var(--line); border-radius: 9px; background: var(--surface-strong); color: var(--ink); font-size: .75rem; font-weight: 850; text-decoration: none; }
.rotation-games { display: grid; gap: 1rem; }
.rotation-game { scroll-margin-top: 132px; padding: 1rem; border: 1px solid var(--line); border-radius: 18px; background: var(--surface); box-shadow: var(--shadow); }
.rotation-tables { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .65rem; }
.rotation-table { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: .35rem; padding: .7rem; border: 1px solid var(--line); border-radius: 13px; background: var(--surface-subtle); }
.rotation-table h3 { grid-column: 1 / -1; margin: 0 0 .25rem; color: var(--accent); font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }
.rotation-team { display: grid; min-width: 0; align-content: center; gap: .15rem; padding: .5rem; border-radius: 10px; background: var(--surface-strong); text-align: center; }
.rotation-team span { color: var(--muted); font-size: .64rem; font-weight: 800; text-transform: uppercase; }
.rotation-team strong { overflow-wrap: anywhere; font-size: .85rem; line-height: 1.25; }
.rotation-team strong small { color: var(--accent); font-size: .72rem; }
.rotation-versus { color: var(--muted); font-size: .64rem; font-weight: 900; text-transform: uppercase; }

.pill { display: inline-flex; width: fit-content; align-items: center; padding: .34rem .62rem; border-radius: 999px; background: var(--surface-muted); color: var(--ink-soft); font-size: .73rem; font-weight: 900; white-space: nowrap; }
.pill.validated { background: var(--green-soft); color: var(--green); }
.pill.needs_review { background: var(--gold-soft); color: var(--gold); }
.pill.sample_ready { background: var(--blue-soft); color: var(--blue-ink); }
.pill.draft_collecting { background: var(--gold-soft); color: var(--gold-ink); }
.pill.needs_photo_retake { background: var(--danger-soft); color: var(--danger); }
.pill.worker_failed { background: var(--danger-soft); color: var(--danger); }
.back { margin: .2rem 0 1rem; }
.back a, .links a, .actions a:not(.button) { font-weight: 800; }
.batch-title { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.batch-title h1 { max-width: 1040px; font-size: clamp(1.8rem, 5vw, 3.1rem); }
.batch-reference { display: block; margin-top: -.35rem; font-size: .7rem; }
.batch-section-nav { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: .5rem; margin: .75rem 0 1rem; }
.batch-section-nav a { display: grid; min-width: 0; min-height: 58px; align-content: center; gap: .04rem; padding: .55rem .7rem; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); color: var(--ink); text-decoration: none; box-shadow: 0 4px 14px rgba(40, 38, 30, .05); }
.batch-section-nav a:hover { border-color: var(--accent); background: var(--surface-hover); }
.batch-section-nav small { color: var(--muted); font-size: .62rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.batch-section-nav strong { overflow: hidden; font-size: .78rem; text-overflow: ellipsis; white-space: nowrap; }
.batch-section-nav .batch-section-primary { border-color: var(--ink); background: var(--strong-surface); color: var(--strong-ink); }
.batch-section-nav .batch-section-primary:hover { background: var(--strong-surface-hover); }
.batch-section-nav .batch-section-primary small { color: var(--strong-muted); }
.stats { display: grid; grid-template-columns: repeat(2, 1fr); gap: .55rem; margin: 1rem 0; }
.stats div { display: grid; min-width: 0; padding: .8rem; border: 1px solid var(--line); border-radius: 14px; background: var(--surface-muted); }
.stats strong { font-size: 1.3rem; line-height: 1.1; }
.stats span { color: var(--muted); font-size: .72rem; font-weight: 700; }
.batch-workspace { display: grid; gap: 1rem; align-items: start; }
.review-main { min-width: 0; }
[data-playoff-totals-scan] table { table-layout: fixed; }
[data-playoff-totals-scan] th, [data-playoff-totals-scan] td { padding: .5rem .2rem; white-space: normal; overflow-wrap: anywhere; font-variant-numeric: tabular-nums; }
[data-playoff-totals-scan] th:first-child { width: 36%; }
.review-main:empty { display: none; }
.review-main:empty + .review-sidebar { grid-column: 1 / -1; }
.review-queue > p { color: var(--muted); }
.review-progress { display: grid; grid-template-columns: auto minmax(120px, 1fr); align-items: center; gap: .8rem; margin: .65rem 0; padding: .75rem; border: 1px solid var(--gold-line); border-radius: 13px; background: var(--gold-soft); }
.review-progress > div { display: grid; }
.review-progress span { color: var(--gold); font-size: .72rem; font-weight: 750; }
.review-progress progress { width: 100%; height: 10px; overflow: hidden; border: 0; border-radius: 999px; accent-color: var(--accent); }
.question-step-controls { display: none; grid-template-columns: auto minmax(100px, 1fr) auto; align-items: center; gap: .45rem; padding: .55rem; border: 1px solid var(--blue-line-soft); border-radius: 13px; background: var(--blue-soft); }
.question-step-button { width: auto; min-width: 92px; min-height: 44px; padding: .45rem .6rem; border: 1px solid var(--blue-line-strong); border-radius: 10px; background: var(--surface-strong); color: var(--blue-ink); font-size: .72rem; box-shadow: none; }
.question-step-button:hover { background: var(--surface-hover); color: var(--blue-ink-strong); }
.question-step-button:disabled { cursor: default; opacity: .45; }
.question-step-position { display: grid; min-width: 0; align-content: center; text-align: center; }
.question-step-position strong { color: var(--blue-ink-strong); }
.question-step-position span { overflow: hidden; color: var(--blue-ink-soft); font-size: .7rem; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }
.question-toolbar { display: flex; align-items: center; justify-content: space-between; gap: .65rem; margin: .7rem 0; }
.question-nav { display: flex; gap: .35rem; overflow-x: auto; padding: .15rem; }
.question-nav a { display: grid; width: 44px; height: 44px; flex: 0 0 44px; place-items: center; border: 1px solid var(--line-strong); border-radius: 10px; background: var(--surface-strong); color: var(--ink); font-size: .78rem; font-weight: 900; text-decoration: none; }
.question-nav a[aria-current="step"] { border-color: var(--ink); background: var(--strong-surface); color: var(--strong-ink); }
.question-actions { display: flex; gap: .35rem; }

.dispute { padding: 0; overflow: clip; }
.question-card { scroll-margin-top: 132px; }
.dispute-head { display: grid; min-height: 58px; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: .7rem; padding: .8rem 1rem; background: #283236; color: white; list-style: none; }
.dispute-head::-webkit-details-marker { display: none; }
.dispute-head::after { content: "+"; color: #dce4e6; font-size: 1.25rem; }
.question-card[open] .dispute-head::after { content: "−"; }
.dispute-head span { padding: .25rem .5rem; border-radius: 999px; background: rgba(255, 255, 255, .14); font-size: .75rem; font-weight: 850; }
.dispute-body { display: grid; min-width: 0; }
.comparison-prompt { display: grid; gap: .45rem; padding: .85rem 1rem; border-bottom: 1px solid var(--blue-line-soft); background: var(--info-background); }
.comparison-prompt h3, .comparison-prompt p { margin: 0; }
.comparison-prompt h3 { color: var(--ink); font-size: 1.05rem; line-height: 1.25; }
.comparison-readings { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; }
.comparison-readings span { display: grid; min-width: 0; gap: .08rem; padding: .55rem .65rem; border: 1px solid var(--blue-line); border-radius: 10px; background: var(--surface-overlay); }
.comparison-readings small { color: var(--blue-ink-soft); font-size: .68rem; font-weight: 750; }
.comparison-readings strong { overflow-wrap: anywhere; color: var(--blue-ink-strong); font-size: .95rem; }
[data-review-workspace] { overflow-anchor: none; }
[data-review-mode-switch], [data-review-mode-status] { display: none !important; }
[data-review-pane]::before { display: block; min-height: 44px; grid-column: 1 / -1; padding: .65rem .75rem; border-bottom: 1px solid var(--blue-line-soft); background: var(--blue-soft); color: var(--blue-ink-strong); font-size: .82rem; font-weight: 900; }
[data-review-pane="evidence"]::before { content: "1 · Check the retained card"; }
[data-review-pane="answer"]::before { content: "2 · Confirm or correct the read"; }
.question-card [data-review-pane="evidence"]::before { content: "1 · Compare both cards"; }
.question-card [data-review-pane="answer"]::before { content: "2 · Choose the supported reading"; }
.review-evidence-column { min-width: 0; background: var(--surface-strong); }
.review-flow-heading { display: flex; min-height: 58px; align-items: center; gap: .65rem; padding: .6rem .75rem; border-bottom: 1px solid var(--blue-line-soft); background: var(--blue-soft); }
.review-flow-heading > span { display: grid; width: 32px; height: 32px; flex: 0 0 32px; place-items: center; border-radius: 10px; background: var(--strong-surface); color: var(--strong-ink); font-size: .78rem; font-weight: 900; }
.review-flow-heading > div { display: grid; min-width: 0; gap: .05rem; }
.review-flow-heading strong { color: var(--blue-ink-strong); font-size: .84rem; }
.review-flow-heading small { color: var(--blue-ink-soft); font-size: .7rem; }
.evidence-grid { display: grid; min-width: 0; grid-template-columns: 1fr; gap: 1px; background: var(--line); }
figure { margin: 0; background: var(--surface-strong); }
figure img { display: block; width: 100%; max-height: 280px; object-fit: contain; background: var(--image-matte); }
.evidence-viewer { min-width: 0; overflow: hidden; border-radius: 11px; background: var(--image-matte); }
.evidence-position { display: flex; min-height: 54px; align-items: center; justify-content: space-between; gap: .7rem; padding: .45rem .65rem; border-bottom: 1px solid var(--line); background: var(--blue-soft); color: var(--blue-ink); font-size: .75rem; }
.evidence-position > div:first-child { display: grid; flex: 0 0 auto; }
.evidence-position strong { font-weight: 900; }
.evidence-position span { font-weight: 750; }
.evidence-position.zone-middle { background: var(--gold-soft); color: var(--gold); }
.evidence-position.zone-bottom { background: var(--accent-soft); color: var(--accent-dark); }
.evidence-actions { display: flex; min-width: 0; align-items: center; justify-content: flex-end; gap: .35rem; }
.evidence-actions a, .evidence-focus { display: inline-flex; width: auto; min-height: 44px; align-items: center; padding: .45rem .65rem; border: 1px solid currentColor; border-radius: 9px; background: var(--surface-overlay); color: inherit; font-size: .7rem; font-weight: 900; line-height: 1.1; text-decoration: none; box-shadow: none; }
.evidence-actions a:hover, .evidence-focus:hover { background: var(--surface-strong); color: inherit; }
.evidence-actions [data-evidence-rotate-left], .evidence-actions [data-evidence-rotate-reset], .evidence-actions [data-evidence-rotate-right] { display: inline-flex; width: auto; min-width: 44px; min-height: 44px; align-items: center; justify-content: center; padding: .35rem .45rem; border: 1px solid currentColor; border-radius: 9px; background: var(--surface-overlay); color: inherit; font-size: .75rem; box-shadow: none; }
.evidence-viewport { height: clamp(330px, 58vh, 620px); overflow: auto; background: var(--image-stage); overscroll-behavior: contain; scrollbar-color: var(--accent) var(--line); }
.evidence-viewport img { display: block; width: 100%; height: auto; max-height: none; object-fit: contain; transform-origin: center; transition: transform .16s ease; }
.source-photo-fallback { display: grid; min-width: 0; gap: .2rem; padding: .5rem .6rem; border-top: 1px solid var(--gold-line); background: var(--gold-soft); }
.source-photo-fallback a { display: inline-flex; width: 100%; min-width: 0; min-height: 44px; align-items: center; justify-content: center; padding: .45rem .6rem; border: 1px solid var(--gold-line); border-radius: 9px; background: var(--surface-overlay); color: var(--gold-ink); font-size: .72rem; font-weight: 900; text-decoration: none; }
.source-photo-fallback a:hover { background: var(--surface-strong); color: var(--gold-ink); }
.source-photo-fallback span { color: var(--gold-ink); font-size: .66rem; line-height: 1.35; overflow-wrap: anywhere; }
figcaption { display: grid; gap: .2rem; min-height: 4rem; padding: .55rem .7rem; font-size: .8rem; }
figcaption span { color: var(--muted); }
.dispute form { align-content: start; padding: 1rem; background: var(--surface); }
.choices { display: grid; gap: .5rem; }
.choice { display: grid; min-height: 58px; grid-template-columns: auto minmax(0, 1fr); align-items: start; gap: .65rem; padding: .7rem .8rem; border: 1px solid var(--line); border-radius: 12px; background: var(--surface-strong); }
.choice:has(input:checked) { border-color: var(--accent); background: var(--accent-soft); box-shadow: 0 0 0 2px rgba(179, 68, 40, .12); }
.choice input { width: 24px; min-height: 24px; height: 24px; margin: 0; accent-color: var(--accent); }
.choice-reading { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: .7rem; }
.choice-reading > span { color: var(--muted); }
.choice-consequence { display: grid; grid-column: 2; gap: .35rem; padding: .65rem .7rem; border: 1px solid var(--blue-line-soft); border-radius: 10px; background: var(--blue-soft); color: var(--blue-ink); font-size: .72rem; line-height: 1.35; }
.choice-consequence.unavailable { border-style: dashed; color: var(--muted); }
.choice-consequence-head { display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
.choice-consequence ul { display: grid; gap: .3rem; margin: .1rem 0; padding: 0; list-style: none; }
.choice-consequence li { display: grid; gap: .05rem; padding-top: .3rem; border-top: 1px solid var(--blue-line-soft); }
.choice-consequence p { margin: 0; }
.choice-fit-badge { padding: .2rem .4rem; border-radius: 999px; background: var(--green-soft); color: var(--green); font-size: .62rem; font-weight: 900; text-transform: uppercase; }
.choice-analysis-note { margin: 0; padding: .65rem .7rem; border: 1px solid var(--gold-line); border-radius: 10px; background: var(--gold-soft); color: var(--gold); font-size: .72rem; font-weight: 750; }
.unmatched-final-panel { display: grid; min-width: 0; gap: .65rem; margin-top: .65rem; padding: .75rem; border: 1px solid var(--blue-line); border-radius: 12px; background: var(--info-background); }
.unmatched-final-panel h3, .unmatched-final-panel p { margin: 0; }
.unmatched-final-facts { display: grid; min-width: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .4rem; }
.unmatched-final-facts > * { display: grid; min-width: 0; gap: .08rem; padding: .5rem .6rem; border: 1px solid var(--blue-line-soft); border-radius: 9px; background: var(--surface-overlay-strong); }
.unmatched-final-facts small { color: var(--blue-ink-soft); font-size: .65rem; font-weight: 800; letter-spacing: .03em; text-transform: uppercase; }
.unmatched-final-facts strong { overflow-wrap: anywhere; color: var(--blue-ink-strong); }
.unmatched-final-net-check { display: grid; min-width: 0; gap: .2rem; padding: .6rem .7rem; border: 1px solid var(--green-line); border-radius: 10px; background: var(--green-soft); color: var(--green); font-size: .72rem; line-height: 1.4; overflow-wrap: anywhere; }
.unmatched-final-net-check small.check { margin-top: .25rem; padding: .35rem .45rem; border: 1px solid var(--gold-line); border-radius: 7px; background: var(--gold-soft); color: var(--gold-ink); }
.unmatched-final-confirmation { display: grid; min-width: 0; min-height: 52px; grid-template-columns: 24px minmax(0, 1fr); align-items: start; gap: .6rem; padding: .65rem .7rem; border: 1px solid var(--gold-line); border-radius: 10px; background: var(--surface); color: var(--ink); cursor: pointer; }
.unmatched-final-confirmation:has(input:checked) { border-color: var(--green-line); background: var(--green-soft); box-shadow: 0 0 0 2px rgba(58, 124, 87, .1); }
.unmatched-final-confirmation input { width: 24px; min-width: 24px; height: 24px; min-height: 24px; margin: 0; accent-color: var(--accent); }
.unmatched-final-confirmation span { min-width: 0; overflow-wrap: anywhere; }
.unmatched-final-consequence { padding: .6rem .7rem; border: 1px solid var(--gold-line); border-radius: 10px; background: var(--gold-soft); color: var(--gold-ink); font-size: .72rem; line-height: 1.4; overflow-wrap: anywhere; }
.unmatched-final-panel button[type="submit"] { min-height: 46px; }

.notice, .danger { margin: .4rem 0 1rem; padding: .8rem 1rem; border: 1px solid var(--gold-line); border-radius: 12px; background: var(--gold-soft); color: var(--gold-ink); }
.audit-details { padding: 0; overflow: hidden; }
.audit-details > summary { display: grid; min-height: 68px; grid-template-columns: minmax(0, 1fr) auto; align-content: center; gap: .08rem .7rem; padding: .7rem .9rem; color: inherit; list-style: none; }
.audit-details > summary::-webkit-details-marker { display: none; }
.audit-details > summary span { color: var(--gold); font-size: .65rem; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.audit-details > summary strong, .audit-details > summary small { grid-column: 1; }
.audit-details > summary::after { grid-column: 2; grid-row: 1 / span 3; align-self: center; content: "+"; font-size: 1.25rem; }
.audit-details[open] > summary::after { content: "−"; }
.audit-details-body { padding: 0 .9rem .8rem; border-top: 1px solid var(--gold-line); }
.flash { position: fixed; top: max(74px, calc(env(safe-area-inset-top) + 62px)); right: max(1rem, env(safe-area-inset-right)); z-index: 50; display: flex; width: min(460px, calc(100vw - 1.5rem)); align-items: center; gap: .7rem; margin: 0; box-shadow: 0 14px 38px rgba(43, 39, 28, .22); }
.flash > span { flex: 1; font-weight: 750; }
.flash .flash-dismiss { width: 44px; min-width: 44px; min-height: 44px; padding: 0; border: 1px solid rgba(103, 77, 0, .25); background: var(--surface-overlay); color: var(--gold-ink); font-size: 1.25rem; box-shadow: none; }
.flash .flash-dismiss:hover { background: var(--surface-strong); color: var(--gold-ink); }
.review-focus-bar:has(.review-save-notice) { flex-wrap: wrap; }
.review-focus-bar:has(.review-save-notice) > strong { display: none; }
.review-focus-bar .flash.review-save-notice { position: static; inset: auto; z-index: auto; width: auto; max-width: 100%; margin: 0 0 0 auto; padding: 0 .2rem 0 .5rem; gap: .25rem; box-shadow: none; font-size: .75rem; }
.review-save-notice > details { min-width: 0; margin: 0; padding: 0; border: 0; }
.review-save-notice > details > summary { display: flex; align-items: center; min-width: max-content; min-height: 44px; cursor: pointer; font-weight: 750; }
.review-save-notice > details > span { display: block; max-width: 36rem; padding: .25rem 0 .5rem; overflow-wrap: anywhere; }
.evidence-dialog-open { overflow: hidden; }
.evidence-dialog { width: min(1100px, 94vw); height: min(940px, 92dvh); max-width: none; max-height: none; margin: auto; padding: 0; overflow: hidden; border: 1px solid #4c575c; border-radius: 18px; background: #20292d; color: white; box-shadow: 0 24px 80px rgba(0, 0, 0, .4); }
.evidence-dialog[open] { display: grid; grid-template-rows: auto minmax(0, 1fr); }
.evidence-dialog::backdrop { background: rgba(10, 15, 18, .78); backdrop-filter: blur(3px); }
.evidence-dialog-toolbar { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: .7rem; padding: .65rem; border-bottom: 1px solid #4c575c; background: #172126; }
.evidence-dialog-heading { display: grid; min-width: 0; }
.evidence-dialog-heading strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.evidence-dialog-heading span { color: #c5d1d5; font-size: .72rem; font-weight: 800; }
.evidence-dialog-controls { display: flex; flex: 0 0 auto; align-items: center; gap: .35rem; }
.evidence-dialog-controls button, .evidence-dialog-controls a { display: inline-flex; width: auto; min-width: 44px; min-height: 44px; align-items: center; justify-content: center; padding: .45rem .65rem; border: 1px solid #64747b; border-radius: 10px; background: #2c393e; color: white; font-size: .75rem; font-weight: 850; text-decoration: none; box-shadow: none; }
.evidence-dialog-controls button:hover, .evidence-dialog-controls a:hover { background: #3b4a50; color: white; }
.evidence-dialog-controls button:disabled { opacity: .4; }
.evidence-dialog-controls .evidence-dialog-close { border-color: #cf745d; background: var(--accent-solid); }
.evidence-dialog-stage { min-width: 0; min-height: 0; overflow: auto; background: var(--image-stage); overscroll-behavior: contain; touch-action: pan-x pan-y pinch-zoom; }
.evidence-dialog-frame { position: relative; margin: 0 auto; }
.evidence-dialog-stage img { position: absolute; top: 0; left: 0; display: block; max-width: none; margin: 0; transform-origin: 0 0; }
.inline-error { position: static; margin-block: .8rem; }
.reciprocal-evidence-grid { display: grid; min-width: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; padding: .65rem; background: var(--surface-subtle); }
.reciprocal-evidence-grid figure { min-width: 0; margin: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: var(--surface-strong); }
.reciprocal-evidence-grid figcaption { display: grid; min-height: 5rem; align-content: center; gap: .1rem; padding: .55rem .65rem; color: var(--muted); font-size: .72rem; }
.reciprocal-evidence-grid figcaption strong { color: var(--ink); }
.reciprocal-evidence-grid .evidence-viewer.compact .evidence-position { display: grid; min-height: 0; gap: .35rem; padding: .4rem; }
.reciprocal-evidence-grid .evidence-viewer.compact .evidence-actions { display: grid; width: 100%; grid-template-columns: 44px 44px minmax(0, 1fr); gap: .2rem; }
.reciprocal-evidence-grid .evidence-viewer.compact .evidence-focus { display: none; }
.reciprocal-evidence-grid .evidence-viewer.compact .evidence-actions a { width: 100%; min-width: 0; justify-content: center; padding-inline: .2rem; font-size: .62rem; text-align: center; }
.reciprocal-evidence-grid .evidence-viewer.compact .evidence-actions:has(> [data-evidence-focus]:not(.evidence-focus)) { grid-template-columns: minmax(84px, auto) 44px 44px minmax(96px, 1fr); }
.reciprocal-evidence-grid .evidence-viewer.compact .evidence-actions > [data-evidence-focus]:not(.evidence-focus) { display: inline-flex; width: 100%; min-width: 0; min-height: 44px; align-items: center; justify-content: center; padding: .35rem .45rem; border: 1px solid currentColor; border-radius: 9px; background: var(--surface-overlay); color: inherit; font-size: .62rem; font-weight: 900; line-height: 1.1; white-space: nowrap; box-shadow: none; }
.reciprocal-evidence-grid .evidence-viewer.compact .evidence-actions:has(> [data-evidence-focus]:not(.evidence-focus)) > a { white-space: nowrap; }
.reciprocal-evidence-grid .evidence-viewer.compact .evidence-viewport { height: clamp(350px, 46dvh, 520px); overflow: auto; }
.reciprocal-evidence-grid .row-evidence-viewer.compact .evidence-viewport img { width: 100%; height: auto; object-fit: initial; }
.reciprocal-evidence-grid .complete-evidence-viewer.compact .evidence-viewport { display: grid; place-items: center; }
.reciprocal-evidence-grid .complete-evidence-viewer.compact .evidence-viewport img { width: 100%; height: 100%; object-fit: contain; }
.paired-row-workspace { display: grid; min-width: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; }
.row-fix-body:has([data-paired-edit-workspace]) { grid-template-columns: minmax(0, 1fr); }
.paired-proof-note { grid-column: 1 / -1; margin: 0; padding: .35rem .5rem; border: 1px solid var(--blue-line-soft); border-radius: 10px; background: var(--blue-soft); color: var(--blue-ink); font-size: .7rem; }
.game-point-warning { grid-column: 1 / -1; min-width: 0; padding: .65rem .75rem; border: 2px solid var(--danger); border-radius: 10px; background: var(--danger-soft); color: var(--danger); font-size: .9rem; line-height: 1.4; overflow-wrap: anywhere; }
.game-point-warning > strong { font-size: 1rem; }
.game-point-warning p { margin: .35rem 0 0; }
.review-evidence-column:has(.game-point-warning) > .review-flow-heading { display: none; }
.paired-card-panel { display: grid; min-width: 0; align-content: start; gap: .4rem; border: 1px solid var(--line); border-radius: 12px; background: var(--surface-strong); }
.paired-card-panel > figure { min-width: 0; margin: 0; }
.paired-card-panel figcaption { display: grid; gap: .1rem; min-height: 44px; padding: .4rem; font-size: .85rem; }
.paired-card-panel figcaption span { display: none; }
.paired-card-panel .row-evidence-viewer .evidence-viewport img { width: 100%; height: auto; max-height: none; object-fit: contain; }
.compact-row-form { display: grid; gap: .45rem !important; padding: .55rem !important; }
.compact-row-form .reciprocal-row-heading { grid-template-columns: minmax(0, 1fr) auto; }
.compact-row-form .reciprocal-row-heading small { font-size: .65rem; }
.reciprocal-row-form.compact-row-form .field-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .3rem; }
.compact-row-form label { min-width: 0; font-size: .68rem; }
.compact-row-form input, .compact-row-form select { min-width: 0; padding-inline: .42rem; }
.compact-row-form .spread-entry-help { display: none; }
.compact-row-reasons { margin: 0; padding: 0; border: 1px solid var(--gold-line-strong); border-radius: 9px; background: var(--gold-soft); }
.compact-row-reasons summary { min-height: 38px; padding: .45rem .55rem; color: var(--gold-ink); font-size: .7rem; font-weight: 850; cursor: pointer; }
.compact-row-reasons .findings { margin: 0; padding: 0 .7rem .55rem 1.5rem; font-size: .7rem; }
.compact-row-clear { margin: 0; color: var(--muted); font-size: .68rem; }
.paired-card-panel .reciprocal-row-heading, .paired-card-panel .field-review-marker { display: none; }
.paired-row-save-form { position: static !important; display: grid; grid-column: 1 / -1; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: .55rem; margin: 0; padding: .6rem !important; border: 1px solid var(--green-line) !important; border-radius: 11px; background: var(--green-soft) !important; }
.paired-row-save-form p { margin: 0; color: var(--ink-soft); font-size: .72rem; font-weight: 750; }
.paired-row-save-form button { width: auto; min-height: 44px; }
.forced-paired-edit-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; padding: .55rem; border-top: 1px solid var(--line); }
.forced-paired-edit-grid > .reciprocal-row-form { border-radius: 10px !important; }
.forced-opponent-workspace { grid-template-columns: minmax(0, 1fr) !important; }
body.review-focus-mode .forced-opponent-review .reciprocal-evidence-grid figcaption,
body.review-focus-mode .forced-score-review .reciprocal-evidence-grid figcaption { min-height: 0; padding: .35rem .4rem; }
body.review-focus-mode .forced-opponent-review .reciprocal-evidence-grid .evidence-position,
body.review-focus-mode .forced-score-review .reciprocal-evidence-grid .evidence-position { grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: .2rem; padding: .25rem; }
body.review-focus-mode .forced-opponent-review .reciprocal-evidence-grid .evidence-actions,
body.review-focus-mode .forced-score-review .reciprocal-evidence-grid .evidence-actions { width: auto; grid-template-columns: 44px 44px minmax(78px, auto); }
body.review-focus-mode .forced-score-single-evidence .row-evidence-viewer .evidence-position { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .2rem; padding: .25rem; font-size: .66rem; line-height: 1.2; }
body.review-focus-mode .forced-score-single-evidence .row-evidence-viewer .evidence-actions { display: grid; width: auto; grid-template-columns: 44px 44px 64px; gap: .2rem; }
body.review-focus-mode .forced-score-single-evidence .row-evidence-viewer .evidence-focus { display: none; }
body.review-focus-mode .forced-score-single-evidence .row-evidence-viewer .evidence-actions a { min-width: 0; justify-content: center; padding-inline: .2rem; font-size: .66rem; text-align: center; }
.forced-opponent-review, .forced-score-review { display: grid; min-width: 0; width: 100%; gap: .5rem; }
.forced-opponent-heading { display: flex; min-width: 0; align-items: flex-start; justify-content: space-between; gap: .7rem; padding: .75rem; border: 1px solid var(--green-line); border-radius: 12px; background: var(--green-soft); }
.forced-opponent-heading > div { display: grid; min-width: 0; gap: .15rem; }
.forced-opponent-heading h3, .forced-opponent-heading p { margin: 0; overflow-wrap: anywhere; }
.forced-opponent-heading p { color: var(--ink-soft); font-size: .76rem; }
.forced-opponent-form { position: static !important; display: grid; min-width: 0; gap: .65rem; margin: 0; padding: .75rem; border: 1px solid var(--green-line) !important; border-radius: 12px; background: var(--green-soft) !important; }
.forced-opponent-form .save-note { margin: 0; }
.forced-opponent-decision { display: grid; min-width: 0; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: .5rem; }
.forced-opponent-decision > span:not([aria-hidden]) { display: grid; min-width: 0; gap: .08rem; padding: .6rem; border: 1px solid var(--line); border-radius: 10px; background: var(--surface-strong); }
.forced-opponent-decision small { color: var(--muted); font-size: .65rem; font-weight: 800; }
.forced-opponent-decision strong { overflow-wrap: anywhere; }
.forced-opponent-decision > span[aria-hidden] { color: var(--green); font-size: 1.25rem; font-weight: 900; }
.forced-opponent-fallback { min-width: 0; border: 1px solid var(--line); border-radius: 11px; background: var(--surface-strong); }
.forced-opponent-fallback > summary { min-height: 46px; padding: .65rem .75rem; color: var(--blue); font-size: .75rem; font-weight: 850; cursor: pointer; }
.forced-opponent-fallback > p { margin: 0; padding: 0 .75rem .65rem; }
.forced-opponent-fallback > .reciprocal-row-form { position: static; border: 0; border-top: 1px solid var(--line); border-radius: 0 0 10px 10px; }
.forced-score-single-evidence { min-width: 0; width: min(100%, 520px); }
.forced-score-single-evidence .evidence-viewer.compact .evidence-viewport { height: clamp(220px, 36dvh, 420px); }
.reciprocal-edit-grid { display: grid; min-width: 0; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; margin-top: .65rem; }
.ambiguous-candidate-row { overflow: hidden; border: 1px solid var(--line); border-radius: 11px; background: var(--surface-strong); }
.ambiguous-candidate-row > summary { display: grid; min-height: 48px; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: .5rem; padding: .45rem .55rem; cursor: pointer; }
.ambiguous-candidate-row > summary span { color: var(--blue-ink); font-size: .72rem; font-weight: 900; }
.ambiguous-candidate-row > summary strong { min-width: 0; overflow: hidden; font-size: .72rem; text-overflow: ellipsis; white-space: nowrap; }
.ambiguous-candidate-row > summary small { color: var(--muted); font-size: .65rem; }
.ambiguous-candidate-row > .reciprocal-row-form { border: 0; border-top: 1px solid var(--line); border-radius: 0; }
.reciprocal-row-form { display: grid; min-width: 0; align-content: start; gap: .65rem; margin: 0; padding: .7rem; border: 1px solid var(--line); border-radius: 12px; background: var(--surface-strong); }
.row-fix-body .reciprocal-row-form { position: static; }
.row-fix-body:has(.reciprocal-edit-grid) { grid-template-columns: 1fr; }
.reciprocal-row-form .field-grid { grid-template-columns: 1fr; gap: .55rem; }
.reciprocal-row-form label { min-width: 0; font-size: .72rem; }
.reciprocal-row-form input, .reciprocal-row-form select { min-width: 0; }
.reciprocal-row-heading { display: grid; min-width: 0; grid-template-columns: minmax(0, 1fr) auto; align-items: start; gap: .35rem; }
.reciprocal-row-heading > div { display: grid; min-width: 0; gap: .08rem; }
.reciprocal-row-heading span:first-child { color: var(--muted); font-size: .62rem; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; }
.reciprocal-row-heading small { color: var(--muted); font-size: .68rem; overflow-wrap: anywhere; }
.reciprocal-row-heading .row-badge { align-self: start; }
.reciprocal-row-issue { display: grid; gap: .25rem; padding: .55rem; border: 1px solid var(--gold-line); border-radius: 9px; background: var(--gold-soft); color: var(--gold-ink); font-size: .7rem; }
.reciprocal-row-issue.clear { border-color: var(--green-line); background: var(--green-soft); color: var(--green); }
.reciprocal-row-issue .findings { margin: 0; padding-left: 1rem; }
.reciprocal-row-form .save-note, .reciprocal-row-form .fine { margin: 0; font-size: .68rem; }
.reciprocal-row-form button[type="submit"] { min-height: 46px; }
.missing-reciprocal-edits { align-items: start; }
.claimed-opponent-row-editor { min-width: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; background: var(--surface-strong); }
.claimed-opponent-row-editor-heading { display: grid; gap: .15rem; padding: .7rem; border-bottom: 1px solid var(--line); }
.claimed-opponent-row-editor-heading > span { color: var(--muted); font-size: .62rem; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; }
.claimed-opponent-row-editor-heading small { color: var(--muted); font-size: .7rem; line-height: 1.4; }
.claimed-opponent-row-options { display: grid; min-width: 0; }
.claimed-opponent-picker { display: grid; gap: .3rem; margin: 0; padding: .55rem .7rem; }
.claimed-opponent-picker[hidden], .claimed-opponent-row-option[hidden] { display: none; }
.claimed-opponent-picker select { width: 100%; min-width: 0; font-size: 16px; }
.reciprocal-edit-grid .compact-row-form .field-review-marker { display: none; }
.reciprocal-edit-grid .compact-row-form .reciprocal-row-heading > div > span,
.reciprocal-edit-grid .compact-row-form .save-note[data-state="clean"],
.reciprocal-edit-grid .compact-row-form .score-consistency[data-state="valid"] { display: none; }
.claimed-opponent-row-editor:has([data-opponent-picker-label]:not([hidden])) [data-opponent-row-option] > summary { display: none; }
.claimed-opponent-row-option { min-width: 0; border-bottom: 1px solid var(--line); }
.claimed-opponent-row-option:last-child { border-bottom: 0; }
.claimed-opponent-row-option > summary { display: grid; min-height: 48px; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: .4rem; padding: .55rem .7rem; cursor: pointer; }
.claimed-opponent-row-option > summary > span:first-child { display: grid; min-width: 0; gap: .08rem; }
.claimed-opponent-row-option > summary small { color: var(--muted); font-size: .68rem; overflow-wrap: anywhere; }
.claimed-opponent-row-option > summary > span:last-child { color: var(--blue); font-size: .68rem; font-weight: 850; }
.claimed-opponent-row-option > .reciprocal-row-form { border: 0; border-top: 1px solid var(--line); border-radius: 0; }
.reciprocal-review-state { display: grid; gap: .15rem; padding: .65rem .75rem; border: 1px solid var(--blue-line-soft); border-radius: 11px; background: var(--blue-soft); color: var(--blue-ink); }
.reciprocal-review-state.pending { border-color: var(--gold-line); background: var(--gold-soft); color: var(--gold-ink); }
.reciprocal-review-state.clear { border-color: var(--green-line); background: var(--green-soft); color: var(--green); }
.reciprocal-review-state span { font-size: .75rem; }
.paired-confirm-form { margin: .65rem; padding: .65rem; border: 1px solid var(--green-line); border-radius: 11px; background: var(--green-soft); }
.paired-confirm-form button { width: 100%; }
.sample-ready { margin: .8rem 0 1rem; padding: 1rem; border: 1px solid var(--blue-line); border-radius: var(--radius); background: var(--info-background); color: var(--ink); box-shadow: var(--shadow); }
.sample-ready[data-review-state="clear"] { border-color: var(--green-line); background: var(--success-background); }
.sample-ready[data-review-state="clear"] .eyebrow, .sample-ready[data-review-state="clear"] .sample-count { color: var(--green); }
.sample-ready[data-review-state="clear"] progress { accent-color: var(--green); }
.sample-ready-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.sample-ready h2 { margin: .12rem 0 .3rem; }
.sample-ready p { margin: .3rem 0; color: var(--ink-soft); }
.sample-count { display: grid; min-width: 64px; min-height: 64px; place-content: center; padding: .35rem; border-radius: 16px; background: var(--surface-strong); color: var(--blue-ink); font-size: .7rem; font-weight: 800; text-align: center; box-shadow: 0 4px 14px rgba(36, 93, 120, .1); }
.sample-count strong { font-size: 1.35rem; line-height: 1; }
.sample-ready progress { width: 100%; height: 10px; margin: .8rem 0; border: 0; border-radius: 999px; accent-color: #2c7a9f; }
.sample-actions { display: grid; gap: .55rem; }
.sample-actions > * { min-width: 0; }
.sample-actions form { margin: 0; }
.draft-status { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin: .8rem 0 1rem; padding: .9rem; border: 1px solid var(--gold-line-strong); border-radius: 14px; background: var(--gold-soft); }
.draft-status > div { display: grid; gap: .15rem; }
.draft-status h2, .draft-status p { margin: 0; }
.draft-status form { flex: 0 0 auto; margin: 0; }
.add-cards-panel { display: grid; gap: .65rem; }
.add-cards-panel > p, .add-cards-panel form { margin: 0; }
.append-actions { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; }
.append-actions button { min-height: 48px; }
.button-secondary { width: 100%; border: 1px solid var(--blue-line-strong); background: var(--surface-strong); color: var(--blue-ink); box-shadow: none; }
.button-secondary:hover { background: var(--surface-hover); color: var(--blue-ink-strong); }
.danger { border-color: var(--danger-line); background: var(--danger-soft); color: var(--danger); }
.crosscheck-recovery { display: grid; gap: .75rem; }
.crosscheck-recovery h2, .crosscheck-recovery p, .crosscheck-recovery form { margin: 0; }
.crosscheck-recovery small { overflow-wrap: anywhere; }
.working { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; padding: .8rem 1rem; border: 1px solid var(--blue-line-soft); border-radius: 12px; background: var(--blue-soft); }
.working::before { content: ""; flex: 0 0 12px; width: 12px; height: 12px; border-radius: 50%; background: #2c7a9f; animation: pulse 1.2s infinite; }
.working [data-reader-progress] { flex: 1 1 12rem; min-width: 0; }
.working [data-reader-meter] { flex-basis: 100%; width: 100%; height: .7rem; }
.working [data-reader-refresh] { flex-basis: 100%; }
.working.is-finished::before { animation: none; }
.photo-attention { display: grid; gap: .8rem; padding: 1rem; border: 1px solid var(--danger-line); border-radius: 14px; background: var(--danger-soft); }
.photo-attention h2 { margin-bottom: .35rem; }
.photo-attention .actions { margin: 0; }
.photo-retake-note { padding: .75rem; border: 1px solid var(--danger-line); border-radius: 10px; background: var(--danger-soft); color: var(--danger); }
@keyframes pulse { 50% { opacity: .25; transform: scale(.7); } }
.success { border-color: var(--green-line); background: var(--success-background-soft); }
.actions { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }
.standings-hero { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: 1rem; padding: clamp(1.2rem, 4vw, 2.4rem); border: 1px solid var(--green-line); border-radius: 22px; background: var(--success-background); box-shadow: var(--shadow); }
.standings-hero.locked { border-color: var(--gold-line); background: var(--warning-background); }
.standings-hero h1 { font-size: clamp(2rem, 6vw, 3.6rem); }
.standings-hero p:not(.eyebrow) { max-width: 760px; color: var(--ink-soft); }
.lock-mark { padding: .4rem .65rem; border-radius: 999px; background: var(--strong-surface); color: var(--strong-ink); font-size: .72rem; font-weight: 900; text-transform: uppercase; }
.podium { display: grid; gap: .7rem; margin: 1rem 0; }
.podium-card { display: grid; gap: .18rem; padding: 1rem; border: 1px solid var(--line); border-radius: 16px; background: var(--surface); box-shadow: var(--shadow); }
.podium-card.rank-1 { border-color: var(--gold-line-strong); background: var(--warning-background); }
.podium-card > strong { font-size: 1.15rem; }
.podium-card > strong a { color: var(--ink); }
.podium-card > div { display: grid; gap: .15rem; margin-top: .6rem; }
.podium-card > div span { color: var(--muted); font-size: .78rem; }
.podium-place { width: fit-content; color: var(--gold); font-size: .7rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.standings-panel .actions { margin-top: 1rem; }
.standings-panel tbody a { color: var(--ink); font-weight: 850; }
.event-results-note { margin: -.35rem 0 1rem; color: var(--muted); font-size: .86rem; }
.event-results-list { display: grid; gap: 1rem; }
.event-result { display: grid; gap: .8rem; }
.event-result-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.event-result-heading h2 { margin-bottom: .15rem; }
.event-result-heading p:not(.eyebrow) { color: var(--muted); font-size: .82rem; }
.event-result .podium { margin: .2rem 0; }
.event-standings { border-top: 1px solid var(--line); }
.event-standings > summary { padding: 1rem 0 .6rem; color: var(--ink); font-weight: 850; cursor: pointer; }
.event-result .actions { margin-top: .2rem; }
.standings-locked { border-color: var(--gold-line); background: var(--surface); }
.player-performance { margin-top: 0; border-color: var(--green-line); background: var(--success-background-soft); }
.player-performance.locked { border-color: var(--gold-line); background: var(--surface); }
.performance-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; margin: .8rem 0; }
.performance-grid > div { display: grid; min-width: 0; padding: .7rem; border: 1px solid var(--line); border-radius: 12px; background: var(--surface-overlay); }
.performance-grid strong { font-size: 1.25rem; line-height: 1.1; }
.performance-grid span { color: var(--muted); font-size: .7rem; font-weight: 750; }
.performance-note { color: var(--muted); font-size: .82rem; font-weight: 650; }
.table-scroll { margin-top: 1rem; overflow-x: auto; border: 1px solid var(--line); border-radius: 12px; background: var(--surface-strong); }
table { width: 100%; border-collapse: collapse; font-size: .86rem; }
th, td { padding: .65rem; border-bottom: 1px solid var(--table-line); text-align: left; white-space: nowrap; }
th { position: sticky; top: 0; background: var(--surface-subtle); color: var(--muted); font-size: .7rem; text-transform: uppercase; }
.findings { padding-left: 1.2rem; color: var(--danger); font-size: .86rem; }
.links { margin: .8rem 0; }
.batch-export { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 1rem; margin: .8rem 0 1rem; padding: .75rem .85rem; border: 1px solid var(--blue-line); border-radius: 14px; background: var(--info-background); box-shadow: 0 6px 18px rgba(36, 93, 120, .07); }
.batch-export-copy { display: grid; min-width: 0; gap: .08rem; }
.batch-export-copy strong { color: var(--ink); }
.batch-export-copy small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.batch-export .button { width: auto; min-height: 44px; flex: 0 0 auto; padding: .55rem .8rem; box-shadow: none; }

.correction-card { display: grid; gap: 1rem; margin: 1rem 0; padding: .8rem; border: 1px solid var(--line); border-radius: 14px; background: var(--surface-strong); }
.correction-card > a { display: block; max-height: 320px; overflow: hidden; border-radius: 10px; background: var(--image-matte); }
.correction-card > a > img { display: block; width: 100%; max-height: 320px; object-fit: contain; }
.identity-card-link { grid-template-columns: minmax(0, 1fr) !important; align-items: start; }
.identity-card-link > div { display: grid; gap: .35rem; }
.identity-card-link > div > * { margin-block: 0; }
.identity-card-link > a.button { width: fit-content; max-height: none; overflow: visible; background: var(--accent-solid); color: var(--on-solid); }
.identity-inline-review { display: block; padding: 0 !important; overflow: clip; }
.manual-field-choice { border: 1px solid var(--line); border-radius: 10px; padding: .65rem .8rem; margin-block: .6rem; }
.manual-field-choice > summary { min-height: 44px; display: flex; align-items: center; font-weight: 750; cursor: pointer; }
.manual-field-choice form { display: grid; gap: .6rem; }
.manual-field-choice form p { margin: 0; }
.manual-field-choice form input:not([type="hidden"]), .manual-field-choice form select { min-height: 48px; font-size: 1.1rem; }
.manual-field-choice button { min-height: 48px; }
.identity-inline-review > summary { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: .65rem; padding: .8rem .9rem; cursor: pointer; }
.identity-inline-review > summary span { color: var(--muted); font-size: .72rem; font-weight: 800; }
.identity-inline-review > summary strong { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.identity-claim-badge { padding: .22rem .45rem; border-radius: 999px; background: var(--surface-muted); }
.identity-claim-badge.yours { border: 1px solid var(--green-line); background: var(--green-soft); color: var(--green); }
.identity-claim-badge.another { border: 1px solid var(--gold-line-strong); background: var(--gold-soft); color: var(--gold-ink); }
.identity-inline-body { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: .8rem; padding: .85rem; border-top: 1px solid var(--line); }
.identity-inline-body > section { min-width: 0; }
.identity-inline-body > section > :first-child { margin-top: 0; }
.inline-identity-form { align-content: start; }
.inline-identity-form button { width: 100%; }
.identity-action-guidance { margin: 0 0 .5rem; font-size: .86rem; }
.identity-diagnostics { margin: .4rem 0; border-top: 1px solid var(--line); color: var(--muted); font-size: .78rem; }
.identity-diagnostics > summary { display: flex; align-items: center; min-height: 44px; cursor: pointer; font-weight: 750; }
.identity-diagnostics > summary::before { content: "+"; margin-right: .5rem; }
.identity-diagnostics[open] > summary::before { content: "−"; }
.identity-diagnostics p { margin: .35rem 0 .65rem; }
.identity-diagnostics .findings { margin-bottom: .65rem; }
.identity-photo-window { display: block; }
.identity-photo-window-label { display: none; }
.identity-review-workspace .card-fields-summary { min-height: 48px; padding-block: .4rem; }
.identity-review-workspace .card-fields-summary h2 { font-size: 1rem; }
.identity-review-workspace .identity-crosscheck, .identity-inline-body .identity-crosscheck { margin-block: .4rem; padding: .55rem; }
.identity-review-workspace .identity-crosscheck p, .identity-inline-body .identity-crosscheck p { margin-bottom: 0; }
.identity-review-workspace .identity-help { padding: .35rem 0; border: 0; background: none; }
.identity-review-workspace .identity-field-help { margin-top: .7rem; }
.identity-review-workspace .identity-save-actions > * { flex: 1 1 auto; min-height: 48px; }
.direct-review { scroll-margin-top: 78px; }
.review-focus-bar { display: none; }
.direct-review > p { color: var(--muted); }
.direct-review-toolbar { display: grid; gap: .55rem; margin: .75rem 0; padding: .65rem; border: 1px solid var(--blue-line-soft); border-radius: 13px; background: var(--blue-soft); }
.direct-review-controls { display: grid; grid-template-columns: auto minmax(90px, 1fr) auto; align-items: center; gap: .45rem; }
.direct-review-step { width: auto; min-width: 96px; min-height: 44px; padding: .45rem .65rem; border: 1px solid var(--blue-line-strong); border-radius: 10px; background: var(--surface-strong); color: var(--blue-ink); font-size: .72rem; box-shadow: none; }
.direct-review-step:hover { background: var(--surface-hover); color: var(--blue-ink-strong); }
.direct-review-step:disabled { cursor: default; opacity: .45; }
.direct-review-position { display: grid; min-width: 0; align-content: center; gap: .05rem; text-align: center; }
.direct-review-position strong { color: var(--blue-ink-strong); }
.direct-review-position [data-direct-review-current-context] { overflow: hidden; color: var(--blue-ink-soft); font-size: .72rem; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }
.direct-review-position [data-direct-review-current-context][data-state="dirty"] { color: var(--danger); }
.direct-review-shortcut { color: var(--blue-ink-soft); font-size: .68rem; font-weight: 700; }
.direct-review-position kbd { padding: .05rem .25rem; border: 1px solid var(--blue-line-strong); border-bottom-width: 2px; border-radius: 4px; background: var(--surface-strong); color: var(--blue-ink); font: inherit; }
.direct-review-nav { display: flex; gap: .45rem; overflow-x: auto; padding: .1rem 0 .2rem; scroll-snap-type: x proximity; scrollbar-width: thin; }
.direct-review-nav a { display: grid; min-width: 116px; min-height: 44px; grid-template-columns: 28px auto; flex: 0 0 auto; align-items: center; gap: .4rem; padding: .4rem .55rem; border: 1px solid var(--blue-line-strong); border-radius: 11px; background: var(--surface-strong); color: var(--blue-ink); font-size: .72rem; font-weight: 850; text-decoration: none; scroll-snap-align: start; }
.direct-review-nav a strong { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 8px; background: var(--blue-soft); }
.direct-review-nav a[aria-current="step"] { border-color: var(--ink); background: var(--strong-surface); color: var(--strong-ink); box-shadow: 0 4px 12px rgba(23, 33, 38, .18); }
.direct-review-nav a[aria-current="step"] strong { background: var(--accent-solid); color: var(--on-solid); }
.direct-review-nav a.has-unsaved { border-color: var(--gold-line-strong); box-shadow: inset 0 0 0 2px rgba(193, 141, 22, .2); }
.direct-review-unsaved { width: 100%; min-height: 44px; grid-column: 1 / -1; padding: .5rem .7rem; border: 1px solid var(--gold-line-strong); border-radius: 10px; background: var(--gold-soft); color: var(--gold-ink); font-size: .75rem; box-shadow: none; }
.direct-review-unsaved:hover { background: var(--gold-line); color: var(--gold-ink); }
.direct-review-enhanced > [data-direct-review]:not([open]) { display: none; }
.direct-review-enhanced > [data-direct-review][open] > .row-fix-summary { display: none; }
.direct-review-enhanced > [data-direct-review][open] { margin-top: .45rem; }
.question-review-enhanced > [data-question]:not([open]) { display: none; }
.question-review-enhanced > [data-question][open] > .dispute-head { display: none; }
.question-review-enhanced > [data-question][open] { margin-top: .45rem; }
/* The active score review and identity scan must scroll without a site header
   covering the retained evidence, list entries or save acknowledgement. */
body.review-focus-mode .site-header,
body:has(.card-review-list) .site-header { position: static; }
body.review-focus-mode main { padding-top: .45rem; }
body.review-focus-mode main > .back,
body.review-focus-mode main > .batch-title,
body.review-focus-mode main > .batch-section-nav,
body.review-focus-mode main > .stats,
body.review-focus-mode main > .batch-export { display: none; }
body.review-focus-mode .batch-workspace { margin-top: 0; }
body.review-focus-mode .batch-workspace .review-sidebar { display: none; }
body.review-focus-mode .direct-review,
body.review-focus-mode .review-queue { margin-top: 0; padding: .45rem; border: 0; box-shadow: none; }
body.review-focus-mode .direct-review > .section-heading,
body.review-focus-mode .direct-review > p,
body.review-focus-mode .review-queue > .section-heading,
body.review-focus-mode .review-queue > .review-progress,
body.review-focus-mode .review-queue > p { display: none; }
body.review-focus-mode .review-focus-bar { display: flex; min-height: 48px; align-items: center; justify-content: space-between; gap: .7rem; margin-bottom: .4rem; padding: .35rem .5rem; border: 1px solid var(--line); border-radius: 11px; background: var(--surface-strong); }
body.review-focus-mode .review-focus-bar a { min-height: 40px; display: inline-flex; align-items: center; font-size: .75rem; font-weight: 850; }
body.review-focus-mode .review-focus-bar strong { color: var(--muted); font-size: .72rem; }
body.review-focus-mode .row-fix-body > .review-evidence-column > .review-flow-heading { display: none; }
.row-fix { display: block; margin: .7rem 0; padding: 0; overflow: clip; scroll-margin-top: 82px; }
.row-fix.has-unsaved { border-color: var(--gold-line-strong); box-shadow: 0 0 0 2px rgba(193, 141, 22, .14); }
.row-fix-summary { display: grid; min-height: 68px; grid-template-columns: 38px minmax(0, 1fr) auto auto; align-items: center; gap: .6rem; padding: .65rem .75rem; color: var(--ink); list-style: none; }
.row-fix-summary::-webkit-details-marker { display: none; }
.row-fix-summary::after { content: "+"; color: var(--muted); font-size: 1.2rem; }
.row-fix[open] .row-fix-summary::after { content: "−"; }
.row-fix-body { display: grid; gap: .8rem; padding: .75rem; border-top: 1px solid var(--line); background: var(--surface); }
.row-fix-evidence { min-width: 0; }
.row-fix-body form { align-content: start; padding: .85rem; border: 1px solid var(--line); border-radius: 12px; background: var(--surface-strong); }
.row-fix-body .review-flow-heading { margin: -.85rem -.85rem 0; border-radius: 11px 11px 0 0; }
.row-fix-body .findings { margin: .2rem 0; }
.quick-confirm { display: flex; min-height: 64px; align-items: center; justify-content: space-between; gap: .7rem; padding: .65rem; border: 1px solid var(--green-line); border-top: 0; border-radius: 0 0 11px 11px; background: var(--green-soft); }
.quick-confirm-copy { display: grid; min-width: 0; }
.quick-confirm-copy span { color: var(--green); font-size: .7rem; font-weight: 850; text-transform: uppercase; }
.quick-confirm-copy strong { color: var(--ink); font-size: .82rem; }
.quick-confirm-copy strong[data-state="needs-edit"] { color: var(--gold); }
.quick-confirm button { width: auto; min-height: 44px; flex: 0 0 auto; padding: .55rem .75rem; border-radius: 10px; font-size: .75rem; }
.save-note { margin: 0; padding: .55rem .65rem; border-radius: 10px; background: var(--blue-soft); color: var(--blue-ink); font-size: .75rem; font-weight: 750; }
.save-note[data-state="dirty"] { border: 1px solid var(--gold-line-strong); background: var(--gold-soft); color: var(--gold-ink); }
.score-consistency { grid-column: 1 / -1; margin: 0; padding: .55rem .65rem; border: 1px solid var(--line); border-radius: 10px; background: var(--surface-subtle); color: var(--muted); font-size: .75rem; font-weight: 800; }
.score-consistency[data-state="valid"] { border-color: var(--green-line); background: var(--green-soft); color: var(--green); }
.score-consistency[data-state="invalid"] { border-color: var(--danger-line); background: var(--danger-soft); color: var(--danger); }
.cards-panel { margin-top: 0; padding: 0; overflow: hidden; }
.cards-panel-summary { display: flex; min-height: 68px; align-items: center; justify-content: space-between; gap: .7rem; padding: .8rem 1rem; color: var(--ink); list-style: none; }
.cards-panel-summary::-webkit-details-marker { display: none; }
.cards-panel-summary h2 { margin: .08rem 0 0; }
.cards-panel-summary > span { color: var(--muted); font-size: .72rem; font-weight: 800; text-align: right; }
.cards-panel-summary::after { content: "+"; color: var(--accent); font-size: 1.25rem; }
.cards-panel[open] .cards-panel-summary::after { content: "−"; }
.cards-panel-body { padding: 0 1rem 1rem; border-top: 1px solid var(--line); }
.cards-panel-body .section-heading { margin-top: .8rem; }
.cards-panel-body h3 { margin-bottom: 0; }
.review-work-panel { display: grid; gap: .8rem; margin: .85rem 0; padding: .8rem; border: 1px solid var(--blue-line); border-radius: 14px; background: var(--info-background); }
.review-work-panel h3, .review-work-panel p { margin-block: 0; }
.review-work-panel > div:first-child { display: grid; gap: .3rem; }
.review-work-panel > div:first-child > p:last-child { color: var(--blue-ink); font-size: .78rem; }
.identity-bulk-confirm { display: grid; gap: .75rem; margin-top: 1rem; padding: .9rem; border: 1px solid var(--blue-line); border-radius: 14px; background: var(--info-background); }
.identity-bulk-confirm > div, .identity-bulk-confirm form { display: grid; gap: .45rem; }
.identity-bulk-confirm h3, .identity-bulk-confirm p { margin: 0; }
.identity-bulk-confirm .confirmation-check { display: flex; align-items: flex-start; gap: .55rem; font-weight: 700; }
.identity-bulk-confirm .confirmation-check input { width: 1.15rem; height: 1.15rem; margin-top: .08rem; flex: 0 0 auto; }
.review-work-actions { display: flex; flex-wrap: wrap; gap: .55rem; }
.review-work-actions form { margin: 0; }
.review-work-actions .button, .review-work-actions button { width: auto; min-height: 44px; }
.card-filter { margin-bottom: .75rem; }
.card-filter span { font-size: .75rem; }
.filter-chips { display: flex; gap: .45rem; margin: .25rem 0 .75rem; overflow-x: auto; padding: .15rem .05rem .25rem; scrollbar-width: thin; }
.filter-chip { min-height: 44px; flex: 0 0 auto; padding: .5rem .75rem; border: 1px solid var(--line-strong); border-radius: 999px; background: var(--surface-strong); color: var(--ink-soft); font-size: .75rem; box-shadow: none; }
.filter-chip:hover { background: var(--surface-hover); }
.filter-chip[aria-pressed="true"] { border-color: var(--ink); background: var(--strong-surface); color: var(--strong-ink); }
.filter-empty { padding: 1rem; border: 1px dashed var(--line-strong); border-radius: 12px; color: var(--muted); text-align: center; }
.card-review-list { display: grid; gap: .5rem; }
.card-repeat-notice { display: grid; grid-column: 1 / -1; gap: .65rem; padding: .75rem; border: 1px solid var(--gold-line-strong); border-radius: 12px; background: var(--gold-soft); }
.card-repeat-notice > div { display: grid; gap: .18rem; }
.card-repeat-notice span { color: var(--ink-soft); font-size: .82rem; line-height: 1.4; }
.card-repeat-notice .button { width: 100%; }
.card-review-link { display: grid; min-width: 0; min-height: 58px; grid-template-columns: minmax(38px, auto) minmax(0, 1fr) auto auto; align-items: center; gap: .55rem; padding: .55rem .65rem; border: 1px solid var(--line); border-radius: 12px; background: var(--surface-strong); color: var(--ink); text-decoration: none; }
.card-review-link:hover { border-color: var(--accent); background: var(--surface-hover); }
.card-review-link.is-reading { cursor: progress; opacity: .72; }
.card-review-link.is-reading:hover { border-color: var(--line); background: var(--surface-strong); }
.seat-badge { display: grid; width: auto; min-width: 38px; height: 38px; place-items: center; padding-inline: .35rem; border-radius: 11px; background: var(--surface-muted); font-weight: 900; white-space: nowrap; }
.card-link-copy { display: grid; min-width: 0; }
.card-link-copy strong, .card-link-copy small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.card-state { padding: .2rem .4rem; border-radius: 999px; background: var(--green-soft); color: var(--green); font-size: .65rem; font-weight: 900; }
.card-state.check { background: var(--gold-soft); color: var(--gold); }
.card-state.read { background: var(--blue-soft); color: var(--blue-ink); }
.card-state.unread { background: var(--surface-muted); color: var(--muted); }
.card-state.claimed { background: var(--blue-soft); color: var(--blue-ink-strong); }
.card-state.claimed-other { background: var(--surface-muted); color: var(--muted); }
.card-review-link.has-card-conflict { border-color: var(--gold-line-strong); border-left-width: 4px; background: var(--gold-soft); }
.card-review-link.has-card-conflict .seat-badge { background: var(--gold); color: var(--on-solid); }
.card-local-conflict { display: grid; grid-column: 1 / -1; gap: .25rem; padding-top: .45rem; border-top: 1px solid var(--gold-line-strong); color: var(--ink); font-size: .82rem; line-height: 1.4; }
.card-math-match { color: var(--green); font-size: .76rem; font-weight: 850; line-height: 1.3; }
.card-total-incomplete { color: var(--danger); font-size: .76rem; font-weight: 850; line-height: 1.3; }
.card-review-link.has-total-difference { border-color: var(--danger); border-left-width: 4px; background: var(--danger-soft); }
.card-review-link.has-total-difference .seat-badge { background: var(--danger-solid); color: var(--on-solid); }
.card-total-difference { color: var(--danger); font-size: .8rem; font-weight: 900; line-height: 1.3; }
.card-total-details { display: grid; grid-column: 1 / -1; min-width: 0; gap: .3rem; padding-top: .45rem; border-top: 1px solid var(--danger-line); color: var(--ink); font-size: .85rem; line-height: 1.45; }
.card-total-comparison { white-space: normal; overflow-wrap: anywhere; }
.card-review-link.has-total-difference:hover { outline: 1px solid var(--danger); outline-offset: 1px; }
.chevron { color: var(--accent); font-size: 1.5rem; }
.method p { color: var(--muted); }
details { margin-top: 1.1rem; padding-top: 1rem; border-top: 1px solid var(--line); }
summary { min-height: 48px; color: var(--muted); font-weight: 800; cursor: pointer; }

.card-nav { position: sticky; top: 62px; z-index: 10; display: grid; grid-template-columns: 1fr auto 1fr; align-items: stretch; gap: 1px; margin: -.15rem 0 1rem; border: 1px solid var(--line); border-radius: 14px; overflow: hidden; background: var(--line); box-shadow: 0 6px 18px rgba(35, 36, 30, .1); }
.card-nav-link, .card-nav-all { display: grid; min-width: 0; min-height: 54px; align-content: center; padding: .45rem .65rem; background: var(--sticky-surface); color: var(--ink); font-size: .8rem; font-weight: 850; line-height: 1.15; text-decoration: none; }
.card-nav-link:last-child { text-align: right; }
.card-nav-link.disabled { color: var(--disabled-ink); }
.card-nav-link small { font-size: .65rem; }
.card-nav-label { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.card-nav-all { min-width: 92px; text-align: center; }
.card-nav-all strong { color: var(--accent); }
.card-next-flagged { display: flex; min-height: 44px; align-items: center; justify-content: space-between; gap: .7rem; margin: -.45rem 0 1rem; padding: .55rem .75rem; border: 1px solid var(--gold-line-strong); border-radius: 12px; background: var(--gold-soft); color: var(--gold-ink); font-size: .82rem; font-weight: 850; text-decoration: none; }
.card-title { align-items: center; }
.card-overview { display: flex; flex-direction: column; }
.card-attention-bar { display: flex; align-items: center; justify-content: space-between; gap: .8rem; margin: .8rem 0 1rem; padding: .8rem; border: 1px solid var(--gold-line-strong); border-radius: 14px; background: var(--gold-soft); box-shadow: var(--shadow); }
.card-attention-bar > div { display: grid; }
.card-attention-bar > div > span { color: var(--gold); font-size: .75rem; font-weight: 750; }
.card-attention-bar .button { min-height: 44px; flex: 0 0 auto; }
.review-claim-note { display: grid; gap: .15rem; margin: .65rem 0; padding: .7rem .8rem; border: 1px solid var(--blue-line); border-radius: 12px; background: var(--blue-soft); color: var(--blue-ink); }
.review-claim-note.another { border-color: var(--gold-line); background: var(--gold-soft); color: var(--gold-ink); }
.review-claim-note span { font-size: .75rem; font-weight: 700; }
.card-workspace { display: grid; gap: 1rem; align-items: start; }
.card-evidence, .card-fields { min-width: 0; }
.card-fields .panel { margin-top: 0; }
.full-card { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
.full-card img { display: block; width: 100%; max-height: 46vh; object-fit: contain; background: var(--image-matte); }
.full-card figcaption { min-height: 0; }
.card-fields-panel { margin: 0; padding: 0; overflow: hidden; border-top: 1px solid var(--line); }
.card-fields-summary { display: flex; min-height: 68px; align-items: center; justify-content: space-between; gap: .7rem; padding: .75rem .9rem; color: var(--ink); list-style: none; }
.card-fields-summary::-webkit-details-marker { display: none; }
.card-fields-summary h2 { margin: .08rem 0 0; }
.card-fields-summary > span { padding: .25rem .5rem; border-radius: 999px; background: var(--surface-muted); color: var(--muted); font-size: .7rem; font-weight: 850; }
.card-fields-summary::after { content: "+"; color: var(--accent); font-size: 1.2rem; }
.card-fields-panel[open] .card-fields-summary::after { content: "−"; }
.card-fields-body { padding: 0 .9rem .9rem; border-top: 1px solid var(--line); }
.identity-help { display: grid; gap: .35rem; margin: .75rem 0; padding: .7rem; border: 1px solid var(--line); border-radius: 12px; background: var(--surface-subtle); }
.identity-help p { margin: 0; color: var(--muted); font-size: .78rem; }
.identity-save-actions { display: flex; flex-wrap: wrap; gap: .55rem; }
.identity-format-guidance { font-size: .85rem; margin: .45rem 0; }
.identity-save-feedback { min-width: 0; margin: .45rem 0; }
.identity-save-feedback [hidden] { display: none; }
.identity-save-state { margin: .4rem 0; overflow-wrap: anywhere; }
.identity-save-state[data-state="error"] { color: var(--danger); border-left: 3px solid currentColor; padding-left: .55rem; }
.identity-stale-comparison { padding: .55rem; border: 1px solid var(--line); border-radius: .5rem; }
.identity-stale-comparison dl { margin: .5rem 0; overflow-wrap: anywhere; }
.identity-stale-comparison dt { font-weight: 700; margin-top: .4rem; }
.identity-stale-comparison dd { margin: .15rem 0; }
.identity-save-feedback button, .identity-save-feedback .button { min-height: 44px; min-width: 44px; white-space: normal; }
.identity-save-feedback [data-identity-save-details] > summary { min-height: 44px; padding: .65rem 0; }
.identity-save-feedback [data-identity-save-detail] { overflow-wrap: anywhere; }
.identity-save-actions button { width: auto; min-height: 48px; }
.field-grid { display: grid; gap: .7rem; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); }
.field-grid input[name="seat"], input[name="opponent_seat"] { text-transform: uppercase; }
.identity-field-grid input[name="acc_number"] { font-variant-numeric: tabular-nums; text-transform: uppercase; }
.field-grid .field-needs-check { padding: .55rem; border: 1px solid var(--gold-line-strong); border-radius: 12px; background: var(--gold-soft); color: var(--gold-ink); }
.field-review-marker { display: block; margin: .12rem 0 .35rem; color: var(--gold); font-size: .72rem; font-weight: 850; }
.computed { display: grid; gap: .25rem; margin: .7rem 0 1rem; padding: .75rem; border: 1px solid var(--blue-line-soft); border-radius: 12px; background: var(--blue-soft); }
.computed span { color: var(--muted); }
.header-total-status { margin: 0; padding: .72rem .8rem; border: 1px solid var(--blue-line-soft); border-radius: 12px; background: var(--blue-soft); color: var(--blue-ink); font-size: .82rem; font-weight: 800; }
.header-total-status[data-state="valid"] { border-color: var(--green-line); background: var(--green-soft); color: var(--green); }
.header-total-status[data-state="mismatch"] { border-color: var(--gold-line-strong); background: var(--gold-soft); color: var(--gold); }
[data-saved-correction] button[type="submit"][data-saved-state="saved"] { border: 1px solid var(--green-line); background: var(--green-soft); color: var(--green); box-shadow: none; }
.written-totals-panel { margin-top: 1rem; overflow: hidden; border: 1px solid var(--line); border-radius: 13px; background: var(--surface-subtle); }
.card-fields-panel.has-total-mismatch, .written-totals-panel.has-total-mismatch { border-color: var(--gold-line-strong); }
.written-totals-panel.has-total-mismatch > summary { background: var(--gold-soft); }
.written-totals-panel.has-total-mismatch > summary > span { color: var(--gold-ink); }
.written-totals-panel > summary { display: flex; min-height: 58px; align-items: center; justify-content: space-between; gap: .7rem; padding: .7rem .8rem; color: var(--ink); list-style: none; }
.written-totals-panel > summary::-webkit-details-marker { display: none; }
.written-totals-panel > summary > div { display: grid; }
.written-totals-panel > summary > span { color: var(--muted); font-size: .72rem; font-weight: 850; }
.written-totals-panel > summary::after { content: "+"; color: var(--accent); font-size: 1.15rem; }
.written-totals-panel[open] > summary::after { content: "−"; }
.written-totals-body { display: grid; gap: .8rem; padding: .8rem; border-top: 1px solid var(--line); background: var(--surface-strong); }
.identity-crosscheck { display: grid; gap: .2rem; margin: .7rem 0; padding: .75rem; border: 1px solid var(--gold-line-strong); border-radius: 12px; background: var(--gold-soft); color: var(--gold-ink); }
.identity-crosscheck .findings, .identity-crosscheck p { margin: .1rem 0; }
[data-header-total-field] input { transition: border-color .15s, background-color .15s, box-shadow .15s; }
[data-header-total-field][data-total-state="match"] input { border-color: var(--green-line); background: var(--green-soft); }
[data-header-total-field][data-total-state="mismatch"] input { border-color: var(--gold-line-strong); background: var(--gold-soft); box-shadow: 0 0 0 2px rgba(193, 141, 22, .12); }
.rows-panel { scroll-margin-top: 130px; }
.identity-stage-rows > p { color: var(--muted); }
.card-local-games { margin: .7rem 0; padding: 0; border: 1px solid var(--line); border-radius: 12px; overflow: hidden; }
.card-local-games > summary { padding: .7rem .8rem; color: var(--ink); }
.card-local-games > .row-review-grid { padding: .7rem; border-top: 1px solid var(--line); }
.card-local-row > form { padding: .75rem; }
.game-jump { display: flex; align-items: center; gap: .5rem; color: var(--muted); white-space: nowrap; }
.game-jump select { width: auto; min-width: 94px; }
.row-review-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 22rem), 1fr)); gap: .55rem; }
.row-review { margin: 0; padding: 0; border: 1px solid var(--line); border-radius: 12px; background: var(--surface-strong); scroll-margin-top: 132px; overflow: hidden; }
.row-review.has-issue { border-color: var(--gold-line-strong); background: var(--gold-soft); }
.row-review summary { display: grid; min-height: 60px; grid-template-columns: 36px minmax(0, 1fr) auto auto; align-items: center; gap: .6rem; padding: .55rem .65rem; color: var(--ink); list-style: none; }
.row-review summary::-webkit-details-marker { display: none; }
.row-review summary::after { content: "+"; color: var(--muted); font-size: 1.2rem; }
.row-review[open] summary::after { content: "−"; }
.game-number { display: grid; width: 40px; min-height: 42px; place-items: center; align-content: center; border-radius: 10px; background: var(--surface-muted); font-weight: 900; line-height: 1; }
.game-number small { color: var(--muted); font-size: .52rem; font-weight: 800; letter-spacing: .02em; text-transform: uppercase; }
.row-summary { display: grid; min-width: 0; overflow-wrap: anywhere; }
.row-badge { padding: .23rem .4rem; border-radius: 999px; background: var(--gold-soft); color: var(--gold); font-size: .66rem; font-weight: 900; }
.row-badge.clear { background: var(--green-soft); color: var(--green); }
.row-badge.human { background: var(--blue-soft); color: var(--blue-ink); }
.row-badge.derived { background: var(--green-soft); color: var(--green); }
.row-review summary .row-badge { display: none; }
.row-review summary .row-badge.human, .row-review summary .row-badge.derived { display: inline-flex; }
.row-review-note { display: grid; gap: .2rem; padding: .65rem .8rem; border-top: 1px solid var(--gold-line); background: var(--gold-soft); color: var(--gold-ink); font-size: .78rem; }
.row-review-note .findings { margin: .15rem 0; }
.human-edit-note { display: flex; align-items: center; justify-content: space-between; gap: .7rem; padding: .7rem .8rem; border: 1px solid var(--blue-line); border-radius: 11px; background: var(--blue-soft); color: var(--blue-ink); font-size: .78rem; }
.constraint-derived-note { display: grid; gap: .12rem; padding: .7rem .8rem; border-top: 1px solid var(--green-line); background: var(--green-soft); color: var(--green); font-size: .78rem; }
.constraint-derived-note small { color: var(--green-ink-soft); }
.row-review > .human-edit-note { border-width: 1px 0 0; border-radius: 0; }
.human-edit-note > div { display: grid; min-width: 0; gap: .1rem; }
.human-edit-note small { color: var(--blue-ink-soft); }
.human-edit-note form { flex: 0 0 auto; margin: 0; }
.button-quiet { width: auto; min-height: 44px; padding: .5rem .7rem; border: 1px solid var(--blue-line-strong); background: var(--surface-strong); color: var(--blue-ink); font-size: .75rem; box-shadow: none; }
.button-quiet:hover { background: var(--surface-hover); color: var(--blue-ink-strong); }
.row-review .evidence-viewer { border-radius: 0; border-top: 1px solid var(--line); }
.opponent-link { display: block; padding: .65rem .85rem; border-top: 1px solid var(--line); background: var(--surface-subtle); font-size: .8rem; font-weight: 850; }
.row-review > form { padding: .85rem; border-top: 1px solid var(--line); }
.saved-rulings, .manage-tournament { padding: 0; overflow: hidden; }
.saved-rulings > summary, .manage-tournament > summary { display: grid; min-height: 66px; grid-template-columns: minmax(0, 1fr) auto; align-content: center; gap: .08rem .7rem; padding: .7rem .9rem; color: var(--ink); list-style: none; }
.saved-rulings > summary::-webkit-details-marker, .manage-tournament > summary::-webkit-details-marker { display: none; }
.saved-rulings > summary span, .manage-tournament > summary span { color: var(--muted); font-size: .68rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.saved-rulings > summary::after, .manage-tournament > summary::after { grid-column: 2; grid-row: 1 / span 2; align-self: center; color: var(--accent); content: "+"; font-size: 1.2rem; }
.saved-rulings[open] > summary::after, .manage-tournament[open] > summary::after { content: "−"; }
.saved-rulings-body, .manage-tournament-body { display: grid; gap: .65rem; padding: .8rem .9rem; border-top: 1px solid var(--line); }
.saved-ruling { display: flex; align-items: center; justify-content: space-between; gap: .8rem; padding: .7rem; border: 1px solid var(--line); border-radius: 11px; background: var(--surface-strong); }
.saved-ruling > div { display: grid; min-width: 0; gap: .12rem; }
.saved-ruling form { flex: 0 0 auto; margin: 0; }
.collaborator-activity { padding: 0; overflow: hidden; }
.collaborator-activity > summary { display: grid; min-height: 66px; grid-template-columns: minmax(0, 1fr) auto; align-content: center; gap: .08rem .7rem; padding: .7rem .9rem; color: var(--ink); list-style: none; }
.collaborator-activity > summary::-webkit-details-marker { display: none; }
.collaborator-activity > summary span { color: var(--muted); font-size: .68rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.collaborator-activity-body { padding: .8rem .9rem; border-top: 1px solid var(--line); }
.collaborator-activity-body ul { display: grid; gap: .45rem; margin: .6rem 0 0; padding: 0; list-style: none; }
.collaborator-activity-body li { display: flex; align-items: center; justify-content: space-between; gap: .7rem; padding: .6rem .7rem; border: 1px solid var(--line); border-radius: 10px; background: var(--surface-strong); }
.collaborator-activity-body li > div { display: grid; min-width: 0; gap: .08rem; }
.collaborator-activity-body li span, .collaborator-activity-body li small { color: var(--muted); font-size: .72rem; }
.manage-tournament { border-color: var(--danger-line); background: var(--danger-soft); }
.manage-tournament-body > p { margin: 0; color: var(--muted); }
.delete-confirmation-status { margin: 0; color: var(--muted); font-size: .78rem; font-weight: 750; }
.delete-confirmation-status[data-state="ready"] { color: var(--danger); }
.button-danger { background: var(--danger-solid); color: var(--on-solid); box-shadow: 0 4px 12px rgba(148, 47, 38, .18); }
.button-danger:hover { background: var(--danger-solid-hover); }
.uploaded-photo-management { margin-top: 1rem; padding: 0; overflow: hidden; border-color: var(--danger-line); background: var(--danger-soft); }
.uploaded-photo-management > summary { display: grid; min-height: 66px; grid-template-columns: minmax(0, 1fr) auto; align-content: center; gap: .08rem .7rem; padding: .7rem .9rem; color: var(--ink); list-style: none; }
.uploaded-photo-management > summary::-webkit-details-marker { display: none; }
.uploaded-photo-management > summary span { color: var(--muted); font-size: .68rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.uploaded-photo-management > summary::after { grid-column: 2; grid-row: 1 / span 2; align-self: center; color: var(--danger); content: "+"; font-size: 1.2rem; }
.uploaded-photo-management[open] > summary::after { content: "−"; }
.uploaded-photo-management-body { display: grid; gap: .8rem; padding: .9rem; border-top: 1px solid var(--danger-line); }
.uploaded-photo-management-body > p { margin: 0; color: var(--muted); }
.uploaded-photo-management-body form { display: grid; gap: .7rem; }
.upload-removal-confirmation { display: flex; align-items: flex-start; gap: .55rem; padding: .7rem; border: 1px solid var(--danger-line); border-radius: 10px; background: var(--surface-strong); }
.upload-removal-confirmation input { flex: 0 0 auto; width: 22px; height: 22px; margin: 0; }

@media (min-width: 520px) {
  .sample-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .card-review-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .card-repeat-notice { grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
  .card-repeat-notice .button { width: auto; }
  .row-review summary { grid-template-columns: 36px minmax(0, 1fr) auto auto; }
  .row-review summary .row-badge { display: inline-flex; }
}

@media (min-width: 720px) {
  main { padding: 1.6rem 1.3rem 5rem; }
  .stats { grid-template-columns: repeat(4, 1fr); }
  .evidence-grid { grid-template-columns: 1fr 1fr; }
  .reciprocal-evidence-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
  figure img { height: 240px; }
  .correction-card:not(.row-fix) { grid-template-columns: minmax(240px, .8fr) 1fr; align-items: start; }
  .row-review[open] { grid-column: 1 / -1; }
  .row-review[open] form .field-grid { grid-template-columns: repeat(3, 1fr); }
  .card-nav-link, .card-nav-all { min-height: 58px; padding-inline: 1rem; }
  .podium { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .podium-card.rank-1 { transform: translateY(-.35rem); }
  .performance-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

@media (min-width: 1000px) {
  .home-grid { grid-template-columns: minmax(340px, .72fr) minmax(0, 1.28fr); align-items: start; }
  .upload-panel { position: sticky; top: 82px; }
  .batch-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .card-workspace { grid-template-columns: minmax(360px, .78fr) minmax(0, 1.22fr); }
  .card-evidence { position: sticky; top: 136px; }
  .full-card img { height: min(70vh, 820px); max-height: none; }
}

@media (min-width: 1120px) {
  .batch-workspace { grid-template-columns: minmax(0, 1.7fr) minmax(340px, .75fr); }
  .review-sidebar { position: sticky; top: 82px; min-width: 0; }
  .review-sidebar .card-review-list { max-height: 68vh; grid-template-columns: 1fr; overflow-y: auto; padding-right: .2rem; overscroll-behavior: contain; }
  .batch-workspace:has(.review-main:not(:empty)) { grid-template-columns: minmax(0, 1fr); }
  .batch-workspace:has(.review-main:not(:empty)) .review-sidebar { position: static; }
  .batch-workspace:has(.review-main:not(:empty)) .review-sidebar .card-review-list { max-height: none; grid-template-columns: repeat(3, minmax(0, 1fr)); overflow: visible; padding-right: 0; }
  .review-main:empty + .review-sidebar { position: static; }
  .review-main:empty + .review-sidebar .card-review-list { max-height: none; grid-template-columns: repeat(3, minmax(0, 1fr)); overflow: visible; padding-right: 0; }
  .dispute-body { grid-template-columns: minmax(0, 1.55fr) minmax(300px, .65fr); }
  .comparison-prompt { grid-column: 1 / -1; }
  .question-card .review-evidence-column { grid-column: 1; }
  .question-card .review-answer-card { grid-column: 2; }
  .question-card .evidence-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
  .dispute form { border-left: 1px solid var(--line); }
  .row-fix-body { grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr); align-items: start; }
  .row-fix-body form { position: sticky; top: 82px; }
  .evidence-viewport { height: min(68vh, 760px); }
  .direct-review-toolbar { position: sticky; top: 72px; z-index: 9; grid-template-columns: 1fr; align-items: center; box-shadow: 0 6px 18px rgba(35, 36, 30, .1); }
}

@media (max-width: 999px) {
  .appearance-panel { grid-template-columns: 1fr; }
  .header-tag, .session-controls > span, .session-controls button[formaction="/logout-all"] { display: none; }
  .session-controls { gap: .4rem; margin-left: 0; }
  .session-controls button { width: auto; }
}

@media (max-width: 719px) {
  .reciprocal-evidence-grid, .reciprocal-edit-grid { grid-template-columns: 1fr; }
  .paired-row-save-form { grid-template-columns: 1fr; }
  .paired-row-save-form button { width: 100%; }
  .reciprocal-evidence-grid .evidence-viewer.compact .evidence-actions:has(> [data-evidence-focus]:not(.evidence-focus)) { grid-template-columns: repeat(2, minmax(44px, 1fr)); }
  .reciprocal-evidence-grid .evidence-viewer.compact .evidence-actions:has(> [data-evidence-focus]:not(.evidence-focus)) > [data-evidence-focus]:not(.evidence-focus), .reciprocal-evidence-grid .evidence-viewer.compact .evidence-actions:has(> [data-evidence-focus]:not(.evidence-focus)) > a { grid-column: 1 / -1; }
}

@media (max-width: 519px) {
  .identity-inline-body { grid-template-columns: 1fr; }
  .identity-inline-review > summary { grid-template-columns: auto minmax(0, 1fr); }
  .identity-claim-badge { grid-column: 1 / -1; justify-self: start; }
  .site-header { padding-inline: .8rem; flex-wrap: wrap; gap: .5rem; }
  .brand-label { display: none; }
  .site-tabs { gap: .1rem; }
  .site-tabs a { min-height: 40px; padding-inline: .5rem; font-size: .7rem; }
  .header-tag { display: none; }
  .session-controls { gap: .3rem; margin-left: auto; }
  .session-controls > span, .session-controls > a:nth-of-type(2), .session-controls button[formaction="/logout-all"] { display: none; }
  .session-controls button { width: auto; padding-inline: .45rem; font-size: .68rem; }
  .profile-hero { display: grid; }
  .profile-hero .pill { grid-row: 1; justify-self: start; }
  .profile-grid, .people-grid { grid-template-columns: 1fr; }
  .theme-options { grid-template-columns: 1fr; }
  .identity-save-actions, .review-work-actions { display: grid; grid-template-columns: 1fr; }
  .identity-save-actions button, .review-work-actions .button, .review-work-actions button, .review-work-actions form { width: 100%; }
  .person-row { display: grid; }
  .person-row > .person-actions, .person-role-change, .person-access-management { width: 100%; justify-content: stretch; }
  .person-row form, .person-row button { width: 100%; }
  .evidence-dialog { width: 100vw; height: 100dvh; border: 0; border-radius: 0; }
  .evidence-dialog-toolbar { display: grid; padding-top: max(.65rem, env(safe-area-inset-top)); }
  .evidence-dialog-controls { display: grid; width: 100%; grid-template-columns: repeat(7, minmax(40px, 1fr)); overflow: visible; padding-bottom: .1rem; }
  .evidence-dialog-controls button, .evidence-dialog-controls a { width: 100%; min-width: 0; padding-inline: .35rem; }
  main { padding-inline: .75rem; }
  main:has(> .mobile-resume) { display: flex; flex-direction: column; }
  main:has(> .mobile-resume) .hero { display: none; }
  .hero { padding: 1.25rem 1rem; border-radius: 18px; }
  .mobile-resume { display: grid; min-height: 72px; grid-template-columns: minmax(0, 1fr) auto; order: -1; align-items: center; gap: .25rem .75rem; margin: -.25rem 0 1rem; padding: .8rem .9rem; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); color: var(--ink); text-decoration: none; box-shadow: var(--shadow); }
  .mobile-resume-copy { grid-column: 1; grid-row: 1 / span 2; }
  .mobile-resume .pill { grid-column: 2; grid-row: 1; }
  .mobile-resume-action { grid-column: 2; grid-row: 2; justify-self: end; }
  main:has(> .mobile-resume) .recent-batches { order: 1; }
  main:has(> .mobile-resume) .upload-panel { order: 2; }
  main:has(> .mobile-resume) .batch-card-latest { display: none; }
  main:has(> .mobile-resume) .recent-batches.no-other-batches { display: none; }
  .rotation-hero { grid-template-columns: 1fr; padding: 1.2rem 1rem; border-radius: 18px; }
  .rotation-form-row { grid-template-columns: 1fr; }
  .rotation-proof { grid-template-columns: 1fr; }
  .rotation-proof dl { width: 100%; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .rotation-game-nav { top: 63px; margin-inline: -.35rem; }
  .rotation-game { padding: .8rem; }
  .rotation-tables { grid-template-columns: 1fr; }
  .rotation-table { min-height: 118px; }
  .recent-title-desktop, .recent-count-desktop { display: none; }
  .recent-title-mobile, .recent-count-mobile { display: inline; }
  .batch-card small { display: grid; gap: .1rem; }
  .batch-export { display: grid; gap: .65rem; padding: .8rem; }
  .batch-export-copy small { white-space: normal; }
  .batch-export .button { width: 100%; }
  .site-activity-summary { grid-template-columns: minmax(0, 1fr) auto; }
  .site-activity-glance { grid-column: 1; grid-row: 2; white-space: normal; }
  .site-activity-summary::after { grid-column: 2; grid-row: 1 / span 2; }
  .known-visitor { grid-template-columns: 1fr; }
  .known-visitor li { display: grid; gap: .05rem; }
  .collaboration-bar { display: grid; }
  .reviewer-chip { justify-self: start; }
  .workflow-steps { gap: .3rem; }
  .workflow-steps li { display: grid; justify-items: center; padding: .5rem .2rem; text-align: center; }
  .batch-title { display: grid; gap: .4rem; }
  .batch-title .pill { grid-row: 1; }
  .batch-reference { display: none; }
  .batch-section-nav { display: flex; gap: .45rem; margin-inline: -.75rem; overflow-x: auto; padding: .1rem .75rem .35rem; scroll-padding-inline: .75rem; scroll-snap-type: x proximity; scrollbar-width: none; }
  .batch-section-nav::-webkit-scrollbar { display: none; }
  .batch-section-nav a { min-width: 132px; min-height: 56px; flex: 0 0 auto; scroll-snap-align: start; }
  .batch-section-nav .batch-section-primary { min-width: min(220px, 72vw); }
  .batch-workspace .review-sidebar { order: -1; }
  .batch-workspace:has(.review-main:not(:empty)) .review-sidebar { order: 0; }
  button, .button { width: 100%; }
  .actions { display: grid; }
  .card-nav { top: 61px; margin-inline: -.15rem; }
  .card-nav-link { font-size: .74rem; }
  .card-nav-all { min-width: 84px; }
  .card-title { display: grid; grid-template-columns: minmax(0, 1fr); }
  .card-title .pill { grid-row: auto; justify-self: start; }
  .card-overview > .card-attention-bar { order: 0; }
  .card-overview > .card-workspace { order: 1; }
  .card-overview > .player-performance { order: 2; margin-top: 1rem; }
  .full-card img { max-height: 62dvh; }
  .card-attention-bar { display: grid; }
  .card-attention-bar .button { width: 100%; }
  .game-jump { display: grid; gap: .15rem; }
  .question-toolbar { display: none; }
  .question-step-controls { position: sticky; top: 62px; z-index: 9; display: grid; margin-inline: -.35rem; background: var(--sticky-info-surface); box-shadow: 0 6px 18px rgba(35, 36, 30, .12); }
  .question-step-button { width: auto; min-width: 72px; padding-inline: .35rem; }
  .review-progress { grid-template-columns: 1fr; gap: .45rem; }
  .dispute-head { grid-template-columns: 1fr auto; }
  .dispute-head span { width: fit-content; }
  .dispute-head strong { grid-column: 1 / -1; grid-row: 2; }
  .dispute-head::after { grid-column: 2; grid-row: 1; }
  .choice-reading { display: grid; gap: .1rem; }
  .choice-consequence { grid-column: 1 / -1; }
  .row-review summary { grid-template-columns: 36px minmax(0, 1fr) auto; }
  .row-review summary::after { grid-column: 3; }
  .row-review.has-human-edit summary .row-badge, .row-review summary .row-badge.derived { display: inline-flex; width: fit-content; grid-column: 2; grid-row: 2; }
  .human-edit-note, .saved-ruling { display: grid; }
  .collaborator-activity-body li { display: grid; }
  .human-edit-note .button-quiet, .saved-ruling .button-quiet { width: 100%; }
  .sample-ready-head { display: grid; grid-template-columns: minmax(0, 1fr) auto; }
  .sample-actions { grid-template-columns: 1fr; }
  .draft-status { display: grid; }
  .draft-status form, .draft-status button { width: 100%; }
  .append-actions { grid-template-columns: 1fr; }
  .direct-review:has(.direct-review-toolbar) { padding-bottom: 5.75rem; }
  .direct-review input, .direct-review select, .direct-review textarea, .direct-review button, .direct-review a { scroll-margin-bottom: 7rem; }
  .direct-review-toolbar { position: fixed; right: max(.35rem, env(safe-area-inset-right)); bottom: max(.35rem, env(safe-area-inset-bottom)); left: max(.35rem, env(safe-area-inset-left)); top: auto; z-index: 19; margin: 0; padding: .45rem; background: var(--sticky-info-surface); box-shadow: 0 8px 26px rgba(35, 36, 30, .2); }
  .direct-review-nav { display: none; }
  .direct-review-shortcut { display: none; }
  .direct-review-controls { grid-template-columns: minmax(58px, auto) minmax(76px, 1fr) minmax(88px, auto); gap: .25rem; }
  .direct-review-step { min-width: 0; padding-inline: .3rem; font-size: .65rem; }
  .direct-review-unsaved { position: fixed; right: .75rem; bottom: calc(64px + max(.35rem, env(safe-area-inset-bottom))); left: .75rem; z-index: 18; width: auto; box-shadow: 0 8px 24px rgba(103, 77, 0, .24); }
  .quick-confirm { display: grid; }
  .quick-confirm button { width: 100%; }
  .unmatched-final-panel { width: 100%; padding: .65rem; overflow: hidden; }
  .unmatched-final-panel form, .unmatched-final-panel button[type="submit"], .unmatched-final-panel .button-quiet { width: 100%; }
  .question-card { scroll-margin-top: 136px; }
  .question-card .comparison-prompt { padding: .75rem; }
  .question-card .comparison-readings { gap: .35rem; }
  .question-card .evidence-grid { display: grid; grid-template-columns: 1fr; gap: .55rem; overflow: visible; padding: .5rem; }
  .question-card .evidence-grid figure { min-width: 0; width: 100%; overflow: hidden; border: 1px solid var(--line); border-radius: 12px; }
  .reciprocal-evidence-grid { grid-template-columns: 1fr; gap: .55rem; overflow: visible; padding: .35rem; }
  .reciprocal-evidence-grid figcaption { min-height: 5.4rem; padding: .4rem; font-size: .65rem; }
  .reciprocal-evidence-grid .evidence-viewer.compact .evidence-viewport { height: min(28dvh, 240px); }
  .forced-opponent-heading { display: grid; padding: .6rem; }
  .forced-opponent-heading .row-badge { justify-self: start; }
  .row-fix-body .forced-opponent-form { padding: .6rem; }
  .forced-opponent-decision { gap: .3rem; }
  .forced-opponent-decision > span:not([aria-hidden]) { padding: .45rem; }
  .reciprocal-edit-grid { gap: .35rem; }
  .reciprocal-row-form { gap: .5rem; padding: .5rem; }
  .claimed-opponent-row-editor-heading { padding: .5rem; }
  .claimed-opponent-row-option > summary { min-height: 44px; padding: .45rem .5rem; }
  .reciprocal-row-heading { grid-template-columns: 1fr; }
  .reciprocal-row-heading .row-badge { justify-self: start; }
  .question-card .evidence-viewport { height: min(36dvh, 310px); }
  .row-fix { scroll-margin-top: 136px; }
  .row-fix .evidence-viewport { height: min(42dvh, 360px); }
  body.review-focus-mode .forced-opponent-review .reciprocal-evidence-grid .evidence-viewport,
  body.review-focus-mode .forced-score-review .reciprocal-evidence-grid .evidence-viewport { height: clamp(190px, 27dvh, 250px); }
  body.review-focus-mode .forced-opponent-heading p { display: none; }
  body.review-focus-mode .forced-opponent-review,
  body.review-focus-mode .forced-score-review { padding-bottom: 4.9rem; }
  body.review-focus-mode .forced-opponent-form > button[type="submit"],
  body.review-focus-mode .forced-score-form > button[type="submit"] { position: fixed; right: .45rem; bottom: max(.4rem, env(safe-area-inset-bottom)); left: .45rem; z-index: 21; width: auto; margin: 0; box-shadow: 0 8px 26px rgba(135, 50, 29, .34); }
  body.review-focus-mode .direct-review:has(.direct-review-toolbar) .forced-opponent-form > button[type="submit"],
  body.review-focus-mode .direct-review:has(.direct-review-toolbar) .forced-score-form > button[type="submit"] { bottom: calc(64px + max(.4rem, env(safe-area-inset-bottom))); }
  .compact-row-form .field-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .review-flow-heading { position: relative; }
  .question-card .review-answer-card > .review-flow-heading { margin: -1rem -1rem 0; border-radius: 0; }
  .row-fix-summary { grid-template-columns: 36px minmax(0, 1fr) auto; }
  .row-fix-summary .row-badge { display: none; }
  .row-fix.has-unsaved .row-fix-summary .row-badge { display: inline-flex; width: fit-content; grid-column: 2; }
  .row-fix-summary::after { grid-column: 3; }
  .evidence-position { align-items: flex-start; }
  .evidence-actions { flex-wrap: wrap; }
  .evidence-actions a, .evidence-focus { min-height: 44px; }
  .row-fix-body form button, .row-review > form button { position: sticky; bottom: max(.35rem, env(safe-area-inset-bottom)); z-index: 2; box-shadow: 0 5px 18px rgba(135, 50, 29, .3); }
  .row-fix-body .forced-opponent-form > button[type="submit"] { position: static; width: 100%; min-height: 48px; }
  .row-fix-body .reciprocal-row-form button, .row-review .reciprocal-row-form button { position: static; }
  .rows-panel > .section-heading { position: sticky; top: 116px; z-index: 7; margin: -.2rem -.2rem .65rem; padding: .55rem .65rem; border: 1px solid var(--line); border-radius: 12px; background: var(--sticky-surface); box-shadow: 0 5px 14px rgba(35, 36, 30, .1); }
  .rows-panel > .section-heading h2 { margin: 0; font-size: 1rem; }
  .rows-panel > .section-heading .eyebrow { display: none; }
  .row-review { scroll-margin-top: 190px; }
  .standings-table-scroll { overflow: visible; border: 0; border-radius: 0; background: transparent; }
  .standings-table, .standings-table tbody { display: block; }
  .standings-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
  .standings-table tbody { display: grid; gap: .65rem; }
  .standings-table tr { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); padding: .65rem; border: 1px solid var(--line); border-radius: 14px; background: var(--surface-strong); box-shadow: 0 5px 16px rgba(40, 38, 30, .06); }
  /* Avoid a nested grid for every score when opening a large mobile result. */
  .standings-table td { display: block; min-width: 0; padding: .35rem; border: 0; font-weight: 850; white-space: normal; }
  .standings-table td::before { display: block; margin-bottom: .05rem; color: var(--muted); content: attr(data-label); font-size: .58rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
  .standings-table td:nth-child(3) { grid-column: 3 / -1; font-size: 1rem; }
  .standings-table td:nth-child(n + 4) { border-top: 1px solid var(--line); }
}

/* A short landscape viewport or software-keyboard-sized visual area needs
   its scarce height for evidence and edits, not stacked sticky navigation.
   Controls remain in normal flow and drafts are never remounted. */
@media (max-height: 440px) and (max-width: 950px) {
  body.review-focus-mode .site-header,
  body.review-focus-mode .direct-review-toolbar,
  .card-nav,
  .question-step-controls { position: static; }
  body.review-focus-mode .direct-review:has(.direct-review-toolbar) .forced-opponent-form > button[type="submit"],
  body.review-focus-mode .direct-review:has(.direct-review-toolbar) .forced-score-form > button[type="submit"] { bottom: max(.4rem, env(safe-area-inset-bottom)); }
}

@media (min-width: 520px) and (max-width: 999px) {
  .rotation-tables { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media print {
  :root, :root[data-theme] {
    color-scheme: light;
    --ink: #172126;
    --ink-soft: #34434a;
    --muted: #68767c;
    --paper: #fff;
    --surface: #fff;
    --surface-strong: #fff;
    --line: #d8d4c8;
    --line-strong: #b9b3a4;
    --accent: #b34428;
    --accent-dark: #87321d;
    --accent-solid: #b34428;
    --accent-solid-hover: #87321d;
    --accent-soft: #f8e7df;
    --green: #246447;
    --green-soft: #ddf3e7;
    --green-line: #9ad0b4;
    --green-ink-soft: #356d4b;
    --gold: #8a6100;
    --gold-soft: #fff0c7;
    --gold-ink: #674d00;
    --gold-line: #ead08b;
    --gold-line-strong: #d8b45b;
    --blue-soft: #e5eff4;
    --blue-ink: #245d78;
    --blue-ink-strong: #17445a;
    --blue-ink-soft: #37697f;
    --blue-line: #a9cadb;
    --blue-line-strong: #7eaabd;
    --blue-line-soft: #c7dce7;
    --danger: #942f26;
    --danger-solid: #942f26;
    --danger-soft: #fee4df;
    --danger-line: #e3b4aa;
    --danger-solid-hover: #6f211b;
    --on-solid: #fff;
    --strong-surface: #172126;
    --strong-surface-hover: #263238;
    --strong-ink: #fff;
    --strong-muted: #cbd5d8;
    --header-active-surface: #fff;
    --header-active-ink: #172126;
    --surface-subtle: #f8f6f0;
    --surface-muted: #ece9e0;
    --surface-hover: #f7f4ed;
    --surface-overlay: rgba(255, 255, 255, .76);
    --surface-overlay-strong: rgba(255, 255, 255, .86);
    --sticky-surface: rgba(255, 255, 255, .97);
    --sticky-info-surface: rgba(229, 239, 244, .97);
    --hero-background: linear-gradient(135deg, #fff 0%, #f4eadf 72%, #edd7c8 100%);
    --rotation-hero-background: linear-gradient(135deg, #fff 0%, #edf4f6 58%, #d8e8ed 100%);
    --info-background: linear-gradient(135deg, #f8fcfe, var(--blue-soft));
    --success-background: linear-gradient(135deg, #f4fff8, #e2f4e9);
    --success-background-soft: #f4fff8;
    --warning-background: linear-gradient(135deg, #fffdf5, var(--gold-soft));
    --image-matte: #ece8de;
    --image-stage: #d9d5ca;
    --table-line: #e5e2d9;
    --focus-ring: #2274a5;
    --placeholder: #8a959a;
    --disabled-ink: #a0a5a6;
    --shadow: none;
  }
  body { background: #fff; color: #172126; font-size: 12px; }
  .site-header, .rotation-hero, .rotation-builder, .rotation-game-nav, [data-invite-link-shell] { display: none !important; }
  main { width: 100%; padding: 0; }
  .rotation-result { margin: 0; }
  .rotation-proof { break-after: avoid; box-shadow: none; }
  .rotation-game { break-inside: avoid; margin-top: 12px; box-shadow: none; }
  .rotation-tables { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

.evidence-viewer[data-fit-card="true"] .evidence-viewport,
.reciprocal-evidence-grid .evidence-viewer[data-fit-card="true"] .evidence-viewport {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 360px;
  margin-inline: auto;
  overflow: hidden;
}
.evidence-viewer[data-fit-card="true"] .evidence-viewport img {
  flex: none;
  max-width: none;
  max-height: none;
  object-fit: contain;
  transition: none;
}
.evidence-viewer[data-fit-card="true"] [data-evidence-focus] { display: none; }
@media (min-width: 720px) {
  body.review-focus-mode main { max-width: 1000px; margin-inline: auto; }
}
/* One in-flow action area: no photograph is hidden under floating controls.
   Estimated/broad row windows retain the full image. Wide, tall desktops and
   rotated views retain full-card context. Source zoom stays accessible. */
body.review-focus-mode .direct-review-toolbar { position: static; margin: .25rem 0; padding: .3rem; }
body.review-focus-mode .direct-review:has(.direct-review-toolbar) { padding-bottom: .45rem; }
body.review-focus-mode .forced-opponent-review,
body.review-focus-mode .forced-score-review { padding-bottom: 0; }
body.review-focus-mode .forced-opponent-form > button[type="submit"],
body.review-focus-mode .forced-score-form > button[type="submit"],
body.review-focus-mode .direct-review:has(.direct-review-toolbar) .forced-opponent-form > button[type="submit"],
body.review-focus-mode .direct-review:has(.direct-review-toolbar) .forced-score-form > button[type="submit"] {
  position: static; width: 100%; min-height: 48px; margin: 0; box-shadow: none;
}
body.review-focus-mode .forced-opponent-heading { padding: .5rem .65rem; }
body.review-focus-mode .forced-opponent-heading .row-badge,
body.review-focus-mode .forced-opponent-heading .eyebrow { display: none; }
body.review-focus-mode .review-actions { display: grid; gap: .25rem; padding: .35rem; border: 1px solid var(--line); border-radius: 10px; background: var(--surface-strong); }
body.review-focus-mode .review-actions .forced-opponent-decision { display: none; }
body.review-focus-mode .review-actions > .forced-opponent-form { margin: 0; padding: .25rem; gap: .3rem; }
body.review-focus-mode .review-actions > .forced-opponent-fallback { margin: 0; padding: 0; }
body.review-focus-mode .review-actions > .forced-opponent-fallback > summary { min-height: 44px; padding: .3rem .45rem; }
body.review-focus-mode .review-actions > .direct-review-toolbar { margin: 0; }
body.review-focus-mode .direct-review-unsaved { position: static; width: 100%; box-shadow: none; }
body.review-focus-mode .review-actions .direct-review-shortcut,
body.review-focus-mode .review-actions [data-direct-review-current-context] { display: none; }
body.review-focus-mode .reciprocal-evidence-grid { gap: .4rem; padding: .25rem; }
body.review-focus-mode .reciprocal-evidence-grid figcaption { min-height: 0; padding: .35rem; }
body.review-focus-mode .evidence-viewer.row-evidence-viewer.compact .evidence-position {
  position: static; display: grid; grid-template-columns: minmax(0, 1fr) auto;
  align-items: center; gap: .3rem; min-height: 44px; padding: .25rem;
}
body.review-focus-mode .evidence-viewer.row-evidence-viewer.compact .evidence-position > div:first-child { display: grid; min-width: 0; }
body.review-focus-mode .evidence-viewer.row-evidence-viewer.compact .evidence-actions:has(> .evidence-tools) {
  display: flex; width: auto; flex-wrap: nowrap; align-items: start; gap: .3rem;
}
body.review-focus-mode .evidence-viewer.row-evidence-viewer.compact .evidence-actions > a {
  width: 100px; min-width: 100px; min-height: 44px; flex: none; font-size: .72rem;
}
body.review-focus-mode .paired-card-panel figcaption { padding: .35rem .5rem; }
.evidence-tools { position: relative; margin: 0; padding: 0; border: 0; flex: none; }
.evidence-tools > summary { display: flex; min-width: 44px; min-height: 44px; align-items: center; justify-content: center; cursor: pointer; }
.evidence-tools > div { display: flex; flex-wrap: wrap; gap: .3rem; padding: .3rem; }
.evidence-viewer[data-row-framing="estimated-game-window"] .evidence-viewport,
.reciprocal-evidence-grid .evidence-viewer[data-row-framing="estimated-game-window"] .evidence-viewport,
.evidence-viewer[data-row-framing="broad-scroll-window"] .evidence-viewport,
.reciprocal-evidence-grid .evidence-viewer[data-row-framing="broad-scroll-window"] .evidence-viewport {
  display: block; align-items: normal; justify-content: normal;
  overflow: auto; height: 180px; touch-action: pan-y pinch-zoom;
}
.evidence-viewer[data-row-framing="estimated-game-window"] .evidence-viewport img,
.evidence-viewer[data-row-framing="broad-scroll-window"] .evidence-viewport img { display: block; max-width: none; max-height: none; }
body.review-focus-mode .forced-opponent-review .reciprocal-evidence-grid .evidence-viewer[data-row-framing="estimated-game-window"] .evidence-viewport,
body.review-focus-mode .forced-score-review .reciprocal-evidence-grid .evidence-viewer[data-row-framing="estimated-game-window"] .evidence-viewport,
body.review-focus-mode .forced-opponent-review .reciprocal-evidence-grid .evidence-viewer[data-row-framing="broad-scroll-window"] .evidence-viewport,
body.review-focus-mode .forced-score-review .reciprocal-evidence-grid .evidence-viewer[data-row-framing="broad-scroll-window"] .evidence-viewport { height: 160px; }

@media (min-width: 1000px) and (min-height: 700px) {
  body.review-focus-mode .evidence-viewer[data-fit-card="true"] .evidence-viewport {
    max-width: none;
  }
}

@media (max-width: 719px) {
  /* Give handwriting the screen width, not three nested sets of gutters. */
  body.review-focus-mode main { padding-inline: max(.25rem, env(safe-area-inset-left)) max(.25rem, env(safe-area-inset-right)); }
  body.review-focus-mode .direct-review,
  body.review-focus-mode .row-fix-body { padding-inline: 0; }
  body.review-focus-mode .row-fix { border-inline: 0; }
  body.review-focus-mode .reciprocal-evidence-grid { padding-inline: 0; }
  body.review-focus-mode .reciprocal-evidence-grid .evidence-viewer[data-fit-card="true"] .evidence-viewport { max-width: none; }
  body.review-focus-mode .reciprocal-evidence-grid .evidence-position > div:first-child > span { display: none; }
}

@media (max-width: 999px), (max-height: 699px) {
  /* Presentation-only header window: the image/source bytes stay complete.
     Keep the same card-fields anchor, with the nearby evidence in view. */
  .identity-review-workspace { grid-template-columns: minmax(0, 1fr); gap: .45rem; }
  .identity-review-workspace .card-evidence { position: static; }
  .identity-review-workspace .identity-photo-window { max-height: min(32dvh, 240px); overflow: auto; touch-action: pan-y pinch-zoom; }
  .identity-review-workspace .identity-photo-window img { width: 100%; height: auto; max-height: none; }
  .identity-review-workspace .identity-photo-complete-label { display: none; }
  .identity-review-workspace .identity-photo-window-label { display: block; }
  .identity-review-workspace #card-fields { scroll-margin-top: min(calc(210px + min(32dvh, 240px)), max(136px, calc(100dvh - 240px))); }
  .identity-review-workspace .card-fields-body { padding-inline: .45rem; }
  .identity-inline-body { padding: .45rem; gap: .5rem; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Isolated shared-card review: ordinary flow, one active evidence pair. */
.shared-card-entry .button { margin: .3rem .4rem .3rem 0; white-space: normal; }
.shared-card-review { min-width: 0; }
.shared-card-review nav { display: flex; flex-wrap: wrap; gap: .4rem; margin-block: .8rem; }
.shared-card-review nav a { justify-content: center; flex: 0 0 44px; display: inline-flex; align-items: center; min-height: 44px; padding: .45rem .65rem; border: 1px solid var(--line); border-radius: 8px; overflow-wrap: anywhere; }
.shared-card-review nav [aria-current="step"] { background: var(--surface-subtle); outline: 2px solid var(--accent); }
.shared-card-review form { margin-top: 1rem; }
.shared-card-review form > label { display: grid; grid-template-columns: 24px minmax(0, 1fr); gap: .65rem; align-items: start; }
.shared-card-review form > label span { min-width: 0; overflow-wrap: anywhere; }
.shared-card-review input[type="checkbox"] { width: 24px; min-width: 24px; min-height: 24px; height: 24px; margin: .15rem 0 0; padding: 0; }
.shared-card-review .actions { display: flex; flex-wrap: wrap; gap: .65rem; }
.shared-card-review .actions a { display: inline-flex; align-items: center; min-height: 44px; }
@media (max-width: 719px) {
  .shared-card-review .reciprocal-evidence-grid { grid-template-columns: minmax(0, 1fr); padding: .35rem; }
  body.shared-card-review-mode main { padding-inline: 0; }
  body.shared-card-review-mode .shared-card-panel { padding: .2rem; margin-block: .35rem; }
  .shared-card-review .reciprocal-evidence-grid { padding: 0; }
  .shared-card-review nav { gap: .25rem; }
  .shared-card-review nav a { flex: 0 0 44px; padding-inline: .25rem; }
  .shared-card-review h2, .shared-card-review h3, .shared-card-review p { margin-block: .5rem; }
}

/* Locator abstention: the whole original bitmap, without a guessed row window.
   JS admits this only at width >=340px, height >=300px and <=75% of a tall view.
   Keep the existing width caps so ResizeObserver cannot oscillate between modes. */
.evidence-viewer[data-row-framing="whole-card-fallback"] .evidence-viewport,
.reciprocal-evidence-grid .evidence-viewer[data-row-framing="whole-card-fallback"] .evidence-viewport,
.forced-score-single-evidence .evidence-viewer[data-row-framing="whole-card-fallback"] .evidence-viewport,
body.review-focus-mode .forced-opponent-review .reciprocal-evidence-grid .evidence-viewer[data-row-framing="whole-card-fallback"] .evidence-viewport,
body.review-focus-mode .forced-score-review .reciprocal-evidence-grid .evidence-viewer[data-row-framing="whole-card-fallback"] .evidence-viewport {
  display: block;
  height: auto;
  max-height: none;
  overflow: auto;
  touch-action: pan-y pinch-zoom;
}
.evidence-viewer[data-row-framing="whole-card-fallback"] .evidence-viewport img {
  display: block;
  max-width: none;
  max-height: none;
  margin: 0;
}

/* V10: score review uses ordinary flow even without a review URL fragment.
   Keep global navigation/acknowledgements out of the retained-photo area. */
body:has(.review-focus-bar) .site-header,
body:has([data-evidence-viewer]) .site-header,
body:has(.card-review-list) .site-header,
body:has([data-last-available-report]) .site-header,
body.shared-card-review-mode .site-header,
body:has(.review-focus-bar) .card-nav,
body:has([data-evidence-viewer]) .card-nav,
body:has(.review-focus-bar) .question-step-controls,
body:has(.review-focus-bar) .rows-panel > .section-heading {
  position: static;
}
body:has(.review-focus-bar) .flash,
body:has([data-evidence-viewer]) .flash,
body:has(.card-review-list) .flash,
body:has([data-last-available-report]) .flash,
body.shared-card-review-mode .flash {
  position: static; inset: auto; z-index: auto;
  width: 100%; max-width: 100%; margin: .35rem 0; box-shadow: none;
}
body .review-focus-bar:has(.review-save-notice) {
  display: grid; grid-template-columns: minmax(0, 1fr); gap: .25rem;
}
.review-focus-bar .flash.review-save-notice {
  display: grid; grid-template-columns: minmax(0, 1fr) 44px;
  align-items: start; width: 100%; margin: 0; padding: .15rem .35rem;
}
.review-save-notice > details > summary {
  min-width: 0; white-space: normal; overflow-wrap: anywhere;
}
.review-save-notice > .flash-dismiss { grid-column: 2; grid-row: 1; }
.shared-card-review #shared-comparison { scroll-margin-top: .35rem; }
.shared-card-review nav { margin-block: .4rem; }
/* The grouped route must retain the same usable zoom targets as focused review.
   Tools expand in flow and never cover the photo or the neighboring control. */
.shared-card-review .evidence-viewer.row-evidence-viewer.compact .evidence-position {
  position: static; display: grid; grid-template-columns: minmax(0, 1fr) auto;
  align-items: center; gap: .3rem; min-height: 44px; padding: .25rem;
}
.shared-card-review .evidence-viewer.row-evidence-viewer.compact .evidence-position > div:first-child {
  display: grid; min-width: 0;
}
.shared-card-review .evidence-viewer.row-evidence-viewer.compact .evidence-actions:has(> .evidence-tools) {
  display: flex; width: auto; flex-wrap: nowrap; align-items: start; gap: .3rem;
}
.shared-card-review .evidence-viewer.row-evidence-viewer.compact .evidence-actions > a {
  width: 100px; min-width: 100px; min-height: 44px; flex: none;
  padding-inline: .25rem; font-size: .75rem; line-height: 1.25;
}

/* Keep the one-field answer with readable handwriting, without horizontal page travel. */
.inline-reading-question { margin: .5rem 0; font-size: 1rem; }
.inline-reading-cards { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1rem; }
.inline-reading-card { min-width: 0; border: 1px solid var(--line); border-radius: 12px; padding: .65rem; }
.inline-reading-card > h3 { margin: 0 0 .5rem; font-size: 1.05rem; }
.inline-reading .row-evidence-viewer:not([data-row-framing="whole-card-fallback"]) .evidence-viewport { height: clamp(130px, 22dvh, 210px); }
.inline-reading .evidence-position { display: block; }
.inline-reading .evidence-actions { display: flex; flex-wrap: wrap; gap: .35rem; width: auto; }
.inline-reading .evidence-actions a, .inline-reading .evidence-actions summary,
.inline-reading-answer > a, .inline-reading-answer > details > summary { min-height: 44px; font-size: 1rem; }
.inline-reading-detail[hidden], .inline-reading-fallback[hidden] { display: none !important; }
.inline-reading-label, .inline-reading-fallback { margin: .45rem 0; font-size: .9rem; }
.inline-reading-halves { display: grid; grid-template-columns: minmax(0, 1fr); gap: .35rem; }
.inline-reading-halves figure { margin: 0; min-width: 0; }
.inline-reading-halves figcaption { font-size: .85rem; }
.inline-reading-halves figure[hidden] { display: none !important; }
.inline-reading-halves [data-inline-reading-half] { display: block; position: relative; width: 100%; overflow: hidden; border: 0; box-shadow: inset 0 0 0 1px var(--line); }
.inline-reading-halves [data-inline-reading-half] img { position: absolute; display: block; max-width: none; max-height: none; height: auto; margin: 0; }
.inline-reading-answer form { margin-top: .6rem; }
.inline-reading-answer form h3 { font-size: 1rem; }
.inline-reading-answer input[name="value"] { font-size: 1.3rem; min-height: 48px; width: 100%; }
.inline-reading-answer button[type="submit"] { min-height: 48px; width: 100%; }
@media (min-width: 900px) { .inline-reading-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; } }

/* Readable rows in existing focused/grouped questions, using their active images. */
.reciprocal-evidence-grid .inline-reading { min-width: 0; padding: .35rem; }
.reciprocal-evidence-grid .inline-reading .row-evidence-viewer.compact:not([data-row-framing="whole-card-fallback"]) .evidence-viewport {
  height: clamp(130px, 22dvh, 210px);
}
.reciprocal-evidence-grid .inline-reading-halves figure { border: 0; border-radius: 0; }
.reciprocal-evidence-grid .inline-reading-halves figcaption {
  display: block; min-height: 0; padding: .15rem 0; font-size: .85rem;
}
.inline-reading > [data-inline-reading-pick] { min-height: 44px; white-space: normal; }

/* One compact handwriting block; full-card fallbacks remain complete. */
.inline-reading[data-inline-ready="true"] .row-evidence-viewer:not([data-row-framing="whole-card-fallback"]) .evidence-viewport,
.reciprocal-evidence-grid .inline-reading[data-inline-ready="true"] .row-evidence-viewer.compact:not([data-row-framing="whole-card-fallback"]) .evidence-viewport { height: 90px; }
.inline-reading-detail .inline-reading-halves figcaption { display: none; }
.inline-reading .inline-reading-label { margin: .25rem 0; }
.inline-reading .inline-reading-fallback { display: none; }
.inline-reading .evidence-tools [data-inline-reading-pick] { min-height: 44px; white-space: normal; }
.inline-reading .evidence-tools > span { display: block; padding: .3rem; font-size: .85rem; }
.inline-reading-answer form[data-explicit-field-repair] button[type="submit"] { position: static; inset: auto; z-index: auto; }
.row-fix-body form[data-manual-game-field] button[type="submit"] { position: static; inset: auto; z-index: auto; }

/* Compare both sources before passing an editor. Retain independent forms. */
.inline-reading-answers { display: grid; gap: .65rem; margin-top: .65rem; }
.inline-reading-answers > .inline-reading-answer { min-width: 0; padding: .65rem; border: 1px solid var(--line); border-radius: 12px; }
.inline-reading-answers > .inline-reading-answer > h3 { margin: 0; font-size: 1rem; }
.inline-reading-answers form > p { margin: .45rem 0; }
body .review-focus-bar:has(.review-save-notice) { grid-template-columns: minmax(0, 1fr) auto; align-items: start; }
.review-focus-bar .flash.review-save-notice { width: auto; max-width: 100%; }
.review-focus-bar:has(.review-save-notice > details[open]) { grid-template-columns: minmax(0, 1fr); }
@media (max-width: 359px) {
  body .review-focus-bar:has(.review-save-notice) { grid-template-columns: minmax(0, 1fr); }
}
@media (min-width: 900px) {
  .inline-reading-answers { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
}

/* Mom's default: one complete card, then explicit enlargement. These fit-mode
   dimensions override the earlier compact row-strip sizes at every viewport. */
body .evidence-viewer[data-whole-card-default="true"][data-row-framing="whole-card-fit"] .evidence-viewport {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: none;
  height: var(--review-photo-height, min(52dvh, 480px)) !important;
  overflow: hidden;
  touch-action: pan-y pinch-zoom;
}
body .evidence-viewer[data-whole-card-default="true"][data-row-framing="whole-card-fit"] .evidence-viewport img {
  flex: none; max-width: none; max-height: none; margin: 0; object-fit: contain;
  cursor: zoom-in;
}
.evidence-viewer[data-whole-card-default="true"] [data-evidence-focus] { display: inline-flex; }
body .evidence-viewer.row-evidence-viewer.compact[data-whole-card-default="true"] .evidence-actions > a { min-width: var(--review-open-width, 110px); width: auto; flex: var(--review-open-flex, none); }
.evidence-viewer[data-whole-card-default="true"][data-row-framing="user-chosen-broad-area"] .evidence-viewport {
  display: block; width: 100%; max-width: none; height: min(30dvh, 250px) !important;
  overflow: auto; touch-action: pan-y pinch-zoom;
}
body .identity-review-workspace .identity-photo-window {
  display: flex; align-items: center; justify-content: center;
  height: min(58dvh, 540px); max-height: none; overflow: hidden;
}
body .identity-review-workspace .identity-photo-window img {
  width: 100%; height: 100%; max-height: 100%; object-fit: contain;
}
body .identity-review-workspace .identity-photo-complete-label { display: block; }
body .identity-review-workspace .identity-photo-window-label { display: none; }
body .identity-review-workspace #card-fields { scroll-margin-top: 1rem; }
.card-fields > .rows-panel { margin-top: 1rem; }
.card-local-issue { margin: .35rem 0 .6rem; padding: .55rem .65rem; border: 1px solid var(--gold-line-strong); border-radius: 10px; background: var(--gold-soft); color: var(--gold-ink); font-size: .82rem; font-weight: 800; }
.direct-review, .row-fix-body, .row-review-body, .shared-card-review { container-type: inline-size; }
@media (min-width: 760px) {
  body.review-focus-mode main { max-width: 1280px; }
  body .identity-review-workspace, body .identity-inline-body {
    grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start;
  }
  body .identity-review-workspace .card-evidence { position: sticky; top: var(--card-evidence-sticky-top, 1rem); }
}
@container (min-width: 680px) {
  .row-fix-body:has(> .review-evidence-column):has(> :is(form, [data-manual-field-group])) {
    grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start;
  }
  .forced-opponent-review, .forced-score-review {
    grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 1rem;
  }
  .forced-opponent-heading { grid-column: 1 / -1; }
  .forced-opponent-review > .reciprocal-evidence-grid,
  .forced-score-review > .reciprocal-evidence-grid,
  .forced-score-review > .forced-score-single-evidence { grid-column: 1; grid-row: 2; }
  .forced-opponent-review > .reciprocal-evidence-grid,
  .forced-score-review > .reciprocal-evidence-grid { grid-template-columns: minmax(0, 1fr); }
  .forced-opponent-review > .review-actions,
  .forced-score-review > .review-actions { grid-column: 2; grid-row: 2; }
  .forced-score-review > .component-claimed-card { grid-column: 1 / -1; }
}
.shared-card-corrections { display: grid; gap: .65rem; min-width: 0; }
@media (min-width: 900px) {
  .shared-card-review { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 1rem; align-items: start; }
  .shared-card-review > h2, .shared-card-review > h3,
  .shared-card-review > h2 + p, .shared-card-review > h3 + p { grid-column: 1 / -1; }
  .shared-card-review > .reciprocal-evidence-grid { grid-column: 1; grid-row: 5; grid-template-columns: minmax(0, 1fr); }
  .shared-card-corrections { grid-column: 2; grid-row: 5; }
  .shared-card-corrections > form { margin-top: .5rem; }
}

/* Each card owns one column: photo, scores, correction, and a named Save.
   Keep that relationship on phones; zoom remains an explicit full-card action. */
.explicit-field-workspace { min-width: 0; width: 100%; }
.row-fix-body:has(> .explicit-field-workspace) { grid-template-columns: minmax(0, 1fr); }
.explicit-field-workspace .save-note[data-state="clean"], .comparison-draft-notice[hidden] { display: none; }
.comparison-draft-notice { margin: .4rem; font-size: .8rem; color: var(--gold-ink); }
:is(.explicit-field-workspace, .paired-row-workspace, [data-comparison-question], .unresolved-reciprocal-evidence) {
  --review-photo-height: clamp(120px, 24dvh, 280px);
  --review-open-width: 0;
  --review-open-flex: 1 1 44px;
}
[data-paired-edit-workspace][data-paired-both-dirty="false"] > .paired-row-save-form { display: none; }
.comparison-proof { margin: 0; padding: 0; border: 0; background: none; }
body [data-comparison-question] .comparison-proof > summary { min-height: 44px; padding: 0; display: flex; align-items: center; cursor: pointer; color: var(--blue); font-size: .8rem; border: 0; }
.comparison-proof > p { font-size: .8rem; }
body [data-comparison-question] .forced-opponent-heading { padding: .4rem; }
body [data-comparison-question] .forced-opponent-heading .row-badge { display: none; }
body [data-comparison-question] .forced-opponent-heading .eyebrow { font-size: .7rem; }
body [data-comparison-question] .forced-opponent-heading h3 { font-size: .95rem; }

.explicit-field-workspace .inline-reading-cards,
.explicit-field-workspace .inline-reading-answers,
body [data-comparison-question] > .reciprocal-evidence-grid,
body .unresolved-reciprocal-evidence,
.paired-row-workspace, .forced-paired-edit-grid {
  display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem;
}
.explicit-field-workspace .inline-reading-card,
.explicit-field-workspace .inline-reading-answer { min-width: 0; padding: .4rem; border: 1px solid var(--line); border-radius: 10px; background: var(--surface-strong); }
.explicit-field-workspace .inline-reading-card h3,
.explicit-field-workspace .inline-reading-answer h3 { margin: 0 0 .35rem; font-size: .85rem; line-height: 1.4; }
.explicit-field-workspace .inline-reading-answers { margin-top: .45rem; }
.explicit-field-workspace:not([data-explicit-pair]) :is(.inline-reading-cards, .inline-reading-answers) { grid-template-columns: minmax(0, 1fr); }
.explicit-field-workspace .inline-reading-answer form { display: grid; gap: .4rem; margin: 0; padding: 0; border: 0; }
.explicit-field-workspace .inline-reading-answer form > p { margin: 0; font-size: .73rem; }
.explicit-field-workspace .inline-reading-answer label { min-width: 0; font-size: .78rem; }
.explicit-field-workspace .inline-reading-answer input[name="value"] { min-height: 44px; font-size: 16px; }
.explicit-field-workspace .inline-reading-answer > a { margin-top: .5rem; padding: .35rem; font-size: .72rem; }
.comparison-scores { display: grid; margin: 0 0 .15rem; gap: .15rem; }
.comparison-scores > div { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: .15rem .4rem; padding: .25rem; border-radius: 5px; }
.comparison-scores dt { font-size: .75rem; color: var(--muted); }
.comparison-scores dd { margin: 0; font-size: 1rem; font-weight: 850; overflow-wrap: anywhere; }
.comparison-scores .comparison-disputed { background: var(--gold-soft); border: 1px solid var(--gold-line); }
.comparison-scores .comparison-disputed dt, .comparison-scores .comparison-disputed dd { color: var(--gold-ink); }
body [data-comparison-question] { display: grid; grid-template-columns: minmax(0, 1fr); gap: .5rem; }
body [data-comparison-question] > .reciprocal-evidence-grid,
body [data-comparison-question] > .review-actions { grid-column: 1; grid-row: auto; padding: 0; }
body [data-comparison-question] > .review-actions { display: flex; flex-direction: column; gap: .5rem; }
body [data-comparison-question] .comparison-corrections { order: -1; width: 100%; }
.comparison-help, .paired-proof-note, .explicit-field-workspace .inline-reading-question { margin: 0 0 .4rem; padding: .4rem; font-size: .82rem; line-height: 1.4; }
.comparison-editor { margin: 0; padding: 0; border: 0; min-width: 0; }
.comparison-partial { grid-column: 1 / -1; margin: .4rem 0 0; border: 1px solid var(--line); border-radius: 8px; }
.comparison-partial > summary { min-height: 44px; display: flex; align-items: center; padding: .4rem; font-size: .78rem; color: var(--blue); cursor: pointer; }
.comparison-partial .manual-puzzle-fields { padding: .4rem; }
body :is(.paired-row-workspace, [data-comparison-question]) .reciprocal-row-form {
  display: flex; flex-direction: column; gap: .4rem !important; padding: .4rem !important;
}
body :is(.paired-row-workspace, [data-comparison-question]) .reciprocal-row-form .field-grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: .4rem; }
body :is(.paired-row-workspace, [data-comparison-question]) .reciprocal-row-form .reciprocal-row-heading { order: -3; grid-template-columns: minmax(0, 1fr); min-height: 24px; }
body :is(.paired-row-workspace, [data-comparison-question]) .reciprocal-row-heading :is(small, span),
body :is(.paired-row-workspace, [data-comparison-question]) .field-review-marker { display: none; }
body :is(.paired-row-workspace, [data-comparison-question]) .reciprocal-row-heading strong { font-size: .85rem; }
body :is(.paired-row-workspace, [data-comparison-question]) .reciprocal-row-form .field-grid { order: -2; }
body :is(.paired-row-workspace, [data-comparison-question]) .reciprocal-row-form label { min-width: 0; font-size: .78rem; }
body :is(.paired-row-workspace, [data-comparison-question]) .reciprocal-row-form :is(input:not([type="hidden"]), select) { min-height: 44px; height: 44px; padding: .4rem; font-size: 16px; }
body :is(.paired-row-workspace, [data-comparison-question]) .reciprocal-row-form > button[type="submit"] { order: -1; position: static; width: 100%; min-height: 44px; padding: .4rem; font-size: .78rem; }
body :is(.paired-row-workspace, [data-comparison-question]) .reciprocal-row-form :is(.save-note[data-state="clean"], .score-consistency[data-state="valid"]) { display: none; }
body :is(.paired-row-workspace, [data-comparison-question]) .reciprocal-row-form .score-consistency:not([data-state="valid"]) { grid-row: 4; }
body :is(.paired-row-workspace, [data-comparison-question]) .compact-row-reasons summary { min-height: 44px; display: flex; align-items: center; }
body :is(.paired-row-workspace, [data-comparison-question]) .field-needs-check { padding: 0; background: none; border: 0; }
body :is(.paired-row-workspace, [data-comparison-question]) .forced-paired-edit-grid { padding: 0; border: 0; }
body :is(.explicit-field-workspace, .paired-row-workspace, [data-comparison-question], .unresolved-reciprocal-evidence) .evidence-viewer.compact:is(.row-evidence-viewer, .complete-evidence-viewer) .evidence-position {
  position: static; display: block; min-height: 44px; padding: .2rem;
}
body :is(.explicit-field-workspace, .paired-row-workspace, [data-comparison-question], .unresolved-reciprocal-evidence) .evidence-viewer.compact:is(.row-evidence-viewer, .complete-evidence-viewer) .evidence-position > div:first-child { display: none; }
body :is(.explicit-field-workspace, .paired-row-workspace, [data-comparison-question], .unresolved-reciprocal-evidence) .evidence-viewer.compact:is(.row-evidence-viewer, .complete-evidence-viewer) .evidence-position .evidence-actions {
  display: flex; flex-wrap: wrap; width: 100%; gap: .2rem;
}
body :is(.explicit-field-workspace, .paired-row-workspace, [data-comparison-question], .unresolved-reciprocal-evidence) .evidence-viewer.compact:is(.row-evidence-viewer, .complete-evidence-viewer) .evidence-position .evidence-actions > a {
  flex: 1 1 44px; min-width: 0; width: auto; min-height: 44px; padding: .2rem; font-size: .75rem; white-space: normal;
}
body :is(.explicit-field-workspace, .paired-row-workspace, [data-comparison-question], .unresolved-reciprocal-evidence) .evidence-tools > summary { min-width: 44px; min-height: 44px; font-size: .75rem; }
body :is(.explicit-field-workspace, .paired-row-workspace, [data-comparison-question], .unresolved-reciprocal-evidence) .evidence-tools[open] { flex-basis: 100%; }
body :is(.explicit-field-workspace, .paired-row-workspace, [data-comparison-question], .unresolved-reciprocal-evidence) .evidence-viewer[data-fit-card="true"] .evidence-viewport {
  display: flex; align-items: center; justify-content: center; height: clamp(120px, 26dvh, 300px); max-width: 100%; overflow: hidden;
}
@media (max-width: 519px) {
  .row-fix-body:has(.explicit-field-workspace), .row-fix-body:has([data-comparison-question]), .row-fix-body:has(.paired-row-workspace) { padding: .25rem; }
  .explicit-field-workspace .inline-reading-card, .explicit-field-workspace .inline-reading-answer { padding: .3rem; }
  body [data-comparison-question] > .reciprocal-evidence-grid figcaption { padding: .35rem; font-size: .72rem; }
  body [data-comparison-question] > .reciprocal-evidence-grid figcaption strong { font-size: .85rem; }
}

/* Mobile task screens are progressive enhancements. Without JavaScript the
   original document flow remains complete and every control stays reachable. */
.mobile-workspace-tabs, .card-mode-tabs, .card-more-sheet-header, .card-nav-more { display: none; }
.mobile-workspace-fragment, .mobile-workspace-options, .card-more-sheet { display: contents; }

@media (max-width: 519px) {
  body.mobile-workspace-enhanced main { padding-bottom: calc(5.4rem + env(safe-area-inset-bottom)); }
  body.mobile-workspace-enhanced main > .back,
  body.mobile-workspace-enhanced main > .batch-section-nav { display: none; }
  body.mobile-workspace-enhanced main > .batch-title {
    display: grid; min-height: 54px; grid-template-columns: minmax(0, 1fr) auto;
    align-items: center; gap: .45rem; margin: -.25rem 0 .45rem;
    padding: .35rem .15rem; border-bottom: 1px solid var(--line);
  }
  body.mobile-workspace-enhanced main > .batch-title .eyebrow,
  body.mobile-workspace-enhanced main > .batch-title .batch-reference { display: none; }
  body.mobile-workspace-enhanced main > .batch-title h1 {
    margin: 0; overflow: hidden; font-size: 1.16rem; line-height: 1.2;
    text-overflow: ellipsis; white-space: nowrap;
  }
  body.mobile-workspace-enhanced main > .batch-title .pill { grid-column: 2; grid-row: 1; }
  body.mobile-workspace-enhanced [data-mobile-workspace-screen][data-mobile-active="false"] { display: none !important; }
  body.mobile-workspace-enhanced .mobile-workspace-fragment[data-mobile-active="true"] { display: contents; }
  body.mobile-workspace-enhanced .mobile-workspace-options[data-mobile-active="true"] { display: block; }
  body.mobile-workspace-enhanced .stats[data-mobile-active="true"] { display: grid; }
  body.mobile-workspace-enhanced .batch-workspace[data-mobile-active="true"] { display: grid; }
  body.mobile-workspace-enhanced .cards-panel[data-mobile-active="true"] { display: block; }
  body.mobile-workspace-enhanced .analysis-complete-note { display: none; }
  .mobile-workspace-tabs {
    position: fixed; right: 0; bottom: 0; left: 0; z-index: 25;
    display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
    padding: .35rem max(.35rem, env(safe-area-inset-right)) max(.35rem, env(safe-area-inset-bottom)) max(.35rem, env(safe-area-inset-left));
    border-top: 1px solid var(--line); background: var(--sticky-surface);
    box-shadow: 0 -8px 24px rgba(35, 36, 30, .14);
  }
  .mobile-workspace-tabs a {
    display: grid; min-width: 0; min-height: 52px; place-content: center; gap: .02rem;
    padding: .3rem .15rem; border-radius: 10px; color: var(--muted);
    font-size: .72rem; font-weight: 900; line-height: 1.1; text-align: center; text-decoration: none;
  }
  .mobile-workspace-tabs a small {
    max-width: 100%; overflow: hidden; font-size: .58rem; font-weight: 750;
    text-overflow: ellipsis; white-space: nowrap;
  }
  .mobile-workspace-tabs a[aria-selected="true"] { background: var(--strong-surface); color: var(--strong-ink); }

  body.mobile-workspace-enhanced .cards-panel {
    margin: 0; overflow: visible; border: 0; border-radius: 0; background: transparent; box-shadow: none;
  }
  body.mobile-workspace-enhanced .cards-panel-summary,
  body.mobile-workspace-enhanced .cards-panel-body > .section-heading { display: none; }
  body.mobile-workspace-enhanced .cards-panel-body { padding: 0; border: 0; }
  body.mobile-workspace-enhanced .review-work-panel { margin-top: 0; }
  body.mobile-workspace-enhanced .card-directory-tools {
    position: sticky; top: 0; z-index: 9; display: grid; gap: .35rem;
    margin: 0 -.15rem .55rem; padding: .4rem .15rem .5rem;
    border-bottom: 1px solid var(--line); background: var(--sticky-surface);
  }
  body.mobile-workspace-enhanced .card-directory-tools .filter-chips { margin: 0; }
  body.mobile-workspace-enhanced .card-directory-tools .filter-chip { width: auto; }
  body.mobile-workspace-enhanced .card-directory-tools .card-filter { margin: 0; }
  body.mobile-workspace-enhanced .card-directory-tools .card-filter span { display: none; }
  body.mobile-workspace-enhanced .card-directory-tools input { min-height: 44px; }
  body.mobile-workspace-enhanced .card-review-list { gap: .35rem; }
  body.mobile-workspace-enhanced .card-review-link {
    min-height: 50px; grid-template-columns: 38px minmax(0, 1fr) auto auto;
    gap: .42rem; padding: .4rem .5rem; border-radius: 10px;
  }
  body.mobile-workspace-enhanced .card-review-link:not(.has-total-difference):not(.has-card-conflict) .card-link-copy small { display: none; }
  body.mobile-workspace-enhanced .card-review-link .chevron { font-size: 1.2rem; }
  body.mobile-workspace-enhanced .card-review-link .card-state { font-size: .6rem; }

  body.mobile-card-workspace-enhanced .site-header { display: none; }
  body.mobile-card-workspace-enhanced main {
    padding: .35rem .55rem calc(2rem + env(safe-area-inset-bottom));
  }
  body.mobile-card-workspace-enhanced main > .card-nav:first-of-type {
    position: sticky; top: 0; z-index: 18; grid-template-columns: 1fr auto 1fr auto;
    margin: -.35rem 0 .35rem; border-radius: 0 0 12px 12px;
  }
  body.mobile-card-workspace-enhanced main > .card-nav:last-child { display: none; }
  body.mobile-card-workspace-enhanced .card-nav-more {
    display: grid; min-width: 58px; min-height: 50px; align-content: center;
    padding: .35rem .45rem; background: var(--sticky-surface); color: var(--ink);
    font-size: .72rem; font-weight: 850; text-align: center; text-decoration: none;
  }
  body.mobile-card-workspace-enhanced .card-nav { top: 0; }
  body.mobile-card-workspace-enhanced .card-nav-link,
  body.mobile-card-workspace-enhanced .card-nav-all { min-height: 50px; padding: .35rem .45rem; }
  body.mobile-card-workspace-enhanced .card-nav-link .card-nav-label { display: none; }
  body.mobile-card-workspace-enhanced .card-nav-all { min-width: 74px; font-size: .72rem; }
  body.mobile-card-workspace-enhanced .card-title {
    display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center;
    gap: .4rem; margin: .2rem 0 .35rem; padding-inline: .15rem;
  }
  body.mobile-card-workspace-enhanced .card-title .eyebrow { margin: 0; font-size: .62rem; }
  body.mobile-card-workspace-enhanced .card-title h1 {
    margin: .05rem 0 0; overflow: hidden; font-size: 1.25rem; line-height: 1.15;
    text-overflow: ellipsis; white-space: nowrap;
  }
  body.mobile-card-workspace-enhanced .card-title .pill { grid-column: 2; grid-row: 1; font-size: .62rem; }
  .card-mode-tabs {
    position: sticky; top: 50px; z-index: 17; display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px;
    margin: 0 0 .45rem; padding: 3px; border: 1px solid var(--line);
    border-radius: 12px; background: var(--sticky-surface);
    box-shadow: 0 5px 14px rgba(35, 36, 30, .1);
  }
  .card-mode-tabs a {
    display: grid; min-width: 0; min-height: 48px; place-content: center;
    padding: .28rem .2rem; border-radius: 9px; color: var(--muted);
    font-size: .72rem; font-weight: 900; line-height: 1.1; text-align: center; text-decoration: none;
  }
  .card-mode-tabs a > span { display: flex; align-items: center; justify-content: center; gap: .28rem; }
  .card-tab-alert {
    display: inline-grid; min-width: 1.3rem; height: 1.3rem; place-items: center;
    padding: 0 .3rem; border-radius: 999px; background: var(--danger-solid);
    color: var(--on-solid); font-size: .7rem; font-weight: 950; line-height: 1;
  }
  .card-mode-tabs a small { overflow: hidden; font-size: .58rem; text-overflow: ellipsis; white-space: nowrap; }
  .card-mode-tabs a[aria-selected="true"] { background: var(--strong-surface); color: var(--strong-ink); }
  body.mobile-card-workspace-enhanced [data-mobile-card-panel][data-mobile-active="false"] { display: none !important; }
  body.mobile-card-workspace-enhanced .card-identity-mode[data-mobile-active="true"] { display: block; }
  body.mobile-card-workspace-enhanced .written-totals-panel[data-mobile-active="true"] { display: block; }
  body.mobile-card-workspace-enhanced .rows-panel[data-mobile-active="true"] { display: block; }
  body.mobile-card-workspace-enhanced .card-attention-bar { margin: .35rem 0 .45rem; padding: .55rem; box-shadow: none; }
  body.mobile-card-workspace-enhanced .card-attention-bar > div > span { display: none; }
  body.mobile-card-workspace-enhanced .card-attention-bar .button { min-height: 44px; }
  body.mobile-card-workspace-enhanced .identity-review-workspace { display: block; }
  body.mobile-card-workspace-enhanced .card-evidence { margin-bottom: .45rem; }
  body.mobile-card-workspace-enhanced .full-card { margin: 0; border-radius: 12px; box-shadow: none; }
  body.mobile-card-workspace-enhanced .identity-review-workspace .identity-photo-window {
    height: clamp(118px, 22dvh, 180px) !important; min-height: 0;
  }
  body.mobile-card-workspace-enhanced:has(.card-mode-tabs[data-mobile-active="totals"]) .identity-review-workspace .identity-photo-window {
    height: clamp(105px, 16dvh, 140px) !important;
  }
  body.mobile-card-workspace-enhanced .written-totals-body .computed {
    gap: .1rem; margin: .25rem 0 .5rem; padding: .55rem;
  }
  body.mobile-card-workspace-enhanced .full-card figcaption { min-height: 34px; padding: .35rem .5rem; font-size: .68rem; }
  body.mobile-card-workspace-enhanced .full-card figcaption strong { font-size: .72rem; }
  body.mobile-card-workspace-enhanced .card-fields-panel {
    display: block; margin: 0; overflow: visible; border: 0; border-radius: 0; background: transparent; box-shadow: none;
  }
  body.mobile-card-workspace-enhanced .card-fields-summary { display: none; }
  body.mobile-card-workspace-enhanced .card-fields-body { padding: 0; border: 0; }
  body.mobile-card-workspace-enhanced .written-totals-panel {
    margin: 0; overflow: visible; border: 0; border-radius: 0; background: transparent;
  }
  body.mobile-card-workspace-enhanced .written-totals-panel > summary { display: none; }
  body.mobile-card-workspace-enhanced .written-totals-body { padding: 0; border: 0; }
  body.mobile-card-workspace-enhanced .rows-panel {
    margin: 0; padding: .65rem; border-radius: 12px; box-shadow: none;
  }
  body.mobile-card-workspace-enhanced .rows-panel > .section-heading { position: static; margin: 0 0 .4rem; padding: 0; border: 0; box-shadow: none; }
  body.mobile-card-workspace-enhanced .rows-panel > .section-heading h2 { font-size: 1rem; }
  body.mobile-card-workspace-enhanced .field-grid { gap: .5rem; }
  body.mobile-card-workspace-enhanced .identity-field-grid {
    grid-template-columns: minmax(76px, .65fr) minmax(0, 1.35fr);
  }
  body.mobile-card-workspace-enhanced .identity-field-grid > label:last-child { grid-column: 1 / -1; }
  body.mobile-card-workspace-enhanced form { gap: .6rem; }
  body.mobile-card-workspace-enhanced .fine { margin-block: .35rem; }
  body.mobile-card-workspace-enhanced [data-save-scope="identity"] { display: none; }
  body.mobile-card-workspace-enhanced .written-totals-body > [data-save-scope="written-totals"] { display: none; }
  body.mobile-card-workspace-enhanced .identity-save-feedback:has(.identity-save-state[data-state="clean"]),
  body.mobile-card-workspace-enhanced [data-saved-correction] button[type="submit"][data-saved-state="saved"],
  body.mobile-card-workspace-enhanced .identity-save-actions > a[data-evidence-open] { display: none; }
  body.mobile-card-workspace-enhanced .card-more-sheet {
    position: fixed; inset: 0; z-index: 40; display: none; overflow-y: auto;
    padding: 0 .7rem calc(1.2rem + env(safe-area-inset-bottom));
    background: var(--paper); overscroll-behavior: contain;
  }
  body.mobile-card-workspace-enhanced .card-more-sheet[data-mobile-open="true"] { display: block; }
  body.mobile-card-workspace-enhanced.card-more-open { overflow: hidden; }
  body.mobile-card-workspace-enhanced.card-more-open main > :not(.card-more-sheet) { display: none !important; }
  body.mobile-card-workspace-enhanced .card-more-sheet-header {
    position: sticky; top: 0; z-index: 2; display: flex; min-height: 58px;
    align-items: center; justify-content: space-between; gap: .7rem;
    margin: 0 -.7rem .6rem; padding: max(.45rem, env(safe-area-inset-top)) .7rem .45rem;
    border-bottom: 1px solid var(--line); background: var(--sticky-surface);
  }
  body.mobile-card-workspace-enhanced .card-more-sheet-header h2,
  body.mobile-card-workspace-enhanced .card-more-sheet-header p { margin: 0; }
  body.mobile-card-workspace-enhanced .card-more-sheet-header button { width: auto; min-height: 44px; }
  body.mobile-card-workspace-enhanced .card-more-sheet .collaboration-bar {
    display: flex; min-height: 54px; margin: .5rem 0; padding: .6rem .7rem;
  }
  body.mobile-card-workspace-enhanced .card-more-sheet .collaboration-bar > div > span { display: none; }

  body.review-focus-mode.mobile-workspace-enhanced .site-header,
  body.review-focus-mode.mobile-workspace-enhanced main > .batch-title { display: none; }
  body.review-focus-mode.mobile-workspace-enhanced main { padding-top: .25rem; padding-bottom: calc(8.8rem + env(safe-area-inset-bottom)); }
  body.review-focus-mode.mobile-workspace-enhanced .direct-review-toolbar {
    position: fixed; right: .4rem; bottom: calc(4.25rem + env(safe-area-inset-bottom));
    left: .4rem; z-index: 24; margin: 0; padding: .35rem;
    background: var(--sticky-info-surface); box-shadow: 0 7px 22px rgba(35, 36, 30, .2);
  }
  body.review-focus-mode.mobile-workspace-enhanced .direct-review:has(.direct-review-toolbar) { padding-bottom: 5rem; }
  body.review-focus-mode.mobile-workspace-enhanced .question-step-controls { top: 0; }
  body.review-focus-mode.mobile-workspace-enhanced .evidence-viewer[data-whole-card-default="true"] .evidence-viewport {
    height: var(--review-photo-height, clamp(118px, 18dvh, 150px)) !important;
  }
  body.review-focus-mode.mobile-workspace-enhanced .question-card .comparison-prompt .fine,
  body.review-focus-mode.mobile-workspace-enhanced .review-flow-heading small,
  body.review-focus-mode.mobile-workspace-enhanced .choice-analysis-note { display: none; }
  body.review-focus-mode.mobile-workspace-enhanced .save-note[data-state="clean"] { display: none; }
}

@media (max-width: 519px) and (max-height: 650px) {
  body.mobile-card-workspace-enhanced .identity-review-workspace .identity-photo-window {
    height: clamp(90px, 18dvh, 118px) !important;
  }
  body.mobile-card-workspace-enhanced:has(.card-mode-tabs[data-mobile-active="totals"]) .identity-review-workspace .identity-photo-window {
    height: 90px !important;
  }
}

/* Keep the complete card beside the work as the Games list scrolls. */
@media (max-width: 759px) {
  :root:has(.identity-review-workspace) {
    --games-photo-height: clamp(90px, 22dvh, 180px);
    --games-photo-top: 136px;
    --games-photo-clearance: calc(var(--games-photo-top) + var(--games-photo-height) + 54px);
  }
  :root:has(body.mobile-card-workspace-enhanced) { --games-photo-top: 106px; }
  :root:has(body:not(.mobile-card-workspace-enhanced) .identity-review-workspace .rows-panel),
  :root:has(body.mobile-card-workspace-enhanced .card-mode-tabs[data-mobile-active="games"]) {
    scroll-padding-top: var(--games-photo-clearance);
  }
  body:not(.mobile-card-workspace-enhanced) .identity-review-workspace:has(.rows-panel) .card-evidence,
  body.mobile-card-workspace-enhanced:has(.card-mode-tabs[data-mobile-active="games"]) .card-evidence {
    position: sticky; top: var(--games-photo-top); z-index: 16;
    padding-bottom: .45rem; background: var(--paper);
  }
  body:not(.mobile-card-workspace-enhanced) .identity-review-workspace:has(.rows-panel) .identity-photo-window,
  body.mobile-card-workspace-enhanced:has(.card-mode-tabs[data-mobile-active="games"]) .identity-photo-window {
    height: var(--games-photo-height) !important;
  }
  body:not(.mobile-card-workspace-enhanced) .identity-review-workspace:has(.rows-panel) :is(.rows-panel, .row-review),
  body.mobile-card-workspace-enhanced:has(.card-mode-tabs[data-mobile-active="games"]) :is(.rows-panel, .row-review) {
    scroll-margin-top: .65rem;
  }
}
@media (max-width: 759px) and (max-height: 650px) {
  :root:has(.identity-review-workspace) { --games-photo-height: clamp(48px, 18dvh, 118px); }
}
.manual-card { min-width: 0; }
.manual-card legend { font-weight: 700; padding: 0 .5rem; }
.manual-frame { position: relative; max-width: 28rem; overflow: hidden; touch-action: none; margin: .75rem auto; }
.manual-frame img { display: block; width: 100%; height: auto; user-select: none; }
.manual-frame [data-manual-frame-box] { position: absolute; pointer-events: none; border: 3px solid #f3b83f; box-sizing: border-box; background: #f3b83f12; }
.manual-identity { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: .75rem; margin: 1rem 0; }
.manual-identity label:first-child { grid-column: 1 / -1; }
.manual-game { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, .7fr) minmax(0, 1fr); gap: .5rem; padding: .8rem 0; border-top: 1px solid var(--line, #ddd); }
.manual-game > strong { grid-column: 1 / -1; }
.manual-game input, .manual-identity input { width: 100%; min-width: 0; box-sizing: border-box; }
.manual-game[hidden] { display: none; }
.manual-frame-edges { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; }
.manual-frame-edges input { width: 100%; min-width: 0; }

.standings-sort { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem; margin-block: .75rem; }
.standings-sort select { width: auto; max-width: 100%; min-height: 44px; font-size: 1rem; }
.event-result, .event-standings, [data-sortable-standings] { min-width: 0; }

/* Independent test-origin marker, including focused mobile review screens. */
.nonproduction-banner {
  position: fixed; left: .3rem; bottom: .2rem; z-index: 10000;
  max-width: calc(100vw - .6rem); padding: .15rem .45rem;
  border: 1px solid #f5c64c; border-radius: .35rem;
  background: #fff0b3; color: #392900; font: 700 12px/1.3 system-ui, sans-serif;
  pointer-events: none;
}
