/* ForEveroth / Forever dungeon atlas */
.dungeon-main{padding-top:18px}.dg-shell{padding:16px 18px 23px}.dg-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}.dg-heading h1{font:500 clamp(28px,3vw,38px) Georgia,serif;color:#f1dab0;margin:4px 0}.dg-heading p{font-size:12px;margin:0}.dg-stats{display:flex;gap:7px;flex-wrap:wrap}.dg-stat{border:1px solid #6d684e;color:#dfceaf;background:#261f16;padding:6px 10px;font-size:11px}.dg-controls{display:grid;grid-template-columns:minmax(200px,1.5fr) minmax(125px,.65fr) minmax(125px,.7fr);gap:9px;margin:13px 0}.dg-field{display:grid;gap:4px;font-size:11px;color:#aeb5a2}.dg-field input,.dg-field select{width:100%;min-width:0;height:38px;border:1px solid #4b574b;background:#0a1510;color:#e8e6da;font-size:12px;padding:6px 10px}.dg-grid{display:grid;grid-template-columns:minmax(220px,292px) minmax(0,1fr);gap:12px;align-items:start}.dg-directory,.dg-map-card,.dg-info-card,.dg-bosses{background:#0d1812;border:1px solid #38493b;min-width:0}.dg-directory{display:flex;flex-direction:column;max-height:730px;overflow:hidden}.dg-panel-title{display:flex;justify-content:space-between;align-items:center;padding:11px 13px;border-bottom:1px solid #334235}.dg-panel-title h2,.dg-card-title{font:500 18px Georgia,serif;color:#ebd3a8;margin:0}.dg-panel-title small{color:#b7b7a7;font-size:11px}.dg-options{overflow:auto;scrollbar-color:#526d55 transparent}.dg-entry{display:grid;gap:5px;width:100%;text-align:left;color:#ddd9c9;background:transparent;border:0;border-left:3px solid transparent;border-bottom:1px solid #293a2e;border-radius:0;padding:13px 12px;cursor:pointer}.dg-entry:hover{background:#253228}.dg-entry.active{border-left-color:#ebbd71;background:#26362a}.dg-entry-top{display:flex;justify-content:space-between;gap:6px;align-items:start}.dg-entry strong{font-size:13px;line-height:1.3}.dg-level{color:#eacc95;white-space:nowrap;font-size:12px}.dg-entry small{font-size:11px;color:#a1b0a1}.dg-chips{display:flex;flex-wrap:wrap;gap:6px}.dg-chip{border:1px solid #5b5b4a;color:#c9cfbc;padding:3px 6px;font-size:10px;background:#293023}.dg-chip.live{border-color:#628562;background:#1d3c2b;color:#bde2b9}.dg-chip.pending{border-color:#806b4e;color:#ead1a4;background:#372b1a}.dg-content{display:grid;gap:12px}.dg-map-card{overflow:hidden}.dg-map-top{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center;padding:11px 13px;border-bottom:1px solid #374739}.dg-map-top h2{font:500 19px Georgia,serif;color:#ebd3a8;margin:0}.dg-map-top small{color:#9eae9e;font-size:11px;display:block}.dg-mode{display:flex;flex-wrap:wrap;gap:5px}.dg-mode button,.dg-zoom button{font-size:11px;color:#dbd5bc;border:1px solid #57664f;background:#1b291f;border-radius:2px;padding:6px 9px}.dg-mode button.active{color:#191e12;background:#e0be83;border-color:#f0d7a4}.dg-zoom{display:flex;gap:4px}.dg-zoom button{min-width:30px}.dg-canvas-wrap{position:relative;background:radial-gradient(ellipse at center,#203a2b,#0c1812);overflow:hidden}.dg-map{display:block;width:100%;height:auto;aspect-ratio:1002/620;cursor:grab;touch-action:none}.dg-map:active{cursor:grabbing}.dg-map-caption{position:absolute;bottom:8px;left:10px;right:10px;pointer-events:none;color:#e1cda4;text-shadow:0 2px 5px #030803;background:#08150bd9;padding:6px 9px;font-size:10px;max-width:max-content}.dg-map-foot{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:10px 13px;border-top:1px solid #334436;color:#a6b3a4;font-size:11px}.dg-map-foot a,.dg-info-card a,.dg-sources a{color:#e1bf87;text-decoration:underline}.dg-info-card{padding:14px}.dg-info-head{display:flex;gap:8px;align-items:center;justify-content:space-between;flex-wrap:wrap}.dg-info-head h2{font:500 23px Georgia,serif;color:#ecd4ab;margin:0}.dg-info-meta{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.dg-info-card p{font-size:12px;line-height:1.5;color:#b4bfae}.dg-info-card h3{font:500 16px Georgia,serif;color:#e8cda4;margin:14px 0 6px}.dg-info-actions{display:flex;flex-wrap:wrap;gap:9px}.dg-info-actions a{font-size:12px}.dg-bosses{padding:13px}.dg-bosses .dg-section-title{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px}.dg-bosses .dg-section-title h2{font:500 20px Georgia,serif;color:#ecd4ac;margin:0}.dg-bosses .dg-section-title small{color:#a5aea2;font-size:11px}.dg-boss-row{border-top:1px solid #38483b;padding:10px 0}.dg-boss-summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.dg-boss-button{padding:5px 0;display:flex;align-items:center;gap:10px;cursor:pointer;background:transparent;border:0;color:#e7d7b7;font-size:14px;font-weight:700;text-align:left}.dg-boss-button:hover{color:#f4d795}.dg-boss-button.active{color:#f1c47b}.dg-index{display:grid;place-items:center;width:25px;height:25px;flex:none;background:#473620;border:1px solid #bc9258;color:#f3d49d;font-size:11px}.dg-boss-note{font-size:11px;color:#acb6a8;margin:5px 0 10px;line-height:1.6}.dg-drops{display:grid;grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:7px}.dg-drop{display:flex;align-items:center;gap:10px;border:1px solid #3d4c3d;background:#1c2a20;min-height:57px;padding:7px 9px;color:#b8a7df;cursor:help;position:relative}.dg-drop:hover,.dg-drop:focus-visible{border-color:#b69adb;background:#283025}.dg-drop img{width:34px;height:34px;flex:none;border:1px solid #586456;object-fit:cover}.dg-drop strong{font-size:12px;display:block;line-height:1.25}.dg-drop small{display:block;margin-top:3px;font-size:10px;color:#b0bdad}.dg-empty{color:#a6b6a3;font-size:12px;padding:14px 0}.dg-source-note{color:#a0ab9a;font-size:11px;line-height:1.5;margin:10px 0 0}.dg-sources{font-size:11px;color:#acb6a8;margin-top:16px;padding:10px;border-top:1px solid #425341}.dg-tooltip{position:fixed;z-index:110;background:#080b13;min-width:210px;max-width:min(340px,90vw);border:1px solid #9b78bb;box-shadow:0 14px 40px #000a;padding:13px;pointer-events:none}.dg-tooltip[hidden]{display:none}.dg-tooltip strong{display:block;color:#ba9de0;font-size:14px;margin-bottom:8px}.dg-tooltip span{display:block;color:#f4e9d4;font-size:12px;margin:4px 0}.dg-tooltip small{display:block;color:#b8b6a8;font-size:11px;border-top:1px solid #40404c;padding-top:8px;margin-top:10px}.dg-boss-label{font-size:10px;color:#d7c497}.dg-mobile-link{display:none}.dg-no-map{color:#c5af8b;font-size:12px}.dg-legal-note{font-size:11px;color:#9ea99a;margin:10px 0 0}
@media(max-width:980px){.dg-grid{grid-template-columns:240px minmax(0,1fr)}.dg-shell{padding:13px}.dg-directory{max-height:620px}}@media(max-width:720px){.dg-grid{display:flex;flex-direction:column}.dg-directory{width:100%;max-height:255px}.dg-content{width:100%}.dg-controls{grid-template-columns:1fr 1fr}.dg-controls .dg-field:first-child{grid-column:1/-1}.dg-heading h1{font-size:28px}.dg-map-top h2{font-size:17px}.dg-drop{min-height:54px}.dg-mobile-link{display:inline}}@media(prefers-reduced-motion:reduce){.dg-entry,.dg-mode button{transition:none}}
/* Rich loot source links, group/quest drops and compact numeric rates */
.dg-drop{cursor:help}.dg-drop>span{min-width:0;flex:1}.dg-drop small{line-height:1.25}
.dg-item-page{margin-left:auto;flex:0 0 24px;display:grid;place-items:center;align-self:center;width:24px;height:24px;color:#f0d3a4!important;background:#3b3326;border:1px solid #7c6e4f;text-decoration:none!important;font-size:15px}.dg-item-page:hover,.dg-item-page:focus-visible{background:#65512f}
.dg-other-title{font:500 16px Georgia,serif;color:#e5cfa9;margin:0 0 10px}

/* Real maps and documented Forever-vs-Classic differences */
.dg-mode button:disabled{opacity:.43;cursor:not-allowed;background:#101a15;color:#829383}
.dg-changes{margin:13px 0;border-top:1px solid #3c4a3d;border-bottom:1px solid #3c4a3d;padding:5px 0}
.dg-change{display:flex;gap:9px;align-items:start;margin:9px 0!important;color:#d1d9c5!important;font-size:11px!important}
.dg-change .dg-chip{flex:none;white-space:nowrap}.dg-change span:last-child{flex:1}
.dg-map{image-rendering:auto}.dg-map-caption{white-space:normal;max-width:min(95%,650px);line-height:1.45}
.dg-entry .dg-chips{row-gap:5px}.dg-entry .dg-chip.live{font-weight:650}
.dg-drop img{border-radius:2px}.dg-map-source-fallback{display:block;color:#d9c8a8;font-size:13px}
@media(max-width:720px){.dg-change{display:grid;gap:4px}.dg-map-foot{line-height:1.6}.dg-map-caption{font-size:9px}}


/* v5 — ForEveroth's unified Rare / PNJ map explorer language */
.dungeon-main{padding-top:12px}
.dg-shell{padding:15px 17px 23px}
.dg-heading{align-items:center;margin-bottom:12px}
.dg-heading h1{font:500 clamp(25px,2.5vw,30px) Georgia,serif;color:#ead4af;margin:3px 0}
.dg-heading p{font-size:12px;line-height:1.45;max-width:650px}
.dg-stats{gap:6px}
.dg-stat{background:#19251d;border:1px solid #3b4d3e;color:#b5c2b1;font-size:11px;padding:6px 9px}
.dg-stat strong{color:#eed2a2;font-size:12px}
.dg-controls{margin:11px 0 13px;grid-template-columns:minmax(175px,1.5fr) minmax(130px,.8fr) minmax(170px,1fr)}
.dg-field{font-size:11px;color:#b8c3b4}
.dg-field input,.dg-field select{height:37px;font-size:12px;background:#0c1610;border:1px solid #4a584a}
.dg-grid{grid-template-columns:minmax(230px,285px) minmax(0,1fr);gap:12px}
.dg-directory{background:#0c1711;border-color:#39473b;max-height:745px}
.dg-entry{padding:12px 11px}
.dg-entry strong{font-size:13px;font-weight:650}
.dg-entry small{font-size:11px}
.dg-entry.active{background:#27372b;border-left-color:#dcb37c}
.dg-entry .dg-chips{gap:5px}
.dg-entry .dg-chip{font-size:9px;padding:3px 5px}
.dg-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(295px,350px);gap:12px;align-items:start}
.dg-map-card{grid-column:1/-1;background:#0c1711;border-color:#39473b}
.dg-map-top{padding:11px 13px}
.dg-map-top h2{font-size:17px}
.dg-map-top small{margin-top:2px}
.dg-map{aspect-ratio:1002/620}
.dg-map-caption{background:#08150bdc;border:1px solid #52634d;left:9px;bottom:9px;padding:5px 9px;font-size:10px;letter-spacing:.035em}
.dg-map-foot{padding:8px 12px;font-size:10px}
.dg-info-card{grid-column:1;min-height:200px;background:#0c1711;border-color:#39473b;padding:14px}
.dg-info-head h2{font-size:22px}
.dg-info-card h3{font:600 12px "Trebuchet MS","Segoe UI",sans-serif;color:#d4bd8e;margin:14px 0 5px}
.dg-info-card p{font-size:12px;line-height:1.65;margin:5px 0}
.dg-info-actions{margin-top:10px}
.dg-info-actions a{display:inline-flex;align-items:center;padding:7px 10px;color:#ddbc86!important;border:1px solid #61563f;text-decoration:none;background:#221f19;font-size:11px}
.dg-info-actions a:hover{background:#30281e}
.dg-changes{margin:11px 0 4px;padding:7px 0;border-color:#36463a}
.dg-change{gap:8px;font-size:11px!important;line-height:1.5}
.dg-change .dg-chip{white-space:nowrap}
.dg-bosses{grid-column:2;background:#0c1711;border-color:#39473b;padding:12px;min-height:220px}
.dg-bosses .dg-section-title{margin-bottom:10px}
.dg-bosses .dg-section-title h2{font-size:18px}
.dg-boss-nav{max-height:188px;overflow-y:auto;display:grid;border:1px solid #344537;scrollbar-color:#4c614c transparent}
.dg-boss-navitem{min-height:35px;border:0;border-left:3px solid transparent;border-bottom:1px solid #304135;background:#132018;color:#d9ddce;padding:7px 9px;text-align:left;display:flex;align-items:center;gap:8px;border-radius:0;cursor:pointer}
.dg-boss-navitem:last-child{border-bottom:0}
.dg-boss-navitem:hover{background:#24352a}
.dg-boss-navitem.active{background:#273a2a;color:#f0d2a2;border-left-color:#dcb47c}
.dg-boss-n{font-size:10px;color:#d3b77e;font-weight:800;letter-spacing:.045em}
.dg-boss-navname{flex:1;font-size:12px;font-weight:600;min-width:0}
.dg-nav-rare{color:#c8a4df;font-size:9px;white-space:nowrap}
.dg-selected-boss{padding:12px 1px 3px}
.dg-selected-heading{display:flex;align-items:center;gap:10px;padding:0 2px 10px}
.dg-selected-index{display:grid;place-items:center;width:40px;height:40px;flex:none;border:1px solid #947752;color:#e4c58b;background:#272518;font-size:14px;font-weight:800}
.dg-selected-heading div{min-width:0}
.dg-selected-heading small{display:block;color:#a7b9a4;letter-spacing:.13em;font-size:9px;margin-bottom:3px}
.dg-selected-heading h3{font:500 19px Georgia,serif;color:#f0d8b1;margin:0;line-height:1.25}
.dg-selected-boss .dg-chips{margin-bottom:10px}
.dg-selected-note{border-left:2px solid #756345;margin:7px 0 12px!important;padding-left:10px;font-size:11px;color:#b8c4b0;line-height:1.55}
.dg-loot-heading{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #354437;border-bottom:1px solid #354437;padding:9px 2px;font-size:12px;color:#e3ca9c}
.dg-loot-heading span{color:#b2bfae}
.dg-selected-boss .dg-drops{grid-template-columns:minmax(0,1fr);gap:6px;padding-top:9px}
.dg-drop{padding:7px 8px;min-height:50px;gap:8px;background:#17261c;border-color:#3c4d40;color:#c7afec}
.dg-drop strong{font-size:12px}
.dg-drop small{font-size:10px}
.dg-drop img{width:34px;height:34px}
.dg-drop:hover,.dg-drop:focus-visible{background:#233229;border-color:#b19bc4}
.dg-loot-provenance{font-size:9px!important;color:#9daaa0!important}
.dg-panel-disclaimer{font-size:10px!important;color:#a4b1a4!important;line-height:1.45!important;margin:10px 0!important}
.dg-boss-actions{display:flex;gap:6px;justify-content:space-between;padding:9px 0}
.dg-pager{color:#ead0a0;background:#1c2d22;border:1px solid #58634e;padding:7px 9px;font-size:11px}
.dg-pager:hover{background:#2a392b}
.dg-extra-loot{border-top:1px solid #3b4b3c;padding-top:10px;margin-top:6px}
.dg-extra-loot summary{font-size:11px;color:#e0c28e;cursor:pointer}
.dg-extra-loot h4{font-size:12px;color:#d7c396;margin:12px 0 6px}
.dg-extra-loot .dg-drops{grid-template-columns:minmax(0,1fr)}
.dg-zero{padding:12px;background:#15231a;border:1px solid #3b493b}
.dg-zero strong{font-size:13px;color:#e2d0a8}
.dg-zero p{font-size:12px;color:#a6b3a3;margin:8px 0}
.dg-zero a{font-size:12px;color:#e1c38d;text-decoration:underline}
.dg-source-note{line-height:1.5}
.dg-bosses>.dg-source-note{font-size:10px;margin-top:10px;color:#8f9f8d}
.dg-sources{margin-top:13px;padding:9px 4px;border-top:1px solid #344336;color:#9fae9e}
.dg-sources strong{font-size:11px;color:#ccba96}
.dg-sources p{font-size:11px;line-height:1.55;margin:6px 0}
@media(max-width:1100px){
.dg-content{grid-template-columns:minmax(0,1fr)}
.dg-map-card,.dg-info-card,.dg-bosses{grid-column:1}
.dg-boss-nav{grid-template-columns:repeat(2,minmax(0,1fr));max-height:210px}
.dg-selected-boss .dg-drops{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:780px){
.dg-grid{display:flex;flex-direction:column}
.dg-content{width:100%;display:flex;flex-direction:column}
.dg-map-card,.dg-bosses,.dg-info-card{width:100%}
.dg-map-card{order:0}
.dg-bosses{order:1}
.dg-info-card{order:2}
.dg-directory{width:100%;max-height:230px}
.dg-controls{grid-template-columns:repeat(2,minmax(0,1fr))}
.dg-controls>.dg-field:first-child{grid-column:1/-1}
.dg-boss-nav{max-height:190px}
}
@media(max-width:520px){
.dg-shell{padding:12px}
.dg-heading h1{font-size:26px}
.dg-stats{width:100%}
.dg-stat{flex:1;text-align:center}
.dg-map-top{gap:7px}
.dg-map-top>div:first-child{width:100%}
.dg-boss-nav{grid-template-columns:1fr}
.dg-selected-boss .dg-drops{grid-template-columns:minmax(0,1fr)}
.dg-controls{grid-template-columns:minmax(0,1fr)}
.dg-controls>.dg-field:first-child{grid-column:auto}
}


/* Boss hover and direct source-map access */
.dg-map-hover{position:absolute;z-index:3;pointer-events:none;border:1px solid #d8b77c;background:#101b15f2;box-shadow:0 5px 20px #0009;color:#f3deb5;font-size:12px;font-weight:700;padding:7px 10px;max-width:230px;line-height:1.25}
.dg-map-hover[hidden],.dg-open-map[hidden]{display:none!important}
.dg-open-map{padding:4px 7px;border:1px solid #4d664e;background:#1b2c20;text-decoration:none!important;white-space:nowrap}
.dg-map-foot>a{display:inline-flex;align-items:center}
.dg-map-foot span{flex:1;min-width:150px}
.dg-item-page{cursor:pointer}
.dg-boss-navitem:focus-visible,.dg-pager:focus-visible{outline:2px solid #eac98b;outline-offset:1px}


.dg-way{display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin:5px 0 13px}
.dg-way:empty{display:none}
.dg-way-button{border:1px solid #766440;color:#e8cb96;background:#322719;padding:7px 11px;font-size:11px;cursor:pointer}
.dg-way-button:hover{background:#47361e;border-color:#c7a36c}
.dg-way-coords{color:#99b0a1;font-size:11px;font-variant-numeric:tabular-nums}
