/* Last-loaded campaign theme. Dossier and account component skins stay independent. */
:root {
  color-scheme: dark;
  --bg: #0b0c0d;
  --panel: #1b1c1d;
  --panel2: #252628;
  --line: #424242;
  --text: #f5f5f2;
  --muted: #b8b8b5;
  --mint: #f56b21;
  --mint-dark: #342014;
  --ink: #101010;
  --tactical-accent: #f56b21;
  --tactical-hover: #ff853f;
  --tactical-soft: #e0dfdb;
  --tactical-dark: #121314;
  --tactical-active: #302018;
}

body { background: var(--bg); color: var(--text); }
::selection { background: var(--mint); color: var(--ink); }
.page-body { background: var(--bg); }
.site-header { background: #0b0c0df5; border-bottom-color: var(--line); }
.site-header nav > a, .site-header nav > button { color: #d4d4d1; }
.site-header nav > a:hover, .site-header nav > button:hover { color: #fff; }
.site-header .nav-active { color: #fff; }
.brand strong { color: #fff; }
.brand strong span, .eyebrow, .text-button { color: var(--mint); }
.brand-sub, .demo-badge { color: var(--muted); }
.nav-active:after, .small-line { background: var(--mint); }
.count { background: #302018; color: #ff9d66; border-radius: 0; }
.avatar-button img { border-radius: 0; border: 1px solid var(--line); }
.section-heading h2, .benefit-intro h2 { color: #fff; font-weight: 700; letter-spacing: .2px; }
.section-index { color: #b6b6b3; border-color: var(--line); }
.text-button:hover { color: #ff9d66; }
.social-section, .activity-benefits + .social-section { border-color: var(--line); }

/* Campaign lead: dark artwork, direct typography, one orange action. */
.hero, .activity-hero { background: var(--bg); border-bottom-color: var(--line); }
.hero .hero-art, .activity-hero .hero-art {
  background: linear-gradient(90deg, #0b0c0dfa 0%, #0b0c0dd4 32%, #0b0c0d38 72%),
    linear-gradient(0deg, #0b0c0d 0%, transparent 60%),
    url('./assets/cag-community-kv.jpg') center 42% / cover;
  filter: saturate(.22) contrast(1.08);
}
.activity-hero h1 { color: #fff; font-weight: 800; font-size: clamp(42px, 4.5vw, 66px); line-height: 1.15; letter-spacing: -.4px; }
.hero h1 span { color: var(--mint); }
.hero-description, .activity-hero .hero-description { color: #e1e1de; }
.hero-duration { color: #c1c1bd; }
.hero-duration span { color: #666; }
.hero-secondary { background: #171819c9; }
.activity-how { border-top-color: #565656; }
.activity-steps h3, .how-label h2 { color: #fff; font-weight: 600; }
.activity-steps p { color: #bdbdb9; }
.activity-steps li > span { color: var(--mint); }
.hero-mini { background: #1b1c1df2; border-color: var(--line); box-shadow: none; border-radius: 0; }
.hero-mini img { border-radius: 0; }
.hero-mini small, .hero-social > p { color: #d0d0cc; }
.connection-line span { background: var(--panel); border-color: var(--line); color: var(--mint); border-radius: 0; }

/* Shared actions and inputs retain native semantics and visible keyboard focus. */
.button, .close-button, input, select, textarea { border-radius: 0; }
.button { border-color: #626262; color: var(--text); background: #1b1c1d; }
.button.primary, .primary, .reward-overview-next .button {
  background: var(--mint); border-color: var(--mint); color: var(--ink);
  font-weight: 700; box-shadow: none;
}
.button.primary:hover, .primary:hover, .reward-overview-next .button:hover {
  background: var(--tactical-hover); border-color: var(--tactical-hover); color: var(--ink);
}
.button.secondary, .hero-actions .hero-secondary { background: #171819; border-color: #696969; color: #f5f5f2; }
.secondary:hover, .button:not(.primary):hover { background: #2b2c2d; border-color: #a3a3a0; color: #fff; }
.button:disabled { background: #202122; border-color: #454545; color: #9d9d99; opacity: .65; }
.close-button { color: #e0e0dc; background: #1b1c1d; border-color: #5e5e5e; }
input, select, textarea,
.profile-preset-editor .field select,
.profile-basics input, .profile-basics select, .profile-basics textarea {
  background: #111213; border-color: #5e5e5e; color: #f5f5f2;
  box-shadow: none;
}
input::placeholder, textarea::placeholder { color: #999996; }
input[type='checkbox'], input[type='radio'], .commit-consent input { accent-color: var(--mint); }
input:focus-visible, select:focus-visible, textarea:focus-visible { border-color: var(--mint); }
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible,
.objective-choice:focus-visible, .objective-choice:has(input:focus-visible),
.commitment-term:focus-visible, .commitment-term:has(input:focus-visible) {
  outline: 2px solid var(--mint); outline-offset: 4px;
}
.field, legend, .check-row { color: #dededa; }
.field small, .form-note, .disclaimer, .minor-heading { color: var(--muted); }
.avatar-option img { border-radius: 0; }
.avatar-option:has(input:checked) img { border-color: var(--mint); }
.avatar-option:has(input:focus-visible) img { outline-color: var(--mint); }

/* Reward comparison: identical panels, visible task rows and clear totals. */
.benefit-role-picker { background: #141516; border-color: var(--line); border-radius: 0; }
.benefit-role-picker button { border-radius: 0; color: #dededa; }
.benefit-role-picker button span { color: #b4b4b0; }
.benefit-role-picker button[aria-pressed=true] { background: var(--mint); border-color: var(--mint); color: var(--ink); }
.benefit-role-picker button[aria-pressed=true] span { color: #332115; }
.reward-overview-routes button { border-radius: 0; background: #171819; border-color: #555; color: #e7e7e3; }
.reward-overview-routes button:hover { background: #262728; border-color: #92928e; }
.reward-overview-routes button[aria-pressed=true] { background: var(--tactical-active); border-color: var(--mint); color: #fff; box-shadow: inset 3px 0 var(--mint); }
.reward-overview-routes span, .reward-overview-intro p { color: #bfbfbb; }
.reward-overview-fixed-route { background: #211c18; border-left-color: var(--mint); color: #ebdfd8; }
.reward-overview-plan { background: #1b1c1d; border-color: var(--line); border-radius: 0; box-shadow: none; }
.reward-overview-plan:before { background: var(--mint); width: 44px; height: 3px; }
.reward-overview-plan > header { border-bottom: 0; }
.reward-overview-duration b, .reward-overview-plan header h3 { color: #fff; }
.reward-overview-duration > span, .reward-overview-plan header p { color: #bebeba; }
.reward-overview-plan header img { filter: saturate(.7); opacity: .85; }
.reward-overview-task-title { color: #c9c9c5; border-top-color: var(--line); }
.reward-overview-tasks li > span { color: #c5c5c1; }
.reward-overview-tasks b { color: #fff; }
.reward-overview-prizes { border-top-color: #676767; }
.reward-overview-prize + .reward-overview-prize { border-color: var(--line); }
.reward-overview-prize small { color: #c5c5bf; }
.reward-overview-prize strong { color: #ff8d4b; }
.reward-overview-prize > span { color: #e2e2dc; }
.reward-overview-completion, .reward-overview-disclaimer { color: #b2b2ad; }
.reward-overview-next { border-bottom-color: var(--line); }
.reward-overview-next strong { color: #fff; }
.reward-overview-next p { color: #bfbfb9; }
.reward-card { background: var(--panel); border-radius: 0; border-color: var(--line); }
.reward-card .condition { color: #c8c8c3; }
.reward-pair { border-top-color: var(--line); }
.reward-card .reward-detail { border-color: #656565; border-radius: 0; }
.reward-progress, .mini-progress { background: #373737; border-radius: 0; }
.reward-progress i, .mini-progress i { background: var(--mint); border-radius: 0; }

/* Card workshop and identity controls. */
.identity-console { background: #1b1c1d; border-color: var(--line); border-left-color: var(--mint); border-radius: 0; }
.identity-console .eyebrow { color: var(--mint); }
.identity-console strong { color: #eee; }
.identity-console small { color: #b5b5b1; }
.identity-switch { background: #101112; border-color: #555; border-radius: 0; }
.identity-switch button { border-radius: 0; color: #d2d2ce; }
.identity-switch button[aria-pressed=true] { background: var(--mint); color: var(--ink); border-color: var(--mint); }
.journey-steps b, .journey-steps small { color: #b3b3ae; }
.journey-steps .current, .journey-steps .done b { color: var(--mint); }
.journey-steps .current:after { background: var(--mint); }
.profile-editor { background: #161718; border-color: var(--line); border-radius: 0; border-top: 3px solid var(--mint); }
.profile-editor-heading h3, .profile-goal-heading h4 { color: #fff; font-weight: 650; }
.profile-editor .system-identity, .system-identity { background: #232323; border-color: #565656; border-left: 2px solid var(--mint); border-radius: 0; }
.system-mark { color: var(--mint); border-color: var(--mint); clip-path: none; }
.identity-kicker { color: #c7c7c3; }
.identity-kicker small { border-color: #747474; color: #c7c7c3; }
.system-identity strong { color: #fff; }
.system-identity p { color: #c9c9c4; }
.editor-avatar { border-color: #666; border-radius: 0; }
.profile-avatar-column .avatar-option img { border-radius: 0; }
.objective-choice, .profile-preset-editor .profile-goal .objective-choice { background: #161718; border-color: #5a5a5a; color: #eee; border-radius: 0; }
.objective-choice.selected, .objective-choice:has(input:checked),
.profile-preset-editor .profile-goal .objective-choice:has(input:checked) { background: #302018; border-color: var(--mint); box-shadow: inset 3px 0 var(--mint); }
.objective-choice small, .objective-prompt, .profile-save > p { color: #c0c0bc; }
.objective-check { color: #aaa; }
.objective-choice.selected strong, .objective-choice:has(input:checked) strong,
.objective-choice.selected .objective-check, .objective-choice:has(input:checked) .objective-check { color: #ff9c61; }
.discovery-intro .system-tag { color: #f3c9ad; background: #2b211b; border-color: #7c5a44; border-radius: 0; }
.profile-first-banner, .empty-state { background: #151617; border-color: #515151; border-radius: 0; }
.goal-prompt { color: #c4c4bf; }
.intent-tab { background: #171819; border-color: #555; border-radius: 0; }
.intent-tab.active { background: var(--mint); border-color: var(--mint); color: var(--ink); }
.view-tabs button.active { color: #fff; }
.view-tabs button.active:after { background: var(--mint); }
.track-switch { border-color: var(--line); border-radius: 0; }
.track-switch button { background: #171819; }
.track-switch button + button { border-left-color: var(--line); }
.track-switch small { color: #b9b9b5; }
.track-switch .active { background: var(--tactical-active); }
.growth-guide { background: #211b17; border-color: #725039; border-radius: 0; }
.growth-guide p { color: #ddd2ca; }

/* Right-side plan preview and all agreed-plan states. */
.workspace { background: #171819; border-color: var(--line); border-radius: 0; }
.workspace-head, .current-team-line, .workspace-bottom { border-color: var(--line); }
.workspace-head h3 { color: #fff; }
.workspace-bottom button { color: #c7c7c2; }
.workspace-bottom button:hover { color: var(--mint); }
.commitment-term { background: #1d1e1f; border-color: #626262; color: #eee; border-radius: 0; }
.commitment-term small, .commitment-term-duration { color: #bdbdb8; }
.commitment-term-duration b { color: #fff; }
.commitment-term.selected, .commitment-term:has(input:checked) { background: #302018; border-color: var(--mint); box-shadow: inset 0 3px var(--mint); }
.commitment-term:hover { border-color: #ababaa; }
.commitment-term.selected:hover, .commitment-term:has(input:checked):hover { border-color: var(--mint); }
.commitment-obligations h4 { color: #f1f1ed; }
.commitment-obligations ul { color: #c5c5c0; }
.commitment-own-reward { border-top-color: #505050; }
.commitment-own-reward small { color: #bebeba; }
.commitment-own-reward strong, .commitment-claim strong { color: #ff9b60; }
.commitment-consequence { color: #ddd5d0; background: #261e19; border-left-color: var(--mint); }
.commitment-demo-note, .commitment-snapshot-note { color: #b5b5ae; }
.commitment-state { border-color: #745641; background: #2c211a; color: #ffd0ae; border-radius: 0; }
.commitment-dates span { color: #c6c6c1; }
.commitment-progress-row > div { color: #d4d4ce; }
.commitment-progress-row progress { background: #3e3e3e; color: var(--mint); accent-color: var(--mint); border-radius: 0; }
.commitment-progress-row progress::-webkit-progress-bar { background: #3e3e3e; border-radius: 0; }
.commitment-progress-row progress::-webkit-progress-value { background: var(--mint); border-radius: 0; }
.commitment-progress-row progress::-moz-progress-bar { background: var(--mint); border-radius: 0; }
.commitment-progress > p { color: #bfbfb7; }
.commitment-claim { background: #24201d; border-color: #70523e; border-radius: 0; }
.commitment-claim small, .commitment-claim-status { color: #d0cbc7; }
.commitment-release > strong { color: #fff0e4; }
.commitment-release > p, .commitment-status-note { color: #c7c7c0; }
.commitment-release.pending { background: #2a211b; border-color: #98653f; border-left: 3px solid var(--mint); border-radius: 0; }
.commitment-demo-actions { border-top-color: #72543f; }
.commitment-demo-actions > small { color: #d4bba7; }
.binding-panel-heading > span { color: #c5c5bf; border-color: #626262; }
.binding-panel > p, .binding-summary > p, .binding-panel > small { color: #bebeb8; }
.binding-person img { border-color: #606060; border-radius: 0; }
.binding-person small, .binding-meta { color: #bebeb7; }
.binding-release-link .button, .binding-history summary { color: #c8c8c1; }
.commit-consent { background: #211d1a; border-color: #78563d; color: #e4d6cc; }
.invite-plan-summary { border-left-color: var(--mint); background: #211d1a; }
.invite-plan-summary strong { color: #fff; }
.invite-plan-summary p { color: #cfc7c0; }
.invite-plan-summary .snapshot-rewards span { color: #ffac77; }

/* Dialogs, notifications, histories and utility tables. */
dialog { background: #101112; color: var(--text); border-color: #5d5d5d; border-top: 3px solid var(--mint); border-radius: 0; box-shadow: 0 20px 80px #000b; }
dialog::backdrop { background: #000b; backdrop-filter: blur(4px); }
.dialog-head { background: #18191af8; border-color: var(--line); }
.dialog-head h2 { color: #fff; font-weight: 650; }
.dialog-footer { background: #18191a; border-color: var(--line); }
.dialog-body .hint, .rule-list { color: #c7c7c1; }
.profile-detail-top img, .match-faces img, .invitation-top img,
.contact-row img, .leader-row img, .member-row img, .mini-invite img,
.profile-overview img, .squad-avatars img { border-radius: 0; }
.profile-quote-large { color: #e4e4dc; }
.detail-cell { background: #1b1c1d; border-color: var(--line); border-radius: 0; }
.locked-detail { background: #1b1c1d; border-color: #747474; border-radius: 0; }
.locked-detail p, .match-success p { color: #c5c5bf; }
.match-faces img { border-color: #7d7d7d; }
.notice, .status-banner { background: #24211e; border-color: #70533f; color: #e6dfd8; border-radius: 0; }
.status-banner small { color: #c9bfb7; }
.state-badge { background: #2b211b; border-color: #77573f; color: #ffb47e; border-radius: 0; }
.invitation-item > p { color: #cacac5; }
.demo-inline { border-color: #626262; border-radius: 0; }
.control-group h3 { color: #eee; }
.empty-slot { border-color: #737373; border-radius: 0; }
.next-play { background: #111213; border-color: var(--line); border-radius: 0; }
.friend-code { background: #191a1b; border-color: #666; border-radius: 0; }
.friend-code strong { color: #ff9b60; }
.progress-table th { color: #c7c7bf; background: #1b1c1d; }
.progress-table td { color: #e4e4de; }
.progress-table th, .progress-table td, .task-line { border-color: var(--line); }
.task-line-header h3 { color: #f4f4ef; }
.task-line-header p, .task-line > p { color: #c2c2bb; }
.task-line .bar { background: #3e3e3e; }
.sync-banner { background: #27221e; color: #e9e1da; border-color: #876146; }
.progress-text { color: #ddd; }
.inline-error { background: #35201a; color: #ffc4aa; border-left: 3px solid #f56b21; border-radius: 0; }
.skeleton { background-image: linear-gradient(90deg, #191a1b 25%, #303132 45%, #191a1b 65%); border-radius: 0; }
#toast { background: #242424; color: #f5f5ee; border-color: #986541; border-left: 3px solid var(--mint); border-radius: 0; }
#toast.toast-error { background: #35201a !important; color: #ffd0b9 !important; }
.demo-launcher { background: #1f2021; border-color: #767676; color: #eee; border-radius: 0; box-shadow: 0 5px 20px #0007; }
.demo-dot { background: var(--mint); border-radius: 0; }
.onboarding-route .current { border-color: var(--mint); color: var(--mint); }

/* Non-dossier squad cards and retained weekly summaries. */
.squad-single-stage .player-card { background: #1b1c1d; border-color: #575757; border-radius: 0; }
.squad-single-stage .player-card:hover { border-color: #929292; transform: none; }
.squad-single-stage .player-quote { color: #deded7; }
.squad-single-stage .tag { background: #292a2b; color: #d1d1ca; border-radius: 0; }
.squad-single-stage .player-time { color: #c3c3bb; }
.squad-single-stage .recommendation { color: #bebeb5; }
.squad-single-stage .squad-avatars img { border-color: #333; }
.milestone-prizes > div { border-left-color: #626262; }
.milestone-list li p, .milestone-note, .pair-plan-heading > p:last-child { color: #bdbdb5; }
.milestone-prizes strong { color: #e5e5de; }
.milestone-summary { background: #25201c; border-color: #72563f; border-radius: 0; }
.milestone-summary dt, .milestone-summary > small { color: #c7c1b9; }
.milestone-summary dd { color: #fff1e6; }

.site-footer { border-top-color: var(--line); background: var(--bg); }
.site-footer p { color: #d0d0c9; }
.site-footer small { color: #aaa; }

@media (max-width: 650px) {
  .activity-hero h1 { font-size: clamp(36px, 8.8vw, 46px); }
  .reward-overview-prize + .reward-overview-prize { border-color: var(--line); }
}
@media (prefers-reduced-motion: reduce) {
  .reward-overview button, .button, .commitment-term { transition: none; }
}
