/* Size comparison page (#sizes). Everything is scoped under .mo-sizes. */

.mo-sizes {
  --mo-sz-space: #03050c;
  --mo-sz-axis: rgba(143, 154, 184, .25);
  min-width: 0;
}
:root[data-theme="night"] .mo-sizes {
  --mo-sz-space: #050000;
  --mo-sz-axis: rgba(168, 57, 47, .35);
}
:root[data-theme="night"] .mo-sizes .mo-sz-ball,
:root[data-theme="night"] .mo-sizes .mo-sz-glow,
:root[data-theme="night"] .mo-sizes .mo-sz-legend__bar { filter: grayscale(1) sepia(1) hue-rotate(-50deg) saturate(4) brightness(.6); }

.mo-sizes .mo-sz-head { margin-bottom: 12px; }
.mo-sizes .mo-sz-title { margin: 0 0 4px; font-size: 28px; line-height: 1.1; }
.mo-sizes .mo-sz-sub { margin: 0; color: var(--muted); font-size: 14px; max-width: 70ch; }

.mo-sizes .mo-sz-controls {
  display: flex; flex-wrap: wrap; align-items: center; gap: 10px 12px;
  background: var(--panel); border: 1px solid var(--line); border-radius: var(--radius);
  padding: 10px 14px; margin-bottom: 12px;
}
.mo-sizes .mo-sz-controls__label { font-size: 12px; color: var(--muted); }
.mo-sizes .mo-sz-pick {
  background: var(--panel-2); border: 1px solid var(--line); border-radius: 8px; color: var(--text);
  padding: 5px 8px; font-size: 13px; max-width: 100%;
}

.mo-sizes .mo-sz-stage { position: relative; border: 1px solid var(--line); border-radius: var(--radius); background: var(--mo-sz-space); }
.mo-sizes .mo-sz-strip { overflow-x: auto; overflow-y: hidden; border-radius: var(--radius); cursor: grab; user-select: none; -webkit-user-select: none; }
.mo-sizes .mo-sz-strip:active { cursor: grabbing; }
.mo-sizes .mo-sz-strip:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.mo-sizes .mo-sz-svg { display: block; }
.mo-sizes .mo-sz-item { cursor: pointer; }
.mo-sizes .mo-sz-base { stroke: var(--mo-sz-axis); stroke-width: 1; }
.mo-sizes .mo-sz-rule { stroke: var(--muted); stroke-width: 1.25; }
.mo-sizes .mo-sz-tick { stroke: var(--muted); stroke-width: 1; }
.mo-sizes .mo-sz-tick--minor { opacity: .6; }
.mo-sizes .mo-sz-cap { stroke: var(--text); stroke-width: 1.5; }
.mo-sizes .mo-sz-lead { stroke: var(--muted); stroke-width: 1; stroke-dasharray: 2 3; opacity: .7; }
.mo-sizes .mo-sz-ticklabel { fill: var(--muted); font: 10px var(--mono); text-anchor: end; }
.mo-sizes .mo-sz-value { fill: var(--text); font: 600 12px Inter, system-ui, sans-serif; text-anchor: middle; }
.mo-sizes .mo-sz-mag { fill: var(--muted); font: 11px var(--mono); text-anchor: middle; }
.mo-sizes .mo-sz-outline { stroke-width: 2; }
.mo-sizes .mo-sz-item:has(.mo-sz-outline) { cursor: default; }
.mo-sizes .mo-sz-label { fill: var(--text); font: 600 12px Inter, system-ui, sans-serif; text-anchor: middle; }
.mo-sizes .mo-sz-cons { fill: var(--text); font: 11px Inter, system-ui, sans-serif; text-anchor: middle; opacity: .85; }
.mo-sizes .mo-sz-sublabel { fill: var(--muted); font: 11px Inter, system-ui, sans-serif; text-anchor: middle; }
.mo-sizes .mo-sz-distance { fill: var(--muted); font: 11px var(--mono); text-anchor: middle; }
.mo-sizes .mo-sz-vis { color: var(--text); }
.mo-sizes .mo-sz-vis.is-off { color: var(--muted); opacity: .3; }
.mo-sizes .mo-sz-vis.is-unknown { color: var(--muted); opacity: .12; }
.mo-sizes .mo-sz-item:hover .mo-sz-label,
.mo-sizes .mo-sz-item:hover .mo-sz-value { fill: var(--accent); }
.mo-sizes .mo-sz-item:hover .mo-sz-rule,
.mo-sizes .mo-sz-item:hover .mo-sz-tick { stroke: var(--text); }
.mo-sizes .mo-sz-tip {
  position: absolute; pointer-events: none; background: var(--panel); border: 1px solid var(--line);
  border-radius: 8px; padding: 6px 10px; font-size: 12px; line-height: 1.45; max-width: 300px; z-index: 2;
}
.mo-sizes .mo-sz-tip[hidden] { display: none; }
.mo-sizes .mo-sz-hint { margin: 6px 0 10px; color: var(--muted); font-size: 12px; }

.mo-sizes .mo-sz-legend { display: flex; align-items: center; flex-wrap: wrap; gap: 6px 10px; font-size: 12px; color: var(--muted); margin-left: auto; flex-wrap: nowrap; }
.mo-sizes .mo-sz-legend__label { color: var(--text); }
.mo-sizes .mo-sz-legend__bar { flex: 0 1 260px; width: 260px; height: 12px; border-radius: 6px; min-width: 80px; }
.mo-sizes .mo-sz-legend__end { white-space: nowrap; }
.mo-sizes .mo-sz-note { color: var(--muted); font-size: 12px; max-width: 90ch; }
