/* A tile-based world and translucent command windows inspired by classic RPGs. */
.world-intro h1,.battle-intro h1{font-size:28px}.world-layout{grid-template-columns:minmax(0,1fr) 270px}.world-layout .sidebar{display:flex}.world-panel{align-self:start}.world-stage{position:relative;background:#248aba;overflow:hidden}.world-stage canvas{display:block;width:100%;height:auto;image-rendering:pixelated;cursor:crosshair;touch-action:manipulation}.world-compass{position:absolute;top:16px;right:18px;color:#f5eac1;text-align:center;font:16px Cinzel;text-shadow:1px 2px #22648a;pointer-events:none}.map-dpad{position:absolute;left:14px;bottom:15px;display:grid;grid-template-columns:repeat(3,34px);grid-template-rows:repeat(2,34px);gap:3px;opacity:.9}.map-dpad button{padding:0;border:1px solid #e4d39a99;background:#183344c9;color:#fff2cd;border-radius:4px;box-shadow:0 2px #071b2699;font-size:13px}.map-dpad button:first-child{grid-column:2}.map-dpad button:nth-child(2){grid-row:2;grid-column:1}.map-dpad button:nth-child(3){grid-row:2;grid-column:2}.map-dpad button:nth-child(4){grid-row:2;grid-column:3}.location-bar{padding:20px;display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid #3c4348;background:#171f26}.location-bar strong{display:block;font-size:15px;color:#e2c797;margin-bottom:6px}.location-bar span{display:block;font-size:11px;color:#a4b3bd;line-height:1.7}.location-bar button{font-size:12px;flex-shrink:0}.map-legend{display:flex;gap:13px;flex-wrap:wrap;padding:13px 20px;font-size:10px;color:#a6adad;border-top:1px solid #3a4148}.travel-stats{padding:12px 20px;display:flex;gap:20px;font-size:11px;align-items:center;background:#121820}.travel-stats span{color:#969eaa}.travel-stats b{color:#c9dfce;margin-left:5px}.travel-stats button{font-size:10px;padding:6px 10px;margin-left:auto}.expedition-note{padding:20px;margin-top:18px}.expedition-note h3{font-size:15px;margin:12px 0}.expedition-note p{font-size:11px;margin:0}.town-menu{display:grid;gap:12px}.town-menu button{text-align:left;background:#26363b;border-color:#607177}.town-menu small{display:block;font-size:11px;color:#a3b6b9;margin-top:5px}.retro-battle{border:3px solid #b9b09b;border-radius:8px;box-shadow:0 0 0 1px #5c5b5b,0 12px 50px #0004}.retro-battle .retro-arena{height:600px;min-height:600px;max-height:none;background:#a8c3b4}.retro-arena:before,.retro-arena:after{display:none}#battle-scenery{position:absolute;inset:0;width:100%;height:100%;image-rendering:pixelated;z-index:0}.blue-window{background:linear-gradient(135deg,#214c64da,#173d55d9);border:2px solid #e2ddc8;border-radius:9px;box-shadow:0 0 0 1px #526674,inset 0 0 0 2px #9aafb13d,2px 3px 1px #18243166;color:#fff9e3;text-shadow:1px 2px 1px #172f45;backdrop-filter:none}.retro-battle .weapon-title{position:absolute;top:18px;left:20px;width:340px;min-height:44px;display:flex;gap:12px;justify-content:space-between;align-items:center;padding:9px 12px;z-index:4;font-size:14px}.weapon-title span{color:#ecd790;text-shadow:1px 1px #73572c;font-size:18px}.retro-battle .battle-info{position:absolute;right:20px;top:18px;display:block;width:240px;z-index:3;padding:12px 16px;background:linear-gradient(135deg,#24544be8,#1c3f4cdd)}.retro-battle .battle-info .unit-name{font-size:13px;margin-bottom:8px}.retro-battle .battle-info .values{color:#f2ecd4;font-size:11px}.retro-battle .battle-info .bar{background:#123746;border:1px solid #a7bdad55}.retro-battle .enemy-status{margin-top:12px;padding-top:10px;border-top:1px solid #b9d0c66b}.retro-battle .commands{position:absolute;left:20px;top:74px;width:340px;padding:9px 10px;display:flex;flex-direction:column;gap:0;z-index:5}.retro-battle .commands button{border:0;background:transparent;border-radius:3px;padding:7px 9px 7px 25px;display:flex;justify-content:space-between;align-items:center;text-shadow:1px 2px 1px #17324a;position:relative;color:#fff9e3;min-height:36px}.retro-battle .commands button b{font-size:15px;font-weight:500;letter-spacing:1px;white-space:nowrap}.retro-battle .commands button small{margin:0;font-size:12px;white-space:nowrap;color:#efe9d2}.retro-battle .commands button:hover:not(:disabled),.retro-battle .commands button:focus-visible,.retro-battle .commands button.chosen{background:#bad4d333;transform:none;outline:none}.retro-battle .commands button:hover:not(:disabled):before,.retro-battle .commands button:focus-visible:before,.retro-battle .commands button.chosen:before{content:'▶';position:absolute;left:5px;color:#ffdc79;font-size:13px}.retro-battle .commands button:disabled{opacity:.42}.retro-battle .fighter{z-index:2;bottom:112px;height:145px;width:145px;transition:transform .2s,filter .2s}.retro-battle .fighter canvas{image-rendering:pixelated;filter:drop-shadow(2px 6px 1px #272d3444)}.retro-battle #enemy-sprite{left:24%;bottom:122px;width:165px;height:165px}.retro-battle #hero-sprite{right:19%;bottom:168px;width:115px;height:126px}.retro-battle .unit-caption{position:absolute;z-index:2;background:#1a354ac2;border:1px solid #d5d5bc99;padding:3px 10px;border-radius:4px;color:#fff2d6;font-size:10px;text-shadow:1px 1px #123}.enemy-caption{left:26%;bottom:118px}.hero-caption{right:20%;bottom:162px}.retro-battle .round-label{right:21px;top:200px;border-radius:5px;background:#1a3d50bd;color:#ffefcb;border:1px solid #d1d2ba9c;z-index:2;font-size:11px;letter-spacing:1px}.retro-battle .turn-banner{position:absolute;bottom:96px;left:20px;right:20px;z-index:6;padding:8px 14px;font-size:13px;border-radius:5px;background:#214559e8;color:#fff5ce;min-height:37px}.retro-battle .action-details{position:absolute;bottom:16px;left:20px;right:20px;z-index:6;display:flex;align-items:center;gap:15px;min-height:66px;padding:10px 15px}.action-details p{color:#fff9e6;line-height:1.7;font-size:14px;margin:0;letter-spacing:.5px}.info-chip{display:block;flex-shrink:0;background:linear-gradient(#f4dda0,#b58a38);color:#362a15;border:1px solid #f0d897;padding:6px 13px;box-shadow:1px 2px #1f3544;text-shadow:none;font-size:14px;font-weight:700;border-radius:3px;letter-spacing:3px}.battle-bottom{display:flex;justify-content:space-between;padding:12px 20px;color:#a4b2b9;font-size:11px;background:#172029}.battle-bottom b{color:#dbc393}.battle-intro{align-items:center}.battle-intro h1{margin-bottom:0}.battle-intro>button{font-size:12px}.retro-battle .floating{font-size:26px;bottom:75%}.retro-battle+.battle-log,.retro-battle+#battle-log .log{margin-top:20px}.retro-battle .fighter.attack.hero{animation:retroHeroAttack .45s}.retro-battle .fighter.attack.enemy{animation:retroEnemyAttack .45s}@keyframes retroHeroAttack{50%{transform:translate(-50px,15px)}}@keyframes retroEnemyAttack{50%{transform:translate(50px,-15px)}}
@media(min-width:1400px){.retro-battle .retro-arena{height:660px}}@media(max-width:900px){.world-layout{grid-template-columns:1fr}.world-layout .sidebar{display:grid;grid-template-columns:1fr 1fr}.world-layout .expedition-note{display:none}.retro-battle .retro-arena{height:560px;min-height:560px}.retro-battle .weapon-title,.retro-battle .commands{width:310px}.retro-battle .battle-info{width:210px}.retro-battle .commands button b{font-size:13px}.retro-battle .commands button small{font-size:11px}.retro-battle #enemy-sprite{left:20%}.retro-battle #hero-sprite{right:15%}.enemy-caption{left:22%}.hero-caption{right:16%}}
@media(max-width:560px){.world-intro h1,.battle-intro h1{font-size:22px}.world-panel .panel-head{padding:12px 14px}.world-panel .panel-head small{font-size:8px;max-width:190px;text-align:right}.location-bar{padding:14px;display:block}.location-bar button{width:100%;margin-top:12px}.location-bar strong{font-size:14px}.location-bar span{font-size:10px}.map-dpad{grid-template-columns:repeat(3,29px);grid-template-rows:repeat(2,29px);left:8px;bottom:8px}.map-legend{padding:12px 14px;gap:8px;font-size:9px}.travel-stats{padding:10px 12px;gap:9px;font-size:9px;flex-wrap:wrap}.travel-stats button{font-size:9px}.world-layout .sidebar{display:block}.world-compass{font-size:12px;right:10px;top:8px}.retro-battle{border-width:2px}.retro-battle .retro-arena{height:550px;min-height:550px}.retro-battle .weapon-title{top:12px;left:10px;width:calc(100% - 20px);min-height:35px;padding:4px 9px;font-size:12px}.retro-battle .battle-info{top:58px;right:10px;width:138px;padding:9px 10px}.retro-battle .battle-info .unit-name{font-size:10px;gap:2px}.retro-battle .battle-info .unit-name small{font-size:8px}.retro-battle .battle-info .values{font-size:8px}.retro-battle .enemy-status{margin-top:8px;padding-top:8px}.retro-battle .commands{left:10px;top:58px;width:calc(100% - 166px);padding:5px 3px}.retro-battle .commands button{padding:7px 3px 7px 13px;min-height:35px;display:block;text-align:left}.retro-battle .commands button b{font-size:11px;letter-spacing:0}.retro-battle .commands button small{font-size:8px;text-align:right;margin-top:2px}.retro-battle .commands button:hover:not(:disabled):before,.retro-battle .commands button:focus-visible:before,.retro-battle .commands button.chosen:before{left:2px;font-size:8px;top:9px}.retro-battle .round-label{top:224px;right:11px;font-size:9px;padding:4px 8px}.retro-battle #enemy-sprite{left:8%;bottom:122px;width:118px;height:118px}.retro-battle #hero-sprite{right:10%;bottom:150px;width:88px;height:96px}.enemy-caption{left:10%;bottom:122px}.hero-caption{right:10%;bottom:149px}.retro-battle .unit-caption{font-size:8px;padding:2px 6px}.retro-battle .turn-banner{left:10px;right:10px;bottom:88px;padding:7px 9px;font-size:10px;min-height:32px}.retro-battle .action-details{left:10px;right:10px;bottom:10px;min-height:68px;padding:8px 10px;gap:9px}.action-details p{font-size:10px;line-height:1.7}.info-chip{font-size:10px;letter-spacing:1px;padding:5px 8px}.battle-bottom{padding:10px;font-size:8px}.retro-battle .fighter.hurt{animation:hurt .4s}.world-layout .profile{margin-top:0}}
