/* SAFE TO EDIT: complete Sea Market presentation. Catalog data lives in game/market.js. */
#marketModal { padding: 18px; }
#marketModal .market-window { width: min(880px, calc(100vw - 28px)); height: min(740px, calc(100dvh - 28px)); padding: 0; overflow: hidden; border: 2px solid rgba(191,139,67,.75); border-radius: 9px; background: repeating-linear-gradient(90deg, rgba(255,255,255,.012) 0 1px, transparent 1px 8px), linear-gradient(140deg, #160d08, #33200f 48%, #090d0e); box-shadow: 0 30px 100px rgba(0,0,0,.76), inset 0 0 60px rgba(0,0,0,.7); color: #f4ead7; text-align: left; }
.market-titlebar { display: grid; grid-template-columns: 1fr auto 40px; gap: 18px; align-items: center; min-height: 72px; padding: 10px 16px 10px 22px; border-bottom: 1px solid rgba(218,172,84,.38); background: linear-gradient(180deg, rgba(27,34,36,.98), rgba(4,8,9,.97) 68%, rgba(45,24,12,.98)); box-shadow: inset 0 0 20px #000; }
.market-kicker { display: block; margin-bottom: 4px; color: #60f0bd; font: 800 9px/1 Inter, system-ui, sans-serif; letter-spacing: .17em; text-transform: uppercase; }
.market-titlebar h2 { margin: 0; color: #fff0c4; font: 900 clamp(23px,3.5vw,34px)/1 Georgia,serif; letter-spacing: 1px; text-transform: uppercase; }
.market-balances { display: flex; gap: 8px; }
.market-balances span { min-width: 90px; padding: 8px 10px; border: 1px solid rgba(255,201,76,.26); border-radius: 7px; background: rgba(0,0,0,.28); color: #ffd34e; font: 850 12px Inter,sans-serif; text-align: center; }
.market-balances .is-pearls { color: #89ddff; }
.market-close,.market-dialog-close { display:grid;place-items:center;width:36px;height:36px;border:1px solid rgba(255,214,135,.48);border-radius:7px;background:linear-gradient(#773126,#35120f);color:#ffe5a5;cursor:pointer;font:900 25px/1 sans-serif; }
.market-tabs { display:grid;grid-template-columns:1fr 1fr;min-height:45px;border-bottom:1px solid rgba(218,172,84,.3);background:rgba(5,8,8,.5); }
.market-tabs button { position:relative;border:0;background:transparent;color:#a99c84;cursor:pointer;font:850 12px Inter,sans-serif;letter-spacing:.06em;text-transform:uppercase;transition:background .2s,color .2s; }
.market-tabs button:hover { background:rgba(247,191,100,.07);color:#f1dcc0; }
.market-tabs button.is-active { color:#ffe09a;background:linear-gradient(180deg,rgba(153,92,31,.25),rgba(64,37,16,.3)); }
.market-tabs button.is-active::after { content:"";position:absolute;left:15%;right:15%;bottom:0;height:2px;background:#f7bf64;box-shadow:0 0 12px #f7bf64; }
.market-dialog input { width:100%;height:38px;border:1px solid rgba(218,172,84,.3);border-radius:7px;background:rgba(5,10,11,.8);color:#f2e6cf;outline:none;font:650 11px Inter,sans-serif; }
.market-dialog input:focus { border-color:#60f0bd;box-shadow:0 0 0 2px rgba(96,240,189,.1); }
.market-result-summary { min-height:25px;padding:3px 18px;color:#aa9c83;font:650 9px Inter,sans-serif;text-transform:uppercase;letter-spacing:.08em; }
.market-item-list { display:block;height:calc(100% - 187px);padding:4px 15px 15px;overflow-y:auto;scrollbar-color:#896330 #140d08;scrollbar-width:thin; }
.market-section { display:grid;gap:8px;margin-bottom:15px; }.market-section>h3{position:sticky;top:-4px;z-index:2;margin:0;padding:9px 10px;border:1px solid rgba(216,172,85,.3);background:linear-gradient(#1e2325,#080909 72%,#2b180c);color:#ffe2a0;font:850 11px Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase;box-shadow:0 5px 12px rgba(0,0,0,.35)}
.market-item-list::-webkit-scrollbar { width:9px; }.market-item-list::-webkit-scrollbar-track{background:#140d08}.market-item-list::-webkit-scrollbar-thumb{border:2px solid #140d08;border-radius:8px;background:#896330}
.market-item-row { --rarity:#9a9a91;display:grid;grid-template-columns:92px minmax(190px,1fr) minmax(310px,1.25fr);gap:14px;align-items:center;min-height:136px;padding:12px;border:1px solid color-mix(in srgb,var(--rarity) 55%,#24180e);border-left:4px solid var(--rarity);border-radius:9px;background:radial-gradient(circle at 0 50%,color-mix(in srgb,var(--rarity) 14%,transparent),transparent 32%),linear-gradient(100deg,rgba(18,18,17,.96),rgba(48,29,15,.92));box-shadow:0 7px 20px rgba(0,0,0,.3),inset 0 0 20px rgba(0,0,0,.35);transition:transform .18s,border-color .18s,box-shadow .18s;animation:market-card-in .2s ease both; }
.market-item-row:hover { transform:translateY(-2px);border-color:var(--rarity);box-shadow:0 12px 30px rgba(0,0,0,.42),0 0 18px color-mix(in srgb,var(--rarity) 15%,transparent); }
.market-item-row[data-rarity="rare"]{--rarity:#4ba6ff}.market-item-row[data-rarity="epic"]{--rarity:#a36aff}.market-item-row[data-rarity="legendary"]{--rarity:#ffb52e}.market-item-row.is-elite{box-shadow:0 7px 20px rgba(0,0,0,.3),inset 0 0 26px rgba(163,106,255,.08)}
.market-item-art { position:relative;display:grid;place-items:center;width:78px;height:92px;border:2px solid color-mix(in srgb,var(--rarity) 65%,#48301b);border-radius:8px;background:radial-gradient(circle at 45% 35%,color-mix(in srgb,var(--rarity) 26%,transparent),transparent 45%),linear-gradient(145deg,#542813,#09131a);box-shadow:inset 0 0 24px #000,0 7px 15px rgba(0,0,0,.4);color:#ffe08a;font-size:37px;text-shadow:0 3px 8px #000; }
.market-badge { position:absolute;top:-7px;left:-8px;padding:4px 6px;border-radius:4px;background:#60f0bd;color:#062219;font:900 7px Inter,sans-serif;letter-spacing:.06em;text-transform:uppercase;box-shadow:0 3px 8px #000; }.market-badge.is-limited{left:auto;right:-8px;background:#e4664c;color:#fff4e2}
.market-item-copy { align-self:stretch;display:flex;flex-direction:column;justify-content:center;min-width:0; }
.market-item-rarity { margin-bottom:5px;color:var(--rarity);font:850 8px Inter,sans-serif;letter-spacing:.12em;text-transform:uppercase; }
.market-item-copy strong { color:#fff2d8;font:800 15px/1.2 Inter,sans-serif; }.market-item-copy p{margin:5px 0 8px;color:#bfb09a;font:550 10px/1.45 Inter,sans-serif}
.market-item-meta { display:flex;flex-wrap:wrap;gap:6px 15px;color:#d4c5aa;font:700 9px Inter,sans-serif; }.market-item-meta b{color:#fff1cb;font-size:11px}.market-item-meta .is-equipped{color:#60f0bd}
.market-bonuses { display:grid;grid-template-columns:1fr 1fr;gap:3px 8px;margin:7px 0 0;padding:0;list-style:none;color:#9ee5c9;font:650 8px/1.3 Inter,sans-serif; }.market-bonuses li::before{content:"+ ";color:#60f0bd}
.market-buy-block { display:grid;gap:7px;align-self:stretch;padding:8px 0 8px 12px;border-left:1px solid rgba(255,255,255,.07); }
.market-quantity-row { display:grid;grid-template-columns:auto 88px 1fr;gap:10px;align-items:center; }.market-quantity-row>span{color:#a89981;font:700 8px Inter,sans-serif;text-transform:uppercase}
.market-stepper { display:grid;grid-template-columns:28px 32px 28px;height:28px;border:1px solid rgba(218,172,84,.3);border-radius:6px;overflow:hidden; }.market-stepper button{border:0;background:#24180e;color:#ffe09a;cursor:pointer;font-weight:900}.market-stepper output{display:grid;place-items:center;background:#080b0c;color:#fff0cb;font:800 10px Inter,sans-serif}
.market-total { color:#cdbd9f;font:650 9px Inter,sans-serif;text-align:right; }.market-total b{display:block;margin-top:2px;color:#fff0c9;font-size:11px}
.market-purchase-buttons { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:auto; }.market-purchase-buttons button,.market-bid-button,.market-history-button,.market-dialog-actions button { min-height:34px;border:1px solid rgba(230,190,105,.46);border-radius:6px;background:linear-gradient(180deg,#4a3b27,#15120e);color:#ffe19a;cursor:pointer;font:850 8px Inter,sans-serif;letter-spacing:.04em;text-transform:uppercase;transition:filter .16s,transform .16s; }.market-purchase-buttons button:hover,.market-bid-button:hover,.market-history-button:hover,.market-dialog-actions button:hover{filter:brightness(1.25);transform:translateY(-1px)}
.market-purchase-buttons .is-gold{color:#ffd34e}.market-purchase-buttons .is-pearls,.market-dialog-actions .is-primary{border-color:rgba(104,213,255,.48);color:#aee8ff;background:linear-gradient(#234a59,#0b2029)}
.market-purchase-buttons button:disabled,.market-bid-button:disabled{opacity:.42;cursor:not-allowed;filter:none;transform:none}
.market-purchase-buttons button.is-purchased{animation:market-purchased .48s ease}
.market-auction { display:grid;grid-template-columns:1fr 90px;gap:5px 10px;padding:7px;border:1px solid rgba(255,181,46,.2);border-radius:6px;background:rgba(0,0,0,.22); }.market-auction span{color:#988c78;font:650 8px Inter,sans-serif;text-transform:uppercase}.market-auction strong{display:block;margin-top:2px;color:#f8e7c7;font-size:10px;text-transform:none}.market-auction-time{text-align:right;color:#ffca59!important;font:850 17px/1 Inter,sans-serif!important}.market-bid-button{grid-column:1/-1;background:linear-gradient(#704a1c,#27180a)}
.market-empty { display:grid;place-items:center;min-height:220px;color:#b9a98d;font:700 12px Inter,sans-serif;text-align:center; }
.market-footer { display:flex;align-items:center;justify-content:space-between;min-height:44px;padding:6px 16px;border-top:1px solid rgba(218,172,84,.28);background:rgba(5,8,8,.7);color:#8f846f;font:650 9px Inter,sans-serif; }.market-history-button{padding:0 14px}.market-history-button.is-hidden{display:none}
.market-submodal { z-index:100;padding:18px;background:rgba(0,6,9,.72);backdrop-filter:blur(5px); }.market-dialog{position:relative;width:min(420px,calc(100vw - 28px));padding:24px;border:1px solid #9a7135;border-radius:11px;background:radial-gradient(circle at 50% 0,rgba(151,93,31,.25),transparent 38%),linear-gradient(145deg,#25140b,#090e10);box-shadow:0 28px 80px #000;color:#eadfc8;text-align:center}.market-dialog.is-history{width:min(620px,calc(100vw - 28px))}.market-dialog-close{position:absolute;right:10px;top:10px;width:31px;height:31px;font-size:20px}.market-dialog-icon{display:block;color:#f7bf64;font-size:31px}.market-dialog h2{margin:8px 0;color:#ffe3a5;font:850 23px Georgia,serif}.market-dialog p{color:#b8aa91;font:600 11px/1.5 Inter,sans-serif}.market-dialog label{display:grid;gap:7px;margin-top:16px;color:#d9c8a7;font:750 10px Inter,sans-serif;text-align:left}.market-dialog input{padding:0 12px;font-size:15px;text-align:center}.market-dialog-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}.market-history-list{display:grid;gap:5px;max-height:330px;overflow:auto;text-align:left}.market-history-row{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;padding:9px;border-bottom:1px solid rgba(255,255,255,.08);font:650 10px Inter,sans-serif}.market-history-row strong{color:#60f0bd}.market-history-row span{color:#e7d7ba}.market-history-row time{color:#9b8d76}.market-toast{position:fixed;left:50%;top:12%;z-index:140;display:flex;align-items:center;gap:10px;max-width:min(440px,calc(100vw - 28px));padding:12px 18px;border:1px solid rgba(96,240,189,.5);border-radius:9px;background:rgba(7,30,31,.96);color:#dffff1;box-shadow:0 15px 45px #000,0 0 22px rgba(96,240,189,.18);font:800 11px Inter,sans-serif;transform:translateX(-50%);animation:market-toast-in .25s ease}.market-toast.is-hidden{display:none}.market-toast.is-error{border-color:#ff7762;background:rgba(49,16,15,.96);color:#ffd5cd}@keyframes market-toast-in{from{opacity:0;transform:translate(-50%,-12px)}to{opacity:1;transform:translate(-50%,0)}}
.market-fly{position:fixed;z-index:150;pointer-events:none;font-size:36px;animation:market-fly 700ms ease-in forwards}@keyframes market-fly{to{left:50%!important;top:5%!important;opacity:0;transform:scale(.35) rotate(25deg)}}
@keyframes market-card-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes market-purchased{50%{box-shadow:0 0 25px #60f0bd;transform:scale(.96)}}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:800px){#marketModal .market-window{height:min(760px,calc(100dvh - 16px))}.market-item-row{grid-template-columns:74px 1fr}.market-item-art{width:65px;height:76px}.market-buy-block{grid-column:1/-1;border-left:0;border-top:1px solid rgba(255,255,255,.07);padding:9px 0 0}.market-item-list{height:calc(100% - 185px)}}
@media(max-width:520px){#marketModal{padding:5px}.market-titlebar{grid-template-columns:1fr 34px;min-height:62px;padding-left:12px}.market-balances{grid-row:2;grid-column:1/-1}.market-balances span{flex:1}.market-close{grid-column:2;grid-row:1}.market-result-summary{display:none}.market-item-list{height:calc(100% - 190px);padding:4px 7px 10px}.market-item-row{grid-template-columns:58px 1fr;gap:8px;padding:8px}.market-item-art{width:52px;height:62px;font-size:28px}.market-bonuses{grid-template-columns:1fr}.market-quantity-row{grid-template-columns:auto 88px}.market-total{grid-column:1/-1;text-align:left}.market-purchase-buttons{grid-template-columns:1fr}.market-footer #marketHint{display:none}}
.market-history-row { grid-template-columns: 1fr 1fr auto auto; }

/* SAFE TO EDIT: compact Market row layout and shared 64px category art. */
#marketModal .market-window { width:min(760px,calc(100vw - 28px));height:min(620px,calc(100dvh - 28px)); }
#marketModal .market-titlebar { min-height:62px;padding:8px 14px 8px 18px; }
#marketModal .market-titlebar h2 { font-size:28px; }
#marketModal .market-tabs { min-height:40px; }
#marketModal .market-tabs button { font-size:14px; }
#marketModal .market-result-summary { min-height:23px;padding:4px 13px;font-size:11px; }
#marketModal .market-item-list { height:calc(100% - 165px);padding:3px 10px 10px; }
#marketModal .market-section { gap:4px;margin-bottom:9px; }
#marketModal .market-section>h3 { top:-3px;padding:6px 8px;font-size:12px; }
#marketModal .market-item-row { grid-template-columns:64px minmax(0,1fr) auto;gap:11px;min-height:82px;padding:8px;border-left-width:2px;border-radius:6px;box-shadow:0 3px 10px rgba(0,0,0,.28); }
#marketModal .market-item-row:hover { transform:none;box-shadow:0 5px 15px rgba(0,0,0,.4); }
.market-item-image { display:block;width:64px;height:64px;border:1px solid color-mix(in srgb,var(--rarity) 58%,#48301b);border-radius:5px;object-fit:cover;box-shadow:inset 0 0 12px #000,0 3px 9px rgba(0,0,0,.4); }
#marketModal .market-item-copy { align-self:center; }
#marketModal .market-item-copy strong { color:#fff2d8;font:850 16px/1.2 Inter,sans-serif; }
#marketModal .market-item-copy p { margin:4px 0;color:#c9baa2;font:600 12px/1.35 Inter,sans-serif; }
#marketModal .market-item-meta { gap:4px 12px;font-size:11px; }
#marketModal .market-item-meta b { font-size:12px; }
.market-compact-actions { display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;max-width:310px; }
.market-compact-actions .market-stepper { width:78px;height:34px;grid-template-columns:24px 30px 24px; }
.market-compact-actions .market-stepper button { font-size:15px; }
.market-compact-actions .market-stepper output { font-size:12px; }
.market-price-option { display:flex;align-items:center;gap:6px;min-height:36px;padding-left:8px;border:1px solid rgba(230,190,105,.34);border-radius:5px;background:rgba(0,0,0,.23); }
.market-price-option>span { min-width:62px;color:#ffd34e;font:850 13px/1 Inter,sans-serif;text-align:right;white-space:nowrap; }
.market-price-option.is-pearls>span { color:#9fe4ff; }
.market-price-option button,.market-compact-actions .market-bid-button { min-width:60px;height:34px;padding:0 10px;border:0;border-left:1px solid rgba(230,190,105,.28);border-radius:0 4px 4px 0;background:linear-gradient(#60441f,#21150a);color:#ffe19a;cursor:pointer;font:900 13px/1 Inter,sans-serif;text-transform:uppercase; }
.market-price-option.is-pearls button { background:linear-gradient(#245366,#0b222c);color:#b9ecff; }
.market-price-option button:disabled,.market-compact-actions .market-bid-button:disabled { opacity:.42;cursor:not-allowed; }
.market-price-option button.is-purchased { animation:market-purchased .48s ease; }
#marketModal .market-auction { display:flex;grid-template-columns:none;align-items:center;gap:7px;padding:0 0 0 7px;border-radius:5px; }
#marketModal .market-auction>span { max-width:74px;overflow:hidden;color:#b9aa92;font-size:10px;text-overflow:ellipsis;white-space:nowrap;text-transform:none; }
#marketModal .market-auction>span.is-current-bidder { max-width:150px;color:#ff5b57;font-weight:950; }
#marketModal .market-auction-time { color:#ffca59!important;font:850 13px/1 Inter,sans-serif!important; }
#marketModal .market-auction .market-bid-button { grid-column:auto;min-width:48px; }
.market-fly { width:64px;height:64px;object-fit:cover;border-radius:6px; }

@media(max-width:700px){#marketModal .market-item-row{grid-template-columns:64px minmax(0,1fr)}.market-compact-actions{grid-column:1/-1;max-width:none;justify-content:flex-end;padding-top:3px}.market-item-list{height:calc(100% - 165px)!important}}
@media(max-width:520px){#marketModal .market-window{height:calc(100dvh - 10px)}#marketModal .market-titlebar h2{font-size:24px}#marketModal .market-item-row{grid-template-columns:54px minmax(0,1fr);gap:8px}.market-item-image{width:54px;height:54px}#marketModal .market-item-copy strong{font-size:15px}#marketModal .market-item-copy p{font-size:11px}.market-compact-actions{justify-content:flex-start}.market-price-option>span{min-width:54px;font-size:12px}}

/* SAFE TO EDIT: replaceable 64px cannon and ammunition artwork. */
.market-item-image.is-item-asset { object-fit:contain;background:radial-gradient(circle,rgba(255,221,130,.12),rgba(6,11,12,.92) 72%);image-rendering:auto; }
.market-confirm-image { display:block;width:64px;height:64px;margin:0 auto;object-fit:contain;filter:drop-shadow(0 5px 8px rgba(0,0,0,.7)); }
.inventory-card-icon img { display:block;width:44px;height:44px;object-fit:contain; }

.inventory-window { width:min(820px,calc(100vw - 28px));max-height:min(700px,calc(100dvh - 28px));overflow:hidden;border:2px solid rgba(191,139,67,.75);border-radius:9px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.012) 0 1px,transparent 1px 8px),linear-gradient(140deg,#160d08,#33200f 48%,#090d0e);box-shadow:0 30px 100px rgba(0,0,0,.76),inset 0 0 60px rgba(0,0,0,.7);color:#f4ead7}
.inventory-window .market-titlebar{grid-template-columns:1fr 40px}.inventory-summary{margin:0;padding:10px 16px;border-bottom:1px solid rgba(218,172,84,.25);color:#bfae91;font:650 10px/1.4 Inter,sans-serif}.inventory-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:560px;padding:12px;overflow:auto;scrollbar-color:#896330 #140d08;scrollbar-width:thin}.inventory-card{--rarity:#98948a;display:grid;grid-template-columns:50px minmax(0,1fr);gap:9px;min-height:112px;padding:10px;border:1px solid color-mix(in srgb,var(--rarity) 45%,#2b1c0f);border-left:3px solid var(--rarity);border-radius:7px;background:linear-gradient(120deg,rgba(25,23,19,.96),rgba(50,29,14,.86))}.inventory-card[data-rarity="rare"]{--rarity:#4ba6ff}.inventory-card[data-rarity="epic"]{--rarity:#a36aff}.inventory-card[data-rarity="legendary"]{--rarity:#ffb52e}.inventory-card-icon{display:grid;place-items:center;width:48px;height:54px;border:1px solid rgba(216,172,85,.3);border-radius:5px;background:#101719;font-size:25px}.inventory-card strong,.inventory-card small,.inventory-card span{display:block}.inventory-card strong{color:#fff0cd;font:800 12px Inter,sans-serif}.inventory-card small{margin:3px 0;color:var(--rarity);font:800 8px Inter,sans-serif;text-transform:uppercase}.inventory-card p{margin:5px 0;color:#b9aa94;font:550 9px/1.4 Inter,sans-serif}.inventory-card span{color:#e4d3b5;font:700 9px Inter,sans-serif}.inventory-card-actions{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:6px}.inventory-card button{min-height:30px;border:1px solid rgba(96,240,189,.38);border-radius:5px;background:linear-gradient(#245344,#0e2822);color:#a8ffdd;cursor:pointer;font:800 8px Inter,sans-serif;text-transform:uppercase}.inventory-card button:disabled{cursor:wait;opacity:.55}.inventory-card .inventory-sell-button{border-color:rgba(255,198,85,.48);background:linear-gradient(#604516,#332008);color:#ffe0a0}.inventory-empty{grid-column:1/-1;display:grid;place-items:center;min-height:240px;color:#9b8d76;font:700 11px Inter,sans-serif}
@media(max-width:620px){.inventory-grid{grid-template-columns:1fr;max-height:calc(100dvh - 145px)}}
