/* KustoszMT2 Presentation/Wiki v24 – final readability layer. */
.presentation-page{--p:#fffdf8;--s:#f6f2e9;--i:#1b1c19;--m:#5d615b;--l:#d8d2c6;--r:#8f1717;--g:#b27c2c;background:#f3f0e9!important;color:var(--i)!important}.presentation-page *{box-sizing:border-box}.presentation-page img{max-width:100%}.presentation-page .reveal{opacity:1!important;transform:none!important}.presentation-page .presentation-shell,.presentation-page .codex-shell{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}.presentation-page .knowledge-layout{width:min(1480px,calc(100% - 32px));margin:22px auto 70px;display:grid;grid-template-columns:225px minmax(0,1fr);gap:26px;align-items:start}.presentation-page .knowledge-main{min-width:0}
/* sticky chapter navigation */.presentation-page .section-rail{position:sticky;top:82px;max-height:calc(100vh - 100px);overflow:auto;padding:14px 11px;background:#191a17;color:#eee9df;border:1px solid #30312c;border-radius:15px;z-index:20}.presentation-page .section-rail-head{padding:0 8px 10px}.presentation-page .section-rail-head span,.presentation-page .section-rail nav>p{color:#c99b53;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.12em}.presentation-page .section-rail-head strong{display:block;color:#fff;font-size:14px}.presentation-page .section-rail-progress{height:2px;background:#34352f;margin:0 8px 11px;overflow:hidden}.presentation-page .section-rail-progress span{display:block;width:100%;height:100%;background:#b52222;transform:scaleX(0);transform-origin:left}.presentation-page .section-rail nav{display:grid;gap:3px}.presentation-page .section-rail nav>p{margin:10px 8px 3px}.presentation-page .section-rail a{display:grid;grid-template-columns:27px 1fr;gap:7px;align-items:center;min-height:33px;padding:6px 8px;border-radius:8px;color:#cfcdc7;text-decoration:none;font-size:11px}.presentation-page .section-rail a span{display:grid;place-items:center;width:25px;height:21px;border:1px solid #3c3d37;border-radius:6px;color:#c99b53;font-size:8px;font-weight:900}.presentation-page .section-rail a:hover,.presentation-page .section-rail a.is-active{background:#292a26;color:#fff}.presentation-page .section-rail a.is-active{box-shadow:inset 3px 0 #ad1d1d}.presentation-page .section-sub-link-v23{margin-left:11px}
/* readable document sections, including dark-panel contrast */.presentation-page .presentation-section-v22,.presentation-page .codex-section,.presentation-page .codex-library-intro,.presentation-page .presentation-cta-v22,.presentation-page .codex-hero{margin-top:17px;padding:clamp(24px,4vw,42px)!important;border:1px solid var(--l)!important;border-radius:17px!important;background:var(--p)!important;color:var(--i)!important;box-shadow:0 8px 26px rgba(30,25,20,.035);scroll-margin-top:104px}.presentation-page .section-dark-v22{background:#191a17!important;border-color:#30312c!important;color:#f5f1e8!important}.presentation-page .section-dark-v22 h2,.presentation-page .section-dark-v22 h3,.presentation-page .section-dark-v22 p,.presentation-page .section-dark-v22 strong{color:inherit!important}.presentation-page .eyebrow{color:var(--g)!important;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.12em}.presentation-page .section-heading-v22 h2,.presentation-page .codex-section-heading h2,.presentation-page .codex-library-intro h2{margin:0;color:inherit!important;font:700 clamp(30px,3.8vw,49px)/1 Georgia,serif!important;letter-spacing:-.03em}.presentation-page .section-heading-v22>p:not(.eyebrow),.presentation-page .codex-section-heading>p,.presentation-page .codex-library-intro>p:not(.eyebrow){color:var(--m)!important;font-size:13px;line-height:1.65}.presentation-page .section-dark-v22 .section-heading-v22>p:not(.eyebrow){color:#c9c5bd!important}.presentation-page .identity-grid-v22,.presentation-page .system-card-grid,.presentation-page .highlight-links-v22{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.presentation-page .identity-grid-v22 article,.presentation-page .system-card{padding:16px;border:1px solid var(--l)!important;border-radius:11px;background:var(--s)!important;color:var(--i)!important}.presentation-page .identity-grid-v22 h3,.presentation-page .system-card h3{color:var(--i)!important}.presentation-page .identity-grid-v22 p,.presentation-page .system-card p{color:var(--m)!important}
/* maps – no tiny illustrated fallbacks */.presentation-page .world-route-v23{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}.presentation-page .map-card-v23{overflow:hidden;border:1px solid var(--l)!important;border-radius:13px!important;background:#fff!important;color:var(--i)!important}.presentation-page .map-card-media-v23{height:290px!important;padding:9px!important;display:grid!important;place-items:center!important;background:#e8e3d9!important}.presentation-page .map-card-media-v23 img{display:block!important;width:100%!important;height:100%!important;object-fit:contain!important;object-position:center!important}.presentation-page .map-card-copy-v23{padding:15px 17px!important}.presentation-page .map-card-copy-v23 h3{margin:5px 0!important;color:var(--i)!important;font:700 23px Georgia,serif!important}.presentation-page .map-card-copy-v23 p{color:var(--m)!important;font-size:12px;line-height:1.55}.presentation-page .map-card-copy-v23 strong{display:block;color:#681114!important;font-size:11px}.presentation-page .map-doc-links{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.presentation-page .map-doc-links a{padding:9px;border:1px solid var(--l);border-radius:8px;background:var(--s);color:var(--i)!important;text-decoration:none;font-size:10px}
/* dungeons – DT, Katakumby and Smocza Próba are separate blocks */.presentation-page .dungeon-jump-v23{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important}.presentation-page .dungeon-jump-v23 a{padding:10px;border:1px solid var(--l)!important;border-radius:9px;background:var(--s)!important;color:var(--i)!important;text-decoration:none}.presentation-page .dungeon-jump-v23 strong{color:var(--i)!important}.presentation-page .dungeon-detail-v23{margin-top:10px!important;padding:18px!important;border:1px solid var(--l)!important;border-radius:13px!important;background:#f8f5ef!important;color:var(--i)!important;scroll-margin-top:104px}.presentation-page .dungeon-detail-tower-v23{background:#1b1c19!important;border-color:#30312c!important;color:#f4f0e8!important}.presentation-page .dungeon-detail-dragon-v23{background:#291616!important;border-color:#4b2727!important;color:#f8eeee!important}.presentation-page .dungeon-header-v23{display:grid;grid-template-columns:1fr 140px;gap:14px;align-items:center}.presentation-page .dungeon-header-v23 h3{margin:5px 0!important;color:inherit!important;font:700 clamp(25px,3vw,36px) Georgia,serif!important}.presentation-page .dungeon-header-v23 p{color:var(--m)!important;font-size:12px;line-height:1.55}.presentation-page .dungeon-detail-tower-v23 .dungeon-header-v23 p,.presentation-page .dungeon-detail-dragon-v23 .dungeon-header-v23 p{color:#cbc7be!important}.presentation-page .dungeon-boss-v23{display:grid;place-items:center;min-height:120px;padding:7px;border:1px solid rgba(255,255,255,.12)!important;border-radius:9px;background:rgba(0,0,0,.18)!important;color:#fff!important;text-align:center}.presentation-page .dungeon-boss-v23 img{width:110px;height:86px;object-fit:contain}.presentation-page .dungeon-boss-v23 strong{color:#fff!important}.presentation-page .dungeon-steps-v23,.presentation-page .dragon-flow-v23{display:grid;gap:6px}.presentation-page .dungeon-steps-v23>div,.presentation-page .dragon-flow-v23>div{display:grid;grid-template-columns:32px 1fr;gap:8px;padding:9px;border:1px solid var(--l)!important;border-radius:8px;background:#fff!important;color:#292a26!important;font-size:11px}.presentation-page .dungeon-detail-tower-v23 .dungeon-steps-v23>div{background:#242521!important;border-color:#393a35!important;color:#ece8e0!important}.presentation-page .dungeon-detail-dragon-v23 .dragon-flow-v23>div{background:#361d1d!important;border-color:#4b2a2a!important;color:#efe7e4!important}.presentation-page .dungeon-steps-v23 b,.presentation-page .dragon-flow-v23 b{display:grid;place-items:center;width:28px;height:28px;border-radius:6px;background:var(--r)!important;color:#fff!important}.presentation-page .dungeon-steps-v23 strong,.presentation-page .dragon-flow-v23 strong{color:inherit!important}.presentation-page .boss-grid-v23{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.presentation-page .boss-grid-v23 article{border:1px solid #4b2a2a!important;border-radius:8px;background:#1f1414!important;color:#fff!important;overflow:hidden}.presentation-page .boss-grid-v23 img{width:100%;height:128px;object-fit:contain;background:#151312!important}.presentation-page .boss-grid-v23 h3{color:#fff!important}
/* equipment catalog */.presentation-page .weapon-75-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:7px!important}.presentation-page .weapon-75-grid article,.presentation-page .equipment-catalog-v23>article{padding:11px!important;border:1px solid var(--l)!important;border-radius:9px!important;background:#faf8f3!important;color:var(--i)!important}.presentation-page .weapon-icon{height:74px;display:grid;place-items:center;background:#ece7dd!important}.presentation-page .weapon-icon img{width:58px;height:65px;object-fit:contain}.presentation-page .weapon-75-grid h3,.presentation-page .equipment-catalog-v23 h3{color:var(--i)!important}.presentation-page .equipment-catalog-v23{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}.presentation-page .equipment-category-head-v23{display:grid;grid-template-columns:38px 1fr;gap:8px;align-items:center}.presentation-page .equipment-category-head-v23 img{width:36px;height:36px;object-fit:contain}.presentation-page .equipment-catalog-v23 ul{columns:2;margin:8px 0 0;padding-left:16px}.presentation-page .equipment-catalog-v23 li{break-inside:avoid;margin-bottom:4px;color:#3e403b!important;font-size:11px}
/* tables always readable; mobile scrolls the table rather than the page */.presentation-page .biolog-table-wrap,.presentation-page .pet-bonus-table-wrap,.presentation-page .riding-table-wrap,.presentation-page .bonus-panel{overflow-x:auto;-webkit-overflow-scrolling:touch}.presentation-page .codex-table{width:100%;border-collapse:collapse;background:#fff!important;color:#292a26!important;font-size:11px}.presentation-page .codex-table th,.presentation-page .codex-table td{padding:9px;border:1px solid #ddd7cb;color:#292a26!important}.presentation-page .codex-table th{background:#262723!important;color:#fff!important;font-size:9px}.presentation-page .codex-table tbody tr:nth-child(even) td{background:#f7f4ee!important}.presentation-page .bonus-tabs button.is-active{background:#252622!important;color:#fff!important}.presentation-page .bonus-panels .bonus-panel{display:none}.presentation-page .bonus-panels .bonus-panel.is-active{display:block}
@media(max-width:1020px){.presentation-page .knowledge-layout{width:min(1120px,calc(100% - 22px));grid-template-columns:1fr;gap:11px}.presentation-page .section-rail{top:65px;max-height:none;overflow:hidden;padding:6px}.presentation-page .section-rail-head,.presentation-page .section-rail-progress,.presentation-page .section-rail nav>p{display:none}.presentation-page .section-rail nav{display:flex;overflow-x:auto;gap:4px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.presentation-page .section-rail nav::-webkit-scrollbar{display:none}.presentation-page .section-rail a,.presentation-page .section-sub-link-v23{flex:0 0 auto;margin:0;white-space:nowrap}.presentation-page .presentation-hero-v22{grid-template-columns:1fr!important}.presentation-page .wiki-directory-v22{grid-template-columns:repeat(3,1fr)!important}}
@media(max-width:820px){.presentation-page .knowledge-layout{width:calc(100% - 14px);margin-bottom:40px}.presentation-page .section-rail{top:57px}.presentation-page .presentation-section-v22,.presentation-page .codex-section,.presentation-page .codex-library-intro,.presentation-page .presentation-cta-v22,.presentation-page .codex-hero{padding:20px 15px!important;border-radius:13px!important}.presentation-page .identity-grid-v22,.presentation-page .system-card-grid,.presentation-page .highlight-links-v22,.presentation-page .world-route-v23,.presentation-page .dungeon-jump-v23,.presentation-page .equipment-catalog-v23,.presentation-page .map-doc-links{grid-template-columns:1fr!important}.presentation-page .wiki-directory-v22{grid-template-columns:repeat(2,1fr)!important}.presentation-page .map-card-media-v23{height:235px!important}.presentation-page .dungeon-header-v23{grid-template-columns:1fr}.presentation-page .equipment-catalog-v23 ul{columns:1}.presentation-page .codex-table{min-width:680px}.presentation-page .biolog-full-table{min-width:820px}.presentation-page .pet-bonus-table{min-width:600px}.presentation-page .riding-table{min-width:650px}}
@media(max-width:560px){.presentation-page .knowledge-layout{width:calc(100% - 8px);margin-top:6px}.presentation-page .section-rail{top:51px;padding:5px}.presentation-page .section-rail a{font-size:10px}.presentation-page .presentation-section-v22,.presentation-page .codex-section,.presentation-page .codex-library-intro,.presentation-page .presentation-cta-v22,.presentation-page .codex-hero{padding:17px 13px!important;margin-top:8px!important}.presentation-page .map-card-media-v23{height:200px!important}.presentation-page .weapon-75-grid{grid-template-columns:repeat(2,1fr)!important}.presentation-page .equipment-catalog-v23{grid-template-columns:1fr!important}}

/* v25: authoritative presentation layout and cache-independent mobile fixes. */
html:has(body.presentation-page) {
    overflow-x: clip !important;
    overflow-y: visible !important;
}

/* Presentation v28: complete equipment catalog and four-stage Dragon Trial. */
body.presentation-page .equipment-legacy-v28,
body.presentation-page .dragon-flow-legacy-v28 {
    display: none !important;
}

body.presentation-page .equipment-section-v28 .weapon-75-heading,
body.presentation-page .equipment-section-v28 .weapon-75-grid,
body.presentation-page .equipment-section-v28 > .codex-section-heading {
    display: none !important;
}

body.presentation-page .equipment-section-v28 {
    background: #f7f4ed !important;
}

body.presentation-page .equipment-catalog-intro-v28 {
    display: grid !important;
    grid-template-columns: minmax(170px, .42fr) minmax(0, 1fr) !important;
    gap: 22px !important;
    align-items: start !important;
    margin: 18px 0 !important;
    padding: 20px 22px !important;
    border: 1px solid #d7cfc1 !important;
    border-left: 4px solid #a42b24 !important;
    border-radius: 12px !important;
    background: #fffdf8 !important;
}

body.presentation-page .equipment-catalog-intro-v28 strong {
    color: #242521 !important;
    font: 700 22px/1.15 Georgia, serif !important;
}

body.presentation-page .equipment-catalog-intro-v28 p {
    margin: 0 !important;
    color: #545850 !important;
    font-size: 13px !important;
    line-height: 1.65 !important;
}

body.presentation-page .equipment-category-tabs-v28 {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 8px !important;
    margin: 20px 0 10px !important;
}

body.presentation-page .equipment-category-tabs-v28 button {
    display: flex !important;
    min-height: 56px !important;
    padding: 9px 12px !important;
    border: 1px solid #d6cfc3 !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: #34362f !important;
    cursor: pointer !important;
    text-align: left !important;
    transition: background .16s ease, border-color .16s ease, transform .16s ease !important;
}

body.presentation-page .equipment-category-tabs-v28 button:hover,
body.presentation-page .equipment-category-tabs-v28 button:focus-visible {
    border-color: #a42b24 !important;
    background: #fff7f2 !important;
    outline: 0 !important;
    transform: translateY(-1px) !important;
}

body.presentation-page .equipment-category-tabs-v28 button.is-active {
    border-color: #7c201c !important;
    background: #8f2620 !important;
    color: #fff !important;
}

body.presentation-page .equipment-category-tabs-v28 button span {
    display: grid !important;
    place-items: center !important;
    flex: 0 0 28px !important;
    width: 28px !important;
    height: 28px !important;
    margin-right: 9px !important;
    border-radius: 50% !important;
    background: #eee7dc !important;
    color: #7f2820 !important;
    font-size: 11px !important;
    font-weight: 800 !important;
}

body.presentation-page .equipment-category-tabs-v28 button.is-active span {
    background: #e1b86b !important;
    color: #381c15 !important;
}

body.presentation-page .equipment-category-tabs-v28 button strong {
    align-self: center !important;
    color: inherit !important;
    font-size: 12px !important;
}

body.presentation-page .equipment-catalog-panels-v28 [data-panel] {
    display: none !important;
}

body.presentation-page .equipment-catalog-panels-v28 [data-panel].is-active {
    display: block !important;
}

body.presentation-page .equipment-table-card-v28 {
    overflow: hidden !important;
    border: 1px solid #d4ccbf !important;
    border-radius: 12px !important;
    background: #fff !important;
    box-shadow: 0 8px 18px rgba(39, 33, 25, .08) !important;
}

body.presentation-page .equipment-table-heading-v28 {
    display: grid !important;
    grid-template-columns: 54px minmax(0, 1fr) !important;
    gap: 14px !important;
    align-items: center !important;
    padding: 17px 20px !important;
    border-bottom: 1px solid #ddd5c9 !important;
    background: linear-gradient(90deg, #faf7f0, #f3eee4) !important;
}

body.presentation-page .equipment-table-heading-v28 > img {
    width: 52px !important;
    height: 52px !important;
    object-fit: contain !important;
}

body.presentation-page .equipment-table-heading-v28 span {
    display: block !important;
    color: #9c2921 !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}

body.presentation-page .equipment-table-heading-v28 h3 {
    margin: 3px 0 2px !important;
    color: #252720 !important;
    font: 700 25px/1.12 Georgia, serif !important;
}

body.presentation-page .equipment-table-heading-v28 p {
    margin: 0 !important;
    color: #64665e !important;
    font-size: 12px !important;
}

body.presentation-page .equipment-table-scroll-v28 {
    width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
}

body.presentation-page .equipment-table-v28 {
    width: 100% !important;
    min-width: 760px !important;
    border-collapse: collapse !important;
    color: #32342f !important;
    table-layout: fixed !important;
}

body.presentation-page .equipment-table-v28 th {
    padding: 11px 14px !important;
    background: #272925 !important;
    color: #fff !important;
    font-size: 10px !important;
    letter-spacing: .05em !important;
    text-align: left !important;
    text-transform: uppercase !important;
}

body.presentation-page .equipment-table-v28 th:first-child,
body.presentation-page .equipment-table-v28 td:first-child {
    width: 74px !important;
    text-align: center !important;
}

body.presentation-page .equipment-table-v28 th:nth-child(2) { width: 34% !important; }
body.presentation-page .equipment-table-v28 th:nth-child(3) { width: 82px !important; }
body.presentation-page .equipment-table-v28 th:nth-child(4) { width: 18% !important; }

body.presentation-page .equipment-table-v28 td {
    height: 62px !important;
    padding: 8px 14px !important;
    border-bottom: 1px solid #ebe5db !important;
    background: #fff !important;
    color: #54574f !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
    vertical-align: middle !important;
}

body.presentation-page .equipment-table-v28 tbody tr:nth-child(even) td { background: #faf8f4 !important; }
body.presentation-page .equipment-table-v28 tbody tr:hover td { background: #fff6ef !important; }
body.presentation-page .equipment-table-v28 tbody tr:last-child td { border-bottom: 0 !important; }
body.presentation-page .equipment-table-v28 td img { display: block !important; width: 45px !important; height: 48px !important; margin: 0 auto !important; object-fit: contain !important; }
body.presentation-page .equipment-table-v28 td strong { color: #242621 !important; font-size: 13px !important; }

body.presentation-page .dragon-flow-v28 {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    margin-top: 15px !important;
}

body.presentation-page .dragon-flow-v28 article {
    display: grid !important;
    grid-template-columns: 34px minmax(0, 1fr) !important;
    gap: 9px !important;
    padding: 14px !important;
    border: 1px solid #613333 !important;
    border-radius: 9px !important;
    background: #351d1d !important;
    color: #efe6e1 !important;
}

body.presentation-page .dragon-flow-v28 b {
    display: grid !important;
    place-items: center !important;
    width: 30px !important;
    height: 30px !important;
    border-radius: 6px !important;
    background: #a72d24 !important;
    color: #fff !important;
    font-size: 10px !important;
}

body.presentation-page .dragon-flow-v28 strong { display: block !important; margin-bottom: 4px !important; color: #fff !important; font-size: 13px !important; }
body.presentation-page .dragon-flow-v28 span { color: #ddd1cb !important; font-size: 12px !important; line-height: 1.55 !important; }

@media (max-width: 820px) {
    body.presentation-page .equipment-category-tabs-v28 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
    body.presentation-page .equipment-catalog-intro-v28 { grid-template-columns: 1fr !important; gap: 8px !important; }
    body.presentation-page .dragon-flow-v28 { grid-template-columns: 1fr !important; }
}

@media (max-width: 520px) {
    body.presentation-page .equipment-category-tabs-v28 { grid-template-columns: 1fr !important; }
    body.presentation-page .equipment-catalog-intro-v28 { padding: 17px !important; }
    body.presentation-page .equipment-table-heading-v28 { padding: 14px !important; }
}

/* O serwerze: numer, tytul i opis dostaja wlasne miejsce w karcie. */
body.presentation-page #identity .identity-grid-v22 {
    gap: 16px !important;
    margin-top: 28px !important;
}

body.presentation-page #identity .identity-grid-v22 article {
    display: grid !important;
    grid-template-columns: 38px minmax(0, 1fr) !important;
    grid-template-rows: auto 1fr !important;
    column-gap: 15px !important;
    row-gap: 10px !important;
    min-height: 166px !important;
    padding: 24px 25px 23px !important;
    align-content: start !important;
}

body.presentation-page #identity .identity-grid-v22 article > span {
    display: grid !important;
    place-items: center !important;
    width: 36px !important;
    height: 36px !important;
    margin: 0 !important;
    border: 1px solid #c7a25f !important;
    border-radius: 9px !important;
    background: #8f1717 !important;
    color: #fff8e8 !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
}

body.presentation-page #identity .identity-grid-v22 article h3 {
    align-self: center !important;
    margin: 0 !important;
    color: #20221f !important;
    font-size: clamp(19px, 1.7vw, 25px) !important;
    line-height: 1.12 !important;
}

body.presentation-page #identity .identity-grid-v22 article p {
    grid-column: 1 / -1 !important;
    margin: 1px 0 0 !important;
    color: #555d57 !important;
    font-size: 13px !important;
    line-height: 1.65 !important;
}

@media (max-width: 520px) {
    body.presentation-page #identity .identity-grid-v22 {
        gap: 11px !important;
        margin-top: 21px !important;
    }

    body.presentation-page #identity .identity-grid-v22 article {
        min-height: 0 !important;
        padding: 19px 18px 20px !important;
    }

    body.presentation-page #identity .identity-grid-v22 article h3 {
        font-size: 20px !important;
    }
}

/* v36: czytelny tekst na goracym i aktywnym przycisku gornego menu. */
body.presentation-page .site-nav a:hover,
body.presentation-page .site-nav a:focus-visible,
body.presentation-page .site-nav a.is-active {
    border-color: #6f1111 !important;
    background: #8f2925 !important;
    color: #fff8e8 !important;
}

/* v32: jednolita warstwa prezentacji oparta na układzie VIEW_ONLY_v31. */
body.presentation-page {
    --guide-bg: #f1efe9;
    --guide-panel: #fffdfa;
    --guide-panel-soft: #f7f4ee;
    --guide-ink: #20231f;
    --guide-muted: #626962;
    --guide-line: #ddd7cb;
    --guide-red: #8e1717;
    --guide-red-dark: #681010;
    --guide-gold: #a87529;
    background: var(--guide-bg) !important;
    color: var(--guide-ink) !important;
}

body.presentation-page .site-header {
    min-height: 64px !important;
    border-bottom: 1px solid rgba(27, 28, 25, .12) !important;
    background: rgba(248, 246, 241, .94) !important;
    backdrop-filter: blur(14px);
}

body.presentation-page .site-brand { color: #1b1d19 !important; }
body.presentation-page .site-nav a { color: #454a45 !important; }
body.presentation-page .site-nav a:hover,
body.presentation-page .site-nav a.is-active { color: #741313 !important; }

body.presentation-page .site-nav a.is-active {
    border-color: #6f1111 !important;
    background: var(--guide-red) !important;
    color: #fff !important;
}

body.presentation-page .knowledge-layout {
    width: min(1440px, calc(100% - 36px)) !important;
    grid-template-columns: 214px minmax(0, 1fr) !important;
    gap: 24px !important;
    margin: 22px auto 72px !important;
}

body.presentation-page .section-rail {
    top: 82px !important;
    padding: 13px 10px 11px !important;
    border: 1px solid #32342e !important;
    border-radius: 15px !important;
    background: #1d1f1b !important;
    box-shadow: 0 16px 40px rgba(20, 18, 15, .09) !important;
}

body.presentation-page .section-rail a {
    min-height: 34px !important;
    padding: 6px 8px !important;
    color: #cbc9c2 !important;
}

body.presentation-page .section-rail a:hover,
body.presentation-page .section-rail a.is-active {
    background: #2d2f29 !important;
    color: #fff !important;
}

body.presentation-page .presentation-section-v22,
body.presentation-page .presentation-cta-v22,
body.presentation-page .codex-section,
body.presentation-page .codex-library-intro,
body.presentation-page .codex-hero {
    margin-top: 16px !important;
    padding: clamp(28px, 3.2vw, 44px) !important;
    border: 1px solid var(--guide-line) !important;
    border-radius: 16px !important;
    background: var(--guide-panel) !important;
    color: var(--guide-ink) !important;
    box-shadow: 0 8px 26px rgba(30, 26, 21, .035) !important;
}

body.presentation-page .section-dark-v22 {
    background: #1d1f1b !important;
    border-color: #353730 !important;
    color: #f8f3e9 !important;
}

body.presentation-page .section-heading-v22 h2,
body.presentation-page .codex-section-heading h2,
body.presentation-page .codex-library-intro h2 {
    max-width: 900px !important;
    color: inherit !important;
    font: 700 clamp(31px, 3.6vw, 48px) / 1.03 Georgia, 'Times New Roman', serif !important;
    letter-spacing: 0 !important;
}

body.presentation-page .section-heading-v22 > p:not(.eyebrow),
body.presentation-page .codex-section-heading > p,
body.presentation-page .codex-library-intro > p:not(.eyebrow) {
    max-width: 800px !important;
    color: var(--guide-muted) !important;
    font-size: 14px !important;
    line-height: 1.72 !important;
}

body.presentation-page .section-dark-v22 .section-heading-v22 > p:not(.eyebrow) { color: #c8ccc4 !important; }

body.presentation-page .primary-button,
body.presentation-page .secondary-button,
body.presentation-page .hero-actions a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 48px !important;
    padding: 0 21px !important;
    border: 1px solid #c9c0b1 !important;
    border-radius: 10px !important;
    box-shadow: none !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    text-decoration: none !important;
}

body.presentation-page .primary-button {
    border-color: #6f1111 !important;
    background: var(--guide-red) !important;
    color: #fff !important;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .14) !important;
}

body.presentation-page .primary-button:hover { background: var(--guide-red-dark) !important; transform: translateY(-1px); }
body.presentation-page .secondary-button { background: #f8f5ee !important; color: #282b27 !important; }
body.presentation-page .secondary-button:hover { border-color: #9d9282 !important; background: #fff !important; }

body.presentation-page .identity-grid-v22 article,
body.presentation-page .system-card,
body.presentation-page .highlight-links-v22 a {
    border: 1px solid var(--guide-line) !important;
    border-radius: 11px !important;
    background: var(--guide-panel-soft) !important;
    color: var(--guide-ink) !important;
}

body.presentation-page .highlight-links-v22 a {
    min-height: 78px !important;
    padding: 13px !important;
}

body.presentation-page .dungeon-tabs-v27 {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
    margin-bottom: 12px !important;
}

body.presentation-page .dungeon-tabs-v27 button {
    display: grid !important;
    grid-template-columns: 34px minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    column-gap: 9px !important;
    align-items: center !important;
    min-height: 68px !important;
    padding: 10px 12px !important;
    border: 1px solid var(--guide-line) !important;
    border-radius: 10px !important;
    background: var(--guide-panel-soft) !important;
    color: #2f332f !important;
    text-align: left !important;
    cursor: pointer !important;
}

body.presentation-page .dungeon-tabs-v27 button > span {
    grid-row: 1 / 3 !important;
    display: grid !important;
    place-items: center !important;
    width: 34px !important;
    height: 34px !important;
    border-radius: 8px !important;
    background: #282a25 !important;
    color: #fff !important;
    font-size: 9px !important;
    font-weight: 900 !important;
}

body.presentation-page .dungeon-tabs-v27 button strong { align-self: end !important; color: inherit !important; font-size: 11px !important; }
body.presentation-page .dungeon-tabs-v27 button small { align-self: start !important; color: #757a74 !important; font-size: 8px !important; }
body.presentation-page .dungeon-tabs-v27 button.is-active { border-color: #6e1515 !important; background: #8b1919 !important; color: #fff !important; }
body.presentation-page .dungeon-tabs-v27 button.is-active > span { background: #fff !important; color: #7b1515 !important; }
body.presentation-page .dungeon-tabs-v27 button.is-active small { color: #fff !important; }

body.presentation-page .dungeon-detail-v23 {
    overflow: hidden !important;
    margin-top: 0 !important;
    padding: 0 !important;
    border: 1px solid var(--guide-line) !important;
    border-radius: 13px !important;
    background: #f8f5ef !important;
}

body.presentation-page .dungeon-detail-tower-v23 { border-color: #353730 !important; background: #1d1f1b !important; }
body.presentation-page .dungeon-detail-dragon-v23 { border-color: #4f2a28 !important; background: #2b1918 !important; }
body.presentation-page .dungeon-header-v23 { padding: 24px !important; grid-template-columns: minmax(0, 1fr) 180px !important; gap: 20px !important; }
body.presentation-page .dungeon-header-v23 h3 { font: 700 clamp(27px, 3vw, 38px) / 1.03 Georgia, serif !important; }
body.presentation-page .dungeon-header-v23 p { color: #626862 !important; }
body.presentation-page .dungeon-detail-tower-v23 .dungeon-header-v23 p,
body.presentation-page .dungeon-detail-dragon-v23 .dungeon-header-v23 p { color: #c8ccc4 !important; }
body.presentation-page .dungeon-boss-v23 { width:170px !important; min-height:150px !important; justify-self:center !important; border:0 !important; background:transparent !important; }
body.presentation-page .dungeon-boss-v23 img { width:150px !important; height:120px !important; }
body.presentation-page .dungeon-boss-v23 strong { color:inherit !important; font-size:10px !important; }

body.presentation-page .dungeon-steps-v23,
body.presentation-page .dragon-flow-v28 { gap: 0 !important; padding: 0 24px 24px !important; }

body.presentation-page .dungeon-steps-v23 > div,
body.presentation-page .dragon-flow-v28 > article {
    grid-template-columns: 38px minmax(0, 1fr) !important;
    gap: 10px !important;
    padding: 12px 0 !important;
    border: 0 !important;
    border-top: 1px solid #ded7ca !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #343934 !important;
}

body.presentation-page .dungeon-detail-tower-v23 .dungeon-steps-v23 > div,
body.presentation-page .dungeon-detail-dragon-v23 .dragon-flow-v28 > article { border-top-color: rgba(255, 255, 255, .11) !important; color: #ece9e1 !important; }
body.presentation-page .dungeon-steps-v23 b,
body.presentation-page .dragon-flow-v28 b { width:32px !important; height:32px !important; border-radius:7px !important; background:#8d1919 !important; }

body.presentation-page .equipment-section-v28 {
    background: var(--guide-panel) !important;
}

body.presentation-page .equipment-title-v31 {
    max-width: 860px !important;
    margin: 0 0 24px !important;
}

body.presentation-page .equipment-title-v31 h2 {
    margin: 4px 0 10px !important;
    color: var(--guide-ink) !important;
    font: 700 clamp(34px, 4vw, 52px) / 1.03 Georgia, serif !important;
}

body.presentation-page .equipment-catalog-toolbar-v31 input {
    height: 46px !important;
    border-radius: 9px !important;
    background: #fff !important;
}

body.presentation-page .equipment-category-tabs-v28 {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    margin: 14px 0 12px !important;
}

body.presentation-page .equipment-category-tabs-v28 button {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 34px !important;
    padding: 0 11px !important;
    border-radius: 999px !important;
    background: #f8f5ef !important;
    font-size: 10px !important;
}

body.presentation-page .equipment-category-tabs-v28 button span {
    width: auto !important;
    height: auto !important;
    flex: initial !important;
    margin: 0 6px 0 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: inherit !important;
    font-size: 9px !important;
}

body.presentation-page .equipment-category-tabs-v28 button.is-active { background: #2b2d28 !important; border-color: #2b2d28 !important; }
body.presentation-page .equipment-category-tabs-v28 button.is-active span { color: #f3ca79 !important; }

body.presentation-page .equipment-table-card-v28 {
    border: 1px solid var(--guide-line) !important;
    border-radius: 13px !important;
    background: #f8f5ef !important;
}

body.presentation-page .equipment-table-heading-v28 { padding: 18px !important; background: transparent !important; }
body.presentation-page .equipment-card-grid-v31 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 7px !important; padding: 0 18px 18px !important; }
body.presentation-page .equipment-item-card-v31 { min-height: 82px !important; border-radius: 9px !important; background: #fffdfa !important; }

@media (max-width: 1000px) {
    body.presentation-page .knowledge-layout { grid-template-columns: 1fr !important; width: min(1120px, calc(100% - 22px)) !important; }
    body.presentation-page .section-rail { max-height: none !important; overflow: hidden !important; }
    body.presentation-page .section-rail-head,
    body.presentation-page .section-rail-progress,
    body.presentation-page .section-rail nav > p { display: none !important; }
    body.presentation-page .section-rail nav { display:flex !important; overflow-x:auto !important; gap:4px !important; scrollbar-width:none; }
    body.presentation-page .section-rail a { flex:0 0 auto !important; white-space:nowrap; }
}

@media (max-width: 820px) {
    body.presentation-page .knowledge-layout { width: calc(100% - 12px) !important; margin: 6px auto 42px !important; }
    body.presentation-page .presentation-section-v22,
    body.presentation-page .presentation-cta-v22,
    body.presentation-page .codex-section,
    body.presentation-page .codex-library-intro,
    body.presentation-page .codex-hero { padding: 23px 17px !important; border-radius: 13px !important; }
    body.presentation-page .dungeon-tabs-v27 { display:flex !important; overflow-x:auto !important; }
    body.presentation-page .dungeon-tabs-v27 button { flex:0 0 230px !important; }
    body.presentation-page .dungeon-header-v23 { grid-template-columns:1fr !important; padding:20px 17px !important; }
    body.presentation-page .dungeon-boss-v23 { justify-self:start !important; }
    body.presentation-page .dungeon-steps-v23,
    body.presentation-page .dragon-flow-v28 { padding:0 17px 17px !important; }
    body.presentation-page .equipment-card-grid-v31 { grid-template-columns:1fr !important; padding:0 12px 12px !important; }
}

/* Presentation v31: compact category picker and real-icon catalog cards. */
body.presentation-page .equipment-catalog-toolbar-v31 {
    margin: 18px 0 10px !important;
    padding: 13px !important;
    border: 1px solid #d8d0c3 !important;
    border-radius: 12px !important;
    background: #f8f4ec !important;
}

body.presentation-page .equipment-title-v31 { margin: 0 0 17px !important; padding: 0 !important; }
body.presentation-page .equipment-title-v31 > span { color: #a52b24 !important; font-size: 10px !important; font-weight: 900 !important; letter-spacing: .1em !important; text-transform: uppercase !important; }
body.presentation-page .equipment-title-v31 h2 { max-width: 800px !important; margin: 6px 0 8px !important; color: #252720 !important; font: 700 clamp(34px, 4.2vw, 56px)/1.02 Georgia, serif !important; }
body.presentation-page .equipment-title-v31 p { max-width: 760px !important; margin: 0 !important; color: #656a62 !important; font-size: 13px !important; line-height: 1.65 !important; }

body.presentation-page .equipment-catalog-toolbar-v31 label { display: grid !important; gap: 6px !important; }
body.presentation-page .equipment-catalog-toolbar-v31 label > span { color: #686b64 !important; font-size: 10px !important; font-weight: 800 !important; letter-spacing: .08em !important; text-transform: uppercase !important; }
body.presentation-page .equipment-catalog-toolbar-v31 input { width: 100% !important; min-height: 46px !important; padding: 0 14px !important; border: 1px solid #cfc6b8 !important; border-radius: 9px !important; background: #fff !important; color: #252722 !important; font: 500 13px/1.2 inherit !important; outline: 0 !important; }
body.presentation-page .equipment-catalog-toolbar-v31 input:focus { border-color: #8c201b !important; box-shadow: 0 0 0 3px rgba(140,32,27,.11) !important; }

body.presentation-page .equipment-category-tabs-v28 {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 7px !important;
    margin: 0 !important;
    padding: 0 !important;
}

body.presentation-page .equipment-category-tabs-v28 button {
    display: inline-flex !important;
    min-height: 35px !important;
    padding: 7px 11px !important;
    border: 1px solid #d7cec0 !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: #444740 !important;
    font-size: 11px !important;
    font-weight: 700 !important;
}

body.presentation-page .equipment-category-tabs-v28 button span {
    width: auto !important;
    height: auto !important;
    margin: 0 6px 0 0 !important;
    padding: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #a12620 !important;
    font-size: 10px !important;
}

body.presentation-page .equipment-category-tabs-v28 button.is-active { border-color: #941f1b !important; background: #941f1b !important; color: #fff !important; }
body.presentation-page .equipment-category-tabs-v28 button.is-active span { background: transparent !important; color: #f3ca79 !important; }

body.presentation-page .equipment-catalog-meta-v31 { display: flex !important; justify-content: space-between !important; gap: 18px !important; align-items: baseline !important; margin: 13px 0 !important; padding: 10px 0 !important; border-top: 1px solid #ddd5c8 !important; border-bottom: 1px solid #ddd5c8 !important; }
body.presentation-page .equipment-catalog-meta-v31 strong { color: #343732 !important; font-size: 11px !important; }
body.presentation-page .equipment-catalog-meta-v31 p { margin: 0 !important; color: #71756e !important; font-size: 11px !important; text-align: right !important; }

body.presentation-page .equipment-card-grid-v31 { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 9px !important; padding: 14px !important; }
body.presentation-page .equipment-item-card-v31 { display: grid !important; grid-template-columns: 58px minmax(0, 1fr) !important; gap: 14px !important; align-items: center !important; min-height: 88px !important; padding: 13px 15px !important; border: 1px solid #ded6ca !important; border-radius: 10px !important; background: #fffdf9 !important; transition: border-color .16s ease, box-shadow .16s ease, transform .16s ease !important; }
body.presentation-page .equipment-item-card-v31:hover { border-color: #bd8f51 !important; box-shadow: 0 5px 13px rgba(48,38,25,.09) !important; transform: translateY(-1px) !important; }
body.presentation-page .equipment-item-card-v31[hidden] { display: none !important; }
body.presentation-page .equipment-item-card-v31 > img { width: 54px !important; height: 56px !important; object-fit: contain !important; }
body.presentation-page .equipment-item-card-v31 span { display: block !important; margin-bottom: 3px !important; color: #a16a1f !important; font-size: 9px !important; font-weight: 900 !important; letter-spacing: .07em !important; text-transform: uppercase !important; }
body.presentation-page .equipment-item-card-v31 h4 { margin: 0 !important; color: #252721 !important; font: 700 17px/1.1 Georgia, serif !important; }
body.presentation-page .equipment-item-card-v31 p { margin: 5px 0 0 !important; color: #666a63 !important; font-size: 11px !important; line-height: 1.45 !important; }

@media (max-width: 720px) {
    body.presentation-page .equipment-catalog-meta-v31 { display: block !important; }
    body.presentation-page .equipment-catalog-meta-v31 p { margin-top: 5px !important; text-align: left !important; }
    body.presentation-page .equipment-card-grid-v31 { grid-template-columns: 1fr !important; padding: 10px !important; }
}

body.presentation-page {
    width: 100%;
    overflow-x: clip !important;
    overflow-y: visible !important;
    background: #f2efe8 !important;
    color: #20221f !important;
}

body.presentation-page .site-header,
body.presentation-page .knowledge-layout,
body.presentation-page .knowledge-main,
body.presentation-page .presentation-shell,
body.presentation-page .codex-shell,
body.presentation-page .presentation-hero-v22,
body.presentation-page .presentation-section-v22,
body.presentation-page .codex-section,
body.presentation-page .codex-library-intro {
    box-sizing: border-box;
    min-width: 0 !important;
    max-width: 100% !important;
}

body.presentation-page .codex-shell.codex-shell-new {
    display: block !important;
}

body.presentation-page .codex-section.codex-section-new {
    display: block !important;
    grid-template-columns: none !important;
    gap: 0 !important;
    width: 100% !important;
    background-image: none !important;
    isolation: auto !important;
}

body.presentation-page .codex-section.codex-section-new::before {
    display: none !important;
    content: none !important;
}

body.presentation-page .codex-section.codex-section-new > * {
    min-width: 0 !important;
    max-width: 100% !important;
}

body.presentation-page .codex-section-heading {
    width: 100% !important;
    max-width: 920px !important;
}

body.presentation-page .knowledge-layout {
    width: min(1580px, calc(100% - 32px)) !important;
    margin: 24px auto 64px !important;
    grid-template-columns: 210px minmax(0, 1fr) !important;
    gap: 22px !important;
}

body.presentation-page .section-rail {
    top: 84px !important;
    max-height: calc(100vh - 104px) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    border: 1px solid #32342f !important;
    border-radius: 14px !important;
    background: #1c1e1a !important;
    color: #f5f1e9 !important;
    box-shadow: 0 12px 32px rgba(22, 20, 17, .12) !important;
}

body.presentation-page .section-rail-head strong,
body.presentation-page .section-rail a {
    color: #e9e6de !important;
}

body.presentation-page .section-rail a:hover,
body.presentation-page .section-rail a.is-active {
    border-color: #4a4d45 !important;
    background: #30322c !important;
    color: #fff !important;
}

body.presentation-page .section-rail a {
    background: transparent !important;
}

body.presentation-page .section-rail a.is-active {
    box-shadow: inset 3px 0 #a31f1b !important;
}

body.presentation-page .presentation-hero-v22 {
    display: grid !important;
    grid-template-columns: minmax(0, 1.05fr) minmax(360px, .72fr) !important;
    border-radius: 20px !important;
    background: #fffdf8 !important;
    color: #20221f !important;
}

body.presentation-page .presentation-hero-copy-v22 {
    min-width: 0 !important;
    padding: clamp(38px, 5vw, 68px) !important;
}

body.presentation-page .presentation-hero-copy-v22 h1 {
    max-width: 680px !important;
    color: #171916 !important;
    font-size: clamp(48px, 5vw, 72px) !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    overflow-wrap: anywhere;
}

body.presentation-page .presentation-hero-copy-v22 > p:not(.eyebrow) {
    color: #555d57 !important;
}

body.presentation-page .presentation-hero-copy-v22 .hero-actions a {
    color: #20221f !important;
}

body.presentation-page .presentation-hero-copy-v22 .hero-actions .primary-button {
    color: #fff !important;
}

body.presentation-page .presentation-hero-map-v22,
body.presentation-page .presentation-hero-map-v22 > img {
    min-width: 0 !important;
    background: #e7e1d6 !important;
}

body.presentation-page .presentation-hero-map-v22 > img {
    object-fit: contain !important;
}

body.presentation-page .presentation-section-v22,
body.presentation-page .codex-section,
body.presentation-page .codex-library-intro,
body.presentation-page .presentation-cta-v22 {
    border: 1px solid #d8d2c6 !important;
    border-radius: 16px !important;
    background: #fffdf8 !important;
    color: #20221f !important;
}

body.presentation-page .section-heading-v22 h2,
body.presentation-page .codex-section-heading h2,
body.presentation-page .codex-library-intro h2,
body.presentation-page .identity-grid-v22 h3,
body.presentation-page .system-card h3,
body.presentation-page .equipment-catalog-v23 h3 {
    color: #20221f !important;
    letter-spacing: 0 !important;
}

body.presentation-page .section-heading-v22 > p:not(.eyebrow),
body.presentation-page .codex-section-heading > p,
body.presentation-page .codex-library-intro > p:not(.eyebrow),
body.presentation-page .identity-grid-v22 p,
body.presentation-page .system-card p,
body.presentation-page .equipment-catalog-v23 p,
body.presentation-page .equipment-catalog-v23 li {
    color: #555d57 !important;
}

body.presentation-page .section-dark-v22 {
    background: #1c1e1a !important;
    color: #f7f3ea !important;
    border-color: #30332d !important;
}

body.presentation-page .section-dark-v22 h2,
body.presentation-page .section-dark-v22 h3,
body.presentation-page .section-dark-v22 strong {
    color: #fff8ec !important;
}

body.presentation-page .section-dark-v22 p {
    color: #c6cbc3 !important;
}

body.presentation-page .world-route-v23 {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 14px !important;
}

body.presentation-page .map-card-v23 {
    display: grid !important;
    grid-template-columns: minmax(230px, .85fr) minmax(0, 1fr) !important;
    min-width: 0 !important;
    overflow: hidden !important;
    border: 1px solid #d8d2c6 !important;
    border-radius: 14px !important;
    background: #fff !important;
}

body.presentation-page .map-card-media-v23 {
    display: grid !important;
    height: 280px !important;
    min-height: 0 !important;
    place-items: center !important;
    padding: 12px !important;
    background: #e9e4da !important;
}

body.presentation-page .map-card-media-v23 img {
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    object-fit: contain !important;
}

body.presentation-page .map-card-copy-v23 h3,
body.presentation-page .map-card-copy-v23 p {
    color: #242623 !important;
}

body.presentation-page .map-card-copy-v23 p {
    color: #5a615c !important;
}

body.presentation-page .dungeon-jump-v23 {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 10px !important;
}

body.presentation-page .dungeon-jump-v23 a,
body.presentation-page .dungeon-detail-v23 {
    border-radius: 13px !important;
}

body.presentation-page .dungeon-detail-v23 {
    display: block !important;
    width: 100% !important;
    margin-top: 18px !important;
    padding: 0 !important;
    overflow: hidden !important;
}

body.presentation-page .dungeon-atlas-v23 {
    background: #fffdf8 !important;
    background-image: none !important;
}

body.presentation-page .dungeon-atlas-v23::before {
    display: none !important;
    content: none !important;
}

body.presentation-page .dungeon-detail-tower-v23 {
    background: #1b1d19 !important;
    color: #f7f2e8 !important;
}

body.presentation-page .dungeon-detail-dragon-v23 {
    background: #281817 !important;
    color: #faefea !important;
}

body.presentation-page .dungeon-detail-tower-v23 .dungeon-header-v23,
body.presentation-page .dungeon-detail-dragon-v23 .dungeon-header-v23 {
    background: transparent !important;
}

body.presentation-page .dungeon-detail-tower-v23 .dungeon-header-v23 h3,
body.presentation-page .dungeon-detail-dragon-v23 .dungeon-header-v23 h3,
body.presentation-page .dungeon-detail-tower-v23 .dungeon-header-v23 p,
body.presentation-page .dungeon-detail-dragon-v23 .dungeon-header-v23 p {
    color: inherit !important;
}

body.presentation-page .equipment-catalog-v23 {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
}

body.presentation-page .equipment-catalog-v23 > article,
body.presentation-page .weapon-75-grid article {
    min-width: 0 !important;
    border: 1px solid #d8d2c6 !important;
    background: #faf8f3 !important;
}

body.presentation-page .equipment-catalog-v23 ul {
    columns: 2;
    padding-left: 18px;
}

body.presentation-page .biolog-table-wrap,
body.presentation-page .pet-bonus-table-wrap,
body.presentation-page .riding-table-wrap,
body.presentation-page .bonus-panel {
    display: block;
    width: 100%;
    max-width: 100%;
    overflow-x: auto !important;
    overscroll-behavior-inline: contain;
}

body.presentation-page .codex-table {
    color: #292b28 !important;
}

body.presentation-page .codex-table td {
    color: #292b28 !important;
    background: #fff !important;
}

body.presentation-page .codex-table th {
    color: #fff !important;
    background: #252722 !important;
}

@media (max-width: 1020px) {
    body.presentation-page .knowledge-layout {
        width: min(100% - 20px, 960px) !important;
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }

    body.presentation-page .section-rail {
        top: 68px !important;
        max-height: none !important;
        overflow: hidden !important;
        padding: 7px !important;
    }

    body.presentation-page .section-rail-head,
    body.presentation-page .section-rail-progress,
    body.presentation-page .section-rail nav > p {
        display: none !important;
    }

    body.presentation-page .section-rail nav {
        display: flex !important;
        flex-direction: row !important;
        gap: 5px !important;
        overflow-x: auto !important;
        scrollbar-width: none;
    }

    body.presentation-page .section-rail a,
    body.presentation-page .section-rail .section-sub-link-v23 {
        display: flex !important;
        flex: 0 0 auto !important;
        width: auto !important;
        margin: 0 !important;
        white-space: nowrap !important;
        border-color: #3b3d37 !important;
        background: #252722 !important;
        color: #f0ece4 !important;
    }

    body.presentation-page .presentation-hero-v22 {
        grid-template-columns: 1fr !important;
    }

    body.presentation-page .world-route-v23 {
        grid-template-columns: 1fr !important;
    }
}

/* v27: dungeon tabs, item tables and final contrast/sticky-navigation rules. */
@media (min-width: 1021px) {
    body.presentation-page .section-rail {
        position: sticky !important;
        top: 84px !important;
        align-self: start !important;
        max-height: calc(100vh - 104px) !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
    }
}

body.presentation-page .dungeon-tabs-v27 {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 10px !important;
    margin-top: 24px !important;
}

body.presentation-page .dungeon-tabs-v27 button {
    display: grid !important;
    grid-template-columns: 48px minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    gap: 2px 12px !important;
    align-items: center !important;
    min-width: 0 !important;
    min-height: 82px !important;
    padding: 12px 14px !important;
    border: 1px solid #d5cfc3 !important;
    border-radius: 10px !important;
    background: #f5f2eb !important;
    color: #242622 !important;
    text-align: left !important;
    cursor: pointer !important;
    transition: border-color .18s ease, background-color .18s ease, transform .18s ease !important;
}

body.presentation-page .dungeon-tabs-v27 button:hover,
body.presentation-page .dungeon-tabs-v27 button:focus-visible {
    border-color: #9d792f !important;
    background: #fffaf0 !important;
    outline: 2px solid rgba(157, 121, 47, .22) !important;
    outline-offset: 2px !important;
    transform: translateY(-1px) !important;
}

body.presentation-page .dungeon-tabs-v27 button.is-active {
    border-color: #8d1c18 !important;
    background: #242622 !important;
    color: #fff8ec !important;
    box-shadow: inset 0 -3px #ad241f !important;
}

body.presentation-page .dungeon-tabs-v27 button > span {
    display: grid !important;
    grid-row: 1 / 3 !important;
    place-items: center !important;
    width: 48px !important;
    height: 48px !important;
    border-radius: 8px !important;
    background: #981d19 !important;
    color: #fff !important;
    font-size: 12px !important;
    font-weight: 900 !important;
}

body.presentation-page .dungeon-tabs-v27 button > strong {
    align-self: end !important;
    color: inherit !important;
    font-size: 14px !important;
    line-height: 1.25 !important;
}

body.presentation-page .dungeon-tabs-v27 button > small {
    align-self: start !important;
    color: #666b64 !important;
    font-size: 10px !important;
    line-height: 1.35 !important;
}

body.presentation-page .dungeon-tabs-v27 button.is-active > small {
    color: #d4d0c7 !important;
}

body.presentation-page .dungeon-panels-v27 > [data-panel] {
    display: none !important;
}

body.presentation-page .dungeon-panels-v27 > [data-panel].is-active {
    display: block !important;
}

body.presentation-page .dungeon-detail-tower-v23 .dungeon-steps-v23 > div,
body.presentation-page .dungeon-detail-tower-v23 .dungeon-steps-v23 span,
body.presentation-page .dungeon-detail-tower-v23 .dungeon-steps-v23 strong {
    color: #f1eee7 !important;
}

body.presentation-page .dungeon-detail-tower-v23 .dungeon-steps-v23 span {
    color: #d2d5cf !important;
}

body.presentation-page .dungeon-detail-dragon-v23 .dragon-flow-v23 > div,
body.presentation-page .dungeon-detail-dragon-v23 .dragon-flow-v23 span,
body.presentation-page .dungeon-detail-dragon-v23 .dragon-flow-v23 strong {
    color: #f6ece8 !important;
}

body.presentation-page .dungeon-detail-tower-v23 .dungeon-note-v23,
body.presentation-page .dungeon-detail-dragon-v23 .dungeon-note-v23,
body.presentation-page .dungeon-detail-tower-v23 .dungeon-note-v23 strong,
body.presentation-page .dungeon-detail-dragon-v23 .dungeon-note-v23 strong {
    color: #ece8df !important;
}

body.presentation-page .boss-grid-v23 article span,
body.presentation-page .boss-grid-v23 article h3,
body.presentation-page .dungeon-reward-v23,
body.presentation-page .dungeon-reward-v23 strong,
body.presentation-page .dungeon-reward-v23 span {
    color: #f8f2e9 !important;
}

body.presentation-page .equipment-tables-v27 {
    display: grid !important;
    gap: 16px !important;
    margin-top: 22px !important;
}

body.presentation-page .equipment-table-card-v27 {
    overflow: hidden !important;
    border: 1px solid #d6d0c5 !important;
    border-radius: 12px !important;
    background: #fff !important;
    color: #242622 !important;
}

body.presentation-page .equipment-table-heading-v27 {
    display: grid !important;
    grid-template-columns: 48px minmax(0, 1fr) !important;
    gap: 12px !important;
    align-items: center !important;
    padding: 15px 18px !important;
    border-bottom: 1px solid #ded8cd !important;
    background: #f3efe7 !important;
}

body.presentation-page .equipment-table-heading-v27 img {
    width: 44px !important;
    height: 44px !important;
    object-fit: contain !important;
}

body.presentation-page .equipment-table-heading-v27 span {
    color: #9b221d !important;
    font-size: 9px !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
}

body.presentation-page .equipment-table-heading-v27 h3 {
    margin: 2px 0 0 !important;
    color: #222420 !important;
    font: 700 22px/1.2 Georgia, serif !important;
}

body.presentation-page .equipment-table-scroll-v27 {
    width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
}

body.presentation-page .equipment-table-v27 {
    width: 100% !important;
    min-width: 690px !important;
    border-collapse: collapse !important;
    background: #fff !important;
    color: #292b28 !important;
    table-layout: fixed !important;
}

body.presentation-page .equipment-table-v27 th {
    padding: 10px 12px !important;
    border: 0 !important;
    background: #282a26 !important;
    color: #fff !important;
    font-size: 10px !important;
    text-align: left !important;
    text-transform: uppercase !important;
}

body.presentation-page .equipment-table-v27 th:first-child {
    width: 76px !important;
    text-align: center !important;
}

body.presentation-page .equipment-table-v27 th:nth-child(2) {
    width: 34% !important;
}

body.presentation-page .equipment-table-v27 td {
    height: 62px !important;
    padding: 8px 12px !important;
    border: 0 !important;
    border-bottom: 1px solid #e5e0d7 !important;
    background: #fff !important;
    color: #454a44 !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
    vertical-align: middle !important;
}

body.presentation-page .equipment-table-v27 tbody tr:nth-child(even) td {
    background: #f8f6f1 !important;
}

body.presentation-page .equipment-table-v27 tbody tr:last-child td {
    border-bottom: 0 !important;
}

body.presentation-page .equipment-table-v27 td:first-child {
    padding: 5px !important;
    text-align: center !important;
}

body.presentation-page .equipment-table-v27 td img {
    display: block !important;
    width: 42px !important;
    height: 48px !important;
    margin: 0 auto !important;
    object-fit: contain !important;
    image-rendering: auto !important;
}

body.presentation-page .equipment-table-v27 td strong {
    color: #222420 !important;
    font-size: 13px !important;
}

@media (max-width: 820px) {
    body.presentation-page .dungeon-tabs-v27 {
        grid-template-columns: 1fr !important;
    }

    body.presentation-page .dungeon-tabs-v27 button {
        min-height: 70px !important;
    }

    body.presentation-page .dungeon-detail-v23 {
        margin-top: 12px !important;
    }
}

@media (max-width: 820px) {
    body.presentation-page .site-header {
        width: 100% !important;
        max-width: 100% !important;
    }

    body.presentation-page .knowledge-layout {
        display: block !important;
        width: 100% !important;
        margin: 0 0 40px !important;
    }

    body.presentation-page .section-rail {
        top: 63px !important;
        width: 100% !important;
        border-right: 0 !important;
        border-left: 0 !important;
        border-radius: 0 !important;
    }

    body.presentation-page .knowledge-main {
        width: 100% !important;
        padding: 10px !important;
    }

    body.presentation-page .presentation-hero-copy-v22 {
        padding: 34px 22px !important;
    }

    body.presentation-page .presentation-hero-copy-v22 h1 {
        font-size: clamp(39px, 11vw, 52px) !important;
    }

    body.presentation-page .presentation-hero-map-v22,
    body.presentation-page .presentation-hero-map-v22 > img {
        min-height: 0 !important;
        height: auto !important;
    }

    body.presentation-page .presentation-hero-map-v22 > img {
        aspect-ratio: 16 / 10;
        padding: 14px !important;
    }

    body.presentation-page .presentation-section-v22,
    body.presentation-page .codex-section,
    body.presentation-page .codex-library-intro,
    body.presentation-page .presentation-cta-v22 {
        padding: 25px 18px !important;
    }

    body.presentation-page .identity-grid-v22,
    body.presentation-page .system-card-grid,
    body.presentation-page .highlight-links-v22,
    body.presentation-page .equipment-catalog-v23,
    body.presentation-page .dungeon-jump-v23 {
        grid-template-columns: 1fr !important;
    }

    body.presentation-page .map-card-v23 {
        grid-template-columns: 1fr !important;
    }

    body.presentation-page .map-card-media-v23 {
        height: auto !important;
        aspect-ratio: 4 / 3;
    }

    body.presentation-page .dungeon-header-v23 {
        grid-template-columns: 1fr !important;
    }

    body.presentation-page .dungeon-steps-v23,
    body.presentation-page .dragon-flow-v23,
    body.presentation-page .boss-grid-v23,
    body.presentation-page .weapon-75-grid,
    body.presentation-page .weapon-75-grid-v23 {
        grid-template-columns: 1fr !important;
    }

    body.presentation-page .equipment-catalog-v23 ul {
        columns: 1;
    }

    body.presentation-page .codex-table {
        min-width: 640px !important;
    }
}

@media (max-width: 520px) {
    body.presentation-page .knowledge-main {
        padding: 7px !important;
    }

    body.presentation-page .presentation-hero-copy-v22 {
        padding: 28px 17px !important;
    }

    body.presentation-page .presentation-hero-copy-v22 h1 {
        font-size: clamp(33px, 9.5vw, 40px) !important;
        line-height: 1.04 !important;
    }

    body.presentation-page .presentation-section-v22,
    body.presentation-page .codex-section,
    body.presentation-page .codex-library-intro,
    body.presentation-page .presentation-cta-v22 {
        margin-top: 9px !important;
        padding: 22px 15px !important;
        border-radius: 12px !important;
    }

    body.presentation-page .section-heading-v22 h2,
    body.presentation-page .codex-section-heading h2,
    body.presentation-page .codex-library-intro h2 {
        font-size: 30px !important;
        line-height: 1.08 !important;
    }

    body.presentation-page .video-teaser-button-v23 {
        grid-template-columns: 1fr !important;
    }

    body.presentation-page .journey-v22 article {
        grid-template-columns: 1fr !important;
    }

    body.presentation-page .boss-grid-v23 article {
        grid-template-columns: 82px minmax(0, 1fr) !important;
    }
}

/* v35: ostatnia warstwa ukladu kart, po wszystkich starszych media queries. */
body.presentation-page #identity .identity-grid-v22 {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px !important;
    margin-top: 30px !important;
}

body.presentation-page #identity .identity-grid-v22 > article {
    display: grid !important;
    position: static !important;
    grid-template-columns: 42px minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    column-gap: 16px !important;
    row-gap: 15px !important;
    align-items: start !important;
    min-width: 0 !important;
    min-height: 176px !important;
    height: auto !important;
    padding: 25px 26px 24px !important;
    overflow: visible !important;
}

body.presentation-page #identity .identity-grid-v22 > article > span {
    display: grid !important;
    position: static !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
    place-items: center !important;
    justify-self: start !important;
    width: 38px !important;
    height: 38px !important;
    margin: 0 !important;
    border: 1px solid #c7a25f !important;
    border-radius: 9px !important;
    background: #8f1717 !important;
    color: #fff8e8 !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
}

body.presentation-page #identity .identity-grid-v22 > article > h3 {
    position: static !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
    margin: 0 !important;
    align-self: center !important;
    color: #20221f !important;
    font-size: clamp(19px, 1.7vw, 25px) !important;
    line-height: 1.14 !important;
    overflow-wrap: break-word !important;
}

body.presentation-page #identity .identity-grid-v22 > article > p {
    position: static !important;
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    min-width: 0 !important;
    margin: 0 !important;
    color: #555d57 !important;
    font-size: 13px !important;
    line-height: 1.65 !important;
}

@media (max-width: 820px) {
    body.presentation-page #identity .identity-grid-v22 {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 520px) {
    body.presentation-page #identity .identity-grid-v22 {
        gap: 12px !important;
        margin-top: 22px !important;
    }

    body.presentation-page #identity .identity-grid-v22 > article {
        min-height: 0 !important;
        padding: 20px 18px 21px !important;
    }

    body.presentation-page #identity .identity-grid-v22 > article > span {
        width: 36px !important;
        height: 36px !important;
    }

    body.presentation-page #identity .identity-grid-v22 > article > h3 {
        font-size: 21px !important;
    }
}

/* v37: koncowa reguła kontrastu menu po wszystkich starszych warstwach CSS. */
body.presentation-page .site-nav a:hover,
body.presentation-page .site-nav a:focus-visible,
body.presentation-page .site-nav a.is-active {
    border-color: #6f1111 !important;
    background: #8f2925 !important;
    color: #fff8e8 !important;
}
