/* Boss is a reference instrument. It does not prescribe or celebrate a load. */
.boss-panel { color: var(--text-primary); overflow-wrap: anywhere; padding-block: 20px; }
.boss-panel .boss-title-row { min-width: 0; }
.boss-panel .boss-title-row p { margin: 0 0 8px; font: 10px/1.4 var(--font-technical); letter-spacing: .1em; text-transform: uppercase; color: var(--text-secondary); }
.boss-panel .boss-title-row h2 { margin: 0; font: 650 clamp(24px,6.8vw,28px)/1.1 var(--font-display); letter-spacing: -.04em; color: var(--text-primary); }
.boss-panel .boss-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; padding-top: 4px; }
.boss-panel .boss-completion { text-align: right; padding-bottom: 2px; }
.boss-panel .boss-completion > strong { display: block; font: 500 30px/1 var(--font-display); letter-spacing: -.04em; font-variant-numeric: tabular-nums; }
.boss-panel .boss-completion strong small { font-size: 20px; font-weight: 400; color: var(--text-secondary); }
.boss-panel .boss-completion > span { display: block; color: var(--text-secondary); font-size: 11px; line-height: 1.4; margin-top: 8px; }
.boss-panel .boss-artwork { display: block; width: 100%; height: auto; max-height: 96px; margin: 12px 0 0; fill: none; }
.boss-panel .boss-artwork-grid { stroke: var(--border-control); stroke-width: .8; }
.boss-panel .boss-station-frame { stroke: var(--text-secondary); stroke-width: 1; }
.boss-panel .boss-station-axis { stroke: var(--border-subtle); stroke-width: .8; }
.boss-panel .boss-station-planes { stroke: var(--border-control); stroke-width: 1; }
.boss-panel .boss-station-mark { stroke: var(--text-secondary); fill: var(--bg-primary); stroke-width: 1; }
.boss-panel .boss-station text { fill: var(--text-secondary); font: 10px var(--font-technical); }
.boss-panel .boss-station--beaten .boss-station-frame, .boss-panel .boss-station--beaten .boss-station-planes { stroke: var(--text-primary); }
.boss-panel .boss-station--beaten .boss-station-mark { fill: var(--text-primary); stroke: var(--text-primary); }
.boss-panel .boss-station--tracking .boss-station-mark { fill: var(--signal-red); stroke: var(--signal-red); }
.boss-panel .boss-description { margin: 12px 0 16px; color: var(--text-secondary); font: 400 13px/1.6 var(--font-body); }
.boss-panel .boss-targets { list-style: none; margin: 0; padding: 0; }
.boss-panel .boss-target { border-top: 1px solid var(--border-subtle); padding: 4px 0 16px; }
.boss-panel .boss-target-heading { display: grid; grid-template-columns: 26px minmax(0,1fr) 20px; align-items: center; gap: 8px; width: 100%; min-height: 44px; padding: 8px 0; margin: 0; border: 0; color: var(--text-primary); background: transparent; text-align: left; }
.boss-panel button.boss-target-heading { cursor: pointer; }
.boss-panel button.boss-target-heading:focus-visible { outline: 2px solid var(--focus-ring); outline-offset: 3px; border-radius: var(--radius-sm); }
.boss-panel .boss-target-index { font: 10px/1.4 var(--font-technical); color: var(--text-muted); }
.boss-panel .boss-target-name { font: 600 17px/1.3 var(--font-display); letter-spacing: -.02em; }
.boss-panel .boss-target-heading > .byke-icon { color: var(--text-secondary); }
.boss-panel .boss-target-status { display: flex; align-items: center; gap: 6px; margin: 0 0 10px 34px; color: var(--text-secondary); font-size: 12px; line-height: 1.5; }
.boss-panel .boss-target--beaten .boss-target-status { color: var(--text-primary); }
.boss-panel .boss-target-metrics { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin: 0; }
.boss-panel .boss-target-metrics > div { min-width: 0; }
.boss-panel .boss-target-metrics > div + div { border-left: 1px solid var(--border-subtle); padding-left: 18px; }
.boss-panel .boss-target-metrics dt { margin: 0 0 6px; color: var(--text-secondary); font: 12px/1.4 var(--font-body); }
.boss-panel .boss-target-metrics dd { margin: 0; }
.boss-panel .boss-target-metrics strong { display: block; font: 500 30px/1 var(--font-display); letter-spacing: -.04em; font-variant-numeric: tabular-nums; }
.boss-panel .boss-pending-value { display: block; font-size: 18px; line-height: 1.5; color: var(--text-secondary); }
.boss-panel .boss-track { position: relative; height: 3px; margin: 12px 1px 0; background: var(--surface-3); }
.boss-panel .boss-track > span { display: block; height: 100%; background: var(--text-secondary); }
.boss-panel .boss-track > i { position: absolute; right: 0; top: -3px; width: 1px; height: 9px; background: var(--text-primary); }
.boss-panel .boss-target--beaten .boss-track > span { background: var(--text-primary); }
.boss-panel .boss-track--waiting { height: 1px; border-top: 1px dashed var(--border-control); background: transparent; }
.boss-panel .boss-track--waiting > i { display: none; }
.boss-panel .boss-source { margin: 8px 0 0; color: var(--text-secondary); font-size: 12px; line-height: 1.5; }
.boss-panel .boss-current-state { display: flex; align-items: flex-start; gap: 8px; margin: 12px 0 0; padding-left: 10px; border-left: 1px solid var(--border-control); color: var(--text-primary); font-size: 12px; line-height: 1.55; }
.boss-panel .boss-current-state > .byke-icon { margin-top: 2px; }
.boss-panel .boss-current-state small { display: block; margin-top: 4px; color: var(--text-secondary); font-size: 12px; line-height: 1.5; }
.boss-panel .boss-guidance { display: flex; align-items: flex-start; gap: 10px; padding: 16px 0; border-top: 1px solid var(--border-subtle); }
.boss-panel .boss-guidance .byke-icon { margin-top: 2px; color: var(--text-secondary); }
.boss-panel .boss-guidance p, .boss-panel .boss-note, .boss-panel .boss-empty { margin: 0; font-size: 12px; line-height: 1.65; color: var(--text-secondary); }
.boss-panel .boss-note { font-size: 12px; }
.boss-panel .boss-empty { margin: 24px 0; }
.boss-panel .boss-previous { margin-top: 18px; border-top: 1px solid var(--border-subtle); }
.boss-panel .boss-previous summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 56px; padding-block: 12px; color: var(--text-primary); font: 13px/1.4 var(--font-body); cursor: pointer; }
.boss-panel .boss-previous summary small { display: block; margin-top: 4px; color: var(--text-secondary); font-size: 11px; }
.boss-panel .boss-previous > p { margin: 0 0 14px; color: var(--text-secondary); font-size: 12px; line-height: 1.6; }
.boss-panel .boss-previous ul { list-style: none; padding: 0; margin: 0; }
.boss-panel .boss-previous li { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 16px; padding: 10px 0; border-top: 1px solid var(--border-subtle); font-size: 12px; line-height: 1.5; }
.boss-panel .boss-previous li strong { font-weight: 500; }.boss-panel .boss-previous li small { font-weight: 400; color: var(--text-secondary); }
@media (max-width:379px) { .boss-panel .boss-target-metrics { gap: 12px; }.boss-panel .boss-target-metrics > div + div { padding-left: 12px; }.boss-panel .boss-target-name { font-size: 16px; } }
@media (min-width:900px) { .boss-panel .boss-artwork { max-height: 112px; }.boss-panel .boss-target-metrics strong { font-size: 34px; } }
@media (prefers-reduced-motion:reduce) { .boss-panel *, .boss-panel *::before { animation: none !important; transition: none !important; scroll-behavior: auto !important; } }
