body.gameShell #panel.backpackOpen{padding:24px;background:rgba(7,23,28,.72);backdrop-filter:blur(5px)}
body.gameShell #panel.backpackOpen .panelCard{position:relative;width:min(1060px,100%);max-width:1060px;padding:0;overflow:hidden;border:1px solid #628e93;border-radius:20px;background:#eff4f2;color:#203d43;box-shadow:0 24px 100px #020b1499}
body.gameShell #panel.backpackOpen #closePanel{position:absolute;right:22px;top:22px;z-index:3;min-height:40px;margin:0;padding:8px 14px;border:1px solid #86a9aa;background:#e3eeea;color:#24474d;border-radius:10px;font-weight:700}
.backpackView{padding:22px 24px 0;max-height:min(90dvh,850px);display:flex;flex-direction:column;min-height:480px;box-sizing:border-box;color:#203d43;background:linear-gradient(135deg,#f3f7f1,#e5efeb)}
.backpackView *{box-sizing:border-box}.backpackView small{letter-spacing:0;color:inherit}.backpackView header,.backpackView footer{position:static;display:flex;transform:none;max-width:none;width:auto;margin:0;background:none;border:0;color:inherit;box-shadow:none}
.backpackView h2,.backpackView h3,.backpackView h4,.backpackView p{margin:0}.backpackView button,.backpackView input,.backpackView select{font:inherit}.backpackView button{cursor:pointer}.backpackView button:disabled{cursor:default;opacity:.52}.backpackView button:focus-visible,.backpackView input:focus-visible,.backpackView select:focus-visible{outline:3px solid #c89837;outline-offset:2px}
.backpackView .bpHeader{align-items:center;gap:15px;padding:0 100px 18px 0;min-height:85px}.bpEmblem{width:58px;height:65px;flex:0 0 58px;background:#dfae50;border:3px solid #745e3e;border-radius:16px 16px 12px 12px;position:relative;box-shadow:inset 0 -8px #bf893f}.bpEmblem:before{content:'';position:absolute;border:3px solid #745e3e;border-bottom:0;width:23px;height:10px;top:-10px;left:14px;border-radius:8px 8px 0 0}.bpEmblem:after{content:'';position:absolute;left:7px;right:7px;top:23px;height:26px;border:2px solid #745e3e;border-radius:7px;background:#ebc16d}.bpEmblem i{position:absolute;left:24px;top:20px;width:6px;height:14px;background:#6e6b57;z-index:1;border-radius:2px}.bpEyebrow{font-size:10px;letter-spacing:2px;font-weight:800;color:#597c79}.backpackView h2{font-size:30px;line-height:1.3;letter-spacing:-.8px}.bpSummary{font-size:12px;color:#52716d}.bpSummary span{padding:0 7px}.bpSummary b{color:#386f67}
.bpToolbar{display:flex;gap:12px;align-items:center;margin-bottom:15px}.bpSearch{display:flex;align-items:center;gap:8px;padding:0 12px;flex:1;background:#fffefa;border:1px solid #b7cbc4;border-radius:10px;min-height:43px}.bpSearch>span{font-size:26px;color:#5f8079}.bpSearch input{width:100%;min-width:0;border:0!important;background:transparent!important;box-shadow:none!important;padding:11px 0!important;color:#203d43}.bpSearch input::placeholder{color:#799088}.bpScopeLabel{display:flex;gap:8px;align-items:center;font-size:11px;font-weight:700;color:#608078}.bpScopeLabel select{border:1px solid #b7cbc4;border-radius:10px;min-height:43px;padding:7px 28px 7px 10px;color:#355b55;background:#fffefa;max-width:200px}
.backpackView .bpPockets{display:flex;position:static;flex-wrap:nowrap;justify-content:flex-start;max-width:none;width:auto;gap:5px;margin:0 -4px;padding:4px 4px 13px;overflow-x:auto;scrollbar-width:thin;scrollbar-color:#9cbdb3 transparent;flex:none}.backpackView .bpPocket{flex:0 0 auto;display:flex;align-items:center;gap:6px;border:1px solid #bdcfc8;border-radius:9px;padding:9px 10px;background:#e4ede7;color:#516c63;font-size:11px;min-height:40px;white-space:nowrap}.bpPocket>span:first-child{font-size:17px;line-height:1}.bpPocket small{font-size:10px;opacity:.7}.backpackView .bpPocket.isActive{background:#356f67;border-color:#356f67;color:#fff9e6;box-shadow:0 3px 8px #34675b26}
.bpWorkspace{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,1fr);gap:20px;min-height:0;flex:1;overflow:hidden}.bpCollection{display:flex;flex-direction:column;min-height:0}.bpCollectionHeading{display:flex;justify-content:space-between;align-items:center;padding:4px 2px 10px}.bpCollectionHeading h3{font-size:13px}.bpCollectionHeading>span{font-size:11px;color:#789088}.bpGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(91px,1fr));align-content:start;gap:7px;padding:3px 5px 10px 3px;overflow:auto;min-height:210px;scrollbar-width:thin;scrollbar-color:#9cbdb3 transparent}.backpackView .bpItem{display:flex;flex-direction:column;align-items:stretch;gap:5px;min-height:110px;padding:7px;background:#fffefa;border:1px solid #c5d3cc;border-radius:10px;color:#36534b;box-shadow:0 2px 1px #355a4910;position:relative;transition:border-color .12s,background .12s}.backpackView .bpItem:hover{border-color:#75a393;background:#f6fbef}.backpackView .bpItem.isSelected{border:2px solid #498a79;padding:6px;background:#e2f0dc;box-shadow:0 0 0 2px #72a78f26}.bpItemArt{height:47px;display:flex;align-items:center;justify-content:center;position:relative}.bpItemIcon{width:40px;height:40px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 2px 0 #20382e15)}.bpQuantity{position:absolute;right:-1px;bottom:-1px;font-size:10px;font-weight:800;border-radius:5px;background:#e9eee6;padding:2px 4px;color:#44674c}.bpItem.isSelected .bpQuantity{background:#bad7b2}.bpItemName{font-size:11px;font-weight:750;line-height:1.2;overflow-wrap:anywhere}.bpItemScope{font-size:8px;line-height:1.15;color:#789084;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.bpNoIcon{font-size:28px;color:#8b9b82}.bpEmpty{grid-column:1/-1;text-align:center;padding:50px 15px;color:#6b8a7c}.bpEmpty>span{font-size:30px;opacity:.5}.bpEmpty h3{font-size:16px;margin:12px 0 8px}.bpEmpty p{font-size:12px;line-height:1.6}
.bpDetails{border:1px solid #bdcfc3;background:#dae6dc;border-radius:13px;padding:18px;overflow:auto;min-height:250px;scrollbar-width:thin;scrollbar-color:#9cbdb3 transparent}.bpDetailTop{display:flex;align-items:center;gap:12px;padding-bottom:15px}.bpDetailArt{width:76px;height:76px;flex:none;display:flex;align-items:center;justify-content:center;background:#f4f6e9;border:1px solid #afc6b6;border-radius:12px}.bpItemIconLarge{width:64px;height:64px}.bpBadge{font-size:9px;text-transform:uppercase;letter-spacing:1.2px;color:#678573}.bpDetails h3{font-size:20px;line-height:1.25;margin:5px 0;overflow-wrap:anywhere}.bpOwned{font-size:11px;color:#71907a}.bpOwned b{color:#3b725c;margin-left:5px}.bpDescription{font-size:13px;line-height:1.7;min-height:55px;color:#3d5d4e}.bpLocation{font-size:10px;color:#66806e;border-top:1px solid #bdcfc0;margin-top:16px!important;padding-top:12px}.bpLocation>span{margin-right:5px}.bpAvailability{font-size:11px;line-height:1.5;color:#6b7861;margin-top:14px!important;padding:9px 10px;background:#f0efdc;border-radius:7px}.backpackView .bpUse{width:100%;margin-top:18px;border:1px solid #376f5b;border-radius:9px;color:#fffdea;background:#3d7c63;box-shadow:0 2px 0 #2b5547;min-height:44px;padding:10px 12px;font-size:12px;font-weight:750}.bpDetailEmpty{display:flex;height:100%;align-items:center;justify-content:center;flex-direction:column;gap:16px;text-align:center;color:#7c9483;font-size:12px}.bpDetailEmpty>span{font-size:45px;opacity:.4}.bpMissingArt:empty:after{content:'◇';font-size:26px;color:#8b9b82}
.bpTargets{margin-top:18px}.bpTargetHeading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.bpTargetHeading h4{font-size:12px}.backpackView #bpCancelTarget{border:0;background:none;color:#547665;padding:6px;font-size:11px;text-decoration:underline;min-height:32px}.backpackView .bpTarget{display:flex;align-items:center;gap:9px;width:100%;min-height:63px;padding:8px;margin-top:7px;border:1px solid #b7cdb8;border-radius:9px;background:#f8faef;color:#355c49;text-align:left}.bpTarget img{width:42px;height:42px;object-fit:contain;image-rendering:pixelated}.bpTarget>span{flex:1;min-width:0}.bpTarget strong{font-size:12px;display:block}.bpTarget small{display:block;font-size:10px;margin-top:3px;color:#748a75}.bpHp{display:block;height:4px;border-radius:3px;overflow:hidden;background:#d2dfcb;margin-top:5px}.bpHp i{display:block;height:100%;background:#7aa86d}.bpStatus{flex:none;font-size:10px;line-height:1.4;min-height:35px;padding:12px 2px 9px;color:#6a8174}.bpStatus.isError{color:#925940}.backpackView .bpFooter{display:flex;justify-content:space-between;align-items:center;flex:none;min-height:38px;margin:0 -24px;padding:8px 24px;background:#d6e5df;border-top:1px solid #bdd0c7;color:#638075;font-size:10px}.bpFooter>span>span{padding:0 6px}.bpFooter kbd{padding:1px 4px;border:1px solid #a3bdb0;border-radius:3px;background:#e6eee6;font:9px monospace;color:#4f7161}
@media(max-width:700px){body.gameShell #panel.backpackOpen{padding:10px}body.gameShell #panel.backpackOpen .panelCard{border-radius:16px}.backpackView{padding:16px 14px 0;max-height:calc(100dvh - 24px);min-height:0}.backpackView .bpHeader{padding:1px 75px 15px 0;gap:12px}.backpackView h2{font-size:25px}.bpEmblem{width:46px;height:53px;flex-basis:46px;border-radius:12px}.bpEmblem:before{left:10px;width:20px}.bpEmblem:after{left:5px;right:5px;top:19px;height:23px}.bpEmblem i{left:18px;top:17px}.bpEyebrow{font-size:8px;letter-spacing:1.5px}.bpSummary{font-size:10px}body.gameShell #panel.backpackOpen #closePanel{right:13px;top:15px;font-size:11px;padding:7px 10px;min-height:38px}.bpToolbar{gap:7px;margin-bottom:10px}.bpScopeLabel>span{display:none}.bpScopeLabel select{max-width:136px;font-size:10px}.bpSearch{min-width:0}.bpSearch input{font-size:12px}.bpWorkspace{grid-template-columns:minmax(0,1fr) minmax(160px,.85fr);gap:10px}.bpGrid{grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:5px}.backpackView .bpItem{padding:6px;min-height:103px}.backpackView .bpItem.isSelected{padding:5px}.bpItemName{font-size:10px}.bpDetails{padding:12px}.bpDetailTop{flex-direction:column;align-items:flex-start;gap:9px}.bpDetailArt{width:60px;height:60px}.bpItemIconLarge{width:48px;height:48px}.bpDetails h3{font-size:17px}.bpDescription{font-size:11px}.bpTargets{margin-top:12px}.bpTarget img{width:30px;height:30px}.backpackView .bpTarget{gap:5px;padding:7px}.bpTargetHeading{align-items:flex-start}.bpTargetHeading h4{padding-top:7px}.bpStatus{font-size:9px}.backpackView .bpFooter{margin:0 -14px;padding:8px 14px;font-size:9px}.bpFooter>span:last-child{display:none}}
@media(max-height:530px) and (orientation:landscape){body.gameShell #panel.backpackOpen{padding:6px}.backpackView{max-height:calc(100dvh - 14px);min-height:0;padding:10px 16px 0}.backpackView .bpHeader{min-height:0;padding-bottom:9px;gap:8px}.bpEmblem{display:none}.backpackView h2{font-size:20px}.bpEyebrow{display:none}.bpSummary{position:absolute;right:120px;top:20px}.bpToolbar{margin-bottom:5px}.backpackView .bpPockets{padding-bottom:6px}.backpackView .bpPocket{padding:5px 8px;min-height:32px}.bpWorkspace{gap:12px;grid-template-columns:minmax(0,1.5fr) minmax(220px,1fr)}.bpGrid{min-height:80px;grid-template-columns:repeat(auto-fill,minmax(75px,1fr))}.bpDetails{min-height:80px;padding:10px}.bpDetailTop{flex-direction:row;padding-bottom:8px}.bpDetailArt{width:45px;height:45px}.bpItemIconLarge{width:40px;height:40px}.bpDetails h3{font-size:17px}.bpDescription{min-height:0;font-size:11px}.bpLocation{margin-top:8px!important;padding-top:8px}.bpStatus{min-height:25px;padding:7px 2px;font-size:9px}.backpackView .bpFooter{display:none}body.gameShell #panel.backpackOpen #closePanel{top:9px;right:15px}}
@media(prefers-reduced-motion:reduce){.backpackView *{transition:none!important}}
/* Outrank the shell's generic mobile button minimums. */
body.gameShell #panel.backpackOpen .bpItem{min-height:110px}
body.gameShell #panel.backpackOpen .bpTarget{min-height:63px}
body.gameShell #panel.backpackOpen .bpHeader{justify-content:flex-start}
@media(max-width:700px){body.gameShell #panel.backpackOpen .bpItem{min-height:103px}}
/* Narrow phones: readable stacked panes, each with its own scroll area. */
@media(max-width:430px){
 body.gameShell #panel.backpackOpen{padding:6px}
 .backpackView{max-height:calc(100dvh - 16px);min-height:0;padding:14px 10px 0}
 .backpackView .bpHeader{padding-bottom:12px}
 .bpWorkspace{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr) minmax(0,1fr);gap:10px;min-height:0;overflow:hidden}
 .bpCollection{min-height:0;overflow:hidden}
 .bpGrid{grid-template-columns:repeat(auto-fit,minmax(90px,1fr));min-height:0;overflow:auto;padding:3px 3px 8px;gap:6px}
 body.gameShell #panel.backpackOpen .bpItem{min-height:112px}
 .bpItemIcon{width:40px;height:40px}.bpItemArt{height:45px;flex-shrink:0}
 .bpItemName,.bpItemScope,.bpQuantity{font-size:12px}.bpItemName{line-height:1.3}.bpQuantity{padding:2px 4px}
 .bpDetails{min-height:0;overflow:auto;padding:12px}
 .bpDetailTop{flex-direction:row;align-items:center;gap:12px;padding-bottom:10px}
 .bpDetailArt{width:56px;height:56px}.bpItemIconLarge{width:48px;height:48px}
 .bpDetails h3{font-size:18px}.bpBadge,.bpOwned,.bpDescription,.bpLocation,.bpAvailability{font-size:12px}
 .bpDescription{min-height:0;line-height:1.6}.bpLocation{margin-top:12px!important;padding-top:10px}
 .bpTarget img{width:36px;height:36px}.bpTarget strong,.bpTarget small,.bpTargetHeading h4{font-size:12px}
 .bpTargetHeading{align-items:center}.bpTargetHeading h4{padding-top:0}
 body.gameShell #panel.backpackOpen .bpTarget{min-height:68px;gap:10px}
 body.gameShell #panel.backpackOpen #bpCancelTarget{font-size:12px;min-height:44px;padding:8px}
 body.gameShell #panel.backpackOpen .bpUse{font-size:13px;padding:10px;min-height:44px;margin-top:12px}
 body.gameShell #panel.backpackOpen #closePanel{font-size:12px;min-height:44px}
 .bpToolbar{align-items:stretch;gap:6px}.bpSearch{padding:0 9px}.bpSearch input{font-size:16px}
 .bpScopeLabel select{max-width:132px;font-size:12px;min-height:44px}
 .backpackView .bpPockets{padding-bottom:10px}
 body.gameShell #panel.backpackOpen .bpPocket{padding:8px;font-size:12px;min-height:44px}.bpPocket small{font-size:12px}
 .bpCollectionHeading h3,.bpCollectionHeading>span{font-size:12px}
 .bpSummary{font-size:12px}.bpStatus{font-size:11px;min-height:32px;padding:9px 2px}
 .backpackView .bpFooter{margin:0 -10px;padding:8px 10px;font-size:11px}
}

/* Dedicated backpack. Keep every selector local to its panel. */
/* The title is the region picker; shared supplies belong to every region view. */
.backpackView .bpHeader>div{min-width:0;flex:1}
.backpackView h2 .bpRegionTitle{display:block;max-width:100%;width:auto;min-width:0;min-height:44px;padding:2px 28px 2px 0;border:0;border-bottom:1px solid #b2c9bf;border-radius:0;background:transparent;color:#203d43;font-family:inherit;font-size:28px;font-weight:800;letter-spacing:-.7px;cursor:pointer;text-overflow:ellipsis}
.backpackView .bpRegionHint{max-width:230px;font-size:12px;color:#52716d;line-height:1.5;flex:0 1 230px}
@media(max-width:700px){.backpackView h2 .bpRegionTitle{font-size:21px}.backpackView .bpRegionHint{font-size:11px;max-width:150px;flex-basis:150px}}
@media(max-width:430px){.backpackView .bpHeader .bpEmblem{display:none}.backpackView .bpHeader{padding-right:70px}.backpackView h2 .bpRegionTitle{font-size:18px;letter-spacing:-.4px;width:100%;padding-right:20px}.backpackView .bpToolbar{flex-direction:column;gap:5px}.backpackView .bpRegionHint{max-width:none;flex:none;font-size:12px}.backpackView .bpSearch{flex:none}}

.backpackView .bpRegionTitle option{font-size:14px;letter-spacing:0}
.backpackView .bpGive{display:block;width:100%;margin-top:8px;min-height:44px;padding:10px 12px;border:1px solid #8eb3a7;border-radius:9px;background:#e1ede4;color:#315d52;font-size:13px;font-weight:700}
