#echo-dungeons{background:#191722;color:#eee5d2;padding:20px;--dg-gold:#eac17c;--dg-lime:#c6ec8a}.dg-entry,.dg-rotate,.dg-exit{display:none}.dg-town header{display:flex;justify-content:space-between;gap:20px;align-items:center}.dg-town header h2{font-size:30px;margin:4px 0 6px}.dg-town header p{color:#bcb2c7;margin:0}.dg-town header>strong{white-space:nowrap;color:var(--dg-gold)}#echo-dungeons .eyebrow{color:var(--dg-gold);letter-spacing:2px;font-size:10px}.dg-preparation{display:grid;grid-template-columns:1.12fr 1fr;gap:20px;margin:25px 0}.dg-party-setup,.dg-shop{background:#252130;border:1px solid #66556c;border-radius:18px;padding:20px}.dg-party-setup h3{font-size:22px;margin:7px 0}.dg-party-setup>p{font-size:13px;line-height:1.5;color:#c1b5c9}.dg-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:20px 0}.dg-slot{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;min-height:185px;min-width:0;background:#191824;border:1px dashed #b5976d;color:#f3e8d3;border-radius:13px;padding:10px}.dg-slot img{width:74px;height:74px;object-fit:contain}.dg-slot b{font-size:40px;color:var(--dg-gold)}.dg-slot strong{font-size:12px;overflow-wrap:anywhere}.dg-slot span,.dg-slot small{font-size:10px;color:#beacc6}.dg-party-setup>#dgEnter{width:100%;min-height:48px;background:#c6ec8a;color:#243522}.dg-shopkeeper{display:flex;gap:16px;align-items:center;margin-bottom:16px}.dg-shopkeeper svg{width:105px;height:105px;image-rendering:pixelated}.dg-shopkeeper strong{font-size:21px;color:#eac17c}.dg-shopkeeper p{font-size:12px;font-style:italic;color:#dac9db}.dg-shopkeeper small,.dg-shop>small{font-size:11px;color:#a99eae}.dg-shop article{display:flex;align-items:center;gap:12px;padding:14px 0;border-top:1px solid #66556c66}.dg-shop article>span{font-size:30px}.dg-shop article>div{flex:1}.dg-shop article p{font-size:12px;line-height:1.4;margin:6px 0;color:#c7bbcf}.dg-shop article small{font-size:11px;color:#d1b677}.dg-shop article button{font-size:12px;padding:10px;white-space:nowrap;min-height:44px}.dg-last{padding:14px;background:#30342c;border:1px solid #90ae6a;border-radius:12px;margin-top:20px;display:flex;flex-direction:column;gap:5px}.dg-last.lost{background:#372632;border-color:#bc7b85}.dg-last strong{color:#e5c87f}.dg-last small{font-size:11px;color:#c3b8c8}.dg-town>details{color:#c6b9ce;font-size:13px;line-height:1.6}.dg-expedition{position:relative;height:clamp(470px,73svh,720px);min-height:0;border-radius:17px;overflow:hidden;border:1px solid #7c685e;background:#17131e}#dgMaze{width:100%;height:100%;display:block}.dg-hud{position:absolute;top:0;left:0;right:0;z-index:5;padding:12px 14px;display:flex;align-items:center;gap:14px;background:linear-gradient(#14121fee,#14121fa6);color:#e9dac0}.dg-hud>div{flex:1}.dg-hud strong{font-size:15px}.dg-hud small{display:block;font-size:10px;color:#bfb1c4;margin-top:3px}.dg-hud>.dg-xp{font-size:18px;color:#c6ec8a;white-space:nowrap}.dg-gold{font-size:15px;color:var(--dg-gold)}.dg-hud button{min-height:40px;padding:8px 12px;font-size:12px;background:#252331}.dg-location{position:absolute;top:77px;left:14px;font-size:11px;color:#c6b39b;text-shadow:0 1px #121018;pointer-events:none}.dg-explore-actions{position:absolute;bottom:140px;left:50%;transform:translateX(-50%);display:flex;gap:9px;align-items:center;justify-content:center;max-width:80%;z-index:4}.dg-explore-actions button{min-height:48px;white-space:nowrap;display:flex;gap:8px;align-items:center;background:#e5b56c;color:#302337;border:1px solid #f4d79c;padding:10px 16px;box-shadow:0 6px 24px #14121f66}.dg-explore-actions svg{width:35px;height:35px}.dg-deepest{font-size:12px;padding:12px;background:#241b2cc7;border-radius:12px;color:#ddc391}.dg-arrows{position:absolute;right:20px;bottom:88px;display:grid;grid-template-columns:repeat(3,52px);grid-template-rows:repeat(2,46px);gap:5px;padding:7px;border:1px solid #b79c7277;border-radius:15px;background:#1b1929c7;z-index:5}.dg-arrows button{background:#423346dd;border:1px solid #ab8f7b;border-radius:9px;color:#f0d393;font-size:23px;padding:0;min-height:44px}.dg-arrows [data-dg-move=back]{grid-column:2}.dg-party-hud{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;gap:12px;padding:10px 16px;background:#171522ee;border-top:1px solid #b1a17866;z-index:6}.dg-party-portraits{display:flex;align-items:center;gap:4px}.dg-party-portraits img{width:36px;height:40px;object-fit:contain;filter:drop-shadow(0 3px #0006)}.dg-party-portraits .dg-lead{width:47px;height:51px}.dg-health{flex:1;min-width:80px;max-width:350px}.dg-health span{display:flex;justify-content:space-between;gap:10px;font-size:10px;color:#ccbdd0}.dg-health progress{width:100%;height:14px;accent-color:#c6ec8a;margin-top:4px}.dg-party-hud button{min-height:44px;white-space:nowrap;padding:9px 12px;font-size:12px;background:#34283d;border-color:#927189;color:#e5ceaf}.dg-notice{position:absolute;bottom:98px;left:20px;right:20px;z-index:80;text-align:center;font-size:13px;pointer-events:none;color:#f4d28f;text-shadow:0 2px 4px #000;margin:0}#echo-dungeons{position:relative}.dg-enemy{position:absolute;top:25%;left:26%;transform:translateX(-50%);width:190px;text-align:center;z-index:3;filter:drop-shadow(0 8px 10px #16101b88)}.dg-enemy>svg{display:block;width:100%;height:170px;image-rendering:pixelated;animation:dg-hover 1.4s ease-in-out infinite}.dg-enemy strong{font-size:15px;color:#f1d7ac;background:#241b2bcc;border-radius:6px;padding:4px 8px;display:inline-block}.dg-enemy progress{display:block;width:85%;margin:8px auto;height:12px;accent-color:#e98686}.dg-enemy small{font-size:11px;color:#ead1b7;text-shadow:0 1px #000}.dg-powered svg{filter:drop-shadow(0 0 14px #ddb2e8)}@keyframes dg-hover{50%{transform:translateY(-7px)}}.dg-mini{position:absolute;right:14px;top:100px;bottom:85px;width:min(330px,42%);z-index:4;padding:10px;background:#21192cec;border:1px solid #8a6d8c;border-radius:14px;overflow:auto;color:#d6cbe1}.dg-mini .lab-mini-game-heading h3{font-size:14px}.dg-mini .lab-mini-game-heading{min-height:20px}.dg-mini #labMiniHint{font-size:11px;margin:5px 0}.dg-mini #labMiniFeedback{font-size:10px;margin:5px 0}.dg-mini .lab-mini-field{height:170px;min-height:170px}.dg-mini .mini-game-announcement{font-size:22px}.dg-mini .lab-spark-tray{height:125px}.dg-mini .lab-cannon-target{width:90px;height:75px}.dg-mini .lab-cannon-blueprint{font-size:10px}.dg-mini .lab-cannon-part{min-height:50px;padding:4px}.dg-mini .lab-cannon-part span{font-size:9px}.dg-mini .lab-signal-display{min-height:53px}.dg-mini .lab-signal-symbol{font-size:25px}.dg-mini .lab-signal-buttons button{min-height:43px;padding:5px}.dg-mini .lab-shield-tile{min-height:44px;padding:5px}.dg-mini .lab-pulse-track{height:60px}.dg-mini .mini-active-power{min-height:125px}.dg-overlay{position:absolute;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;background:#12101bea;padding:18px;overflow:auto;border-radius:16px}.dg-overlay[hidden]{display:none}.dg-overlay>div{background:#292233;border:1px solid #a08578;border-radius:18px;padding:24px;max-width:520px;width:100%;max-height:100%;overflow:auto;text-align:center;display:flex;flex-direction:column;gap:12px}.dg-overlay h2,.dg-overlay p{margin:0}.dg-overlay p{font-size:13px;color:#cbbacb;line-height:1.5}.dg-overlay button{min-height:44px}.dg-picker>div{max-width:760px;text-align:left}.dg-picker header,.dg-map header{display:flex;justify-content:space-between;align-items:center;gap:16px}.dg-picker header button{font-size:23px;min-width:44px}.dg-picker-list{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.dg-picker-list button{display:flex;gap:8px;align-items:center;font-size:12px;padding:9px;text-align:left}.dg-picker-list img{width:42px;height:50px;object-fit:contain}.dg-picker-list small{display:block;font-size:10px;margin-top:5px;color:#d4b477}.dg-level{z-index:55}.dg-level button{text-align:left;display:flex;flex-direction:column;gap:5px;padding:13px;background:#423346;border:1px solid #9b7b82}.dg-level button span{font-size:12px}.dg-map{position:fixed;inset:0;z-index:4500;border-radius:0}.dg-map>div{max-width:1100px;height:100%;max-height:100%;text-align:left;background:#1b1824;padding:18px}.dg-map header h2{font-size:22px}.dg-map header .eyebrow{margin-bottom:5px}.dg-map-tabs{display:flex;gap:8px}.dg-map-tabs [aria-pressed=true]{border-color:#c6ec8a;color:#c6ec8a}#dgMapCanvas{flex:1;min-height:0;display:flex;justify-content:center;background:#100e19;border:1px solid #54475b;border-radius:12px}#dgMapCanvas svg{max-width:100%;height:100%;min-height:120px;width:auto}.dg-map p,.dg-map small{font-size:11px;color:#b7a7c0}.dg-confirm{z-index:60}
@media(max-width:800px){.dg-preparation{grid-template-columns:1fr}.dg-shopkeeper svg{width:85px;height:85px}.dg-party-setup,.dg-shop{padding:16px}.dg-slot{min-height:140px}.dg-slot img{width:52px;height:58px}}
#echo-dungeons.dg-phone:not(.dg-phone-open)>:not(.dg-entry){display:none!important}#echo-dungeons.dg-phone .dg-entry{display:flex;align-items:center;flex-direction:column;gap:12px;text-align:center;padding:25px 5px}.dg-entry>span{font-size:55px;color:var(--dg-gold)}.dg-entry h2,.dg-entry p{margin:0}.dg-entry p{max-width:32ch;line-height:1.5;color:#bfb0c7}.dg-entry small{font-size:11px;color:#ad9dbb}.dg-entry button{min-height:52px;width:min(340px,100%)}
#echo-dungeons.dg-phone-open{position:fixed;inset:0;width:100%;height:100dvh;z-index:4000;border-radius:0;overflow:auto;padding:0;margin:0}#echo-dungeons.dg-phone-open .dg-entry{display:none}#echo-dungeons.dg-phone-open .dg-exit{display:block;position:fixed;right:calc(6px + env(safe-area-inset-right));top:calc(5px + env(safe-area-inset-top));z-index:4700;font-size:10px;padding:8px;min-height:37px;background:#2d2336}#echo-dungeons.dg-phone-open .dg-town{padding:calc(15px + env(safe-area-inset-top)) calc(15px + env(safe-area-inset-right)) calc(15px + env(safe-area-inset-bottom)) calc(15px + env(safe-area-inset-left))}#echo-dungeons.dg-phone-open .dg-town header{padding-right:80px}#echo-dungeons.dg-phone-open .dg-town header h2{font-size:22px}#echo-dungeons.dg-phone-open .dg-preparation{grid-template-columns:1.1fr 1fr;gap:12px;margin:15px 0}#echo-dungeons.dg-phone-open .dg-slot{min-height:125px;gap:6px}#echo-dungeons.dg-phone-open .dg-slot small{font-size:8px}#echo-dungeons.dg-phone-open .dg-slot img{height:45px;width:45px}#echo-dungeons.dg-phone-open .dg-party-setup h3{font-size:17px}#echo-dungeons.dg-phone-open .dg-party-setup>p{font-size:11px}#echo-dungeons.dg-phone-open .dg-shopkeeper strong{font-size:17px}#echo-dungeons.dg-phone-open .dg-shopkeeper svg{width:68px;height:68px}#echo-dungeons.dg-phone-open .dg-shopkeeper{gap:8px;margin-bottom:8px}#echo-dungeons.dg-phone-open .dg-shop article{padding:9px 0;gap:7px}#echo-dungeons.dg-phone-open .dg-shop article p{font-size:10px}#echo-dungeons.dg-phone-open .dg-shop article button{font-size:10px}
#echo-dungeons.dg-phone-open .dg-expedition{height:100dvh;width:100%;border:0;border-radius:0}#echo-dungeons.dg-phone-open .dg-hud{top:env(safe-area-inset-top);left:env(safe-area-inset-left);right:calc(81px + env(safe-area-inset-right));gap:10px;padding:7px 8px}#echo-dungeons.dg-phone-open .dg-hud strong{font-size:12px}#echo-dungeons.dg-phone-open .dg-hud small{font-size:8px}#echo-dungeons.dg-phone-open .dg-hud>.dg-xp{font-size:14px}#echo-dungeons.dg-phone-open .dg-gold{font-size:12px}#echo-dungeons.dg-phone-open .dg-hud button{font-size:10px;min-height:35px;padding:6px 8px}#echo-dungeons.dg-phone-open .dg-location{top:calc(55px + env(safe-area-inset-top));font-size:10px;left:12px}#echo-dungeons.dg-phone-open .dg-party-hud{padding:6px calc(8px + env(safe-area-inset-right)) calc(6px + env(safe-area-inset-bottom)) calc(8px + env(safe-area-inset-left));gap:8px}#echo-dungeons.dg-phone-open .dg-party-hud button{padding:7px 9px;font-size:10px;min-height:40px}#echo-dungeons.dg-phone-open .dg-party-portraits img{height:35px;width:28px}#echo-dungeons.dg-phone-open .dg-party-portraits .dg-lead{width:36px;height:42px}#echo-dungeons.dg-phone-open .dg-health{max-width:270px}#echo-dungeons.dg-phone-open .dg-arrows{bottom:calc(65px + env(safe-area-inset-bottom));right:calc(10px + env(safe-area-inset-right));grid-template-columns:repeat(3,46px);grid-template-rows:repeat(2,43px);gap:4px;padding:5px}#echo-dungeons.dg-phone-open .dg-arrows button{min-height:43px;font-size:22px}#echo-dungeons.dg-phone-open .dg-explore-actions{bottom:calc(96px + env(safe-area-inset-bottom));left:38%;max-width:52%;gap:6px}#echo-dungeons.dg-phone-open .dg-explore-actions button{font-size:11px;min-height:44px;padding:8px 10px}#echo-dungeons.dg-phone-open .dg-enemy{top:22%;left:29%;width:140px}#echo-dungeons.dg-phone-open .dg-enemy>svg{height:125px}#echo-dungeons.dg-phone-open .dg-enemy strong{font-size:12px}#echo-dungeons.dg-phone-open .dg-mini{top:calc(65px + env(safe-area-inset-top));bottom:calc(66px + env(safe-area-inset-bottom));right:calc(12px + env(safe-area-inset-right));width:40%;padding:7px}#echo-dungeons.dg-phone-open .dg-mini .lab-mini-field{height:135px;min-height:135px}#echo-dungeons.dg-phone-open .dg-mini .lab-mini-game-heading h3{font-size:12px}#echo-dungeons.dg-phone-open .dg-mini .lab-spark-tray{height:95px}#echo-dungeons.dg-phone-open .dg-mini #labMiniHint{font-size:10px;margin:3px 0}#echo-dungeons.dg-phone-open .dg-mini .lab-mini-game-heading{font-size:10px}#echo-dungeons.dg-phone-open .dg-mini .mini-active-power{min-height:100px}#echo-dungeons.dg-phone-open .dg-mini .lab-cannon-target{width:70px;height:50px}#echo-dungeons.dg-phone-open .dg-mini .lab-shield-tile{min-height:35px}#echo-dungeons.dg-phone-open .dg-notice{position:fixed;bottom:calc(69px + env(safe-area-inset-bottom));left:12px;right:auto;max-width:52%;font-size:11px;text-align:left}#echo-dungeons.dg-phone-open .dg-overlay{position:fixed;inset:0;border-radius:0;padding:calc(9px + env(safe-area-inset-top)) 12px calc(9px + env(safe-area-inset-bottom))}#echo-dungeons.dg-phone-open .dg-overlay>div{padding:16px;gap:8px}#echo-dungeons.dg-phone-open .dg-overlay h2{font-size:22px}#echo-dungeons.dg-phone-open .dg-overlay p{font-size:12px}#echo-dungeons.dg-phone-open .dg-picker-list{grid-template-columns:repeat(3,1fr)}#echo-dungeons.dg-phone-open .dg-map>div{max-width:100%;padding:9px 18px;gap:6px}#echo-dungeons.dg-phone-open .dg-map header h2{font-size:17px}#echo-dungeons.dg-phone-open .dg-map .eyebrow{font-size:8px}#echo-dungeons.dg-phone-open .dg-map header{padding-right:90px}#echo-dungeons.dg-phone-open .dg-map p{font-size:9px}.dg-map button{min-height:36px;padding:7px 12px}
#echo-dungeons.dg-phone-open.dg-portrait .dg-rotate{position:fixed;inset:0;z-index:4600;background:#191722;display:flex;align-items:center;justify-content:center;text-align:center;flex-direction:column;padding:70px 24px;gap:18px}#echo-dungeons.dg-phone-open.dg-portrait .dg-rotate span{font-size:60px;color:var(--dg-gold)}.dg-rotate p{color:#bba9c7;max-width:28ch;line-height:1.5}.dg-rotate h2,.dg-rotate p{margin:0}
@media(prefers-reduced-motion:reduce){.dg-enemy>svg{animation:none}}
.dg-party-portraits{position:relative}.dg-damage{position:absolute;left:50%;top:45%;font-style:normal;font-size:22px;font-weight:900;color:#ffb193;text-shadow:0 2px #241723;pointer-events:none;animation:dg-damage .7s ease-out forwards;white-space:nowrap;z-index:10}.dg-critical{color:#ffe095;font-size:25px}.dg-impact>svg{animation:dg-impact .25s ease-out}.dg-attack{animation:dg-attack .3s ease-out}.dg-combat-pop{position:absolute;left:5%;top:16%;width:43%;color:#f3ca89;text-align:center;pointer-events:none;font-size:20px;opacity:0;text-shadow:0 2px #25152e;z-index:8}.dg-combat-pop.dg-flash{animation:dg-flash 1.5s ease forwards}@keyframes dg-damage{to{transform:translateY(-35px);opacity:0}}@keyframes dg-impact{40%{transform:translateX(7px);filter:brightness(1.6)}}@keyframes dg-attack{50%{transform:translateY(-8px)}}@keyframes dg-flash{10%,75%{opacity:1}100%{opacity:0}}@media(prefers-reduced-motion:reduce){.dg-damage{animation:dg-flash .7s ease forwards}.dg-impact>svg,.dg-attack{animation:none}}


/* v3.01: Full-screen expedition results, sized for landscape phones. */
#echo-dungeons .dg-results{position:fixed;inset:0;z-index:4900;display:grid;place-items:center;padding:calc(clamp(6px,2vw,24px) + env(safe-area-inset-top)) calc(clamp(6px,2vw,24px) + env(safe-area-inset-right)) calc(clamp(6px,2vw,24px) + env(safe-area-inset-bottom)) calc(clamp(6px,2vw,24px) + env(safe-area-inset-left));background:rgba(9,12,24,.96);color:#fff;overflow:auto;overscroll-behavior:contain}
#echo-dungeons .dg-results-panel{width:min(850px,100%);max-height:100%;min-height:0;display:flex;flex-direction:column;gap:clamp(7px,1.5vh,18px);padding:clamp(10px,2vw,24px);border:1px solid #6f5981;border-radius:16px;background:linear-gradient(135deg,#282039,#151927);box-shadow:0 20px 70px #0009;overflow:auto}
#echo-dungeons .dg-results header{display:flex;align-items:center;justify-content:center;gap:14px;text-align:left;flex:none}
#echo-dungeons .dg-results header h2{margin:0;color:#ffdc93;font-size:clamp(19px,3.6vw,36px);line-height:1.1}
#echo-dungeons .dg-results header small{color:#d2c8d9}
#echo-dungeons .dg-results .eyebrow{margin:0 0 3px}
#echo-dungeons .dg-results-medal{font-size:clamp(28px,5vw,56px)}
#echo-dungeons .dg-results-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;min-height:0}
#echo-dungeons .dg-results-grid article{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border:1px solid #584e73;border-radius:10px;padding:8px 5px;background:#25273b;text-align:center}
#echo-dungeons .dg-results-grid small{font-size:clamp(9px,1.2vw,12px);color:#d6ccdc}
#echo-dungeons .dg-results-grid strong{font-size:clamp(15px,2.5vw,24px);color:#f5e8ad}
#echo-dungeons .dg-results-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto}
#echo-dungeons .dg-results-footer>div{display:flex;flex-direction:column;gap:4px}
#echo-dungeons .dg-results-footer strong{color:#a3f4c4}
#echo-dungeons .dg-results-footer small{color:#d2c8d9}
#echo-dungeons .dg-results-footer button{flex-shrink:0;white-space:normal;text-align:center}
@media(max-height:440px) and (orientation:landscape){
 #echo-dungeons .dg-results{padding:calc(4px + env(safe-area-inset-top)) calc(12px + env(safe-area-inset-right)) calc(4px + env(safe-area-inset-bottom)) calc(12px + env(safe-area-inset-left))}
 #echo-dungeons .dg-results-panel{gap:6px;padding:8px 14px;border-radius:10px}
 #echo-dungeons .dg-results header{gap:10px}
 #echo-dungeons .dg-results header h2{font-size:clamp(18px,3.3vw,27px)}
 #echo-dungeons .dg-results-medal{font-size:27px}
 #echo-dungeons .dg-results-grid{gap:5px}
 #echo-dungeons .dg-results-grid article{padding:5px}
 #echo-dungeons .dg-results-footer{gap:8px}
 #echo-dungeons .dg-results-footer button{padding:7px 12px;min-height:44px;font-size:12px}
}
@media(max-width:520px) and (orientation:portrait){#echo-dungeons .dg-results-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#echo-dungeons .dg-results-footer{flex-direction:column;text-align:center}#echo-dungeons .dg-results-footer button{width:100%}}


.dg-carousel{display:grid!important;grid-template-columns:48px minmax(0,1fr) 48px!important;align-items:center;gap:12px}.dg-carousel>button{min-height:48px;font-size:24px}.dg-carousel>article{display:flex;flex-direction:column;gap:6px;text-align:center;padding:12px;border:1px solid #66556c;border-radius:12px}.dg-carousel>article strong{font-size:20px}.dg-carousel>article p{margin:0}.dg-carousel>article small{color:#c1b5c9}

.dg-loot{z-index:4800}.dg-loot svg{width:80px;height:80px;align-self:center}.dg-weapon svg{width:100%;height:100%}#echo-dungeons .dg-results-grid{grid-template-columns:repeat(3,minmax(0,1fr))}

.dg-stimmed .dg-actors{filter:drop-shadow(0 0 8px #9fe9ff)}

.dg-music-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:6px 12px;background:#211b2dcc}.dg-music-controls label{display:flex;align-items:center;gap:6px;font-size:11px}.dg-music-controls input{width:100px;min-height:32px}.dg-music-controls button{font-size:10px;min-height:32px;padding:5px 8px}#echo-dungeons.dg-phone-open .dg-music-controls{position:fixed;left:calc(6px + env(safe-area-inset-left));top:calc(54px + env(safe-area-inset-top));z-index:10;border-radius:8px}#echo-dungeons.dg-phone-open .dg-location{top:calc(98px + env(safe-area-inset-top))}

#echo-dungeons.dg-phone-open{overscroll-behavior:none}#echo-dungeons.dg-phone-open canvas,#echo-dungeons.dg-phone-open .dg-arrows{touch-action:none}#echo-dungeons.dg-phone-open .dg-overlay{overscroll-behavior:contain}
@media(min-width:1100px){#echo-dungeons.dg-phone-open .dg-enemy{width:220px}#echo-dungeons.dg-phone-open .dg-enemy>svg{height:200px}#echo-dungeons.dg-phone-open .dg-arrows{grid-template-columns:repeat(3,56px);grid-template-rows:repeat(2,52px)}#echo-dungeons.dg-phone-open .dg-hud strong{font-size:16px}}
/* Shine Vault: wall-mounted art, large touch controls and a persistent reward reveal. */
.dg-vault-overlay{position:absolute;inset:0;z-index:4800;display:grid;place-items:center;padding:12px;background:#071419c9;backdrop-filter:blur(2px);overflow:auto;overscroll-behavior:contain}.dg-vault-panel{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.85fr);align-items:center;gap:20px;width:min(850px,100%);max-height:100%;overflow:auto;box-sizing:border-box;padding:24px;background:linear-gradient(145deg,#19363c,#0d202c);border:3px solid #c6a160;border-radius:14px;box-shadow:0 0 0 3px #2e3e3e,0 14px 55px #000a;color:#fff0cf}.dg-vault-close{position:absolute;right:6px;top:6px;z-index:2;min-width:44px;min-height:44px;font-size:24px}.dg-vault-visual{position:relative;aspect-ratio:1;min-width:0}.dg-vault-visual>img{width:100%;height:100%;object-fit:contain;image-rendering:pixelated}.dg-vault-dial{position:absolute;inset:13%;filter:drop-shadow(0 2px 4px #000)}.dg-vault-dial svg{width:100%;height:100%}.dg-vault-ring{transform-origin:160px 160px;transition:transform .22s ease-out}.dg-vault-ring.aligned{filter:drop-shadow(0 0 3px #64fff0)}.dg-vault-instructions{text-align:center;padding-top:16px}.dg-vault-instructions h2{font-size:32px;margin:2px 0 8px;color:#ffe5a4}.dg-vault-instructions p{margin:8px 0;font-size:15px}.dg-vault-instructions>small{display:block;font-size:12px;color:#b5c6c5;margin-top:12px}.dg-vault-targets{display:flex;justify-content:center;gap:24px;margin:16px 0;color:#b3ac90}.dg-vault-targets>span{font-size:34px;line-height:1.1}.dg-vault-targets small{display:block;font-size:12px;margin-top:6px}.dg-vault-targets .aligned{color:#98fff2;text-shadow:0 0 12px #54fff2}.dg-vault-buttons{display:flex;gap:7px}.dg-vault-buttons button{flex:1;min-height:48px;padding:10px 8px;font-size:14px}.dg-vault-instructions>#dgVaultOpen{width:100%;min-height:48px}.dg-vault-progress{color:#a5fae5}.dg-vault-unseal{position:relative;aspect-ratio:1;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse,#bffff0,#27899455 40%,transparent 70%)}.dg-vault-unseal>span{position:absolute;inset:0;background:url(assets/dungeon-vault-v1/shine-vault.webp) center/contain no-repeat;z-index:2}.dg-vault-unseal>span:first-child{clip-path:inset(0 50% 0 0);animation:dg-vault-left .9s ease-out forwards}.dg-vault-unseal>span:nth-child(2){clip-path:inset(0 0 0 50%);animation:dg-vault-right .9s ease-out forwards}.dg-vault-unseal>b{position:absolute;inset:0;display:grid;place-items:center;color:#c5fff1;font-size:110px;text-shadow:0 0 35px #58ffee}.dg-vault-reward-copy{text-align:center}.dg-vault-reward-copy h2{font-size:32px;line-height:1.1;color:#ffe4a1}.dg-vault-loot{display:flex;justify-content:center;gap:10px;margin:20px 0}.dg-vault-loot article{display:grid;gap:5px;flex:1;background:#22434b;border:1px solid #527d7b;border-radius:10px;padding:12px 6px}.dg-vault-loot article>span{font-size:36px;color:#91fff1}.dg-vault-loot article>strong{font-size:26px}.dg-vault-loot article>small{font-size:12px}.dg-vault-reward-copy>button{min-height:48px;width:100%}.dg-vault-reward-copy>p{font-size:14px}#dgVault{min-height:48px}#dgVault:before{content:'◈';color:#91fff1;font-size:26px;margin-right:8px}@keyframes dg-vault-left{to{transform:translateX(-35%);opacity:.35}}@keyframes dg-vault-right{to{transform:translateX(35%);opacity:.35}}@media(max-height:500px){.dg-vault-overlay{padding:6px}.dg-vault-panel{width:min(750px,100%);padding:12px;gap:12px;grid-template-columns:minmax(160px,.8fr) minmax(280px,1fr)}.dg-vault-visual,.dg-vault-unseal{max-height:calc(100svh - 52px);justify-self:center;width:auto;height:100%;aspect-ratio:1}.dg-vault-instructions{padding-top:0}.dg-vault-instructions h2,.dg-vault-reward-copy h2{font-size:23px;margin:0 0 4px}.dg-vault-instructions p{margin:4px 0;font-size:13px}.dg-vault-targets{margin:6px 0;gap:23px}.dg-vault-targets>span{font-size:25px}.dg-vault-instructions>small{margin-top:5px;font-size:10px}.dg-vault-loot{margin:8px 0}.dg-vault-loot article{padding:6px}.dg-vault-loot article>span{font-size:26px}.dg-vault-loot article>strong{font-size:20px}.dg-vault-reward-copy>p{margin:7px 0}}@media(max-width:550px) and (min-height:501px){.dg-vault-panel{grid-template-columns:1fr;padding:18px}.dg-vault-visual,.dg-vault-unseal{max-height:35svh;justify-self:center;width:100%}}@media(prefers-reduced-motion:reduce){.dg-vault-ring{transition:none}.dg-vault-unseal>span{animation:none}.dg-vault-unseal>span:first-child{transform:translateX(-35%);opacity:.35}.dg-vault-unseal>span:nth-child(2){transform:translateX(35%);opacity:.35}}

#echo-dungeons:has(.dg-vault-overlay) .dg-exit{visibility:hidden;pointer-events:none}

.dg-vault-treasure{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:4px 8px;text-align:left;padding:8px;margin:8px 0;border:1px solid #6d9990;border-radius:8px;background:#163940}.dg-vault-treasure>.treasure-icon{grid-row:1/3;width:48px;height:48px}.dg-vault-treasure>strong{font-size:14px;line-height:1.2}.dg-vault-treasure>small{grid-column:2;font-size:11px;color:#c0e2cf}@media(max-height:500px){.dg-vault-reward-copy>.eyebrow{font-size:10px;line-height:1.2;margin:0 0 3px}.dg-vault-reward-copy h2{font-size:21px;margin:0 0 4px}.dg-vault-reward .dg-vault-loot{margin:4px 0;gap:6px}.dg-vault-reward .dg-vault-loot article{gap:2px;padding:4px}.dg-vault-reward .dg-vault-loot article>span{font-size:20px}.dg-vault-reward .dg-vault-loot article>strong{font-size:16px}.dg-vault-reward .dg-vault-loot article>small{font-size:10px}.dg-vault-treasure{grid-template-columns:32px minmax(0,1fr);padding:4px;margin:4px 0;gap:2px 6px}.dg-vault-treasure>.treasure-icon{width:32px;height:32px}.dg-vault-treasure>strong{font-size:12px}.dg-vault-treasure>small{font-size:10px;line-height:1.2}.dg-vault-reward-copy>p{font-size:11px;line-height:1.2;margin:4px 0}.dg-vault-reward-copy>button{min-height:44px;padding:8px}}
