/* FAJRUM D3 — sklad hutě, 1680. Výhradně původní obrazy a materiály.
   Výtvarná vrstva: nemění inventář, obchodování, výpočty ani ukládání. */
#app .fj-d3-storage{
  --d3-border:#8b6c47;--d3-brass:#bb9160;--d3-muted:var(--fj-muted);
  --d3-paper:var(--card);--d3-surface:var(--fj-surface);--d3-ink:var(--ink);
  --d3-wood:var(--card2);--d3-shadow:#0003;
  min-width:0;
}
#app .fj-d3-storage .fj-d3-scene{
  position:relative;border:2px solid #977044;border-radius:6px;
  box-shadow:0 7px 19px var(--d3-shadow),inset 0 0 0 1px #d6ad6e3b;
}
#app .fj-d3-storage .fj-d3-scene .fj-section-art-figure{min-width:0;position:relative}
#app .fj-d3-storage .fj-d3-scene .fj-section-art-figure::before{
  content:'';pointer-events:none;position:absolute;z-index:3;inset:9px;
  border:1px solid #e7ba7977;
  background:url('brass-corner.svg') left top/32px 32px no-repeat,
             url('brass-corner.svg') right top/32px 32px no-repeat;
}
#app .fj-d3-storage .fj-d3-scene .fj-section-art-detail{
  background:var(--d3-wood);color:var(--d3-ink);font:italic 13px/1.5 Georgia,serif;
}
/* A folio/contents slip, not a newly invented storehouse scene. */
#app .fj-d3-contents{
  position:relative;display:flex;align-items:center;flex-wrap:wrap;gap:12px;
  margin:10px 10px 12px;padding:13px 15px;
  border:1px solid var(--d3-border);border-left:4px solid var(--d3-brass);border-radius:5px;
  background:linear-gradient(135deg,#b2804424,transparent 48%),var(--d3-paper);
  box-shadow:0 3px 13px var(--d3-shadow),inset 0 1px #ecd3a91f;
}
#app .fj-d3-contents::after{content:'';pointer-events:none;position:absolute;right:8px;top:7px;
  width:33px;height:33px;opacity:.3;background:url('brass-corner.svg') center/contain no-repeat;transform:rotate(90deg)}
#app .fj-d3-contents-lead{display:flex;align-items:center;gap:11px;min-width:200px;flex:1 1 220px;}
#app .fj-d3-contents-icon{width:55px;height:55px;flex:0 0 55px;display:grid;place-items:center;
  border:1px solid var(--d3-border);border-radius:4px;
  background:radial-gradient(ellipse at top left,#d2b17b28,transparent 75%),var(--d3-wood);}
#app .fj-d3-contents-icon img{width:48px;height:48px;object-fit:contain;display:block;}
#app .fj-d3-contents-kicker{display:block;font:700 10px/1.5 Georgia,serif;
  letter-spacing:1.1px;color:var(--d3-muted);text-transform:uppercase}
#app .fj-d3-contents h3{font:700 clamp(19px,2vw,24px)/1.2 Georgia,serif;
  color:var(--d3-ink);margin:2px 0 3px;}
#app .fj-d3-contents-subtitle{display:block;font:italic 11px/1.45 Georgia,serif;color:var(--d3-muted);}
#app .fj-d3-index{display:flex;gap:6px;flex-wrap:wrap;flex:2 1 290px;align-items:center;}
#app .fj-d3-index button{cursor:pointer;min-height:44px;min-width:0;max-width:100%;
  padding:8px 10px;display:inline-flex;align-items:center;gap:7px;
  color:var(--d3-ink);border:1px solid var(--d3-border);border-radius:3px;
  background:linear-gradient(120deg,#b7894b15,transparent),var(--d3-surface);
  font:700 12px/1.3 Georgia,serif;}
#app .fj-d3-index button:hover{border-color:var(--gold);background:var(--d3-wood)}
#app .fj-d3-index button:focus-visible{outline:3px solid var(--gold);outline-offset:2px;}
#app .fj-d3-index-numeral{color:var(--d3-brass);font:700 11px/1 Georgia,serif;}
/* Original sections keep all original item nodes; only get visual classes. */
#app .fj-d3-storage .fj-d3-stock-section{
  position:relative;min-width:0;overflow:hidden;
  border:1px solid var(--d3-border);border-top:3px double var(--d3-brass);
  border-radius:5px;background:linear-gradient(135deg,#9c713218,transparent 56%),var(--d3-surface);
  box-shadow:0 4px 13px var(--d3-shadow),inset 0 0 0 1px #b888481b;
}
#app .fj-d3-storage .fj-d3-stock-section::after{
  content:'';position:absolute;pointer-events:none;right:9px;top:7px;width:31px;height:31px;
  background:url('brass-corner.svg') center/contain no-repeat;opacity:.26;transform:rotate(90deg);
}
#app .fj-d3-storage .fj-d3-stock-heading{display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  padding-bottom:11px;margin:0 0 13px;border-bottom:2px double var(--d3-border);
  font:700 clamp(15px,1.8vw,19px)/1.35 Georgia,serif;color:var(--d3-ink)!important;}
