/* An open bank grid beside a separate carried backpack. */
.bank-dialog{color-scheme:dark;--bank-muted:#b5c3bc;width:min(1080px,calc(100vw - 28px));max-height:calc(100dvh - 28px);padding:0;border:1px solid #9f926e;border-radius:12px;background:#202a25;color:#eeeede;box-shadow:0 28px 100px #000a;font:13px/1.5 system-ui,sans-serif}
.bank-dialog[open]{display:flex;flex-direction:column}
.bank-dialog::backdrop{background:#06140fd4;backdrop-filter:blur(4px)}
.bank-dialog *{box-sizing:border-box}
.bank-dialog [hidden]{display:none!important}
.bank-dialog h2,.bank-dialog h3,.bank-dialog p{margin:0}
.bank-dialog button,.bank-dialog input,.bank-dialog select{font:inherit}
.bank-dialog button{min-height:36px;padding:6px 12px;border:1px solid #607166;border-radius:5px;background:#2b3b31;color:#e8e8d7;cursor:pointer}
.bank-dialog button:hover:not(:disabled){background:#415447;border-color:#c2c9a9}
.bank-dialog button:disabled{opacity:.5;cursor:default}
.bank-dialog :is(button,input,select):focus-visible{outline:2px solid #f0d697;outline-offset:2px}
.bank-heading{display:flex;align-items:center;gap:13px;flex-shrink:0;padding:12px 20px;border-bottom:1px solid #89917055;background:linear-gradient(100deg,#374333,#253028)}
.bank-heading>div{flex:1}
.bank-heading h2{color:#f1dfb2;font:26px/1.2 Georgia,serif}
.bank-crest{width:37px;height:37px;object-fit:contain}
.bank-heading button{font-size:12px;min-height:34px}
.bank-scroll{min-height:0;padding:18px;overflow:auto;overscroll-behavior:contain}
.bank-panes{display:grid;grid-template-columns:minmax(0,2.15fr) minmax(0,1fr);gap:22px;align-items:stretch}
.bank-pane{min-width:0;display:flex;flex-direction:column;border:1px solid #627b805c;border-radius:7px;overflow:hidden;background:#192c31}
.bank-inventory{background:#302b23;border-color:#a78d605c}
.bank-pane-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-shrink:0;padding:15px 19px;border-bottom:1px solid #73898b40}
.bank-pane h3{color:#d5e6e3;font:21px/1.3 Georgia,serif}
.bank-pane-heading p{font-size:11px;color:#aabfbe;margin-top:4px}
.bank-inventory h3{color:#efdaad}
.bank-inventory .bank-pane-heading{border-color:#9b875c40}
.bank-inventory .bank-pane-heading p{color:#c9bda2}
.bank-capacity{font-size:11px;color:#b3c5c3;white-space:nowrap;font-variant-numeric:tabular-nums}
.bank-inventory .bank-capacity{color:#d1c09b}
.bank-capacity.is-full{color:#f1bf82}
.bank-item-list{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));grid-auto-rows:72px;gap:12px 6px;align-content:start;flex:1;min-height:350px;max-height:470px;padding:22px 16px;overflow:auto;overscroll-behavior:contain}
.bank-inventory .bank-item-list{grid-template-columns:repeat(4,minmax(0,1fr));padding:22px 13px;max-height:524px}
.bank-item-list{scrollbar-width:thin;scrollbar-color:#82968c #101e1b}
.bank-item-list::-webkit-scrollbar{display:block;width:8px}
.bank-item-list::-webkit-scrollbar-track{background:#101e1b}
.bank-item-list::-webkit-scrollbar-thumb{background:#82968c;border:2px solid #101e1b;border-radius:8px}
.bank-dialog .bank-item{position:relative;display:flex;align-items:center;justify-content:center;width:100%;min-width:0;min-height:56px;padding:10px 5px;background:transparent;border:1px solid transparent;border-radius:6px;text-align:center}
.bank-dialog .bank-item:hover:not(:disabled),.bank-dialog .bank-item:focus-visible{background:#718f8d20;border-color:#8ead9c60}
.bank-dialog .bank-inventory .bank-item:hover:not(:disabled),.bank-dialog .bank-inventory .bank-item:focus-visible{background:#b69a5a20;border-color:#d1b57360}
.bank-dialog .bank-item[aria-pressed=true]{background:#a3b78d25;border-color:#dcc286}
.bank-item-icon{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;flex-shrink:0;color:#dbc896;font-size:25px;filter:drop-shadow(0 4px 5px #0005)}
.bank-item-icon img{width:100%;height:100%;object-fit:contain}
.bank-item-copy{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.bank-item:is(:hover,:focus-visible) .bank-item-copy{clip:auto;width:calc(100% + 12px);height:auto;max-height:27px;left:-6px;bottom:-8px;margin:0;white-space:normal;color:#e6e4ca;line-height:1.15;font-size:10px;pointer-events:none}
.bank-item-copy strong{font-weight:500}
.bank-quantity{position:absolute;left:4px;top:0;color:#ffe392;font-size:12px;line-height:1.3;font-weight:750;font-variant-numeric:tabular-nums;text-shadow:0 1px 2px #000,1px 0 2px #000}
.bank-item.is-locked{opacity:.6}
.bank-item-lock{position:absolute;right:4px;bottom:3px;color:#efcb7d;font-size:10px}
.bank-empty{grid-column:1/-1;align-self:center;color:var(--bank-muted);font-size:12px;text-align:center;padding:20px 8px}
.bank-tools{display:grid;grid-template-columns:minmax(90px,1fr) auto auto auto;gap:7px;flex-shrink:0;padding:10px 12px;border-top:1px solid #73898b40;background:#14262b}
.bank-tools input,.bank-tools select,.bank-amounts input{min-width:0;min-height:36px;padding:7px 9px;background:#102125;border:1px solid #61797b70;border-radius:5px;color:#d4dfd8}
.bank-tools input{width:100%}
.bank-tools input::placeholder{color:#aabdb8}
.bank-tools select{width:100%;max-width:150px;font-size:11px}
.bank-tools button{font-size:11px;padding:5px 10px}
.bank-paging{display:flex;align-items:center;justify-content:center;gap:18px;padding:8px 12px;border-top:1px solid #73898b40;flex-shrink:0}
.bank-paging span{font-size:11px;color:#c0d0c4}
.bank-paging button{min-height:30px;font-size:11px;padding:4px 10px}
.bank-controls{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;flex-shrink:0;padding:11px 20px;border-top:1px solid #7b876355;background:#28362b}
.bank-amounts,.bank-footer{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.bank-amounts strong{color:#bfcbb3;font-size:11px;font-weight:500;margin-right:6px}
.bank-amounts button{min-width:36px;font-size:12px;padding:5px 11px}
.bank-amounts button[aria-pressed=true]{background:#c4ab75;border-color:#e8cf95;color:#253022;font-weight:750}
.bank-amounts input{width:76px;min-height:36px;padding:6px 8px;background:#16261c;border-color:#9b885c}
.bank-footer button{font-size:11px;padding:5px 10px}
.bank-footer [data-bank-action=retry]{border-color:#cfb67b;color:#ffe6ae}
.bank-notice{flex-shrink:0;min-height:37px;padding:9px 20px!important;color:#bdcbb6;font-size:11px;background:#1d2921}
.bank-notice.is-error{color:#efcc91}
@media(min-width:601px) and (min-height:551px){
  .bank-panes{height:min(540px,calc(100dvh - 226px))}
  .bank-item-list,.bank-inventory .bank-item-list{min-height:0;max-height:none}
}
@media(max-width:900px){
  .bank-panes{grid-template-columns:minmax(0,1.9fr) minmax(0,1fr);gap:16px}
  .bank-pane-heading{padding:13px;gap:6px;align-items:start;flex-wrap:wrap}
  .bank-pane-heading p{font-size:10px}
  .bank-capacity{font-size:10px}
  .bank-item-list{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px 4px;padding:19px 10px}
  .bank-inventory .bank-item-list{padding:19px 8px;gap:10px 2px}
  .bank-item-icon{width:39px;height:39px}
  .bank-tools{grid-template-columns:minmax(70px,1fr) auto;gap:6px}
  .bank-tools button{grid-row:1;grid-column:2}
  .bank-tools select{max-width:none}
}
@media(max-width:600px){
  .bank-dialog{width:calc(100vw - 12px);max-width:calc(100vw - 12px);max-height:calc(100dvh - 12px);border-radius:9px}
  .bank-heading{gap:10px;padding:10px 13px}
  .bank-heading h2{font-size:24px}
  .bank-crest{width:30px;height:30px}
  .bank-scroll{padding:12px}
  .bank-panes{grid-template-columns:1fr;gap:17px}
  .bank-pane-heading{flex-wrap:nowrap;align-items:center;padding:12px 14px}
  .bank-pane h3{font-size:21px}
  .bank-pane-heading p{font-size:11px}
  .bank-item-list,.bank-inventory .bank-item-list{grid-template-columns:repeat(5,minmax(0,1fr));grid-auto-rows:80px;gap:10px 5px;min-height:156px;max-height:250px;padding:17px 12px}
  .bank-inventory .bank-item-list{grid-template-columns:repeat(4,minmax(0,1fr))}
  .bank-item-icon{width:43px;height:43px}
  .bank-dialog .bank-item{padding:8px 5px 23px}
  .bank-item-copy,.bank-item:is(:hover,:focus-visible) .bank-item-copy{clip:auto;width:100%;height:auto;max-height:27px;left:0;bottom:0;margin:0;white-space:normal;color:#dbdcca;line-height:1.15;font-size:9px;pointer-events:none}
  .bank-item-copy strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .bank-quantity{font-size:11px}
  .bank-controls{padding:9px 12px;gap:8px}
  .bank-amounts,.bank-footer{gap:5px}
  .bank-amounts strong{margin-right:2px}
  .bank-amounts button{min-width:35px;min-height:38px;padding:5px 10px}
  .bank-notice{padding:8px 12px!important}
}
@media(max-height:550px){
  .bank-heading{padding:7px 15px}
  .bank-heading h2{font-size:22px}
  .bank-crest{width:28px;height:28px}
  .bank-scroll{padding:10px 14px}
  .bank-controls{padding:6px 14px}
  .bank-notice{padding:6px 14px!important;min-height:30px}
}
@media(prefers-reduced-motion:reduce){.bank-dialog *{scroll-behavior:auto!important}}
