/* RAINHUB - dwa dopracowane motywy, wspolne tokeny kolorow */
html[data-theme="light"] {
  color-scheme: light;
  --rh-page: #cbdfea;
  --rh-hero: radial-gradient(ellipse 69% 99% at 77% 40%,rgba(93,198,237,.34),transparent 79%),linear-gradient(115deg,#e4f2f9 0%,#c6e2f0 58%,#d6eaf5 100%);
  --rh-modes: linear-gradient(180deg,#c7e0ee 0%,#d7eaf4 100%);
  --rh-ranking: #d2e7f3;
  --rh-team: #c9e2f0;
  --rh-faq: #d8edf7;
  --rh-join: #c9e3f1;
  --rh-header: rgba(247,252,255,.96);
  --rh-footer: #e3f1f8;
  --rh-ink: #133755;
  --rh-soft: #476d87;
  --rh-faint: #64859a;
  --rh-accent: #0b91c9;
  --rh-accent-strong: #006fa7;
  --rh-divider: #a8cadc;
  --rh-card: linear-gradient(144deg,#fafdff 0%,#ebf7fd 100%);
  --rh-card-border: #b3d5e7;
  --rh-card-ink: #133b5a;
  --rh-card-muted: #456b84;
  --rh-subtle: rgba(93,177,220,.12);
  --rh-button: #eaf7ff;
  --rh-button-line: #9fcfe8;
  --rh-button-ink: #18587f;
  --rh-menu: #f7fcff;
  --rh-faq-card: #f6fbff;
  --rh-shadow: 0 16px 42px rgba(24,100,146,.085);
  --rh-header-ink: #31546f;
  --rh-footer-ink: #365d79;
  --rh-modal: #f9fdff;
  --rh-overlay: rgba(7,31,52,.48);
}
html[data-theme="dark"] {
  color-scheme: dark;
  --rh-page: #0b1b2b;
  --rh-hero: radial-gradient(ellipse 70% 100% at 76% 44%,rgba(21,112,170,.31),transparent 78%),linear-gradient(120deg,#0b1827,#102b43 60%,#102338);
  --rh-modes: linear-gradient(180deg,#102438,#0c1c2d);
  --rh-ranking: #10273b;
  --rh-team: #0d2032;
  --rh-faq: #122c40;
  --rh-join: #0c1d2e;
  --rh-header: rgba(9,21,35,.96);
  --rh-footer: #071624;
  --rh-ink: #f2faff;
  --rh-soft: #b5d1e4;
  --rh-faint: #94b6cd;
  --rh-accent: #67d8ff;
  --rh-accent-strong: #8de7ff;
  --rh-divider: #31566e;
  --rh-card: linear-gradient(143deg,#182f44,#122639 91%);
  --rh-card-border: #37607a;
  --rh-card-ink: #f4faff;
  --rh-card-muted: #b7d1e3;
  --rh-subtle: rgba(64,184,233,.12);
  --rh-button: #1c3a51;
  --rh-button-line: #42738e;
  --rh-button-ink: #e2f7ff;
  --rh-menu: #173047;
  --rh-faq-card: #193248;
  --rh-shadow: 0 16px 45px rgba(2,12,22,.21);
  --rh-header-ink: #b4d3e5;
  --rh-footer-ink: #a8c7db;
  --rh-modal: #172c3d;
  --rh-overlay: rgba(1,10,19,.79);
}
html:not(.theme-ready) *,html:not(.theme-ready) *::before,html:not(.theme-ready) *::after { transition: none !important; }
html.theme-ready body,html.theme-ready .hero,html.theme-ready .section,html.theme-ready .join-section,html.theme-ready .site-header,html.theme-ready .site-footer,html.theme-ready .mode-card,html.theme-ready .team-card,html.theme-ready .faq details,html.theme-ready .shop-modal,html.theme-ready .social-icon,html.theme-ready .secondary-button,html.theme-ready .footer-socials a,html.theme-ready .more-menu {
  transition: background-color .35s ease, border-color .35s ease, color .35s ease, box-shadow .35s ease;
}
body { background: var(--rh-page); color: var(--rh-ink); }
.site-header { background: var(--rh-header);border-bottom:1px solid var(--rh-divider);color:var(--rh-ink); }
.site-header .brand { color:var(--rh-ink); }
.site-header .brand .highlight { color:var(--rh-accent); }
.header-online { border-left-color: var(--rh-divider); }
.header-online .small-label { color: var(--rh-faint); }
.header-online .online-inline { color:var(--rh-ink); }
.navlink { color:var(--rh-header-ink); }
.navlink:hover,.navlink.is-current { color:var(--rh-accent-strong); }
.navlink.is-current::after { background:var(--rh-accent);box-shadow:0 0 15px rgba(44,165,222,.25); }
.more-menu { background:var(--rh-menu);border-color:var(--rh-card-border);box-shadow:var(--rh-shadow); }
.more-menu>a,.more-menu>button { color:var(--rh-ink); }
.more-menu>a:hover { background:var(--rh-subtle);color:var(--rh-accent-strong); }
.more-menu>.more-disabled,.more-menu>.more-disabled:hover { color:var(--rh-faint);opacity:.8;background:transparent; }
.dropdown-lock { color:var(--rh-accent); }
.social-icon { background:var(--rh-button);border:1px solid var(--rh-button-line);color:var(--rh-button-ink); }
.social-icon:hover { background:var(--rh-subtle);border-color:var(--rh-accent);color:var(--rh-accent-strong); }
.primary-button {background:linear-gradient(112deg,#13a4e6,#59d1f4);border-color:rgba(25,139,190,.23);color:#062c44;box-shadow:0 8px 22px rgba(25,139,190,.14);}
.primary-button:hover {background:linear-gradient(112deg,#3dc1f2,#82e2fa);color:#07304b;}
.secondary-button {background:var(--rh-button);border-color:var(--rh-button-line);color:var(--rh-button-ink);}
.secondary-button:hover {background:var(--rh-subtle);border-color:var(--rh-accent);color:var(--rh-accent-strong);}
.mobile-toggle { background:var(--rh-button);border:1px solid var(--rh-button-line); }
.mobile-toggle span { background:var(--rh-ink); }
.mobile-nav { background:var(--rh-menu);border-bottom:1px solid var(--rh-divider); }
.mobile-nav a,.mobile-nav button { color:var(--rh-ink); }
.mobile-nav a:hover,.mobile-nav button:not(:disabled):hover { color:var(--rh-accent-strong);background:var(--rh-subtle); }
.mobile-nav .mobile-disabled { color:var(--rh-faint); }
.hero { background:var(--rh-hero);border-bottom-color:var(--rh-divider); }
.hero h1 { color:var(--rh-ink); }
.hero h1 span { color:var(--rh-accent); }
.hero h1 i { color:var(--rh-ink); }
.hero-copy>p { color:var(--rh-soft); }
.hero-stat-bar { color:var(--rh-soft); }
.hero-stat-bar svg { color:var(--rh-accent); }
.hero-stat-bar strong { color:var(--rh-ink); }
.hero-cloud {filter:drop-shadow(0 20px 38px rgba(20,120,179,.22));}
.modes { background:var(--rh-modes); }
.ranking { background:var(--rh-ranking);border-bottom-color:var(--rh-divider); }
.team { background:var(--rh-team); }
.faq { background:var(--rh-faq);border-top-color:var(--rh-divider); }
.join-section { background:var(--rh-join); }
.section h2 { color:var(--rh-ink); }
.section-heading p,.team-heading p,.ranking-copy>p,.section p {color:var(--rh-soft);}
.ranking-status {color:var(--rh-soft)!important;border-left-color:var(--rh-accent);}
.mode-card,.team-card {background:var(--rh-card);border-color:var(--rh-card-border);color:var(--rh-card-ink);box-shadow:var(--rh-shadow);}
.mode-card:hover,.team-card:hover {border-color:var(--rh-accent);}
.mode-card::before { background:radial-gradient(circle,rgba(53,168,221,.17),transparent 72%); }
.mode-card h3,.team-card h3 { color:var(--rh-card-ink); }
.mode-card .mode-info p,.mode-card p,.member-info p,.team-card p {color:var(--rh-card-muted);}
.mode-join,.mode-join:disabled,.mode-join:disabled:hover,.mode-join:disabled:active {background:var(--rh-button)!important;border:1px solid var(--rh-button-line)!important;color:var(--rh-button-ink)!important;opacity:.73;box-shadow:none!important;}
.mode-join svg {color:var(--rh-accent);}
.skin-scene {background:radial-gradient(ellipse at 45% 56%,rgba(75,177,218,.15),transparent 72%);border-right-color:var(--rh-card-border);}
.member-role.role-owner { color:#ff7a1a; background:rgba(255,122,26,.1);border-color:rgba(255,122,26,.4); }
.member-role.role-head {color:#d70101;background:rgba(215,1,1,.09);border-color:rgba(215,1,1,.34);}
.faq details {background:var(--rh-faq-card);border-color:var(--rh-card-border);color:var(--rh-card-ink);box-shadow:0 4px 14px rgba(32,111,156,.035);}
.faq summary {color:var(--rh-card-ink);}
.faq summary svg {color:var(--rh-accent);}
.faq .answer>div {color:var(--rh-card-muted);}
.faq .answer a {color:var(--rh-accent-strong);}
.join-box {background:linear-gradient(112deg,#127abf 0%,#219cd6 57%,#54cce9 100%);box-shadow:0 18px 40px rgba(11,125,178,.13);}
.join-section h2,.join-section p {color:#fff;}
.join-button {color:#07658d;}
.site-footer {background:var(--rh-footer);border-top-color:var(--rh-divider);color:var(--rh-ink);}
.site-footer .brand {color:var(--rh-ink);}
.footer-left p,.footer-disclaimer,.footer-bottom {color:var(--rh-footer-ink);}
.footer-socials a {background:var(--rh-button);border-color:var(--rh-button-line);color:var(--rh-button-ink);}
.footer-socials a:hover {border-color:var(--rh-accent);color:var(--rh-accent-strong);background:var(--rh-subtle);}
.footer-links h3 {color:var(--rh-ink);}
.footer-links button,.footer-links a {color:var(--rh-footer-ink);}
.footer-links button:hover,.footer-links a:hover {color:var(--rh-accent-strong);}
.footer-disclaimer {border-color:var(--rh-divider);}
.modal-overlay {background:var(--rh-overlay);}
.shop-modal {background:var(--rh-modal);border-color:var(--rh-card-border);color:var(--rh-ink);box-shadow:0 24px 90px rgba(4,35,53,.35);}
.shop-modal h2 {color:var(--rh-ink);}
.shop-modal p {color:var(--rh-soft);}
.shop-modal-actions a {color:var(--rh-accent-strong);}
.modal-close {color:var(--rh-soft);}
.modal-close:hover {color:var(--rh-accent-strong);}
.toast {background:var(--rh-modal);color:var(--rh-ink);border-color:var(--rh-accent);box-shadow:var(--rh-shadow);}
/* Przelacznik dnia/nocy - jeden element, bez ozdobnych kwadratow */
.theme-toggle {display:inline-flex;align-items:center;justify-content:center;gap:9px;border:1px solid var(--rh-button-line);background:var(--rh-button);color:var(--rh-button-ink);border-radius:22px;height:40px;min-width:88px;padding:0 13px;white-space:nowrap;cursor:pointer;box-shadow:none;transition:background .2s,border-color .2s,color .2s;}
.theme-toggle:hover {border-color:var(--rh-accent);background:var(--rh-subtle);color:var(--rh-accent-strong);}
.theme-toggle:focus-visible {outline:2px solid var(--rh-accent);outline-offset:3px;}
.theme-icon {width:17px;height:17px;stroke:currentColor;stroke-width:1.9;fill:none;stroke-linecap:round;stroke-linejoin:round;}
.theme-toggle .theme-icon-moon,.theme-toggle .theme-label-night {display:none;}
html[data-theme="dark"] .theme-toggle .theme-icon-moon,html[data-theme="dark"] .theme-toggle .theme-label-night {display:block;}
html[data-theme="dark"] .theme-toggle .theme-icon-sun,html[data-theme="dark"] .theme-toggle .theme-label-day {display:none;}
.theme-label-day,.theme-label-night {font-size:11px;font-weight:800;}
.header-actions .theme-toggle {margin-right:4px;}
.mobile-theme-toggle {display:none;}
@media(max-width:1120px) and (min-width:1021px){.header-actions .theme-toggle {min-width:40px;width:40px;padding:0}.header-actions .theme-toggle .theme-label-day,.header-actions .theme-toggle .theme-label-night{display:none;}}
@media(max-width:1020px){.mobile-theme-toggle {display:inline-flex;margin-left:auto;min-width:40px;width:40px;height:40px;padding:0}.mobile-theme-toggle .theme-label-day,.mobile-theme-toggle .theme-label-night {display:none!important;}.mobile-toggle{margin-left:0;}}
@media(max-width:680px){.skin-scene{border-right:0;border-bottom:1px solid var(--rh-card-border)}.site-header{backdrop-filter:blur(12px)}.theme-toggle{flex-shrink:0}}
@media(prefers-reduced-motion:reduce){html.theme-ready body,html.theme-ready .hero,html.theme-ready .section,html.theme-ready .join-section,html.theme-ready .site-header,html.theme-ready .site-footer,html.theme-ready .mode-card,html.theme-ready .team-card,html.theme-ready .faq details,html.theme-ready .shop-modal,html.theme-ready .social-icon,html.theme-ready .secondary-button,html.theme-ready .footer-socials a,html.theme-ready .more-menu {transition:none!important}}

::view-transition-old(root),::view-transition-new(root){animation-duration:.33s;animation-timing-function:ease-in-out}
@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation-duration:0s!important}}
:root .primary-button:not(:disabled){--cms-primary:var(--cms-accent,#35c3f4)}
