/* Shared appearance, loaded after legacy component styles. Dark is the first-visit default. */
:root {
 --theme-bg:#101014;--theme-panel:#18181f;--theme-panel2:#22222b;--theme-input:#131319;
 --theme-line:#35353f;--theme-border:#737384;--theme-text:#f3f3f7;--theme-muted:#b7b7c7;
 --theme-accent:#ff7484;--theme-selected:#34212b;--theme-selected-border:#bc5264;
 --theme-success-bg:#183127;--theme-success-text:#1e9453;--theme-success-border:#3c7358;
 --theme-warning-bg:#332a1e;--theme-warning-text:#f1ca8e;--theme-warning-border:#8c7040;
 --theme-danger-bg:#38212b;--theme-danger-text:#ffacb9;--theme-danger-border:#975269;
 --theme-total:#f3f3f7;--theme-cpu:#ff7484;--theme-gpu:#65d4c9;
 --brand-red:#d71935;--brand-red-hover:#b9142e;--brand-dark:#111114;
 --theme-shadow:0 12px 36px #0002;--theme-hover:#2e2e39;
 --bg:var(--theme-bg);--panel:var(--theme-panel);--panel2:var(--theme-panel2);--line:var(--theme-line);
 --text:var(--theme-text);--muted:var(--theme-muted);--lime:var(--theme-accent);--orange:var(--theme-accent);
 --mint:var(--theme-success-text);--amber:var(--theme-warning-text);--red:var(--theme-danger-text);--shadow:var(--theme-shadow);
 color-scheme:dark;
}
:root[data-theme=light] {
 --theme-bg:#f4f4f7;--theme-panel:#fff;--theme-panel2:#ececf2;--theme-input:#fff;
 --theme-line:#d8d8e2;--theme-border:#828292;--theme-text:#22222c;--theme-muted:#5d5d70;
 --theme-accent:#b71932;--theme-selected:#fff0f3;--theme-selected-border:#bf4056;
 --theme-success-bg:#eaf6ef;--theme-success-text:#21623e;--theme-success-border:#6c9d7e;
 --theme-warning-bg:#fff3dd;--theme-warning-text:#77500b;--theme-warning-border:#ad843b;
 --theme-danger-bg:#fff0f3;--theme-danger-text:#a31535;--theme-danger-border:#c66d83;
 --theme-total:#252631;--theme-cpu:#b71932;--theme-gpu:#167c77;
 --brand-red:#c81730;--brand-red-hover:#a71028;--theme-shadow:0 10px 30px #25253009;--theme-hover:#e4e4ed;
 color-scheme:light;
}
body { background:var(--bg);color:var(--text); }
::selection { background:var(--theme-selected-border);color:#fff; }
a:hover { color:var(--theme-accent); }
:is(button,a,input,select,textarea,summary):focus-visible { outline:2px solid var(--theme-accent);outline-offset:4px; }
body :is(input:not([type=checkbox]):not([type=range]),textarea,select) { background:var(--theme-input);border-color:var(--theme-border);color:var(--text); }
input::placeholder,textarea::placeholder { color:var(--muted);opacity:1; }
input[type=checkbox],input[type=range],.check input { accent-color:var(--brand-red); }
label,.form-grid label,.check { color:var(--text)!important; }
:is(h1,h2,h3,h4,h5,summary) { color:var(--text); }
:is(p,.small,.muted,.hint,.lead,.panel-label,.section-kicker,.breadcrumbs,.card-meta,.methods,.price-pill,.footer,.legal-footer,.seo-note,.no-results,.tab-description,.usd-rate-note,.usd-estimate) { color:var(--muted); }
:is(.accent,.eyebrow,.step-label,.feature-strip .icon,.how-steps .panel strong,.trust-item>.icon) { color:var(--theme-accent); }
:is(.card,.panel,.draw-hero,.empty,.stat-mini,.inline-code,.seo-preview,.metric) { background:var(--panel);border-color:var(--line);color:var(--text);box-shadow:none; }
.card:hover { border-color:var(--theme-border);box-shadow:var(--theme-shadow); }
.card-art { background:var(--panel2)!important; }
.card-art .badge { background:var(--theme-success-bg);color:var(--theme-success-text);border-color:var(--theme-success-border); }
.card-art .badge.neutral,.card-art .card-category { background:var(--panel);color:var(--text);border-color:var(--line); }
.card-body h3 a:hover,.breadcrumbs a { color:var(--theme-accent); }
:is(.prize small,.stat-mini small,.definition dt,.seo-preview small,.seo-preview p) { color:var(--muted); }
:is(.live-stats strong,.price-pill strong,.prize,.big-prize,.ticket-count,.entry-quantity,.stat-mini strong,.definition dd,.footer-brand strong,.widget-wordmark,.fee-ledger .fee-amount) { color:var(--text); }
.seo-preview strong { color:var(--theme-accent); }
.progress,.panel .progress { background:var(--line); }
.progress>span { background:var(--brand-red); }
.btn { background:var(--brand-red);border-color:var(--brand-red);color:#fff;box-shadow:none; }
.btn:hover { background:var(--brand-red-hover);border-color:var(--brand-red-hover);color:#fff;filter:none; }
.btn.secondary,.card .btn { background:var(--brand-red);border-color:var(--theme-border);color:var(--text);box-shadow:none; }
.btn.ghost { background:transparent;border-color:var(--theme-border);color:var(--text);box-shadow:none; }
:is(.btn.secondary,.card .btn,.btn.ghost):hover { background:var(--theme-hover);border-color:var(--theme-border);color:var(--text); }
.btn.danger { background:var(--theme-danger-bg);border-color:var(--theme-danger-border);color:var(--theme-danger-text); }
.btn.danger:hover { background:var(--theme-danger-bg);border-color:var(--theme-danger-text);color:var(--theme-danger-text); }
.badge { background:var(--theme-success-bg);border-color:var(--theme-success-border);color:var(--theme-success-text); }
.badge.neutral { background:var(--panel2);border-color:var(--line);color:var(--muted); }
.badge.warn { background:var(--theme-warning-bg);border-color:var(--theme-warning-border);color:var(--theme-warning-text); }
.notice { background:var(--panel2);border-color:var(--line);color:var(--text); }
.notice.green { background:var(--theme-success-bg);border-color:var(--theme-success-border);color:var(--theme-success-text); }
.notice.red { background:var(--theme-danger-bg);border-color:var(--theme-danger-border);color:var(--theme-danger-text); }
.error { color:var(--theme-danger-text); }
.statusline,.back { color:var(--muted); }
.tabs { background:var(--panel2);border-color:var(--line); }
.tabs button { color:var(--muted); }
.tabs button.selected { background:var(--panel);color:var(--theme-accent);box-shadow:none; }
:is(.entry-row,.definition,.divider,.feature-strip,.footer,.legal-footer,.live-stats,.trust-strip,details) { border-color:var(--line); }
.sandbox { border-color:var(--line);color:var(--muted); }
.sandbox strong { color:var(--text); }
.spinner { border-color:var(--line);border-top-color:var(--brand-red); }

/* Keep the supplied identity clear on the same dark header in both modes. */
.nav { background:#111114; }
.nav,.nav::before { border-color:#303039; }
.nav::before { background:#111114;box-shadow:0 0 0 100vmax #111114; }
.navlinks :is(a,button),.navright #accountButton { color:#c9c9d5; }
.navlinks :is(a,button):hover,.navlinks :is(.selected,.active) { color:#fff; }
.navright>.btn[data-action=create] { background:var(--brand-red);border-color:var(--brand-red);color:#fff; }
.navright>.btn[data-action=create]:hover { background:var(--brand-red-hover);border-color:var(--brand-red-hover); }
.navright #accountButton:hover { background:#2e2e39;color:#fff; }
.app-header-title { color:#c9c9d5; }
.theme-toggle { display:inline-grid;place-items:center;flex:none;width:44px;height:44px;padding:10px;border:1px solid #565665;border-radius:10px;background:#202029;color:#eeeef5; }
.theme-toggle:hover { background:#30303b;color:#fff; }
.theme-toggle:focus-visible { outline-color:#ff8896; }
.theme-toggle svg { display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round; }
.theme-toggle .theme-moon,[data-theme=light] .theme-toggle .theme-sun { display:none; }
[data-theme=light] .theme-toggle .theme-moon { display:block; }
.widget-top .theme-toggle { margin-left:auto; }
@media(max-width:820px) { .app-shell .nav>.theme-toggle { margin-left:auto; } .app-shell .nav>.app-account-button { margin-left:0; } .app-shell .nav { gap:10px; } }
@media(min-width:821px) and (max-width:1100px) { .nav { gap:10px; } .navlinks a { padding-inline:7px; } }

/* Dark brand artwork remains an intentional media surface in the light theme. */
.hero,.engagement-home { background:#18181f;border-color:#35353f;color:#f3f3f7; }
:is(.hero,.engagement-home) :is(h1,h2) { color:#f3f3f7; }
:is(.hero,.engagement-home) h1 .accent { color:#ff7484; }
:is(.hero,.engagement-home) .eyebrow { color:#ff8c99; }
:is(.hero,.engagement-home) p { color:#c4c4d2; }
:is(.hero,.engagement-home) .btn.ghost { background:#22222b;border-color:#737384;color:#f3f3f7; }
:is(.hero,.engagement-home) .btn.ghost:hover { background:#30303b;color:#fff; }
.hero-caption { background:#202029;border-color:#565665;color:#eeeef5; }
.hero-caption strong { color:#f3f3f7; }
.hero-caption small,.hero-note { color:#c4c4d2; }
.hero-caption .icon { background:#38212b;color:#ff8c99; }
.creator-callout { background:var(--panel);border-color:var(--line);border-left-color:var(--brand-red);color:var(--text); }
.creator-callout p { color:var(--muted); }

/* Native dialogs: account, entry, receipt, invoice, rules and media flows. */
dialog,.dialog-head { background:var(--panel);border-color:var(--line);color:var(--text); }
.dialog-head h2 { color:var(--text); }
dialog::backdrop { background:#08080bb8;backdrop-filter:blur(5px); }
.dialog-body .notice { border-color:var(--line); }
.close,.app-icon-button { background:var(--panel2);border-color:var(--theme-border);color:var(--text); }
.close:hover,.app-icon-button:hover { background:var(--theme-hover);color:var(--text); }
#toast { background:var(--panel2);border-color:var(--theme-border);color:var(--text);box-shadow:var(--theme-shadow); }
.enrollment-reassurance { background:var(--theme-success-bg);border-color:var(--theme-success-border);color:var(--theme-success-text)!important; }
.enrollment-optional,.wallet-help { border-color:var(--line); }

/* Shell menu and mining status follow the current appearance without a remount. */
.app-shell .app-bottom-nav,.has-mining-job .app-bottom-nav { background:var(--panel);border-color:var(--line);box-shadow:none; }
.app-shell .app-bottom-nav>:is(a,button) { color:var(--muted); }
.app-shell .app-bottom-nav>:is(a,button):hover { background:var(--panel2);color:var(--text); }
.app-shell .app-bottom-nav .selected { background:var(--theme-selected);color:var(--theme-accent); }
.app-create-icon { background:var(--brand-red);border-color:var(--brand-red);color:#fff;box-shadow:none; }
.app-more-dialog { background:var(--panel);border-color:var(--line);color:var(--text); }
.app-sheet-handle { background:var(--theme-border); }
:is(.app-sheet-eyebrow,.app-sheet-note,.app-more-link small) { color:var(--muted); }
.app-more-link,.app-more-head h2 { color:var(--text); }
.app-more-link { background:var(--panel);border-color:var(--line); }
.app-more-link:hover { background:var(--panel2);color:var(--text); }
.app-more-link>.app-icon { color:var(--theme-accent); }
.app-more-job { background:var(--panel2);border-color:var(--line); }
.app-more-job-open,.app-more-job-open strong { color:var(--text); }
.app-more-job-open span { color:var(--muted); }
.mining-job-widget { background:var(--panel);color:var(--text);border-color:var(--theme-border);box-shadow:var(--theme-shadow); }
.job-symbol { background:var(--theme-selected);color:var(--theme-accent); }
.job-state,#miningJobSummary,#miningJobProgressLabel { color:var(--muted); }
.job-copy strong { color:var(--text); }
.job-open:hover { background:var(--panel2); }
.job-pause,.job-dismiss { background:var(--panel2);color:var(--text);border-color:var(--theme-border); }
.job-pause:hover,.job-dismiss:hover { background:var(--theme-hover); }
.job-progress { background:var(--line); }
.job-progress>span { background:var(--brand-red); }

/* Informational guide: use the same text hierarchy, retain the illustrations. */
.how-guide { --how-red:var(--theme-accent);--how-ink:var(--text);--how-muted:var(--muted);--how-line:var(--line); }
.how-guide :is(.how-kicker,.how-detail-heading>span,.how-faq summary>span) { color:var(--theme-accent); }
.how-guide .how-audience-switch { background:var(--panel2);border-color:var(--line); }
.how-guide .how-audience-switch label { color:var(--muted)!important; }
#how-for-players:checked~.how-audience-switch label[for=how-for-players],#how-for-creators:checked~.how-audience-switch label[for=how-for-creators] { color:var(--text)!important;background:var(--panel);box-shadow:none; }
.how-guide :is(.how-step-visual,.how-journey>li:not(:last-child):after) { background:var(--bg); }
.how-guide .how-journey:before { border-color:var(--theme-selected-border); }
.how-guide .how-journey>li:not(:last-child):after { color:var(--theme-accent); }
.how-guide .how-step-number { background:var(--panel2);border-color:var(--bg);color:var(--text); }
.how-guide :is(.how-entry-options,.how-admin-note,.how-reward-types>article) { background:var(--panel);border-color:var(--line); }
.how-guide .how-next .how-primary { background:var(--brand-red);border-color:var(--brand-red);color:#fff; }
.how-guide .how-next .how-primary:hover { background:var(--brand-red-hover); }
.how-guide :is(.how-detail-section,.how-faq,.how-entry-options>div+div) { border-color:var(--line); }
.how-guide :is(.how-detail-heading h2,.how-faq summary,.how-faq-body strong,.how-reward-types h4) { color:var(--text); }
.how-guide :is(.how-faq-body p,.how-faq-body li) { color:var(--muted); }
.how-guide .how-reward-icon { background:var(--theme-selected);color:var(--theme-accent); }

/* Rules are available before joining, so they must not depend on participant CSS. */
#dialog.is-campaign-rules,#dialog.is-campaign-rules .dialog-head { background:var(--panel);border-color:var(--line); }
#dialog.is-campaign-rules .dialog-body { background:var(--bg); }
.campaign-rules-modal { --rules-ink:var(--text);--rules-red:var(--theme-accent);--rules-muted:var(--muted);--rules-line:var(--line); }
.campaign-rules-modal :is(.rules-small,.rules-kicker,.rules-campaign-name,.rules-winner-count>small,.rules-section-heading>small,.rules-original p,.rules-full>summary small) { color:var(--muted); }
:is(.rules-reward,.rules-method,.rules-fact-grid,.rules-explainer,.rules-draw-steps,.rules-full) { background:var(--panel);border-color:var(--line); }
:is(.rules-method .rules-small,.rules-draw-steps>li+li) { border-color:var(--line); }
.rules-age-stamp,.rules-explainer-icon { background:var(--theme-selected);border-color:var(--theme-selected-border);color:var(--theme-accent);outline-color:var(--theme-selected-border); }
.rules-age-stamp small { color:var(--theme-accent); }
.rules-status strong { color:var(--theme-success-text); }
.rules-status>span { background:var(--theme-success-text); }
.rules-status--paused strong,.rules-status--waiting strong { color:var(--theme-warning-text); }
.rules-status--paused>span,.rules-status--waiting>span { background:var(--theme-warning-text); }
.rules-status--closed strong { color:var(--muted); }
.rules-status--closed>span { background:var(--muted); }
.rules-draw-steps>li>span { border-color:var(--theme-border);color:var(--muted); }
.rules-money-note { background:var(--theme-warning-bg);border-color:var(--theme-warning-border); }
.rules-money-note>strong,.campaign-rules-modal .rules-money-note p { color:var(--theme-warning-text); }
.rules-full>summary .rules-icon { color:var(--muted); }

/* Server-rendered campaign/entry surfaces share the palette before hydration too. */
:root { --surface:var(--theme-panel);--soft:var(--theme-panel2); }
:is(.engagement-facts,.engagement-steps,.engagement-referral,.engagement-eligibility,.engagement-description,.engagement-actions p,.engagement-actions small,.engagement-prize .engagement-summary,.player-field-help) { color:var(--muted); }
:is(.engagement-facts strong,.engagement-method h3,.engagement-method strong,.engagement-referral strong,.engagement-description summary,.enrollment-optional summary,.wallet-help summary,.entry-next-step strong) { color:var(--text); }
.engagement-method,.campaign-entry-overview .engagement-method,.entry-next-step { background:var(--panel);border-color:var(--line); }
.engagement-method p { color:var(--muted); }
.engagement-steps li::before { background:var(--panel2);color:var(--theme-accent); }
.engagement-referral,details.engagement-description { border-color:var(--line); }
.engagement-referral>.icon,.campaign-entry-panel .check a { color:var(--theme-accent); }
.campaign-page :is(.campaign-compact,.campaign-more,.campaign-media-disclosure,.campaign-details-panel) { background:var(--panel);border-color:var(--line); }
.campaign-page :is(.campaign-owner-actions,.campaign-entry-panel .tabs) { background:var(--panel2);border-color:var(--line); }
.campaign-page :is(.campaign-header-rules,.campaign-share) { background:var(--panel2);border-color:var(--theme-border);color:var(--text); }
.campaign-page :is(.campaign-purpose,.campaign-facts .icon,.campaign-method-button>.icon,.campaign-method-disclosure>summary::after) { color:var(--theme-accent); }
.campaign-page :is(.campaign-compact .big-prize,.campaign-facts strong,.campaign-method-copy strong) { color:var(--text); }
.campaign-page :is(.campaign-invitation,.campaign-compact>.engagement-summary,.campaign-facts,.campaign-method-copy small,.campaign-cover .campaign-cover-label,.campaign-compact .engagement-prize .panel-label,.campaign-method-heading>span,.campaign-compact .campaign-entry-note,.campaign-compact .engagement-eligibility,.campaign-tally small,.campaign-reserved,.campaign-key-facts dt,.campaign-key-facts small) { color:var(--muted); }
.campaign-page .campaign-progress,.campaign-details-panel .progress { background:var(--line); }
.campaign-page .campaign-progress>span { background:var(--brand-red); }
.campaign-page .campaign-method-button,.campaign-entry-panel .tabs.entry-choices .entry-choice { background:var(--panel);border-color:var(--theme-border);color:var(--text); }
.campaign-page .campaign-method-button:hover,.campaign-entry-panel .tabs.entry-choices .entry-choice:hover { background:var(--panel2);border-color:var(--theme-accent); }
.campaign-page .campaign-method-button.selected,.campaign-entry-panel .tabs.entry-choices .entry-choice.selected { background:var(--theme-selected);border-color:var(--theme-selected-border);box-shadow:inset 0 0 0 1px var(--theme-selected-border); }
.campaign-page .campaign-method-button:disabled { background:var(--panel2);border-color:var(--line); }
.campaign-page .campaign-method-icon,.entry-choice-icon,.entry-choice.selected .entry-choice-icon { background:var(--theme-selected);color:var(--theme-accent); }
.entry-choice-marker { color:var(--muted); }
.entry-choice.selected .entry-choice-marker { color:var(--theme-accent); }
.campaign-page :is(.campaign-compact .engagement-description,.campaign-more[open]>summary,.campaign-media-disclosure[open]>summary,.entry-history,.campaign-details-panel>details,.campaign-gallery,.campaign-key-facts>div+div,.campaign-method-disclosure) { border-color:var(--line); }
.campaign-details-panel>details>summary::after { color:var(--muted); }
.campaign-details-panel>details[open]>summary::after { color:var(--theme-accent); }
#dialog.is-campaign-rules .rules-pool-calculation { background:var(--panel2);border-color:var(--line); }
#dialog.is-campaign-rules .rules-pool-calculation h4 { color:var(--text); }
.content-reward-card { background:var(--panel);border-color:var(--line); }
.content-reward-card progress::-webkit-progress-bar { background:var(--line); }
.content-reward-card progress::-webkit-progress-value { background:var(--brand-red); }
.campaign-listing-label { color:var(--theme-accent); }
.usd-estimate:is(.is-unavailable,.is-stale) { color:var(--muted); }
body .hero.engagement-home .eyebrow { color:#ff8c99; }

/* About XMRFuel uses the same selected appearance as the surrounding app. */
.sandbox .site-about-trigger{color:var(--theme-muted)}
.sandbox .site-about-trigger:hover{color:var(--theme-text);background:var(--theme-panel2)}
.app-about-dialog{background:var(--theme-panel);color:var(--theme-text);border-color:var(--theme-border);box-shadow:var(--theme-shadow)}
.app-about-head{background:var(--theme-panel);border-color:var(--theme-line)}
.app-about-head h2,.app-about-body h3{color:var(--theme-text)}
.app-about-body>section{border-color:var(--theme-line)}
.app-about-body :is(p,.app-about-rate,.app-about-copyright){color:var(--theme-muted)}
.app-about-links a{color:var(--theme-accent)}
.app-about-links a:hover{color:var(--theme-text)}

/* Overrides */
*:not(input):not(textarea):not(select){border:none!important}