/* The map itself is the touch surface; controls leave room for the world. */
#touch-stick,.dpad{display:none!important}
#explore-labels{pointer-events:none}
#explore-labels .explore-marker{pointer-events:auto;cursor:pointer;touch-action:manipulation;min-height:44px;min-width:44px;padding:6px 9px;line-height:1.25;box-shadow:0 2px 8px #07121c55}
#touch-destination{position:absolute;z-index:2;pointer-events:none;width:28px;height:15px;border:2px solid #f1d994;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 5px #d5be7140}
#field-controls{gap:14px;padding:8px 12px;min-height:0}
#field-controls .touch-actions{display:flex;max-width:none;flex:1;justify-content:flex-end}
#field-controls #field-interact{flex:1;max-width:360px;min-height:44px}
#field-controls #map-zoom,#field-controls #touch-cancel{min-height:44px;flex:0 0 auto}
#control-note{color:#bdcec9;font-size:12px}
/* Illustrated equipment cabinet. */
#rpg-dialog{background:radial-gradient(ellipse at 10% 0,#28424b,#111f2a 70%);color:#edf0e8;border:1px solid #a89c77;max-width:1080px;color-scheme:dark}
#rpg-dialog .rpg-heading{background:#162b38f5;border-color:#6d7d78;padding:16px 22px}
#rpg-body{padding:12px 22px 24px}
#rpg-message{padding:6px 22px;min-height:28px}
.gear-party{display:flex;gap:7px;overflow-x:auto;padding:3px 0 12px;scroll-snap-type:x proximity}
.gear-person{flex:0 0 auto;display:flex;gap:7px;align-items:center;min-height:52px;max-width:180px;padding:6px 10px;text-align:left;background:#1a303d;border:1px solid #526b72;scroll-snap-align:start}
.gear-person[aria-pressed=true]{background:#3b5356;border-color:#ddc58e;box-shadow:inset 0 -2px #ddc58e}
.gear-person .avatar{width:35px;height:39px;flex:0 0 auto;border-radius:3px}
.gear-person strong{font-size:12px;display:block}.gear-person small{display:block;font-size:10px;color:#c3d0c9;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gear-owner{display:flex;gap:13px;align-items:center;margin:2px 0 14px}.gear-owner .avatar{width:62px;height:68px;border:1px solid #a39570;border-radius:4px}.gear-owner h3{margin:0 0 4px;font-size:20px;font-weight:500}.gear-owner p{margin:0;font-size:12px;color:#c7d3cc;line-height:1.7}
.gear-stats{display:flex;gap:16px;font-size:12px;margin-top:7px;color:#bfccc6}.gear-stats b{color:#f0dfb8;font-size:16px;font-weight:500;margin-left:4px}
.gear-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:17px}
.gear-slot{display:flex;gap:8px;align-items:center;text-align:left;padding:8px;border:1px solid #607874;background:linear-gradient(125deg,#243e49,#192d38);min-width:0;min-height:80px}
.gear-slot .item-art{width:54px;height:60px;flex-shrink:0}.gear-slot span{min-width:0}.gear-slot small{display:block;font-size:10px;color:#d5c18b;letter-spacing:.08em;margin-bottom:4px}.gear-slot strong{display:block;font-size:12px;font-weight:500;overflow-wrap:anywhere}.gear-slot em{display:block;font-style:normal;font-size:10px;color:#b4c4bd;margin-top:4px}
.gear-categories{display:flex;gap:6px;overflow-x:auto;padding-bottom:10px;margin-bottom:4px}.gear-categories button{flex-shrink:0;min-height:40px;font-size:12px;padding:7px 13px;background:#1a303e;border-color:#557078}.gear-categories button[aria-pressed=true]{background:#4c625d;border-color:#d5bd81;color:#fff2c9}
.gear-cabinet{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr);gap:16px;align-items:start}
.gear-grid,.shop-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.gear-item{position:relative;display:flex;flex-direction:column;align-items:center;min-width:0;text-align:center;padding:10px 8px 9px;background:linear-gradient(135deg,#2e4851,#192e3c);border:1px solid #526d75;min-height:169px;cursor:pointer}
.gear-item[aria-pressed=true]{border:2px solid #dcc38a;padding:9px 7px 8px;box-shadow:inset 0 0 24px #d6b86c10;background:linear-gradient(135deg,#3a5355,#233e49)}
.gear-item .item-art{width:82px;height:91px;filter:drop-shadow(1px 3px 3px #07121a70)}.gear-item strong{font-size:13px;font-weight:500}.gear-item small{font-size:10px;color:#bed0c7;margin-top:5px}.gear-item .gear-count{position:absolute;top:7px;right:8px;font-size:10px;color:#d4dcca}.gear-badge{display:inline-block;font-size:9px;color:#eed49a;background:#45584e;padding:2px 5px;border:1px solid #9b9769;margin-top:4px}.gear-item.unavailable{opacity:.65}
.gear-detail{background:linear-gradient(155deg,#263f4b,#152b38);border:1px solid #72857d;padding:16px;position:sticky;top:85px;scroll-margin-top:92px}
.gear-detail-art{display:flex;align-items:center;justify-content:center;min-height:156px;background:radial-gradient(ellipse,#63786735,transparent 67%);border-bottom:1px solid #5d716d;margin-bottom:13px}.gear-detail-art .item-art{width:130px;height:146px;filter:drop-shadow(2px 5px 4px #081a2470)}
.gear-detail small{color:#d9c591;font-size:10px;letter-spacing:.08em}.gear-detail h3{margin:6px 0 10px;font-size:20px;font-weight:500}.gear-detail p{font-size:12px;line-height:1.8;color:#d1ddd5;margin:8px 0}.gear-detail .gear-replaces{font-size:11px;color:#b5c8c0}.gear-detail .gear-unusable{color:#e7b8a2}
.gear-comparison{width:100%;border-collapse:collapse;margin:13px 0;font-size:12px;font-variant-numeric:tabular-nums}.gear-comparison caption{text-align:left;font-size:10px;color:#c3cfc5;padding-bottom:7px}.gear-comparison th,.gear-comparison td{padding:7px 3px;border-bottom:1px solid #596c6b55;text-align:right}.gear-comparison th:first-child{text-align:left;font-weight:400;color:#c9d7d0}.gear-comparison thead th{font-size:9px;color:#acbeb7;font-weight:400}.gear-comparison .better{color:#a9d7ad}.gear-comparison .worse{color:#edb49c}
.gear-detail-actions{display:flex;flex-direction:column;gap:7px;margin-top:13px}.gear-detail-actions button{min-height:46px;font-size:13px;background:#566b5c;border-color:#b9b184;color:#fff1cd}.gear-detail-actions button.secondary{background:#213d48;border-color:#6d8585;color:#d4dfd6}.gear-detail-actions button:disabled{opacity:.48}
.gear-empty{font-size:13px;color:#bfcec6;line-height:1.9;padding:20px 10px;border:1px dashed #506c72;grid-column:1/-1}
.shop-grid .goods{display:grid;grid-template-columns:76px minmax(0,1fr);gap:8px;padding:12px;background:linear-gradient(135deg,#2a424c,#1b303c);border:1px solid #536e76;border-radius:3px;align-items:start}.shop-grid .goods .item-art{width:74px;height:85px}.shop-grid .goods h3{font-size:14px;margin-bottom:6px}.shop-grid .goods>div:last-child{grid-column:1/-1;display:flex;flex-direction:row;align-items:center;justify-content:space-between;min-width:0}.shop-grid .goods p{font-size:11px}.shop-grid .goods button{min-height:44px}.shop-grid .goods strong{color:#ebd49a}
@media(max-width:1100px),(pointer:coarse){
 #game-main,body[data-game-mode=battle] #game-main{grid-template-rows:46px minmax(0,1fr) 58px 52px}
 #field-controls{height:58px;padding:6px 10px;gap:0}
 #field-controls .touch-actions{display:flex;max-width:none;gap:7px}
 #field-controls #field-interact{font-size:13px;max-width:none;min-height:44px;padding:8px 12px}
 #field-controls #map-zoom,#field-controls #touch-cancel{font-size:11px;padding:6px 10px;min-height:44px}
 #rpg-dialog{width:calc(100% - 12px);max-height:calc(100dvh - 12px);border-radius:7px}
 #rpg-dialog .rpg-heading{padding:10px 12px}.rpg-heading h2{font-size:18px}.rpg-heading>div:last-child{gap:8px}
 #rpg-body{padding:8px 12px 20px}#rpg-message{padding:5px 12px;min-height:25px;font-size:12px}
 .gear-person{min-height:52px;padding:5px 8px}.gear-party{padding-bottom:10px}
 .gear-owner{gap:10px;margin-bottom:12px}.gear-owner .avatar{width:48px;height:54px}.gear-owner h3{font-size:17px}.gear-owner p{font-size:10px}.gear-stats{gap:13px;margin-top:4px;font-size:10px}.gear-stats b{font-size:14px}
 .gear-slot{padding:6px;gap:4px;flex-direction:column;align-items:center;text-align:center;min-height:116px}.gear-slot .item-art{width:51px;height:54px}.gear-slot small{font-size:9px;margin-bottom:4px}.gear-slot strong{font-size:11px}.gear-slot em{font-size:9px}
 .gear-cabinet{grid-template-columns:minmax(0,1fr);gap:12px}.gear-detail{position:static;display:grid;grid-template-columns:90px minmax(0,1fr);gap:0 10px;padding:12px;scroll-margin-top:90px}.gear-detail-art{grid-row:1/3;min-height:100px;border:0;margin:0}.gear-detail-art .item-art{width:87px;height:100px}.gear-detail-heading{min-width:0}.gear-detail h3{font-size:18px}.gear-detail .gear-comparison,.gear-detail .gear-detail-actions{grid-column:1/-1}.gear-detail p{font-size:11px}.gear-detail .gear-detail-actions{margin-top:4px}.gear-detail-actions button{min-height:48px}
 .gear-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.gear-item{min-height:146px;padding:9px 5px}.gear-item[aria-pressed=true]{padding:8px 4px}.gear-item .item-art{width:66px;height:75px}.gear-item strong{font-size:11px}.gear-item small{font-size:9px}.gear-item .gear-count{top:5px;right:5px;font-size:9px}
 .shop-grid{grid-template-columns:1fr}.shop-grid .goods{grid-template-columns:74px minmax(0,1fr)}
}
@media(max-width:360px){.gear-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gear-slot strong{font-size:10px}.gear-stats{gap:8px}}
@media(max-width:1100px) and (orientation:landscape),(pointer:coarse) and (orientation:landscape){
 #game-main,body[data-game-mode=battle] #game-main{grid-template-columns:minmax(0,1fr) 230px;grid-template-rows:44px minmax(0,1fr) 58px}
 #game-main .game{grid-row:2/-1}#game-main aside{width:214px;max-height:calc(100dvh - 218px)}
 #field-controls{grid-column:2;grid-row:3;padding:5px 7px}#field-controls #map-zoom{font-size:10px;padding:4px 6px}#field-controls #field-interact{font-size:11px;padding:6px}
 #mobile-dock{grid-column:2;grid-row:2} .gear-cabinet{grid-template-columns:minmax(0,1fr) minmax(250px,1fr)}.gear-detail{display:block;position:sticky;top:70px}.gear-detail-art{min-height:100px}.gear-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
