:root {
    --s-bg: #0c0713;
    --s-bg-2: #150c24;
    --s-line: #2e1f48;
    --s-ink: #f3edfb;
    --s-dim: #b8abd0;
    --s-pink: #d9007f;
    --s-pink-text: #ff5cb6;
    --s-purple: #a855f7;
    --s-font: "Geist", "Inter", system-ui, sans-serif;
    --s-pixel: "Pixelify Sans", var(--s-font);
    --s-head: "Rubik", var(--s-font);
    --s-radius: 12px;
    --s-wrap: 1480px;
    --s-tile: linear-gradient(150deg, #271246, #170b2c);

    --shop-gradient: #ffb11a;
    --shop-gradient-hover: #ffc447;
    --shop-surface: linear-gradient(#ffc84d, #ffb11a);
    --shop-surface-hover: linear-gradient(#ffd46e, #ffbd38);
    --shop-shadow: 0 4px 0 #a86400;
    --shop-shadow-hover: 0 3px 0 #a86400;

    --background: var(--s-bg);
    --text-dim: var(--s-dim);
    --text-secondary: #d6cbe8;
    --font-main: var(--s-font);
    --font-display: var(--s-font);
    --card-radius: var(--s-radius);
    --radius-sm: 10px;
    --glass-border: var(--s-line);
    --surface: rgba(12, 7, 19, 0.86);
}

body { background: var(--s-bg); font-family: var(--s-font); }

/* navbar */
.navbar { width: calc(100% - 3rem); max-width: calc(var(--s-wrap) - 3rem); border-radius: 16px; border: 1px solid var(--s-line); box-shadow: 0 14px 40px rgba(0, 0, 0, .45); }
.navbar.scrolled { background: rgba(12, 7, 19, .94); box-shadow: 0 14px 40px rgba(0, 0, 0, .55); }
.logo-img { filter: none; }
.logo-text { font-family: var(--s-pixel); font-weight: 600; font-size: 1.3rem; letter-spacing: 0; }
.nav-pill { border-radius: 12px; border-color: var(--s-line); background: transparent; }
.nav-link { border-radius: 9px; font-family: var(--s-font); font-size: .86rem; }
.nav-link.active { background: rgba(217, 0, 127, .16); box-shadow: inset 0 0 0 1px rgba(255, 92, 182, .3); }
.nav-ip-chip, .nav-discord-btn, .nav-btn-sklep { border-radius: 10px; }
.nav-btn-sklep, .nav-btn-sklep *, .play-strip-btn--shop, .play-strip-btn--shop * { color: #231500 !important; -webkit-text-fill-color: #231500; }
.server-status { border-radius: 10px; }

/* shared headings */
.section-title { font-family: var(--s-pixel); font-weight: 700; letter-spacing: 0; text-shadow: 0 4px 0 #8f0b58; }
.section-title::after { display: none; }
.section-title .accent { color: var(--s-pink-text); -webkit-text-fill-color: var(--s-pink-text); background: none; }

/* join strip above footer */
.play-strip { margin: 5rem auto 4.5rem; max-width: var(--s-wrap); }
.play-strip-inner { padding: 1.35rem 1.6rem; border-radius: 24px; border: 0; background: var(--s-tile); backdrop-filter: none; box-shadow: inset 0 1px 0 rgba(255, 255, 255, .14), 0 6px 0 #08040f, 0 22px 40px rgba(0, 0, 0, .42); }
.play-strip-label { font-family: var(--s-font); }
.play-strip-ip { font-family: var(--s-pixel); font-weight: 600; background: none; -webkit-text-fill-color: var(--s-pink-text); color: var(--s-pink-text); letter-spacing: 0; font-size: 1.6rem; }
.play-strip-btn { border-radius: 10px; font-family: var(--s-font); }
.footer { margin-top: 0; padding-top: 3rem; }
.footer-container { max-width: calc(var(--s-wrap) - 3rem); }
.footer::before { display: none; }
.footer { background: none; }
.footer-grid { gap: 1.15rem; }
.footer-col { position: relative; overflow: hidden; padding: 1.7rem; border-radius: 24px; background: var(--s-tile); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .14), 0 6px 0 #08040f, 0 22px 40px rgba(0, 0, 0, .42); }
.footer-col::after { position: absolute; right: -.8rem; bottom: -1.2rem; font: 900 7.5rem/1 "Font Awesome 6 Free"; color: #a855f7; opacity: .1; pointer-events: none; transform: rotate(-10deg); }
.footer-col:nth-child(2)::after { content: "\f11b"; }
.footer-col:nth-child(3)::after { content: "\f0e3"; }
.footer-col:nth-child(4)::after { content: "\f0e0"; }
.footer-col > * { position: relative; z-index: 1; }
.footer-links a { transition: color .15s, padding-left .15s; }
.footer-links a:hover { color: var(--s-pink-text); padding-left: .3rem; }
.social-links a { color: #fff; border: 0; transition: transform .25s cubic-bezier(.34, 1.8, .5, 1); }
.social-links a:hover { color: #fff; transform: translateY(-3px); }
.social-links a:nth-child(1) { background: linear-gradient(145deg, #34374c, #161823); }
.social-links a:nth-child(2) { background: linear-gradient(145deg, #ff5470, #ff0033); }
.social-links a:nth-child(3) { background: linear-gradient(145deg, #5ba2ff, #1877f2); }
.social-links a:nth-child(4) { background: linear-gradient(145deg, #7f8cff, #5865f2); }
.footer h3 { font-family: var(--s-pixel); font-weight: 600; letter-spacing: 0; }
.footer-bottom { border-top: 0; }
.footer h4 { font: 700 1.05rem var(--s-head); letter-spacing: 0; text-transform: none; color: #fff; }
.footer h3 { color: var(--s-pink-text); }
.social-link { border-radius: 10px; }

/* documents: regulaminy, taryfikator, hub */
.container, .container--legal { max-width: var(--s-wrap); padding-inline: 1.5rem; }
.legal-breadcrumb { font-size: .92rem; margin-bottom: 1.5rem; }
.rules-section .tariff-head { margin-bottom: 2rem; gap: 1.5rem; }
.rules-section .section-title { font-size: clamp(2rem, 4vw, 2.8rem); text-align: left; }
.rules-section .last-update { padding: 0; color: var(--s-dim); font-size: .95rem; background: none; border: 0; }

.legal-hub-card, .lista-kar-card, .lista-kar-start-search, .lista-kar-welcome { border-radius: var(--s-radius); border-color: var(--s-line); background: var(--s-bg-2); }
.legal-hub-card h3 { font-family: var(--s-head); font-weight: 700; font-size: 1.2rem; }
.legal-hub-card .feature-glow { display: none; }
.legal-hub-card .feature-icon-wrap { background: var(--s-pink); border-radius: 10px; color: #fff; box-shadow: none; }
.legal-hub-head { text-align: left; }
.legal-hub-sub { margin: 0; max-width: 60ch; }
.legal-hub-card { align-items: flex-start; text-align: left; padding: 1.75rem; border: 0; border-radius: 24px; background: var(--s-tile); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .14), 0 6px 0 #08040f, 0 22px 40px rgba(0, 0, 0, .42); transition: transform .15s, box-shadow .15s; }
.legal-hub-card:hover { background: var(--s-tile); border: 0; transform: translateY(-3px); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2), 0 9px 0 #08040f, 0 28px 44px rgba(0, 0, 0, .5); }
.legal-hub-link { color: var(--s-pink-text); }
.legal-hub-tools { justify-content: flex-start; }

.legal-doc-tools { gap: .75rem; }
.legal-expand-btn, .tariff-tools input, .legal-doc-search input { border-radius: 10px; border-color: var(--s-line); background: var(--s-bg-2); }

/* document pages: contents rail on the left, one wide reading card on the right */
.container--legal.has-toc { display: grid; grid-template-columns: 260px minmax(0, 1fr); column-gap: 2.5rem; align-items: start; }
.container--legal.has-toc > .legal-breadcrumb, .container--legal.has-toc > .tariff-head { grid-column: 1 / -1; }
.legal-expand-btn { display: none; }

.doc-toc { position: sticky; top: 6.5rem; max-height: calc(100dvh - 8rem); overflow-y: auto; padding-right: .5rem; }
.doc-toc-title { margin: 0 0 .8rem; font: 700 1.05rem var(--s-font); color: #fff; }
.doc-toc a { display: block; padding: .55rem .9rem; font-size: .93rem; line-height: 1.35; color: var(--s-dim); text-decoration: none; border-left: 2px solid var(--s-line); transition: color .2s, border-color .2s, background .2s; }
.doc-toc a:hover { color: #fff; }
.doc-toc a.active { color: #fff; border-left-color: var(--s-pink-text); background: rgba(217, 0, 127, .12); }

.rules-section .accordion.is-expanded-all { padding: 1rem 3rem 2rem; gap: 0; background: var(--s-bg-2); border: 1px solid var(--s-line); border-radius: 18px; backdrop-filter: none; -webkit-backdrop-filter: none; }
.rules-section .accordion.is-expanded-all .accordion-item { margin: 0; border-radius: 0; background: transparent; scroll-margin-top: 6.5rem; }
.rules-section .accordion.is-expanded-all .accordion-item + .accordion-item { border-top: 1px solid var(--s-line); }
.rules-section .accordion.is-expanded-all .accordion-header { padding: 2.2rem 0 .6rem; font: 700 1.5rem/1.25 var(--s-font); letter-spacing: -.01em; color: #fff; border-bottom: 0; }
.rules-section .accordion.is-expanded-all .accordion-item:first-child .accordion-header { padding-top: 1.6rem; }
.rules-section .accordion.is-expanded-all .accordion-content-inner { padding: .5rem 0 1.5rem; background: transparent; }
.rules-section .accordion.is-expanded-all .accordion-content-inner p,
.rules-section .accordion.is-expanded-all .accordion-content-inner li { font-size: 1.08rem; line-height: 1.85; max-width: 110ch; color: #d9cfea; }
.rules-section .accordion.is-expanded-all .accordion-content-inner .points p { margin: 0 0 1.05rem; }
.rules-section .accordion.is-expanded-all .accordion-content-inner h3, .rules-section .accordion.is-expanded-all .accordion-content-inner h4 { margin: 1.8rem 0 .7rem; font-size: 1.2rem; }

@media (max-width: 1000px) {
    .container--legal.has-toc { display: block; }
    .doc-toc { position: static; max-height: none; display: flex; gap: .5rem; overflow-x: auto; padding: 0 0 1rem; }
    .doc-toc-title { display: none; }
    .doc-toc a { flex: 0 0 auto; border: 1px solid var(--s-line); border-radius: 999px; white-space: nowrap; }
    .rules-section .accordion.is-expanded-all { padding: .25rem 1.15rem 1rem; }
    .rules-section .accordion.is-expanded-all .accordion-header { font-size: 1.3rem; }
    .rules-section .accordion.is-expanded-all .accordion-content-inner p,
    .rules-section .accordion.is-expanded-all .accordion-content-inner li { font-size: 1rem; line-height: 1.75; }
    .rules-section .tariff-head { align-items: flex-start !important; text-align: left; }
    .rules-section .tariff-head .section-title { text-align: left; }
}

.tariff-row, .tariff-table, .lista-kar-table-wrap { border-radius: var(--s-radius); }

/* wiki and maps */
.wiki-section .section-title, .map-section .section-title { text-align: left; }
.iframe-container { border-radius: var(--s-radius); border: 1px solid var(--s-line); overflow: hidden; }
.map-switcher button { border-radius: 10px; font-family: var(--s-font); }

@media (max-width: 700px) {
    .accordion-header { padding: 1rem 1.1rem; }
    .accordion-content-inner { padding: .25rem 1.1rem 1.3rem; }
}
