/* Warm graphite appearance, keeping the existing layout, type and images. */
:root{color-scheme:dark;--bg:#242426;--paper:#2d2d30;--paper-raised:#39393d;--ink:#faf9f6;--muted:#bebdb9;--line:#49494c;--accent:#d5c8ad;--accent-light:#413e36;--dark:#39393d;--chrome:#29292c;--day:#272729;--media:#333336;--secondary-ink:#e0dfda;--accent-border:#827866;--accent-hover:#e6dac1;--button-ink:#111113;background-color:var(--bg);color:var(--ink)}

body { background-color: var(--bg); color: var(--ink); }
.sidebar { background-color: var(--chrome); }
.topbar,.bottom-nav { background-color: rgba(41,41,44,.96); border-color:var(--line); }
.brand-icon,.mobile-brand>span,.mini-spade { color:var(--accent); }
.brand small,.side-caption,.sidebar-version,.breadcrumb-slash { color:var(--muted); }
.avatar { background-color:var(--paper-raised); color:var(--ink); border-color:var(--chrome); box-shadow:0 0 0 1px var(--line); }
.nav-item.active,.bottom-item.active { background-color:var(--accent-light); color:var(--accent); }
.nav-item .nav-count { background-color:var(--paper-raised); color:var(--ink); }
.button { background-color:var(--accent); color:var(--button-ink); }
.button:hover { background-color:var(--accent-hover); }
.button.secondary,.button.dark { background-color:var(--paper-raised); color:var(--ink); border-color:var(--line); }
.button.secondary:hover,.button.dark:hover { background-color:var(--accent-light); border-color:var(--muted); }
.text-button,.map-button,.club-sources a,.club-name-button:hover,.photo-source a { color:var(--accent); }
.search-box,.filter-bar select,.catalog-city-button,.chip,.calendar-select { background-color:var(--paper); color:var(--ink); border-color:var(--line); }
input,select { color:var(--ink); }
input::placeholder { color:var(--muted); }
.chip.active { background-color:var(--accent-light); color:var(--accent); border-color:var(--accent-border); }
.chip:hover { border-color:var(--muted); }
.search-box:focus-within { border-color:var(--accent); box-shadow:0 0 0 3px rgba(213,200,173,.15); }
.preview-pill,.saved-top { border-color:var(--line); }
.simple-club .save-button,.series-card>.save-button { background-color:var(--chrome); color:var(--ink); border-color:var(--line); }
.simple-club .save-button.saved,.series-card>.save-button.saved { background-color:var(--accent-light); color:var(--accent); border-color:var(--accent-border); }
.club-media,.club-media.media-logo,.media-placeholder { background-color:var(--media); border-color:var(--line); }
.club-initials { color:var(--muted); }
.media-label { background-color:rgba(36,36,38,.88); color:var(--ink); }
.media-placeholder .media-label { color:var(--muted); }
.club-address { color:var(--secondary-ink); }
.club-location,.club-metro,.address-missing,.results-count { color:var(--muted); }
.club-gallery-preview button { border-color:var(--line); }
.photo-viewer img { background-color:var(--bg); }
.club-detail-logo { background-color:var(--paper); border-color:var(--line); }
.calendar-day { background-color:var(--day); color:var(--ink); border-color:var(--line); }
.calendar-day:hover { border-color:var(--muted); }
.calendar-day.today { border-color:var(--accent); }
.calendar-day.today .day-number { color:var(--accent); }
.calendar-day.selected { background-color:var(--accent-light); border-color:var(--accent); box-shadow:inset 0 0 0 1px var(--accent); }
.calendar-weekdays .weekend,.day-change,.legend-change { color:var(--accent); }
.calendar-weekdays abbr { background-color:var(--paper-raised); color:var(--muted); }
.calendar-weekdays abbr.weekend { color:var(--accent); }
.day-organizers-more { background-color:var(--paper-raised); border-color:var(--line); color:var(--ink); }
.day-count,.calendar-day-meta,.day-organizers-more { color:var(--secondary-ink); }
.day-empty { color:var(--muted); }
.month-chip.active { background-color:var(--accent); color:var(--button-ink); }
.calendar-mode button.active { background-color:var(--paper-raised); color:var(--ink); }
.series-dates,.series-location { color:var(--secondary-ink); }
.series-card h3 button:hover,.series-source-links a { color:var(--accent); }
.date-box,.event-card>.save-button { background-color:var(--paper-raised); color:var(--ink); }
.event-card .date-box { background-color:var(--accent-light); color:var(--accent); }
.event-card .date-box small { color:var(--accent); }
.community-strip,.learn-banner,.id-card,.demo-notice,.empty { background-color:var(--paper); border-color:var(--line); color:var(--secondary-ink); }
.mini-tag,.quick-icon { background-color:var(--paper-raised); color:var(--muted); }
.progress-track { background-color:var(--paper-raised); }
.lesson-number { color:var(--muted); }
.quick-card:hover { border-color:var(--muted); }
.hero { border-color:var(--line); }
.hero .eyebrow { color:var(--accent); }
.hero .button { color:var(--button-ink); }
.hero-caption,.hero p,.learn-banner p { color:var(--secondary-ink); }
.id-panel>p { color:var(--muted); }
dialog { background-color:var(--paper); color:var(--ink); border-color:var(--line); }
.dialog-top,.dialog-label { background-color:var(--paper); color:var(--muted); }
.form-field input,.form-field select { background-color:var(--paper-raised); color:var(--ink); border-color:var(--line); }
.city-option:hover { background-color:var(--paper-raised); }
.city-option.active { background-color:var(--accent-light); color:var(--accent); }
#toast { background-color:var(--paper-raised); color:var(--ink); border-color:var(--line); }

/* The same quiet palette for education, retaining success and error colors. */
.school-page,.school-reading { --school-violet:var(--accent); --school-blue:var(--secondary-ink); }
.school-intro-panel,.school-article-header { background-image:none; background-color:var(--paper); border-color:var(--line); }
.school-heading-links>a,.school-eyebrow,.school-method-link,.school-reset,.school-read,.school-reading-back>a,.school-answer summary,.school-reading-sources a strong { color:var(--accent); }
.school-intro-panel p,.school-stats,.school-progress-heading p,.school-lesson>p,.school-article-lead,.school-article-body p,.school-quiz-option { color:var(--secondary-ink); }
.school-progress-track { background-color:var(--paper-raised); }
.school-progress-track span { background-color:var(--accent); }
.school-path:hover,.school-path.selected,.school-chip.active,.school-quiz-option:has(input:checked) { background-color:var(--accent-light); border-color:var(--accent-border); }
.school-chip { color:var(--secondary-ink); }
.school-chip.active { color:var(--accent); }
.school-lesson:hover,.school-answer,.school-next,.school-example,.school-article-body .school-quiz-explanation { background-color:var(--paper-raised); border-color:var(--line); }
.school-example .school-eyebrow { color:var(--accent); }
.school-next:hover,.school-toc a:hover { border-color:var(--accent-border); }
.school-toc a:hover { color:var(--accent); }
.school-page button:focus-visible,.school-page a:focus-visible,.school-reading button:focus-visible,.school-reading a:focus-visible,.school-reading summary:focus-visible,.school-page select:focus-visible,.school-quiz-option:focus-within { outline-color:var(--accent); }
.school-quiz-option input { accent-color:var(--accent); }
.school-quiz-option.correct { background-color:#1b3428; border-color:#609b7c; color:#b4e1c6; }
.school-quiz-option.wrong { background-color:#3b2927; border-color:#bc826f; color:#ffd0be; }

/* Short transitions on existing interactions; no changes to positions or scale. */
.button { transition:background-color .22s cubic-bezier(.2,.7,.2,1),color .22s cubic-bezier(.2,.7,.2,1),border-color .22s cubic-bezier(.2,.7,.2,1),transform .18s cubic-bezier(.2,.7,.2,1); }
.chip,.school-chip,.month-chip,.nav-item,.bottom-item,.icon-button,.save-button,.calendar-day,.calendar-mode button,.school-path,.school-lesson,.city-option { transition:background-color .22s cubic-bezier(.2,.7,.2,1),color .22s cubic-bezier(.2,.7,.2,1),border-color .22s cubic-bezier(.2,.7,.2,1); }
.quick-card { transition:transform .28s cubic-bezier(.2,.7,.2,1),border-color .22s cubic-bezier(.2,.7,.2,1); }
.club-media img { transition:transform .38s cubic-bezier(.2,.7,.2,1); }
#toast { transition:opacity .24s cubic-bezier(.2,.7,.2,1),transform .24s cubic-bezier(.2,.7,.2,1); }
dialog[open] { animation:pokerindex-sheet-in .18s cubic-bezier(.2,.7,.2,1); }
@keyframes pokerindex-sheet-in { from { opacity:.9; } to { opacity:1; } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { transition:none!important; animation:none!important; } }


