/* Opt-in public shell; organizer workspaces and chessboard themes stay independent. */
body.pc-public-theme {
  --pc-font: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --pc-bg: #f7f8f5;
  --pc-bg1: #f7f8f5;
  --pc-bg2: #fff;
  --pc-text: #202a25;
  --pc-text-soft: #59665f;
  --pc-text-faint: #59665f;
  --pc-ink: #202a25;
  --pc-muted: #59665f;
  --pc-border: #dfe5da;
  --pc-line: #dfe5da;
  --pc-line2: #e8ece3;
  --pc-card: #fff;
  --pc-surface: #fff;
  --pc-surface-soft: #f0f3ec;
  --pc-primary: #769656;
  --pc-primary-dark: #456332;
  --pc-primary-deep: #35502a;
  --pc-primary-soft: #edf3e7;
  --pc-blue: #456332;
  --pc-blue-2: #35502a;
  --pc-radius: 14px;
  --pc-shadow: 0 4px 20px #18231a06;
  --pc-shadow2: 0 4px 20px #18231a06;
  --pc-hero1: #76965612;
  --pc-hero2: transparent;
  --pc-hero3: transparent;
  --pc-chip-on: #edf3e7;
  --pc-chip-on-border: #9aaf83;
  --bg: var(--pc-bg);
  --card: var(--pc-card);
  --text: var(--pc-text);
  --muted: var(--pc-muted);
  --border: var(--pc-border);
  --accent: #456332;
  --accent-soft: #edf3e7;
  --accentSoft: #edf3e7;
  --shadow: var(--pc-shadow);
  --coach-bg: var(--pc-bg);
  --coach-border: var(--pc-border);
  --coach-brand: #456332;
  --coach-text: var(--pc-text);
  --coach-muted: var(--pc-muted);
  --coach-shadow: var(--pc-shadow);
  --feat-bg: var(--pc-bg);
  --feat-border: var(--pc-border);
  --feat-text: var(--pc-text);
  --feat-muted: var(--pc-muted);
  --feat-primary: #456332;
  --feat-shadow: var(--pc-shadow);
  margin: 0;
  background: var(--pc-bg);
  color: var(--pc-text);
  font-family: var(--pc-font);
  -webkit-font-smoothing: antialiased;
  accent-color: #456332;
}

