/* Dead Signal shared readability system.
   Canonical site-wide text sizing layer. Load this AFTER page/theme styles.
   v2: former Large is now the default baseline, with one step down and two up. */

:root,
html[data-ds-font-size="default"]{
  --ds-type-micro:10px;
  --ds-type-tiny:11px;
  --ds-type-xs:12px;
  --ds-type-sm:13px;
  --ds-type-md:14px;
  --ds-type-body:16.5px;
  --ds-type-lg:18px;
  --ds-type-xl:20px;
  --ds-type-2xl:22px;
  --ds-type-display:41px;
}
html[data-ds-font-size="compact"]{
  --ds-type-micro:9px;
  --ds-type-tiny:10px;
  --ds-type-xs:11px;
  --ds-type-sm:12px;
  --ds-type-md:13px;
  --ds-type-body:15px;
  --ds-type-lg:16px;
  --ds-type-xl:18px;
  --ds-type-2xl:20px;
  --ds-type-display:38px;
}
html[data-ds-font-size="large"]{
  --ds-type-micro:11px;
  --ds-type-tiny:12px;
  --ds-type-xs:13px;
  --ds-type-sm:14px;
  --ds-type-md:15.5px;
  --ds-type-body:18px;
  --ds-type-lg:20px;
  --ds-type-xl:22px;
  --ds-type-2xl:24px;
  --ds-type-display:44px;
}
html[data-ds-font-size="xlarge"]{
  --ds-type-micro:12px;
  --ds-type-tiny:13px;
  --ds-type-xs:14.5px;
  --ds-type-sm:15.5px;
  --ds-type-md:17px;
  --ds-type-body:20px;
  --ds-type-lg:22px;
  --ds-type-xl:24px;
  --ds-type-2xl:27px;
  --ds-type-display:48px;
}

body{font-size:var(--ds-type-body)}
button,input,select,textarea{font-size:var(--ds-type-sm)}

.ds-side-heading{font-size:var(--ds-type-sm)}
.ds-menu a{font-size:var(--ds-type-md);line-height:1.38}
.ds-menu a b{font-size:var(--ds-type-micro)}
.ds-logo-sub,.ds-side-foot{font-size:var(--ds-type-micro)}
.eyebrow,.lab-kicker{font-size:var(--ds-type-micro)}
.lab-hero h2{font-size:var(--ds-type-display)}
.lab-hero p{font-size:var(--ds-type-md);line-height:1.62}
.lab-status-row span{font-size:var(--ds-type-micro)}
.section-title small{font-size:var(--ds-type-micro)}
.section-title h2{font-size:var(--ds-type-2xl)}
.slot-label{font-size:var(--ds-type-tiny)}
.item-name{font-size:var(--ds-type-lg);line-height:1.28}
.subtle{font-size:var(--ds-type-xs);line-height:1.48}
.tag,.rarity-badge,.quality-badge{font-size:var(--ds-type-micro)}
.stats b{font-size:var(--ds-type-md)}
.stats span{font-size:var(--ds-type-micro)}
.effect{font-size:var(--ds-type-xs);line-height:1.58}
.meta-grid label>span,.wide-field>span,.section-toolbar span,.progression label,.profile-select label{font-size:var(--ds-type-tiny)}
.meta-grid input,.meta-grid select,.wide-field input,.progression select,.profile-select select,.roll-line input,textarea{font-size:var(--ds-type-md);line-height:1.48}
button,.actions button,.select-button,.mini-select button{font-size:var(--ds-type-sm)}
.dialog-head small,.picker-tools label{font-size:var(--ds-type-micro)}
.dialog-head h2{font-size:var(--ds-type-xl)}
.picker-tools input,.picker-tools select,.picker-tools button{font-size:var(--ds-type-sm)}
.pick-title-row strong{font-size:var(--ds-type-md);line-height:1.34}
.pick-meta{font-size:var(--ds-type-tiny);line-height:1.45}
.picker-facts,.picker-facts span{font-size:var(--ds-type-tiny)}
.picker-effect{font-size:var(--ds-type-xs);line-height:1.55}
.catalog-kicker,.catalog-label,.catalog-note{font-size:var(--ds-type-micro)}
.catalog-value strong{font-size:var(--ds-type-xl)}
.system-description{font-size:var(--ds-type-xs);line-height:1.55}
.cradle-panel-head small{font-size:var(--ds-type-micro)}
.cradle-panel-head h3{font-size:var(--ds-type-body)}
.cradle-panel-head #cradleCount{font-size:var(--ds-type-micro)}
.cradle-panel .cradle{font-size:var(--ds-type-xs);line-height:1.45}
.cradle-panel .cradle b,.cradle-panel .cradle strong{font-size:var(--ds-type-sm);line-height:1.34}
.cradle-panel .cradle small{font-size:var(--ds-type-tiny);line-height:1.4}
.cradle-panel .cradle .effect{font-size:var(--ds-type-tiny);line-height:1.5}
.summary-section>h3{font-size:var(--ds-type-tiny)}
.summary-notice{font-size:var(--ds-type-xs);line-height:1.55}
.report-head>span{font-size:var(--ds-type-micro)}
#summary .report-head>b{font-size:var(--ds-type-body)}
.report-row>span,.armor-report-row>span{font-size:var(--ds-type-tiny)}
#summary .report-row>div>b,#summary .armor-report-row>div>b{font-size:var(--ds-type-md)}
#summary .effect-line span{font-size:var(--ds-type-tiny)}
#summary .effect-line p,#summary .system-detail,#summary .summary-notice{font-size:var(--ds-type-xs);line-height:1.6}

