/* One responsive layout owns each mobile zone; override historical offsets. */
button{touch-action:manipulation}#gearPanel,#questPanel,#statsPanel,#civicPanel{overscroll-behavior:contain}#gearSlots{overflow-x:hidden}.bar i{max-width:100%}.ui-panel-open .shop-panel{visibility:hidden!important}
@media(max-width:620px){body{padding:4px;padding-bottom:max(4px,env(safe-area-inset-bottom));height:100dvh}.handset{width:min(calc(100vw - 8px),calc(100dvh - 16px));max-height:calc(100dvh - 16px);border-radius:8px}}
@container(max-width:600px){
 .hud-top{inset:6px 6px auto;grid-template-columns:minmax(0,1fr) 116px;gap:5px;align-items:start}
 .status{min-width:0;min-height:48px;padding:5px;gap:4px;grid-template-columns:42px minmax(0,1fr)}
 .status>#level{font-size:12px;overflow:hidden;white-space:nowrap}.vitals{min-width:0}.vitals>div{grid-template-columns:14px minmax(10px,1fr) 44px;gap:3px;height:17px}.vitals span,.vitals b{font-size:9px;overflow:hidden;text-overflow:ellipsis}.coins{display:none}
 .game-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px}.game-controls button{width:100%;min-width:0;height:32px;padding:0;font-size:12px}
 .map-title{top:58px;left:8px;right:8px;gap:5px;max-height:22px;overflow:hidden}.map-title>span:first-child{font-size:12px;min-width:0;flex:1}.map-title>span:last-child{font-size:10px;flex-shrink:0;padding:2px 4px}
 .game-bottom{inset:auto 6px 6px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:40px 28px;gap:4px;height:72px;align-items:stretch;z-index:8}
 .game-bottom #draw{display:none}.game-bottom #statsButton,.game-bottom #gearButton,.game-bottom #questButton{min-width:0;width:100%;height:40px;min-height:40px;padding:4px;font-size:14px;white-space:nowrap;border-radius:6px;overflow:hidden;display:flex;justify-content:center;align-items:center;gap:4px}
 .game-bottom .zoom-controls{grid-column:1/-1;display:grid;grid-template-columns:1fr 1.25fr 1fr;gap:3px;margin:0;padding:0;border:0;background:none;min-width:0;flex-basis:auto;height:28px}
 .zoom-controls button{height:28px;min-height:28px;min-width:0;width:100%;padding:2px;font-size:10px;background:#17392deb;border:1px solid #668574;border-radius:4px}
 .gear-badge,.stat-dot{margin:0;padding:2px 5px;font-size:11px;max-width:42px;overflow:hidden}
 .skill-belt{inset:auto 6px 84px;display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:3px;height:37px;z-index:8}.skill-belt button{width:100%;height:37px;min-width:0;padding:1px;border-radius:5px}.skill-belt canvas{height:31px;width:25px}.skill-belt button small{font-size:8px;top:1px;left:2px}
 .activity{bottom:126px;left:8px;right:8px;height:20px}.activity span{max-width:100%;font-size:10px;padding:3px 5px;line-height:14px}.minimap{display:none}
 .boss-hud{top:83px;left:8px;right:8px;padding:5px 7px;max-height:49px;overflow:hidden}.boss-hud>div:first-child{font-size:12px}.boss-hud b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.boss-hud span{font-size:10px;flex-shrink:0}.boss-hud small{font-size:9px;line-height:12px;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.boss-track{height:4px;margin-top:3px}.danger-banner{top:137px;left:8px;right:8px;font-size:10px;line-height:14px;padding:3px 6px;max-height:34px;overflow:hidden}
 #toast{bottom:151px;max-width:90%;font-size:11px;padding:6px 8px;line-height:1.4;z-index:40}#regionTransition{top:36%;padding:10px;left:8%;right:8%}#regionTransition strong{font-size:20px}
 #gearPanel,#questPanel,#civicPanel{inset:8px;width:auto;max-width:none;max-height:none;height:auto;margin:0;padding:10px;transform:none;border-radius:10px;z-index:35;box-shadow:0 4px 22px #071e19b3;background:#19362afa}
 #gearPanel{display:flex;flex-direction:column;gap:6px;overflow:hidden}#gearPanel header{flex-shrink:0;min-height:32px;font-size:16px}#gearPanel header button,#questPanel header button,#civicPanel header button,#statsPanel header button{min-width:36px;min-height:32px}
 #gearPanel .gear-summary{display:none}#gearActions{margin:0;flex-shrink:0}#applyLoadout{min-height:43px;width:100%;font-size:13px;padding:5px}#applyLoadout span{font-size:10px;line-height:1.4;margin:2px 0 0}.gear-tools{margin-top:5px;font-size:10px}.gear-tools button{min-height:30px;font-size:11px;padding:4px}
 #gearSlots{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;margin:0;padding-right:3px}.rpg-policy{display:flex;gap:5px}.rpg-policy button{flex:1;min-height:31px;font-size:12px}.gear-filter button{min-height:30px}.equipment-item{padding:8px}.equipment-item b,.equipped-row b{font-size:13px;overflow-wrap:anywhere}.equipment-item p{font-size:12px}.equipment-item small,.equipped-row small{font-size:11px}.equipment-item footer button{min-height:32px}.equipment-item footer{flex-wrap:wrap}.equipment-item footer span{min-width:48px}#gearPanel #knownSkills{display:block;max-height:30px;flex-shrink:0;font-size:10px;line-height:1.4;margin:0;padding-top:2px}
 #questPanel,#civicPanel{overflow-y:auto}.quest-panel header{position:sticky;top:-10px;background:#19362a;padding:4px 0;z-index:1;min-height:36px}.quest-entry{padding:9px;margin:8px 0}.quest-entry b{font-size:14px}.quest-entry small,.quest-entry span{font-size:12px}.quest-panel p{font-size:12px}
 #statsPanel{top:50%;bottom:auto;left:50%;right:auto;transform:translate(-50%,-50%);width:min(290px,calc(100% - 24px));max-height:calc(100% - 24px);padding:10px;z-index:36;overflow-y:auto}.stats-panel header{font-size:15px}.stat-points{padding:6px 10px;margin-top:6px}.stat-points strong{font-size:23px}.stat-guide,.stat-footnote{font-size:10px;margin:6px 0}.stat-row{padding:6px;gap:7px;margin:5px 0}.stat-row b{font-size:14px}.stat-row small{font-size:11px}.stat-row button{width:36px;height:36px}
 .card-overlay{inset:6px;height:auto;max-height:none;padding:10px;gap:7px;border-radius:9px;overflow:hidden;display:flex;justify-content:flex-start;background:#173429fc;z-index:45}.card-overlay h2{flex-shrink:0;margin:0;padding:0;font-size:17px;line-height:1.4;text-align:center}.card-caption{flex-shrink:0;font-size:11px;line-height:1.4}.card-prompt{display:none}
 .cards,.cards.four-choices{height:auto;min-height:0;flex:1;display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden;gap:7px;padding:2px 2px 6px;perspective:none;scrollbar-width:thin}
 .cards .card,.cards.four-choices .card{display:grid;grid-template-columns:34px minmax(0,1fr);grid-template-rows:auto auto auto;column-gap:9px;row-gap:3px;flex:none;min-height:94px;padding:9px;text-align:left;overflow:visible;border-radius:8px;align-items:start;align-content:start;box-shadow:0 2px #0e251c}
 .card .card-type{grid-column:2;grid-row:1;font-size:11px;line-height:1.3}.cards .card h3,.cards.four-choices .card h3{grid-column:2;grid-row:2;font-size:15px;line-height:1.3;text-align:left;margin:0}.cards .card .card-icon,.cards.four-choices .card .card-icon{grid-column:1;grid-row:1/4;display:block;align-self:center;width:32px;height:40px;margin:0}.cards .card p,.cards.four-choices .card p{grid-column:2;grid-row:3;font-size:12px;line-height:1.45;margin:0;overflow-wrap:anywhere}.cards .card-cost{display:none}
 .shop-panel,.shop-panel.dock-left{inset:auto 8px 126px auto;width:min(230px,calc(100% - 16px));max-width:none;height:190px;max-height:calc(100% - 198px);min-height:0;padding:8px;gap:4px;z-index:18}.shop-panel.resting{height:160px}.shop-heading{padding-bottom:4px;gap:5px}.shop-heading strong{font-size:13px}.shop-status b{font-size:11px}.shop-catalog{min-height:0}.product-row{min-height:43px}.shop-heading small,.catalog-label{display:none}#shopReceipts{font-size:10px;max-height:28px;overflow:auto}
 .title-screen{padding:14px}.title-screen h1{margin:8px 0 14px;font-size:38px}.start-buttons{gap:10px}.start-buttons button{min-height:44px}.start-eyebrow{font-size:10px}.save-summary{font-size:12px;margin-bottom:10px;min-height:25px}#startNotice{margin-top:10px;min-height:20px;font-size:11px}
}
@container(max-width:600px){.danger-banner{top:auto;bottom:126px;max-height:28px}.viewport:has(#dangerBanner:not(.hidden)) .activity{visibility:hidden}}