#app .fj-d3-storage .fj-d3-section-numeral{flex:0 0 auto;display:inline-grid;place-items:center;
  width:28px;height:28px;border:1px solid var(--d3-border);border-radius:3px;
  background:var(--d3-wood);color:var(--d3-brass);font:700 12px/1 Georgia,serif;}
#app .fj-d3-storage .fj-d3-stock-grid{display:grid;gap:9px!important;align-items:stretch;min-width:0;}
#app .fj-d3-storage .fj-d3-stock-grid > .fj-d3-stock-item{
  position:relative;min-width:0;overflow:hidden;padding:11px!important;
  border:1px solid var(--d3-border)!important;border-radius:4px!important;
  background:linear-gradient(160deg,#b893591a,transparent 70%),var(--d3-paper)!important;
  box-shadow:inset 0 1px #efd8b017,0 2px 7px #0001;
  color:var(--d3-ink)!important;opacity:1!important;
}
#app .fj-d3-storage .fj-d3-glass-grid > .fj-d3-stock-item{
  display:grid;grid-template-columns:minmax(0,1fr);align-content:start;gap:5px;
  border-left:3px solid var(--d3-brass)!important;
}
#app .fj-d3-storage .fj-d3-glass-grid > .fj-d3-stock-item:has(>.fj-product-picture){
  grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);
  grid-template-rows:auto auto 1fr;column-gap:9px;
}
#app .fj-d3-storage .fj-d3-glass-grid .fj-product-picture{
  width:100%;height:88px;min-width:0;grid-column:1;grid-row:1/4;
  border-radius:3px;background:radial-gradient(ellipse,#b9965820,transparent 73%);border:1px solid #99805f32;
}
#app .fj-d3-storage .fj-d3-glass-grid .fj-product-sprite{max-width:100%;max-height:100%;object-fit:contain;}
#app .fj-d3-storage .fj-d3-glass-grid .fj-d3-item-name,
#app .fj-d3-storage .fj-d3-glass-grid .fj-d3-item-quantity,
#app .fj-d3-storage .fj-d3-glass-grid .fj-d3-item-detail{min-width:0;overflow-wrap:anywhere;}
#app .fj-d3-storage .fj-d3-glass-grid .fj-d3-item-name{
  font:700 13px/1.35 Georgia,serif!important;color:var(--d3-ink)!important;margin:0!important;}
#app .fj-d3-storage .fj-d3-glass-grid .fj-d3-item-quantity{
  font:700 23px/1.1 Georgia,serif!important;color:var(--d3-ink)!important;font-variant-numeric:tabular-nums;}
#app .fj-d3-storage .fj-d3-glass-grid .fj-d3-item-detail{
  font:12px/1.45 Georgia,serif!important;color:var(--d3-muted)!important;}
#app .fj-d3-storage .fj-d3-stock-item.fj-d3-empty{background:var(--d3-wood)!important;
  border-color:var(--fj-edge)!important;}
#app .fj-d3-storage .fj-d3-empty .fj-d3-item-quantity{color:var(--d3-muted)!important;}
/* Material and additive illustrations already exist in img/materials + img/additives. */
#app .fj-d3-storage .fj-d3-material-grid > .fj-d3-stock-item,
#app .fj-d3-storage .fj-d3-additive-grid > .fj-d3-stock-item{
  display:flex;align-items:center!important;gap:9px!important;min-height:91px;
}
#app .fj-d3-storage .fj-d3-material-grid .fj-material-picture,
#app .fj-d3-storage .fj-d3-additive-grid .fj-material-picture{
  flex:0 0 62px;width:62px!important;height:70px!important;display:grid;place-items:center;
  border-radius:3px;background:radial-gradient(circle,#e4cc9a22,transparent 73%);
}
#app .fj-d3-storage .fj-d3-material-grid .fj-material-picture img,
#app .fj-d3-storage .fj-d3-additive-grid .fj-material-picture img{object-fit:contain}
#app .fj-d3-storage .fj-d3-item-copy{min-width:0;flex:1 1 auto;}
#app .fj-d3-storage .fj-d3-item-label{
  font:700 12px/1.4 Georgia,serif!important;letter-spacing:0!important;text-transform:none!important;
  color:var(--d3-ink)!important;overflow-wrap:anywhere;}
#app .fj-d3-storage .fj-d3-item-value{margin-top:5px!important;
  color:var(--d3-ink)!important;font:700 20px/1.2 Georgia,serif!important;
  font-variant-numeric:tabular-nums;overflow-wrap:anywhere;}
