.ccpr-page {
  --ccpr-bg: #fafbf8;
  --ccpr-ink: #202d28;
  --ccpr-muted: #657169;
  --ccpr-card: #ffffff;
  --ccpr-accent: #243c2e;
  --ccpr-accent-ink: #ffffff;
  --ccpr-line: #dde2da;
  --ccpr-good: #275a43;
  --ccpr-bad: #8a3d3d;
  color-scheme: light;
}

.ccpr-page,
.ccpr-page * {
  box-sizing: border-box;
}

body.ccpr-page {
  margin: 0;
  font-family: Inter, Arial, sans-serif;
  background: var(--ccpr-bg);
  color: var(--ccpr-ink);
}

.ccpr-page a {
  color: inherit;
}

.ccpr-shell {
  max-width: 1080px;
  margin: 0 auto;
  padding: 40px 20px 64px;
}

.ccpr-hero {
  display: grid;
  gap: 16px;
  margin-bottom: 28px;
}

.ccpr-eyebrow {
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-size: 0.82rem;
  color: var(--ccpr-muted);
}

.ccpr-page h1,
.ccpr-page h2,
.ccpr-page h3 {
  margin: 0;
  font-weight: 600;
}

.ccpr-hero-title {
  font-size: clamp(2.5rem, 6vw, 4.5rem);
  line-height: 0.95;
  max-width: 10ch;
}

.ccpr-title-spaced {
  margin-top: 8px;
}

.ccpr-lede {
  max-width: 58ch;
  color: var(--ccpr-muted);
  font-size: 1.05rem;
  line-height: 1.6;
}

.ccpr-grid {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  align-items: start;
}

.ccpr-card {
  background: var(--ccpr-card);
  border: 1px solid var(--ccpr-line);
  border-radius: 24px;
  padding: 24px;
  box-shadow: 0 24px 60px rgb(30 36 48 / 8%);
}

.ccpr-form {
  display: grid;
  gap: 16px;
}

.ccpr-form-spaced {
  margin-top: 12px;
}

.ccpr-form-top {
  margin-top: 20px;
}

.ccpr-label {
  display: grid;
  gap: 8px;
  font-size: 0.95rem;
}

.ccpr-page input,
.ccpr-page select,
.ccpr-page button {
  font: inherit;
}

.ccpr-page input,
.ccpr-page select {
  width: 100%;
  border-radius: 14px;
  border: 1px solid var(--ccpr-line);
  padding: 14px 16px;
  background: #fff;
  color: var(--ccpr-ink);
}

.ccpr-page button {
  border: 0;
  border-radius: 4px;
  padding: 14px 18px;
  background: var(--ccpr-accent);
  color: var(--ccpr-accent-ink);
  cursor: pointer;
}

.ccpr-hint,
.ccpr-flash,
.ccpr-error {
  border-radius: 16px;
  padding: 14px 16px;
  font-size: 0.95rem;
}

.ccpr-hint {
  background: #e9eee3;
  color: var(--ccpr-muted);
}

.ccpr-flash {
  background: rgb(39 90 67 / 12%);
  color: var(--ccpr-good);
}

.ccpr-error {
  background: rgb(138 61 61 / 12%);
  color: var(--ccpr-bad);
}

.ccpr-block-top {
  margin-top: 16px;
}

.ccpr-block-top-sm {
  margin-top: 8px;
}

.ccpr-block-top-lg {
  margin-top: 18px;
}

.ccpr-stats {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
  margin-top: 20px;
}

.ccpr-stat {
  padding: 14px;
  border-radius: 18px;
  background: rgb(30 36 48 / 4%);
}

.ccpr-stat strong {
  display: block;
  font-size: 1.7rem;
  margin-bottom: 4px;
}

.ccpr-meta {
  color: var(--ccpr-muted);
  margin-top: 8px;
}

.ccpr-list {
  display: grid;
  gap: 10px;
  margin-top: 18px;
}

.ccpr-row {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgb(222 212 197 / 70%);
}

.ccpr-row:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.ccpr-tag {
  display: inline-flex;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgb(30 36 48 / 6%);
  font-size: 0.85rem;
}

.ccpr-small {
  color: var(--ccpr-muted);
  font-size: 0.92rem;
}

.ccpr-errors {
  margin: 0;
  padding-left: 18px;
  color: var(--ccpr-bad);
}

@media (max-width: 640px) {
  .ccpr-shell {
    padding: 24px 16px 40px;
  }

  .ccpr-card {
    padding: 18px;
    border-radius: 20px;
  }

  .ccpr-row {
    flex-direction: column;
  }
}

.ccpr-hero-title{max-width:20ch;line-height:1.1;letter-spacing:-2px}.ccpr-shell{max-width:1280px;padding-top:64px}.ccpr-card{box-shadow:none;border-radius:8px}.ccpr-page .navigation a,.ccpr-page footer a{text-decoration:none}