.pc-public-theme .pc-header {
  background: #fffffffa;
  border-bottom-color: var(--pc-border);
  box-shadow: 0 2px 12px #18231a06;
}
.pc-public-theme .pc-header::before { background: #769656; }
.pc-public-theme :is(.pc-header-wrap, .pc-header-subnav-wrap, .pc-footer-inner) {
  max-width: 1200px;
  margin-inline: auto;
}
.pc-public-theme :is(.pc-h-title strong, .pc-footer-logo) { color: #202a25; }
.pc-public-theme :is(.pc-h-tagline, .pc-footer-meta, .pc-footer-note) { color: var(--pc-muted); }
.pc-public-theme :is(.pc-nav-link, .pc-mobile-link, .pc-mobile-group-title, .pc-dd-item, .pc-profile-item) {
  color: var(--pc-text);
}
.pc-public-theme :is(.pc-nav-link, .pc-mobile-link, .pc-dd-item, .pc-profile-item):hover {
  background: #edf3e7;
  color: #35502a;
}
.pc-public-theme :is(.pc-dd-menu, .pc-profile-menu, .pc-mobile-menu) {
  background: #fff;
  border-color: var(--pc-border);
}
.pc-public-theme .pc-footer {
  background: #fff;
  color: var(--pc-text);
  border-top-color: var(--pc-border);
  box-shadow: none;
}
.pc-public-theme .pc-footer-heading { color: var(--pc-text); }
.pc-public-theme :is(.pc-footer-right, .pc-footer-copy) { color: var(--pc-muted); }
.pc-public-theme .pc-footer a { color: #35502a; }
.pc-public-theme .pc-cookie-btn-primary {
  background: #456332;
  border-color: #456332;
  color: #fff;
}
.pc-public-theme .pc-cookie-link { color: #35502a; }
.pc-public-theme :is(.pc-footer-live-pill, .pc-crumb-home) {
  background: #edf3e7;
  border-color: var(--pc-border);
  color: #35502a;
}
.pc-public-theme .pc-btn {
  border-radius: 9px;
  min-height: 44px;
  font-family: inherit;
}
.pc-public-theme .pc-btn-primary {
  background: #456332;
  color: #fff;
  border-color: #456332;
  box-shadow: none;
}
.pc-public-theme .pc-btn-primary:hover { background: #35502a; }
.pc-public-theme :is(.pc-btn-ghost, .pc-btn-secondary) {
  color: #35502a;
  background: #fff;
  border-color: var(--pc-border);
}
.pc-public-theme :is(a, button, input, select, textarea, summary):focus-visible {
  outline: 3px solid #9b7a32;
  outline-offset: 3px;
}

.pc-public-theme:not(.home-ecosystem) :is(.wrap, .container, .pc-container, .pc-wrap, .pt-wrap, .pe-wrap, .coach-wrap, .feat-main, .rp-wrap, .pc-org-wrap, .pc-page) {
  max-width: 1200px;
  margin-inline: auto;
}
.pc-public-theme:not(.home-ecosystem) :is(h1, h2, h3) { letter-spacing: -.025em; }
.pc-public-theme:not(.home-ecosystem) :is(.hero, .pc-hero, .pt-hero, .pe-hero, .feat-hero, .pc-standing-hero) {
  background: #fff;
  color: var(--pc-text);
  border-color: var(--pc-border);
  box-shadow: var(--pc-shadow);
}
.pc-public-theme:not(.home-ecosystem) :is(.card, .pc-card, .pe-card, .pt-featured-card, .pt-mobile-card, .pt-filters-card, .pt-kpi, .pe-kpi, .coach-shell, .deck-card, .rp-card, .tc-card, .info-card, .sec-card) {
  background: #fff;
  border-color: var(--pc-border);
  border-radius: 14px;
  box-shadow: var(--pc-shadow);
}
.pc-public-theme:not(.home-ecosystem) :is(.btn, .pt-btn, .pt-action, .pe-btn, .feat-btn) {
  border-radius: 9px;
  min-height: 44px;
  font-family: inherit;
}
.pc-public-theme:not(.home-ecosystem) :is(.btn-primary, .pt-btn-primary, .pe-btn-primary, .feat-btn-primary, .pt-filters button, .mode-btn.active, .quick-btn.is-active, .pt-tabs a.is-active) {
  background: #456332;
  border-color: #456332;
  color: #fff;
  box-shadow: none;
}
.pc-public-theme:not(.home-ecosystem) :is(.btn-primary, .pt-btn-primary, .pe-btn-primary, .feat-btn-primary, .pt-filters button):hover { background: #35502a; }
.pc-public-theme:not(.home-ecosystem) :is(.btn-soft, .btn-ghost, .pt-btn:not(.pt-btn-primary), .pt-action, .pe-btn:not(.pe-btn-primary):not(.pe-btn-disabled), .feat-btn:not(.feat-btn-primary), .pt-tabs a:not(.is-active)) {
  background: #fff;
  border-color: var(--pc-border);
  color: #35502a;
}
.pc-public-theme :is(.pt-hero-kicker, .feat-kicker, .chip.active, .pe-player-icon, .pe-profile-btn, .pe-side-row b) {
  background: #edf3e7;
  color: #35502a;
  border-color: var(--pc-border);
}
.pc-public-theme :is(.pt-search, .pt-filters select, .pe-field input, .pe-field select, .pt-table-wrap, .pe-meta span) {
  border-color: var(--pc-border);
}
.pc-public-theme :is(.pt-hero-board, .pe-hero-art) {
  background-color: #f0f3ec;
  background-image: repeating-conic-gradient(#dfe5d6 0% 25%, transparent 0% 50%);
  background-size: 40px 40px;
}
.pc-public-theme .pe-pagination .is-active { background: #456332; border-color: #456332; color: #fff; }
.pc-public-theme .pc-standing-hero::after { display: none; }
.pc-public-theme .rp-hero { margin-bottom: 24px; }
.pc-public-theme .rp-round { background: #fafbf8; border-color: var(--pc-border); }
.pc-public-theme .rp-segment { background: #edf0e9; }
.pc-public-theme .brand { background: #35502a; }
.pc-public-theme .brand h1 { color: #fff; }
.pc-public-theme .page .card { max-width: min(860px, 100%); min-width: 0; box-sizing: border-box; }
.pc-public-theme .page .content { grid-template-columns: minmax(0, 1fr); }
.pc-public-theme .page :is(.content, input) { min-width: 0; }
.pc-public-theme .page input { box-sizing: border-box; }
.pc-public-theme .page :is(.eyebrow, .btn-secondary) { background: #edf3e7; color: #35502a; }
.pc-public-theme .legal-links a { color: #35502a; }
.pc-public-theme :is(.pc-org-hero, .pc-profile-hero) { background: #35502a; box-shadow: var(--pc-shadow); }

body.pc-public-theme.academy-page {
  --ac-ink: var(--pc-text);
  --ac-muted: var(--pc-muted);
  --ac-blue: var(--pc-primary-dark);
  --ac-line: var(--pc-border);
}
.pc-public-theme .ac-main { max-width: 1200px; }
.pc-public-theme .ac-main a { color: var(--pc-primary-dark); }
.pc-public-theme .ac-main .ac-primary { background: var(--pc-primary-dark); color: #fff; }
.pc-public-theme .ac-main .ac-primary:hover:not(:disabled) { background: var(--pc-primary-deep); }
.pc-public-theme .ac-hero {
  background: linear-gradient(125deg, var(--pc-card), var(--pc-primary-soft));
  border-color: var(--pc-border);
  box-shadow: var(--pc-shadow);
}
.pc-public-theme :is(.ac-path-card, .ac-featured, .ac-lesson-card, .ac-exercise, .ac-filters, .ac-board-personalize) {
  background: var(--pc-card);
  border-color: var(--pc-border);
  box-shadow: var(--pc-shadow);
}
.pc-public-theme :is(.ac-progress-panel, .ac-daily, .ac-completion-panel, .ac-callout) {
  background: var(--pc-primary-soft);
  border-color: var(--pc-border);
}
.pc-public-theme .ac-callout { border-left-color: var(--pc-primary-dark); }
.pc-public-theme :is(.ac-eyebrow, .ac-link-button) { color: var(--pc-muted); }
.pc-public-theme :is(.ac-hero-stats strong, .ac-puzzle-action, .ac-completion-emblem) { color: var(--pc-primary-dark); }
.pc-public-theme :is(.ac-tag, .ac-lesson-navigator [aria-current=page]) {
  background: var(--pc-primary-soft);
  color: var(--pc-primary-deep);
}
.pc-public-theme .ac-path-card::before { background: var(--pc-primary); }
.pc-public-theme .ac-puzzle-card {
  background: linear-gradient(140deg, var(--pc-card), var(--pc-primary-soft));
  border-color: var(--pc-border);
}
.pc-public-theme .ac-puzzle-symbol { color: #dfe5d6; }
.pc-public-theme .ac-main :is(.ac-btn, button:not(.ac-link-button), select, input[type=search], textarea) {
  border-color: var(--pc-border);
}
.pc-public-theme .ac-main .ac-primary { border-color: var(--pc-primary-dark); }
.pc-public-theme .ac-main :is(button:hover:not(:disabled), .ac-btn:hover) { border-color: var(--pc-primary-dark); }
.pc-public-theme .ac-completion-back { border-color: var(--pc-border); }
.pc-public-theme .ac-completion-panel.is-complete { background: var(--pc-primary-soft); border-color: #9aaf83; }
.pc-public-theme .ac-lesson-navigator [aria-current=page] { background: var(--pc-primary-soft); }
.pc-public-theme .ac-main progress { background: var(--pc-surface-soft); }
.pc-public-theme .ac-main progress::-webkit-progress-bar { background: var(--pc-surface-soft); }
.pc-public-theme.academy-page .pc-footer a { color: var(--pc-primary-deep); }
.pc-public-theme.academy-page .pc-footer a:hover { color: var(--pc-primary-dark); }

@media (max-width: 600px) {
  .pc-public-theme:not(.home-ecosystem) :is(.wrap, .container, .pc-wrap, .pt-wrap, .pe-wrap, .coach-wrap, .rp-wrap) {
    padding-inline: 14px;
  }
}

  .pc-public-theme.pc-rules-page :is(.pc-card, .pc-section, .pc-nav-desktop, .pc-nav-mobile, .pc-kpi) {
    background: var(--pc-card);
    border-color: var(--pc-border);
    box-shadow: var(--pc-shadow);
  }
  .pc-public-theme.pc-rules-page :is(.pc-sub, .pc-note) {
    background: var(--pc-primary-soft);
    border-color: var(--pc-border);
    color: var(--pc-muted);
  }
  .pc-public-theme.pc-rules-page :is(.pc-title, .pc-section h2, .pc-section h3, .pc-nav-title, .pc-nav-mobile-label, .pc-kpi .v) {
    color: var(--pc-text);
  }
  .pc-public-theme.pc-rules-page :is(.pc-section p, .pc-list li) { color: var(--pc-text); }
  .pc-public-theme.pc-rules-page :is(.pc-kpi .k, .pc-kpi .s, .pc-nav-mobile-hint, .pc-search .hint) { color: var(--pc-muted); }
  .pc-public-theme.pc-rules-page :is(.pc-section h2, .pc-section h3)::before {
    background: var(--pc-primary-soft);
    color: var(--pc-primary-dark);
  }
  .pc-public-theme.pc-rules-page :is(.pc-hero-pill, .pc-badge, .pc-chip, .pc-nav-chip, .pc-ruleitem, .pc-search, .pc-info-dot) {
    background: var(--pc-card);
    border-color: var(--pc-border);
    color: var(--pc-text);
  }
  .pc-public-theme.pc-rules-page :is(.pc-nav-desktop a, .pc-nav-chip, .pc-chip, .pc-wrap a) { color: var(--pc-primary-dark); }
  .pc-public-theme.pc-rules-page :is(.pc-nav-desktop a.is-active, .pc-nav-chip.is-active, .pc-chip:hover, .pc-nav-desktop a:hover, .pc-nav-chip:hover, .pc-ruleitem:hover, .pc-ruleitem:focus) {
    background: var(--pc-primary-soft);
    border-color: #9aaf83;
    color: var(--pc-primary-deep);
  }
  .pc-public-theme.pc-rules-page .pc-ruleitem:focus { box-shadow: none; }
  .pc-public-theme.pc-rules-page .pc-btn.primary {
    background: var(--pc-primary-dark);
    border-color: var(--pc-primary-dark);
    color: #fff;
  }
  .pc-public-theme.pc-rules-page .pc-btn.primary:hover { background: var(--pc-primary-deep); filter: none; }
  .pc-public-theme.pc-rules-page .pc-badge .dot { background: var(--pc-primary); box-shadow: 0 0 0 3px #76965626; }
  .pc-public-theme.pc-rules-page :is(.pc-tooltip, .pc-infobar) { background: var(--pc-primary-deep); color: #fff; }
  .pc-public-theme.pc-rules-page :is(.pc-tooltip-body, .pc-tooltip-meta) { color: #edf3e7; }
  .pc-public-theme.pc-rules-page .pc-tooltip[data-arrow=top]::after { border-top-color: var(--pc-primary-deep); }
  .pc-public-theme.pc-rules-page .pc-tooltip[data-arrow=bottom]::after { border-bottom-color: var(--pc-primary-deep); }
  .pc-public-theme.pc-rules-page .pc-search input { font: inherit; color: var(--pc-text); background: transparent; min-width: 0; }
  .pc-public-theme.pc-rules-page .pc-badge { background: var(--pc-primary-soft); color: var(--pc-primary-deep); }

/* Normalize older public surfaces that still use the former blue palette. */
.pc-public-theme :is(.pc-title, .pc-player-link) { color: var(--pc-primary-dark); }
.pc-public-theme .pc-hero .pc-title { color: var(--pc-text); }
.pc-public-theme .pc-event-strip {
  background: linear-gradient(135deg, var(--pc-primary-deep), var(--pc-primary-dark));
}
.pc-public-theme .pc-btn:not(.pc-btn-primary) {
  background: #fff;
  border-color: var(--pc-border);
  color: var(--pc-primary-deep);
}
.pc-public-theme .pc-btn:not(.pc-btn-primary):hover {
  background: var(--pc-primary-soft);
  border-color: #9aaf83;
}
.pc-public-theme :is(.pc-item, .pc-moves, .pc-engine-box, .pc-engine-item, .pc-move-stream) {
  border-color: var(--pc-border);
}
.pc-public-theme .pc-item { background: var(--pc-surface-soft); }
.pc-public-theme .pc-item h3,
.pc-public-theme .pc-engine-item strong { color: var(--pc-primary-dark); }
.pc-public-theme .pc-move.active { background: var(--pc-primary-soft); color: var(--pc-primary-deep); }
.pc-public-theme .pc-file::file-selector-button {
  border-color: #9aaf83;
  background: var(--pc-primary-soft);
  color: var(--pc-primary-deep);
}
.pc-public-theme .pc-file:hover::file-selector-button { background: #e2ebd8; }

.pc-public-theme .guide { color: var(--pc-text); }
.pc-public-theme .guide a { color: var(--pc-primary-dark); }
.pc-public-theme .guide :is(button, .guide-actions a) {
  border-color: var(--pc-border);
  color: var(--pc-primary-deep);
}
.pc-public-theme .guide-actions button {
  background: var(--pc-primary-dark);
  border-color: var(--pc-primary-dark);
  color: #fff;
}
.pc-public-theme .guide-header {
  border-color: var(--pc-border);
  background: radial-gradient(ellipse at 100% 0, var(--pc-primary-soft), transparent 65%),
    linear-gradient(125deg, #fff, #f6f8f2);
  color: var(--pc-text);
  box-shadow: var(--pc-shadow);
}
.pc-public-theme .guide-brand,
.pc-public-theme .guide .eyebrow,
.pc-public-theme .guide-highlights span,
.pc-public-theme .reference-count { color: var(--pc-primary-dark); }
.pc-public-theme .guide-brand-mark {
  background: var(--pc-primary-dark);
  color: #fff;
}
.pc-public-theme .guide :is(.guide-brand-label, .subtitle, .guide li, .reference-intro p:last-child,
  .reference-count span, .guide dt, .event-notes > p, .sources p) { color: var(--pc-muted); }
.pc-public-theme .guide > footer { color: var(--pc-muted); }
.pc-public-theme .guide :is(.guide-highlights span, .event-details, .event-details > div, .qr-panel,
  .guide-qr, .topic-links a, .rules-grid section, .event-notes, .sources) {
  border-color: var(--pc-border);
}
.pc-public-theme .guide-highlights span,
.pc-public-theme .rule-number { background: var(--pc-primary-soft); }
.pc-public-theme .guide .section-kicker,
.pc-public-theme .qr-panel h2 { color: var(--pc-primary-dark); }
.pc-public-theme .guide .scope-note {
  background: var(--pc-primary-soft);
  border-color: var(--pc-border);
  border-left-color: var(--pc-primary-dark);
  color: var(--pc-text);
}
.pc-public-theme .rules-grid section { border-top-color: #9aaf83; }
.pc-public-theme .rule-number { color: var(--pc-primary-deep); }
.pc-public-theme .guide li::marker { color: var(--pc-primary); }
.pc-public-theme .sources {
  background: linear-gradient(120deg, var(--pc-primary-soft), #f8faf6);
}

.pc-public-theme.pc-parent-guide {
  background:
    radial-gradient(900px 420px at 8% 0, #e8f0df 0, transparent 70%),
    radial-gradient(720px 360px at 100% 20%, #edf3e7 0, transparent 72%),
    #f5f7f2;
}
.pc-public-theme.pc-parent-guide > main {
  padding-block: clamp(24px, 4vw, 48px) !important;
}
.pc-public-theme.pc-parent-guide .pc-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(24px, 4vw, 38px);
  border: 0;
  background:
    radial-gradient(ellipse at 92% 10%, #ffffff38, transparent 35%),
    linear-gradient(125deg, #304b26, #56783c 62%, #769656);
  color: #fff;
  box-shadow: 0 18px 42px #304b2626;
}
.pc-public-theme.pc-parent-guide .pc-hero::after {
  content: "♟";
  position: absolute;
  z-index: -1;
  right: clamp(20px, 5vw, 64px);
  bottom: -72px;
  color: #ffffff16;
  font-size: clamp(180px, 28vw, 320px);
  line-height: 1;
}
.pc-public-theme.pc-parent-guide .pc-hero h1 {
  max-width: 700px;
  color: #fff;
  font-size: clamp(1.9rem, 4.5vw, 3rem);
  line-height: 1.08;
}
.pc-public-theme.pc-parent-guide .pc-hero .lead { color: #f2f6ed; }
.pc-public-theme.pc-parent-guide .pc-hero .pc-pill {
  border-color: #ffffff45;
  background: #ffffff1a;
  color: #fff;
}
.pc-public-theme.pc-parent-guide .pc-hero .pc-pill .dot {
  background: #c7e29b;
  box-shadow: 0 0 0 3px #ffffff25;
}
.pc-public-theme.pc-parent-guide .pc-hero-actions .btn-dark {
  border-color: #fff;
  background: #fff;
  color: var(--pc-primary-deep);
}
.pc-public-theme.pc-parent-guide .pc-hero-actions .btn-outline-secondary {
  border-color: #ffffffb3;
  color: #fff;
}
.pc-public-theme.pc-parent-guide .pc-hero-actions .btn-outline-secondary:hover {
  background: #ffffff1a;
}
.pc-public-theme.pc-parent-guide .card {
  border: 1px solid #dfe6d8;
  border-radius: 18px;
  background: #ffffffed;
  box-shadow: 0 8px 24px #26351c0b;
}
.pc-public-theme.pc-parent-guide .pc-section {
  scroll-margin-top: 120px;
}
.pc-public-theme.pc-parent-guide .pc-section > .card-body {
  border-left: 4px solid #9aaf83;
  border-radius: 14px;
}
.pc-public-theme.pc-parent-guide .pc-section:nth-of-type(even) > .card-body {
  border-left-color: #769656;
}
.pc-public-theme.pc-parent-guide .pc-toc {
  padding: 14px 16px;
  border-radius: 14px;
  background: #f3f6ef;
}
.pc-public-theme.pc-parent-guide .pc-toc a,
.pc-public-theme.pc-parent-guide .pc-parent-guide-link {
  color: var(--pc-primary-dark);
  font-weight: 650;
}
.pc-public-theme.pc-parent-guide .table {
  --bs-table-bg: #fff;
  --bs-table-striped-bg: #f5f7f2;
  border-color: #e3e9dd;
}
.pc-public-theme.pc-parent-guide .table th {
  color: var(--pc-primary-deep);
}
.pc-public-theme.pc-parent-guide .border-success {
  border-color: #b7c9a5 !important;
  background: linear-gradient(145deg, #fff, #f3f7ee);
}
.pc-public-theme.pc-parent-guide .border-danger {
  border-color: #e8c9bd !important;
  background: linear-gradient(145deg, #fff, #fcf4f0);
}
.pc-public-theme.pc-parent-guide .text-center.text-muted {
  margin: 0 auto;
  padding: 18px 24px;
  border: 1px solid #dfe6d8;
  border-radius: 16px;
  background: #ffffffd9;
  color: var(--pc-muted) !important;
}
@media (max-width: 576px) {
  .pc-public-theme.pc-parent-guide .pc-hero::after { right: 2px; bottom: -36px; }
  .pc-public-theme.pc-parent-guide .card-body { padding: 20px; }
}