.ds-readability{
  position:relative;
  z-index:1;
  margin:auto 16px 0;
  border:1px solid #34272a;
  background:linear-gradient(145deg,#0b0f12,#07090b);
  clip-path:polygon(0 0,calc(100% - 7px) 0,100% 7px,100% 100%,7px 100%,0 calc(100% - 7px));
}
.ds-readability::before{content:"";position:absolute;left:0;top:0;width:74px;height:1px;background:linear-gradient(90deg,#e51f2b,transparent)}
.ds-readability-head{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;padding:9px 10px 7px;border-bottom:1px solid #262b2f}
.ds-readability-head small{display:block;color:#6f767c;font-size:var(--ds-type-micro);font-weight:850;letter-spacing:.13em;text-transform:uppercase}
.ds-readability-head strong{display:block;margin-top:2px;color:#d9dcde;font-size:var(--ds-type-sm);font-weight:800}
.ds-font-size-status{color:#d35b65;font-size:var(--ds-type-micro);font-weight:850;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap}
.ds-font-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:7px}
.ds-font-controls button{min-width:0;min-height:31px;padding:4px 2px;border:1px solid #31373b;background:#0a0d10;color:#9fa5aa;font-size:var(--ds-type-sm);font-weight:850;line-height:1;cursor:pointer}
.ds-font-controls button:hover{border-color:#6d252c;color:#f0f2f3}
.ds-font-controls button[aria-pressed="true"]{border-color:#8a2832;background:linear-gradient(180deg,#401016,#1d090c);color:#fff;box-shadow:inset 0 -2px #d92734}
.ds-font-controls button:focus-visible{outline:2px solid #ff4b58;outline-offset:2px}
.ds-side-foot{margin-top:0}

html[data-ds-font-size="large"] .cradle-scroll{max-height:390px}
html[data-ds-font-size="large"] .pick-layout{min-height:124px}
html[data-ds-font-size="large"] .system-description{-webkit-line-clamp:4}
html[data-ds-font-size="xlarge"] .cradle-scroll{max-height:440px}
html[data-ds-font-size="xlarge"] .pick-layout{min-height:132px}
html[data-ds-font-size="xlarge"] .system-description{-webkit-line-clamp:5}

@media(max-width:900px){.ds-readability{margin:10px 12px 0}}

/* Build Lab weapon selector: approved 2026-08-15 geometry refinement.
   Scoped to the weapon arsenal only. Filters, pagination, evidence and selection behavior are untouched. */
html body #picker.arsenal-mode{display:flex!important;flex-direction:column!important}
html body #picker.arsenal-mode .bl-picker-head,
html body #picker.arsenal-mode .bl-picker-tools,
html body #picker.arsenal-mode .arsenal-secondary-tools,
html body #picker.arsenal-mode .arsenal-footer{flex:0 0 auto!important}
html body #picker.arsenal-mode .arsenal-body{display:block!important;flex:1 1 auto!important;height:auto!important;min-height:0!important;overflow:hidden!important}
html body #picker.arsenal-mode .arsenal-center{height:100%!important;min-height:0!important}
html body #picker.arsenal-mode .bl-picker-list{height:100%!important;min-height:0!important;padding:12px!important;gap:12px!important;align-content:start!important;overflow:auto!important}
html body #picker.arsenal-mode .arsenal-card{grid-template-columns:200px minmax(0,1fr)!important;min-height:320px!important;height:auto!important}
html body #picker.arsenal-mode .arsenal-art{min-height:320px!important;padding:24px 18px!important}
html body #picker.arsenal-mode .arsenal-art img{height:170px!important;max-height:170px!important}
html body #picker.arsenal-mode .arsenal-copy{padding:14px 15px 12px!important}
html body #picker.arsenal-mode .arsenal-description{margin-top:9px!important}
html body #picker.arsenal-mode .arsenal-description:not(.unavailable) .arsenal-description-copy{font-size:var(--ds-type-xs)!important;line-height:1.5!important;-webkit-line-clamp:3!important}
html body #picker.arsenal-mode .arsenal-description.unavailable{display:flex!important;align-items:center!important;gap:7px!important;min-height:27px!important;margin-top:8px!important;padding:4px 7px!important;border:1px solid #28343b!important;border-radius:5px!important;background:#070c10!important}
html body #picker.arsenal-mode .arsenal-description.unavailable .arsenal-section-label{margin:0!important;white-space:nowrap!important}
html body #picker.arsenal-mode .arsenal-description.unavailable .arsenal-description-copy{display:none!important}
html body #picker.arsenal-mode .arsenal-description.unavailable::after{content:"NOT VERIFIED FOR PUBLICATION";display:inline-flex!important;align-items:center!important;min-height:17px!important;padding:1px 6px!important;border:1px solid #3c464c!important;border-radius:999px!important;color:#87949b!important;font-size:var(--ds-type-micro)!important;font-style:normal!important;font-weight:900!important;letter-spacing:.04em!important}
html body #picker.arsenal-mode .arsenal-skill{margin-top:10px!important;gap:5px!important}
html body #picker.arsenal-mode .arsenal-skill-copy{font-size:var(--ds-type-xs)!important;line-height:1.5!important;-webkit-line-clamp:4!important}
html body #picker.arsenal-mode .arsenal-stats{padding-top:11px!important;gap:6px!important}
html body #picker.arsenal-mode .arsenal-stats>span{min-height:45px!important;padding:7px 8px!important}
html body #picker.arsenal-mode .arsenal-evidence{margin-top:9px!important;padding-top:9px!important}
@media(max-width:1320px){
  html body #picker.arsenal-mode .arsenal-card{grid-template-columns:180px minmax(0,1fr)!important;min-height:310px!important}
  html body #picker.arsenal-mode .arsenal-art{min-height:310px!important;padding-inline:14px!important}
  html body #picker.arsenal-mode .arsenal-art img{height:155px!important;max-height:155px!important}
}
@media(max-width:1050px){
  html body #picker.arsenal-mode .bl-picker-list{grid-template-columns:1fr!important}
  html body #picker.arsenal-mode .arsenal-card{grid-template-columns:190px minmax(0,1fr)!important}
}
@media(max-width:680px){
  html body #picker.arsenal-mode .arsenal-card{grid-template-columns:1fr!important;min-height:0!important}
  html body #picker.arsenal-mode .arsenal-art{min-height:150px!important;border-right:0!important;border-bottom:1px solid #1f3038!important}
  html body #picker.arsenal-mode .arsenal-art img{height:115px!important;max-height:115px!important}
  html body #picker.arsenal-mode .arsenal-description:not(.unavailable) .arsenal-description-copy{-webkit-line-clamp:4!important}
  html body #picker.arsenal-mode .arsenal-skill-copy{-webkit-line-clamp:5!important}
}
