.npc-welcome{display:flex;gap:20px;align-items:center;padding:16px;border:1px solid #455075;border-radius:16px;background:radial-gradient(ellipse at 20% 80%,#263859,#141a29 70%)}
.npc-welcome img{width:120px;height:160px;object-fit:contain;image-rendering:pixelated;flex-shrink:0}.npc-welcome h3{margin:0 0 8px}.npc-welcome p{margin:4px 0 12px}.workshop-welcome{margin-bottom:20px}.forge-scene{display:grid;grid-template-columns:minmax(180px,1fr) minmax(200px,1fr);gap:22px;max-width:800px;margin:24px auto}.forge-scientist{border:0;flex-direction:column;text-align:center}.forge-scientist img{height:210px;width:160px}.forge-machine{align-self:center;border:8px solid #596779;border-bottom-width:22px;border-radius:24px;background:linear-gradient(135deg,#384450,#111921);padding:18px;box-shadow:0 8px 0 #0b1019,inset 0 0 0 3px #85929c;max-width:320px;width:100%;box-sizing:border-box}.forge-coils{text-align:center;color:#8affee;font-size:30px;letter-spacing:16px;text-shadow:0 0 14px #2ef2d6}.forge-slot{display:flex;align-items:center;justify-content:center;flex-direction:column;aspect-ratio:1;width:100%;border:4px solid #4adcc4;background:#0c1720;box-shadow:inset 0 0 30px #22ae9333;color:#cafbf0;cursor:pointer;padding:12px}.forge-slot img{height:100%;width:100%;object-fit:contain}.forge-slot b{font-size:56px}.forge-machine-lights{display:flex;justify-content:center;gap:18px;margin-top:15px}.forge-machine-lights i{width:12px;height:12px;background:#5fffcf;border-radius:50%;box-shadow:0 0 8px #5fffcf}.forge-machine-lights i:last-child{background:#ffb845}.forge-selected{max-width:720px;margin:auto;text-align:center}.forge-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:18px 0}.forge-stats span{padding:12px 4px;background:#1b2635;border-radius:10px}.forge-stats strong{display:block;font-size:22px;margin-top:4px}.forge-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.danger{background:#431d29;color:#ffb5c1;border:1px solid #e36780;border-radius:10px;padding:12px 18px;min-height:44px;cursor:pointer}.danger:disabled{opacity:.45;cursor:default}.forge-empty{text-align:center}.forge-dialog{position:fixed;inset:0;z-index:200;background:#030710dd;display:flex;align-items:center;justify-content:center;padding:18px}.forge-dialog>div{background:#172032;border:1px solid #526477;border-radius:18px;padding:22px;max-width:680px;max-height:85dvh;overflow:auto;width:100%;box-sizing:border-box}.forge-dialog h3{margin-top:0}.forge-dialog button{min-height:44px;margin:4px}.forge-picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(125px,1fr));gap:8px}.forge-picker button{display:flex;flex-direction:column;align-items:center}.forge-picker img{width:85px;height:85px;object-fit:contain}.detail-equip{margin:12px 0}.detail-equip button{width:100%;font-size:18px;min-height:48px}
.dg-portal-floors{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:10px;margin:18px 0}.dg-portal-floors button{min-height:60px}.dg-portal-floors small{display:block;margin-top:4px}.dg-portal-floors [aria-pressed=true]{outline:3px solid #6cf5db}.dg-portal{max-width:760px;margin:auto}.dg-portal #dgPortalReset{margin-top:20px}.dg-lobby-tabs{flex-wrap:wrap}.dg-floor-boss .npc-pixel-enemy{filter:drop-shadow(0 0 12px #ff334f) drop-shadow(0 0 24px #ca122d);animation:floor-boss-glow 1.4s ease-in-out infinite}.dg-boss-entrance{position:absolute;inset:0;z-index:45;display:flex;align-items:center;justify-content:center;pointer-events:none;text-align:center;background:radial-gradient(ellipse,#4b071b77,transparent 70%)}.dg-boss-entrance>div{max-width:85%;color:#ffb4be;text-shadow:0 3px 0 #200611,0 0 28px #ff193b}.dg-boss-entrance h2{font-size:clamp(42px,8vw,90px);line-height:1;margin:8px 0 18px}.dg-boss-entrance p{letter-spacing:4px;font-weight:bold}.dg-boss-entrance button{display:block;pointer-events:auto;margin:18px auto 0}.dg-grand-entrance{background:radial-gradient(ellipse,#51331799,#09041077 75%)}.dg-grand-entrance>div{color:#ffe9a6;text-shadow:0 3px 0 #2e1700,0 0 28px #e7ac32}.dg-effects-off .dg-floor-boss .npc-pixel-enemy,.dg-animation-paused .dg-floor-boss .npc-pixel-enemy{animation:none}.dg-effects-off .dg-floor-boss .npc-pixel-enemy{filter:none}.wm-letter{position:relative}.wm-fragment-pop{position:absolute;left:50%;top:-12px;white-space:nowrap;font-size:16px;font-style:normal;color:#a7ffbd;text-shadow:0 2px 2px #071208;pointer-events:none;z-index:8;animation:letter-fragments 1.6s ease-out forwards}.wm-current-echo{display:flex;align-items:center;gap:12px;margin:12px 0}.wm-current-echo img{height:70px;width:70px;object-fit:contain}@keyframes letter-fragments{from{transform:translate(-50%,0);opacity:1}to{transform:translate(-50%,-35px);opacity:0}}@keyframes floor-boss-glow{50%{filter:drop-shadow(0 0 18px #ff334f) drop-shadow(0 0 32px #ca122d)}}
@media(max-width:600px){.forge-scene{grid-template-columns:1fr 1.2fr;gap:8px}.forge-scientist img{width:100px;height:145px}.forge-scientist{padding:6px}.forge-scientist h3{font-size:16px}.forge-machine{padding:10px;border-width:5px;border-bottom-width:16px}.forge-coils{font-size:20px;letter-spacing:8px}.npc-welcome{gap:10px;padding:12px}.npc-welcome img{width:90px;height:125px}.forge-stats{grid-template-columns:repeat(2,1fr)}.forge-actions button{flex:1 1 140px}.dg-boss-entrance h2{font-size:clamp(36px,7vw,64px)}}
@media(prefers-reduced-motion:reduce){.dg-floor-boss .npc-pixel-enemy{animation:none}.wm-fragment-pop{animation:none;transform:translate(-50%,-10px)}}

+#echo-dungeons.dg-phone-open .dg-preparation{display:block}#echo-dungeons.dg-phone-open .dg-dungeon-team{display:block}#echo-dungeons.dg-phone-open .dg-dungeon-team[hidden],#echo-dungeons .dg-portal[hidden],#echo-dungeons .dg-shop[hidden]{display:none}.dg-town>.dg-dungeon-select{margin:14px 0}.dg-portal #dgPortalEnter{min-height:48px}.dg-portal .npc-welcome{background:radial-gradient(ellipse at 10% 80%,#34215b,#191722 70%)}
+
.dg-portal>p:empty{display:none}
.dg-portal-floors button{display:flex;flex-direction:column;align-items:center;justify-content:center;white-space:nowrap}
@media(max-width:600px){.forge-scientist p{font-size:13px;line-height:1.4}.forge-scientist img{height:145px;width:110px}.forge-stats{grid-template-columns:repeat(4,1fr)}.forge-stats span{font-size:11px}.forge-stats strong{font-size:18px}.forge-actions{margin:12px 0}}
@media(max-height:750px) and (min-width:600px){
 #echo-dungeons .dg-town>.dg-dungeon-select{margin:8px 0}
 #echo-dungeons .dg-town>.dg-dungeon-select>.eyebrow{display:none}
 #echo-dungeons .dg-town>.dg-dungeon-select .dg-carousel article{min-height:0;padding:8px 14px;gap:3px}
 #echo-dungeons .dg-town>.dg-dungeon-select .dg-carousel article>small,#echo-dungeons .dg-town>.dg-dungeon-select .dg-carousel article>b,#echo-dungeons .dg-town>.dg-dungeon-select .dg-carousel article>p{display:none}
 #echo-dungeons .dg-town>.dg-dungeon-select .dg-carousel article>.dg-access-badge{position:static;font-size:9px;padding:2px 8px}
 #echo-dungeons .dg-town>.dg-dungeon-select .dg-carousel article>strong{font-size:16px}
 #echo-dungeons .dg-town>.dg-dungeon-select .dg-carousel article>span{font-size:10px}
 #echo-dungeons .dg-preparation{margin:8px 0}
 #echo-dungeons .dg-portal{display:grid;grid-template-columns:minmax(180px,.9fr) minmax(220px,1.1fr);gap:6px 14px}
 #echo-dungeons .dg-portal .npc-welcome{grid-column:1;grid-row:1/6;flex-direction:column;gap:4px;padding:10px;text-align:center}
 #echo-dungeons .dg-portal .npc-welcome img{height:110px;width:90px}
 #echo-dungeons .dg-portal .npc-welcome p{font-size:12px;margin:4px 0}
 #echo-dungeons .dg-portal .npc-welcome small{display:none}
 #echo-dungeons .dg-portal-floors{grid-column:2;margin:0;gap:6px}
 #echo-dungeons .dg-portal-floors button{min-height:48px;padding:6px}
 #echo-dungeons .dg-portal>button,#echo-dungeons .dg-portal>p{grid-column:2;margin:0}
 #echo-dungeons .dg-portal #dgPortalReset{margin-top:0}
}
@media(max-height:450px) and (min-width:600px){#echo-dungeons .dg-portal .npc-welcome p{display:none}#echo-dungeons .dg-portal .npc-welcome img{height:90px;width:75px}#echo-dungeons .dg-portal .npc-welcome h3{font-size:18px;margin:4px 0}}