/* Report layout reuses the public theme's existing typography and colours. */
.ccpr-grid-report{grid-template-columns:280px minmax(0,1fr)}
.ccpr-grid-report>.ccpr-entry{position:sticky;top:24px}
.ccpr-report-heading,.ccpr-section-heading,.ccpr-focus-footer,.ccpr-chart-caption{display:flex;align-items:center;justify-content:space-between;gap:12px}
.ccpr-report-heading h2{font-size:clamp(1.6rem,3vw,2.4rem);overflow-wrap:anywhere;margin-top:6px}
.ccpr-report-heading h4{font-size:1rem;margin:0}
.ccpr-focus{margin:24px 0;padding:24px;border:1px solid var(--ccpr-line);border-left:4px solid var(--ccpr-good);background:var(--ccpr-bg);border-radius:8px}
.ccpr-focus h3{font-size:clamp(1.3rem,2.3vw,1.8rem);line-height:1.3;margin-top:12px}
.ccpr-focus p,.ccpr-review p{line-height:1.65}
.ccpr-focus-footer{border-top:1px solid var(--ccpr-line);padding-top:14px;font-size:.85rem;align-items:start}
.ccpr-focus-footer span{color:var(--ccpr-muted);max-width:42ch}
.ccpr-focus-footer a{white-space:nowrap;font-weight:600}
.ccpr-section-heading{margin:30px 0 14px;align-items:baseline;flex-wrap:wrap}
.ccpr-pool-grid,.ccpr-colour-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}
.ccpr-pool,.ccpr-colour{border:1px solid var(--ccpr-line);border-radius:8px;padding:18px;min-width:0}
.ccpr-rating{display:flex;align-items:baseline;gap:10px;margin:18px 0 6px;flex-wrap:wrap}
.ccpr-rating strong{font-size:2.25rem;letter-spacing:-1px}
.ccpr-rating span,.ccpr-chart-caption{font-size:.78rem;color:var(--ccpr-muted)}
.ccpr-sparkline{width:100%;height:74px;color:var(--ccpr-good);display:block}
.ccpr-pool-facts{display:grid;gap:8px;margin-top:16px;font-size:.82rem;color:var(--ccpr-muted)}
.ccpr-pool-facts span{display:flex;justify-content:space-between;gap:10px}.ccpr-pool-facts b{color:var(--ccpr-ink)}
.ccpr-form-strip{display:flex;gap:6px;flex-wrap:wrap}
.ccpr-result{display:grid;place-items:center;width:36px;height:36px;border-radius:6px;font-weight:600;border:1px solid var(--ccpr-line)}
.ccpr-result-win{background:var(--ccpr-good);color:white}.ccpr-result-loss{background:var(--ccpr-bad);color:white}.ccpr-result-draw,.ccpr-result-unknown{background:var(--ccpr-bg);color:var(--ccpr-muted)}
.ccpr-colour strong{font-size:1.5rem}.ccpr-colour meter{width:100%;height:14px;accent-color:var(--ccpr-good)}
.ccpr-table-scroll{overflow-x:auto}.ccpr-opening-table{width:100%;border-collapse:collapse;font-size:.9rem;text-align:left}
.ccpr-opening-table th{font-weight:500;color:var(--ccpr-muted);font-size:.8rem}.ccpr-opening-table td,.ccpr-opening-table th{padding:12px 8px;border-bottom:1px solid var(--ccpr-line)}
.ccpr-opening-table td:first-child{min-width:180px}.ccpr-opening-table td:last-child{font-weight:600}.ccpr-opening-table td span{display:block;margin-top:5px}.ccpr-opening-table strong{overflow-wrap:anywhere}
.ccpr-review{display:flex;gap:20px;align-items:center;background:var(--ccpr-bg);border:1px solid var(--ccpr-line);border-radius:8px;padding:20px;margin:24px 0}.ccpr-review h3{margin-top:10px}.ccpr-review a{flex-shrink:0;font-weight:600;font-size:.9rem}
.ccpr-recent{border-top:1px solid var(--ccpr-line);padding-top:18px;margin-top:24px}.ccpr-recent summary{cursor:pointer;font-weight:600}
.ccpr-save{border-top:1px solid var(--ccpr-line);padding-top:24px;margin-top:12px;scroll-margin-top:24px}
.ccpr-page a:focus-visible,.ccpr-page summary:focus-visible{outline:2px solid var(--ccpr-good);outline-offset:4px}
@media(max-width:960px){.ccpr-grid-report{grid-template-columns:minmax(0,1fr)}.ccpr-grid-report>.ccpr-entry{position:static}.ccpr-grid-report>.ccpr-entry .ccpr-form{grid-template-columns:1fr 1fr;align-items:end}.ccpr-grid-report>.ccpr-entry .ccpr-form button{grid-column:1/-1}}
@media(max-width:480px){.ccpr-grid-report>.ccpr-entry .ccpr-form{grid-template-columns:1fr}.ccpr-focus{padding:18px}.ccpr-focus-footer,.ccpr-review{flex-direction:column}.ccpr-pool-grid,.ccpr-colour-grid{grid-template-columns:1fr}.ccpr-report-heading{flex-wrap:wrap}}
.ccpr-grid-report>.ccpr-entry h2{font-size:1.35rem;line-height:1.3;letter-spacing:-.4px}.ccpr-grid-report>.ccpr-entry .ccpr-meta,.ccpr-grid-report>.ccpr-entry .ccpr-hint{font-size:.9rem;line-height:1.5}

@media(max-width:960px){.ccpr-grid-report>.ccpr-entry{order:2}}
