/* CASE//LAB 9.7: touch-first responsive shell and accessible mobile navigation */
html,body{max-width:100%;overflow-x:clip}img,canvas,video,iframe{max-width:100%}button,select,input{touch-action:manipulation}
@media(max-width:700px){
 .shell{padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))}
 .sidebar{height:calc(76px + env(safe-area-inset-bottom,0px));padding:5px 8px calc(5px + env(safe-area-inset-bottom,0px));border-top:1px solid #7793a76b;background:#111e2af5;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);box-shadow:0 -12px 45px #0008}
 .sidebar nav{display:flex;gap:5px;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;overscroll-behavior-x:contain;scroll-snap-type:x proximity;align-items:stretch}
 .sidebar nav::-webkit-scrollbar{display:none}
 .sidebar .nav{flex:0 0 72px;min-width:72px;max-width:88px;min-height:63px;padding:7px 3px 5px;border:1px solid transparent;border-radius:11px;scroll-snap-align:center;line-height:1.1;gap:5px;font-size:10px!important;color:#b4c6d3}
 .sidebar .nav span:not(.nav-icon):not(.nav-arrow):not(.nav-number){display:block;white-space:normal;text-align:center}
 .sidebar .nav.active{background:linear-gradient(145deg,#3a493f,#293b4b);border-color:#bba17475;color:#ffe0a5;box-shadow:inset 0 1px #ffffff20}
 .sidebar .nav-icon{font-size:23px!important}
 .topbar{height:65px;padding:0 12px;gap:8px}.crumb{font-size:9px;letter-spacing:.7px;min-width:0;overflow:hidden;text-overflow:ellipsis}.crumb span{margin:0 5px}
 .topright{gap:7px;min-width:0}.balance strong{font-size:clamp(13px,3.8vw,18px)}.topright .btn{font-size:9px;max-width:90px;white-space:normal;line-height:1.15;padding:7px}
 .content{padding:24px 12px 35px;max-width:100%}.intro{margin-bottom:20px}h1{font-size:clamp(30px,9vw,44px);overflow-wrap:anywhere}.subtitle{font-size:12px}
 .casegrid,.itemgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.casecard,.itemcard{min-width:0}.case-art{height:clamp(105px,35vw,155px)}.case-body{grid-template-columns:minmax(0,1fr);gap:6px}.case-action{text-align:left}.case-body h3{overflow-wrap:anywhere}
 .toolbar{align-items:stretch}.toolbar select{max-width:none;min-height:44px}.searchwrap{min-height:44px}
 .btn{min-height:44px;border-radius:9px}.cloud-actions,.cloud-search,.sound-pack-actions,.reveal-actions{flex-wrap:wrap}.cloud-actions>.btn,.reveal-actions>.btn{flex:1 1 135px}
 .inventory-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.inventory-summary>div{min-width:0}
 .inspect-overlay,.reveal-overlay{max-width:100vw}.inspect-stage{min-height:350px;height:auto}.inspect-actions{bottom:calc(76px + env(safe-area-inset-bottom,0px))}
 .battle-quickstats{gap:7px}.battle-quickstats>div{min-width:0;padding:11px 9px;gap:8px}.battle-quickstats strong{font-size:23px}.battle-quickstats span{font-size:9px}
 .battle-panel{padding:15px 12px;border-radius:14px}.battle-layout{grid-template-columns:minmax(0,1fr);gap:12px}.battle-room-detail{scroll-margin-top:12px}
 .battle-room-head{flex-direction:column;align-items:stretch}.battle-head-actions{display:grid;grid-template-columns:1fr 1fr}.battle-head-actions .btn{min-width:0}
 .battle-room-actions{display:grid;grid-template-columns:1fr;gap:9px}.battle-room-actions .btn{width:100%;min-width:0}
 .battle-roster{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.battle-player{padding:9px;gap:7px}.battle-player .player-avatar{width:34px;height:34px}.battle-player-name strong{font-size:11px}
 .battle-round-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.battle-drop{padding:8px}.battle-drop .drop-art{height:75px}.battle-drop strong{white-space:normal;overflow-wrap:anywhere;line-height:1.3}.battle-scoreboard{grid-template-columns:repeat(2,minmax(0,1fr))}
 .battle-winner{padding:14px}.battle-winner strong{font-size:clamp(21px,6vw,31px)}.battle-winner .battle-prize{font-size:19px}
 .battle-room-card-head,.battle-room-card-bottom{flex-wrap:wrap}.battle-room-card-bottom .btn{min-height:42px}.battle-lineup-row{grid-template-columns:25px minmax(0,1fr) auto 32px;gap:6px}.battle-lineup-name strong{font-size:11px}.battle-lineup-price{font-size:11px}.battle-lineup-remove{width:32px;height:36px}
}
@media(max-width:380px){.battle-roster{grid-template-columns:1fr}.battle-quickstats strong{font-size:20px}.battle-quickstats span{font-size:8px}.topright .btn{max-width:72px}}
@media(prefers-reduced-motion:reduce){.battle-round{animation:none}}
