/* Colle and the shared upgrade card, in the Accueil language of pages.css: white 16px cards, one accent. */
body[data-page="colle"] #page .colle-page { display: grid; gap: 16px; min-width: 0; }
body[data-page="colle"] #page .colle-page > .section-head { margin: 0; }
body[data-page="colle"] #page .colle-page h2 { margin: 0 0 6px; color: var(--ink); font-size: var(--text-panel); line-height: var(--leading-heading); letter-spacing: var(--tracking-heading); }
body[data-page="colle"] #page .colle-page .card { padding: 20px; min-width: 0; }
body[data-page="colle"] #page .colle-muted { margin: 0; color: var(--secondary); font-size: var(--text-sm); line-height: 20px; }
body[data-page="colle"] #page .is-low { color: var(--danger); }
body[data-page="colle"] #page .colle-head-actions { display: flex; flex-wrap: wrap; gap: 8px; }

/* Home. */
body[data-page="colle"] #page .colle-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(280px, 360px); gap: 16px; align-items: start; }
body[data-page="colle"] #page .colle-rail { display: grid; gap: 16px; min-width: 0; }
body[data-page="colle"] #page .colle-setup { display: grid; gap: 16px; }
body[data-page="colle"] #page .colle-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
body[data-page="colle"] #page .colle-fields-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body[data-page="colle"] #page .colle-page .field { margin: 0; min-width: 0; }
body[data-page="colle"] #page .colle-chapter-field { display: grid; gap: 8px; }
body[data-page="colle"] #page .colle-chapter-field input[type=search] { width: 100%; }
body[data-page="colle"] #page .colle-results { display: grid; gap: 4px; max-height: 280px; overflow-y: auto; }
body[data-page="colle"] #page .colle-option { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; min-height: 48px; margin: 0; padding: 8px 12px; border: 1px solid var(--hairline); border-radius: var(--control-radius); background: var(--surface); color: var(--ink); text-align: left; cursor: pointer; }
body[data-page="colle"] #page .colle-option:hover:not(:disabled) { border-color: var(--brand); background: var(--brand-tint); }
body[data-page="colle"] #page .colle-option:disabled { cursor: default; opacity: .55; }
body[data-page="colle"] #page .colle-option span { display: grid; min-width: 0; }
body[data-page="colle"] #page .colle-option strong { font-size: var(--text-sm); line-height: 20px; }
body[data-page="colle"] #page .colle-option small, body[data-page="colle"] #page .colle-option em { color: var(--secondary); font-size: var(--text-xs); line-height: 16px; font-style: normal; }
body[data-page="colle"] #page .colle-option em { flex: none; }
body[data-page="colle"] #page .colle-chip { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 48px; padding: 8px 12px; border: 1px solid var(--brand); border-radius: var(--control-radius); background: var(--brand-tint); }
body[data-page="colle"] #page .colle-chip span { display: grid; }
body[data-page="colle"] #page .colle-chip strong { color: var(--ink); font-size: var(--text-sm); }
body[data-page="colle"] #page .colle-chip small { color: var(--secondary); font-size: var(--text-xs); }
body[data-page="colle"] #page .colle-random { justify-self: start; padding: 0; font-size: var(--text-sm); }
body[data-page="colle"] #page .colle-mode { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
body[data-page="colle"] #page .colle-mode button { display: grid; gap: 2px; margin: 0; padding: 12px; border: 1px solid var(--hairline); border-radius: var(--control-radius); background: var(--surface); color: var(--ink); text-align: left; cursor: pointer; }
body[data-page="colle"] #page .colle-mode button[aria-pressed="true"] { border-color: var(--brand); background: var(--brand-tint); }
body[data-page="colle"] #page .colle-mode strong { font-size: var(--text-sm); }
body[data-page="colle"] #page .colle-mode small { color: var(--secondary); font-size: var(--text-xs); line-height: 16px; }
body[data-page="colle"] #page .colle-start { justify-self: start; min-width: 200px; }
body[data-page="colle"] #page .colle-join { display: flex; gap: 8px; margin-top: 12px; }
body[data-page="colle"] #page .colle-join input { width: 100%; min-width: 0; height: 40px; padding: 0 12px; border: 1px solid var(--hairline); border-radius: var(--control-radius); background: var(--surface); color: var(--ink); font: inherit; font-size: 18px; letter-spacing: .3em; text-align: center; }
body[data-page="colle"] #page .colle-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 8px 0 12px; }
body[data-page="colle"] #page .colle-stats div { display: grid; }
body[data-page="colle"] #page .colle-stats strong { color: var(--ink); font-size: 22px; line-height: 28px; font-weight: var(--font-semibold); }
body[data-page="colle"] #page .colle-stats strong small { color: var(--secondary); font-size: var(--text-sm); font-weight: var(--font-regular); }
body[data-page="colle"] #page .colle-stats span { color: var(--secondary); font-size: var(--text-xs); }
body[data-page="colle"] #page .colle-history-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 0; border-top: 1px solid var(--hairline); }
body[data-page="colle"] #page .colle-history-row span { display: grid; min-width: 0; color: var(--ink); font-size: var(--text-sm); line-height: 20px; }
body[data-page="colle"] #page .colle-history-row small { color: var(--secondary); font-size: var(--text-xs); line-height: 16px; }
body[data-page="colle"] #page .colle-history-row strong { color: var(--ink); font-size: var(--text-sm); }
body[data-page="colle"] #page .colle-status { flex: none; padding: 2px 8px; border-radius: 999px; background: var(--chip); color: var(--secondary); font-size: var(--text-xs); font-style: normal; }
body[data-page="colle"] #page .colle-status.is-approved { background: var(--success-tint); color: var(--success); }
body[data-page="colle"] #page .colle-status.is-rejected { background: var(--danger-tint); color: var(--danger); }
body[data-page="colle"] #page .colle-contribute { display: grid; gap: 10px; }
body[data-page="colle"] #page .colle-progress-top { display: flex; justify-content: space-between; gap: 8px; color: var(--ink); font-size: var(--text-sm); }
body[data-page="colle"] #page .colle-progress-top span { color: var(--secondary); font-size: var(--text-xs); }
body[data-page="colle"] #page .colle-bar-track { display: block; height: 6px; border-radius: 999px; background: var(--chip); overflow: hidden; }
body[data-page="colle"] #page .colle-bar-track > span { display: block; height: 100%; border-radius: inherit; background: var(--brand-solid); transition: width .25s linear; }
body[data-page="colle"] #page .colle-reward { margin: 0; color: var(--success); font-size: var(--text-sm); font-weight: var(--font-medium); }

