/* COLOR_PRIMARY: approved institution identities; colors are not verdicts. */
:root{--is-paper:#f4efe5;--is-panel:#fbf7ef;--is-ink:#1b1610;--is-muted:#655c50;--is-line:#d5cec2;--is-font:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--is-serif:Newsreader,Georgia,serif;--is-max:1160px;--is-radius:6px;--is-color:#1b1610;--is-on-color:#fff;--is-state-fill:transparent}
[data-institution="build"]{--is-color:#f4efe5;--is-on-color:#1b1610;--is-tint:color-mix(in srgb,#f4efe5 9%,var(--is-paper));}
[data-institution="vera"]{--is-color:#71406f;--is-on-color:#fff;--is-tint:color-mix(in srgb,#71406f 9%,var(--is-paper));}
[data-institution="true"]{--is-color:#71406f;--is-on-color:#fff;--is-tint:color-mix(in srgb,#71406f 9%,var(--is-paper));}
[data-institution="decide"]{--is-color:#2949d8;--is-on-color:#fff;--is-tint:color-mix(in srgb,#2949d8 9%,var(--is-paper));}
[data-institution="solve"]{--is-color:#ff6b39;--is-on-color:#1b1610;--is-tint:color-mix(in srgb,#ff6b39 9%,var(--is-paper));}
[data-institution="league"]{--is-color:#c7ef49;--is-on-color:#1b1610;--is-tint:color-mix(in srgb,#c7ef49 9%,var(--is-paper));}
[data-institution="versus"]{--is-color:#2162d1;--is-on-color:#fff;--is-tint:color-mix(in srgb,#2162d1 9%,var(--is-paper));}
[data-institution="which"]{--is-color:#ef83c9;--is-on-color:#1b1610;--is-tint:color-mix(in srgb,#ef83c9 9%,var(--is-paper));}
[data-institution="beat"]{--is-color:#163a2e;--is-on-color:#fff;--is-tint:color-mix(in srgb,#163a2e 9%,var(--is-paper));}
[data-institution="news"]{--is-color:#c6284a;--is-on-color:#fff;--is-tint:color-mix(in srgb,#c6284a 9%,var(--is-paper));}
[data-institution="prompts"]{--is-color:#7557d7;--is-on-color:#fff;--is-tint:color-mix(in srgb,#7557d7 9%,var(--is-paper));}
[data-institution="record"]{--is-color:#ebe2d2;--is-on-color:#1b1610;--is-tint:color-mix(in srgb,#ebe2d2 9%,var(--is-paper));}
[data-institution="verafied"]{--is-color:#5e377f;--is-on-color:#fff;--is-tint:color-mix(in srgb,#5e377f 9%,var(--is-paper));}
html[data-institution]{background:var(--is-paper);color:var(--is-ink);font-family:var(--is-font);color-scheme:light}
html[data-institution] body{background:var(--is-paper);color:var(--is-ink);font-family:var(--is-font);font-size:15px;line-height:1.45}
html[data-institution] :is(button,input,select,textarea){font-family:var(--is-font)}
html[data-institution] :is(h1,h2,h3){overflow-wrap:anywhere;text-wrap:balance}
html[data-institution] :is(a,button,input,select,textarea,summary):focus-visible{outline:2px solid var(--is-ink);outline-offset:4px}
html[data-institution] :is(button,[role="button"]){touch-action:manipulation}
html[data-institution] img{max-width:100%}
.is-button{display:inline-flex;justify-content:center;align-items:center;min-height:44px;padding:9px 16px;border:1px solid var(--is-line);border-radius:999px;background:var(--is-panel);color:var(--is-ink);font:650 13px/1.3 var(--is-font);text-decoration:none;gap:8px}
.is-button.primary{background:var(--is-color);color:var(--is-on-color);border-color:var(--is-color)}
.is-label{font:700 11px/1.35 var(--is-font);letter-spacing:.09em;text-transform:uppercase}
.is-panel{padding:18px;border:1px solid var(--is-line);border-top:4px solid var(--is-color);border-radius:var(--is-radius);background:var(--is-panel)}
/* State names remain visible in each product. Shade reinforces actual state. */
[data-ui-state="started"]{--is-state-fill:color-mix(in srgb,var(--is-color) 5%,var(--is-panel))}
[data-ui-state="progressing"]{--is-state-fill:color-mix(in srgb,var(--is-color) 10%,var(--is-panel))}
[data-ui-state="complete"],[data-ui-state="revealed"]{--is-state-fill:color-mix(in srgb,var(--is-color) 18%,var(--is-panel))}
[data-ui-state="earned"]{--is-state-fill:color-mix(in srgb,var(--is-color) 24%,var(--is-panel))}
[data-ui-state="warning"],[data-ui-state="stopped"]{--is-state-fill:color-mix(in srgb,var(--is-color) 8%,var(--is-panel));border:2px solid var(--is-ink)}
[data-ui-state]{background:var(--is-state-fill)}
@media(min-width:1024px){.is-button{min-height:34px;padding:7px 13px;font-size:12px}}
@media(prefers-reduced-motion:reduce){html[data-institution]{scroll-behavior:auto}}

[data-institution="algorithmic"]{--is-color:#b6311a;--is-on-color:#fff;--is-tint:color-mix(in srgb,#b6311a 9%,var(--is-paper))}
html[data-institution="record"] body{background:#ebe2d2}

/* Product adapter: one primary type family, dense controls, existing content and actions. */
html[data-institution]{--sans:var(--is-font);--font-interface:var(--is-font);--paper:var(--is-paper);--ink:var(--is-ink);--white:var(--is-panel);--muted:var(--is-muted);--line:var(--is-line);--accent:var(--is-color);--max:1160px}
html[data-institution] :is(.topbar,.site-header,.masthead,.brand,.site-bar,header:not(.mobile-entry header)):not(.chapter-header):not(.panel-head){box-shadow:none;backdrop-filter:none}
html[data-institution] :is(.topbar,.site-header,.masthead,.site-bar){background:var(--is-paper);color:var(--is-ink);border-top:4px solid var(--is-color);border-bottom:1px solid var(--is-line)}
html[data-institution] :is(.hero h1,.page-head h1,.screen h1,.judge h1,.question h1,.ending h1){font:650 clamp(28px,4vw,44px)/1.12 var(--is-font);letter-spacing:-.03em;max-width:28ch}
html[data-institution] :is(.section h2,.page-head h2,.hero h2){font-size:clamp(22px,3vw,30px);line-height:1.18;letter-spacing:-.025em}
html[data-institution] :is(.button,.primary,.secondary,.choice,.option,.submit-button){border-radius:6px;min-height:44px;font-family:var(--is-font);font-size:13px;letter-spacing:.02em;box-shadow:none}
html[data-institution] :is(.eyebrow,.kicker,.label,.section-label){font:700 11px/1.4 var(--is-font);letter-spacing:.08em}
html[data-institution] :is(.hero,.section){min-height:0;padding-block:28px}
html[data-institution] :is(.primary,.button-primary){background:var(--is-color);border-color:var(--is-color);color:var(--is-on-color)}
html[data-institution] :is(button[aria-pressed="true"],button.chosen,button.selected){background:var(--is-color);color:var(--is-on-color);border-color:var(--is-color)}
html[data-institution] :is(.panel,.master-card,.challenger-card,.proof-card,.day,.record-item){border-radius:6px;box-shadow:none}
@media(min-width:1024px){html[data-institution] :is(.button,.primary,.secondary,.choice,.submit-button){min-height:34px;padding:8px 14px}html[data-institution] :is(.hero h1,.screen h1,.question h1){font-size:36px}}

html[data-institution="which"]{--green:#9a3e7b;--serif:var(--is-serif)}
html[data-institution="which"] .edition{min-height:0;padding:24px 20px 32px;max-width:1160px;margin:auto}
html[data-institution="which"] .edition-meta{margin-bottom:24px;padding-bottom:12px}
html[data-institution="which"] h1{font:600 clamp(28px,4vw,40px)/1.12 var(--is-serif)}
html[data-institution="which"] .blind-notice{font-size:14px;margin-bottom:20px}
html[data-institution="which"] .confidence{margin-bottom:18px}
html[data-institution="which"] .confidence-options label{min-height:44px;padding:12px}
html[data-institution="which"] .edition :is(.options,.option-grid){gap:14px}
html[data-institution="which"] :is(.option-card,.option){border-radius:6px;background:var(--is-tint)}
html[data-institution="which"] .option img{max-height:340px;object-fit:contain}
html[data-institution="which"] section{padding-block:24px}

html[data-institution="which"]{--poster-frame:#d8d3cd;--is-color:#d8d3cd}

/* Approved poster system. Local bundle; ThisIsVera.ai is excluded. */
html[data-institution]{--poster-purple:#71406f;--poster-gold:#946015;--is-paper:#f4efe5;--is-panel:#faf7f0;--is-font:Inter,Arial,sans-serif}
html[data-institution] body{background:var(--is-paper);font-family:var(--is-font)}
html[data-institution] :is(.hero h1,.page-head h1,.screen h1,.judge h1,.question h1,.ending h1,.edition h1,.live-hero h1){font-family:var(--is-font);font-weight:800;letter-spacing:-.045em;line-height:1.05}
html[data-institution] :is(.master-card,.challenger-card,.score-card,.record-card,.daily-card,.proof-card,.day){border:12px solid var(--poster-frame);border-radius:8px;background:var(--is-panel);box-shadow:none;margin-bottom:22px}
html[data-institution] :is(.hero,.live-hero,.match-head){border-radius:8px}
html[data-institution] :is(.choices,.daily-choices):has(>button:nth-child(2):last-child)>button,
html[data-institution] .entries>.entry{background:var(--is-panel)!important;border:1px solid var(--poster-purple)!important;color:var(--poster-purple)!important;border-radius:6px;box-shadow:none;min-height:44px}
html[data-institution] :is(.choices,.daily-choices):has(>button:nth-child(2):last-child)>button:nth-child(2),
html[data-institution] .entries>.entry-b{border-color:var(--poster-gold)!important;color:var(--poster-gold)!important}
html[data-institution] .entry .choose{background:transparent!important;border:1px solid currentColor!important;color:inherit!important}
html[data-institution] :is(.choices,.daily-choices):has(>button:nth-child(2):last-child)>button:is([aria-pressed="true"],.selected,.chosen),html[data-institution] .entries>.entry.selected{outline:2px solid currentColor;outline-offset:3px;background:transparent!important}
html[data-institution] :is(button,a):focus-visible{outline:2px solid var(--poster-purple);outline-offset:4px}

.edition-meta{background:var(--poster-frame);padding:18px}.wordmark{font-family:Inter,Arial,sans-serif!important;font-weight:800!important}

/* WhichWon main judgment only. Append after app.css and institution.css.
   The existing A plum / B amber identities and state logic remain unchanged. */
html[data-institution="which"] #decision > .edition {
  max-width:1040px;
  min-height:0;
  margin:0 auto;
  padding:28px 24px 36px;
  align-content:start;
}
html[data-institution="which"] #decision .edition-meta {
  justify-content:center;
  padding:0;
  margin:0 0 18px;
  border:0;
  background:transparent;
  box-shadow:none;
  color:#865f8b;
  font:650 12px/1.4 var(--is-font,Arial,sans-serif);
  letter-spacing:.13em;
  text-align:center;
}
html[data-institution="which"] #decision #editionDate {
  color:inherit;
  margin:0;
  text-align:center;
}
html[data-institution="which"] #decision #question {
  max-width:24ch;
  margin:0 auto 24px;
  color:var(--is-ink,#1b1610);
  font-family:var(--is-font,Arial,sans-serif);
  font-size:clamp(34px,4.8vw,56px);
  font-weight:750;
  line-height:1.09;
  letter-spacing:-.04em;
  text-align:center;
  text-wrap:balance;
  overflow-wrap:anywhere;
}
html[data-institution="which"] #decision #choices.choices {
  grid-template-columns:repeat(2,minmax(0,1fr));
  width:100%;
  max-width:920px;
  gap:18px;
  margin:0 auto;
}
html[data-institution="which"] #decision #choices > button.choice {
  min-width:0;
  min-height:160px;
  padding:26px 24px;
  border-radius:14px;
  font-family:var(--is-font,Arial,sans-serif);
  font-size:clamp(32px,3vw,40px);
  font-weight:650;
  line-height:1.16;
  letter-spacing:-.025em;
  white-space:normal;
  overflow-wrap:anywhere;
  text-wrap:balance;
  transition:border-color .16s ease,box-shadow .16s ease;
}
html[data-institution="which"] #decision #choices > button.choice:not(:disabled):hover {
  transform:none;
  box-shadow:inset 0 0 0 1px currentColor;
}
html[data-institution="which"] #decision #choices > button.choice:focus-visible {
  outline:3px solid currentColor;
  outline-offset:4px;
}
html[data-institution="which"] #decision #choices > button.choice:disabled {
  transform:none;
  box-shadow:none;
}
html[data-institution="which"] #decision #choices > button.choice {position:relative;overflow:hidden;}
html[data-institution="which"] #decision .choice-label {transition:opacity .18s ease;}
html[data-institution="which"] #decision #choices > button.choice.selected {opacity:1;}
html[data-institution="which"] #decision .choice.selected .choice-label {opacity:.12;}
html[data-institution="which"] #decision #agreementMessage {
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  margin:0;
  padding:16px;
  color:inherit;
  background:rgba(250,247,240,.68);
  border-radius:inherit;
  pointer-events:none;
  text-align:center;
  letter-spacing:-.025em;
}
html[data-institution="which"] #decision #agreementMessage strong {font:750 clamp(40px,5vw,56px)/1 var(--is-font,Arial,sans-serif);}
html[data-institution="which"] #decision #agreementMessage > span {font:600 20px/1.2 var(--is-font,Arial,sans-serif);}
html[data-institution="which"] #decision #actionMessage {
  max-width:56ch;
  min-height:0;
  margin:12px auto 0;
  font-size:14px;
  line-height:1.5;
}
html[data-institution="which"] #decision #actionMessage.error {
  color:var(--error,#8b2e24);
  font-weight:600;
}
html[data-institution="which"] #decision .status-panel {padding:28px 8px;}
html[data-institution="which"] #decision .edition :is(.bet-panel,.results) {
  margin-top:28px;
  padding-top:24px;
}
@media(max-width:640px) {
  html[data-institution="which"] #decision > .edition {padding:18px 18px 24px;}
  html[data-institution="which"] #decision .edition-meta {margin-bottom:15px;font-size:11px;}
  html[data-institution="which"] #decision #question {
    max-width:22ch;
    margin-bottom:20px;
    font-size:clamp(30px,8.5vw,38px);
    line-height:1.1;
    letter-spacing:-.035em;
  }
  html[data-institution="which"] #decision #choices.choices {grid-template-columns:minmax(0,1fr);gap:12px;}
  html[data-institution="which"] #decision #choices > button.choice {
    min-height:104px;
    padding:20px 22px;
    border-radius:12px;
    font-size:28px;
    line-height:1.16;
  }
  html[data-institution="which"] #decision #agreementMessage {padding:12px;}
  html[data-institution="which"] #decision #actionMessage {margin-top:10px;font-size:13px;}
}
@media(prefers-reduced-motion:reduce) {
  html[data-institution="which"] #decision #choices > button.choice,
  html[data-institution="which"] #decision .choice-label {transition:none;}
}
