/* Sac et équipement partagent le même écran ; aucune règle immersive ici. */
.arsenal-panel {
  width:min(1320px,calc(100vw - 28px)); height:min(820px,calc(100dvh - 28px));
  padding:22px; font-family:Inter,Bahnschrift,"Segoe UI",sans-serif;
}
.arsenal-panel .profile-panel-head p { font-size:12px;max-width:460px;text-align:left; }
.arsenal-panel .profile-panel-head small { font-size:10px; }
.arsenal-panel .profile-panel-head h2 { font-size:24px; }
.arsenal-panel .arsenal-layout {
  grid-template-columns:minmax(440px,1.35fr) minmax(340px,1fr);
  height:calc(100% - 78px);gap:16px;padding-top:16px;
}
.arsenal-panel .arsenal-equipment { --equipment-side:100px;min-height:0;min-width:0;display:flex;flex-direction:column;gap:8px;overflow:auto;scrollbar-width:thin;overscroll-behavior:contain; }
.equipment-head { display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 2px;flex:none; }
.equipment-head small,.bag-head small { color:#719ba7;font-size:10px;letter-spacing:.15em; }
.equipment-head h3,.bag-head h3 { margin:3px 0 5px;font-size:21px;letter-spacing:.03em; }
.equipment-head>b { color:#6ce8ff;font-size:12px; }
.equipment-slots { position:absolute;inset:36px 8px 40px;display:grid;grid-template-columns:var(--equipment-side) minmax(0,1fr) var(--equipment-side);grid-template-rows:repeat(var(--equipment-rows),minmax(0,1fr));gap:5px;pointer-events:none;z-index:2; }
.equipment-slot {
  pointer-events:auto;min-width:0;min-height:64px;display:grid;grid-template-columns:36px minmax(0,1fr);grid-template-rows:auto auto;align-items:center;gap:3px 4px;
  padding:5px;color:#76929c;background:#08141c;border:1px dashed #345360;border-radius:5px;text-align:left;
}
.equipment-slot.filled { border:1px solid #38626f;background:linear-gradient(145deg,#12303c,#0b1922);color:#d7eef5; }
.equipment-slot small { grid-column:1/-1;min-height:13px;font:600 10px/1.2 Inter,Bahnschrift,"Segoe UI",sans-serif;color:#8cb5c0; }
.equipment-item-label { min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:1px; }
.equipment-item-label>b { max-width:100%;font-size:9px;line-height:1.1;overflow-wrap:anywhere; }
.weapon-level { display:inline-flex;flex-direction:column;align-items:flex-end;gap:2px;pointer-events:none; }
.weapon-level-label { color:#b0c6cd;font:600 9px/1 Inter,Bahnschrift,"Segoe UI",sans-serif;letter-spacing:.02em; }
.weapon-level-bars { display:flex;gap:3px;padding-right:2px; }
.weapon-level-bars i { display:block;width:3px;height:8px;background:#233c48;border:1px solid #42616d;transform:skewX(-24deg); }
.weapon-level-bars i.complete { background:#8dd9d0;border-color:#a8e9e0; }
.equipment-item-label .weapon-level { align-items:flex-start;gap:1px; }
.equipment-item-label .weapon-level-label { font-size:8px; }
.equipment-item-label .weapon-level-bars i { height:6px; }
.inventory-item-image { display:grid;place-items:center;min-width:0; }
.equipment-slot .inventory-item-image { width:36px;height:36px; }
.inventory-item-image i { font-style:normal;font-size:24px;color:#6ce8ff; }
.inventory-item-image img { width:100%;height:100%;object-fit:contain; }
.inventory-item-canvas { width:100%;height:100%;cursor:grab;touch-action:none; }
.inventory-item-canvas:active { cursor:grabbing; }
.item-3d .inventory-item-image>img { display:none; }
.equipment-slot.compatible { border:2px solid #91f7c0;background:#183e35;box-shadow:0 0 14px #6be5a633,inset 0 0 14px #6be5a617; }
.equipment-slot.compatible small { color:#aaf9cb; }
.equipment-slot.drop-hover { background:#256044;box-shadow:0 0 18px #91f7c077; }
.inventory-drag-ghost { position:fixed;z-index:1000;pointer-events:none;display:flex;align-items:center;gap:8px;max-width:190px;padding:12px;color:#e2f6ff;background:#102d3aee;border:1px solid #91f7c0;border-radius:5px;box-shadow:0 8px 25px #0009;font:600 12px/1.3 Inter,Bahnschrift,"Segoe UI",sans-serif; }
.inventory-drag-ghost i { color:#6ce8ff;font-size:23px;font-style:normal; }
.inventory-drag-ghost img { width:36px;height:36px;object-fit:contain; }
.equipment-help,.bag-help { margin:10px 0 0;color:#87a4ae;font-size:11px;line-height:1.5; }
.equipment-footer { display:flex;align-items:center;justify-content:space-between;gap:10px;flex:none; }
.equipment-footer .equipment-help { margin:0; }
.inventory-reset { flex:none;margin:0;padding:8px;border:1px solid #a4773c;color:#f8c98a;background:#2a2119;font:600 10px/1.3 Inter,Bahnschrift,"Segoe UI",sans-serif;border-radius:4px; }
.arsenal-panel .arsenal-character-stage { position:relative;flex:1 0 calc(var(--equipment-rows) * 66px + 76px);min-height:calc(var(--equipment-rows) * 66px + 76px);background:radial-gradient(ellipse at center,#17323e,#080e15 72%); }
.arsenal-panel #arsenal-preview { position:absolute;left:calc(var(--equipment-side) + 20px);top:30px;width:calc(100% - var(--equipment-side) * 2 - 40px);height:calc(100% - 64px); }
.arsenal-panel .arsenal-character-label { left:calc(var(--equipment-side) + 20px);right:calc(var(--equipment-side) + 20px);bottom:8px;padding:6px 8px;z-index:3;pointer-events:none; }
.arsenal-panel .arsenal-character-label small { font-size:9px;line-height:1.4; }
.arsenal-panel .arsenal-character-label b { font-size:12px;letter-spacing:.04em; }
.arsenal-panel .arsenal-preview-actions { z-index:3;justify-content:center; }
.arsenal-panel .arsenal-preview-actions button { font-size:9px;padding:6px; }
.arsenal-panel .arsenal-weapon-stage { flex:0 0 88px;min-height:88px; }
.arsenal-panel .arsenal-weapon-stage small { font-size:9px;line-height:1.4; }
.arsenal-panel .arsenal-weapon-stage b { font-size:11px;letter-spacing:.03em; }
.arsenal-panel .arsenal-inventory { min-height:0;min-width:0;display:flex;flex-direction:column;gap:10px;overflow:hidden;padding:0; }
.bag-head { display:flex;justify-content:space-between;align-items:center; }
.bag-head>b { color:#85b1bf;font-size:11px;font-weight:500; }
.bag-search { display:flex;align-items:center;gap:8px;padding:8px 11px;border:1px solid #2a4b59;background:#06141d;border-radius:5px;color:#6ce8ff; }
.bag-search>span { font-size:23px;line-height:1; }
.bag-search input { width:100%;min-width:0;border:0;background:transparent;color:#e2f6ff;outline:none;font:12px/1.4 Inter,Bahnschrift,"Segoe UI",sans-serif; }
.bag-search:focus-within { border-color:#6ce8ff; }
.bag-filters { display:flex;gap:5px;flex-wrap:wrap; }
.bag-filters button { padding:7px 9px;border:1px solid #2a4a58;border-radius:4px;background:#0a1a24;color:#8bb2bf;font:600 11px/1.2 Inter,Bahnschrift,"Segoe UI",sans-serif; }
.bag-filters button[aria-pressed="true"] { background:#215264;border-color:#6ce8ff;color:#edfbff; }
.bag-kit-filter { display:flex;align-items:center;gap:10px;color:#8bb2bf;font-size:11px; }
.bag-kit-filter select { flex:1;min-width:0;padding:6px 8px;background:#0a1a24;color:#d6f6ff;border:1px solid #2a4a58;border-radius:4px;font:12px Inter,Bahnschrift,"Segoe UI",sans-serif; }
.inventory-item-image:has(canvas[aria-busy="true"]) { position:relative; }
.inventory-item-image:has(canvas[aria-busy="true"])::after { content:"3D…";position:absolute;inset:0;display:grid;place-items:center;color:#9bcada;font-size:11px; }
.bag-grid {
  display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;align-content:start;flex:1;min-height:130px;
  padding:8px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;border:1px solid #294c5b;border-radius:6px;background:#050f17;
}
.bag-item,.bag-cell-empty { min-width:0;min-height:128px;border:1px solid #294754;border-radius:4px;background:#0b1c26; }
.bag-cell-empty { background:linear-gradient(145deg,#09161f,#071018);border-color:#1a303b; }
.bag-item { position:relative;display:flex;flex-direction:column;gap:4px;align-items:center;justify-content:center;padding:7px 5px;color:#d1edf5;text-align:center;cursor:grab; }
.bag-item>.weapon-level { position:absolute;top:7px;right:7px; }
.bag-item,.equipment-slot { user-select:none; }
.bag-item>i { display:grid;place-items:center;height:32px;font-size:28px;font-style:normal;color:#6ce8ff; }
.bag-item .inventory-item-image { height:64px;width:100%;flex-shrink:0; }
.bag-item.item-3d { grid-column:span 2;min-height:214px; }
.bag-item.item-3d .inventory-item-image { height:150px; }
.bag-kit-title { grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:8px;margin:10px 0 0;padding:10px 2px 8px;border-bottom:1px solid #3c6878;color:#d6f6ff;font-size:13px; }
.bag-kit-title:first-child { margin-top:0; }
.bag-kit-title small { color:#86aebc;font-size:10px;font-weight:400; }
.bag-kind-title { grid-column:1/-1;margin:1px 0;color:#89c4d7;font-size:10px;text-transform:uppercase;letter-spacing:.12em; }
.bag-inspector { position:relative;flex:0 1 clamp(110px,20vh,160px);height:clamp(110px,20vh,160px);min-height:80px;background:radial-gradient(ellipse,#1d3d4b,#08121c);border:1px solid #547c8b;border-radius:5px; }
.bag-inspector[hidden] { display:none; }
.arsenal-panel .arsenal-inventory:has(.bag-inspector:not([hidden])) { gap:6px; }
.arsenal-inventory:has(.bag-inspector:not([hidden])) .bag-grid { min-height:48px; }
.bag-inspector small { position:absolute;bottom:6px;left:0;right:0;text-align:center;color:#8cb4c3;pointer-events:none;font-size:9px; }
.bag-inspector .inventory-item-canvas { height:calc(100% - 22px); }
.bag-item>b { max-width:100%;font-size:10px;line-height:1.3;overflow-wrap:anywhere; }
.bag-item>small { color:#7199a6;font-size:9px;line-height:1.3; }
.bag-item>em { position:absolute;right:5px;top:4px;color:#f7c677;font-size:11px;font-style:normal; }
.bag-item.unavailable { cursor:pointer;background:#121b22;border-color:#354049; }
.bag-item.unavailable>i { color:#778b96; }
.bag-item.selected { border-color:#f5c577;box-shadow:inset 0 0 0 1px #f5c577;background:#29281f; }
.bag-grid.accepts-return { border:2px solid #91f7c0;box-shadow:inset 0 0 24px #6be5a62b; }
.bag-grid.accepts-return::before { content:"Déposer dans le sac pour ranger";grid-column:1/-1;color:#aaf9cb;font-size:12px;text-align:center;padding:6px; }
.bag-selection { display:flex;gap:10px;align-items:center;min-height:88px;padding:12px;background:#10252f;border:1px solid #305260;border-radius:5px; }
.bag-selection>i { font-size:26px;font-style:normal;color:#6ce8ff; }
.bag-selection>img { height:40px;width:40px;object-fit:contain; }
.bag-selection>div { flex:1;min-width:0; }
.bag-selection b { font-size:12px; }
.bag-selection p,.bag-selection small { margin:4px 0 0;color:#91acb6;font-size:11px;line-height:1.4; }
.bag-selection small { display:block; }
.bag-selection .weapon-level { margin-top:5px;align-items:flex-start; }
.bag-selection button { padding:10px 12px;color:#03171e;background:#79e5f4;border:1px solid #a5f4ff;border-radius:4px;font:700 12px/1.2 Inter,Bahnschrift,"Segoe UI",sans-serif; }
.bag-selection { flex-wrap:wrap; }
.bag-selection .inventory-inspect { padding:8px;color:#bcebf6;background:#193d4d;border-color:#47798a;font-size:10px; }
.bag-help { margin:0; }
.bag-no-results { grid-column:1/-1;color:#89a9b7;font-size:13px;padding:20px 6px;text-align:center; }
.arsenal-panel button:focus-visible { outline:2px solid #e1fbff;outline-offset:2px; }
.equipment-slot:hover,.bag-item:hover { border-color:#6ce8ff; }
.arsenal-panel .dragging { opacity:.35; }
.inventory-busy .equipment-slot,.inventory-busy .bag-item { opacity:.6;cursor:wait; }
@media(max-width:1100px) {
  .arsenal-panel .arsenal-layout { grid-template-columns:minmax(380px,1.15fr) minmax(290px,1fr);gap:10px; }
  .arsenal-panel .arsenal-equipment { --equipment-side:88px; }
  .bag-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:850px) {
  .arsenal-panel { overflow:auto;padding:18px; }
  .arsenal-panel .profile-panel-head { align-items:start; }
  .arsenal-panel .profile-panel-head p { display:none; }
  .arsenal-panel .arsenal-layout { height:auto;grid-template-columns:minmax(0,1fr); }
  .arsenal-panel .arsenal-equipment { overflow:visible; }
  .arsenal-panel .arsenal-inventory { overflow:visible; }
  .arsenal-panel .arsenal-character-stage { flex-basis:calc(var(--equipment-rows) * 64px + 80px); }
  .bag-grid { flex:none;max-height:420px; }
}
@media(max-width:560px) {
  .arsenal-panel { width:calc(100vw - 16px);height:calc(100dvh - 16px);padding:14px; }
  .arsenal-panel .arsenal-layout { display:flex;flex-direction:column; }
  .arsenal-panel .arsenal-equipment { --equipment-side:76px; }
  .equipment-slot { padding:4px;grid-template-columns:28px minmax(0,1fr); }
  .equipment-slot .inventory-item-image { width:28px;height:32px; }
  .equipment-slot>i { font-size:18px; }
  .equipment-slot small { font-size:9px; }
  .arsenal-panel .arsenal-inventory { order:1; }
  .equipment-footer { flex-wrap:wrap; }
  .bag-grid { grid-template-columns:repeat(3,minmax(0,1fr));max-height:390px; }
  .bag-filters button { min-height:40px;flex:1; }
  .bag-selection button { min-height:44px; }
}
