.gear-module { min-width:0; }
.gear-module h2 { font-size:1.24rem; margin-bottom:10px; }
.gear-module h3 { font-size:1.07rem; margin-bottom:9px; }
.gear-head { align-items:end; }
.gear-panel { padding:clamp(14px,2vw,22px); }
.gear-layout { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(0,1fr); gap:16px; align-items:start; }
.gear-stat-layout { grid-template-columns:repeat(2,minmax(0,1fr)); }
.gear-filters { display:grid; grid-template-columns:minmax(170px,1.7fr) repeat(4,minmax(104px,1fr)); gap:12px; align-items:end; }
.gear-bis-controls { grid-template-columns:repeat(5,minmax(85px,1fr)); }
.gear-bis-controls .gear-check { grid-column:1/-1; }
.gear-filters .field input,.gear-filters .field select { width:100%; }
.gear-actions { display:flex; align-items:end; flex-wrap:wrap; gap:9px 12px; }
.gear-actions .gear-link { align-self:center; }
.gear-items-action,.gear-bis-modes { grid-column:1/-1; }
.gear-source { margin:16px 0 0; color:var(--muted); font-size:.88rem; overflow-wrap:anywhere; }
.gear-link { white-space:normal; text-decoration:none; }
.gear-link:hover { text-decoration:underline; }
.gear-results-meta { margin:15px 0 10px; color:var(--muted); min-height:1.5em; font-size:.91rem; }
.gear-results { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
.gear-results > .empty { grid-column:1/-1; }
.gear-module .gear-item { text-align:left; display:grid; grid-template-columns:38px minmax(0,1fr) auto; gap:10px; align-items:center;
  min-height:75px; padding:11px; color:var(--fg); }
.gear-module .gear-item:hover,.gear-choice:hover,.gear-slot:hover:not(:disabled) { border-color:#8a6c43; background:#2b2a20; }
.gear-item-mark,.gear-slot-icon { display:grid; place-items:center; width:38px; height:38px; background:#2b271d; border:1px solid #4f422a;
  border-radius:8px; color:var(--gold); font-size:1.24rem; overflow:hidden; flex:none; }
.gear-item-mark img { width:100%; height:100%; object-fit:cover; }
.gear-item-body { min-width:0; }
.gear-item-body > *,.gear-slot strong,.gear-slot small,.gear-choice > * { display:block; overflow-wrap:anywhere; }
.gear-item-body small,.gear-item-summary,.gear-slot small,.gear-choice small,.gear-choice > span { color:var(--muted); font-size:.86rem; }
.gear-item-arrow { color:var(--gold); padding-right:3px; font-size:1.4rem; }
.gear-more { justify-content:center; margin:12px 0; }
.gear-plan-tools { display:flex; justify-content:space-between; align-items:end; gap:12px; flex-wrap:wrap; margin-bottom:16px; }
.gear-plan-tools input { width:79px; }
.gear-plan-tools .badge { align-self:center; }
.gear-panel-title { display:flex; justify-content:space-between; gap:8px; align-items:baseline; flex-wrap:wrap; }
.gear-panel-title .muted { font-size:.88rem; }
.gear-slots { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.gear-slot { background:#1a1b16; border:1px solid var(--border); border-radius:8px; text-align:left; padding:8px; color:var(--fg);
  display:grid; grid-template-columns:33px minmax(0,1fr); gap:8px; align-items:center; min-height:56px; min-width:0; }
.gear-slot .gear-slot-icon,.gear-slot .gear-item-mark { width:33px; height:33px; font-size:1rem; }
.gear-slot:not(.is-filled) strong { color:var(--muted); font-size:.92rem; font-weight:500; }
.gear-slot.is-filled .gear-slot-icon { background:#3e3220; }
.gear-slot small.gear-negative,.gear-negative { color:#efaaa2; }
.gear-positive { color:#a9cb93; }
.gear-dl { margin:9px 0 14px; }
.gear-dl > div { display:flex; justify-content:space-between; gap:12px; align-items:baseline; border-bottom:1px solid var(--border); padding:6px 0; }
.gear-dl dd { margin:0; text-align:right; font-variant-numeric:tabular-nums; }
.gear-dl dd small { display:inline-block; margin-left:10px; }
.gear-set,.gear-effect { padding:8px 10px; background:#302b1f; border:1px solid #4b4029; border-radius:8px; color:#ebd3aa; margin:9px 0; }
.gear-bis-note,.gear-glossary { margin-top:16px; }
.gear-bis-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:16px; }
.gear-bis-list > .empty { grid-column:1/-1; }
.gear-bis-list h3 { display:flex; align-items:center; gap:8px; }
.gear-bis-list h3 svg { color:var(--gold); flex:none; }
.gear-bis-plan { margin-top:10px; }
.gear-choice { display:block; color:var(--fg); width:100%; padding:9px 10px; margin-top:6px; background:#1a1b16;
  border:1px solid var(--border); border-radius:8px; text-align:left; min-height:47px; }
.gear-bis-choice { display:grid; grid-template-columns:38px minmax(0,1fr); gap:10px; align-items:start; }
.gear-bis-choice.is-top { border-color:#55482d; background:linear-gradient(125deg,#2f2b21,#20211b); }
.gear-choice-copy > * { display:block; overflow-wrap:anywhere; }
.gear-choice-copy strong { font-size:.98rem; }
.gear-choice-source { font-size:.84rem; color:#d7c6a6; margin-top:3px; }
.gear-alternatives { margin-top:10px; }
.gear-alternatives > summary { padding:6px 4px; min-height:33px; color:var(--gold); }
.gear-rating-form { display:grid; gap:8px; }
.gear-rating-row { display:grid; grid-template-columns:minmax(120px,1fr) minmax(72px,auto) minmax(65px,auto); align-items:end; gap:10px; }
.gear-rating-row span,.gear-rating-row output { padding-bottom:10px; }
.gear-rating-row output { color:var(--gold); text-align:right; font-variant-numeric:tabular-nums; }
.gear-rating-row input { width:100%; }
.gear-glossary details { border-top:1px solid var(--border); padding:10px 0; }
.gear-glossary details p { padding:9px 0 0 15px; color:var(--muted); }
.gear-dialog { width:min(620px,calc(100% - 24px)); max-height:calc(100dvh - 26px); padding:0; border:1px solid #5b4c34;
  border-radius:14px; background:#23231d; color:var(--fg); }
.gear-dialog::backdrop { background:#000b; }
.gear-dialog-body { padding:clamp(14px,3vw,23px); }
.gear-dialog-body > header { display:flex; align-items:start; justify-content:space-between; gap:8px; }
.gear-dialog-body > header h2 { margin:0; overflow-wrap:anywhere; }
.gear-detail-title,.gear-wishlist-item { display:flex; align-items:center; gap:10px; min-width:0; }
.gear-item-sources { padding:10px 12px; margin:10px 0; border-radius:8px; border:1px solid var(--border); background:var(--surface); }
.gear-item-sources h3 { margin:0; font-size:1rem; }
.gear-item-sources ul { padding-left:20px; margin:6px 0; }
.gear-item-sources .gear-source { margin-top:4px; }
.gear-close { min-width:42px; }
.gear-dialog-body .gear-meta { color:var(--gold); }
.gear-picker-search { margin:10px 0; }
.gear-picker-list { max-height:min(51vh,460px); overflow:auto; padding-right:4px; }
.gear-check { display:flex; align-items:center; gap:7px; min-height:31px; color:var(--muted); }
.gear-action { display:flex; align-items:end; flex-wrap:wrap; gap:8px 12px; }
.gear-track-actions,.gear-back { margin-top:10px; }
.gear-preview { margin-top:12px; padding:11px 13px; border:1px solid var(--border); border-radius:8px; background:#1a1b16; }
.gear-preview h3 { font-size:1rem; margin-bottom:6px; }
.gear-preview .gear-dl { margin-bottom:0; }
.gear-wishlist-header,.gear-wishlist-row { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px 18px; }
.gear-wishlist-header progress { width:min(180px,100%); accent-color:var(--gold); }
.gear-wishlist-filter { width:140px; margin:16px 0 10px; }
.gear-wishlist-row { border-top:1px solid var(--border); padding:12px 0; }
.gear-wishlist-row p { margin:3px 0 5px; }
.gear-wishlist-row .gear-actions { align-items:center; }
.gear-wishlist-row .gear-check { min-height:40px; cursor:pointer; }
.gear-wishlist-name { background:none; border:0; padding:4px 0; min-height:32px; color:var(--fg); text-align:left; font-weight:650; }
.gear-wishlist-name:hover { text-decoration:underline; text-underline-offset:3px; }
.gear-wishlist-empty { margin-top:12px; }
.gear-manual { display:grid; gap:9px; }
.gear-manual-stats { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; padding-top:8px; }
.gear-manual-stats input { width:100%; }
.gear-optional { background:#1a1b16; border:1px solid var(--border); border-radius:8px; padding:10px; }
.gear-quality.q-1 { color:#f1ede3; }
.gear-quality.q-2 { color:#a8cd8a; }
.gear-quality.q-3 { color:#91b6ff; }
.gear-quality.q-4 { color:#d8adfc; }
.gear-quality.q-5,.gear-quality.q-6 { color:#f5bd7b; }

@media (max-width:1050px) {
  .gear-bis-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .gear-filters,.gear-bis-controls { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .gear-search { grid-column:span 2; }
}
@media (max-width:760px) {
  .gear-layout,.gear-stat-layout { grid-template-columns:1fr; }
  .gear-head { align-items:start; }
}
@media (max-width:500px) {
  .gear-results,.gear-bis-list { grid-template-columns:1fr; }
  .gear-filters,.gear-bis-controls { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .gear-search { grid-column:1/-1; }
  .gear-rating-row { gap:7px; }
  .gear-manual-stats { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
