/*
Theme Name: Diablo II Sector 2026
Theme URI: https://d2sector.net/
Author: Diablo II Sector
Description: Infernal Diablo II block theme for the revived Diablo II Sector: the original 2002–2012 archive restored as pages, with reference tables continued into Diablo II: Resurrected. Based on the D2Sector 5.3 reference theme.
Version: 1.8.0
Requires at least: 7.0
Requires PHP: 8.1
License: GPL-2.0-or-later
Text Domain: d2sector-2026
*/
:root { color-scheme: dark; --d2-ink: #080a0b; --d2-frame: url("assets/images/frame-v2.98bb5ffdfd.webp"); --d2-panel: url("assets/images/panel.5069949036.webp"); }
* { box-sizing: border-box; }
body { margin: 0; background: #07090a url("assets/images/background.f3b5105aa7.webp") center top/1024px auto repeat; color: #e6e0d2; font-family: Georgia,'Times New Roman',serif; font-size: 15px; line-height: 1.45; }
a { color: #dfd2b1; text-decoration: none; text-underline-offset: .2em; }
a:hover { color: #fff2c7; }
h1,h2,h3,h4 { font-family: Georgia,'Times New Roman',serif; color: #e5c789; font-weight: 400; line-height: 1.15; }
img { max-width: 100%; }
figure,p,h1,h2,h3 { margin: 0; }
button,input { font: inherit; }
.wp-site-blocks { padding: 0!important; }
.wp-site-blocks>* { margin-block-start: 0!important; }
html { scroll-behavior: smooth; }
.d2-frame { position: relative; background: #080a0b var(--d2-panel) center/512px auto; }
.d2-panel { background: #080a0b var(--d2-panel) center/512px auto; }
.d2-kicker { font-size: 11px; letter-spacing: .2em; color: #ceb680; line-height: 1.2; text-transform: uppercase; }
.d2-header-art { height: 165px; background: #070a0d url("assets/images/header.9910b9bfbe.webp") center 52%/100% auto no-repeat; position: relative; }
.d2-header-content { width: min(1370px,calc(100% - 40px)); height: 100%; margin: 0 auto; display: flex; align-items: end; justify-content: space-between; gap: 24px; padding-bottom: 17px; }
.d2-brand { width: 46%; height: 100%; position: relative; display: flex; align-items: end; }
.d2-brand-link { position: absolute; margin: 0; font-size: 0!important; z-index: 1; }
.d2-brand-link a { display: block; width: 100%; height: 100%; font-size: 0!important; color: transparent!important; }
.d2-brand-link a:focus-visible { outline: 2px solid #e5c789; }
.d2-tagline { color: #e6d5aa; font-size: 14px; white-space: nowrap; padding-left: 62px; position: relative; z-index: 2; pointer-events: none; text-shadow: 0 2px 4px #000; }
.d2-search { width: 332px; margin: 0!important; }
.d2-search .wp-block-search__inside-wrapper { padding: 0!important; border: 1px solid #686258; background: #0b0e0fe8; height: 34px; box-shadow: inset 0 0 0 2px #171b1e; }
.d2-search .wp-block-search__input { padding: 4px 10px; min-width: 0; background: transparent; border: 0!important; border-radius: 0; color: #d5d4ca; font-size: 14px; }
.d2-search .wp-block-search__button { border: 0; background: transparent; color: #b6b6aa; padding: 3px 8px; margin: 0; width: 36px; }
.d2-search svg { width: 20px; height: 20px; fill: currentColor; }
.d2-nav { height: 55px; display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 8px #000; }
.d2-navigation { margin: 0!important; font-family: Georgia,serif; color: #e6e4d7; }
.d2-navigation .wp-block-navigation__container { width: 100%; display: flex; flex-wrap: nowrap; }
.d2-navigation .wp-block-navigation-item__content { text-transform: uppercase; white-space: nowrap; }
.d2-navigation .current-menu-item { color: #f6d7a4; }
.d2-home-grid { width: min(1370px,calc(100% - 40px)); margin: 18px auto 0!important; display: grid; grid-template-columns: minmax(0,3fr) minmax(270px,1.025fr); gap: 16px; align-items: start; }
.d2-main-column,.d2-sidebar { min-width: 0; }
.d2-hero { overflow: hidden; display: flex; align-items: center; }
.d2-hero .wp-block-cover__background { opacity: 0!important; z-index: -1; }
.d2-hero .wp-block-cover__inner-container { width: 100%; padding: 0!important; color: #f3ebd7; }
.d2-hero-copy { margin: 0!important; }
.d2-hero-title { white-space: nowrap; line-height: 1.1; margin: 8px 0!important; color: #ecd5a2; }
.d2-hero-subtitle { line-height: 1.2; color: #eedfa9; margin: 0 0 11px!important; }
.d2-hero-description { margin: 0 0 14px!important; }
.d2-button .wp-block-button__link { display: inline-block; color: #f2e8d4!important; border-radius: 0; font: 14px/1.2 Georgia,serif; text-transform: uppercase; white-space: nowrap; }
.d2-button .wp-block-button__link:hover { filter: brightness(1.22); }
.wp-block-buttons { gap: 0; margin: 0; }
.d2-card-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; margin: 16px 0!important; }
.d2-card { min-width: 0; height: 244px; overflow: hidden; border-width: 7px; display: flex; align-items: end; }
.d2-card-art { position: absolute; margin: 0!important; }
.d2-card-art img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 45%; }
.d2-card:after { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(0deg,#070909 0%,rgba(7,9,9,.98) 30%,rgba(7,9,9,.14) 56%,transparent 80%); pointer-events: none; }
.d2-card-copy { width: 100%; position: relative; }
.d2-card h2 { margin: 4px 0 7px!important; white-space: nowrap; }
.d2-card h2 a { color: #e9d8ad; }
.d2-card .d2-kicker { font-size: 10px; letter-spacing: .1em; }
.d2-card-description { min-height: 34px; }
.d2-card-arrow { position: absolute; font-size: 28px; color: #d5b56f; line-height: 1; }
.d2-card-arrow a { color: inherit; }
.d2-sidebar { display: grid; gap: 16px; }
.d2-sidebar>.d2-panel { margin: 0!important; }
.d2-panel-title { font-size: 15px!important; text-transform: uppercase; margin: 0!important; border-bottom: 1px solid #514c3c66; line-height: 1.15; }
.d2-panel-title>span { display: inline-block; color: #d9bd85; margin-right: 10px; }
.d2-quick-links { padding: 7px 14px 7px; }
.d2-quick-row a { display: flex; align-items: center; gap: 11px; line-height: 1.3; }
.d2-link-icon { display: inline-flex; justify-content: center; flex: 0 0 23px; line-height: 1; color: #d4b984; }
.d2-link-tail { margin-left: auto; color: #777c70; font-size: 17px; }
.d2-quick-row { margin: 0!important; }
.d2-quick-panel { min-height: 314px; }
.d2-latest-panel { min-height: 241px; }
.d2-latest-panel .wp-block-query { padding: 3px 8px 6px; }
.d2-latest-panel .wp-block-post-template { list-style: none; padding: 0; margin: 0; }
.d2-latest-row { position: relative; display: grid; grid-template-columns: 36px minmax(0,1fr) auto; align-items: center; gap: 8px; min-height: 37px; border-bottom: 1px solid #34393166; }
.d2-latest-thumb { margin: 0!important; min-width: 32px; width: 34px; height: 30px; background: #0c1416 url("assets/images/card-builds.265e5e32c1.webp") center/cover; border: 1px solid #565649; }
.d2-latest-thumb img { width: 100%; height: 100%; object-fit: cover; }
.d2-latest-row h3 { font-size: 12px!important; font-weight: 400; color: #d6d5cb; margin: 0!important; line-height: 1.2; }
.d2-latest-row time,.d2-latest-row .wp-block-post-date { font-size: 11px; color: #959991; white-space: nowrap; }
.d2-latest-panel .wp-block-query-no-results { font-size: 13px; padding: 12px; }
.d2-community .d2-panel-title { position: relative; z-index: 1; }
.d2-community-description { padding: 10px 12px; position: relative; z-index: 1; text-shadow: 0 2px 3px #000; }
.d2-community .wp-block-buttons { margin: 0 12px!important; position: relative; z-index: 1; }
.d2-community:after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg,#080909ee 0%,#08090999 62%,transparent); z-index: 0; pointer-events: none; }
.d2-bottom-panels { display: grid; }
.d2-popular { border-right: 1px solid #514c3c77; padding-bottom: 8px; }
.d2-guide-list { padding: 4px 15px; }
.d2-guide-row { margin: 0!important; border-bottom: 1px solid #363a3266; }
.d2-guide-row a { padding: 7px 0; }
.d2-guide-row span { display: inline-block; width: 22px; color: #d4b984; }
.d2-downloads .wp-block-query { padding: 8px 16px 0; font-size: 13px; }
.d2-download-row { display: flex; align-items: center; gap: 9px; border-bottom: 1px solid #363a3266; }
.d2-download-thumb { width: 34px; flex: 0 0 34px; height: 34px; margin: 0!important; }
.d2-download-copy h3 { font-size: 13px!important; margin: 0!important; }
.d2-download-copy p { font-size: 12px; color: #a5a79d; }
.d2-downloads .wp-block-post-template { padding: 0; margin: 0; list-style: none; }
.d2-downloads .wp-block-buttons { margin: 14px 16px!important; }
.d2-footer { width: min(1370px,calc(100% - 40px)); margin: 22px auto 0!important; padding: 20px 0; text-align: center; color: #929488; border-top: 1px solid #45443a; font-size: 12px; }
.d2-footer a { color: #c4baa0; }
.d2-page-main { width: min(1120px,calc(100% - 40px)); margin: 24px auto!important; }
.d2-page-main .wp-block-post-title { font-size: 34px; margin-bottom: 20px; }
.d2-page-main .wp-block-post-content>*+* { margin-top: 1em; }
.d2-page-main table { border-collapse: collapse; max-width: 100%; }
.d2-page-main td,.d2-page-main th { padding: 8px; border: 1px solid #554f3c; }
.d2-page-main .wp-block-post-content { overflow-wrap: anywhere; }
.d2-page-main .wp-block-post-content img { height: auto; }
.wp-block-navigation__responsive-container.is-menu-open { background: #090c0d url("assets/images/panel.5069949036.webp") center/512px auto!important; color: #e7d8b5!important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { flex-wrap: wrap!important; gap: 8px; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { padding: 10px; }
.wp-block-navigation__responsive-container-open,.wp-block-navigation__responsive-container-close { color: #e2d2ac; }
.d2-home-grid :focus-visible,.d2-nav :focus-visible,.d2-header-art :focus-visible { outline: 2px solid #e4c67e; outline-offset: 3px; }
.d2-home-legacy .d2-hero { background-image: url("assets/images/hero.66998bdfc2.webp"); }
.editor-styles-wrapper { background: #07090a url("assets/images/background.f3b5105aa7.webp") center/1024px auto; color: #e6e0d2; }
.editor-styles-wrapper .d2-home-grid { width: 100%; }
.editor-styles-wrapper .d2-header-art { background-image: url("assets/images/header.9910b9bfbe.webp"); }
.editor-styles-wrapper .wp-block { max-width: none; }
@media(min-width:1900px) {
.d2-header-art { background-size: 1536px auto; background-color: #090b0c; }
}
@media(max-width:1180px) {
.d2-hero-copy { padding: 28px 30px; max-width: 450px; }
.d2-hero-title { font-size: 27px!important; }
.d2-home-grid { grid-template-columns: minmax(0,2.8fr) minmax(250px,1fr); }
.d2-card-grid { gap: 9px; }
.d2-card h2 { font-size: 17px; }
.d2-card-description { font-size: 12px; }
.d2-tagline { padding-left: 15px; font-size: 12px; }
.d2-navigation .wp-block-navigation-item__content { padding: 12px 10px; }
.d2-latest-row { grid-template-columns: 32px 1fr; }
.d2-latest-row .wp-block-post-date { grid-column: 2; margin-top: -6px; padding-bottom: 3px; }
.d2-hero-subtitle { font-size: 13px; letter-spacing: .17em; }
}
@media(max-width:960px) {
.d2-home-grid { grid-template-columns: 1fr; }
.d2-sidebar { grid-template-columns: 1fr 1fr; }
.d2-community { grid-column: 1/-1; }
.d2-quick-panel,.d2-latest-panel { min-height: 0; }
.d2-header-art { height: 145px; background-size: auto 440px; }
.d2-tagline { padding-left: 0; }
.d2-search { width: 270px; }
.d2-card-grid { gap: 12px; }
.d2-card h2 { font-size: 20px; }
.d2-card-description { font-size: 13px; }
.d2-hero-title { font-size: 32px!important; }
.d2-navigation { width: calc(100% - 70px); font-size: 12px; }
.d2-navigation .wp-block-navigation-item__content { padding: 10px 6px; }
}
@media(max-width:700px) {
.d2-header-art { height: 172px; background-size: auto 330px; background-position: 42% 37%; }
.d2-header-content { width: calc(100% - 28px); display: block; padding-bottom: 12px; }
.d2-brand { height: 125px; width: 100%; }
.d2-tagline { font-size: 10px; white-space: normal; padding: 0 0 7px; text-shadow: 0 2px 4px #000; }
.d2-brand-link { inset: 0 15% 20px 0; }
.d2-search { width: 100%; }
.d2-search .wp-block-search__inside-wrapper { height: 29px; }
.d2-nav { height: 45px; }
.d2-navigation { width: calc(100% - 35px); }
.d2-home-grid { width: calc(100% - 24px); margin-top: 12px!important; gap: 12px; }
.d2-hero { height: 280px; min-height: 280px!important; }
.d2-hero .wp-block-cover__image-background { object-position: 65% center; }
.d2-hero-copy { padding: 30px 15px; max-width: 330px; background: linear-gradient(90deg,#070909cc,#07090930); }
.d2-hero-title { font-size: 25px!important; white-space: normal; max-width: 260px; }
.d2-hero-subtitle { font-size: 11px; letter-spacing: .14em; max-width: 260px; }
.d2-hero-description { font-size: 13px; }
.d2-card-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin: 12px 0!important; }
.d2-card { height: 236px; }
.d2-card-copy { padding-inline: 9px; }
.d2-card h2 { font-size: 17px; }
.d2-card-description { font-size: 12px; }
.d2-card .d2-kicker { font-size: 9px; }
.d2-sidebar { grid-template-columns: 1fr; gap: 12px; }
.d2-community { grid-column: auto; }
.d2-bottom-panels { grid-template-columns: 1fr; }
.d2-popular { border-right: 0; border-bottom: 1px solid #514c3c77; }
.d2-latest-row { grid-template-columns: 36px minmax(0,1fr) auto; }
.d2-latest-row .wp-block-post-date { grid-column: auto; margin: 0; padding: 0; }
.d2-quick-links { display: grid; grid-template-columns: 1fr 1fr; column-gap: 16px; }
.d2-quick-row a { font-size: 12px; gap: 6px; }
.d2-link-icon { font-size: 18px; width: 18px; flex-basis: 18px; }
.d2-footer,.d2-page-main { width: calc(100% - 24px); }
}
@media(prefers-reduced-motion:reduce) {
html { scroll-behavior: auto; }
* { transition: none!important; }
}
.d2-download-copy { flex: 1; min-width: 0; }
.d2-download-action { flex: 0 0 auto; background: #141614 url("assets/images/panel.5069949036.webp") center/512px auto; color: #e6d8b5; font-size: 10px; line-height: 1; border: 1px solid #5b594b; padding: 6px 10px; text-transform: uppercase; box-shadow: inset 0 0 0 2px #090c0c; }
.d2-download-action:hover { border-color: #c3a366; }
body { background-position: center top; }
.d2-hero { height: 268px; min-height: 268px!important; background-image: url("assets/images/hero.66998bdfc2.webp"); }
.d2-card-art img { filter: brightness(.9) saturate(.86); }
.d2-quick-row a { padding: 4px 0; }
.d2-community { background-repeat: no-repeat,repeat,repeat; }
.d2-downloads .wp-block-post-template>li,.d2-latest-panel .wp-block-post-template>li { margin: 0!important; }
.d2-download-copy .wp-block-post-excerpt { line-height: 1.2; }
.d2-download-row { min-height: 38px; padding: 5px 0; }
.d2-downloads .wp-block-query { padding-top: 4px; }
.d2-bottom-panels { min-height: 224px; }
@media(max-width:700px) {
.d2-hero { height: 280px; min-height: 280px!important; }
.d2-hero-copy { transform: none; }
}
.d2-brand-link { inset: 0 auto auto 62px; width: 465px; height: 133px; }
.d2-brand-link a { background: url("assets/images/wordmark.4b2ae58914.webp") center/100% auto no-repeat; }
.d2-brand-link a:focus-visible { outline-offset: -4px; }
@media(max-width:1180px) {
.d2-brand-link { left: 15px; width: 410px; height: 127px; }
}
@media(max-width:960px) {
.d2-brand-link { left: 0; width: 390px; height: 115px; }
}
@media(max-width:700px) {
.d2-brand-link { left: 0; top: 0; width: min(100%,360px); height: 107px; }
.d2-brand-link a { background-size: 100% auto; }
.d2-header-art { background-position: 55% 42%; }
.d2-brand { height: 125px; }
}
body { background-color: #060809; }
.d2-hero-controls { position: absolute; pointer-events: none; }
.d2-arrow { pointer-events: auto; position: absolute; top: 50%; transform: translateY(-50%); border: 0; padding: 0; width: 30px; height: 38px; font: 38px/1 Georgia,serif; cursor: pointer; }
.d2-prev { left: 0; }
.d2-next { right: 0; }
.d2-dots { position: absolute; display: flex; pointer-events: auto; }
.d2-dot { border: 1px solid #848986; border-radius: 50%; padding: 0; box-shadow: 0 1px 3px #000; cursor: pointer; }
.d2-dot:focus-visible { outline-offset: 4px; }
@media(max-width:700px) {
.d2-arrow { display: none; }
.d2-dots { bottom: 9px; gap: 10px; }
.d2-dot { width: 12px; height: 12px; }
}
.d2-frame { border: 0; border-image: none; padding: 6px; background-clip: padding-box; isolation: isolate; }
.d2-frame::before { content: ""; position: absolute; inset: 0; z-index: 10; border: 16px solid transparent; border-image: url("assets/images/frame-v2.98bb5ffdfd.webp") 48 / 16px / 0 stretch; pointer-events: none; }
.d2-hero { padding: 6px!important; }
.d2-hero .wp-block-cover__image-background { inset: 6px; width: calc(100% - 12px); height: calc(100% - 12px); z-index: 0; object-fit: cover; }
.d2-hero .wp-block-cover__inner-container { z-index: 2; }
.d2-hero-copy { padding: 30px 66px; }
.d2-hero-controls { inset: 6px; z-index: 4; }
.d2-card { padding: 0!important; border: 0; }
.d2-card-art { inset: 6px 6px auto; width: calc(100% - 12px); height: 145px; z-index: 0; overflow: hidden; }
.d2-card::after { inset: 6px; z-index: 1; }
.d2-card-copy { z-index: 2; padding: 0 20px 17px; }
.d2-card-description,.d2-community-description,.d2-download-copy .wp-block-post-excerpt { font-family: Georgia,'Times New Roman',serif; }
.d2-card-arrow { right: 15px; bottom: 26px; }
.d2-bottom-panels { grid-template-columns: 1fr 2fr; padding: 6px; }
.d2-guide-row a { position: relative; padding-right: 18px; }
.d2-guide-row a::after { content: "›"; position: absolute; right: 0; color: #98998b; font-size: 18px; }
.d2-community { min-height: 176px; padding-bottom: 16px; }
.d2-community-description { padding-top: 10px; padding-bottom: 16px; }
.d2-button .wp-block-button__link { border: 1px solid #a05430; font-size: 14px; padding: 11px 26px!important; }
.d2-community .d2-button .wp-block-button__link { padding: 12px 24px!important; }
.d2-small-button .wp-block-button__link { padding: 9px 16px!important; font-size: 11px; }
.d2-header-art { background-size: cover; background-color: #090b0c; }
body { background-size: auto,768px auto; background-repeat: repeat; }
.d2-nav { background: #090c0d var(--d2-panel) center/512px auto; position: relative; }
.d2-nav::before { content: ""; position: absolute; pointer-events: none; border: 55px solid transparent; border-top-width: 0; border-bottom-width: 0; border-image: url("assets/images/navigation-v2.ef9def0617.webp") 0 60 fill / 0 60px stretch; z-index: 0; }
.d2-navigation { position: relative; z-index: 1; }
.d2-navigation .d2-menu-current { border: 0; }
.d2-navigation .current-menu-item,.d2-navigation .wp-block-navigation-item:has(a[aria-current="page"]) { background: linear-gradient(#63140a,#320805); box-shadow: inset 0 0 12px #bb301a66; border-inline: 1px solid #863a20; }
@media(max-width:700px) {
.d2-hero-copy { padding: 24px 17px; max-width: 330px; }
.d2-card-copy { padding: 0 14px 16px; }
.d2-bottom-panels { grid-template-columns: 1fr; }
.d2-community { min-height: 176px; }
.d2-nav::before { border-image-width: 0 34px; }
}
.d2-frame::before { border-image-slice: 100; }
.d2-nav { border-block: 0; }
.d2-nav::before { inset: -15px 20px; max-width: 1370px; margin-inline: auto; border-image-slice: 0 260 fill; border-image-width: 0 140px; }
.d2-latest-panel:not(:has(.wp-block-post-template>li:nth-child(2))) { min-height: 0; padding-bottom: 12px; }
@media(max-width:700px) {
.d2-nav::before { inset: -10px 0; border-image-width: 0 108px; }
}
.d2-hero .wp-block-cover__inner-container { position: static!important; }
.d2-hero-copy { position: relative; z-index: 2; }
.d2-link-icon { font-size: 0; width: 23px; height: 23px; background: currentColor; mask: var(--icon) center/contain no-repeat; }
.d2-quick-row:nth-child(1) .d2-link-icon { --icon: url("assets/icons/download.5d030fb076.svg"); }
.d2-quick-row:nth-child(2) .d2-link-icon { --icon: url("assets/icons/guide.40fe622d1f.svg"); }
.d2-quick-row:nth-child(3) .d2-link-icon { --icon: url("assets/icons/rune.7870bbaf31.svg"); }
.d2-quick-row:nth-child(4) .d2-link-icon { --icon: url("assets/icons/items.bb5b975855.svg"); }
.d2-quick-row:nth-child(5) .d2-link-icon { --icon: url("assets/icons/runewords.c0de644636.svg"); }
.d2-quick-row:nth-child(6) .d2-link-icon { --icon: url("assets/icons/walkthrough.2f235448e9.svg"); }
.d2-quick-row:nth-child(7) .d2-link-icon { --icon: url("assets/icons/builds.53cf0290b5.svg"); }
.d2-quick-row:nth-child(8) .d2-link-icon { --icon: url("assets/icons/faq.7ba24f258b.svg"); }
.d2-panel-title>span { font-size: 0; width: 21px; height: 21px; background: currentColor; mask: var(--icon) center/contain no-repeat; }
.d2-popular .d2-panel-title>span { --icon: url("assets/icons/guide.40fe622d1f.svg"); }
.d2-downloads .d2-panel-title>span { --icon: url("assets/icons/download.5d030fb076.svg"); }
.d2-quick-panel .d2-panel-title>span { --icon: url("assets/icons/guide.40fe622d1f.svg"); }
.d2-latest-panel .d2-panel-title>span { --icon: url("assets/icons/news.ca36c44399.svg"); }
.d2-community .d2-panel-title>span { --icon: url("assets/icons/community.1ce4a6f58c.svg"); }
@media(max-width:700px) {
.d2-hero-copy { transform: none; }
}
.d2-navigation .d2-menu-current { background: linear-gradient(#63140a,#320805); box-shadow: inset 0 0 12px #bb301a66; border-inline: 1px solid #863a20; }
.d2-panel-title { display: flex; align-items: center; gap: 10px; min-height: 36px; padding: 5px 12px 9px; }
.d2-panel-title>span { flex: 0 0 21px; margin: 0; vertical-align: initial; line-height: 0; }
.d2-navigation { width: min(1120px,calc(100% - 180px)); font-size: 14px; }
.d2-navigation .wp-block-navigation__container { align-items: stretch; justify-content: center; gap: 0; }
.d2-navigation .wp-block-navigation__container>.wp-block-navigation-item { flex: 1 1 0; min-width: 0; position: relative; margin: 0; height: 38px; border: 0; border-right: 1px solid #333936; background: linear-gradient(#252a2766,#050808a8),var(--d2-panel) center/360px auto; box-shadow: inset 0 1px #73786a38,inset 0 -1px #080b0b,inset 1px 0 #969b7a12; }
.d2-navigation .wp-block-navigation__container>.d2-menu-wide { flex-grow: 1.45; }
.d2-navigation .wp-block-navigation-item__content { display: flex; align-items: center; justify-content: center; width: 100%; height: 100%; padding: 0 10px; color: #e0dfd2; font-weight: 400; text-shadow: 0 1px 2px #000; transition: color .18s,box-shadow .18s,background-color .18s; }
.d2-navigation .wp-block-navigation-item__content:hover,.d2-navigation .wp-block-navigation-item__content:focus-visible { color: #fff0c7; background: #701c124a; box-shadow: inset 0 -2px #b760354d,inset 0 0 15px #75140755; }
.d2-navigation .wp-block-navigation-item__content:focus-visible { outline: 1px solid #dbba75; outline-offset: -3px; }
.d2-navigation .wp-block-navigation__container>.d2-menu-current,
.d2-navigation .wp-block-navigation__container>.current-menu-item,
.d2-navigation .wp-block-navigation__container>.wp-block-navigation-item:has(a[aria-current="page"]) { border: 1px solid #8f4328; background: radial-gradient(ellipse at 50% 110%,#e14b1d85,transparent 62%),linear-gradient(#6c160cc4,#300806e6),var(--d2-panel) center/360px auto; box-shadow: inset 0 1px #e49b5855,inset 0 -2px #f17b36b3,inset 0 0 12px #b324125c,0 0 7px #8c23092e; }
.d2-navigation .d2-menu-current .wp-block-navigation-item__content,
.d2-navigation .current-menu-item .wp-block-navigation-item__content,
.d2-navigation a[aria-current="page"] { color: #fff0cc; }
@media(min-width:961px) and (max-width:1180px) {
.d2-navigation { width: calc(100% - 160px); font-size: 12px; }
.d2-navigation .wp-block-navigation-item__content { padding-inline: 7px; }
}
@media(max-width:960px) {
.d2-navigation { width: calc(100% - 35px); }
.d2-navigation .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none!important; }
.d2-navigation .wp-block-navigation__responsive-container-open { display: flex!important; margin: auto; }
.d2-navigation .is-menu-open .wp-block-navigation__container { width: min(420px,calc(100vw - 48px)); display: flex; flex-direction: column; gap: 8px!important; }
.d2-navigation .is-menu-open .wp-block-navigation__container>.wp-block-navigation-item { width: 100%; height: auto; min-height: 44px; flex: none; }
.d2-navigation .is-menu-open .wp-block-navigation-item__content { min-height: 44px; padding: 10px 18px; width: 100%; font-size: 15px; }
}
@font-face { font-family: D2Cardo; src: url("assets/fonts/cardo_normal_400.aa8042a775.woff2") format("woff2"); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: D2Cardo; src: url("assets/fonts/cardo_normal_700.bca42f8b5a.woff2") format("woff2"); font-style: normal; font-weight: 700; font-display: swap; }
@font-face { font-family: D2Cardo; src: url("assets/fonts/cardo_italic_400.c3b2ff62e3.woff2") format("woff2"); font-style: italic; font-weight: 400; font-display: swap; }
:root { --d2-metal-filter: saturate(.48) brightness(.70); --d2-copy: #d8d6cd; --d2-gold: #c5ae7c; }
body,h1,h2,h3,h4,button,input,.d2-navigation,.d2-button .wp-block-button__link,.d2-card-description,.d2-community-description,.d2-download-copy .wp-block-post-excerpt { font-family: D2Cardo,Georgia,serif; }
.d2-frame::before { filter: var(--d2-metal-filter) drop-shadow(0 1px 1px #000); border-image-width: 20px; }
.d2-frame { box-shadow: 0 0 0 1px #030404,inset 0 0 18px #000b,0 4px 12px #0009; }
.d2-nav::before { filter: saturate(.40) brightness(.76); }
body { background-image: linear-gradient(#05090dc4,#05090dc4),url("assets/images/background-v2.9f5a0be08c.webp"); }
.d2-frame,.d2-panel { background-image: linear-gradient(#080b0b9c,#080b0bb5),var(--d2-panel); }
.d2-hero { background: #100805!important; }
.d2-hero::after { content: ""; position: absolute; inset: 6px; background: linear-gradient(90deg,#090706b8 0%,#09070685 35%,#0907061a 64%,transparent 80%); pointer-events: none; z-index: 1; }
.d2-hero-title { font-size: 34px!important; letter-spacing: .025em; font-weight: 400; }
.d2-hero-subtitle { font-size: 16px; letter-spacing: .24em; }
.d2-hero-description { font-size: 16px; line-height: 1.3; letter-spacing: .02em; color: #e6e1d5; }
.d2-hero-copy { max-width: 590px; text-shadow: 0 1px 3px #000; transform: translateY(12px); }
.d2-arrow { background: transparent; color: #e8d4a3; text-shadow: 0 2px 2px #000,1px 0 #000,-1px 0 #000; font-family: D2Cardo,serif; }
.d2-dots { gap: 10px; right: 14px; bottom: 11px; }
.d2-dot { width: 9px; height: 9px; background: radial-gradient(circle at 35% 30%,#82827a,#313432); border-color: #76786c; }
.d2-dot.is-active { background: radial-gradient(circle at 35% 30%,#f55232,#9d1e0b); border-color: #b14e2d; }
.d2-card-description { font-size: 14px; line-height: 1.25; color: var(--d2-copy); }
.d2-card h2 { font-size: 21px; font-weight: 400; }
.d2-card-runes .d2-card-art img { object-position: center 54%; }
.d2-card-builds .d2-card-art img { object-position: center 40%; }
.d2-card-acts .d2-card-art img { object-position: center 43%; }
.d2-card-items .d2-card-art img { object-position: 58% 43%; }
.d2-panel-title { color: #d1ba87; font-weight: 400; letter-spacing: .015em; }
.d2-link-icon,.d2-panel-title>span { color: #c6b58b; }
.d2-quick-row a { font-size: 14px; color: #d9d9d0; }
.d2-community { background-image: url("assets/images/community.61e2b476e2.webp"),linear-gradient(#080b0b9c,#080b0bb5),var(--d2-panel); background-size: auto 110%,auto,512px auto; background-position: right -4px bottom,center,center; }
.d2-community::after { background: linear-gradient(90deg,#080909e8,#08090977 65%,transparent); }
.d2-community-description { font-size: 14px; line-height: 1.25; max-width: 280px; color: var(--d2-copy); }
.d2-guide-row { font-size: 14px; }
.d2-button .wp-block-button__link { background: radial-gradient(ellipse at 50% 110%,#a8260a66,transparent 75%),linear-gradient(#7d170bbf,#390704dc),var(--d2-panel) center/240px auto!important; border-color: #8b4830; box-shadow: inset 0 0 0 2px #260907,inset 0 0 0 3px #77583c,0 1px 4px #000a; font-weight: 400; letter-spacing: .04em; }
.d2-page-main { position: relative; isolation: isolate; border: 0; padding: 32px!important; background: #080b0b var(--d2-panel) center/512px auto; box-shadow: inset 0 0 30px #000b; }
.d2-page-main::before { content: ""; position: absolute; inset: 0; border: 20px solid transparent; border-image: var(--d2-frame) 100 / 20px stretch; filter: var(--d2-metal-filter); pointer-events: none; z-index: 3; }
.d2-page-main .wp-block-post-content { font-size: 17px; line-height: 1.6; color: var(--d2-copy); }
.d2-page-main .wp-block-post-content table { font-size: 14px; display: block; overflow-x: auto; }
.d2-header-content { position: relative; z-index: 1; }
@media(min-width:1537px) {
.d2-header-art::before { content: ""; position: absolute; inset: 0; background: url("assets/images/header.9910b9bfbe.webp") center 52%/1536px auto no-repeat; mask-image: linear-gradient(90deg,transparent,black 18%,black 82%,transparent); }
}
@media(max-width:700px) {
.d2-hero-copy { transform: none; padding: 24px 17px; max-width: 340px; }
.d2-hero-title { font-size: 25px!important; letter-spacing: .01em; }
.d2-hero-subtitle { font-size: 11px; letter-spacing: .14em; }
.d2-hero-description { font-size: 14px; }
.d2-card h2 { font-size: 18px; }
.d2-card-description { font-size: 13px; }
.d2-page-main { padding: 24px!important; }
}
.d2-guide-icon { font-size: 0!important; width: 16px!important; height: 16px; vertical-align: -3px; margin-right: 6px; background: currentColor; mask: var(--icon) center/contain no-repeat; }
.d2-guide-icon-guide { --icon: url("assets/icons/guide.40fe622d1f.svg"); }
.d2-guide-icon-builds { --icon: url("assets/icons/builds.53cf0290b5.svg"); }
.d2-guide-icon-rune { --icon: url("assets/icons/rune.7870bbaf31.svg"); }
.d2-guide-icon-items { --icon: url("assets/icons/items.bb5b975855.svg"); }
.d2-guide-icon-walkthrough { --icon: url("assets/icons/walkthrough.2f235448e9.svg"); }
.d2-download-action { white-space: nowrap; }
.d2-navigation .d2-menu-current .wp-block-navigation-item__content { color: #fff0cc; }
.d2-guide-row a { display: flex; align-items: center; gap: 7px; min-height: 33px; }
.d2-guide-row .d2-guide-icon { display: block; flex: 0 0 16px; line-height: 0; margin-right: 0; }
.d2-guide-row a::after { top: 50%; transform: translateY(-50%); }
.d2-archive-note { font-size: .85em; color: #aaa899; border-top: 1px solid #514a36; padding-top: 12px; }

.d2-original-index { margin-top: 28px; padding-top: 20px; border-top: 1px solid #514a36; }
.d2-original-index h2 { font-size: 24px; margin-bottom: 12px; }
.d2-original-index ul { columns: 2; padding-left: 22px; }
.d2-original-index li { break-inside: avoid; padding: 4px 0; }
@media(max-width:700px) { .d2-original-index ul { columns: 1; } }

.d2-page-main { background-image: linear-gradient(#080b0b9c,#080b0bb5),var(--d2-panel); }

/* Page directories and live community feed. */
.d2-section-links { columns:2; padding-left:24px; margin-top:20px; }
.d2-section-links li { padding:8px 12px 8px 0; break-inside:avoid; }
.d2-forum-list { list-style:none; margin:0; padding:0 12px; }
.d2-forum-list li { padding:12px 0; border-bottom:1px solid #514c3c66; }
.d2-forum-list a { display:block; font-size:14px; line-height:1.35; }
.d2-forum-list small { display:block; color:#aaa899; margin-top:7px; font-size:11px; }
.d2-forum-more,.d2-forum-empty { padding:12px; font-size:13px; }
.d2-unavailable-link { color:inherit; cursor:default; border-bottom:1px dotted #756b56; }
.d2-page-main img { max-width:100%; height:auto; }
@media(max-width:700px) { .d2-section-links { columns:1; } }

/* Balanced homepage sidebar: live forum posts above the community panel. */
.d2-sidebar { align-self:stretch; grid-template-rows:minmax(0,1fr) auto; }
.d2-sidebar .d2-forum-panel { display:flex; flex-direction:column; }
.d2-sidebar .d2-forum-list { flex:1; display:grid; grid-template-rows:repeat(5,minmax(min-content,1fr)); }
.d2-forum-list li { display:flex; flex-direction:column; justify-content:center; }
.d2-forum-category { display:block; color:#aaa084; font-size:11px; line-height:1.3; margin-bottom:5px; }
@media(max-width:960px) { .d2-sidebar { align-self:start; grid-template-columns:minmax(0,1fr); grid-template-rows:auto auto; } .d2-sidebar .d2-forum-list { display:block; } }
@media(min-width:961px) { .d2-main-column { align-self:stretch; display:flex; flex-direction:column; } .d2-main-column>.d2-bottom-panels { flex:1; } }

/* Diablo II Sector 2026: editor's notes and runeword tables */
.d2-editor-note { background:#16130dcc; border:1px solid #6d5a33; border-left:4px solid #d3ad68; padding:12px 16px; color:#e8dfcf; margin-bottom:1.4em!important; }
.d2-editor-note strong { color:#e5c789; font-weight:400; }
.d2-editor-note a { color:#e5c789; text-decoration:underline; }
.d2-section-links + h3, .wp-block-post-content h3 { color:#d9bd85; margin-top:1.2em; }
.d2-rw-wrap { margin:1.4em 0; }
.d2-page-main table.d2-rw-table { width:100%; border-collapse:collapse; background:#0b0d0dcc; }
.d2-rw-table thead th { font-weight:400; text-align:left; text-transform:uppercase; letter-spacing:.12em; font-size:12px; color:#ceb680; background:#15140f; }
.d2-rw-table tbody th { text-align:left; vertical-align:top; font-weight:400; width:19%; }
.d2-rw-table td { vertical-align:top; }
.d2-rw-table td:nth-child(2) { width:27%; }
.d2-rw-name { display:block; font-family:D2Cardo,Georgia,serif; font-size:19px; color:#c7b377; }
.d2-rw-level { display:block; font-size:12px; color:#a5a79d; margin-top:4px; }
.d2-rw-base { color:#e6e0d2; }
.d2-rw-sockets { color:#a5a79d; font-size:13px; }
.d2-rw-runes { display:block; margin-top:8px; color:#e5c789; letter-spacing:.04em; }
.d2-rw-stats { list-style:none; margin:0; padding:0; color:#8d9bd4; }
.d2-rw-stats li { padding:1px 0; }
.d2-rw-meta { font-size:12px; color:#a5a79d; margin-top:8px!important; }
.d2-rw-checked, .d2-rw-footnote { font-size:13px; color:#a5a79d; }
.d2-rw-table tbody tr:target th, .d2-rw-table tbody tr:target td { background:#1d1a12; }
.d2-rw-placeholder { border:1px dashed #6d5a33; padding:16px; }
@media(max-width:700px) {
.d2-page-main table.d2-rw-table, .d2-rw-table tbody, .d2-rw-table tr, .d2-rw-table th, .d2-rw-table td { display:block; width:100%!important; }
.d2-rw-table thead { display:none; }
.d2-rw-table tr { border:1px solid #554f3c; margin-bottom:12px; }
.d2-page-main .d2-rw-table td, .d2-page-main .d2-rw-table th { border:0; border-top:1px solid #554f3c55; }
.d2-page-main .d2-rw-table tbody th { border-top:0; }
}
.d2-rw-variant { color:#ceb680; font-size:12px; letter-spacing:.12em; text-transform:uppercase; margin:10px 0 4px!important; }
.d2-rw-variant:first-child { margin-top:0!important; }
.d2-rw-nav { margin-top:1.4em!important; }
.d2-archive-shot { display:block; max-width:100%; height:auto; margin:10px 0 14px; border:1px solid #554f3c; box-shadow:0 2px 8px #000; }
.d2-rw-shot { display:block; max-width:min(100%,460px); height:auto; margin-top:12px; border:1px solid #554f3c; box-shadow:0 2px 8px #000; }

/* Runeword pages: core Table block with class d2-rw-table (editable in the block editor) */
.wp-block-table.d2-rw-table { margin:1.4em 0; overflow-x:visible; }
.d2-rw-table table { width:100%; border-collapse:collapse; background:#0b0d0dcc; }
.d2-rw-table thead { border-bottom:1px solid #554f3c; }
.d2-rw-table thead th { font-weight:400; text-align:left; text-transform:uppercase; letter-spacing:.12em; font-size:12px; color:#ceb680; background:#15140f; }
.d2-rw-table thead th:nth-child(1) { width:19%; }
.d2-rw-table thead th:nth-child(2) { width:27%; }
.d2-rw-table td { vertical-align:top; padding:10px 12px; }
.d2-rw-table td:first-child strong { font-family:D2Cardo,Georgia,serif; font-size:19px; font-weight:400; color:#c7b377; }
.d2-rw-table td em { font-style:normal; font-size:12px; color:#a5a79d; }
.d2-rw-table td:nth-child(2) { color:#e6e0d2; }
.d2-rw-table td:nth-child(2) em { font-size:13px; }
.d2-rw-table td:nth-child(2) strong { font-weight:400; color:#e5c789; letter-spacing:.04em; line-height:2.2; }
.d2-rw-table td:nth-child(3) { color:#8d9bd4; line-height:1.7; }
.d2-rw-table td:nth-child(3) strong { font-weight:400; color:#ceb680; font-size:12px; letter-spacing:.12em; text-transform:uppercase; }
.d2-rw-table td img { display:block; max-width:min(100%,460px)!important; height:auto!important; margin:10px 0; border:1px solid #554f3c; box-shadow:0 2px 8px #000; }
@media(max-width:700px) {
.d2-rw-table table, .d2-rw-table tbody, .d2-rw-table tr, .d2-rw-table td { display:block; width:100%!important; }
.d2-rw-table thead { display:none; }
.d2-rw-table tr { border:1px solid #554f3c; margin-bottom:12px; }
.d2-page-main .d2-rw-table td { border:0; border-top:1px solid #554f3c55; }
.d2-page-main .d2-rw-table td:first-child { border-top:0; }
}

/* Forum posts: core RSS block (feed address editable in the block) */
.d2-forum-rss.wp-block-rss { list-style:none; margin:0; padding:0 12px; }
.d2-sidebar .d2-forum-panel .d2-forum-rss { flex:1; }
.d2-forum-rss .wp-block-rss__item { padding:12px 0; border-bottom:1px solid #514c3c66; }
.d2-forum-rss .wp-block-rss__item-title a { display:block; font-size:14px; line-height:1.35; }
.d2-forum-rss .wp-block-rss__item-publish-date, .d2-forum-rss .wp-block-rss__item-author { color:#aaa899; font-size:11px; margin-top:7px; display:inline-block; }
.d2-page-main .d2-forum-rss { padding:0; }
.d2-downloads-text { padding:8px 16px 0; font-size:13px; }
.wp-block-post-content > .d2-home-grid { margin-top:18px; }
.d2-feed-debug { display:block; margin-top:8px; color:#c9a46a; font-size:11px; }

/* Rune List: same table layout, four columns, small rune icons */
.d2-rune-table thead th:nth-child(1) { width:22%; }
.d2-rune-table thead th:nth-child(2), .d2-rune-table thead th:nth-child(3), .d2-rune-table thead th:nth-child(4) { width:26%; }
.d2-rune-table td:nth-child(n+2) { color:#8d9bd4; line-height:1.7; }
.d2-rune-table td img { display:inline-block; max-width:none!important; width:auto; border:0; box-shadow:none; margin:0 0 6px; image-rendering:pixelated; }

/* Archive tables converted from the original pages (core Table blocks) */
.wp-block-table.d2-archive-table { margin:1.4em 0; overflow-x:auto; }
.d2-archive-table table { border-collapse:collapse; background:#0b0d0dcc; width:100%; }
.d2-archive-table thead { border-bottom:1px solid #554f3c; }
.d2-archive-table thead th { font-weight:400; text-align:left; text-transform:uppercase; letter-spacing:.1em; font-size:12px; color:#ceb680; background:#15140f; }
.d2-archive-table td { vertical-align:top; padding:8px 10px; color:#e6e0d2; }
.d2-gem-table thead th:nth-child(1) { width:19%; }
.d2-gem-table td:nth-child(n+2), .d2-item-table td:nth-child(2) { color:#8d9bd4; line-height:1.7; }
.d2-item-table td:nth-child(2) { color:#c9c4b6; }
.wp-block-post-content .wp-block-image img { height:auto; max-width:100%; }

/* Table blocks: undo the legacy 'table { display:block }' scroll trick, which shrinks rows.
   The block's figure wrapper scrolls instead. Runeword/rune/item tables still stack on phones. */
.d2-page-main .wp-block-post-content .wp-block-table table { display:table; }
.d2-page-main .wp-block-post-content .wp-block-table { overflow-x:auto; }
@media(max-width:700px) {
.d2-page-main .wp-block-post-content .d2-rw-table table { display:block; }
}
.d2-builds-table td:first-child strong { font-family:D2Cardo,Georgia,serif; font-size:17px; font-weight:400; color:#c7b377; }
.d2-builds-table td { font-size:16px; vertical-align:middle; }
