/* Inventory, outfitting, workshops and trading share the approved Night Guild atlas. */
.bag-overview{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 12px;padding:0 2px}
.bag-overview>span:first-child{display:flex;align-items:center;gap:9px}
.bag-overview-icon{width:24px;max-height:27px}
.bag-overview strong{font:400 23px/1 var(--ng-title);color:#e9d7af}
.bag-space{font-size:14px;color:#9fae9e;white-space:nowrap;font-variant-numeric:tabular-nums}
.bag-space b{font-size:20px;color:#d8dbc0;font-weight:600}
.bag-space small{font-size:11px;margin-left:6px;color:#a9b3a0}
.bag-space.is-full b{color:#ebbc7a}
.inventory-tabs.tabs{gap:5px;margin-bottom:10px}
.inventory-tabs.tabs button{display:flex;align-items:center;justify-content:center;gap:5px;min-width:0;padding:8px 7px;font-size:13px;min-height:35px}
.tab-count{font:500 10px/1 var(--ng-body);opacity:.72;min-width:11px;text-align:center}
.bag-tray{padding:10px 10px 0;border:1px solid #73817245;background:#0c171338;box-shadow:inset 0 2px 0 #07110d45;margin-bottom:12px}
.inventory-grid{grid-template-columns:repeat(8,minmax(0,1fr));gap:6px;max-width:490px;margin:0 auto 7px;padding:1px}
.inventory-slot{padding:8px;aspect-ratio:1;transition:filter .12s}
.inventory-slot>.ng-art{width:37px;max-width:88%;max-height:38px}
.inventory-slot:hover:not(:disabled){filter:brightness(1.13)}
.inventory-slot .slot-quantity{font-size:12px;bottom:5px;right:6px}
.inventory-slot.filtered{opacity:.45}
.inventory-slot.empty:after{content:'';width:3px;height:3px;background:#82907d2b}
.market-bag-tray{border-top:1px solid #73817245;margin-top:2px;padding:8px 0 7px}
.market-bag-heading{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin:0 auto 7px;max-width:490px;color:#a7b39d;font-size:11px}
.market-bag-heading h3{margin:0;font:500 15px/1.2 var(--ng-body);color:#d8c9a7}
.market-bag-heading b{color:#e4d5af;font-weight:600}
.market-slot-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:6px;max-width:490px;margin:0 auto;padding:1px}
.market-slot{position:relative;isolation:isolate;display:grid;place-items:center;aspect-ratio:1;min-width:0;min-height:0;width:100%;padding:8px;background:#172021;border:0;border-radius:0;align-self:start}
.market-slot>.ng-art{width:37px;max-width:88%;max-height:38px}
.market-slot .slot-quantity{position:absolute;bottom:5px;right:6px;font-size:12px;font-weight:600;color:#fff4dc;text-shadow:1px 1px #000,-1px -1px #000}
.market-slot.empty:after{content:'';width:3px;height:3px;background:#82907d2b}
.market-slot.occupied:hover{filter:brightness(1.13)}
.market-slot:focus-visible{outline-offset:2px}
.storage-locked{cursor:pointer!important;background:#101918!important}
.storage-locked>.storage-unlock-art{opacity:.38;filter:grayscale(.6) brightness(.8);width:34px;max-width:80%;max-height:34px;transform:translateY(-3px)}
.storage-locked>small{position:absolute;bottom:4px;left:1px;right:1px;font:500 9px/1 var(--ng-body);color:#8e9b88;text-align:center}
.storage-lock{position:absolute;right:6px;top:9px;width:8px;height:7px;border:1px solid #a9ae95;background:#283029;box-shadow:0 1px 2px #0008}
.storage-lock:before{content:'';position:absolute;width:4px;height:4px;border:1px solid #a9ae95;border-bottom:0;border-radius:3px 3px 0 0;left:1px;bottom:6px}
.storage-locked:hover>.storage-unlock-art,.storage-locked:focus-visible>.storage-unlock-art{opacity:.48}
.storage-overflow:after{content:'!';position:absolute;top:4px;right:5px;color:#e6be74;font:600 11px/1 var(--ng-body)}
.panel .storage-hint{margin:6px 0 0;text-align:center;font:400 11px/1.35 var(--ng-body);color:#96a28e}
.panel .inventory-capacity{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:#a7b39d;margin:0;padding:2px 0 8px;line-height:1.4}
.inventory-capacity>span:last-child{color:#829381;text-align:right}
.item-detail{grid-template-columns:60px minmax(0,1fr);gap:10px 12px;padding:14px;margin:0}
.detail-icon{width:60px;height:60px}
.detail-icon .ng-art{width:44px;max-height:46px}
.detail-copy h3{font:600 22px/1.1 var(--ng-body);margin:3px 0 7px;color:#302317}
.detail-kicker{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#775a35;font-size:10px;line-height:1.2;text-transform:uppercase;letter-spacing:.65px}
.detail-kicker>span:last-child{color:#6c573b;letter-spacing:0;text-transform:none;white-space:nowrap;font-size:11px}
.detail-stats{display:flex;flex-wrap:wrap;gap:5px;font-size:12px;line-height:1.2}
.detail-stats>span{padding:3px 6px;background:#74532313;border:1px solid #8c6b3930;color:#4d3b25}
.detail-durability{margin-top:8px}
.detail-durability b{font-size:11px;color:#5f4b2e;line-height:1.2}
.detail-durability .durability{height:5px;margin-top:4px}
.detail-durability.is-broken b{color:#8e3c30}
.panel .detail-note{grid-column:1/-1;color:#765336;font-size:11px;line-height:1.35;margin:-2px 0 0}
.detail-actions.actions-row{gap:6px;padding-top:2px;margin:0;align-items:stretch}
.detail-actions button{padding:8px 10px;font-size:13px;min-height:36px;line-height:1.2;white-space:normal}
.detail-actions .gold{flex:1.25}
.detail-actions .discard{flex:0 0 auto;min-width:65px;padding-inline:10px;color:#dabca1;font-size:11px}
.detail-actions .button-item-art{width:16px!important;max-height:18px}
.empty-detail{display:flex;align-items:flex-start;gap:7px;min-height:122px}
.empty-detail h3{font:600 19px/1.2 var(--ng-body);margin:0}
.panel .empty-detail p{font-size:13px;line-height:1.4;margin:0;color:#655133}
.empty-detail button{width:auto;min-width:150px;margin-top:2px}
.equipment-picker{padding:12px 14px;margin:0}
.equipment-picker-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-bottom:8px;border-bottom:1px solid #8c6b3940}
.equipment-picker-heading h3{font:600 20px/1.2 var(--ng-body);margin:0;color:#302317}
.equipment-picker-heading>span{font-size:12px;color:#775a35;white-space:nowrap}
.equipment-candidates{list-style:none;padding:0;margin:0}
.equipment-candidate{display:grid;grid-template-columns:42px minmax(0,1fr) 78px;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #8c6b392b}
.equipment-candidate:last-child{border-bottom:0;padding-bottom:0}
.candidate-icon{width:42px;height:42px;display:grid;place-items:center;padding:5px}
.candidate-icon .candidate-item-art{width:30px;max-width:100%;max-height:30px}
.candidate-copy{min-width:0}
.candidate-copy h4{font:600 17px/1.2 var(--ng-body);margin:0 0 3px;color:#302317;overflow-wrap:anywhere}
.panel .candidate-copy p{font:400 12px/1.35 var(--ng-body);margin:0;color:#655133}
.panel .candidate-copy .candidate-warning{margin-top:3px;color:#8e3c30}
.equipment-candidate>button{min-width:0;min-height:34px;padding:7px 9px;font-size:13px;line-height:1.2}
.panel .equipment-picker-empty{font-size:13px;line-height:1.4;color:#655133;margin:10px 0 1px}
.equipment-stats{gap:8px;margin:0 0 10px}
.equipment-stats .stat-card{min-height:43px;padding:9px 14px;gap:10px}
.equipment-stats .stat-card .ng-art{width:25px;max-height:26px}
.equipment-stats .stat-card strong{font:400 27px/1 var(--ng-title)}
.equipment-stats .stat-card small{font-size:12px;letter-spacing:.4px;text-transform:uppercase}
.equipment-stage{height:224px;margin:0 0 10px;background:radial-gradient(ellipse at 50% 59%,#47624c46 0,#14251c1c 48%,transparent 72%);border:1px solid #73817245;box-shadow:inset 0 2px 0 #07110d45}
.equipment-hero{top:22px;width:126px;height:178px}
.equipment-hero .ng-art{width:120px;max-height:176px}
.equipment-hero-label{top:-14px;font-size:10px;color:#b2b5a0;letter-spacing:.2px}
.equipment-slot{width:62px;height:46px;padding:5px 7px 13px;gap:1px}
.equipment-slot .equipment-item-art{width:27px;max-height:28px}
.equipment-slot.empty .equipment-item-art{opacity:.2;filter:grayscale(1)}
.equipment-slot .slot-label{position:absolute;bottom:5px;left:3px;right:3px;font-size:9px;line-height:1;text-align:center;color:#b7c2b0;white-space:nowrap}
.equipment-slot.occupied .slot-label{color:#ebd8ad}
.equipment-slot.slot-head{top:8px;left:18px}
.equipment-slot.slot-weapon{top:60px;left:18px}
.equipment-slot.slot-hands{top:112px;left:18px}
.equipment-slot.slot-belt{top:164px;left:18px}
.equipment-slot.slot-body{top:8px;right:18px}
.equipment-slot.slot-offhand{top:60px;right:18px}
.equipment-slot.slot-cloak{top:112px;right:18px}
.equipment-slot.slot-feet{top:164px;right:18px}
.equipment-slot.slot-backpack{bottom:7px;left:50%;width:68px;height:40px;padding:4px 6px 12px}
.equipment-slot.slot-backpack .equipment-item-art{width:25px;max-height:25px}
.equipment-slot .slot-broken{top:3px;bottom:auto;left:4px;font-size:8px;color:#ffb89a}
.panel .equipment-note{font-size:11px;color:#a4b09c;margin-top:8px;text-align:center}
.recipe{padding:13px 14px;margin-bottom:12px}
.recipe-output{gap:10px;min-height:45px;align-items:center}
.recipe-output-icon{position:relative;isolation:isolate;width:45px;height:45px;flex:none;display:grid;place-items:center;background:#1c2520;padding:6px}
.recipe-output-icon .recipe-icon{width:32px;max-height:33px}
.recipe h4{font-size:19px;line-height:1.15;margin:0 0 4px}
.recipe h4 .output-quantity{color:#6b4d27;white-space:nowrap;font-size:16px}
.recipe-meta{gap:6px}
.recipe .tier{font-size:9px;padding:2px 4px;border-color:#9c7d4c;color:#725733;text-transform:uppercase;letter-spacing:.3px}
.recipe-description{font-size:11px;line-height:1.25;color:#6e5432}
.recipe-input-label{display:flex;justify-content:space-between;gap:12px;font-size:9px;line-height:1;text-transform:uppercase;letter-spacing:.5px;color:#7b6039;padding:9px 0 5px}
.recipe-input-label>span:last-child{padding-right:23px}
.recipe .inputs{margin:0 0 7px}
.ingredient-row{min-height:27px;grid-template-columns:22px minmax(0,1fr) auto 14px;gap:8px;padding:3px 0;border-color:#a887512f}
.ingredient-art,.ingredient-art .ng-art{width:21px;max-height:22px}
.ingredient-name{font-size:13px;font-weight:400;line-height:1.2}
.ingredient-count{font-size:13px;line-height:1.2;font-weight:600}
.ingredient-check,.ingredient-check .ng-art{width:13px;max-height:14px}
.recipe .ingredient-row.ok{color:#496034}
.recipe .ingredient-row.missing{color:#963c32}
.recipe-work{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:6px;border-top:1px solid #a8875145}
.recipe .cost{margin:0;gap:7px 12px;flex:1;line-height:1.1;font-size:13px;min-width:0}
.recipe .cost>span{display:flex;align-items:center;gap:5px;white-space:nowrap}
.recipe .cost .ng-art{width:17px;max-height:20px}
.recipe .cost small{font-size:10px;color:#715632}
.recipe .actions-row{margin:0;gap:5px;flex:none}
.recipe .actions-row button{min-height:36px;padding:8px 14px;min-width:72px;font-size:13px;gap:3px;flex-direction:column;line-height:1}
.recipe .actions-row button[data-count="5"]{min-width:91px;padding-inline:10px}
.recipe .actions-row small{font-size:9px;opacity:.85;line-height:1;white-space:nowrap}
.recipe-reason{font-size:11px;line-height:1.3;color:#8d4f2d;margin-top:7px}
.recipe details{margin-top:7px;padding-top:5px;border-color:#a8875145}
.recipe summary{font-size:11px;line-height:1.3;padding:1px 0;color:#785c36}
.source-row{align-items:flex-start;gap:12px}
.source-row b{font-size:11px;min-width:80px;max-width:45%;line-height:1.3}
.source-row>span{justify-content:flex-end}
.source-row button,.recipe-sources>button{font-size:11px;padding:6px 8px;min-height:28px}
.recipe-sources p{font-size:11px!important;line-height:1.4}
.market-tabs.tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:10px}
.market-tabs button{display:flex;align-items:center;justify-content:center;gap:5px;font-size:14px;min-height:36px}
.trade-history-heading{margin:4px 2px 15px}.trade-history-heading .eyebrow{color:#cbb17c;font-size:10px;letter-spacing:1.4px}.trade-history-heading h3{margin:8px 0;color:#efdbac;font-size:22px}.trade-history-heading p{margin:0;color:#aab69f;font-size:13px;line-height:1.4}
.trade-receipt-meta{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;font-size:12px;color:#705433}.trade-side{padding:3px 8px;border:1px solid #82633c66;color:#374e3a;background:#7b875520}.trade-receipt[data-side=bought] .trade-side{color:#705029;background:#99713d18}.trade-receipt-meta time{font-variant-numeric:tabular-nums;text-align:right}
.trade-receipt-total{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;padding-top:9px;border-top:1px solid #8c6d3c50;color:#3b2b19}.trade-receipt-total>span{font-size:14px}.trade-receipt-total small{display:block;margin-top:3px;font-size:12px;color:#775b36}.trade-receipt-total strong{display:flex;align-items:center;gap:5px;font-size:23px;font-weight:600;white-space:nowrap}.trade-receipt-total .order-coin{width:20px;height:20px}
.trade-history-pages{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:16px}.trade-history-pages span{font-size:12px;color:#b6c0aa}.trade-history-pages button{min-height:36px;font-size:13px}.trade-history-empty{padding:20px}.trade-history-empty h4{margin:0 0 10px;font-size:20px}.trade-history-empty p{margin:0;font-size:15px;line-height:1.5}.trade-history-empty button{margin-top:12px}.trade-history-loading{padding:32px 10px;color:#d9c491;text-align:center}
.mobile-ui #panel .market-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.mobile-ui #panel .market-tabs button{min-width:0;min-height:44px;padding:7px 3px;font-size:13px}.mobile-ui .trade-history-heading h3{font-size:21px}.mobile-ui .trade-receipt-total strong{font-size:21px}
.market-caption{display:flex;justify-content:space-between;align-items:center;gap:10px;color:#aab69f;font-size:11px;line-height:1.4;margin:0 0 13px;padding:0 2px}
.market-caption>span:first-child{display:flex;align-items:center;gap:6px;white-space:nowrap}
.market-caption>span:last-child{text-align:right}
.market-caption b{font-size:15px;color:#e3cb93;font-weight:600}
.market-wallet-icon{width:19px;max-height:21px}
.market-filters{gap:5px;display:flex;flex-wrap:nowrap;margin:0 0 12px}
.market-filters button{flex:1;min-width:0;font-size:12px;min-height:31px;padding:6px 7px}
.market-item-picker{margin:0 0 14px;padding:9px 9px 0;background:#0c171338;border:1px solid #73817245;box-shadow:inset 0 2px 0 #07110d45}
.market-picker-heading{display:flex;justify-content:space-between;align-items:center;gap:8px;margin:0 2px 8px;color:#d6c297;font-size:12px}
.market-picker-heading small{color:#a7b39d;font-size:10px}
.market-item-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(40px,1fr));gap:5px;padding:3px}
.market-item{position:relative;isolation:isolate;display:grid;place-items:center;min-width:0;min-height:0;height:40px;padding:6px;background:#17241c;border:0;border-radius:0;box-shadow:none}
.market-item .market-picker-art{width:28px;height:28px;max-width:100%;max-height:100%}
.market-item-count{position:absolute;right:4px;bottom:3px;min-width:10px;padding:0 2px;background:#14221bea;color:#e6d2a5;font:600 10px/12px var(--ng-body);text-align:center;font-variant-numeric:tabular-nums;text-shadow:none;pointer-events:none}
.market-item[aria-pressed=true] .market-item-count{color:#c8ffff;background:#0c4449}
.market-item-selection{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:34px;margin:7px 2px 0;padding:5px 0;border-top:1px solid #73817235;font-size:11px;color:#a7b39d}
.market-item-selection>span{display:flex;align-items:center;gap:6px;min-width:0}
.market-item-selection b{color:#e7d1a0;font-size:13px;font-weight:500;overflow-wrap:anywhere}
.market-item-selection .ng-art{width:20px;height:20px;flex:none}
.market-item-selection button{flex:none;padding:5px 9px;min-height:27px;font-size:11px}
.market-item-selection button>span:last-child{margin-left:6px}
.panel .market-item-detail{display:grid;align-items:start;margin:0 0 16px}
.market-item-detail .detail-copy{min-width:0;align-self:center}
.market-item-detail h3{overflow-wrap:anywhere}
.panel .market-item-description,.panel .market-item-uses,.panel .market-item-note{grid-column:1/-1;margin:0;font-size:13px;line-height:1.45;color:#584127;overflow-wrap:anywhere}
.market-detail-stats{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:7px;margin:0}
.market-detail-stats>div{display:flex;align-items:baseline;justify-content:space-between;gap:4px 7px;flex:1 1 105px;min-width:0;padding:5px 7px;background:#74532313;border:1px solid #8c6b3930}
.market-detail-stats dt{font-size:11px;line-height:1.2;color:#705532}
.market-detail-stats dd{margin:0;font-size:16px;line-height:1.2;font-weight:600;color:#302317;overflow-wrap:anywhere}
.panel .market-item-note{font-size:11px;color:#705532}
@media(max-height:700px){.market-item-grid{grid-template-columns:repeat(auto-fill,minmax(32px,1fr));gap:4px}.market-item{height:32px;padding:4px}.market-item .market-picker-art{width:24px;height:24px}.market-item-picker{margin-bottom:10px}.market-picker-heading{margin-bottom:5px}}
.market-list-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:0 2px 9px;color:#b7c3ad;font-size:10px;text-transform:uppercase;letter-spacing:.6px}
.market-list-heading b{font-size:11px;font-weight:500;letter-spacing:0;color:#adbb9e}
.order{padding:12px 14px;margin:0 0 10px}
.order-product{display:flex;gap:10px;align-items:center;min-width:0}
.order-icon{position:relative;isolation:isolate;display:grid;place-items:center;width:46px;height:46px;background:#17241c;flex:none;padding:6px}
.order-icon .order-item-art{width:33px;max-height:34px}
.order-copy{flex:1;min-width:0}
.order h4{display:block;font-size:18px;line-height:1.2;margin:0 0 4px;overflow-wrap:anywhere}
.order-quantity{white-space:nowrap;font-size:15px;color:#6c502d}
.order-properties{font-size:11px;line-height:1.35;color:#715735;margin-bottom:3px;overflow-wrap:anywhere}
.order .subtle{font-size:11px;line-height:1.25;color:#705b3e;overflow-wrap:anywhere}
.order .subtle>span{padding-inline:3px;opacity:.6}
.order-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:8px;margin-top:9px;border-top:1px solid #97714135}
.order-price{display:flex;align-items:center;gap:9px;min-width:0}
.order-price small{font-size:10px;color:#775d3a;line-height:1.1}
.order-price b{display:flex;gap:5px;align-items:center;font-size:21px;line-height:1;color:#5e4123;font-variant-numeric:tabular-nums}
.order-price .order-coin{width:20px;max-height:22px}
.order-bottom button{font-size:12px;min-height:34px;padding:8px 16px;min-width:117px}
.market-refresh{min-height:34px;padding:8px 12px;font-size:12px;margin-top:2px}
.market-sell-form .sell-item-label{font-size:11px;color:#b9c2aa;margin:0 0 12px}
.market-sell-form .guild-select{min-height:60px;padding:11px 14px;margin-top:5px}
.market-sell-form .choice-copy b{font-size:16px}
.market-sell-form .choice-copy small{font-size:11px}
.sell-fields{gap:10px}
.sell-fields label{font-size:11px;color:#b9c2aa;margin-bottom:12px}
.sell-fields input{font-size:17px;font-weight:500;min-height:41px;padding:9px 11px;border-color:#84734f;background:#111d18;margin-top:5px}
.sale-preview{padding:12px 14px;margin:0 0 10px}
.sale-preview-title{display:flex;justify-content:space-between;align-items:center;gap:10px;padding-bottom:7px;border-bottom:1px solid #9b764241;color:#785831;font-size:9px;letter-spacing:.7px;line-height:1.2}
.sale-preview-title small{font-size:11px;letter-spacing:0;color:#7a5f3a;text-align:right}
.sale-preview-numbers{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:12px;align-items:start;padding-top:10px}
.sale-preview-numbers>*{min-width:0}
.sale-preview-amount+.sale-preview-amount{border-left:1px solid #9b764241;padding-left:12px}
.sale-preview-numbers small{display:block;font-size:11px;color:#7a5b36;line-height:1.1;margin-bottom:5px}
.sale-preview-numbers strong{display:flex;gap:7px;align-items:center;font-size:24px;line-height:1.15;color:#5e4124;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.sale-preview-numbers .sale-coin{width:23px;max-height:25px}
.sale-preview-numbers strong>span:last-child{min-width:0}
.sale-npc-reference{padding:8px 10px;border:1px solid #61745065;background:#6b80551a;box-shadow:inset 0 1px #f4e5b757}
.sale-preview-numbers .sale-npc-reference small{color:#4c613c;font-size:10px}
.sale-preview-numbers .sale-npc-reference strong{color:#3c512e;font-size:21px;gap:5px;flex-wrap:wrap}
.sale-preview-numbers .sale-npc-reference .sale-coin{width:18px;max-height:20px;flex-shrink:0}
.sale-preview-numbers .sale-npc-reference .sale-npc-unit{font-size:10px;font-weight:400;white-space:nowrap;color:#52613f}
.sale-npc-shop{display:block;margin-top:4px;font-size:10px;line-height:1.2;color:#596444}
.sale-preview-numbers .sale-npc-reference .sale-npc-unavailable{font-size:13px;font-weight:500;line-height:1.3}
.panel .sale-preview p{font-size:10px;line-height:1.35;color:#80633d;margin:7px 0 0}
.panel .sell-terms{font-size:11px;line-height:1.4;color:#a9b59d;margin:0 0 12px}
.market-sell-form button[type="submit"]{display:flex;align-items:center;justify-content:space-between;min-height:40px;padding:10px 16px;font-size:15px}
@media(max-width:1150px){
  .bag-overview{margin-bottom:9px}.bag-overview strong{font-size:21px}.bag-space small{font-size:10px}
  .inventory-tabs.tabs button{font-size:12px;padding-inline:5px;gap:3px}.tab-count{font-size:9px}
  .bag-tray{padding:8px 8px 0;margin-bottom:10px}.inventory-grid{gap:5px}.inventory-slot>.ng-art{width:32px;max-height:34px}
  .item-detail{grid-template-columns:52px minmax(0,1fr);gap:8px 10px;padding:12px}.detail-icon{width:52px;height:52px}.detail-icon .ng-art{width:39px;max-height:41px}.detail-copy h3{font-size:20px;margin-bottom:5px}
  .detail-actions button{font-size:12px;padding:8px;min-height:34px}.detail-actions .discard{font-size:10px;min-width:57px;padding-inline:7px}
  .recipe-work{gap:8px}.recipe .actions-row button{min-width:65px;padding-inline:10px}.recipe .actions-row button[data-count="5"]{min-width:84px}.recipe .cost{gap:5px 8px}
  .market-caption{font-size:10px}.market-filters button{font-size:11px;padding-inline:5px}.order h4{font-size:17px}.order-bottom button{min-width:109px}
}
@media(max-height:700px){
  .bag-overview{margin-bottom:8px}.bag-overview strong{font-size:21px}.inventory-tabs.tabs{margin-bottom:8px}.bag-tray{padding-top:7px;margin-bottom:9px}
  .item-detail{padding:12px;gap:8px 10px}.detail-copy h3{font-size:20px;margin:2px 0 5px}.detail-stats>span{padding:2px 5px}.detail-durability{margin-top:6px}.detail-actions button{min-height:33px;padding-block:7px}
  .equipment-stats{margin-bottom:8px}.equipment-stats .stat-card{min-height:39px;padding-block:7px}.equipment-stage{height:190px;margin-bottom:8px}
  .equipment-slot{height:38px;padding:4px 6px 12px}.equipment-slot .equipment-item-art{width:23px;max-height:24px}.equipment-slot.slot-head,.equipment-slot.slot-body{top:7px}.equipment-slot.slot-weapon,.equipment-slot.slot-offhand{top:51px}.equipment-slot.slot-hands,.equipment-slot.slot-cloak{top:95px}.equipment-slot.slot-belt,.equipment-slot.slot-feet{top:139px}.equipment-slot.slot-backpack{bottom:6px;height:32px}.equipment-slot.slot-backpack .equipment-item-art{width:21px;max-height:22px}
  .equipment-hero{top:17px;height:151px}.equipment-hero .ng-art{width:104px;max-height:150px}.panel .equipment-note{margin-top:6px}
  .recipe{padding:11px 12px;margin-bottom:10px}.recipe-output{min-height:41px}.recipe-output-icon{width:41px;height:41px}.recipe h4{font-size:18px}.recipe-input-label{padding-top:8px}.recipe-work{padding-top:5px}.recipe .actions-row button{min-height:33px;padding-block:7px}
  .market-caption{margin-bottom:8px}.market-tabs.tabs{margin-bottom:8px}.market-filters{margin-bottom:9px}.market-list-heading{margin-bottom:7px}.order{padding:10px 12px;margin-bottom:8px}.order-bottom{padding-top:6px;margin-top:7px}
  .market-sell-form .sell-item-label{margin-bottom:8px}.market-sell-form .guild-select{min-height:53px;padding-block:9px}.sell-fields label{margin-bottom:7px}.sell-fields input{min-height:36px;padding-block:7px}.sale-preview{padding:10px 12px;margin-bottom:8px}.sale-preview-numbers{padding-top:6px}.sale-preview-numbers strong{font-size:22px}.panel .sell-terms{margin-bottom:7px}.market-sell-form button[type="submit"]{min-height:37px}
}

/* Explain a server-locked action without making it executable. */
#panel button[data-duel-locked]{cursor:help;filter:saturate(.45);opacity:.78}
#panel button[data-duel-locked]:focus-visible{opacity:1;outline:2px solid #f2cd83;outline-offset:3px}
#toast.duel-lock-toast{display:grid;grid-template-columns:26px minmax(0,1fr);align-items:start;gap:11px;width:400px;max-width:calc(100vw - 28px);padding:13px 16px;text-align:left;background:#28352df5;border:1px solid #c8a96d;color:#f0e0c0;pointer-events:none;box-sizing:border-box}
#toast.duel-lock-toast[hidden]{display:none}
#toast.duel-lock-toast .duel-lock-icon{width:26px;height:29px;margin-top:2px}
#toast.duel-lock-toast .duel-lock-copy{min-width:0}
#toast.duel-lock-toast .duel-lock-copy>b{display:block;font-size:12px;line-height:1.25;letter-spacing:1px;color:#e9c785;margin-bottom:4px}
#toast.duel-lock-toast .duel-lock-copy>span{display:block;font-size:15px;line-height:1.3}
#toast.duel-lock-toast [data-duel-notice-time]{color:#ffe2a2;font-variant-numeric:tabular-nums;white-space:nowrap}
#toast.duel-lock-toast small{display:block;margin-top:5px;font-size:12px;line-height:1.35;color:#c2c7ac}

/* All 16 bag + 8 market cells stay visible beside the selected item on short
   desktop screens. Mobile keeps its independent stacked touch layout. */
@media(min-width:1024px) and (max-height:740px){
 body:not(.mobile-ui) #panel[data-view=inventory]{width:800px;max-width:calc(100vw - 32px)}
 body:not(.mobile-ui) #panel[data-view=inventory] .panel-body{display:grid;grid-template-columns:minmax(440px,1fr) 240px;gap:10px;align-items:start;align-content:start}
 body:not(.mobile-ui) #panel[data-view=inventory] .bag-overview,body:not(.mobile-ui) #panel[data-view=inventory] .inventory-tabs{grid-column:1/-1;margin:0}
 body:not(.mobile-ui) #panel[data-view=inventory] .bag-tray{grid-column:1;margin:0}
 body:not(.mobile-ui) #panel[data-view=inventory] .item-detail{grid-column:2;min-width:0;grid-template-columns:46px minmax(0,1fr);gap:8px}
 body:not(.mobile-ui) #panel[data-view=inventory] .detail-icon{width:46px;height:46px}
 body:not(.mobile-ui) #panel[data-view=inventory] .detail-icon .ng-art{width:35px;max-height:37px}
 body:not(.mobile-ui) #panel[data-view=inventory] .detail-actions{flex-wrap:wrap}
 body:not(.mobile-ui) #panel[data-view=inventory] .detail-actions button{flex:1 1 90px}
 body:not(.mobile-ui) #panel[data-view=inventory] .detail-kicker{flex-wrap:wrap}
}
