/* Scoped to the generator: weapon detail cards keep their existing styling. */
.wb {--wb-edge:#3e4231;width:100%;min-width:0;max-width:1500px;margin:auto;color:var(--text)}
.wb button{font-family:var(--font-body);text-transform:none;letter-spacing:0;border-radius:2px;box-shadow:none}
.wb button:focus-visible,.wb summary:focus-visible{outline:2px solid var(--amber-2);outline-offset:4px}
.wb-kicker{font:600 11px/1.5 var(--font-body);letter-spacing:1.6px;color:var(--amber);margin:0 0 8px;text-transform:uppercase}
.wb-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:6px 0 24px}
.wb-header h1{font:800 clamp(36px,3.5vw,58px)/.98 var(--font-head);letter-spacing:.2px;margin:0}
.wb-header h1 em{font-style:normal;color:var(--amber-2)}
.wb-intro{font-size:15px;color:var(--muted);margin:12px 0 0}
.wb-stamp{font:700 11px/1.8 var(--font-body);letter-spacing:2px;color:var(--faint);border-left:2px solid var(--line);padding:0 0 0 17px;white-space:nowrap}
.wb-stamp b{font:10px var(--font-mono);letter-spacing:1px}
.wb-roles{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));border:1px solid var(--wb-edge);background:#141610}
.wb-roles button{border:0;border-right:1px solid var(--wb-edge);border-bottom:3px solid transparent;background:transparent;display:flex;align-items:center;justify-content:center;gap:10px;position:relative;padding:20px 10px;color:var(--muted);font-size:17px;font-weight:600;min-width:0}
.wb-roles button:last-child{border-right:0}.wb-roles svg{width:25px;height:25px;flex-shrink:0}.wb-roles small{font:9px var(--font-mono);position:absolute;top:6px;left:8px;color:var(--faint)}
.wb-roles button[aria-pressed=true]{background:linear-gradient(0deg,#e2ac2b16,transparent);color:var(--amber-2);border-bottom-color:var(--amber)}
.wb-roles button:hover{background:#e2ac2b0b;color:var(--text)}
.wb-toolbar{display:flex;align-items:center;gap:24px;padding:18px 0;border-bottom:1px solid var(--line);margin-bottom:24px}
.wb-toolbar label{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--muted);margin:0;white-space:nowrap}.wb-toolbar select{font:700 20px var(--font-head);color:var(--text);border:1px solid var(--wb-edge);padding:9px 30px 9px 12px;min-width:110px;background-color:#1a1d14;width:auto}
.wb-profile-mini{display:flex;flex-direction:column;gap:4px;flex:1;font-size:12px;color:var(--muted)}
.wb #lo-profile{font-size:11px;color:var(--faint)}.wb #lo-profile.wb-save-error{color:var(--red)}
.wb .wb-subtle{background:transparent;border:0;color:var(--muted);padding:7px 0;font-size:12px}.wb .wb-subtle:hover{color:var(--amber-2)}.wb-subtle span{margin-left:8px}
.wb-settings{background:var(--panel);border:1px solid var(--line);padding:22px;margin:-8px 0 22px}.wb-settings-head{display:flex;gap:20px;align-items:center;justify-content:space-between}.wb-settings-head p{font-size:12px;color:var(--muted);margin:6px 0 14px}.wb-settings button{font-size:12px}.wb-levels{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px}.wb-levels label{font-size:12px;color:var(--muted)}.wb-levels input{display:block;width:100%;margin-top:5px;padding:8px;color:var(--text);background:var(--bg);border:1px solid var(--line);font-family:var(--font-mono)}
.wb-section-label{display:flex;justify-content:space-between;gap:20px;font:600 10px/1.4 var(--font-body);letter-spacing:1.3px;color:var(--muted);margin-bottom:12px}.wb-section-label>span:last-child{font-size:11px;letter-spacing:0;font-weight:400;color:var(--faint)}
.wb-workspace{display:grid;grid-template-columns:minmax(235px,.9fr) minmax(0,2.2fr);gap:18px;align-items:stretch}
.wb-options{display:flex;flex-direction:column;gap:12px}
.wb .wb-option{display:flex;flex-direction:column;text-align:left;background:#171a13;border:1px solid var(--line);padding:16px;flex:1;min-height:154px;color:var(--text);position:relative;transition:background .15s,border-color .15s}
.wb .wb-option[aria-pressed=true]{border-color:#a98b3a;background:linear-gradient(130deg,#e2ac2b16,#181b13 80%);box-shadow:inset 3px 0 var(--amber)}.wb .wb-option:hover{border-color:var(--amber);background-color:#20241a}
.wb-option-top{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:11px;color:var(--muted)}.wb-option-top b{color:var(--amber)}
.wb-option img{width:90%;height:64px;object-fit:contain;align-self:center;margin:8px 0;filter:drop-shadow(0 5px 8px #0009)}
.wb-option-bottom{display:flex;align-items:end;justify-content:space-between;gap:10px;margin-top:auto}.wb-option-bottom>span{min-width:0}.wb-option-bottom strong{display:block;font:700 24px/1 var(--font-head)}.wb-option-bottom small{display:block;font-size:10px;color:var(--faint);margin-top:6px}.wb-option-bottom>b{font:600 15px var(--font-head);white-space:nowrap;color:var(--muted)}
.wb-kit{border:1px solid var(--wb-edge);background:linear-gradient(145deg,#24281b,#171a13 65%);min-width:0;display:flex;flex-direction:column;overflow:hidden}
.wb-kit-head{display:flex;align-items:flex-start;justify-content:space-between;padding:24px 28px 0;gap:12px}.wb-kit-head .wb-kicker{font-size:10px;color:var(--muted)}.wb-kit-head h2{font:800 48px/1 var(--font-head);margin:3px 0 0;letter-spacing:.5px}
.wb-view-switch{display:flex;border:1px solid var(--wb-edge);flex-shrink:0}.wb-view-switch button{border:0!important;background:transparent;color:var(--faint);font-size:11px;padding:7px 12px}.wb-view-switch button[aria-pressed=true]{color:var(--amber-2);background:#e2ac2b12}
.wb-stage{position:relative;height:220px;min-height:180px;flex:1;background-image:radial-gradient(ellipse at center,#959c8417,transparent 66%),linear-gradient(#959c8406 1px,transparent 1px),linear-gradient(90deg,#959c8406 1px,transparent 1px);background-size:auto,36px 36px,36px 36px;margin:0 20px}
.wb-stage:before,.wb-stage:after{content:'+';position:absolute;font:14px var(--font-mono);color:#959c8466;z-index:1;pointer-events:none}.wb-stage:before{top:17px;left:0}.wb-stage:after{bottom:13px;right:0}
.wb .wb-hero-weapon{height:100%;width:100%;padding:24px 22px 32px;background:transparent;border:0;display:flex;align-items:center;justify-content:center;position:relative;z-index:1}.wb-hero-weapon img{object-fit:contain;width:100%;height:100%;max-height:195px;filter:drop-shadow(4px 14px 9px #000a);transition:transform .2s}.wb-hero-weapon:hover img{transform:translateY(-4px)}
.wb-inspect-hint{position:absolute;bottom:4px;font:600 9px var(--font-body);letter-spacing:1.4px;color:var(--faint)}.wb-stage-mark{position:absolute;bottom:14px;left:10px;color:#b6baa935;font:10px/1.7 var(--font-mono);letter-spacing:1px;pointer-events:none}.wb #wb-model{position:absolute;inset:0;min-height:0;height:100%;width:100%;background:transparent}.wb #wb-model canvas{height:100%;width:100%}
.wb-stage-caption{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 28px 16px;color:var(--faint);font-size:10px}.wb-stage-caption button{white-space:nowrap}
.wb-reason{margin:0 28px 22px;border-left:2px solid #a98b3a;padding-left:14px}.wb-reason p{font-size:14px;line-height:1.5;margin:0 0 6px;color:var(--text)}.wb-reason>span{font-size:12px;color:var(--muted);line-height:1.5}.wb-reason>span b{font-weight:500;color:var(--amber-2);margin-right:7px}.wb-reason>small{display:block;margin-top:7px;font-size:11px;color:var(--amber-2)}
.wb-checkout{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--wb-edge);padding:20px 28px;background:#10130c66;margin-top:auto}.wb-checkout>div{display:grid;grid-template-columns:auto 1fr;column-gap:16px;align-items:center}.wb-checkout>div>span{grid-column:1/-1;color:var(--faint);font-size:9px;letter-spacing:1.4px;margin-bottom:5px}.wb-checkout strong{font:800 32px/1 var(--font-head);color:var(--amber-2)}.wb-checkout small{font-size:11px;color:var(--muted)}.wb .wb-copy{background:var(--amber);color:#17190f;padding:12px 17px;border:1px solid var(--amber);font-size:13px;font-weight:700;white-space:nowrap}.wb-copy span{margin-left:16px}.wb .wb-copy:hover{background:var(--amber-2)}
.wb-kit-parts{margin-top:27px}.wb-group{border:1px solid var(--line);border-bottom:0;background:#171a13}.wb-group:last-of-type{border-bottom:1px solid var(--line)}.wb-group summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px;cursor:pointer;font-size:14px;list-style:none}.wb-group summary::-webkit-details-marker{display:none}.wb-group summary>span{display:flex;align-items:center;gap:12px}.wb-group summary small{color:var(--faint);font:10px var(--font-mono);border:1px solid var(--line);padding:3px 6px}.wb-group summary>span:last-child{font:12px var(--font-mono);color:var(--muted);gap:26px}.wb-group summary b{font:22px var(--font-body);font-weight:400;line-height:1;color:var(--amber-2)}.wb-group[open] summary b{transform:rotate(45deg)}.wb-group[open] summary{border-bottom:1px solid var(--line)}
.wb-item-list{display:grid;grid-template-columns:1fr 1fr;padding:4px 20px 14px;gap:0 24px}.wb .wb-item{display:flex;align-items:center;gap:12px;text-align:left;border:0;border-bottom:1px solid var(--line);background:transparent;padding:12px 0;color:var(--text);min-width:0}.wb-item img{width:52px;height:42px;object-fit:contain;flex-shrink:0}.wb-item>span:first-of-type{flex:1;min-width:0}.wb-item b{font-size:12px;font-weight:500;overflow-wrap:anywhere}.wb-item small{display:block;font-size:10px;color:var(--faint);margin-top:3px}.wb-item strong{font:11px var(--font-mono);font-weight:400;color:var(--muted);white-space:nowrap}.wb-item>span:last-child{font-size:11px;color:var(--amber)}.wb-item:hover b{color:var(--amber-2)}
.wb-source,.wb-notes{font-size:11px;color:var(--faint);margin-top:16px;line-height:1.65}.wb-source summary,.wb-notes summary{cursor:pointer}.wb-source p{max-width:900px}.wb-source a{color:var(--muted);text-decoration:underline}.wb-empty{border:1px solid var(--line);padding:40px;background:var(--panel)}.wb-empty h2{font:700 30px var(--font-head)}.wb [aria-busy=true]{opacity:.55;pointer-events:none}
.preview-ribbon{font:12px var(--font-body);padding:12px 28px;background:#302915;color:var(--amber-2);border-bottom:1px solid #66542c;display:flex;justify-content:space-between;gap:15px}.preview-ribbon a{color:var(--amber-2)}
@media(min-width:1650px){.wb-stage{min-height:280px}.wb-option img{height:86px}.wb-kit-head h2{font-size:58px}}
@media(max-width:1100px){.wb-toolbar{gap:14px;flex-wrap:wrap}.wb-toolbar label{font-size:11px}.wb-roles button{font-size:15px;gap:6px}.wb-roles svg{width:22px}.wb-workspace{grid-template-columns:220px minmax(0,1fr)}.wb-kit-head,.wb-checkout{padding-left:20px;padding-right:20px}.wb-stage-caption,.wb-reason{margin-left:20px;margin-right:20px}.wb-checkout>div{display:block}.wb-checkout>div>*{display:block}.wb-checkout strong{margin:5px 0}.wb-stage-caption{flex-wrap:wrap;gap:0}.wb-levels{grid-template-columns:repeat(4,1fr)}}
@media(max-width:800px){.wb-header h1{font-size:42px}.wb-stamp{display:none}.wb-roles button{flex-direction:column;gap:5px;font-size:13px;padding:18px 8px 12px}.wb-toolbar{margin-bottom:20px}.wb-profile-mini{min-width:150px}.wb-workspace{grid-template-columns:1fr}.wb-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.wb .wb-option{padding:12px;min-height:140px}.wb-option-top{font-size:10px;min-height:30px;align-items:flex-start}.wb-option img{height:48px;width:100%}.wb-option-bottom{display:block}.wb-option-bottom strong{font-size:23px}.wb-option-bottom>b{display:block;margin-top:6px}.wb-option-bottom small{font-size:9px}.wb-stage{height:235px;flex:none}.wb-checkout>div{display:grid}.wb-checkout strong{margin:0}.wb-kit-head h2{font-size:46px}.wb-stage-caption{flex-wrap:nowrap}.wb-item-list{grid-template-columns:1fr}}
@media(max-width:500px){.wb-header{margin:0 0 19px}.wb-header h1{font-size:36px;max-width:300px;line-height:1.02}.wb-header h1 em{display:block}.wb-intro{font-size:13px;margin-top:8px}.wb-kicker{font-size:9px}.wb-roles{grid-template-columns:repeat(3,1fr)}.wb-roles button{flex-direction:row;font-size:14px;padding:19px 8px 13px}.wb-roles button:nth-child(-n+3){border-bottom:1px solid var(--line)}.wb-roles button[aria-pressed=true]{box-shadow:inset 0 -2px var(--amber)}.wb-toolbar{gap:12px}.wb-toolbar>label{flex:1;justify-content:space-between}.wb-toolbar select{font-size:20px}.wb-profile-mini{flex-basis:100%;order:3}.wb #wb-settings-toggle{font-size:11px}.wb-settings{padding:15px}.wb-settings-head{display:block}.wb-settings-head button{margin-bottom:15px}.wb-levels{grid-template-columns:repeat(3,1fr)}.wb-section-label{font-size:9px;gap:8px}.wb-section-label>span:last-child{font-size:10px}.wb .wb-option{padding:10px 8px;min-height:149px}.wb-option-top{font-size:9px;line-height:1.3}.wb-option-top b{display:none}.wb-option img{height:40px;margin:8px 0}.wb-option-bottom strong{font-size:21px}.wb-option-bottom small{line-height:1.35;min-height:24px}.wb-kit-head{padding:20px 17px 0}.wb-kit-head .wb-kicker{font-size:9px;max-width:190px}.wb-kit-head h2{font-size:40px}.wb-view-switch button{padding:7px 10px}.wb-stage{height:190px;margin:0 10px}.wb-stage-mark{font-size:8px;bottom:25px}.wb-hero-weapon img{max-height:145px}.wb-stage-caption{margin:0 17px 14px;flex-wrap:wrap;font-size:9px}.wb-reason{margin:0 17px 18px}.wb-reason p{font-size:13px}.wb-reason>span{font-size:11px}.wb-checkout{padding:17px;align-items:center;gap:10px}.wb-checkout>div{display:block}.wb-checkout strong{font-size:31px;margin:5px 0}.wb-checkout small{font-size:10px}.wb .wb-copy{padding:11px 12px;font-size:12px}.wb-copy span{margin-left:9px}.wb-group summary{padding:14px;font-size:13px}.wb-group summary>span:last-child{gap:12px;font-size:11px}.wb-item-list{padding:2px 14px 10px}.preview-ribbon{font-size:10px;padding:10px 16px}.preview-ribbon span{max-width:230px}}
@media(prefers-reduced-motion:reduce){.wb *{transition:none!important}}

/* Keep each weapon/class in the same frame. Auto margins on the flex child
   previously let the entire workbench shrink to its weapon's intrinsic width. */
.wb-workspace{--wb-kit-height:640px;min-width:0}
.wb-options{display:grid;grid-template-rows:repeat(3,minmax(0,1fr));min-width:0;min-height:0}
.wb .wb-option{min-width:0;min-height:0;overflow:hidden}
.wb-option img{flex-shrink:0;min-width:0}
.wb-kit{height:var(--wb-kit-height);display:grid;grid-template-rows:112px minmax(0,1fr) 48px 140px 108px}
.wb-kit-head{min-width:0;min-height:0}
.wb-kit-head>div:first-child{min-width:0}
.wb-stage{height:100%;min-height:0;min-width:0;flex:none}
.wb .wb-hero-weapon{position:absolute;inset:0;min-width:0;min-height:0}
.wb-hero-weapon img{min-width:0;min-height:0;max-height:100%;object-fit:contain}
.wb-stage-caption{min-width:0;min-height:0}
.wb-reason{min-height:0;overflow:auto;scrollbar-width:thin}
.wb-checkout{margin-top:0;min-width:0;min-height:0}
.wb-fallback{border-left:2px solid var(--amber);background:#e2ac2b09;padding:10px 12px;margin-bottom:16px}
.wb-fallback-title{display:flex;align-items:center;gap:8px;color:var(--amber-2);font-size:14px;line-height:1.3}
.wb-fallback-title strong{font-weight:600}.wb-fallback-title>span{font-size:12px}
.wb .wb-target-details{margin-left:auto;border:0;background:transparent;color:var(--amber-2);padding:0 4px;flex-shrink:0;font-size:16px}
.wb-unlock-level{display:flex;justify-content:space-between;gap:12px;font-size:11px;color:var(--muted);margin-top:8px}
.wb-unlock-level>span:last-child{white-space:nowrap}.wb-unlock-level b{color:var(--text)}
.wb-unlock-track{height:3px;background:#b6baa926;margin:6px 0 8px}.wb-unlock-track i{display:block;height:100%;background:var(--amber)}
.wb-fallback p{font-size:12px;line-height:1.45;margin:7px 0 0;color:var(--muted)}
@media(min-width:1650px){.wb-workspace{--wb-kit-height:700px}}
@media(max-width:800px){
  .wb-options{height:208px;grid-template-rows:minmax(0,1fr)}
  .wb .wb-option{min-height:0}
}
@media(max-width:500px){
  .wb-workspace{--wb-kit-height:660px}
  .wb-options{height:210px}
  .wb-kit{grid-template-rows:132px minmax(0,1fr) 60px 150px 104px}
}
@keyframes wb-weapon-enter{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:no-preference){
  .wb-hero-weapon img{animation:wb-weapon-enter .2s ease-out}
  .wb-kit-head,.wb-reason{animation:wb-weapon-enter .16s ease-out}
  .wb #wb-result{transition:opacity .14s ease-out}
}

#wb-profile-age{font-size:.75rem;line-height:1.5;max-width:42rem;color:var(--muted)}#wb-profile-age.wb-profile-stale{color:#efc263}#wb-profile-age a{color:inherit;text-decoration:underline}

/* Full arsenal: fixed image stages keep cards stable across weapon silhouettes. */
.wb-arsenal{margin:0 0 24px;border:1px solid var(--line,#393d2b);background:#181b12}
.wb-arsenal>summary{display:flex;justify-content:space-between;align-items:center;gap:20px;cursor:pointer;padding:20px 24px;list-style:none}
.wb-arsenal>summary::-webkit-details-marker{display:none}.wb-arsenal>summary small{display:block;letter-spacing:.16em;font:10px monospace;color:#e8b62f;margin-bottom:8px}
.wb-arsenal>summary strong{font-size:19px}.wb-arsenal-action{color:#e8b62f;white-space:nowrap}.wb-arsenal[open] .wb-arsenal-action b{display:inline-block;transform:rotate(45deg)}
.wb-arsenal-body{padding:0 24px 24px}.wb-weapon-filters{display:flex;align-items:end;gap:16px;flex-wrap:wrap}.wb-weapon-filters label{flex:1;min-width:180px;font-size:12px;color:#bbbfae}.wb-weapon-filters input,.wb-weapon-filters select{display:block;width:100%;margin-top:7px}
.wb-weapon-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;max-height:510px;overflow-y:auto;padding:10px 3px 3px;margin-top:8px}
.wb-weapon-tile{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px;padding:16px;text-align:left;border:1px solid #353b29;background:#202417;color:inherit;min-width:0}
.wb-weapon-tile img{display:block;grid-column:1/-1;width:100%;height:95px;object-fit:contain;margin-bottom:8px}.wb-weapon-tile span{min-width:0}.wb-weapon-tile strong{display:block;overflow-wrap:anywhere;font-size:17px}.wb-weapon-tile small{display:block;font-size:11px;color:#a7ae98}.wb-weapon-tile>b{font:12px monospace;color:#e8b62f}.wb-weapon-tile .wb-weapon-over{grid-column:1/-1;color:#e8b62f}.wb-weapon-tile:hover,.wb-weapon-tile[aria-pressed=true]{border-color:#e8b62f;background:#2b2e1d}
.wb-weapon-tile:focus-visible,.wb-arsenal summary:focus-visible{outline:2px solid #e8b62f;outline-offset:2px}.wb-profile-mini>strong{font-size:13px}.wb [aria-busy=true]{opacity:.55}.wb #wb-saved-extras:empty{display:none}
@media(max-width:1000px){.wb-weapon-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:600px){.wb-weapon-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-height:450px}.wb-arsenal>summary{padding:16px;align-items:start}.wb-arsenal>summary strong{font-size:16px}.wb-arsenal-action{font-size:12px}.wb-arsenal-body{padding:0 12px 16px}.wb-weapon-tile{padding:12px;grid-template-columns:1fr}.wb-weapon-tile img{height:80px}.wb-weapon-filters label{min-width:120px}}
