.dw-hub-note{color:var(--muted);margin:24px 0}.dw-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:24px}.dw-card{border:1px solid #506047;border-radius:18px;background:linear-gradient(150deg,#26362b,#18251e);overflow:hidden;max-width:920px}.dw-cover-link{display:block;background:#101915}.dw-cover-link img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain}.dw-card-body{padding:26px}.dw-card-body h2{margin:12px 0}.dw-card-body .button-link{display:inline-block;margin:10px 0}.dw-status{display:inline-block;padding:4px 12px;border:1px solid #9d7950;border-radius:999px;color:#f3d4a3;font-size:13px;background:#413525}.dw-facts{display:flex;flex-wrap:wrap;gap:10px 24px;padding:18px 0;font-size:14px;color:var(--muted)}.dw-facts b{color:var(--text);padding-left:5px}.dw-toc{background:#1c2b22;border-radius:14px}.dw-toc ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 24px;padding-left:24px}.dw-toc button{background:transparent;color:var(--mint);text-align:left;padding:4px 0;line-height:1.6;font-size:14px}.dw-toc button:hover{color:var(--gold);text-decoration:underline}.dw-section{padding:12px 0 24px;margin:12px 0 24px;border-bottom:1px solid var(--line);scroll-margin-top:16px;outline:none}.dw-section h2{color:#eed3a2}.dw-section:focus h2{outline:2px solid var(--gold);outline-offset:5px}.dw-figure,.dw-item-figure,.dw-people{margin:18px 0 24px}.dw-image-button{display:block;position:relative;padding:0;width:100%;background:#161d19;border:1px solid #485847;border-radius:14px;overflow:hidden;color:var(--text)}.dw-image-button img{display:block;width:100%;height:auto;object-fit:contain;max-height:680px}.dw-image-button span{position:absolute;right:10px;bottom:10px;padding:4px 10px;background:#101a15df;border:1px solid #778063;border-radius:20px;font-size:12px;color:#e8d3ab}.dw-figure figcaption,.dw-item-figure figcaption,.dw-people figcaption{padding:10px 3px;color:var(--muted);font-size:13px;line-height:1.7}.dw-item-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));gap:10px}.dw-item{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:16px 10px;background:#1c2b23;border:1px solid #435643;border-radius:12px;color:var(--text);font-size:14px}.dw-item:hover{border-color:var(--gold)}.dw-item .item-image{width:76px;height:76px}.dw-item small{color:var(--muted);font-size:12px}.dw-people>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:14px}.dw-person{display:flex;flex-direction:column;align-items:center;text-align:center;padding:20px;background:radial-gradient(ellipse at center,#3b4233,#19271e);border:1px solid #475844;border-radius:14px}.dw-person img{width:192px;max-width:100%;height:192px;object-fit:contain;image-rendering:pixelated}.dw-person p{font-size:13px;color:var(--muted);margin:8px 0 0}.dw-diagram{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:12px;margin:22px 0}.dw-diagram>div{padding:18px;background:#233027;border:1px solid #586447;border-radius:12px}.dw-diagram b{display:block;color:var(--gold);font-size:26px;line-height:1.4}.dw-diagram strong,.dw-diagram small{display:block;margin-top:6px}.dw-diagram small{color:var(--muted);font-size:13px}.dw-top{font-size:12px;border:1px solid var(--line);color:var(--mint);background:transparent;padding:6px 12px;border-radius:20px}.dw-lightbox{color:var(--text);background:#17221b;border:1px solid #64734e;border-radius:16px;width:min(1100px,calc(100% - 24px));max-width:calc(100% - 24px);max-height:calc(100dvh - 24px);padding:18px;overflow:auto}.dw-lightbox::backdrop{background:#070d0ae8}.dw-lightbox header{display:flex;justify-content:space-between;align-items:start;gap:14px;margin-bottom:12px}.dw-lightbox h2{font-size:18px;margin:0}.dw-lightbox header button{flex-shrink:0;white-space:nowrap}.dw-lightbox>img{display:block;width:100%;height:auto;max-height:75vh;object-fit:contain}.dw-lightbox p{font-size:13px;color:var(--muted);margin:12px 0 0}
@media(max-width:720px){.dw-card-body{padding:18px}.dw-toc ol{grid-template-columns:1fr;gap:4px}.dw-section h2{font-size:22px}.dw-item-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dw-item{padding:12px 8px}.dw-item .item-image{width:64px;height:64px}.dw-facts{gap:10px 14px}.dw-lightbox{padding:12px}.dw-lightbox h2{font-size:16px}.dw-person{padding:14px}}
@media print{.dw-top,.dw-image-button span,.dw-toc{display:none}.dw-image-button,.dw-card,.dw-person,.dw-item,.dw-diagram>div{background:white;color:black}.dw-section{break-inside:auto}.dw-figure{break-inside:avoid}}
/* Compact catalog: a single dungeon keeps one slot, ready for more entries. */
.dw-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:start}.dw-card{max-width:none;min-width:0;border-radius:14px}.dw-cover-link img{height:190px;aspect-ratio:auto;object-fit:contain;padding:10px}.dw-card-body{padding:16px}.dw-card-body h2{font-size:19px;margin:10px 0;overflow-wrap:anywhere}.dw-card-body>p{display:none}.dw-card-body .dw-status{font-size:11px;padding:2px 8px}.dw-card-body .dw-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 10px;padding:10px 0;font-size:12px}.dw-card-body .dw-facts b{padding-left:2px}.dw-card-body .button-link{font-size:12px;padding:7px 10px;margin:8px 0 0;display:block;text-align:center}
@media(max-width:1100px){.dw-cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.dw-cards{gap:10px}.dw-cover-link img{height:145px;padding:6px}.dw-card-body{padding:10px}.dw-card-body h2{font-size:16px}.dw-card-body .dw-facts{grid-template-columns:1fr;font-size:11px;gap:4px}.dw-card-body .button-link{font-size:11px;padding:6px}.dw-card-body .dw-status{font-size:10px;padding:2px 6px}}
