/* Atlas browsing and native loot inspection. */
html{overflow-x:clip;overscroll-behavior:none}
body{max-width:100%;overflow-x:clip;overscroll-behavior:none}
.layout{min-width:0;box-sizing:border-box}
.topbar{max-width:100%;box-sizing:border-box}
.location-card,.location-atlas,.topbar img{-webkit-user-drag:none;user-select:none}
.location-card-art.is-chamber img{object-fit:contain;padding:10px;box-sizing:border-box}
body[data-view=travel] .heading{display:none}
#panel-travel{max-width:1120px;margin-inline:auto;padding:18px 20px 24px;background:transparent;box-shadow:none;border:0}
#panel-travel:before,#panel-travel>.hint,#panel-travel>.section-heading .eyebrow{display:none}
#panel-travel>.section-heading{padding-bottom:14px;margin-bottom:18px}
#panel-travel>.section-heading h2{font:26px Georgia,serif}
.locations-backdrop{display:none}
body[data-view=travel]{isolation:isolate;background:#10150f}
body[data-view=travel] .locations-backdrop{display:block;position:fixed;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#0e140fce,#11160f99 60%,#10150f75),linear-gradient(0deg,#0c120fdb,transparent 75%),url('/ui/assets/locations/valley.webp') 65% center/cover no-repeat}
body[data-view=travel] #panel-travel>.section-heading{border-bottom-color:#b1935355}
body[data-view=travel] .location-region-heading h3{text-shadow:0 2px 12px #000}
@media(max-width:700px){body[data-view=travel] .locations-backdrop{background-image:linear-gradient(#0e140faa,#11160fd9),url('/ui/assets/locations/valley-mobile.webp');background-position:center;background-size:cover}}
.location-detail-open>.section-heading{display:none!important}
.locations-content{min-width:0}
.location-icon{width:17px;height:17px;flex:none;vertical-align:middle;color:#c7a66c}
.location-region{margin-bottom:24px}
.location-region-heading,.location-enemy-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.location-region-heading h3{font:21px/1.3 Georgia,serif;color:#ead9af;margin:0}
.location-region-count{font:11px/1.4 Arial,sans-serif;color:#b7aa8d;white-space:nowrap}
.location-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.location-card{display:block;min-width:0;text-align:left;padding:0;border:1px solid #625034;border-radius:3px;background:#11120f;color:#ead9af;overflow:hidden;cursor:pointer}
.location-card:hover{background:#211e17;border-color:#bd9655}
.location-card:focus-visible,.locations-content button:focus-visible,.locations-content input:focus-visible,.drop-sheet button:focus-visible,.drop-sheet summary:focus-visible{outline:2px solid #dfba70;outline-offset:3px}
.location-card.is-here{border-color:#c59b54;box-shadow:inset 0 -2px #b68b42}
.location-card-art{position:relative;aspect-ratio:4/3;overflow:hidden;background:#181b14}
.location-card-art img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;filter:brightness(.9) saturate(.85)}
.location-card-art:after{content:'';position:absolute;inset:55% 0 0;background:linear-gradient(transparent,#0d100bbf);pointer-events:none}
.location-card-label{position:absolute;z-index:1;top:8px;left:8px;display:flex;align-items:center;gap:4px;padding:4px 6px;border:1px solid #ae8845;background:#14150ee8;color:#edce88;font:10px/1.3 Arial,sans-serif;border-radius:2px}
.location-card-label .location-icon{width:12px;height:12px}
.location-level-badge{position:absolute;z-index:1;bottom:8px;left:10px;font:11px/1.4 Arial,sans-serif;color:#f0dfb8;text-shadow:0 1px 3px #000}
.location-card-body{padding:10px 12px 0}
.location-card h3{font:21px/1.25 Georgia,serif;margin:0 0 5px;color:#ead9af}
.location-card-body p{font:11px/1.5 Arial,sans-serif;color:#b7aa8d;margin:0 0 10px}
.location-card-footer{display:flex;align-items:center;gap:5px;padding:9px 0;border-top:1px solid #6f573266;color:#cbb995;font:11px/1.4 Arial,sans-serif}
.location-card-footer .location-icon{width:14px;height:14px}
.location-card-footer small{margin-left:auto;font-size:10px;color:#ac9b7b}
.location-back{display:flex;align-items:center;gap:7px;padding:4px 0!important;border:0!important;background:none!important;color:#c7a66c!important;font-size:11px!important;min-height:40px}
.location-detail-heading{padding:6px 0 16px}
.location-detail-heading h2{font:28px/1.2 Georgia,serif;margin:0 0 8px;color:#ead9af}
.location-detail-meta{display:flex;align-items:center;gap:6px;font-size:11px;color:#b7aa8d}
.location-detail-meta>span{padding-left:10px;margin-left:4px;border-left:1px solid #6f5732;color:#dcc69b}
.location-detail-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:16px;align-items:start}
.location-atlas{padding:6px;margin:0;background:#11120f;border:1px solid #6f5732;border-radius:3px}
.location-atlas img{display:block;width:100%;height:auto;max-height:460px;object-fit:contain}
.location-detail-actions{display:grid;gap:12px}
.location-surface{min-width:0;padding:15px;border:1px solid #625034;background:linear-gradient(120deg,#28221966,#11120fcc);border-radius:3px}
.location-surface h3{font:21px/1.25 Georgia,serif;color:#ead9af;margin:0 0 12px}
.location-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0 14px;padding:10px 0;border-block:1px solid #6f573266}
.location-facts span{display:block;color:#b7aa8d;font-size:10px}
.location-facts strong{display:block;margin-top:5px;font-size:15px;font-weight:500;color:#ead9af}
.location-time{display:flex;align-items:center;gap:7px;font:22px/1.3 Georgia,serif;color:#e8c479;margin:12px 0 7px}
.location-route{font-size:11px;line-height:1.6;color:#b7aa8d;margin:0 0 14px}
.location-action{display:flex;justify-content:center;align-items:center;width:100%;min-height:44px;font-size:12px;padding:9px}
.location-note{font-size:11px;line-height:1.5;color:#b7aa8d;margin:9px 0 0}
.location-npcs{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 13px}
.location-npcs span{font-size:10px;padding:5px 7px;border:1px solid #6f573266;color:#d3bf94;background:#11120f66}
.location-enemies{margin-top:18px}
.location-enemy-heading h3{margin:0}
.location-enemy-tools{display:flex;align-items:center;gap:12px;justify-content:space-between;margin:14px 0}
.location-enemy-tabs{display:flex;gap:4px}
.location-enemy-tabs button{min-height:40px;font-size:11px;padding:8px 10px;background:transparent;border-color:#6f5732;white-space:nowrap}
.location-enemy-tabs button[aria-pressed=true]{border-color:#c59b54;color:#edce88;background:#6b48252b}
.location-enemy-tabs button span{margin-left:5px;color:#b7aa8d;font-size:10px}
.location-search{display:block;max-width:230px;min-width:100px;flex:1;margin:0}
.location-search>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
.location-search input{width:100%;min-height:40px;font-size:12px;padding:8px 10px;background:#11120f;border-color:#6f5732}
.location-enemy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.location-enemy{min-width:0;border:1px solid #6f573266;background:#10120fcc;border-radius:3px}
.location-enemy-main{display:flex;align-items:center;gap:10px;padding:10px}
.location-enemy .mob-portrait,.location-stone-level{display:grid;place-items:center;width:52px;height:52px;flex:0 0 52px;object-fit:contain;background:#211e1744;border:1px solid #6f573266;border-radius:2px}
.location-stone-level .location-icon{width:24px;height:24px}
.location-enemy-copy{flex:1;min-width:0}
.location-enemy h4{font:17px/1.25 Georgia,serif;color:#ead9af;margin:0 0 6px;overflow-wrap:anywhere}
.location-enemy p{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font:10px/1.4 Arial,sans-serif;color:#b7aa8d;margin:0}
.location-enemy-level{color:#e0bd78}
.location-loot-button{display:flex;align-items:center;justify-content:center;gap:5px;flex:none;min-height:44px;padding:6px 8px;font-size:11px;color:#d8c49a;background:transparent;border:1px solid #6f573280}
.location-no-results{font-size:12px;color:#b7aa8d;padding:16px 0}
.drop-sheet{width:620px;max-width:calc(100vw - 32px);max-height:85dvh;padding:0;border:1px solid #9e7b42;border-radius:14px;background:linear-gradient(135deg,#211e17fc,#10120ffc);color:#ead9af;overflow:hidden;box-shadow:0 22px 90px #0009}
.drop-sheet[open]{display:flex;flex-direction:column;transform:none;animation:drop-enter .18s ease-out}
.drop-sheet>.item-sheet-handle{flex:none;margin:4px auto 0}
.drop-sheet>header{display:flex;align-items:center;gap:10px;padding:7px 18px 14px;border-bottom:1px solid #6f573280;flex:none}
.drop-sheet-emblem{width:36px;height:36px;object-fit:contain;flex:none}
.drop-sheet header>div{flex:1;min-width:0}
.drop-sheet h2{font:22px/1.2 Georgia,serif;margin:0 0 5px;color:#ead9af;overflow-wrap:anywhere}
.drop-sheet header p{font:11px/1.4 Arial,sans-serif;color:#b7aa8d;margin:0}
.drop-close{font-size:25px;min-width:44px;height:44px;padding:0;flex:none;background:none;border:0}
.drop-sheet-body{overflow:auto;overscroll-behavior:contain;padding:16px 18px;min-height:0;scrollbar-width:thin;scrollbar-color:#78623c #11120f}
.drop-sheet-body h3{display:flex;align-items:baseline;gap:8px;font:19px Georgia,serif;margin:0 0 14px}
.drop-sheet-body h3 small,.drop-shared summary small{font:11px Arial,sans-serif;color:#b7aa8d}
.drop-availability{margin:0 0 18px}
.drop-availability h4{display:flex;align-items:center;gap:7px;font:11px Arial,sans-serif;color:#d6c199;margin:0 0 9px}
.drop-availability h4 span{font-size:10px;color:#a99a7e;background:#6f573222;border:1px solid #6f573255;padding:2px 5px;border-radius:2px}
.drop-availability-locked h4{color:#a99a7e}
.drop-icon-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:7px}
.drop-preview-icon{position:relative;display:grid;place-items:center;height:58px;min-width:0;padding:6px;background:transparent url('/ui/assets/inventory-slot-frame.svg') center/100% 100% no-repeat;border:0;border-radius:0}
.drop-preview-icon:hover{background-color:#b58a3d1a}
.drop-preview-icon img{width:100%;height:100%;max-width:42px;max-height:46px;object-fit:contain}
.drop-preview-icon.locked img{filter:grayscale(1);opacity:.42}
.drop-preview-icon.conditional{box-shadow:inset 0 -2px #b58a3d}
.drop-lock{position:absolute;bottom:1px;right:1px;display:grid;place-items:center;background:#171710;border:1px solid #6f5732;color:#b7aa8d;width:15px;height:15px}
.drop-lock svg{width:12px;height:12px}
.drop-shared{border:1px solid #6f573280;margin:16px 0 0;background:#11120f55}
.drop-shared summary{position:relative;cursor:pointer;min-height:56px;padding:12px 36px 12px 12px;list-style:none}
.drop-shared summary::-webkit-details-marker{display:none}
.drop-shared summary strong{display:block;font:18px/1.3 Georgia,serif;color:#ead9af}
.drop-shared summary span{display:block;font-size:10px;color:#b7aa8d;margin-top:5px}
.drop-shared summary:after{content:'+';position:absolute;right:12px;top:18px;font:20px/1 Arial,sans-serif;color:#d0a45b}
.drop-shared[open] summary:after{content:'−'}
.drop-shared[open] summary{border-bottom:1px solid #6f573280}
.drop-shared>div{padding:14px 12px 0}
.drop-rules{margin:14px 0 0;color:#b7aa8d;font-size:11px;line-height:1.6}
.drop-rules summary{cursor:pointer;padding:8px 0;min-height:32px}
.drop-rules p{margin:6px 0}
.drop-empty{font-size:11px;color:#b7aa8d;line-height:1.6}
.drop-sheet.closing{opacity:0;transform:translateY(45px)!important;transition:transform .16s,opacity .16s}
.item-preview-note{font-size:12px!important;color:#b6a178!important}
.session-recovery{padding:17px;border:1px solid #6c5531;background:#14170f;margin-top:18px}.session-recovery p{color:#c3b393;font-size:13px;line-height:1.65;margin:0 0 15px}.session-recovery>div{display:flex;gap:10px;flex-wrap:wrap}.session-recovery button{flex:1;min-width:130px;font-size:13px}.session-recovering #login-form{display:none}
@keyframes drop-enter{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}
@media(max-width:900px){.location-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.location-enemy-tools{align-items:stretch;flex-direction:column}.location-search{max-width:none}.location-enemy-tabs button{flex:1}}
@media(max-width:700px){#panel-travel{padding:8px 0 18px}#panel-travel>.section-heading h2{font-size:24px}.location-grid{gap:9px}.location-region-heading h3{font-size:20px}.location-card-body{padding:9px 9px 0}.location-card h3{font-size:18px}.location-card-body p{font-size:10px}.location-card-label{font-size:9px;left:5px;top:5px;padding:3px 4px}.location-card-footer{font-size:10px;flex-wrap:wrap;row-gap:3px}.location-card-footer small{font-size:9px}.location-detail-layout{grid-template-columns:1fr;gap:12px}.location-atlas img{max-height:340px}.location-detail-heading h2{font-size:26px}.location-surface{padding:12px}.location-surface h3{font-size:20px}.location-enemy-grid{grid-template-columns:1fr}.location-enemy-main{padding:8px}.location-enemy h4{font-size:17px}.location-enemy .mob-portrait,.location-stone-level{width:48px;height:48px;flex-basis:48px}.location-enemy-tabs button{padding-inline:8px}.location-enemy-tabs button span{margin-left:4px}.location-loot-button{padding:6px}.location-enemies{margin-top:14px}}
@media(max-width:700px),(pointer:coarse){.drop-sheet{margin:auto 0 0;width:100%;max-width:100%;max-height:88dvh;border-radius:18px 18px 0 0;padding-bottom:env(safe-area-inset-bottom)}.drop-sheet>header{padding:6px 14px 12px;gap:8px}.drop-sheet h2{font-size:21px}.drop-sheet-body{padding:14px}.drop-icon-grid{grid-template-columns:repeat(auto-fill,minmax(48px,1fr));gap:6px}.drop-preview-icon{height:54px}.session-recovery>div{flex-direction:column}}
@media(prefers-reduced-motion:reduce){.drop-sheet[open]{animation:none}.drop-sheet.closing{transition:none}}
