@font-face{font-family:Exocet;src:url('/css/exocet-blizzard-light.ttf') format('truetype');font-display:swap}
:root{--db-bg:#121416;--db-panel:#1a1d21;--db-panel-2:#22262b;--db-border:#4c4433;--db-gold:#c7b377;--db-text:#e5e2de;--db-muted:#aaa59d;--db-link:#e0c97f;--db-good:#79b87a;--db-bad:#b96c64;--db-blue:#779bc9;--db-set:#39d139;--db-unique:#c7b377;--db-crafted:#ff8c2a}

/* Database ad inventory mirrors the desktop rails, mobile banner, and video unit used by DClone and Ladder. */
.db-ad-layout{display:grid;grid-template-columns:minmax(160px,1fr) minmax(0,4fr) minmax(160px,1fr);align-items:start;width:100%;max-width:2160px;margin:0 auto}.db-ad-layout>.db-shell{width:100%;margin-right:0;margin-left:0}.db-ad-rail{display:flex;box-sizing:border-box;min-width:0;min-height:600px;justify-content:center;padding-top:42px}.db-ad-mobile{display:none;box-sizing:border-box;width:min(100%,320px);min-height:100px;margin:0 auto 24px}.db-ad-video{box-sizing:border-box;width:360px;max-width:100%;height:207px;margin:32px auto 0}html.d2emu-subscriber .db-ad-rail{visibility:hidden!important}html.d2emu-subscriber .db-ad-mobile,html.d2emu-subscriber .db-ad-video{display:none!important}
@media(max-width:1280px){.db-ad-layout{display:block}.db-ad-rail{display:none!important}.db-ad-mobile{display:block}}

/* Category-aware catalog controls and persistent detail-page navigation. */
.db-body .db-controls{grid-template-columns:minmax(240px,2fr) repeat(auto-fit,minmax(145px,1fr))}.db-controls .db-button{align-self:end}
.db-detail-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:22px}.db-detail-toolbar .db-breadcrumb{margin:0}.db-detail-toolbar-actions,.db-global-search{display:flex;align-items:center;gap:8px}.db-back-to-results{color:var(--db-link);font-size:1.032rem;text-decoration:none;white-space:nowrap}.db-back-to-results:hover,.db-back-to-results:focus-visible{text-decoration:underline}.db-global-search input{box-sizing:border-box;width:min(230px,28vw);height:38px;padding:0 10px;border:1px solid #5a5345;border-radius:5px;background:#101214;color:var(--db-text)}.db-global-search button{height:38px;padding:0 12px;border:1px solid var(--db-gold);border-radius:5px;background:#3a3222;color:#f2e6c0;cursor:pointer}.db-global-search input:focus,.db-global-search button:focus-visible{outline:2px solid var(--db-gold);outline-offset:1px}.db-visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:850px){.db-detail-toolbar{align-items:flex-start;flex-direction:column}.db-detail-toolbar-actions{width:100%;justify-content:space-between}.db-global-search{flex:1;justify-content:flex-end}.db-global-search input{width:min(100%,260px)}}
@media(max-width:560px){.db-detail-toolbar-actions{align-items:stretch;flex-direction:column}.db-global-search{width:100%}.db-global-search input{flex:1;width:100%}}
@media(max-width:1150px){.db-body .db-controls{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.db-body .db-controls{grid-template-columns:1fr 1fr}}
@media(max-width:420px){.db-body .db-controls{grid-template-columns:1fr}}
.db-item-link,.db-item-link:visited{color:var(--db-link)}.db-item-link--set,.db-item-link--set:visited,.db-item-link--set-collection,.db-item-link--set-collection:visited{color:#55c85a}.db-item-link--unique,.db-item-link--unique:visited,.db-item-link--runeword,.db-item-link--runeword:visited{color:#d1b476}.db-item-link--base,.db-item-link--base:visited{color:#eee}.db-item-link--misc,.db-item-link--misc:visited{color:#dbb36b}.db-item-link--skill,.db-item-link--skill:visited,.db-item-link--area,.db-item-link--area:visited,.db-item-link--quest,.db-item-link--quest:visited{color:#9bbceb}
.db-inline-record-link{display:inline;vertical-align:baseline;white-space:nowrap}.db-inline-record-link>.db-inline-record-icon{display:inline-block;width:1.3em;height:1.3em;margin:0 .25em 0 0;vertical-align:-.26em;object-fit:contain;image-rendering:auto;filter:drop-shadow(0 1px 2px rgba(0,0,0,.75))}
.db-user-note-moderation-help{margin-top:-6px;color:var(--db-muted)}
.db-body{font-size:1.2rem;background:var(--db-bg);color:var(--db-text);min-height:100vh}
.db-shell{box-sizing:border-box;max-width:1440px;margin:0 auto;padding:42px 24px 80px;font-family:Roboto,Arial,sans-serif}
.db-hero{max-width:850px;margin:0 auto 28px;text-align:center}.db-hero h1,.db-detail-header h1{font-family:Exocet,serif;color:#e8d5a3;letter-spacing:.06em;text-shadow:0 2px 12px #000;margin:.2rem 0}.db-hero h1{font-size:clamp(2.3rem,6vw,4rem)}.db-hero p{color:var(--db-muted);font-size:1.296rem;line-height:1.6}.db-eyebrow{text-transform:uppercase;letter-spacing:.18em;color:var(--db-gold);font-size:.936rem;font-weight:700;margin:0}
.db-category-nav{display:flex;flex-wrap:wrap;justify-content:center;column-gap:20px;row-gap:7px;margin-bottom:18px;padding:4px 2px 13px;border-bottom:1px solid #292b2f}.db-category-nav a{white-space:nowrap;padding:3px 0;color:var(--db-muted);text-decoration:none;text-underline-offset:5px}.db-category-nav a:hover{color:var(--db-link);text-decoration:underline}.db-category-nav a[aria-current=page]{color:#f2e6c0;text-decoration:underline;text-decoration-color:var(--db-gold);text-decoration-thickness:2px}
.db-controls{display:grid;grid-template-columns:minmax(240px,2fr) repeat(4,minmax(130px,1fr)) auto;gap:12px;align-items:end;padding:18px;background:linear-gradient(180deg,var(--db-panel-2),var(--db-panel));border:1px solid var(--db-border);border-radius:10px;box-shadow:0 10px 28px rgba(0,0,0,.28)}.db-controls label{display:flex;flex-direction:column;gap:6px;color:var(--db-muted);font-size:.936rem;text-transform:uppercase;letter-spacing:.05em}.db-controls input,.db-controls select{box-sizing:border-box;width:100%;height:42px;border:1px solid #5a5345;border-radius:5px;background:#101214;color:var(--db-text);padding:0 10px;font-size:1.2rem;text-transform:none;letter-spacing:0}.db-controls input:focus,.db-controls select:focus{outline:2px solid var(--db-gold);outline-offset:1px}.db-range{display:grid;grid-template-columns:1fr 1fr;gap:6px}.db-button{height:42px;border:1px solid var(--db-gold);border-radius:5px;background:#3a3222;color:#f2e6c0;padding:0 14px;cursor:pointer}.db-button:hover{background:#51452e}.db-result-bar{padding:18px 4px 10px;color:var(--db-muted)}#db-loading{font-size:.9em}
.db-surprise-button{display:inline-flex;box-sizing:border-box;align-items:center;justify-content:center;gap:8px;text-decoration:none;white-space:nowrap}.db-surprise-button:hover,.db-surprise-button:focus-visible{background:#51452e;color:#fff1c6}.db-surprise-button:focus-visible{outline:2px solid var(--db-gold);outline-offset:2px}
.db-card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.db-card{display:grid;grid-template-columns:62px 1fr;gap:13px;min-height:116px;padding:15px;border:1px solid #34383e;border-top-color:var(--db-border);border-radius:7px;background:linear-gradient(145deg,#1c1f23,#15171a);color:var(--db-text);text-decoration:none;box-shadow:0 4px 12px rgba(0,0,0,.22);transition:transform .15s,border-color .15s}.db-card:hover{transform:translateY(-2px);border-color:var(--db-gold)}.db-card img{width:58px;height:58px;object-fit:contain;image-rendering:auto}.db-card h2{font-family:Exocet,serif;font-size:1.08rem;margin:1px 0 6px;color:#eee}.db-card p{margin:0;color:var(--db-muted);font-size:1.056rem;line-height:1.35}.db-card-meta{display:flex;flex-wrap:wrap;gap:5px;margin-top:9px}.db-card-meta span,.db-badge{display:inline-flex;padding:3px 7px;border:1px solid #444a51;border-radius:999px;color:#bfc2c6;background:#17191b;font-size:.864rem}.db-card.is-legacy{opacity:.7}.db-card[data-category=unique] h2,.quality-unique{color:var(--db-unique)}.db-card[data-category=set] h2,.quality-set{color:var(--db-set)}.db-card[data-category=runeword] h2,.quality-runeword{color:#b7a4df}.db-card[data-category=quest] h2,.db-card[data-category=skill] h2{color:#84aee0}
.db-card{content-visibility:auto;contain-intrinsic-size:280px 220px}
.db-card[data-category=recipe] h2,.quality-recipe{color:var(--db-crafted)}
.db-popular-marker{display:inline-block;margin-left:.32em;color:#f3c75f;font-family:Arial,sans-serif;font-size:.72em;font-style:normal;font-weight:700;line-height:1;vertical-align:.12em;text-shadow:0 1px 2px #000,0 0 7px rgba(243,199,95,.42)}.db-popular-marker--card{position:relative;z-index:2;pointer-events:none}.db-popular-marker--detail{font-size:.58em;vertical-align:.2em}
.db-body[data-db-page=catalog][data-category=recipe] .db-card-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,390px),1fr))}.db-card[data-category=recipe]{display:block}.db-card-recipe-header{display:grid;grid-template-columns:44px minmax(0,1fr);gap:11px;align-items:center}.db-card-recipe-header img{width:44px;height:44px}.db-card-recipe-header h2{margin:0}.db-card-recipe-preview{display:grid;grid-template-columns:minmax(0,1fr) 22px minmax(0,1fr);gap:6px;align-items:stretch;margin-top:12px}.db-card-recipe-side{min-width:0;padding:9px;border:1px solid #34383e;border-radius:5px;background:rgba(0,0,0,.16)}.db-card-recipe-label{display:block;margin-bottom:7px;color:#d9c58a;font-size:.816rem;letter-spacing:.1em;text-transform:uppercase}.db-card-recipe-inputs,.db-card-recipe-modifiers{display:grid;gap:6px;margin:0;padding:0;list-style:none}.db-card-recipe-inputs li{min-width:0;color:#ddd9d1;font-size:.912rem;line-height:1.35;overflow-wrap:anywhere}.db-card-recipe-inputs li+li{padding-top:6px;border-top:1px solid #2c3035}.db-card-recipe-inputs li>span{display:block}.db-card-recipe-alternative{margin-top:2px}.db-card-recipe-alternative em{color:var(--db-muted);font-size:.864rem}.db-card-recipe-arrow{display:grid;align-self:center;width:22px;height:22px;place-items:center;border:1px solid rgba(255,140,42,.48);border-radius:50%;color:var(--db-crafted);font-size:1.104rem}.db-card-recipe-output p{color:#f1eee7;font-size:.936rem;line-height:1.35;overflow-wrap:anywhere}.db-card-recipe-modifiers{margin-top:7px;padding-top:7px;border-top:1px solid rgba(130,147,255,.2)}.db-card-recipe-modifiers li{color:#7fa9e0;font-size:.876rem;line-height:1.35;overflow-wrap:anywhere}.db-card[data-category=recipe]>.db-card-meta{margin-top:10px}
.db-card--recipe-preview{position:relative}.db-card--recipe-preview .db-card-recipe-side{color:#c7c7c7;background:rgba(10,10,10,.58);border-color:rgba(92,84,70,.88);text-align:center;font-size:1.08rem;line-height:1.45}.db-card--recipe-preview .db-card-recipe-label{font-size:.864rem;font-weight:700;letter-spacing:.08em}.db-card--recipe-preview .db-card-recipe-inputs li,.db-card--recipe-preview .db-card-recipe-output p,.db-card--recipe-preview .db-card-recipe-modifiers li{font-size:1.08rem;line-height:1.45}.db-card--recipe-preview .db-card-recipe-inputs li{color:#c7c7c7}.db-card--recipe-preview .db-card-recipe-output p{color:#fff}.db-card--recipe-preview .db-card-recipe-modifiers li{color:#8293ff}.db-card--recipe-preview .db-card-recipe-alternative em{font-size:1.08rem}.db-card--recipe-preview .db-item-link{position:relative;z-index:2;font-weight:600;text-decoration-line:underline;text-decoration-style:dotted;text-decoration-thickness:1px;text-underline-offset:3px}.db-card--recipe-preview .db-item-link:hover{filter:brightness(1.2)}.db-card--recipe-preview .db-item-link:focus-visible{outline:2px solid var(--db-gold);outline-offset:2px;border-radius:2px}.db-card--recipe-preview .db-inline-record-link{display:inline-flex;max-width:100%;align-items:flex-start;white-space:normal}.db-card--recipe-preview .db-inline-record-link>.db-inline-record-icon{flex:0 0 1.3em}
.db-pagination{display:flex;align-items:center;justify-content:center;gap:16px;margin:30px auto 0}.db-pagination[hidden]{display:none}.db-pagination-pages{display:flex;flex-wrap:wrap;justify-content:center;gap:7px}.db-pagination a,.db-pagination span[aria-disabled=true]{display:inline-flex;min-width:40px;min-height:40px;box-sizing:border-box;align-items:center;justify-content:center;padding:8px 12px;border:1px solid #454941;border-radius:5px;background:#181a1d;color:var(--db-link);text-decoration:none}.db-pagination a:hover{border-color:var(--db-gold);background:#282419}.db-pagination a[aria-current=page]{border-color:var(--db-gold);background:#3a3222;color:#f2e6c0;font-weight:700}.db-pagination span[aria-disabled=true]{color:#6f6d68;cursor:not-allowed}.db-pagination-direction{min-width:92px!important}
.db-card--item-preview{display:block;min-height:0;padding:0;border:0;background:none;box-shadow:none}.db-card--item-preview:hover{border-color:transparent}.db-card--item-preview:focus-visible{outline:2px solid var(--db-gold);outline-offset:3px}.db-card--item-preview .db-hover-item{height:100%;min-height:188px;transition:border-color .15s,box-shadow .15s}.db-card--item-preview .db-hover-icon{display:block;width:64px;height:64px;margin:0 auto 7px;object-fit:contain;filter:drop-shadow(0 5px 6px #000)}.db-card--item-preview .db-hover-quality{margin:2px 0;font-size:.864rem;line-height:1.45}.db-card--item-preview .db-hover-base{margin:2px 0;color:#fff;font-size:inherit;line-height:1.45}.db-card--item-preview .db-hover-item dl{margin:4px -8px 0;padding:8px;border-top:1px solid rgba(199,179,119,.16);border-bottom:1px solid rgba(199,179,119,.16);background:rgba(255,255,255,.018)}.db-card--item-preview .db-hover-item>ul{margin-top:8px;padding-top:9px;border-top:1px solid rgba(130,147,255,.18)}.db-number-range{display:inline-block;margin:0 .08em;padding:0 .28em;border:1px solid rgba(199,179,119,.34);border-radius:3px;background:rgba(199,179,119,.1);color:#e5ca7e;font-weight:600;font-variant-numeric:tabular-nums;line-height:1.25}.db-card--item-preview:hover .db-hover-item{border-color:var(--db-gold);box-shadow:0 7px 22px rgba(0,0,0,.62)}
.db-empty{grid-column:1/-1;text-align:center;border:1px dashed var(--db-border);padding:50px 20px;color:var(--db-muted)}.db-static-list{columns:3;line-height:1.8}.db-static-list a{color:var(--db-link)}
.db-detail-shell{max-width:1280px}.db-breadcrumb{display:flex;gap:8px;align-items:center;color:var(--db-muted);font-size:1.08rem;margin-bottom:26px}.db-breadcrumb a{color:var(--db-link)}.db-detail-header{display:grid;grid-template-columns:110px 1fr;gap:18px;align-items:center;padding:24px;border:1px solid var(--db-border);border-radius:12px 12px 0 0;background:radial-gradient(circle at 15% 10%,#332b1e,#181a1d 55%)}.db-detail-header>img{width:96px;height:96px;object-fit:contain}.db-detail-header h1{font-size:clamp(2rem,5vw,3.4rem)}.db-detail-content{padding:22px;border:1px solid var(--db-border);border-top:0;background:#15171a}.db-badges{display:flex;flex-wrap:wrap;gap:7px}.db-badge.db-active{color:#bce6bd;border-color:#477849}.db-badge.db-legacy{color:#e4aaa4;border-color:#7e4944}.db-summary{font-size:1.32rem;color:#d4d0c8;line-height:1.6}.db-panel{margin:18px 0;padding:20px;border:1px solid #34383e;border-radius:7px;background:var(--db-panel)}.db-panel h2{font-family:Exocet,serif;color:#d9c58a;font-size:1.62rem;margin:0 0 14px}.db-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:0}.db-stats div{display:grid;grid-template-columns:minmax(130px,.8fr) 1.2fr;gap:12px;padding:9px;border-bottom:1px solid #2f3338}.db-stats dt{color:var(--db-muted)}.db-stats dd{margin:0;color:#f1eee7;overflow-wrap:anywhere}.db-modifiers ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}.db-modifiers li{color:#7fa9e0;line-height:1.45}.db-relations{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:8px}.db-relations a{display:flex;flex-direction:column;padding:10px;border:1px solid #383d43;border-radius:5px;color:var(--db-link);text-decoration:none}.db-relations a:hover{border-color:var(--db-gold);background:#202226}.db-relations span{color:var(--db-muted);font-size:.864rem;text-transform:uppercase;letter-spacing:.05em}.db-source{margin:24px 0 5px;color:var(--db-muted);font-size:.984rem;line-height:1.5}.db-notice{padding:14px;border:1px solid #7f6631;background:#2d281b;color:#ead69b;border-radius:6px}
.db-recipe-flow{display:grid;grid-template-columns:minmax(0,1fr) 56px minmax(0,1fr);gap:14px;align-items:stretch;margin:18px 0}.db-recipe-flow-step{min-width:0;padding:20px;border:1px solid #34383e;border-top-color:var(--db-border);border-radius:7px;background:linear-gradient(145deg,#1c1f23,#17191c)}.db-recipe-flow-step h2{margin:0 0 16px;color:#d9c58a;font-family:Exocet,serif;font-size:1.44rem}.db-recipe-input-list{display:grid;gap:9px;margin:0;padding:0;list-style:none}.db-recipe-input-list>li{display:grid;min-height:28px;gap:6px}.db-recipe-input-choice{display:flex;min-width:0;align-items:center}.db-recipe-input-choice--alternative{padding-left:8px}.db-recipe-input-or{flex:0 0 24px;color:var(--db-muted);font-size:.96rem;font-style:italic}.db-recipe-input-list .db-inline-record-link,.db-recipe-output-item .db-inline-record-link{display:inline-flex;align-items:center;vertical-align:middle}.db-recipe-input-list .db-inline-record-icon,.db-recipe-output-item .db-inline-record-icon{flex:0 0 28px;width:28px;height:28px;vertical-align:middle}.db-recipe-flow-arrow{display:grid;place-items:center;color:var(--db-crafted)}.db-recipe-flow-arrow span{display:grid;width:42px;height:42px;place-items:center;border:1px solid rgba(255,140,42,.58);border-radius:50%;background:rgba(255,140,42,.1);font-size:2.04rem;line-height:1;box-shadow:0 4px 14px rgba(0,0,0,.32)}.db-recipe-output-item{color:#f1eee7;font-size:1.296rem;line-height:1.5}.db-recipe-output-modifiers{display:grid;gap:8px;margin:16px 0 0;padding:15px 0 0;border-top:1px solid rgba(130,147,255,.2);list-style:none}.db-recipe-output-modifiers li{color:#7fa9e0;line-height:1.45}.db-recipe-requirement{display:flex;flex-wrap:wrap;gap:6px 10px;margin:16px 0 0;padding-top:14px;border-top:1px solid #2f3338;color:#f1eee7;font-size:1.056rem}.db-recipe-requirement span{color:var(--db-muted)}
@media(max-width:700px){.db-recipe-flow{grid-template-columns:1fr;gap:10px}.db-recipe-flow-arrow{min-height:40px}.db-recipe-flow-arrow span{transform:rotate(90deg)}}

.db-item-layout{display:grid;grid-template-columns:minmax(440px,620px) minmax(300px,1fr);gap:24px;align-items:start}.db-item-stage{width:100%;max-width:620px;margin:0}.db-item-description-column{min-width:0}.db-item-description-column>.db-badges{margin-bottom:12px}.db-item-description-column .db-community{margin-top:0}.db-item-art{display:grid;place-items:center;min-height:128px;margin:0 auto 12px}.db-item-art img{width:128px;height:128px;object-fit:contain;filter:drop-shadow(0 8px 10px #000)}
.db-game-item{position:relative;box-sizing:border-box;min-height:420px;padding:28px 34px 30px;text-align:center;color:#dedede;background:radial-gradient(ellipse at 50% 0,rgba(48,45,58,.65),transparent 55%),linear-gradient(180deg,#151522,#090a10 72%);border:2px solid #4a3c28;border-radius:4px;box-shadow:0 18px 50px rgba(0,0,0,.48),inset 0 0 38px rgba(0,0,0,.7),0 0 2px #8b7355;font-family:Roboto,Arial,sans-serif}.db-game-item:before,.db-game-item:after{content:"";position:absolute;width:17px;height:17px;border:2px solid #8b7355;pointer-events:none}.db-game-item:before{top:-2px;left:-2px;border-right:0;border-bottom:0}.db-game-item:after{right:-2px;bottom:-2px;border-top:0;border-left:0}.db-game-item-header{padding-bottom:8px;margin-bottom:8px}.db-game-item h1{margin:0 0 5px;font-family:Exocet,serif;font-size:clamp(1.65rem,4vw,2.45rem);font-weight:500;line-height:1.15;letter-spacing:.025em;text-shadow:1px 2px 3px #000}.db-game-quality,.db-game-base{margin:3px 0;line-height:1.35}.db-game-quality{font-size:1.08rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.db-game-base{color:#d8d8d8;font-size:1.26rem}.db-game-item--set h1,.db-game-item--set .db-game-quality{color:#39d139}.db-game-item--unique h1,.db-game-item--unique .db-game-quality,.db-game-item--runeword h1,.db-game-item--runeword .db-game-quality{color:#c9a76a}.db-game-item--base h1,.db-game-item--base .db-game-quality{color:#e3e3e3}.db-game-item--misc h1,.db-game-item--misc .db-game-quality{color:#dbb36b}.db-rotw-marker{position:absolute;z-index:3;top:8px;right:8px;display:inline-flex;align-items:center;gap:4px;padding:3px 6px 3px 4px;border:1px solid rgba(187,111,255,.58);border-radius:999px;background:rgba(20,10,30,.92);box-shadow:0 3px 10px rgba(0,0,0,.55);color:#d7a8ff;font-size:.78rem;font-weight:700;letter-spacing:.04em;line-height:1;text-transform:uppercase;pointer-events:none}.db-rotw-marker img{display:block;width:20px;height:20px;image-rendering:auto}
.db-game-base-link{color:#eee;text-decoration-line:underline;text-decoration-style:dotted;text-decoration-thickness:1px;text-underline-offset:3px}.db-game-base-link:hover{color:#fff}.db-game-item .db-item-link--skill{color:#9bbceb;font-weight:600;text-decoration-line:underline;text-decoration-style:dotted;text-decoration-thickness:1px;text-underline-offset:3px}.db-game-base-link:focus-visible,.db-game-item .db-item-link--skill:focus-visible{outline:2px solid var(--db-gold);outline-offset:3px;border-radius:2px}
.db-game-stats{display:grid;justify-items:center;gap:3px;margin:0 0 12px}.db-game-stats div{display:flex;flex-wrap:wrap;justify-content:center;gap:.35em;line-height:1.35}.db-game-stats dt,.db-game-stats dd{margin:0}.db-game-stats dt{color:#bdbdbd}.db-game-stats dd{color:#f0f0f0}.db-game-modifiers,.db-game-set-bonuses{list-style:none;padding:7px 0 0;margin:0}.db-game-modifiers li,.db-game-set-bonuses li{margin:4px 0;line-height:1.35}.db-game-modifiers li{color:#8293ff}.db-game-set-bonuses{margin-top:10px}.db-game-set-bonuses li{color:#49c94d}.db-game-set-bonuses li>span:last-child{color:var(--db-unique)}.db-game-groups{display:grid;gap:12px;margin-top:12px}.db-game-groups section{padding-top:4px}.db-game-groups h2{margin:0 0 7px;color:#aaa;font-size:.936rem;text-transform:uppercase;letter-spacing:.08em}.db-game-groups .db-game-modifiers{padding:0}.db-game-set-link{margin:14px 0 0;padding-top:6px;color:#aaa}.db-game-set-link a{color:#39d139;text-decoration:none}.db-game-set-link a:hover{text-decoration:underline}
.db-item-support{width:100%;margin:22px 0 0;padding:16px 18px;box-sizing:border-box;border:1px solid #30343a;border-radius:6px;background:#121417}.db-item-support .db-source{margin:14px 0 0}.db-emu-tips{margin-bottom:16px;padding:18px;border:1px solid rgba(199,179,119,.38);border-radius:6px;background:linear-gradient(135deg,rgba(199,179,119,.1),rgba(25,26,28,.9) 55%)}.db-emu-tips header{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 18px;margin-bottom:12px}.db-emu-tips h2{margin:0;font-family:Exocet,serif;font-size:1.62rem;color:#e0c982}.db-emu-tips header p{margin:0;color:var(--db-muted);font-size:.936rem}.db-emu-tips ul{display:grid;gap:9px;margin:0;padding-left:1.25rem}.db-emu-tips li{padding-left:.2rem;color:#ded9ce;line-height:1.58}.db-emu-tips li::marker{color:var(--db-gold)}.db-item-relations{margin-top:14px}.db-item-relations summary{cursor:pointer;color:var(--db-link);font-weight:600}.db-item-relations .db-relations{max-height:420px;overflow:auto;margin-top:12px;padding-right:4px}
.db-community{display:grid;gap:14px;margin-top:16px}.db-community--notes{margin-top:0}.db-community-description,.db-community-notes{padding:18px;border:1px solid #39372f;border-radius:6px;background:#191a1c}.db-community h2{margin:0 0 10px;font-family:Exocet,serif;font-size:1.56rem;color:#d9c58a}.db-community-description>p,.db-community-note-list article>p{margin:0;white-space:pre-line;color:#d8d4cc;line-height:1.65}.db-community-description footer{margin-top:12px;color:var(--db-muted);font-size:.96rem}.db-community a{color:var(--db-link)}.db-community-notes summary{cursor:pointer;color:#d9c58a;font-weight:600}.db-community-note-list{display:grid;gap:10px;margin-top:14px}.db-community-note-list article{padding:13px 14px;border:1px solid #30343a;border-radius:5px;background:#131518}.db-community-note-list header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-bottom:8px;color:#e2ded5}.db-community-note-list time{color:var(--db-muted);font-size:.96rem}.db-community-note-list article>a{display:inline-block;margin-top:9px;font-size:.936rem}
.db-editorial-copy{display:grid;gap:14px;color:#d8d4cc}.db-editorial-lead{margin:0;padding:12px 14px;border-left:3px solid var(--db-gold);border-radius:0 4px 4px 0;background:linear-gradient(90deg,rgba(199,179,119,.1),rgba(199,179,119,.025));font-size:1.224rem;line-height:1.65}.db-editorial-details{padding-top:1px}.db-editorial-details h3{margin:0 0 7px;color:#bdb6a6;font-size:.864rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em}.db-editorial-points{margin:0;padding:10px 10px 10px 1.35rem;border-top:1px solid rgba(199,179,119,.18);border-bottom:1px solid rgba(199,179,119,.12);background:rgba(255,255,255,.012)}.db-editorial-points li{padding-left:.25rem;color:#d8d4cc;line-height:1.58}.db-editorial-points li::marker{color:var(--db-gold)}.db-editorial-points li+li{margin-top:.55rem}
.db-community .db-item-link{font-weight:600;text-decoration-line:underline;text-decoration-style:dotted;text-decoration-thickness:1px;text-underline-offset:3px}.db-community .db-item-link--set{color:#55c85a}.db-community .db-item-link--unique,.db-community .db-item-link--runeword{color:#d1b476}.db-community .db-item-link--base{color:#eee}.db-community .db-item-link--misc{color:#dbb36b}.db-community .db-item-link--skill{color:#9bbceb}.db-community .db-item-link:focus-visible{outline:2px solid var(--db-gold);outline-offset:3px;border-radius:2px}
.db-game-runes .db-item-link{color:#dbb36b;font-weight:600;text-decoration-line:underline;text-decoration-style:dotted;text-decoration-thickness:1px;text-underline-offset:3px}.db-game-runes .db-item-link:hover{color:#f0d08a}.db-game-runes .db-item-link:focus-visible{outline:2px solid var(--db-gold);outline-offset:3px;border-radius:2px}
.db-user-notes{box-sizing:border-box;width:100%;margin:24px 0 0;padding:22px;border:1px solid #39372f;border-radius:7px;background:#15171a}.db-user-notes-header{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:16px}.db-user-notes-header h2{margin:2px 0 0;font-family:Exocet,serif;color:#d9c58a;font-size:1.74rem}.db-user-note-count{color:var(--db-muted);font-size:1.056rem}.db-user-note-list{display:grid;gap:12px}.db-user-note-empty{margin:0;padding:18px;border:1px dashed #3a3d42;border-radius:5px;color:var(--db-muted);text-align:center}.db-user-note{padding:15px 16px;border:1px solid #30343a;border-radius:6px;background:#111316}.db-user-note>header{display:flex;align-items:center;gap:9px;margin-bottom:10px}.db-user-note-avatar{width:30px;height:30px;border-radius:50%;object-fit:cover;background:#282b30}.db-user-note-author{color:#e5dfd2}.db-user-note time{margin-left:auto;color:var(--db-muted);font-size:.936rem}.db-user-note-delete{border:0;background:none;color:#aa7771;cursor:pointer;font-size:.936rem}.db-user-note-delete:hover{color:#e29b92;text-decoration:underline}.db-user-note-body{margin:0;white-space:pre-wrap;color:#d8d4cc;line-height:1.6;overflow-wrap:anywhere}.db-user-note-body .db-item-link{font-weight:600;text-decoration-line:underline;text-decoration-style:dotted;text-underline-offset:3px}.db-user-note-body .db-item-link--set{color:#55c85a}.db-user-note-body .db-item-link--unique,.db-user-note-body .db-item-link--runeword{color:#d1b476}.db-user-note-body .db-item-link--base{color:#eee}.db-user-note-body .db-item-link--misc{color:#dbb36b}.db-user-note-body .db-item-link--skill{color:#9bbceb}.db-user-note-images{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,240px));gap:9px;margin-top:12px}.db-user-note-images a{display:block;border:1px solid #353940;border-radius:5px;overflow:hidden;background:#090a0c}.db-user-note-images img{display:block;width:100%;height:180px;object-fit:contain}.db-user-note-login{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px;padding:14px;border:1px solid #39372f;border-radius:5px;background:#191a1c}.db-user-note-login p{margin:0;color:var(--db-muted)}.db-user-note-login-button{display:inline-flex;align-items:center;text-decoration:none;white-space:nowrap}.db-user-note-form{display:grid;gap:12px;margin-top:18px;padding-top:18px;border-top:1px solid #303238}.db-user-note-form>label,.db-user-note-linker>label,.db-user-note-upload-fields>label{color:#d9c58a;font-size:1.032rem;font-weight:600}.db-user-note-form textarea,.db-user-note-form input[type=search],.db-user-note-form input[type=text],.db-user-note-form input[type=file]{box-sizing:border-box;width:100%;border:1px solid #555044;border-radius:5px;background:#0e1012;color:var(--db-text);padding:10px}.db-user-note-form textarea{resize:vertical;min-height:120px;line-height:1.5}.db-user-note-form textarea:focus,.db-user-note-form input:focus{outline:2px solid var(--db-gold);outline-offset:1px}.db-user-note-linker{position:relative;display:grid;gap:6px}.db-user-note-linker small{color:var(--db-muted)}.db-user-note-linker code{color:#d9c58a}.db-user-note-item-results{position:absolute;z-index:20;top:68px;left:0;right:0;max-height:300px;overflow:auto;border:1px solid #5a5345;border-radius:5px;background:#101214;box-shadow:0 10px 25px #000}.db-user-note-item-results button{display:grid;width:100%;gap:2px;padding:9px 11px;border:0;border-bottom:1px solid #282b2f;background:none;color:var(--db-text);text-align:left;cursor:pointer}.db-user-note-item-results button:hover,.db-user-note-item-results button:focus{background:#29251c;outline:none}.db-user-note-item-results small{color:var(--db-muted)}.db-user-note-upload-fields{display:grid;grid-template-columns:minmax(150px,auto) 1fr;align-items:center;gap:8px 12px}.db-user-note-upload-fields label:nth-of-type(2){grid-column:1}.db-user-note-image-preview{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:8px}.db-user-note-image-preview figure{width:90px;margin:0}.db-user-note-image-preview img{display:block;width:90px;height:70px;object-fit:contain;border:1px solid #34383e;border-radius:4px;background:#090a0c}.db-user-note-image-preview figcaption{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--db-muted);font-size:.816rem}.db-user-note-actions{display:flex;align-items:center;gap:12px}.db-user-note-actions output{color:var(--db-muted);font-size:1.056rem}.db-user-note-actions output.is-error{color:#e29b92}.db-user-note-actions output.is-success{color:#8ac68d}
.db-item-tooltip{position:fixed;z-index:3000;box-sizing:border-box;max-width:calc(100vw - 24px);max-height:calc(100vh - 16px);overflow:hidden;pointer-events:none;transform:translateX(-50%);filter:drop-shadow(0 8px 24px rgba(0,0,0,.62))}.db-hover-item{position:relative;box-sizing:border-box;width:100%;padding:13px 18px;text-align:center;color:#c7c7c7;background:rgba(10,10,10,.88);border:1px solid rgba(92,84,70,.88);border-radius:4px;box-shadow:0 2px 12px rgba(0,0,0,.52);backdrop-filter:blur(3px);font-size:1.08rem;line-height:1.45}.db-hover-item header{padding-bottom:8px}.db-hover-item h3{margin:0;font-family:Exocet,serif;font-size:1.08rem;color:#eee}.db-hover-item--set h3,.db-hover-item--set .db-hover-quality{color:#39d139}.db-hover-item--unique h3,.db-hover-item--unique .db-hover-quality,.db-hover-item--runeword h3,.db-hover-item--runeword .db-hover-quality{color:#c9a76a}.db-hover-item--misc h3,.db-hover-item--misc .db-hover-quality{color:#dbb36b}.db-hover-quality{margin:2px 0;font-size:.864rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.db-hover-base{margin:2px 0;color:#fff}.db-hover-item dl{display:grid;justify-items:center;gap:1px;margin:0;padding:8px 0}.db-hover-item dl div{display:flex;flex-wrap:wrap;justify-content:center;gap:.35em}.db-hover-item dt,.db-hover-item dd{margin:0}.db-hover-item dt{color:#fff}.db-hover-item dd{color:#8293ff}.db-hover-item ul{list-style:none;margin:0;padding:8px 0 0;color:#8293ff}.db-hover-item li{margin:2px 0}.db-hover-item .db-hover-set-bonuses{margin-top:8px;color:#49c94d}.db-hover-set-bonuses li>span:last-child{color:var(--db-unique)}.db-hover-groups{display:grid;gap:8px;margin-top:9px;padding-top:9px;border-top:1px solid rgba(199,179,119,.22)}.db-hover-groups section+section{padding-top:8px;border-top:1px solid rgba(130,147,255,.13)}.db-hover-groups h4{margin:0 0 3px;color:#d7c184;font-size:.864rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em}.db-hover-item .db-hover-groups ul{margin:0;padding:0}.db-hover-groups li{color:#8293ff}
@media(max-width:960px){.db-detail-shell{max-width:700px}.db-item-layout{grid-template-columns:1fr}.db-item-stage,.db-item-description-column{width:100%;max-width:620px;margin:0 auto}.db-item-support{max-width:620px;margin-left:auto;margin-right:auto}}
@media(max-width:820px){.db-item-stage{width:100%}.db-item-art{min-height:100px}.db-item-art img{width:104px;height:104px}.db-game-item{width:100%;max-width:620px;margin:auto}}
@media(max-width:620px){.db-user-notes{padding:16px}.db-user-note-login{align-items:flex-start;flex-direction:column}.db-user-note-upload-fields{grid-template-columns:1fr}.db-user-note-upload-fields label:nth-of-type(2){grid-column:auto}.db-user-note-images{grid-template-columns:1fr}.db-user-note-images img{height:auto;max-height:360px}}
@media(max-width:1150px){.db-controls{grid-template-columns:repeat(3,1fr)}.db-search{grid-column:span 2}}
@media(max-width:700px){.db-shell{padding:24px 12px 60px}.db-controls{grid-template-columns:1fr 1fr}.db-search{grid-column:1/-1}.db-detail-header{grid-template-columns:72px 1fr;padding:16px}.db-detail-header>img{width:64px;height:64px}.db-detail-content{padding:12px}.db-stats{grid-template-columns:1fr}.db-stats div{grid-template-columns:1fr}.db-static-list{columns:1}}
@media(max-width:420px){.db-controls{grid-template-columns:1fr}.db-search{grid-column:auto}.db-card-grid{grid-template-columns:1fr}}
.db-user-note-list{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.db-user-note-empty{grid-column:1/-1}.db-user-note{min-width:0}.db-user-note-images a{position:relative;z-index:1;overflow:visible;border:0;background:transparent}.db-user-note-images img{position:relative;z-index:1;border:1px solid #353940;border-radius:5px;background:#090a0c;box-shadow:0 5px 14px rgba(0,0,0,.35);transition:transform .16s ease,box-shadow .16s ease}.db-user-note-images a:hover,.db-user-note-images a:focus-visible{z-index:40;outline:none}.db-user-note-images a:hover img,.db-user-note-images a:focus-visible img{z-index:40;transform:scale(1.75);box-shadow:0 18px 46px rgba(0,0,0,.82),0 0 0 1px rgba(199,179,119,.7)}
@media(max-width:820px){.db-user-note-list{grid-template-columns:1fr}.db-user-note-images a:hover img,.db-user-note-images a:focus-visible img{transform:scale(1.35)}}
@media(prefers-reduced-motion:reduce){.db-user-note-images img{transition:none}}
.db-emu-tips .db-item-link{font-weight:600;text-decoration-line:underline;text-decoration-style:dotted;text-decoration-thickness:1px;text-underline-offset:3px}.db-emu-tips .db-item-link--set{color:#55c85a}.db-emu-tips .db-item-link--unique,.db-emu-tips .db-item-link--runeword{color:#d1b476}.db-emu-tips .db-item-link--base{color:#eee}.db-emu-tips .db-item-link--misc{color:#dbb36b}.db-emu-tips .db-item-link--skill{color:#9bbceb}.db-emu-tips .db-item-link:focus-visible{outline:2px solid var(--db-gold);outline-offset:3px;border-radius:2px}
.db-item-description-column>.db-emu-tips{margin:16px 0 0}
.db-user-notes{max-width:960px;margin:24px auto 0}.db-user-note-form{max-width:760px;margin-left:auto;margin-right:auto}.db-user-note-form[hidden],.db-user-note-login[hidden]{display:none!important}
.db-relation-groups{display:grid;gap:18px}.db-relation-group h3{margin:0 0 9px;color:#d9c58a;font-family:Exocet,serif;font-size:1.2rem}.db-item-relations>.db-relation-groups{max-height:520px;overflow:auto;margin-top:12px;padding-right:4px}.db-item-relations .db-relation-group .db-relations{max-height:none;overflow:visible;margin-top:0;padding-right:0}.db-relations a.db-relation-link--set{color:#55c85a}.db-relations a.db-relation-link--unique{color:#d1b476}.db-relations a.db-relation-link--base{color:#eee}.db-relations a.db-inline-record-link{display:flex;flex-direction:row;align-items:center;gap:8px}.db-relations a.db-inline-record-link>.db-inline-record-icon{flex:0 0 28px;width:28px;height:28px;margin:0;vertical-align:middle}.db-relations a.db-item-link--area,.db-relations a.db-item-link--quest{color:#84aee0}
.db-item-stage>.db-item-support{max-width:none;margin:16px 0 0;overflow:visible}.db-item-relations--visible{margin:0;overflow:visible}.db-item-relations--visible>.db-relation-groups{max-height:none;overflow:visible;margin-top:0;padding-right:0}.db-item-relations--visible .db-relations{max-height:none;overflow:visible;padding-right:0}
.db-legacy-item-variants>h2{margin:0 0 14px;font-family:Exocet,serif;color:#c9a76a;font-size:1.44rem}.db-legacy-item-variants>article{padding:14px;border:1px solid #34383e;border-radius:5px;background:#0e1012}.db-legacy-item-variants>article+article{margin-top:10px}.db-legacy-item-variants h3{font-size:1.17rem;margin:0 0 10px;text-align:center;color:#d7d1c4}.db-legacy-item-variants .db-game-modifiers{padding-top:10px;text-align:center}
.db-card--item-preview{position:relative}.db-card-primary-link{color:inherit;text-decoration:none}.db-card-primary-link::after{content:"";position:absolute;z-index:1;inset:0}.db-card-primary-link:focus-visible{outline:none}.db-card-primary-link:focus-visible::after{outline:2px solid var(--db-gold);outline-offset:3px}.db-card--item-preview .db-item-link{position:relative;z-index:2;font-weight:600;text-decoration-line:underline;text-decoration-style:dotted;text-decoration-thickness:1px;text-underline-offset:3px}.db-card--item-preview .db-item-link--set{color:#55c85a}.db-card--item-preview .db-item-link--unique,.db-card--item-preview .db-item-link--runeword{color:#d1b476}.db-card--item-preview .db-item-link--base{color:#eee}.db-card--item-preview .db-item-link--misc{color:#dbb36b}.db-card--item-preview .db-item-link--skill{color:#9bbceb}.db-card--item-preview .db-item-link:hover{filter:brightness(1.2)}.db-card--item-preview .db-item-link:focus-visible{outline:2px solid var(--db-gold);outline-offset:2px;border-radius:2px}

.db-game-stats [data-field="socketRanges"],
.db-hover-item dl .db-stat-socket-ranges {
  display: grid;
  width: min(100%, 300px);
  gap: 6px;
  margin-top: 5px;
  padding-top: 8px;
  border-top: 1px solid rgba(199, 179, 119, .2);
}

.db-game-stats [data-field="socketRanges"] > dt,
.db-hover-item dl .db-stat-socket-ranges > dt {
  font-size: .864rem;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.db-socket-ranges {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 4px;
  width: 100%;
}

.db-socket-range {
  display: grid;
  gap: 1px;
  padding: 5px 4px;
  border: 1px solid rgba(199, 179, 119, .25);
  border-radius: 3px;
  background: rgba(199, 179, 119, .07);
  text-align: center;
}

.db-socket-range-level {
  color: #aaa;
  font-size: .792rem;
  line-height: 1.3;
  text-transform: uppercase;
}

.db-socket-range-value {
  color: #f0f0f0;
  font-size: .936rem;
  font-weight: 600;
  line-height: 1.3;
  white-space: nowrap;
}

.db-hover-item .db-socket-range-value { color: #8293ff; }

.db-stats > .db-stat-area-ranges,
.db-stats > .db-stat-area-superuniques {
  grid-column: 1 / -1;
  grid-template-columns: minmax(130px, .4fr) 1.6fr;
}
.db-stat-area-ranges dd {
  margin-left: -6px;
  font-variant-numeric: tabular-nums;
}
.db-immunity { font-weight: 600; }
.db-immunity--fire { color: #ef765f; }
.db-immunity--cold { color: #78b7ff; }
.db-immunity--lightning { color: #f0dc69; }
.db-immunity--poison { color: #7dcc68; }
.db-immunity--physical { color: #d9d1c4; }
.db-immunity--magic { color: #c98cff; }
.db-immunity--none,
.db-immunity-separator { color: var(--db-muted); }
.db-area-superunique-facts {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 9px;
}
.db-area-superunique-facts a {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  padding: 6px 9px;
  border: 1px solid #383d43;
  border-radius: 5px;
  background: #121417;
  color: var(--db-link);
  font-weight: 600;
  text-decoration: none;
}
.db-area-superunique-facts a:hover,
.db-area-superunique-facts a:focus-visible {
  border-color: var(--db-gold);
  background: #202226;
}
.db-area-superunique-facts img {
  flex: 0 0 auto;
  width: 36px;
  height: 36px;
  object-fit: contain;
}
.db-area-superunique-facts span { overflow-wrap: anywhere; }

@media (max-width: 700px) {
  .db-stats > .db-stat-area-ranges,
  .db-stats > .db-stat-area-superuniques { grid-template-columns: 1fr; }
  .db-stat-area-ranges dd { margin-left: 0; }
}

.db-set-collection-layout {
  display: grid;
  grid-template-columns: minmax(490px, 570px) minmax(320px, 1fr);
  gap: 18px;
  align-items: start;
  margin: 18px 0;
}
.db-set-collection-layout > .db-panel {
  box-sizing: border-box;
  width: 100%;
  margin: 0;
}
.db-set-paper-doll-panel {
  display: grid;
  justify-items: center;
}
.db-card[data-category="set-collection"] h2,
.quality-set-collection,
.db-detail-header h1.quality-set-collection,
.db-hover-item--set-collection h3,
.db-hover-item--set-collection .db-hover-quality {
  color: var(--db-set);
}
.db-set-paper-doll-panel > h2 {
  justify-self: stretch;
}
.db-set-collection-bonuses {
  display: grid;
  gap: 24px;
}
.db-set-collection-bonuses > section {
  min-width: 0;
}
.db-set-collection-bonuses h2 {
  margin-bottom: 10px;
}
.db-set-collection-bonuses li {
  color: #7fa9e0;
}
.db-hover-set-collection-bonuses li {
  color: #8293ff;
}
.db-set-collection-bonuses li > span,
.db-hover-set-collection-bonuses li > span {
  color: var(--db-unique);
  white-space: nowrap;
}

.db-game-set-bonuses .db-number-range,
.db-hover-set-bonuses .db-number-range,
.db-set-collection-bonuses .db-number-range,
.db-hover-set-collection-bonuses .db-number-range {
  color: var(--db-unique);
}
.db-set-paper-doll {
  --doll-slot: 108px;
  --doll-small: 72px;
  --doll-hand-height: 216px;
  --doll-armor-height: 158px;
  --doll-belt-height: 72px;
  --doll-swap-width: 100px;
  --doll-swap-height: 200px;
  --doll-gap: 5px;
  --doll-section-gap: 24px;
  box-sizing: border-box;
  max-width: 100%;
  padding: 12px;
  border: 1px solid #333;
  border-radius: 6px;
  background: rgba(15, 15, 15, .85);
  user-select: none;
}
.db-set-paper-doll-caption {
  margin-bottom: 6px;
  color: #666;
  font-size: .7em;
  letter-spacing: .1em;
  text-align: center;
  text-transform: uppercase;
}
.db-set-paper-doll-layout {
  display: flex;
  align-items: stretch;
  gap: var(--doll-section-gap);
}
.db-set-paper-doll-top,
.db-set-paper-doll-middle,
.db-set-paper-doll-bottom,
.db-set-paper-doll-rings {
  display: flex;
  justify-content: center;
  gap: var(--doll-gap);
}
.db-set-paper-doll-top,
.db-set-paper-doll-middle { margin-bottom: var(--doll-gap); }
.db-set-paper-doll-spacer,
.db-set-paper-doll-amulet { width: var(--doll-slot); }
.db-set-paper-doll-amulet {
  display: flex;
  align-items: flex-end;
}
.db-set-paper-doll-bottom {
  align-items: flex-end;
  margin-top: calc(var(--doll-gap) * -7.2);
}
.db-set-paper-doll-center {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--doll-gap);
}
.db-set-paper-doll-divider {
  width: 1px;
  background: #333;
}
.db-set-paper-doll-swap {
  display: flex;
  flex-direction: column;
  gap: var(--doll-gap);
  margin-left: calc(var(--doll-section-gap) * -.5);
}
.db-set-paper-doll-swap > div:first-child {
  margin-bottom: -1px;
  color: #888;
  font-size: .72em;
  font-weight: 600;
  letter-spacing: .1em;
  text-align: center;
  text-transform: uppercase;
}
.db-set-equip-slot {
  position: relative;
  display: flex;
  flex: 0 0 auto;
  box-sizing: border-box;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding: 2px;
  border: 1px solid #333;
  border-radius: 4px;
  background: rgba(20, 20, 20, .6);
  color: #444;
  text-align: center;
  text-decoration: none;
}
.db-set-equip-slot--square { width: var(--doll-slot); height: var(--doll-slot); }
.db-set-equip-slot--small { width: var(--doll-small); height: var(--doll-small); }
.db-set-equip-slot--hand { width: var(--doll-slot); height: var(--doll-hand-height); }
.db-set-equip-slot--armor { width: var(--doll-slot); height: var(--doll-armor-height); }
.db-set-equip-slot--belt { width: var(--doll-slot); height: var(--doll-belt-height); }
.db-set-equip-slot--swap { width: var(--doll-swap-width); height: var(--doll-swap-height); }
.db-set-equip-slot.is-equipped {
  border-color: #2e9a39;
  background: rgba(30, 30, 30, .9);
  color: #39d139;
  cursor: pointer;
}
.db-set-equip-slot > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  opacity: .72;
  filter: drop-shadow(0 4px 5px #000);
  transition: opacity .15s, transform .15s;
}
.db-set-equip-slot > span {
  position: relative;
  z-index: 1;
  max-width: 100%;
  font-size: .912rem;
  font-weight: 600;
  line-height: 1.2;
  overflow-wrap: anywhere;
  text-shadow: 0 1px 2px #000, 0 0 5px #000;
  -webkit-text-stroke: .35px rgba(193, 175, 175, .5);
}
.db-set-equip-slot:not(.is-equipped) > span {
  font-size: .84rem;
  font-weight: 400;
  -webkit-text-stroke: 0;
}
.db-set-equip-slot.is-equipped:hover,
.db-set-equip-slot.is-equipped:focus-visible {
  z-index: 2;
  border-color: #62d26b;
  box-shadow: 0 0 0 1px rgba(98, 210, 107, .3), inset 0 0 18px rgba(57, 209, 57, .1);
  outline: none;
}
.db-set-equip-slot.is-equipped:hover > img,
.db-set-equip-slot.is-equipped:focus-visible > img {
  opacity: .95;
  transform: scale(1.04);
}

@media (max-width: 560px) {
  .db-set-paper-doll {
    --doll-slot: 70px;
    --doll-small: 47px;
    --doll-hand-height: 140px;
    --doll-armor-height: 102px;
    --doll-belt-height: 47px;
    --doll-swap-width: 64px;
    --doll-swap-height: 128px;
    --doll-gap: 4px;
    --doll-section-gap: 10px;
    padding: 8px;
  }
  .db-set-equip-slot > span { font-size: .696rem; }
  .db-set-equip-slot:not(.is-equipped) > span { font-size: .66rem; }
}

@media (max-width: 1050px) {
  .db-set-collection-layout {
    grid-template-columns: 1fr;
  }
  .db-set-paper-doll-panel,
  .db-set-collection-bonuses {
    max-width: 620px;
    margin-right: auto;
    margin-left: auto;
  }
}

.db-area-map {
  text-align: center;
}

.db-area-map > a:first-of-type {
  display: block;
  width: fit-content;
  max-width: 100%;
  margin: 0 auto;
  border: 1px solid #514936;
  border-radius: 4px;
  background: #090a0c;
  overflow: hidden;
}

.db-area-map img {
  display: block;
  width: auto;
  max-width: 100%;
  max-height: 760px;
  object-fit: contain;
}

.db-area-map p {
  margin: 11px 0 0;
}

.db-area-map p a {
  color: var(--db-link);
}

.db-official-reference {
  display: block;
  margin-top: 5px;
}

.db-official-reference a {
  color: var(--db-link);
}

.db-reference-description p {
  margin: 0;
  color: #d8d4cc;
  font-size: 1.2rem;
  line-height: 1.68;
}

.db-reference-emu-tips {
  margin: 18px 0;
}

.db-emu-tips h2 {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.db-emu-tips-icon {
  display: block;
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  border: 1px solid rgba(224, 201, 130, .58);
  border-radius: 50%;
  background: #101214;
  box-shadow: 0 4px 12px rgba(0, 0, 0, .5);
}

.db-monster-page > .db-reference-description {
  margin-top: 22px;
}

/* NPC portraits use the same larger, tightly framed presentation as monsters. */
.db-card[data-category="npc"] {
  grid-template-columns: 108px minmax(0, 1fr);
  align-items: center;
  min-height: 118px;
  padding: 8px 10px;
  gap: 10px;
}

.db-card[data-category="npc"] > img {
  width: 104px;
  height: 112px;
  object-fit: contain;
  filter: drop-shadow(0 6px 6px rgba(0, 0, 0, .72));
}

.db-body[data-category="npc"] .db-card-grid {
  grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
}

.db-body[data-db-page="detail"][data-category="npc"] .db-detail-header {
  grid-template-columns: 210px minmax(0, 1fr);
  min-height: 190px;
  gap: 0;
  padding: 0 24px 0 0;
  overflow: hidden;
}

.db-body[data-db-page="detail"][data-category="npc"] .db-detail-header > img {
  width: 200px;
  height: 190px;
  object-fit: contain;
  filter: drop-shadow(0 7px 7px rgba(0, 0, 0, .76));
}

.db-body[data-db-page="detail"][data-category="npc"] .db-detail-header > div {
  padding: 24px 8px;
}

@media (max-width: 700px) {
  .db-body[data-db-page="detail"][data-category="npc"] .db-detail-header {
    grid-template-columns: 150px minmax(0, 1fr);
    min-height: 150px;
    padding: 0 16px 0 0;
  }

  .db-body[data-db-page="detail"][data-category="npc"] .db-detail-header > img {
    width: 146px;
    height: 150px;
  }

  .db-body[data-db-page="detail"][data-category="npc"] .db-detail-header > div {
    padding: 18px 0;
  }
}

@media (max-width: 480px) {
  .db-body[data-db-page="detail"][data-category="npc"] .db-detail-header {
    grid-template-columns: 1fr;
    padding: 0;
    text-align: center;
  }

  .db-body[data-db-page="detail"][data-category="npc"] .db-detail-header > img {
    width: min(100%, 190px);
    height: 150px;
    margin: 0 auto;
  }

  .db-body[data-db-page="detail"][data-category="npc"] .db-detail-header > div {
    padding: 18px 14px 22px;
  }
}

/* Monster families mirror the variant/difficulty layout used by classic D2
   reference pages while keeping the controls keyboard-accessible. */
.db-card[data-category="monster"] {
  grid-template-columns: 108px minmax(0, 1fr);
  align-items: center;
  min-height: 118px;
  padding: 8px 10px;
  gap: 10px;
}

.db-card[data-category="monster"] > img {
  width: 104px;
  height: 112px;
  object-fit: contain;
  filter: drop-shadow(0 6px 6px rgba(0, 0, 0, .72));
}

.db-body[data-category="monster"] .db-card-grid {
  grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
}

.db-monster-page {
  width: min(100%, 1080px);
  margin: 0 auto;
}

.db-monster-hero {
  display: grid;
  grid-template-columns: 210px minmax(0, 1fr);
  align-items: center;
  min-height: 190px;
  border: 1px solid #594b32;
  border-bottom: 0;
  border-radius: 7px 7px 0 0;
  background:
    radial-gradient(circle at 12% 40%, rgba(117, 82, 42, .28), transparent 32%),
    linear-gradient(145deg, #26231f, #111315 62%);
  box-shadow: 0 14px 35px rgba(0, 0, 0, .42);
}

.db-monster-art {
  display: grid;
  place-items: center;
  align-self: stretch;
  overflow: hidden;
  border-right: 1px solid rgba(199, 179, 119, .22);
  background: radial-gradient(circle, rgba(199, 179, 119, .13), transparent 66%);
}

.db-monster-art img {
  width: 200px;
  height: 190px;
  object-fit: contain;
  filter: drop-shadow(0 10px 10px rgba(0, 0, 0, .8));
}

.db-monster-heading { padding: 26px 32px; }
.db-monster-heading h1 {
  margin: 5px 0 8px;
  color: #d7bd78;
  font-family: Exocet, serif;
  font-size: clamp(2rem, 5vw, 3.35rem);
  font-weight: 400;
  letter-spacing: .035em;
  line-height: 1;
  text-shadow: 0 2px 10px #000;
}
.db-monster-heading > p:last-child { margin: 0; color: #aaa59d; }
.db-monster-hero-description {
  max-width: 760px;
  font-size: 1.152rem;
  line-height: 1.55;
}

.db-monster-variant-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 1px;
  padding: 8px;
  border: 1px solid #594b32;
  background: #0d0f11;
}

.db-monster-variant-tabs button,
.db-monster-difficulty-tabs button {
  min-height: 38px;
  border: 1px solid #3b3f44;
  border-radius: 2px;
  background: linear-gradient(#24272b, #181a1d);
  color: #bdb9b1;
  cursor: pointer;
  font-size: .984rem;
  line-height: 1.2;
}

.db-monster-variant-tabs button {
  flex: 1 1 150px;
  padding: 8px 12px;
}

.db-monster-variant-tabs button:hover,
.db-monster-difficulty-tabs button:hover { color: #f0dfaf; border-color: #79663e; }
.db-monster-variant-tabs button[aria-selected="true"],
.db-monster-difficulty-tabs button[aria-selected="true"] {
  border-color: #b29455;
  background: linear-gradient(#52452c, #2d271c);
  color: #fff1c6;
  box-shadow: inset 0 0 0 1px rgba(231, 204, 137, .14);
}
.db-monster-variant-tabs button:focus-visible,
.db-monster-difficulty-tabs button:focus-visible { outline: 2px solid #d7bd78; outline-offset: 2px; }

.db-monster-sheet {
  border: 1px solid #594b32;
  border-top: 0;
  background:
    linear-gradient(rgba(255, 255, 255, .015), rgba(255, 255, 255, 0)),
    #121416;
  box-shadow: 0 18px 42px rgba(0, 0, 0, .34);
}

.db-monster-sheet-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  padding: 22px 26px;
  border-bottom: 1px solid #302c24;
  background: rgba(37, 34, 29, .62);
}
.db-monster-sheet-bar h2 { margin: 3px 0 2px; color: #e6dfcf; font-family: Exocet, serif; font-size: 1.65rem; }
.db-monster-sheet-bar code { color: #77736b; font-size: .864rem; }
.db-monster-difficulty-tabs { display: grid; grid-template-columns: repeat(3, minmax(88px, 1fr)); gap: 4px; }
.db-monster-difficulty-tabs button { padding: 7px 13px; text-transform: uppercase; letter-spacing: .06em; }

.db-monster-stat-layout,
.db-monster-lower-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.db-monster-stat-layout { border-bottom: 1px solid #302c24; }
.db-monster-lower-grid { border-top: 1px solid #302c24; }
.db-monster-stat-layout > :first-child,
.db-monster-lower-grid > :first-child { border-right: 1px solid #302c24; }
.db-monster-stat-section { min-width: 0; padding: 24px 26px; }
.db-monster-stat-section h3 {
  margin: 0 0 16px;
  color: #c9ad68;
  font-family: Exocet, serif;
  font-size: 1.344rem;
  font-weight: 400;
  letter-spacing: .04em;
}

.db-monster-vitals { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px 24px; margin: 0; }
.db-monster-vitals div { min-width: 0; }
.db-monster-vitals dt { margin-bottom: 3px; color: #89857d; font-size: .864rem; text-transform: uppercase; letter-spacing: .07em; }
.db-monster-vitals dd { margin: 0; color: #e7e2d8; font-family: 'Roboto Mono', monospace; font-size: 1.152rem; }

.db-monster-attacks { display: grid; gap: 9px; }
.db-monster-attacks article {
  display: grid;
  grid-template-columns: minmax(85px, .8fr) repeat(2, minmax(0, 1fr));
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid #30343a;
  border-left-color: #725e39;
  background: #0e1012;
  color: #c9c5bd;
  font-family: 'Roboto Mono', monospace;
  font-size: .984rem;
}
.db-monster-attacks strong { color: #e4d3a3; font-family: Roboto, Arial, sans-serif; }

.db-monster-resistance-section { padding-bottom: 27px; }
.db-monster-resistances { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 7px; margin: 0; }
.db-monster-resistances div { padding: 10px 6px; border: 1px solid #30343a; background: #0e1012; text-align: center; }
.db-monster-resistances dt { color: #918d85; font-size: .84rem; text-transform: uppercase; }
.db-monster-resistances .db-resistance-name--fire { color: #ef765f; }
.db-monster-resistances .db-resistance-name--cold { color: #78b7ff; }
.db-monster-resistances .db-resistance-name--lightning { color: #f0dc69; }
.db-monster-resistances .db-resistance-name--poison { color: #7dcc68; }
.db-monster-resistances .db-resistance-name--physical { color: #d9d1c4; }
.db-monster-resistances .db-resistance-name--magic { color: #c98cff; }
.db-monster-resistances dd { margin: 4px 0 0; color: #e5dfd2; font-family: 'Roboto Mono', monospace; }

.db-monster-skills,
.db-monster-areas { display: flex; flex-wrap: wrap; gap: 8px; }
.db-monster-skills > a,
.db-monster-skills > span,
.db-monster-areas > a,
.db-monster-none {
  display: inline-flex;
  flex-direction: column;
  justify-content: center;
  min-height: 30px;
  padding: 6px 10px;
  border: 1px solid #353a40;
  border-radius: 3px;
  background: #0e1012;
  color: #d8c58e;
  text-decoration: none;
}
.db-monster-skills > a:hover,
.db-monster-areas > a:hover { border-color: #8b7443; color: #f1d993; }
.db-monster-skills small { color: #7f7b73; font-size: .792rem; }
.db-monster-none { color: #77736b; font-size: .96rem; }
.db-monster-related { margin-top: 22px; }
.db-monster-superunique-data { margin-top: 22px; }
.db-monster-superunique-data > div { display: grid; grid-template-columns: repeat(auto-fit, minmax(235px, 1fr)); gap: 9px; }
.db-monster-superunique-data article { padding: 13px 14px; border: 1px solid #3a3428; background: #101214; }
.db-monster-superunique-data article h3 { margin: 0 0 8px; color: #e0c982; font-family: Exocet, serif; font-size: 1rem; }
.db-monster-superunique-data article p { margin: 0; color: #dad5ca; font-family: 'Roboto Mono', monospace; font-size: .96rem; overflow-wrap: anywhere; }
.db-monster-superunique-data article p span { display: block; margin-bottom: 3px; color: #817d75; font-family: Roboto, Arial, sans-serif; font-size: .816rem; letter-spacing: .07em; text-transform: uppercase; }
.db-monster-page--single .db-monster-sheet-bar .db-badges { justify-content: flex-end; }
.db-monster-vitals--single { grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); }
.db-herald-progression { border-top: 1px solid #302c24; }
.db-herald-tier-list {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.db-herald-tier-list li {
  display: flex;
  min-width: 0;
  min-height: 105px;
  flex-direction: column;
  gap: 6px;
  padding: 13px 12px;
  border: 1px solid #3a3428;
  border-top-color: #8b7443;
  background: linear-gradient(180deg, rgba(88, 70, 36, .17), #0e1012 38%);
}
.db-herald-tier-list li > span {
  color: #89857d;
  font-size: .816rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.db-herald-tier-list strong { color: #e4d3a3; font-family: Exocet, serif; font-weight: 400; }
.db-herald-tier-list small { margin-top: auto; color: #b8b2a7; font-family: 'Roboto Mono', monospace; line-height: 1.45; }
.db-monster-single-relations { border-top: 1px solid #302c24; }
.db-monster-single-relations .db-relation-groups { gap: 12px; }

@media (max-width: 760px) {
  .db-monster-hero { grid-template-columns: 150px minmax(0, 1fr); min-height: 150px; }
  .db-monster-art img { width: 146px; height: 150px; }
  .db-monster-heading { padding: 20px; }
  .db-monster-sheet-bar { align-items: stretch; flex-direction: column; padding: 20px; }
  .db-monster-stat-layout,
  .db-monster-lower-grid { grid-template-columns: 1fr; }
  .db-monster-stat-layout > :first-child,
  .db-monster-lower-grid > :first-child { border-right: 0; border-bottom: 1px solid #302c24; }
  .db-monster-resistances { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .db-herald-tier-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 480px) {
  .db-monster-hero { grid-template-columns: 1fr; text-align: center; }
  .db-monster-art { min-height: 140px; border-right: 0; border-bottom: 1px solid rgba(199, 179, 119, .22); }
  .db-monster-art img { width: min(100%, 190px); height: 140px; }
  .db-monster-heading { padding: 18px 14px 22px; }
  .db-monster-variant-tabs button { flex-basis: 125px; }
  .db-monster-stat-section { padding: 20px 16px; }
  .db-monster-vitals { gap: 10px 14px; }
  .db-monster-attacks article { grid-template-columns: 1fr; gap: 5px; }
  .db-monster-resistances { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .db-herald-tier-list { grid-template-columns: 1fr; }
  .db-herald-tier-list li { min-height: 0; }
}

/* Administrator-authored database content */
[data-db-content-field] > :first-child { margin-top: 0; }
[data-db-content-field] > :last-child { margin-bottom: 0; }
[data-db-content-field] h3,
[data-db-content-field] h4 { color: #d7bd78; font-family: Exocet, serif; font-weight: 400; }
[data-db-content-field] h3 { margin: 1.15rem 0 .55rem; font-size: 1.296rem; }
[data-db-content-field] h4 { margin: 1rem 0 .45rem; font-size: 1.176rem; }
[data-db-content-field] ul,
[data-db-content-field] ol { margin: .65rem 0; padding-left: 1.45rem; }
[data-db-content-field] li + li { margin-top: .42rem; }
[data-db-content-field] blockquote {
  margin: .8rem 0;
  padding: .65rem .85rem;
  border-left: 3px solid #8b7443;
  background: rgba(0, 0, 0, .2);
  color: #cfc8b9;
}
[data-db-content-field] code,
[data-db-content-field] pre { font-family: 'Roboto Mono', monospace; }
[data-db-content-field] code { color: #dfc781; }
[data-db-content-field] pre {
  max-width: 100%;
  overflow-x: auto;
  padding: .75rem;
  border: 1px solid #38342c;
  background: #0c0e10;
  white-space: pre-wrap;
}
[data-db-content-field] hr { height: 1px; margin: 1rem 0; border: 0; background: #453d2d; }
.db-monster-hero-description [data-db-content-field] p { margin: .65rem 0 0; }


.db-skill-progression-note {
  margin: -4px 0 14px;
  color: #979187;
  font-size: .984rem;
}
.db-body[data-db-page="detail"][data-category="skill"] .db-detail-header {
  grid-template-columns: 110px minmax(0, 1fr) auto;
}
.db-hero-editor-header-link {
  justify-self: end;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border: 1px solid #8d743e;
  border-radius: 3px;
  background: #302719;
  color: #f0d58e;
  font-size: .96rem;
  font-weight: 600;
  letter-spacing: .02em;
  text-decoration: none;
}
.db-hero-editor-header-link:hover,
.db-hero-editor-header-link:focus-visible {
  border-color: #c6a75d;
  background: #3b301d;
  color: #ffe7a6;
}
@media (max-width: 700px) {
  .db-body[data-db-page="detail"][data-category="skill"] .db-detail-header {
    grid-template-columns: 72px minmax(0, 1fr);
  }
  .db-hero-editor-header-link {
    grid-column: 2;
    justify-self: start;
  }
}
.db-skill-progression-scroll {
  max-width: 100%;
  overflow-x: auto;
  border: 1px solid #37342e;
  background: #0b0d0f;
  scrollbar-color: #665635 #151719;
}
.db-skill-progression-scroll:focus-visible {
  outline: 2px solid #b09250;
  outline-offset: 2px;
}
.db-skill-progression-table {
  width: max-content;
  min-width: 100%;
  border-collapse: collapse;
  font-size: .936rem;
  font-variant-numeric: tabular-nums;
}
.db-skill-progression-table th,
.db-skill-progression-table td {
  min-width: 52px;
  padding: 9px 5px;
  border-right: 1px solid #292a2b;
  border-bottom: 1px solid #292a2b;
  text-align: center;
  white-space: nowrap;
}
.db-skill-progression-table thead th {
  background: #211d16;
  color: #d8bd7a;
  font-family: 'Roboto Mono', monospace;
  font-weight: 500;
}
.db-skill-progression-table tbody th {
  position: sticky;
  left: 0;
  z-index: 1;
  min-width: 175px;
  background: #151719;
  color: #d7d1c4;
  text-align: left;
  box-shadow: 1px 0 #3c382e;
}
.db-skill-progression-table tbody tr:nth-child(even) td { background: #111315; }
.db-skill-progression-table tr:last-child > * { border-bottom: 0; }
.db-skill-progression-table tr > *:last-child { border-right: 0; }
.db-skill-prerequisites ul,
.db-skill-synergies ul {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.db-skill-prerequisites li,
.db-skill-synergies li {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 7px;
  padding: 9px 11px;
  border-bottom: 1px solid #2f3338;
}
.db-skill-prerequisites li:last-child,
.db-skill-synergies li:last-child { border-bottom: 0; }
.db-skill-prerequisites a,
.db-skill-synergies a {
  color: #84aee0;
  font-weight: 600;
  text-decoration: none;
}
.db-skill-prerequisites a:hover,
.db-skill-prerequisites a:focus-visible,
.db-skill-synergies a:hover,
.db-skill-synergies a:focus-visible { color: #b9d5f7; text-decoration: underline; }
.db-skill-synergies span { color: #d7d1c4; }

@media (max-width: 620px) {
  .db-skill-progression-table tbody th { min-width: 145px; }
}
