/* The world owns the screen; extended information lives in the Adventure menu. */
body{background:#080f14}
body>header{height:60px;background:#0c151b;border-color:#665035}
body>header .brand{font-size:19px}
body>header .brand small{font-size:8px}
body>header .sigil{font-size:32px}
main{display:block;max-width:1600px;padding:12px 20px;margin:auto}
.game-shell{position:relative!important;top:0!important;width:100%;max-width:calc((100dvh - 280px)*1.5);min-width:min(100%,680px);margin:auto;border:1px solid #907047;border-radius:3px;background:#0b161e;box-shadow:0 0 50px #0008}
.location{height:54px;padding:8px 18px;background:linear-gradient(90deg,#101d27,#172635,#101d27);border-color:#705737}
.location h1{font-size:20px;color:#e8d1a1}
.location .eyebrow{font-size:8px}
.world-caption{min-height:46px;padding:6px 12px;background:#0c171f;border-top:1px solid #584831;font-size:11px}
.supply-dock{display:flex;align-items:center;gap:10px;padding:10px 14px;background:linear-gradient(#17232c,#0a141d);border-top:1px solid #b48b52;box-shadow:inset 0 2px #dcc08a22}
.supply-dock button,
.supply-slot{display:flex;align-items:center;gap:10px;position:relative;min-height:57px;padding:8px 10px;border:1px solid #8e7049;background:linear-gradient(135deg,#23303b,#101923);text-align:left;color:#e7dcc5}
.supply-slot b{display:block;font:13px Georgia,serif}
.supply-slot small{display:block;font-size:9px;line-height:1.5;color:#a4b6bd;margin-top:4px}
.supply-slot strong{font:22px Georgia,serif;color:#f1d196;margin-left:8px}
.supply-slot:disabled{cursor:default;opacity:.65}
.supply-slot.empty strong{color:#8d9ba4}
.supply-icon{display:block;flex-shrink:0;width:28px;height:32px;position:relative}
.potion-art{width:23px;height:27px;margin:5px 3px 0;border:2px solid #e7ae98;border-radius:5px 5px 9px 9px;background:linear-gradient(90deg,#791d30,#f05c67 48%,#93243e);box-shadow:0 0 12px #fa465533,inset 3px 0 #ffc4b94d}
.potion-art:before{content:'';position:absolute;left:5px;top:-9px;width:9px;height:7px;background:#c7a877;border:1px solid #f3d6ab;border-radius:2px}
.scroll-art{height:31px;width:24px;color:#70502d;text-align:center;padding-top:4px;font-size:20px;background:linear-gradient(90deg,#ae8652,#f0ddb0,#c3a371);border:2px solid #e0c08c;border-radius:5px 1px;box-shadow:0 0 12px #ddbe7920;transform:rotate(-8deg)}
.dock-wallet{font-size:13px;color:#dbb979;white-space:nowrap;margin-right:auto}.dock-wallet small{display:block;font-size:8px;letter-spacing:2px;margin-top:4px}
.dock-menus{display:flex;gap:6px;margin-left:auto}.dock-menus button{font-size:11px;padding:10px 8px;background:#14222d;border-color:#715e43;color:#e2cfab}
#adventure-menu{width:min(820px,94vw);max-height:85dvh;padding:0;color:#e7e6d9;background:#101d25;border:1px solid #ad8954;box-shadow:0 20px 100px #000c}
#adventure-menu::backdrop{background:#03090dc9;backdrop-filter:blur(4px)}
.adventure-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:20px 24px;border-bottom:1px solid #796242;background:#142430;position:sticky;top:0;z-index:1}
.adventure-heading h2{font-size:25px;color:#eed5a5;margin-top:5px}
#adventure-menu aside{display:block;margin:0;padding:24px}
#adventure-menu aside section{min-width:0;border-color:#39464b}
#adventure-menu .realms{grid-column:1/-1}
#adventure-menu #realm-list{grid-template-columns:1fr 1fr}
#adventure-menu .realm-card:last-child{grid-column:1/-1}



body>footer{max-width:1400px;margin:auto;font-size:9px;padding-bottom:8px}
@media(max-width:760px){body>header .brand{font-size:15px}main{padding:8px}.game-shell{max-width:100%;min-width:0}.supply-dock{flex-wrap:wrap;padding:8px;gap:6px}.supply-dock .supply-slot{flex:1;padding:6px;gap:6px}.supply-slot b{font-size:11px}.supply-slot strong{font-size:18px;margin-left:0}.supply-slot kbd{margin-left:0}.dock-wallet{display:none}.dock-menus{width:100%;justify-content:flex-end}.dock-menus button{flex:1;padding:7px}#adventure-menu aside{grid-template-columns:1fr;padding:16px}#adventure-menu #realm-list{grid-template-columns:1fr}#adventure-menu .realms{order:0}.adventure-heading{padding:14px}.location h1{font-size:16px}.world-caption{font-size:10px}body>footer{padding:8px}}

/* Keep legacy hint hooks available without displaying the bottom strip. */
.game-shell .world-caption{display:none}
.game-shell .overlay{bottom:0}

/* Project Astilven branding, with the supplied artwork and a readable title. */
body>header .brand{display:flex;align-items:center;gap:10px;padding-left:0;letter-spacing:2px}
.brand-logo{display:block;width:56px;height:48px;object-fit:contain;flex-shrink:0}
@media(max-width:760px){body>header{gap:8px}body>header .brand{font-size:12px;letter-spacing:1px;gap:6px}body>header .brand small{font-size:8px;letter-spacing:2px}.brand-logo{width:40px;height:40px}.header-right{flex-shrink:0}}
@media(max-width:380px){body>header .brand{font-size:10px}.brand-logo{width:30px;height:34px}body>header .brand small{letter-spacing:1px}}

/* Framed pause screen inspired by the Astilven menu reference. */
.game-shell .overlay:is([data-mode="pause"],[data-mode="death"]){position:fixed;inset:0;z-index:20;padding:20px;overflow:auto;background:#05080dd9;backdrop-filter:blur(6px)}
.overlay:is([data-mode="pause"],[data-mode="death"]) .dialog{position:relative;width:min(440px,100%);max-width:440px;max-height:calc(100dvh - 40px);overflow:auto;padding:24px 34px;text-align:center;border:3px double #b6aa9b;background:radial-gradient(ellipse at top,#332b413b,transparent 65%),linear-gradient(135deg,#14151d,#090d13 55%,#191721);box-shadow:0 0 0 5px #090b10,0 0 0 6px #746777,0 24px 90px #000,inset 0 0 35px #000}
.overlay:is([data-mode="pause"],[data-mode="death"]) .dialog::before{content:'';display:block;height:100px;margin:-12px auto 8px;background:url('assets/ui/project-astilven-logo.png?build=ad5f1596776dbfe6') center/contain no-repeat}
.overlay:is([data-mode="pause"],[data-mode="death"]) #dialog-label{font:18px Georgia,serif;letter-spacing:4px;color:#e6d9ce}
.overlay:is([data-mode="pause"],[data-mode="death"]) #dialog-title{margin:16px 0 0;font:26px Georgia,serif;text-transform:uppercase;letter-spacing:9px;color:#ede4dc}
.overlay:is([data-mode="pause"],[data-mode="death"]) #dialog-text{margin:8px 0 20px;font-size:10px;letter-spacing:4px;color:#b6aabd}
.overlay:is([data-mode="pause"],[data-mode="death"]) #dialog-actions{display:grid;gap:9px}
.overlay:is([data-mode="pause"],[data-mode="death"]) #dialog-actions button{width:100%;min-height:44px;margin:0;padding:10px 14px;border:3px double #958c8b;border-radius:3px;background:linear-gradient(110deg,#25232c,#10141c 50%,#25232c);box-shadow:inset 0 0 0 2px #080d16,0 3px 8px #0008;color:#eee5df;font:18px Georgia,serif}
.overlay:is([data-mode="pause"],[data-mode="death"]) #dialog-actions button:first-child{background:linear-gradient(110deg,#13304d,#07548a,#132c48);border-color:#9abfda}
.overlay:is([data-mode="pause"],[data-mode="death"]) #dialog-actions button:hover{background:linear-gradient(110deg,#303346,#194462,#303346);border-color:#e2d4c5}
.overlay:is([data-mode="pause"],[data-mode="death"]) #dialog-actions button:last-child{font-size:14px;color:#d9b6b7}
.overlay:is([data-mode="pause"],[data-mode="death"]) .dialog::after{content:none;display:block;margin-top:22px;font:9px Georgia,serif;letter-spacing:4px;color:#a496ac}
@media(max-height:680px){.overlay:is([data-mode="pause"],[data-mode="death"]) .dialog{padding:16px 24px}.overlay:is([data-mode="pause"],[data-mode="death"]) .dialog::before{height:60px}.overlay:is([data-mode="pause"],[data-mode="death"]) #dialog-title{margin-top:10px;font-size:22px}.overlay:is([data-mode="pause"],[data-mode="death"]) #dialog-text{margin-bottom:12px}.overlay:is([data-mode="pause"],[data-mode="death"]) #dialog-actions{gap:6px}.overlay:is([data-mode="pause"],[data-mode="death"]) .dialog::after{margin-top:14px}}
#hud-scroll[hidden]{display:none}
/* Carry the start menu's charcoal, muted silver, and parchment palette into play. */
.game-shell>.location,.game-shell>.supply-dock,body>footer{display:none!important}
.game-shell{border:3px double #b6aa9b;border-radius:0;background:#090d13;box-shadow:0 0 0 3px #090b10,0 0 0 4px #746777,0 20px 60px #0009;max-width:calc((100dvh - 110px)*1.5)}
body{background:#080b10;color:#e6d9ce}
body>header{background:#0d1018;border-color:#746777}
body>header button{background:linear-gradient(110deg,#25232c,#10141c 50%,#25232c);border-color:#958c8b;color:#eee5df}
#adventure-menu,#inventory-dialog,.bank-dialog,.shop-panel{background:radial-gradient(ellipse at top,#332b413b,transparent 65%),linear-gradient(135deg,#14151d,#090d13 55%,#191721);border:3px double #b6aa9b;color:#e6d9ce}
.adventure-heading,.bag-header{background:#14151d;border-color:#746777}
.adventure-heading h2,.bag-header h2{color:#ede4dc}


@media(max-width:760px){.game-shell{max-width:100%}}

.health-potion-art{background:none;border:0;box-shadow:none;width:32px;height:32px}.supply-icon canvas{display:block}.supply-dock{flex-wrap:wrap}

.city-atlas{position:relative;width:min(100%,520px);margin:auto}.city-atlas>img{display:block;max-height:none!important;width:100%}.city-map-marker{position:absolute;transform:translate(-50%,-50%);padding:4px 7px!important;font-size:11px!important;white-space:nowrap;background:#111f29ed!important;color:#ffe3a0!important;border:1px solid #d6bb72!important}.city-routes section{margin:10px 0;padding:10px;border:1px solid #43545c;border-radius:5px}.city-routes p{font-size:12px;line-height:1.6}.city-routes button[aria-pressed=true]{border-color:#ffe16b;color:#ffe16b}

#adventure-menu,#world-map-dialog{position:fixed;inset:0;margin:auto;width:min(760px,calc(100vw - 28px));height:fit-content;max-height:calc(100dvh - 40px);box-sizing:border-box;overflow:auto;padding:0;border:1px solid #ad8954;background:#101d25;color:#e7e6d9}#adventure-menu>.journal,#world-map-dialog>.journal{margin:0;padding:16px 22px;box-sizing:border-box;width:auto;min-width:0}#adventure-menu aside{width:auto;max-width:none;padding:16px 22px;position:static}#world-map-dialog::backdrop{background:#03090dc9;backdrop-filter:blur(4px)}.adventure-heading{flex-wrap:wrap;z-index:5;padding:12px 18px}.adventure-heading h2{font-size:21px;margin:0}.adventure-heading button{font-size:11px}.city-routes{overflow-wrap:anywhere}@media(max-width:500px){#adventure-menu,#world-map-dialog{max-height:calc(100dvh - 20px);width:calc(100vw - 16px)}.city-map-marker{font-size:9px!important;padding:3px!important}}

/* Death shares the menu frame and blue action, with a subdued crimson title. */
.overlay[data-mode="death"] .dialog{width:min(500px,100%);max-width:500px;padding:30px 34px;background:radial-gradient(ellipse at top,#53242c55,transparent 65%),linear-gradient(135deg,#14151d,#090d13 55%,#191721)}
.overlay[data-mode="death"] #dialog-label{font-size:11px;letter-spacing:3px;color:#b6aa9b}
.overlay[data-mode="death"] #dialog-title{margin:22px 0 18px;font-size:clamp(30px,7vw,46px);letter-spacing:6px;color:#d59b92;text-shadow:0 2px 18px #7a29284d}
.overlay[data-mode="death"] #dialog-text{margin:0 auto 28px;max-width:350px;font-size:14px;line-height:1.8;letter-spacing:.3px;color:#c1b8bb}
.overlay[data-mode="death"] #dialog-actions button:last-child{font-size:18px;color:#eee5df}
.overlay[data-mode="death"] .dialog::after{content:'FALLEN, NOT FORGOTTEN'}
@media(max-width:420px),(max-height:680px){.overlay[data-mode="death"] .dialog{padding:20px}.overlay[data-mode="death"] #dialog-title{letter-spacing:4px}.overlay[data-mode="death"] #dialog-text{margin-bottom:18px}}