/* Running a colle. */
body[data-page="colle"] #page .colle-run-grid { display: grid; gap: 16px; max-width: 860px; }
body[data-page="colle"] #page .colle-timer, body[data-page="colle"] #page .colle-result, body[data-page="colle"] #page .colle-code { display: grid; justify-items: center; gap: 10px; text-align: center; }
body[data-page="colle"] #page .colle-phase { color: var(--brand); font-size: var(--text-xs); font-weight: var(--font-semibold); letter-spacing: .06em; text-transform: uppercase; }
body[data-page="colle"] #page .colle-timer [data-phase="over"] .colle-phase, body[data-page="colle"] #page .colle-timer[data-phase="over"] .colle-phase { color: var(--danger); }
body[data-page="colle"] #page #colleClock { color: var(--ink); font-size: 56px; line-height: 64px; font-weight: var(--font-semibold); font-variant-numeric: tabular-nums; letter-spacing: -.02em; }
body[data-page="colle"] #page .colle-timer .colle-bar-track { width: min(420px, 100%); }
body[data-page="colle"] #page .colle-timer-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
body[data-page="colle"] #page .colle-code strong { color: var(--ink); font-size: 64px; line-height: 72px; font-weight: var(--font-bold); letter-spacing: .2em; font-variant-numeric: tabular-nums; }
body[data-page="colle"] #page .colle-code p, body[data-page="colle"] #page .colle-result p { margin: 0; color: var(--ink); font-size: var(--text-sm); line-height: 22px; }
body[data-page="colle"] #page .colle-waiting { animation: colle-pulse 1.6s ease-in-out infinite; }
@keyframes colle-pulse { 50% { opacity: .45; } }
@media (prefers-reduced-motion: reduce) { body[data-page="colle"] #page .colle-waiting { animation: none; } }
body[data-page="colle"] #page .colle-result strong { color: var(--ink); font-size: 56px; line-height: 64px; font-weight: var(--font-semibold); }
body[data-page="colle"] #page .colle-result strong.is-low { color: var(--danger); }
body[data-page="colle"] #page .colle-result strong small { color: var(--secondary); font-size: 20px; font-weight: var(--font-regular); }
body[data-page="colle"] #page .colle-q-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin-bottom: 12px; color: var(--secondary); font-size: var(--text-sm); }
body[data-page="colle"] #page .colle-pill { padding: 2px 10px; border-radius: 999px; background: var(--brand-tint); color: var(--brand); font-size: var(--text-xs); line-height: 20px; font-weight: var(--font-semibold); }
body[data-page="colle"] #page .colle-difficulty { display: inline-flex; gap: 3px; }
body[data-page="colle"] #page .colle-difficulty i { width: 8px; height: 8px; border-radius: 50%; background: var(--chip); box-shadow: inset 0 0 0 1px var(--hairline); }
body[data-page="colle"] #page .colle-difficulty i.is-on { background: var(--brand-solid); box-shadow: none; }
body[data-page="colle"] #page .colle-statement { color: var(--ink); font-size: 17px; line-height: 28px; overflow-wrap: anywhere; white-space: pre-wrap; }
body[data-page="colle"] #page .colle-statement .katex-display { overflow-x: auto; overflow-y: hidden; }
body[data-page="colle"] #page .colle-check-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
body[data-page="colle"] #page #colleScore { color: var(--ink); font-size: 26px; line-height: 32px; font-weight: var(--font-semibold); }
body[data-page="colle"] #page #colleScore small { color: var(--secondary); font-size: var(--text-sm); font-weight: var(--font-regular); }
body[data-page="colle"] #page .colle-check { display: grid; grid-template-columns: 20px minmax(0, 1fr) auto; align-items: start; gap: 12px; margin-top: 12px; padding: 12px; border: 1px solid var(--hairline); border-radius: var(--control-radius); color: var(--ink); font-size: var(--text-sm); line-height: 22px; cursor: pointer; }
body[data-page="colle"] #page .colle-check:has(input:checked) { border-color: var(--brand); background: var(--brand-tint); }
body[data-page="colle"] #page .colle-check input { width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--brand-solid); }
body[data-page="colle"] #page .colle-check em { color: var(--secondary); font-size: var(--text-xs); font-style: normal; white-space: nowrap; }
body[data-page="colle"] #page .colle-trap { display: grid; gap: 6px; margin-top: 12px; padding: 12px; border-radius: var(--control-radius); background: var(--chip); }
body[data-page="colle"] #page .colle-trap p { margin: 0; color: var(--ink); font-size: var(--text-sm); line-height: 22px; font-weight: var(--font-medium); }
body[data-page="colle"] #page .colle-trap-answer { color: var(--secondary); font-size: var(--text-sm); line-height: 22px; }
body[data-page="colle"] #page .colle-trap .link-btn { justify-self: start; padding: 0; font-size: var(--text-sm); }
body[data-page="colle"] #page .colle-save { display: flex; justify-content: flex-end; }

/* Submission form. */
body[data-page="colle"] #page .colle-form { display: grid; gap: 16px; max-width: 860px; }
body[data-page="colle"] #page .colle-form textarea { width: 100%; }
body[data-page="colle"] #page .colle-preview { margin-top: 8px; padding: 12px; border-radius: var(--control-radius); background: var(--chip); color: var(--ink); font-size: var(--text-sm); line-height: 24px; white-space: pre-wrap; overflow-wrap: anywhere; }
body[data-page="colle"] #page .colle-preview:empty { display: none; }
body[data-page="colle"] #page .colle-rows { display: grid; gap: 8px; margin: 0; padding: 0; border: 0; min-width: 0; }
body[data-page="colle"] #page .colle-rows legend { display: grid; gap: 2px; margin-bottom: 4px; padding: 0; color: var(--ink); font-size: var(--text-sm); font-weight: var(--font-medium); }
body[data-page="colle"] #page .colle-rows legend small { color: var(--secondary); font-size: var(--text-xs); font-weight: var(--font-regular); }
body[data-page="colle"] #page .colle-row { display: grid; grid-template-columns: minmax(0, 1fr) 88px auto; gap: 8px; align-items: center; }
body[data-page="colle"] #page .colle-row-trap { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; }
body[data-page="colle"] #page .colle-row input { width: 100%; min-width: 0; height: 40px; padding: 0 12px; border: 1px solid var(--hairline); border-radius: var(--control-radius); background: var(--surface); color: var(--ink); font: inherit; font-size: var(--text-sm); }
body[data-page="colle"] #page .colle-rows > .link-btn, body[data-page="colle"] #page .colle-row .link-btn { justify-self: start; padding: 0; font-size: var(--text-sm); }
body[data-page="colle"] #page .colle-form-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }

/* Moderation. */
body[data-page="colle"] #page .colle-tabs { display: inline-flex; gap: 2px; justify-self: start; padding: 3px; border: 1px solid var(--hairline); border-radius: var(--control-radius); background: var(--surface); }
body[data-page="colle"] #page .colle-tabs button { height: 34px; margin: 0; padding: 0 12px; border: 0; border-radius: 7px; background: transparent; color: var(--secondary); font-size: var(--text-sm); font-weight: var(--font-medium); cursor: pointer; }
body[data-page="colle"] #page .colle-tabs button[aria-selected="true"] { background: var(--brand-tint); color: var(--brand); }
body[data-page="colle"] #page .colle-mod { display: grid; gap: 16px; }
body[data-page="colle"] #page .colle-mod-card { display: grid; gap: 12px; }
body[data-page="colle"] #page .colle-mod-card .colle-q-meta { margin: 0; }
body[data-page="colle"] #page .colle-mod-list { display: grid; gap: 4px; margin: 0; padding: 0; list-style: none; }
body[data-page="colle"] #page .colle-mod-list li { display: flex; justify-content: space-between; gap: 12px; padding: 6px 0; border-top: 1px solid var(--hairline); color: var(--ink); font-size: var(--text-sm); }
body[data-page="colle"] #page .colle-mod-list em { color: var(--secondary); font-style: normal; text-align: right; }
body[data-page="colle"] #page .colle-bareme { width: 100%; border-collapse: collapse; font-size: var(--text-sm); }
body[data-page="colle"] #page .colle-bareme th, body[data-page="colle"] #page .colle-bareme td { padding: 6px 8px; border-top: 1px solid var(--hairline); color: var(--ink); text-align: left; }
body[data-page="colle"] #page .colle-bareme th { color: var(--secondary); font-weight: var(--font-medium); }

/* Upgrade card (shared by Colle and Épreuve). */
body[data-page] #page .upgrade-card { display: grid; gap: 12px; max-width: 560px; padding: 28px; }
body[data-page] #page .upgrade-kicker { color: var(--brand); font-size: var(--text-xs); font-weight: var(--font-semibold); letter-spacing: .06em; text-transform: uppercase; }
body[data-page] #page .upgrade-card h2 { margin: 0; color: var(--ink); font-size: 22px; line-height: 28px; }
body[data-page] #page .upgrade-card p { margin: 0; color: var(--secondary); font-size: var(--text-sm); line-height: 22px; }
body[data-page] #page .upgrade-card ul { display: grid; gap: 8px; margin: 4px 0; padding: 0; list-style: none; }
body[data-page] #page .upgrade-card li { display: flex; align-items: center; gap: 10px; color: var(--ink); font-size: var(--text-sm); }
body[data-page] #page .upgrade-card li .icon-svg { width: 18px; height: 18px; flex: none; }
body[data-page] #page .upgrade-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 4px; }
body[data-page] #page .upgrade-actions a.primary-btn { text-decoration: none; }

@media (max-width: 1099px) {
  body[data-page="colle"] #page .colle-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 767px) {
  body[data-page="colle"] #page .colle-page .card { padding: 16px; }
  body[data-page="colle"] #page .colle-fields-3 { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  body[data-page="colle"] #page .colle-mode { grid-template-columns: minmax(0, 1fr); }
  body[data-page="colle"] #page .colle-start { width: 100%; }
  body[data-page="colle"] #page #colleClock, body[data-page="colle"] #page .colle-result strong { font-size: 44px; line-height: 52px; }
  body[data-page="colle"] #page .colle-code strong { font-size: 52px; line-height: 60px; }
  body[data-page="colle"] #page .colle-row-trap { grid-template-columns: minmax(0, 1fr) auto; }
  body[data-page="colle"] #page .colle-row-trap input[name=trapAnswer] { grid-column: 1; grid-row: 2; }
  body[data-page="colle"] #page .colle-bareme { display: block; overflow-x: auto; }
}
