/* Public leaderboard only. Shared site chrome and admin settings retain their styles. */
.qc-public { background:#edf2fa; }
.qc-public .qc-main { --qc-ink:#152745; --qc-muted:#52627a; --qc-line:#d6dfed; max-width:1180px; padding:2rem 1rem 2.5rem; }
.qc-public .qc-main :is(section,aside,[id]) { scroll-margin-top:6rem; }
.qc-public .qc-main .qc-intro-grid { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(0,1fr); gap:1.25rem; align-items:stretch; }
.qc-public .qc-main .qc-hero { margin:0; padding:2rem; border:0; border-radius:1.5rem; background:linear-gradient(125deg,#102e72,#1d4ed8 76%); color:#fff; box-shadow:0 12px 28px #163d8d26; }
.qc-public .qc-main .qc-hero-top { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.75rem; }
.qc-public .qc-main .qc-hero .qc-kicker { margin:0; color:#d1e5ff; font-size:.7rem; font-weight:750; letter-spacing:.12em; }
.qc-public .qc-main .qc-hero .qc-badge { background:#fff; color:#1645b4; font-size:.7rem; }
.qc-public .qc-main .qc-hero h1 { color:#fff; font-size:clamp(1.9rem,3.2vw,2.75rem); font-weight:850; letter-spacing:-.04em; line-height:1.1; margin:1.5rem 0 .85rem; }
.qc-public .qc-main .qc-hero h1 span { display:block; font-size:.48em; font-weight:650; letter-spacing:0; line-height:1.45; margin-top:.7rem; color:#d9e9ff; }
.qc-public .qc-main .qc-hero p { color:#e0eaff; font-size:.95rem; line-height:1.6; }
.qc-public .qc-main .qc-hero #qc-dates { font-size:.74rem; line-height:1.55; color:#d3e3ff; margin-top:1.25rem; }
.qc-public .qc-main .qc-hero .qc-actions { gap:.65rem; margin-top:1.3rem; }
.qc-public .qc-main .qc-hero .qc-button { gap:.5rem; background:transparent; border-color:#8daeff; color:#fff; font-size:.8rem; min-height:44px; }
.qc-public .qc-main .qc-hero .qc-button.primary { background:#fff; color:#1645b4; border-color:#fff; box-shadow:0 5px 14px #09286836; }
.qc-public .qc-main .qc-clock-card { min-width:0; padding:1.65rem; background:#10223d; border:1px solid #243c61; border-radius:1.5rem; color:#fff; display:flex; flex-direction:column; justify-content:space-between; box-shadow:0 12px 28px #10223d1a; }
.qc-public .qc-main .qc-clock-top { display:flex; align-items:center; gap:.75rem; }
.qc-public .qc-main .qc-clock-icon { display:grid; place-items:center; width:40px; height:40px; border-radius:12px; background:#254876; color:#8fcdff; }
.qc-public .qc-main .qc-clock-label { color:#c4d6f0; font-size:.76rem; font-weight:600; }
.qc-public .qc-main .qc-clock-card h2 { color:#fff; font-size:1.1rem; font-weight:750; margin:1rem 0; }
.qc-public .qc-main .qc-clock-display { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.45rem; font-variant-numeric:tabular-nums; }
.qc-public .qc-main .qc-clock-display > span:not(.qc-clock-final) { border:1px solid #3b5277; border-radius:.8rem; text-align:center; padding:.85rem .25rem; background:#1c3354; }
.qc-public .qc-main .qc-clock-display strong { display:block; font-size:clamp(1.5rem,2.6vw,2.15rem); line-height:1.15; font-weight:800; color:#fff; }
.qc-public .qc-main .qc-clock-display small { display:block; font-size:.62rem; text-transform:uppercase; letter-spacing:.1em; color:#bfd0e8; margin-top:.45rem; }
.qc-public .qc-main .qc-clock-final { grid-column:1/-1; min-height:80px; display:flex; align-items:center; gap:1rem; font-weight:750; font-size:1.3rem; color:#fbd365; }
.qc-public .qc-main .qc-clock-card .qc-muted { color:#b7cae5; font-size:.76rem; margin:1rem 0; }
.qc-public .qc-main .qc-clock-foot { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.75rem; padding-top:1rem; border-top:1px solid #344c6e; font-size:.75rem; }
.qc-public .qc-main .qc-clock-foot span { color:#d6e5f9; }
.qc-public .qc-main .qc-clock-foot a { display:flex; align-items:center; gap:.5rem; color:#8dceff; font-weight:700; min-height:32px; }
.qc-public .qc-main .qc-clock-foot i { margin-right:.25rem; }
.qc-public .qc-main .qc-section-links { display:flex; flex-wrap:wrap; gap:.5rem; margin:1.25rem 0; }
.qc-public .qc-main .qc-section-links a { display:inline-flex; align-items:center; justify-content:center; gap:.5rem; padding:.65rem 1rem; min-height:44px; border:1px solid #cfdaed; background:#fff; border-radius:999px; color:#26446e; font-size:.8rem; font-weight:650; transition:border-color .15s,background .15s; }
.qc-public .qc-main .qc-section-links a:hover { border-color:#1d4ed8; background:#e6efff; }
.qc-public .qc-main #qc-message { background:#e1ebff; border-left:4px solid #1d4ed8; color:#263f65; font-size:.85rem; padding:.9rem 1rem; }
.qc-public .qc-main #qc-message[data-error=true] { border-color:#d92d20; background:#fff0ed; color:#98251b; }
.qc-public .qc-main .qc-competition-toolbar { margin:1.75rem 0 1rem; gap:1rem; }
.qc-public .qc-main .qc-competition-toolbar h2 { font-size:1.3rem; font-weight:800; color:#152745; flex:1 1 250px; }
.qc-public .qc-main .qc-competition-toolbar > div:last-child { min-width:200px; }
.qc-public .qc-main .qc-competition-toolbar label { margin:0 0 .25rem; font-size:.7rem; color:#52627a; }
.qc-public .qc-main .qc-refresh-tools { display:flex; align-items:center; flex-wrap:wrap; gap:.65rem; }
.qc-public .qc-main .qc-live-stamp { display:inline-flex; align-items:center; gap:.4rem; font-size:.7rem; color:#52627a; font-weight:600; }
.qc-public .qc-main .qc-live-stamp:before { content:''; width:7px; height:7px; background:#1d4ed8; border-radius:50%; }
.qc-public .qc-main .qc-live-stamp[data-stage=live]:before { background:#087a53; }
.qc-public .qc-main .qc-button { gap:.45rem; }
.qc-public .qc-main .qc-card { border:1px solid #d3deed; box-shadow:0 5px 16px #213c6510; }
.qc-public .qc-main .qc-contest-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; margin:1rem 0; }
.qc-public .qc-main .qc-stat-tile { position:relative; text-align:left; min-width:0; min-height:130px; padding:1.25rem; border:1px solid #cbd9f0; border-radius:1rem; box-shadow:0 4px 12px #213c650a; }
.qc-public .qc-main .qc-stat-tile small { display:block; font-size:.7rem; font-weight:650; padding-right:1.5rem; color:#364f73; }
.qc-public .qc-main .qc-stat-tile strong { display:block; color:#1d4ed8; font-size:1.9rem; line-height:1.2; margin:.55rem 0 .4rem; font-weight:800; }
.qc-public .qc-main .qc-stat-foot { display:block; font-size:.65rem; line-height:1.4; color:#52627a; }
.qc-public .qc-main .qc-stat-icon { position:absolute; top:1rem; right:1rem; display:grid; place-items:center; width:28px; height:28px; border-radius:.65rem; background:#dbe8ff; color:#1d4ed8; font-size:.85rem; }
.qc-public .qc-main .qc-stat-green { background:#effbf6; border-color:#b8dfce; }
.qc-public .qc-main .qc-stat-green strong { color:#08734e; }
.qc-public .qc-main .qc-stat-green .qc-stat-icon { color:#08734e; background:#cceedd; }
.qc-public .qc-main .qc-stat-amber { background:#fff8e8; border-color:#ead4a0; }
.qc-public .qc-main .qc-stat-amber strong { color:#956007; }
.qc-public .qc-main .qc-stat-amber .qc-stat-icon { color:#956007; background:#ffe6ae; }
.qc-public .qc-main .qc-stat-violet { background:#f3f0ff; border-color:#d4caee; }
.qc-public .qc-main .qc-stat-violet strong { color:#6640b8; font-size:1.35rem; margin-top:.75rem; }
.qc-public .qc-main .qc-stat-violet .qc-stat-icon { color:#6640b8; background:#e6dcff; }
.qc-public .qc-main .qc-prizes { gap:.8rem; margin:1rem 0 1.5rem; }
.qc-public .qc-main .qc-prize { display:flex; align-items:center; gap:.85rem; padding:1rem; border-radius:1rem; min-height:115px; }
.qc-public .qc-main .qc-prize:first-child { border-color:#e6c36a; background:#fff8e7; }
.qc-public .qc-main .qc-prize h2 { margin:0 0 .25rem; font-size:.68rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:#52627a; }
.qc-public .qc-main .qc-prize strong { font-size:1.05rem; line-height:1.4; color:#152745; }
.qc-public .qc-main .qc-prize p { margin:.25rem 0 0; font-size:.72rem; line-height:1.5; }
.qc-public .qc-main .qc-prize-icon { display:grid; place-items:center; flex-shrink:0; width:38px; height:38px; color:#1d4ed8; background:#e4edff; border-radius:12px; }
.qc-public .qc-main .qc-prize:first-child .qc-prize-icon { color:#8a5705; background:#ffe8ad; }
.qc-public .qc-main .qc-podium-section { padding:1.5rem; margin:0 0 1.5rem; }
.qc-public .qc-main #qc-podium-title i { color:#ad7505; margin-right:.4rem; }
.qc-public .qc-main .qc-podium { align-items:stretch; gap:1rem; padding-top:.5rem; }
.qc-public .qc-main .qc-podium-place { position:relative; display:flex; flex-direction:column; align-items:stretch; min-height:0; border-radius:1rem; padding:1.5rem; border:1px solid #c9d5e5; background:#f6f9fd; }
.qc-public .qc-main .qc-place-1 { border:2px solid #d5a92d; background:linear-gradient(160deg,#fff7d9,#fffbef); }
.qc-public .qc-main .qc-place-2 { background:linear-gradient(160deg,#eaf0f8,#fff); }
.qc-public .qc-main .qc-place-3 { border-color:#d9b89b; background:linear-gradient(160deg,#fff0e5,#fff); }
.qc-public .qc-main .qc-champion-top { display:flex; align-items:center; justify-content:space-between; margin-bottom:.85rem; min-height:62px; }
.qc-public .qc-main .qc-avatar { display:inline-flex; align-items:center; justify-content:center; flex:0 0 auto; width:36px; height:36px; border-radius:50%; font-size:.8rem; font-weight:750; border:2px solid #fff; box-shadow:0 0 0 1px #d4deed; background:#dce8ff; color:#173c91; }
.qc-public .qc-main .qc-avatar-1 { background:#ccefe3; color:#09583e; }
.qc-public .qc-main .qc-avatar-2 { background:#eee0ff; color:#62318c; }
.qc-public .qc-main .qc-avatar-3 { background:#ffe3cc; color:#894611; }
.qc-public .qc-main .qc-avatar-4 { background:#d8f1f9; color:#13566a; }
.qc-public .qc-main .qc-avatar-5 { background:#ffe0ed; color:#852447; }
.qc-public .qc-main .qc-champion-avatar,.qc-public .qc-main .qc-avatar-open { width:62px; height:62px; font-size:1.25rem; }
.qc-public .qc-main .qc-avatar-open { background:#e3eaf4; color:#617591; }
.qc-public .qc-main .qc-medal { order:2; position:relative; isolation:isolate; display:grid; place-items:center; width:44px; height:44px; margin:0 4px 10px; border-radius:50%; background:linear-gradient(140deg,#fff4a8,#e0a725); border:3px solid #f1c349; color:#73500a; font-size:1.2rem; font-weight:900; box-shadow:0 4px 10px #b4832433; }
.qc-public .qc-main .qc-medal:after { content:''; position:absolute; z-index:-1; width:32px; height:21px; background:#1d4ed8; top:34px; clip-path:polygon(0 0,100% 0,86% 100%,50% 65%,14% 100%); }
.qc-public .qc-main .qc-medal-2 { border-color:#a7b4c6; background:linear-gradient(140deg,#fff,#aab8cb); color:#3d4c61; box-shadow:0 4px 10px #4c617b22; }
.qc-public .qc-main .qc-medal-3 { border-color:#c99a72; background:linear-gradient(140deg,#ffe4cd,#c49367); color:#654025; box-shadow:0 4px 10px #9c613522; }
.qc-public .qc-main .qc-place-caption { font-size:.64rem; font-weight:750; text-transform:uppercase; letter-spacing:.1em; color:#6d571e; }
.qc-public .qc-main .qc-place-2 .qc-place-caption { color:#53647b; }
.qc-public .qc-main .qc-place-3 .qc-place-caption { color:#875a35; }
.qc-public .qc-main .qc-podium h3 { font-size:1.1rem; font-weight:800; line-height:1.4; margin:.35rem 0 .25rem; }
.qc-public .qc-main .qc-champion-status { font-size:.7rem; color:#52627a; margin:0 0 1rem; }
.qc-public .qc-main .qc-podium-metrics { margin-top:auto; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.5rem; }
.qc-public .qc-main .qc-podium-metrics span { border:1px solid #d7dfeb; border-radius:.65rem; background:#ffffffb8; color:#52627a; font-size:.65rem; padding:.6rem; }
.qc-public .qc-main .qc-podium-metrics strong { color:#152745; font-size:1.05rem; line-height:1.35; font-variant-numeric:tabular-nums; }
.qc-public .qc-main .qc-podium-reward { display:flex; align-items:flex-start; gap:.5rem; border-top:1px solid #d5dceb; margin:1rem 0 0; padding-top:.85rem; font-size:.72rem; line-height:1.5; }
.qc-public .qc-main .qc-podium-reward > i { color:#b58017; margin-top:.18rem; }
.qc-public .qc-main .qc-standings-card { margin-bottom:1.5rem; }
.qc-public .qc-main .qc-ranking .qc-leader-row { grid-template-columns:32px minmax(130px,1fr) minmax(280px,1.5fr) 65px; column-gap:1rem; padding:1rem .25rem; }
.qc-public .qc-main .qc-leader-person { display:flex; align-items:center; gap:.75rem; min-width:0; }
.qc-public .qc-main .qc-leader-person .qc-name { font-weight:750; font-size:.87rem; line-height:1.4; }
.qc-public .qc-main .qc-contributor-label { display:block; color:#61738c; font-size:.68rem; font-weight:500; margin-top:.2rem; }
.qc-public .qc-main .qc-row-metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:.5rem; }
.qc-public .qc-main .qc-row-metrics dt { font-size:.65rem; color:#52627a; margin-bottom:.25rem; }
.qc-public .qc-main .qc-row-metrics dd { margin:0; font-size:.88rem; font-weight:750; color:#223a5d; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.qc-public .qc-main .qc-row-metrics .qc-positive { color:#08734e; }
.qc-public .qc-main .qc-score { background:#e9efff; color:#1a49b6; font-size:1.1rem; padding:.5rem .65rem; border-radius:.75rem; min-width:58px; text-align:center; }
.qc-public .qc-main .qc-score small { color:#3b5690; font-size:.6rem; }
.qc-public .qc-main .qc-row-breakdown { grid-column:2/-1; margin-top:0; }
.qc-public .qc-main .qc-row-breakdown summary { min-height:32px; font-size:.7rem; color:#36527d; font-weight:600; }
.qc-public .qc-main .qc-rank { background:#e5edff; color:#1d4ed8; font-size:.78rem; }
.qc-public .qc-main .qc-bottom-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; align-items:start; margin-bottom:1.5rem; }
.qc-public .qc-main #qc-personal { border-top:4px solid #1d4ed8; }
.qc-public .qc-main .qc-scoring-card { border-top:4px solid #0b8a68; }
.qc-public .qc-main .qc-rules { margin:1rem 0; padding:0; list-style:none; }
.qc-public .qc-main .qc-rules li { padding:.8rem 1rem; border-radius:.75rem; background:#eef4ff; color:#35506f; font-size:.8rem; margin:.5rem 0; }
.qc-public .qc-main .qc-rules li:nth-child(2) { background:#fff0ed; }
.qc-public .qc-main .qc-rules li:nth-child(3) { background:#f1f4f8; }
.qc-public .qc-main .qc-rules strong { color:#134ba4; }
.qc-public .qc-main .qc-rules li:nth-child(2) strong { color:#a62b21; }
.qc-public .qc-main .qc-procedure { margin:0 0 1.5rem; }
.qc-public .qc-main .qc-steps { counter-reset:qc-step; list-style:none; padding:0; gap:1rem; margin:1.25rem 0; }
.qc-public .qc-main .qc-steps li { counter-increment:qc-step; position:relative; padding:2.6rem 0 0; font-size:.76rem; }
.qc-public .qc-main .qc-steps li:before { content:counter(qc-step,decimal-leading-zero); position:absolute; top:0; left:0; display:grid; place-items:center; width:32px; height:32px; border-radius:.65rem; background:#e3edff; color:#1d4ed8; font-size:.75rem; font-weight:800; }
.qc-public .qc-main .qc-community-person { display:flex; align-items:center; gap:.85rem; min-width:0; }
.qc-public .qc-main .qc-community-person .qc-name { font-weight:700; color:#1d3355; font-size:.88rem; }
.qc-public .qc-main .qc-ranking .qc-community-row { padding:1rem .25rem; gap:1rem; }
.qc-public .qc-main #qc-history-section { border-top:4px solid #6d49c4; }
.qc-public .qc-main .qc-history-disclosure summary { border-color:#b7caed; background:#eaf1ff; }
.qc-public .qc-main .qc-empty-standings { padding:2rem 1rem; text-align:center; background:#f6f9ff; border:1px dashed #bdcdeb; border-radius:1rem; margin-top:1rem; }
.qc-public .qc-main .qc-empty-icon { display:grid; place-items:center; width:52px; height:52px; margin:0 auto 1rem; border-radius:1rem; background:#dce9ff; color:#1d4ed8; font-size:1.3rem; }
.qc-public .qc-main .qc-empty-standings > strong { display:block; color:#233d63; font-size:1rem; }
.qc-public .qc-main .qc-empty-standings p { max-width:470px; margin:.5rem auto 1rem; font-size:.82rem; }
@media(max-width:1000px){
  .qc-public .qc-main .qc-intro-grid { grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); }
  .qc-public .qc-main .qc-hero { padding:1.5rem; }
  .qc-public .qc-main .qc-clock-card { padding:1.3rem; }
  .qc-public .qc-main .qc-prizes { grid-template-columns:minmax(0,1fr); }
  .qc-public .qc-main .qc-prize { min-height:0; }
  .qc-public .qc-main .qc-podium-place { padding:1.1rem; }
}
@media(max-width:760px){
  .qc-public .qc-main .qc-intro-grid,.qc-public .qc-main .qc-bottom-grid { grid-template-columns:minmax(0,1fr); }
  .qc-public .qc-main .qc-hero h1 { font-size:2rem; }
  .qc-public .qc-main .qc-clock-display strong { font-size:1.8rem; }
  .qc-public .qc-main .qc-clock-card { gap:.25rem; }
  .qc-public .qc-main .qc-contest-summary { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; }
  .qc-public .qc-main .qc-stat-tile { padding:1rem; min-height:135px; }
  .qc-public .qc-main .qc-stat-icon { top:.8rem; right:.65rem; width:24px; height:24px; font-size:.7rem; }
  .qc-public .qc-main .qc-stat-tile strong { font-size:1.75rem; }
  .qc-public .qc-main .qc-stat-violet strong { font-size:1.1rem; }
  .qc-public .qc-main .qc-podium { grid-template-columns:minmax(0,1fr); }
  .qc-public .qc-main .qc-podium-place { order:initial; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); column-gap:1rem; padding:1.25rem; }
  .qc-public .qc-main .qc-champion-top { grid-column:1/-1; margin-bottom:.5rem; }
  .qc-public .qc-main .qc-place-caption,.qc-public .qc-main .qc-podium h3,.qc-public .qc-main .qc-champion-status { grid-column:1; }
  .qc-public .qc-main .qc-podium-metrics { grid-column:2; grid-row:2/5; margin:0; align-self:center; }
  .qc-public .qc-main .qc-podium-reward { grid-column:1/-1; }
  .qc-public .qc-main .qc-ranking .qc-leader-row { grid-template-columns:28px minmax(0,1fr) 60px; gap:.75rem; }
  .qc-public .qc-main .qc-leader-person { grid-column:2; }
  .qc-public .qc-main .qc-leader-row > .qc-score { grid-column:3; grid-row:1; }
  .qc-public .qc-main .qc-row-metrics { grid-column:2/-1; gap:.65rem; }
  .qc-public .qc-main .qc-row-breakdown { grid-column:2/-1; }
  .qc-public .qc-main .qc-row-metrics dt { font-size:.6rem; }
  .qc-public .qc-main .qc-row-metrics dd { font-size:.8rem; }
  .qc-public .qc-main .qc-steps { grid-template-columns:minmax(0,1fr); }
  .qc-public .qc-main .qc-steps li { padding:.2rem 0 .75rem 3rem; min-height:48px; }
  .qc-public .qc-main .qc-community-person { gap:.55rem; }
  .qc-public .qc-main .qc-community-person .qc-avatar { width:30px; height:30px; font-size:.68rem; }
}
@media(max-width:380px){
  .qc-public .qc-main .qc-hero { padding:1.25rem; }
  .qc-public .qc-main .qc-hero h1 { font-size:1.8rem; }
  .qc-public .qc-main .qc-section-links a { padding:.55rem .75rem; font-size:.72rem; }
  .qc-public .qc-main .qc-row-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .qc-public .qc-main .qc-podium-place { grid-template-columns:minmax(0,1fr); }
  .qc-public .qc-main .qc-podium-metrics { grid-column:1; grid-row:auto; margin-top:.5rem; }
  .qc-public .qc-main .qc-podium-reward { grid-column:1; }
  .qc-public .qc-main .qc-ranking .qc-community-row { gap:.5rem; }
}
@media(prefers-reduced-motion:reduce){.qc-public .qc-main *{scroll-behavior:auto;transition:none}}

/* Readable supporting text and compact, balanced guidance cards. */
.qc-public .qc-main .qc-bottom-grid { grid-template-columns:minmax(0,1fr); }
.qc-public .qc-main .qc-scoring-card .qc-rules { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.75rem; }
.qc-public .qc-main .qc-scoring-card .qc-rules li { margin:0; line-height:1.65; }
.qc-public .qc-main .qc-personal-next { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1rem; margin-top:1rem; padding-top:1rem; border-top:1px solid var(--qc-line); }
.qc-public .qc-main .qc-personal-next span { color:#435874; font-size:.85rem; }
.qc-public .qc-main .qc-personal-next span i { color:#1d4ed8; margin-right:.5rem; }
.qc-public .qc-main .qc-muted { color:#4c607c; line-height:1.65; }
.qc-public .qc-main :is(.qc-stat-tile small,.qc-stat-foot,.qc-prize p,.qc-champion-status,.qc-podium-metrics span,.qc-podium-reward,.qc-steps li,.qc-rules li,.qc-row-metrics dt,.qc-contributor-label,.qc-live-stamp) { font-size:.8rem; }
.qc-public .qc-main .qc-hero #qc-dates { font-size:.82rem; }
.qc-public .qc-main .qc-clock-card .qc-muted { color:#c9d8ee; font-size:.82rem; }
.qc-public .qc-main .qc-podium-metrics strong { display:block; }
.qc-public .qc-main .qc-podium-place { padding:1.25rem; }
.qc-public .qc-main .qc-steps li { line-height:1.65; }
.qc-public .qc-main .qc-rules strong { display:block; margin-bottom:.3rem; font-size:1.05rem; }
.qc-public .qc-main :is(a,button,input,select,summary):focus-visible { outline:3px solid #2563eb; outline-offset:4px; }
.qc-public .qc-main .qc-hero a:focus-visible { outline-color:#fff; }
.qc-public .qc-main summary { min-height:44px; align-content:center; }
.qc-public .qc-main [hidden] { display:none!important; }
@media(max-width:760px){
 .qc-public .qc-main .qc-scoring-card .qc-rules { grid-template-columns:minmax(0,1fr); }
 .qc-public .qc-main .qc-personal-next .qc-button { width:100%; }
 .qc-public .qc-main .qc-podium-place { gap:.65rem; }
 .qc-public .qc-main .qc-podium-metrics { grid-column:1/-1; grid-row:auto; margin-top:.5rem; }
 .qc-public .qc-main .qc-place-caption,.qc-public .qc-main .qc-podium h3,.qc-public .qc-main .qc-champion-status { grid-column:1/-1; margin:0; }
}

/* Align competition controls and give the participation sequence a clear rhythm. */
.qc-public .qc-main .qc-competition-toolbar { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(260px,360px); align-items:end; gap:1rem; }
.qc-public .qc-main .qc-competition-toolbar h2 { align-self:center; margin:0; }
.qc-public .qc-main .qc-competition-toolbar > div:last-child { min-width:0; }
.qc-public .qc-main .qc-competition-toolbar label { font-size:.8rem; margin:0 0 .45rem; }
.qc-public .qc-main .qc-refresh-tools { justify-content:flex-end; min-height:46px; }
.qc-public .qc-main .qc-refresh-tools .qc-button { min-height:46px; border-radius:.75rem; padding:.6rem 1rem; }
.qc-public .qc-main .qc-live-stamp { white-space:nowrap; }
.qc-public .qc-main #qc-contest-select { height:46px; font-size:.9rem; padding-right:2rem; }
.qc-public .qc-main .qc-procedure .qc-steps { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:.8rem; margin:1.25rem 0; }
.qc-public .qc-main .qc-procedure .qc-steps li { padding:3.8rem 1rem 1rem; background:#f7f9fd; border:1px solid #dce5f2; border-radius:1rem; font-size:.875rem; line-height:1.6; min-width:0; }
.qc-public .qc-main .qc-procedure .qc-steps li:before { top:1rem; left:1rem; }
.qc-public .qc-main .qc-procedure .qc-steps strong { display:block; color:#203858; font-size:.95rem; margin-bottom:.5rem; }
.qc-public .qc-main .qc-procedure .qc-steps span { color:#4c607c; display:block; }
.qc-public .qc-main #qc-announcement { border-left:4px solid #1d4ed8; color:#233e66; font-size:.95rem; line-height:1.65; padding:1rem 1.25rem; }
.qc-public .qc-main .qc-procedure > .qc-muted { font-size:.85rem; margin-bottom:0; }
@media(max-width:1100px){
 .qc-public .qc-main .qc-competition-toolbar { grid-template-columns:minmax(0,1fr) auto; }
 .qc-public .qc-main .qc-competition-toolbar h2 { grid-column:1/-1; }
 .qc-public .qc-main .qc-refresh-tools { grid-column:2; grid-row:2; }
 .qc-public .qc-main .qc-competition-toolbar > div:last-child { grid-column:1; grid-row:2; }
 .qc-public .qc-main .qc-procedure .qc-steps { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:760px){
 .qc-public .qc-main .qc-competition-toolbar { grid-template-columns:minmax(0,1fr); }
 .qc-public .qc-main .qc-competition-toolbar > div:last-child { grid-column:1; grid-row:2; }
 .qc-public .qc-main .qc-refresh-tools { grid-column:1; grid-row:3; justify-content:space-between; }
 .qc-public .qc-main .qc-procedure .qc-steps { grid-template-columns:minmax(0,1fr); }
 .qc-public .qc-main .qc-procedure .qc-steps li { padding:1rem 1rem 1rem 3.9rem; }
 .qc-public .qc-main .qc-procedure .qc-steps strong { margin-bottom:.2rem; }
}

/* A compact directory keeps contributor names and totals easy to compare. */
.qc-public .qc-main #qc-history-section .qc-ranking .qc-community-row { grid-template-columns:30px minmax(0,1fr) 140px; gap:.85rem; padding:.75rem .5rem; min-height:64px; }
.qc-public .qc-main #qc-history-section .qc-community-person .qc-name { font-size:.95rem; line-height:1.5; }
.qc-public .qc-main #qc-history-section .qc-score { display:flex; align-items:baseline; justify-content:flex-end; gap:.45rem; padding:.45rem .65rem; background:transparent; border-radius:.5rem; font-size:1.15rem; }
.qc-public .qc-main #qc-history-section .qc-score small { font-size:.75rem; color:#4d6181; }
.qc-public .qc-main #qc-history-section .qc-community-row:nth-child(even) { background:#f6f8fd; border-radius:.65rem; }
.qc-public .qc-main #qc-history-section .qc-directory-toolbar { display:flex; align-items:end; gap:.75rem; background:#f6f8fd; border:1px solid #dce5f2; padding:1rem; border-radius:.85rem; margin-top:1rem; }
.qc-public .qc-main #qc-history-section .qc-directory-toolbar > div { flex:1; min-width:0; }
.qc-public .qc-main #qc-history-section .qc-directory-toolbar label { margin:0 0 .5rem; }
.qc-public .qc-main #qc-history-section #qc-history-results { margin:.85rem .5rem; font-size:.8rem; color:#4d6181; }
.qc-public .qc-main #qc-history-section .qc-directory-pagination { margin-top:.75rem; padding-top:1rem; border-top:1px solid #d6dfed; }
.qc-public .qc-main #qc-history-section .qc-history-disclosure summary { padding:.8rem 1rem; min-height:48px; }
@media(max-width:600px){
 .qc-public .qc-main #qc-history-section .qc-ranking .qc-community-row { grid-template-columns:28px minmax(0,1fr) 64px; gap:.6rem; padding:.7rem .15rem; }
 .qc-public .qc-main #qc-history-section .qc-score { display:block; text-align:right; padding:.35rem 0; }
 .qc-public .qc-main #qc-history-section .qc-score small { font-size:.65rem; }
 .qc-public .qc-main #qc-history-section .qc-community-person .qc-name { font-size:.85rem; }
 .qc-public .qc-main #qc-history-section .qc-directory-toolbar { flex-wrap:wrap; }
 .qc-public .qc-main #qc-history-section .qc-directory-toolbar > div { flex-basis:100%; }
}
.qc-public .qc-main #qc-history-section .qc-ranking .qc-history-row { grid-template-columns:30px minmax(140px,1fr) minmax(0,2.5fr); }
.qc-public .qc-main .qc-history-metrics { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:.65rem; margin:0; }
.qc-public .qc-main .qc-history-metrics dt { font-size:.75rem; color:#4d6181; margin-bottom:.3rem; }
.qc-public .qc-main .qc-history-metrics dd { margin:0; font-size:.85rem; font-weight:750; color:#203858; overflow-wrap:anywhere; font-variant-numeric:tabular-nums; }
.qc-public .qc-main .qc-history-metrics .qc-positive { color:#08734e; }
.qc-public .qc-main .qc-history-metrics .qc-negative { color:#a62b21; }
@media(max-width:1000px){
 .qc-public .qc-main #qc-history-section .qc-ranking .qc-history-row { grid-template-columns:30px minmax(0,1fr); padding:1rem .5rem; }
 .qc-public .qc-main .qc-history-metrics { grid-column:2; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.85rem; }
}
@media(max-width:380px){
 .qc-public .qc-main .qc-history-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

.qc-public .qc-confirmed-heading { font-size:.875rem; margin:12px 0 6px; }
.qc-public .qc-confirmed-questions { list-style:disc; padding-left:20px; margin:0 0 12px; overflow-wrap:anywhere; }
.qc-public .qc-confirmed-questions li { margin:8px 0; color:#36527d; font-size:.875rem; }

/* Question disclosures use normal reading flow, separate from contributor grids. */
.qc-public .qc-main .qc-row-breakdown { min-width:0; width:100%; }
.qc-public .qc-main .qc-row-breakdown > summary,
.qc-public .qc-main .qc-more-questions > summary { min-height:44px; padding:12px 0; font-size:.875rem; line-height:1.5; }
.qc-public .qc-main .qc-row-breakdown summary:focus-visible { outline:3px solid #2563eb; outline-offset:3px; border-radius:4px; }
.qc-public .qc-main .qc-confirmed-heading { margin:12px 0 8px; font-size:.9375rem; }
.qc-public .qc-main .qc-confirmed-questions { display:block; width:100%; min-width:0; list-style:decimal outside; padding-left:1.5rem; margin:0; }
.qc-public .qc-main .qc-confirmed-questions > li { display:list-item; padding:12px 8px; margin:0; border-bottom:1px solid #e5ebf3; font-size:1rem; line-height:1.65; color:#334155; overflow-wrap:break-word; }
.qc-public .qc-main .qc-confirmed-questions > li:last-child { border-bottom:0; }
.qc-public .qc-main .qc-more-questions { margin:8px 0 0; }
@media(max-width:600px) {
 .qc-public .qc-main .qc-row-breakdown { grid-column:1/-1; }
}

.qc-public { margin:0; }
.qc-public .qc-main { box-sizing:border-box; }

.qc-public .qc-main .qc-review-counts { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:8px 0 16px; }
.qc-public .qc-main .qc-review-counts > div { padding:12px; background:#f5f8fd; border:1px solid #dce5f3; border-radius:10px; min-width:0; }
.qc-public .qc-main .qc-review-counts dt { font-size:.875rem; color:#52627a; overflow-wrap:break-word; }
.qc-public .qc-main .qc-review-counts dd { margin:6px 0 0; font-size:1.125rem; font-weight:700; color:#223a5d; }
@media(max-width:760px) { .qc-public .qc-main .qc-review-counts { grid-template-columns:repeat(2,minmax(0,1fr)); } }
