/* Closet = Vijay's basement workshop (#inv-modal). Rarity color comes in as --rc. */
#inv-modal::before{background:rgba(10,6,2,.58);backdrop-filter:blur(3px);}
#inv-modal .modal-content{
  --wood:#5b3d22;--amber:#ffb347;--teal:#35e0c2;--paper:#f0e2b6;--ink:#2a1f10;
  width:min(800px,96vw);padding:0;text-align:left;border:3px solid var(--wood);border-radius:12px;
  background:
    radial-gradient(ellipse 55% 150px at 50% 0,rgba(255,196,102,.26),transparent 72%),
    radial-gradient(circle at 11px 11px,rgba(255,255,255,.06) 2px,transparent 3px) 0 0/22px 22px,
    linear-gradient(180deg,#261910,#130c07);
  box-shadow:0 0 0 2px #1a110a,0 18px 50px rgba(0,0,0,.7),inset 0 0 40px rgba(0,0,0,.55);
  scrollbar-color:var(--wood) #130c07;
}
/* sticky header: title + drawer labels */
.ws-top{position:sticky;top:0;z-index:5;padding:14px 16px 10px;background:linear-gradient(180deg,#2b1c11,#1d130b);border-bottom:4px solid var(--wood);box-shadow:0 6px 12px rgba(0,0,0,.45);}
.ws-top::before,.ws-top::after{content:"";position:absolute;top:10px;width:9px;height:9px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#d8d8d8,#6b6b6b 60%,#333);box-shadow:inset 0 0 0 1px #222;}
.ws-top::before{left:10px;}.ws-top::after{right:10px;}
.ws-title-row{display:flex;align-items:center;justify-content:center;gap:10px;color:#ffd9a0;}
.ws-title-row svg{width:26px;height:26px;color:var(--amber);flex-shrink:0;}
.ws-title-row h2{margin:0;font-family:'Arial Black',sans-serif;font-size:20px;letter-spacing:3px;text-transform:uppercase;text-shadow:0 0 12px rgba(255,170,60,.55);}
.ws-sub{margin:4px 0 10px;text-align:center;font-family:'Courier New',monospace;font-size:10px;letter-spacing:2px;color:#b99a6c;text-transform:uppercase;}
.ws-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:0;}
.ws-tabs .tab-btn{position:relative;flex:1;min-width:92px;padding:8px 6px 8px 18px;border:0;border-radius:3px;background:var(--paper);color:var(--ink);font-family:'Courier New',monospace;font-weight:bold;font-size:10px;letter-spacing:1px;text-transform:uppercase;box-shadow:0 2px 0 #8a7647,0 3px 5px rgba(0,0,0,.5);transition:transform .15s;}
.ws-tabs .tab-btn::before{content:"";position:absolute;left:7px;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:#9c8f6c;}
.ws-tabs .tab-btn:hover:not(.active){background:#f7ecc8;transform:translateY(-1px);}
.ws-tabs .tab-btn.active{background:#10241f;color:var(--teal);box-shadow:0 0 0 2px var(--teal),0 0 14px rgba(53,224,194,.45);}
.ws-tabs .tab-btn.active::before{background:var(--teal);box-shadow:0 0 6px var(--teal);animation:ws-blink 1.6s infinite;}
.ws-count{margin-left:4px;opacity:.7;font-weight:normal;}
@keyframes ws-blink{0%,100%{opacity:1}50%{opacity:.35}}

.ws-body{padding:16px;}
.ws-shelf{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:18px 14px;}

/* card = cardboard crate with masking tape */
.ws-card{position:relative;display:flex;flex-direction:column;gap:8px;padding:16px 12px 12px;border-radius:6px;background:linear-gradient(180deg,#34261a,#1f1610);border:2px solid color-mix(in srgb,var(--rc) 55%,#3a2a1a);border-bottom:7px solid var(--wood);box-shadow:0 4px 10px rgba(0,0,0,.55);}
.ws-card.is-on{border-color:#2ecc71;box-shadow:0 0 0 1px rgba(46,204,113,.35),0 4px 12px rgba(0,0,0,.55),0 0 18px rgba(46,204,113,.18);}
.ws-tape{position:absolute;top:-9px;left:50%;width:70px;height:17px;margin-left:-35px;transform:rotate(-2deg);background:rgba(232,212,150,.82);box-shadow:0 1px 2px rgba(0,0,0,.4);clip-path:polygon(0 8%,4% 0,8% 10%,12% 0,100% 0,100% 100%,12% 100%,8% 90%,4% 100%,0 92%);}
.ws-card-head{display:flex;align-items:center;gap:12px;}
.ws-jar{position:relative;flex-shrink:0;width:64px;height:64px;margin-top:6px;border-radius:14px 14px 18px 18px;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 30% 25%,rgba(255,255,255,.22),rgba(255,255,255,.04) 45%,rgba(0,0,0,.35)),radial-gradient(circle,color-mix(in srgb,var(--rc) 30%,#0b0b0b),#0b0b0b 75%);border:2px solid color-mix(in srgb,var(--rc) 70%,#fff 0%);box-shadow:inset 0 0 12px rgba(0,0,0,.7),0 0 12px color-mix(in srgb,var(--rc) 35%,transparent);}
.ws-jar::before{content:"";position:absolute;top:-8px;left:12px;right:12px;height:8px;border-radius:3px 3px 0 0;background:linear-gradient(180deg,#bbb,#666);border:1px solid #222;}
.ws-jar img{width:44px;height:44px;object-fit:contain;image-rendering:auto;}
.ws-frame{position:relative;flex-shrink:0;width:112px;height:64px;margin-top:6px;border:4px solid #7a5530;border-radius:3px;background:#000;box-shadow:inset 0 0 0 1px #2a1a0c,0 2px 5px rgba(0,0,0,.6);overflow:hidden;}
.ws-frame img{width:100%;height:100%;object-fit:cover;display:block;}
.ws-name{min-width:0;flex:1;}
.ws-name h3{margin:0 0 5px;font-family:'Arial Black',sans-serif;font-size:13px;line-height:1.15;color:color-mix(in srgb,var(--rc) 55%,#fff);word-break:break-word;}
.ws-card.is-on .ws-name h3{color:#7dffb0;}
.ws-tags{display:flex;flex-wrap:wrap;gap:4px;}
.ws-rar{padding:1px 6px;border-radius:2px;font-family:'Courier New',monospace;font-size:9px;font-weight:bold;letter-spacing:1px;text-transform:uppercase;background:var(--rc);color:#0b0b0b;}
.ws-lcd{padding:1px 6px;border-radius:2px;font-family:'Courier New',monospace;font-size:9px;font-weight:bold;letter-spacing:1px;background:#06140f;color:#7cffb2;border:1px solid #14382b;text-transform:uppercase;}
.ws-lcd.hot{color:#ff8a5c;border-color:#4a1d0e;background:#180a05;animation:ws-blink 1s infinite;}
.ws-lcd.on{color:#0b0b0b;background:#2ecc71;border-color:#2ecc71;}
.ws-desc{margin:0;font-family:sans-serif;font-size:11px;line-height:1.35;color:#cdb892;}
.ws-note{position:relative;padding:6px 8px;background:#ffe58a;color:var(--ink);font-family:sans-serif;font-size:10px;line-height:1.3;font-weight:bold;transform:rotate(-.6deg);box-shadow:0 2px 4px rgba(0,0,0,.5);}
.ws-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px;padding-top:8px;border-top:1px dashed rgba(255,255,255,.12);}
.ws-btn{flex:1 1 auto;display:flex;align-items:center;justify-content:center;gap:4px;padding:7px 8px;border-radius:5px;border:1px solid #000;cursor:pointer;font-family:'Courier New',monospace;font-weight:bold;font-size:10px;letter-spacing:.5px;text-transform:uppercase;color:#fff;background:linear-gradient(180deg,#5a5a5a,#2c2c2c);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 2px 0 #000;transition:transform .08s,filter .15s;}
.ws-btn:hover:not(:disabled){filter:brightness(1.25);}
.ws-btn:active:not(:disabled){transform:translateY(2px);box-shadow:inset 0 1px 0 rgba(255,255,255,.25);}
.ws-btn:disabled{opacity:.45;cursor:not-allowed;}
.ws-btn--slot{background:linear-gradient(180deg,#1f8f78,#0f4a3e);}
.ws-btn--upg{background:linear-gradient(180deg,#3a6fd8,#1c3a80);}
.ws-btn--boost{background:linear-gradient(180deg,#d8431f,#7a1d09);}
.ws-btn--use{background:linear-gradient(180deg,#1f8f78,#0f4a3e);}
.ws-btn--use.on{background:linear-gradient(180deg,#2ecc71,#17743e);}
.ws-btn .icon-small{width:13px;height:13px;}
.ws-actions .ws-btn--slot{flex:1 1 40%;}
.ws-empty{padding:30px 14px;text-align:center;border:2px dashed #6b4a2b;border-radius:8px;color:#b99a6c;font-family:'Courier New',monospace;font-size:12px;letter-spacing:1px;text-transform:uppercase;background:rgba(0,0,0,.25);}
#inv-modal .close-btn{width:calc(100% - 32px);margin:0 16px 16px;border-radius:6px;font-family:'Courier New',monospace;letter-spacing:2px;background:repeating-linear-gradient(-45deg,#c0392b 0 14px,#8e2318 14px 28px)!important;border-color:#2a0f0b!important;}
@media (max-width:700px){
  .ws-shelf{grid-template-columns:1fr;}
  .ws-title-row h2{font-size:16px;letter-spacing:2px;}
  .ws-tabs .tab-btn{min-width:78px;font-size:9px;}
}

/* workbench (crafting): blueprint-style recipe cards */
.ws-craft-help{margin:0 0 14px;transform:rotate(-.3deg);}
.ws-craft{background:linear-gradient(180deg,#1b2a2c,#101a1c);}
.ws-ings{display:flex;flex-wrap:wrap;align-items:center;gap:5px;padding:7px 8px;border:1px dashed rgba(53,224,194,.4);border-radius:4px;background:rgba(0,30,30,.35);}
.ws-ing{padding:2px 7px;border-radius:3px;font-family:'Courier New',monospace;font-size:10px;font-weight:bold;}
.ws-ing.ok{color:#7cffb2;background:#06140f;border:1px solid #14382b;}
.ws-ing.no{color:#ff8a5c;background:#180a05;border:1px solid #4a1d0e;}
.ws-plus{color:var(--teal);font-family:'Courier New',monospace;}
.ws-fee{display:flex;align-items:center;gap:6px;}
.ws-fee-lbl{font-family:'Courier New',monospace;font-size:9px;letter-spacing:1px;color:#b99a6c;}
.ws-fee .ws-lcd{display:inline-flex;align-items:center;gap:3px;}
.ws-btn--craft{background:linear-gradient(180deg,#e0a01f,#8a5a09);}
@media (max-width:700px){.ws-tabs .tab-btn{min-width:64px;}}
.ws-search{display:block;width:100%;box-sizing:border-box;margin:0 0 14px;padding:9px 12px;border:2px solid var(--wood);border-radius:6px;background:#10241f;color:var(--teal);font-family:'Courier New',monospace;font-size:12px;letter-spacing:1px;outline:none;}
.ws-search:focus{border-color:var(--teal);box-shadow:0 0 10px rgba(53,224,194,.35);}

/* Character portrait: two layers — rarity background (changes with rarity) + character art that fills the frame */
.ws-portrait{position:relative;flex-shrink:0;width:76px;height:76px;margin-top:4px;border-radius:12px;overflow:hidden;border:3px solid var(--rc,#888);box-shadow:0 0 0 2px #111,0 3px 8px rgba(0,0,0,.5);background:#111;}
.ws-portrait .pt-bg{position:absolute;inset:0;background:radial-gradient(circle at 50% 35%,color-mix(in srgb,var(--rc) 55%,#fff) 0,var(--rc) 45%,color-mix(in srgb,var(--rc) 35%,#000) 100%);transition:background .4s;}
.ws-portrait .pt-bg::after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(135deg,rgba(255,255,255,.08) 0 6px,transparent 6px 12px);}
.ws-portrait .pt-ch{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 20%;}
