/* Iron Bank / collectible inventory only. No existing artwork replaced. */
.iron-bank { --ib-gold:#e5bf79; --ib-cyan:var(--cyan,#35d4ff); --ib-green:var(--green,#55ff87); --ib-muted:var(--muted,#a6adbe); min-width:0; padding:24px; border:1px solid #e5bf7960; color:var(--text,#f4f4ff); background:radial-gradient(ellipse at top right,#e5bf7914,transparent 60%),linear-gradient(120deg,#151522,#090d14); }
.iron-bank *, .iron-bank *::before,.iron-bank *::after { box-sizing:border-box; }
.iron-bank [hidden] { display:none!important; }
.iron-bank-header { display:flex; gap:18px; align-items:center; }
.iron-bank-crest { position:relative; display:block; width:66px; height:76px; flex:none; border:1px solid #e5bf7980; border-radius:34px 34px 4px 4px; background:linear-gradient(100deg,#171e27,#33323b,#0c111a); box-shadow:inset 0 0 0 5px #0b111c,0 0 28px #e5bf7910; }
.iron-bank-arch { position:absolute; inset:13px 14px 10px; border:2px solid #e5bf7990; border-radius:20px 20px 1px 1px; background:repeating-linear-gradient(90deg,transparent 0 7px,#e5bf7955 7px 9px); }
.iron-bank-coin { display:grid; place-items:center; position:absolute; width:28px; height:28px; left:18px; top:28px; border:1px solid #ffe0a5; border-radius:50%; background:#31283b; color:#f0d69e; font-size:18px; box-shadow:0 0 12px #e5bf7930; }
.iron-bank-eyebrow { color:var(--ib-gold); font-size:.62rem; font-weight:900; text-transform:uppercase; letter-spacing:.12em; margin:0 0 7px; }
.iron-bank h3 { margin:0; font:700 1.9rem/1.15 var(--heading,'Arial Narrow',sans-serif); text-transform:uppercase; }
.iron-bank-intro { margin:18px 0; color:var(--ib-muted); font-size:.8rem; line-height:1.6; }
.iron-bank-balances { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:20px 0; }
.iron-bank-balances > div { padding:16px; background:#070b1399; border:1px solid #ffffff20; min-width:0; }
.iron-bank-balances span { display:block; font-size:.62rem; color:var(--ib-muted); text-transform:uppercase; letter-spacing:.03em; }
.iron-bank-balances strong { display:block; margin-top:8px; font:700 2rem/1.1 var(--heading,'Arial Narrow',sans-serif); color:var(--ib-gold); overflow-wrap:anywhere; }
.iron-bank-balances > div:nth-child(2) strong { color:var(--ib-muted); }.iron-bank-balances > div:last-child strong { color:var(--ib-green); }
.iron-bank-note { font-size:.7rem; color:var(--ib-muted); line-height:1.65; }
.iron-bank-status { min-height:1.5em; margin:14px 0; font-size:.74rem; line-height:1.6; overflow-wrap:anywhere; color:var(--ib-muted); }
.iron-bank-status[data-state="warning"] { color:#ffd690; }
.iron-bank button { min-height:44px; padding:11px 16px; color:#fff; font:inherit; font-size:.75rem; font-weight:800; border:1px solid #ffffff35; border-radius:0; white-space:normal; overflow-wrap:anywhere; cursor:pointer; }
.iron-bank-primary { background:linear-gradient(110deg,#9a7338,#594421); border-color:#e5bf79!important; box-shadow:3px 3px 0 #e5bf7925; }
.iron-bank-secondary { background:#ffffff07; }
.iron-bank button:disabled { opacity:.45; box-shadow:none; cursor:not-allowed; }
.iron-bank :is(button,input,select,summary):focus-visible { outline:2px solid var(--ib-cyan); outline-offset:3px; }
.iron-bank-actions { display:flex; flex-wrap:wrap; gap:10px; }
.iron-bank-form { display:grid; grid-template-columns:minmax(0,1fr); gap:12px; margin-top:20px; padding:18px; background:#070b1380; border:1px solid #e5bf792d; }
.iron-bank-form label { display:block; min-width:0; }.iron-bank-form label > span { display:block; color:var(--ib-cyan); font-size:.66rem; font-weight:800; margin-bottom:8px; }
.iron-bank :is(input,select) { display:block; width:100%; min-width:0; min-height:44px; padding:10px; background:#0b1019; border:1px solid #ffffff35; border-radius:0; color:var(--text,#fff); font:inherit; font-size:.82rem; }
.iron-bank :is(input,select):disabled { opacity:.65; }.iron-bank-search { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:end; gap:10px; }
.iron-bank-rate { margin:0; padding:12px; border-left:2px solid var(--ib-gold); background:#e5bf7909; color:var(--ib-gold); font-size:.8rem; line-height:1.6; }
.iron-bank-history { margin-top:20px; border-top:1px solid #ffffff20; }.iron-bank-history > summary { min-height:44px; padding:15px 0; cursor:pointer; color:var(--ib-cyan); font-weight:800; font-size:.75rem; }
.iron-bank-ledger { list-style:none; margin:12px 0; padding:0; display:grid; gap:7px; }.iron-bank-ledger li { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:6px 12px; padding:12px; background:#070b1380; border:1px solid #ffffff1c; font-size:.74rem; }.iron-bank-ledger strong,.iron-bank-ledger span { overflow-wrap:anywhere; }.iron-bank-ledger span { color:var(--ib-gold); }.iron-bank-ledger small { grid-column:1/-1; color:var(--ib-muted); font-size:.65rem; }
.iron-bank-dialog { width:min(500px,calc(100% - 24px)); max-height:calc(100dvh - 24px); margin:auto; padding:24px; overflow:auto; overscroll-behavior:contain; border:1px solid var(--ib-gold); color:var(--text,#fff); background:radial-gradient(ellipse at top right,#e5bf7918,transparent 60%),#0b1019; font:inherit; box-shadow:0 20px 80px #000b; }
.iron-bank-dialog::backdrop { background:#03050ddd; backdrop-filter:blur(5px); }.iron-bank-summary { margin:20px 0; display:grid; gap:10px; }.iron-bank-summary > div { display:flex; justify-content:space-between; gap:16px; padding:12px 0; border-bottom:1px solid #ffffff20; }.iron-bank-summary dt { font-size:.7rem; color:var(--ib-muted); }.iron-bank-summary dd { margin:0; font-size:.82rem; font-weight:800; text-align:right; color:var(--ib-gold); overflow-wrap:anywhere; }
@media(max-width:600px) { .iron-bank { padding:18px; }.iron-bank-balances { grid-template-columns:1fr 1fr; }.iron-bank-balances > div:last-child { grid-column:1/-1; }.iron-bank-balances > div { padding:12px; }.iron-bank h3 { font-size:1.55rem; } }
@media(max-width:380px) { .iron-bank { padding:14px; }.iron-bank-header { gap:12px; }.iron-bank-crest { transform:scale(.85); margin:-5px; }.iron-bank-form { padding:12px; }.iron-bank-search { grid-template-columns:1fr; }.iron-bank-actions > button { width:100%; }.iron-bank-ledger li { grid-template-columns:1fr; }.iron-bank-dialog { padding:18px; }.iron-bank-balances strong { font-size:1.7rem; } }