#app .fj-d3-storage .fj-d3-stock-item.fj-d3-danger{border-color:var(--danger)!important;
  box-shadow:inset 3px 0 var(--danger),0 2px 6px #0001;}
#app .fj-d3-storage .fj-d3-danger .fj-d3-item-value,
#app .fj-d3-storage .fj-d3-danger .fj-d3-item-label{color:var(--danger)!important;}
#app .fj-d3-storage .fj-d3-positive .fj-d3-item-value{color:var(--ok)!important;}
#app .fj-d3-storage .fj-d3-caution .fj-d3-item-value{color:var(--gold)!important;}
/* Economy belongs to the accounts book, so it uses paper rather than a 'machine'. */
#app .fj-d3-storage .fj-d3-economy-section{
  background:linear-gradient(155deg,#c1a27918,transparent 65%),var(--d3-paper);}
#app .fj-d3-storage .fj-d3-economy-grid > .fj-d3-stock-item{
  display:flex;gap:9px;align-items:center;min-height:75px;
  background:var(--d3-surface)!important;}
#app .fj-d3-storage .fj-d3-economy-grid > .fj-d3-stock-item > span:first-child{
  display:grid;place-items:center;flex:0 0 32px;width:32px;height:36px;font-size:19px!important;
  background:#9c77551a;border:1px solid #9c77553b;border-radius:3px;}
#app .fj-d3-storage .fj-d3-economy-grid .fj-d3-item-value{font-size:18px!important;}
/* Keep text legible even where original renderer used hard-coded ink colours. */
:root[data-fajrum-theme="dark"] #app .fj-d3-storage{
  --d3-border:#856a4c;--d3-brass:#dfb47c;--d3-muted:#ccbaa1;
  --d3-paper:#2d271f;--d3-surface:#322b22;--d3-ink:#f2e8d6;--d3-wood:#241f19;}
:root[data-fajrum-theme="light"] #app .fj-d3-storage{
  --d3-border:#a68a66;--d3-brass:#80552d;--d3-muted:#70573e;
  --d3-paper:#efe4d0;--d3-surface:#e5d5b9;--d3-ink:#34271b;--d3-wood:#d8c6a7;}
@media (min-width:700px){
 #app .fj-d3-storage .fj-d3-glass-grid{grid-template-columns:repeat(auto-fit,minmax(175px,1fr))!important;}
 #app .fj-d3-storage .fj-d3-material-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))!important;}
 #app .fj-d3-storage .fj-d3-additive-grid{grid-template-columns:repeat(auto-fit,minmax(166px,1fr))!important;}
 #app .fj-d3-storage .fj-d3-economy-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))!important;}
}
@media (max-width:420px){
 #app .fj-d3-contents{padding:11px;gap:9px;}
 #app .fj-d3-contents-icon{width:43px;height:43px;flex-basis:43px;}
 #app .fj-d3-contents-icon img{width:37px;height:37px;}
 #app .fj-d3-index{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;flex-basis:100%;}
 #app .fj-d3-index button{justify-content:center;padding:7px 5px;font-size:11px;}
 #app .fj-d3-storage .fj-d3-stock-grid > .fj-d3-stock-item{padding:8px!important;}
 #app .fj-d3-storage .fj-d3-material-grid .fj-material-picture,
 #app .fj-d3-storage .fj-d3-additive-grid .fj-material-picture{flex-basis:41px;width:41px!important;height:52px!important;}
 #app .fj-d3-storage .fj-d3-glass-grid .fj-product-picture{height:74px;}
 #app .fj-d3-storage .fj-d3-glass-grid .fj-d3-item-quantity{font-size:20px!important;}
 #app .fj-d3-storage .fj-d3-item-value{font-size:18px!important;}
 #app .fj-d3-storage .fj-d3-item-label{font-size:11px!important;}
}
@media(max-width:350px){
 #app .fj-d3-storage .fj-d3-glass-grid{grid-template-columns:minmax(0,1fr)!important;}
 #app .fj-d3-storage .fj-d3-glass-grid .fj-product-picture{height:100px;}
 #app .fj-d3-storage .fj-d3-material-grid,
 #app .fj-d3-storage .fj-d3-additive-grid,
 #app .fj-d3-storage .fj-d3-economy-grid{grid-template-columns:minmax(0,1fr)!important;}
}
@media(max-height:500px) and (orientation:landscape){
 #app .fj-d3-contents-icon{width:41px;height:41px;flex-basis:41px;}
 #app .fj-d3-contents-icon img{width:35px;height:35px;}
 #app .fj-d3-contents{padding:8px 12px;}
}
@media(prefers-reduced-motion:reduce){#app .fj-d3-storage *{scroll-behavior:auto!important;}}
