: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-soft: #f8e7df;
  --green: #246447;
  --green-soft: #ddf3e7;
  --gold: #8a6100;
  --gold-soft: #fff0c7;
  --blue-soft: #e5eff4;
  --danger: #942f26;
  --danger-soft: #fee4df;
  --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;
}

* { 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 #2274a5; 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; align-items: center; gap: .65rem; color: white; font-weight: 850; letter-spacing: -.01em; text-decoration: none; }
.brand-mark { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 10px; background: var(--accent); font-size: .95rem; }
.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: white; color: var(--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; }

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: #ece9e0; 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 #d4cec0; border-radius: 24px; background: linear-gradient(135deg, #fffefa 0%, #f4eadf 72%, #edd7c8 100%); 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: rgba(255, 255, 255, .68); font-size: .8rem; }
.workflow-steps span { display: grid; flex: 0 0 auto; width: 24px; height: 24px; place-items: center; border-radius: 50%; background: var(--ink); color: white; 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 #a9cadb; border-radius: 13px; background: var(--blue-soft); }
.known-visitor-log h3 { margin: .05rem 0 0; color: #17445a; }
.known-visitor { display: grid; grid-template-columns: minmax(180px, .6fr) minmax(0, 1.4fr); gap: .7rem; padding: .65rem; border: 1px solid #b9d5e1; border-radius: 11px; background: white; }
.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 #e5eef2; color: #37697f; 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 #a9cadb; 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: #37697f; font-size: .78rem; }
.reviewer-chip { flex: 0 0 auto; padding: .42rem .62rem; border: 1px solid #7eaabd; border-radius: 999px; background: white; color: #245d78; 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(--ink); color: white; font-weight: 850; cursor: pointer; }
input::placeholder { color: #8a959a; }
.signed-spread-entry { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: stretch; gap: .4rem; }
.spread-sign-controls { display: grid; grid-template-columns: repeat(2, 48px); gap: .35rem; }
.spread-sign-controls button { width: 48px; min-width: 48px; min-height: 48px; padding: 0; border: 1px solid var(--line-strong); border-radius: 11px; background: white; color: var(--ink); font-size: 1.15rem; box-shadow: none; }
.spread-sign-controls button:hover { background: #f7f4ed; color: var(--ink); }
.spread-sign-controls button[aria-pressed="true"] { border-color: var(--ink); background: var(--ink); color: white; }
.upload { padding: .85rem; border: 1.5px dashed #9d9686; border-radius: 14px; background: #faf8f2; }
.upload span { color: var(--muted); font-size: .78rem; font-weight: 600; }
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); color: white; 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-dark); }
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: #e7e3d9; }
.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 #d4cec0; border-radius: 24px; background: linear-gradient(135deg, #fffefa 0%, #edf4f6 58%, #d8e8ed 100%); 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 #9fc4d4; border-radius: 16px; background: rgba(255, 255, 255, .78); }
.rotation-example strong { font-size: 1.05rem; }
.rotation-example span { color: #37697f; 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 #9ad0b4; 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: rgba(255, 255, 255, .55); }
.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: rgba(243, 241, 234, .96); 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: white; 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: #faf8f2; }
.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: white; 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: #eee9dd; color: #514c41; 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: #245d78; }
.pill.draft_collecting { background: #fff0bd; color: #775b0c; }
.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: #fffcf8; }
.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(--ink); color: white; }
.batch-section-nav .batch-section-primary:hover { background: #263238; }
.batch-section-nav .batch-section-primary small { color: #cbd5d8; }
.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 #dedacf; border-radius: 14px; background: #eae7de; }
.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: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 #ead08b; 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 #c7dce7; border-radius: 13px; background: var(--blue-soft); }
.question-step-button { width: auto; min-width: 92px; min-height: 44px; padding: .45rem .6rem; border: 1px solid #7eaabd; border-radius: 10px; background: white; color: #245d78; font-size: .72rem; box-shadow: none; }
.question-step-button:hover { background: #f5fbfd; color: #17445a; }
.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: #17445a; }
.question-step-position span { overflow: hidden; color: #37697f; 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: white; color: var(--ink); font-size: .78rem; font-weight: 900; text-decoration: none; }
.question-nav a[aria-current="step"] { border-color: var(--ink); background: var(--ink); color: white; }
.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 #c7dce7; background: linear-gradient(135deg, #f8fcfe, var(--blue-soft)); }
.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 #a9cadb; border-radius: 10px; background: rgba(255, 255, 255, .82); }
.comparison-readings small { color: #37697f; font-size: .68rem; font-weight: 750; }
.comparison-readings strong { overflow-wrap: anywhere; color: #17445a; 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 #c7dce7; background: #f7fbfd; color: #17445a; 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: white; }
.review-flow-heading { display: flex; min-height: 58px; align-items: center; gap: .65rem; padding: .6rem .75rem; border-bottom: 1px solid #c7dce7; background: #f7fbfd; }
.review-flow-heading > span { display: grid; width: 32px; height: 32px; flex: 0 0 32px; place-items: center; border-radius: 10px; background: #245d78; color: white; font-size: .78rem; font-weight: 900; }
.review-flow-heading > div { display: grid; min-width: 0; gap: .05rem; }
.review-flow-heading strong { color: #17445a; font-size: .84rem; }
.review-flow-heading small { color: #37697f; font-size: .7rem; }
.evidence-grid { display: grid; min-width: 0; grid-template-columns: 1fr; gap: 1px; background: var(--line); }
figure { margin: 0; background: white; }
figure img { display: block; width: 100%; max-height: 280px; object-fit: contain; background: #eeebe3; }
.evidence-viewer { min-width: 0; overflow: hidden; border-radius: 11px; background: #ece8de; }
.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: #245d78; 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: rgba(255, 255, 255, .76); 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: white; color: inherit; }
.evidence-viewport { height: clamp(330px, 58vh, 620px); overflow: auto; background: #d9d5ca; overscroll-behavior: contain; scrollbar-color: var(--accent) #dedacf; }
.evidence-viewport img { display: block; width: 100%; height: auto; max-height: none; object-fit: contain; }
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: #fffefa; }
.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: white; }
.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 #c7dce7; border-radius: 10px; background: #f7fbfd; color: #245d78; 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 #d7e6ed; }
.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 #e2c77e; border-radius: 10px; background: var(--gold-soft); color: var(--gold); font-size: .72rem; font-weight: 750; }

.notice, .danger { margin: .4rem 0 1rem; padding: .8rem 1rem; border: 1px solid #ead08b; border-radius: 12px; background: var(--gold-soft); color: #674d00; }
.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 #e2c77e; }
.flash { position: fixed; right: max(1rem, env(safe-area-inset-right)); bottom: max(1rem, env(safe-area-inset-bottom)); 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: rgba(255, 255, 255, .55); color: #674d00; font-size: 1.25rem; box-shadow: none; }
.flash .flash-dismiss:hover { background: white; color: #493600; }
.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); }
.evidence-dialog-stage { min-width: 0; min-height: 0; overflow: auto; background: #d5d2c9; overscroll-behavior: contain; touch-action: pan-x pan-y pinch-zoom; }
.evidence-dialog-stage img { display: block; width: 100%; max-width: none; height: auto; margin: 0 auto; }
.sample-ready { margin: .8rem 0 1rem; padding: 1rem; border: 1px solid #a9cadb; border-radius: var(--radius); background: linear-gradient(135deg, #f6fbfd, var(--blue-soft)); color: var(--ink); box-shadow: var(--shadow); }
.sample-ready[data-review-state="clear"] { border-color: #9ad0b4; background: linear-gradient(135deg, #f8fff9, var(--green-soft)); }
.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: white; color: #245d78; 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 #d8bd72; border-radius: 14px; background: #fff8df; }
.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 #7eaabd; background: white; color: #245d78; box-shadow: none; }
.button-secondary:hover { background: #f5fbfd; color: #17445a; }
.danger { border-color: #efb6ae; 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; align-items: center; gap: .6rem; padding: .8rem 1rem; border: 1px solid #c8dce6; border-radius: 12px; background: var(--blue-soft); }
.working span { width: 12px; height: 12px; border-radius: 50%; background: #2c7a9f; animation: pulse 1.2s infinite; }
@keyframes pulse { 50% { opacity: .25; transform: scale(.7); } }
.success { border-color: #9ad0b4; background: #f4fff8; }
.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 #9ad0b4; border-radius: 22px; background: linear-gradient(135deg, #f4fff8, #e2f4e9); box-shadow: var(--shadow); }
.standings-hero.locked { border-color: #ead08b; background: linear-gradient(135deg, #fffdf5, var(--gold-soft)); }
.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: #765600; color: white; 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: #d4ad45; background: linear-gradient(145deg, #fffdf7, var(--gold-soft)); }
.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: #ead08b; background: #fffdf6; }
.player-performance { margin-top: 0; border-color: #9ad0b4; background: #f8fff9; }
.player-performance.locked { border-color: #ead08b; background: #fffdf6; }
.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: rgba(255, 255, 255, .82); }
.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: white; }
table { width: 100%; border-collapse: collapse; font-size: .86rem; }
th, td { padding: .65rem; border-bottom: 1px solid #e5e2d9; text-align: left; white-space: nowrap; }
th { position: sticky; top: 0; background: #f4f2eb; color: var(--muted); font-size: .7rem; text-transform: uppercase; }
.findings { padding-left: 1.2rem; color: #7a3125; 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 #a9cadb; border-radius: 14px; background: linear-gradient(135deg, #f8fcfe, var(--blue-soft)); 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: white; }
.correction-card > a { display: block; max-height: 320px; overflow: hidden; border-radius: 10px; background: #ece8de; }
.correction-card img { display: block; width: 100%; max-height: 320px; object-fit: contain; }
.direct-review { scroll-margin-top: 78px; }
.direct-review > p { color: var(--muted); }
.direct-review-toolbar { display: grid; gap: .55rem; margin: .75rem 0; padding: .65rem; border: 1px solid #c7dce7; 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 #7eaabd; border-radius: 10px; background: white; color: #245d78; font-size: .72rem; box-shadow: none; }
.direct-review-step:hover { background: #f5fbfd; color: #17445a; }
.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: #17445a; }
.direct-review-position [data-direct-review-current-context] { overflow: hidden; color: #37697f; 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: #37697f; font-size: .68rem; font-weight: 700; }
.direct-review-position kbd { padding: .05rem .25rem; border: 1px solid #9ab8c5; border-bottom-width: 2px; border-radius: 4px; background: white; color: #245d78; 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 #7eaabd; border-radius: 11px; background: white; color: #245d78; 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(--ink); color: white; box-shadow: 0 4px 12px rgba(23, 33, 38, .18); }
.direct-review-nav a[aria-current="step"] strong { background: var(--accent); color: white; }
.direct-review-nav a.has-unsaved { border-color: #c18d16; 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 #c18d16; border-radius: 10px; background: var(--gold-soft); color: #674d00; font-size: .75rem; box-shadow: none; }
.direct-review-unsaved:hover { background: #ffe8a8; color: #493600; }
.row-fix { display: block; margin: .7rem 0; padding: 0; overflow: clip; scroll-margin-top: 82px; }
.row-fix.has-unsaved { border-color: #c18d16; 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: #fffdf7; }
.row-fix-evidence { min-width: 0; }
.row-fix-body form { align-content: start; padding: .85rem; border: 1px solid var(--line); border-radius: 12px; background: white; }
.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 #9ad0b4; 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: #245d78; font-size: .75rem; font-weight: 750; }
.save-note[data-state="dirty"] { border: 1px solid #d8b45b; background: var(--gold-soft); color: #674d00; }
.score-consistency { grid-column: 1 / -1; margin: 0; padding: .55rem .65rem; border: 1px solid var(--line); border-radius: 10px; background: #f5f3ed; color: var(--muted); font-size: .75rem; font-weight: 800; }
.score-consistency[data-state="valid"] { border-color: #9ad0b4; background: var(--green-soft); color: var(--green); }
.score-consistency[data-state="invalid"] { border-color: #efb6ae; 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; }
.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: white; color: var(--ink-soft); font-size: .75rem; box-shadow: none; }
.filter-chip:hover { background: #f7f4ed; }
.filter-chip[aria-pressed="true"] { border-color: var(--ink); background: var(--ink); color: white; }
.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-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: white; color: var(--ink); text-decoration: none; }
.card-review-link:hover { border-color: var(--accent); background: #fffcf8; }
.seat-badge { display: grid; width: auto; min-width: 38px; height: 38px; place-items: center; padding-inline: .35rem; border-radius: 11px; background: #ece9e0; 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: #245d78; }
.card-state.unread { background: #ece9e0; color: var(--muted); }
.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: rgba(255, 254, 250, .97); 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: #a0a5a6; }
.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-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 #d8b45b; 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; }
.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: #ece8de; }
.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: #ece9e0; 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); }
.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; }
.computed { display: grid; gap: .25rem; margin: .7rem 0 1rem; padding: .75rem; border: 1px solid #c7dce7; border-radius: 12px; background: var(--blue-soft); }
.computed span { color: var(--muted); }
.header-total-status { margin: 0; padding: .72rem .8rem; border: 1px solid #c7dce7; border-radius: 12px; background: var(--blue-soft); color: #245d78; font-size: .82rem; font-weight: 800; }
.header-total-status[data-state="valid"] { border-color: #97c9ad; background: var(--green-soft); color: var(--green); }
.header-total-status[data-state="mismatch"] { border-color: #d8b45b; background: var(--gold-soft); color: var(--gold); }
[data-saved-correction] button[type="submit"][data-saved-state="saved"] { border: 1px solid #97c9ad; background: var(--green-soft); color: var(--green); box-shadow: none; }
.identity-first-legacy .identity-field { padding: .65rem; border: 1px solid #d8b45b; border-radius: 12px; background: var(--accent-soft); }
.identity-first-legacy [data-header-total-field] { color: var(--muted); }
.written-totals-panel { margin-top: 1rem; overflow: hidden; border: 1px solid var(--line); border-radius: 13px; background: #f8f6f0; }
.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: white; }
.identity-crosscheck { display: grid; gap: .2rem; margin: .7rem 0; padding: .75rem; border: 1px solid #d8b45b; border-radius: 12px; background: var(--gold-soft); color: #674d00; }
.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: #78ae91; background: #f7fcf9; }
[data-header-total-field][data-total-state="mismatch"] input { border-color: #c18d16; background: #fffbef; box-shadow: 0 0 0 2px rgba(193, 141, 22, .12); }
.rows-panel { scroll-margin-top: 130px; }
.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; gap: .55rem; }
.row-review { margin: 0; padding: 0; border: 1px solid var(--line); border-radius: 12px; background: white; scroll-margin-top: 132px; overflow: hidden; }
.row-review.has-issue { border-color: #d2a134; background: #fffcf2; }
.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: 36px; height: 36px; place-items: center; border-radius: 10px; background: #ece9e0; font-weight: 900; }
.row-summary { display: grid; min-width: 0; }
.row-summary small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.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: #245d78; }
.row-badge.derived { background: #e8f5ec; 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 #e2c77e; background: var(--gold-soft); color: #674d00; 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 #a9cadb; border-radius: 11px; background: var(--blue-soft); color: #245d78; font-size: .78rem; }
.constraint-derived-note { display: grid; gap: .12rem; padding: .7rem .8rem; border-top: 1px solid #9ad0b4; background: var(--green-soft); color: var(--green); font-size: .78rem; }
.constraint-derived-note small { color: #356d4b; }
.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: #37697f; }
.human-edit-note form { flex: 0 0 auto; margin: 0; }
.button-quiet { width: auto; min-height: 44px; padding: .5rem .7rem; border: 1px solid #7eaabd; background: white; color: #245d78; font-size: .75rem; box-shadow: none; }
.button-quiet:hover { background: #f5fbfd; color: #17445a; }
.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: #f6f4ed; 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; }
.constraint-solutions { padding: 0; overflow: hidden; border-color: #9ad0b4; }
.constraint-solutions > summary { display: grid; min-height: 66px; grid-template-columns: minmax(0, 1fr) auto; align-content: center; gap: .08rem .7rem; padding: .7rem .9rem; color: var(--green); list-style: none; }
.constraint-solutions > summary::-webkit-details-marker { display: none; }
.constraint-solutions > summary span { color: #356d4b; font-size: .68rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.constraint-solutions > summary::after { grid-column: 2; grid-row: 1 / span 2; align-self: center; content: "+"; font-size: 1.2rem; }
.constraint-solutions[open] > summary::after { content: "−"; }
.constraint-solutions-body { display: grid; gap: .65rem; padding: .8rem .9rem; border-top: 1px solid #9ad0b4; background: #f8fff9; }
.constraint-solutions-body > p { margin: 0; }
.constraint-solution { display: flex; align-items: center; justify-content: space-between; gap: .7rem; padding: .7rem; border: 1px solid #9ad0b4; border-radius: 11px; background: white; }
.constraint-solution > div:first-child { display: grid; min-width: 0; gap: .12rem; }
.constraint-solution small { color: #356d4b; }
.constraint-links { display: flex; flex: 0 0 auto; gap: .45rem; }
.constraint-links a { min-height: 44px; padding: .5rem .65rem; border: 1px solid #78ae91; border-radius: 9px; color: var(--green); font-size: .72rem; font-weight: 850; text-decoration: none; }
.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: white; }
.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: white; }
.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: #e3b4aa; background: #fffaf8; }
.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); box-shadow: 0 4px 12px rgba(148, 47, 38, .18); }
.button-danger:hover { background: #6f211b; }

@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)); }
  .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; }
  figure img { height: 240px; }
  .correction-card:not(.row-fix) { grid-template-columns: minmax(240px, .8fr) 1fr; align-items: start; }
  .row-review-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .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 { grid-template-columns: minmax(360px, .9fr) minmax(0, 1.1fr); align-items: center; }
}

@media (max-width: 519px) {
  .site-header { padding-inline: .8rem; }
  .brand-label { display: none; }
  .site-tabs { gap: .1rem; }
  .site-tabs a { min-height: 40px; padding-inline: .5rem; font-size: .7rem; }
  .header-tag { display: none; }
  .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: 44px minmax(48px, 1fr) 44px minmax(54px, 1fr) minmax(48px, 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 #d4cec0; 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; }
  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: rgba(229, 239, 244, .97); 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; }
  .constraint-solution, .constraint-links { display: grid; }
  .constraint-links { grid-template-columns: 1fr 1fr; }
  .constraint-links a { display: grid; place-items: center; }
  .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-toolbar { position: sticky; top: 62px; z-index: 9; margin-inline: -.35rem; background: rgba(229, 239, 244, .97); box-shadow: 0 6px 18px rgba(35, 36, 30, .12); }
  .direct-review-nav { display: none; }
  .direct-review-shortcut { display: none; }
  .direct-review-step { min-width: 72px; padding-inline: .35rem; }
  .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%; }
  .question-card { scroll-margin-top: 136px; }
  .question-card .comparison-prompt { padding: .75rem; }
  .question-card .comparison-readings { gap: .35rem; }
  .question-card .evidence-grid { display: flex; gap: .5rem; overflow-x: auto; padding: .5rem; scroll-padding-inline: .5rem; scroll-snap-type: x mandatory; scrollbar-width: thin; }
  .question-card .evidence-grid figure { min-width: 0; flex: 0 0 calc(100% - 1.25rem); overflow: hidden; border: 1px solid var(--line); border-radius: 12px; scroll-snap-align: center; }
  .question-card .evidence-viewport { height: min(36dvh, 310px); }
  .row-fix { scroll-margin-top: 136px; }
  .row-fix .evidence-viewport { height: min(42dvh, 360px); }
  .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); }
  .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: rgba(255, 254, 250, .97); 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: white; box-shadow: 0 5px 16px rgba(40, 38, 30, .06); }
  .standings-table td { display: grid; min-width: 0; gap: .05rem; padding: .35rem; border: 0; font-weight: 850; white-space: normal; }
  .standings-table td::before { 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 #ece8de; }
}

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

@media print {
  body { background: white; font-size: 12px; }
  .site-header, .rotation-hero, .rotation-builder, .rotation-game-nav { 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)); }
}

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