:root{
  --text-primary:#F8F5F2;
  --text-secondary:#D1CBC5;
  --text-muted:#AAA29B;
  --text-meta:#9A938D;
  --text-disabled:#827B75;
  --accent-schedule:#4ADE80;
  --accent-notice:#FF8A3D;
  --accent-replay:#4CC9FF;
  --accent-clips:#668CFF;
  --accent-fanart:#FF82C6;
  --accent-youtube:#FF6464;
  --accent-tarot:#B58AFF;
  --accent-minigames:#FFD05A;
  --accent-history:#AEB9C8;
  --accent-data:#48E0C2;
  --accent-calendar:#B7E75C;
  --accent-contents:#F2A65A;
  --accent-schedule-soft:color-mix(in srgb,var(--accent-schedule) 12%,transparent);
  --accent-notice-soft:color-mix(in srgb,var(--accent-notice) 12%,transparent);
  --accent-replay-soft:color-mix(in srgb,var(--accent-replay) 12%,transparent);
  --accent-clips-soft:color-mix(in srgb,var(--accent-clips) 12%,transparent);
  --accent-fanart-soft:color-mix(in srgb,var(--accent-fanart) 12%,transparent);
  --accent-youtube-soft:color-mix(in srgb,var(--accent-youtube) 12%,transparent);
  --accent-tarot-soft:color-mix(in srgb,var(--accent-tarot) 12%,transparent);
  --accent-minigames-soft:color-mix(in srgb,var(--accent-minigames) 12%,transparent);
  --accent-history-soft:color-mix(in srgb,var(--accent-history) 12%,transparent);
  --accent-data-soft:color-mix(in srgb,var(--accent-data) 12%,transparent);
  --accent-calendar-soft:color-mix(in srgb,var(--accent-calendar) 12%,transparent);
  --accent-contents-soft:color-mix(in srgb,var(--accent-contents) 12%,transparent);
}
[data-theme="light"]{
  --text-primary:#1D1815;
  --text-secondary:#4B433D;
  --text-muted:#625951;
  --text-meta:#625951;
  --text-disabled:#817870;
  --accent-schedule:#168447;
  --accent-notice:#C9500A;
  --accent-replay:#0876A8;
  --accent-clips:#3456C8;
  --accent-fanart:#C43A83;
  --accent-youtube:#C93434;
  --accent-tarot:#743AC1;
  --accent-minigames:#A66A00;
  --accent-history:#596879;
  --accent-data:#087F6B;
  --accent-calendar:#658800;
  --accent-contents:#A84E05;
}
.category-accent{--category-accent:var(--orange-2)}
.category-accent[data-kind="schedule"]{--category-accent:var(--accent-schedule)}
.category-accent[data-kind="notice"]{--category-accent:var(--accent-notice)}
.category-accent[data-kind="replay"]{--category-accent:var(--accent-replay)}
.category-accent[data-kind="clips"]{--category-accent:var(--accent-clips)}
.category-accent[data-kind="fanart"]{--category-accent:var(--accent-fanart)}
.category-accent[data-kind="youtube"]{--category-accent:var(--accent-youtube)}
.category-accent[data-kind="tarot"]{--category-accent:var(--accent-tarot)}
.category-accent[data-kind="minigames"]{--category-accent:var(--accent-minigames)}
.category-accent[data-kind="history"]{--category-accent:var(--accent-history)}
.category-accent[data-kind="data"]{--category-accent:var(--accent-data)}
.category-accent[data-kind="calendar"]{--category-accent:var(--accent-calendar)}
.category-accent[data-kind="contents"]{--category-accent:var(--accent-contents)}

body[data-page="schedule"]{--page-accent:var(--accent-schedule)}
body[data-page="notice"]{--page-accent:var(--accent-notice)}
body[data-page="vod"]{--page-accent:var(--accent-replay)}
body[data-page="clips"]{--page-accent:var(--accent-clips)}
body[data-page="fanart"]{--page-accent:var(--accent-fanart)}
body[data-page="youtube"]{--page-accent:var(--accent-youtube)}
body[data-page="tarot"]{--page-accent:var(--accent-tarot)}
body[data-page="minigames"],
body[data-page="chuntris"],
body[data-page="chunbak"],
body[data-page="chungwagame"],
body[data-page="chuncortile"]{--page-accent:var(--accent-minigames)}
body[data-page="history"]{--page-accent:var(--accent-history)}
body[data-page="data"]{--page-accent:var(--accent-data)}
body[data-page="contents"]{--page-accent:var(--accent-contents)}
.page-category-kicker,.page-hero .kicker{color:var(--page-accent,var(--orange-2))}
.page-category-kicker{display:flex;align-items:center;gap:8px;font-weight:900;letter-spacing:.12em}
.page-category-kicker>span[aria-hidden="true"]{display:inline-grid;place-items:center;min-width:22px;height:22px;border-radius:8px;background:color-mix(in srgb,var(--page-accent) 11%,transparent);border:1px solid color-mix(in srgb,var(--page-accent) 28%,transparent);color:var(--page-accent)}

/* Shared readable text hierarchy */
.page-hero h1,.section-head h2,.portal-card strong,.home-overview-card strong,.activity-item-copy>strong,.personal-panel h2{color:var(--text-primary)}
.page-hero p,.section-head>p,.portal-card p,.home-overview-card p,.personal-hero-card>div>p:last-child,.personal-alert-panel p{color:var(--text-secondary)}
.portal-compact-grid em,.home-all-links summary small,.activity-item-copy>small,.activity-item-meta time,.personal-panel header>a,.personal-panel header>span,.personal-recent span,.personal-challenge span,.personal-tarot-latest span,.personal-empty{color:var(--text-muted)}
.site-search-results a strong{color:var(--text-primary)}
.site-search-results a small,.site-search-help{color:var(--text-muted)}


/* Site-wide readable copy hierarchy — dark/light safe */
:where(.footer-brand p,.footer-links,.copyright,.status-card-copy small,.status-card-copy [data-status-action],
.site-search-results a small,.site-search-help,.site-search-empty,.personal-summary span,.personal-saved-grid span,
.personal-achievement-grid small,.personal-tarot-latest small,.personal-tarot-list time,.personal-tarot-list span,
.personal-alert-default,.personal-alert-lead,.personal-collection-tabs button,.personal-backup-bar span,
.app-home-grid small,.personal-shortcuts span){color:var(--text-muted)!important}
:where(.player-info p,.fanart-copy small,.fanart-modal-copy p,.source-note,.history-guide p,
.data-page small,.data-page .data-rank-list span,.tarot-disclaimer){color:var(--text-muted)}
:where(.site-search-go,.personal-saved-grid button,.personal-achievement-grid article:not(.is-earned)){color:var(--text-meta)!important}
[data-theme="light"] :where(.copyright,.site-search-help,.site-search-results a small,.personal-alert-default,
.personal-summary span,.personal-saved-grid span,.personal-tarot-list time,.personal-tarot-list span){color:var(--text-muted)!important}
