:root { --sw-seg-bg: #E9EBEF; --sw-seg-on: #FFFFFF; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) { --sw-seg-bg: #1C1D21; --sw-seg-on: #3A3C43; } }
:root[data-theme="dark"] { --sw-seg-bg: #1C1D21; --sw-seg-on: #3A3C43; }
.sw-seg { position: relative; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 4px; margin: 8px 0 4px; border-radius: 16px; background: var(--sw-seg-bg); }
.sw-seg-th { position: absolute; top: 4px; bottom: 4px; left: 4px; width: calc((100% - 8px) / 2); border-radius: 12px; background: var(--sw-seg-on); box-shadow: 0 1px 3px rgba(0, 0, 0, .08); transform: translateX(calc(var(--i, 0) * 100%)); transition: transform .38s cubic-bezier(.2, .8, .2, 1); }
.sw-seg-b {
  position: relative; z-index: 1; min-width: 0; min-height: 42px; padding: 0 8px; border: 0; border-radius: 12px; cursor: pointer;
  background: transparent; color: var(--muted); font: inherit; font-size: var(--fs-3); font-weight: 400; white-space: nowrap; transition: color .25s;
}
.sw-seg-b[aria-pressed="true"] { color: var(--text); font-weight: 600; cursor: default; }
.sw-seg-b:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; }
.sw-cards { display: flex; flex-direction: column; gap: 10px; }
.sw-cards > .sv-tile { margin-top: 0; }
.sw-card { padding: 20px; }
a.sw-card { color: var(--text); text-decoration: none; }
.sw-h { display: flex; align-items: center; gap: 8px; }
.sw-h .tz-q { margin-left: auto; }
.sw-h .nm { font-size: var(--fs-4); font-weight: 600; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sw-style { flex: none; }
.sw-chev { margin-left: auto; color: var(--faint); font-size: var(--fs-8); line-height: 1; }
.sw-cap { font-size: var(--fs-3); font-weight: 600; color: var(--muted); }
.sw-char-seg { margin-top: 14px; }
.sw-char-seg + .sw-char-swing, .sw-char-seg + .sv-trio, .sw-char-seg + .sv-tile { margin-top: 10px; }
.sw-big { display: flex; align-items: baseline; flex-wrap: wrap; gap: 2px 6px; margin-top: 6px; }
.sw-big .v { font-size: 44px; font-weight: 700; letter-spacing: -0.04em; line-height: 1.08; font-variant-numeric: tabular-nums; }
.sw-big .v small { font-size: var(--fs-9); font-weight: 600; margin-left: 2px; }
.sw-few { font-size: var(--fs-2); color: var(--muted); font-weight: 400; margin-left: 2px; }
.sw-base { margin-left: auto; font-size: var(--fs-2); color: var(--muted); font-variant-numeric: tabular-nums; }
.sw-k { font-size: var(--fs-1); color: var(--muted); margin-top: 2px; }
.sw-days { font-size: var(--fs-3); color: var(--text); margin-top: 14px; }
.sw-days b { font-weight: 700; }
.sw-none { font-size: var(--fs-2); color: var(--muted); margin-top: 10px; }
.sw-bars { margin-top: 16px; }
.sw-bars-t { font-size: var(--fs-2); color: var(--muted); margin-bottom: 6px; }
.sw-br { display: grid; grid-template-columns: 34px minmax(0, 1fr) 62px; align-items: center; gap: 8px; padding: 4px 0; }
.sw-br .h { font-size: var(--fs-1); color: var(--muted); font-variant-numeric: tabular-nums; }
.sw-br .tr { display: flex; flex-direction: column; gap: 3px; }
.sw-br .tr i { display: block; height: 8px; border-radius: 99px; background: linear-gradient(90deg, var(--ok-2), var(--ok)); transform-origin: left center; animation: tz-grow 1s cubic-bezier(.2, .8, .2, 1) .2s backwards; }
.sw-br .tr i.b { height: 5px; background: var(--faint); }
.sw-br .vv { text-align: right; line-height: 1.25; font-variant-numeric: tabular-nums; }
.sw-br .vv b { display: block; font-size: var(--fs-2); font-weight: 600; }
.sw-br .vv small { display: block; font-size: var(--fs-2); color: var(--muted); }
.sw-hits { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; margin-top: 16px; padding: 12px 8px; border-radius: 16px; background: var(--card-2); }
.sw-hits > div { text-align: center; min-width: 0; }
.sw-hits span { display: block; font-size: var(--fs-1); color: var(--muted); white-space: nowrap; }
.sw-hits b { display: block; font-size: var(--fs-6); font-weight: 700; margin-top: 1px; font-variant-numeric: tabular-nums; }
.sw-end { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 6px; margin-top: 12px; font-size: var(--fs-2); color: var(--muted); }
.sw-end b { font-size: var(--fs-4); font-weight: 600; color: var(--text); }
.sw-end b.sv-up { color: var(--up); }
.sw-end b.sv-down { color: var(--down); }
.sw-end small { font-size: var(--fs-2); color: var(--muted); }
.sw-skel-card { height: 300px; }
.sw-live { margin: -2px 2px 10px; }
.sw-live-line { display: block; margin: 0; font-size: var(--fs-2); color: var(--muted); line-height: 1.6; }
.sw-live-line .sv-pill { margin-right: 6px; vertical-align: 1px; }
.sw-live-line b { font-weight: 600; color: var(--text); }
.sw-live-line b.sv-up { color: var(--up); }
.sw-live-line b.sv-down { color: var(--down); }
.sw-live-nm { margin-left: 3px; color: var(--muted); }
a.sw-live-row { text-decoration: none; color: var(--text); }
.sw-live-row .nm { font-size: var(--fs-4); }
.sw-live-more { margin-top: 8px; }
.sw-live-more > summary { cursor: pointer; list-style: none; font-size: var(--fs-3); font-weight: 600; color: var(--accent); padding: 8px 4px; text-align: center; }
.sw-live-more > summary::-webkit-details-marker { display: none; }
.sw-live-more .tz-list { margin-top: 6px; }
@media (max-width: 359px) {
  .sw-big .v { font-size: 36px; }
  .sw-br { grid-template-columns: 30px minmax(0, 1fr) 56px; gap: 6px; }
  .sw-seg-b { font-size: var(--fs-2); }
}
.sw-crit { font-size: var(--fs-2); color: var(--muted); margin: 6px 4px 0; line-height: 1.4; }
.sw-bars-k { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; margin: 2px 0 6px; font-size: var(--fs-2); color: var(--muted); }
.sw-bars-k i { display: inline-block; width: 12px; height: 6px; border-radius: 99px; margin-right: 4px; background: var(--ok); }
.sw-bars-k i.b { background: var(--faint); }
.sw-hits-t { margin: 12px 0 4px; font-size: var(--fs-2); color: var(--muted); }
button.sw-live-line { width: 100%; border: 0; background: none; font: inherit; color: inherit; text-align: left; cursor: pointer; padding: 6px 2px; border-radius: 12px; -webkit-tap-highlight-color: transparent; }
button.sw-live-line:active { background: var(--card-2); }
.sw-hits { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.sw-live-note { margin: 8px 4px 6px; }
.tz-list > .sw-live-note { margin: 8px 10px 2px; }
.sw-sh-q { margin: 2px 0 10px; }
