/* site/css/star-wars.css — GENERATED by site/tools/star-wars/build-css.mjs from site/css/star-wars/{tokens,hub,tables,card,filters}.css. Do not edit by hand.
   doc 78 §4.4: one stylesheet, sw- prefixed components, --sp- tokens only. Order: tokens → hub → tables → card → filters. */

/* ---- tokens.css ---- */
/* site/css/star-wars/tokens.css — the only place an --sw- custom property may be defined (doc 78 §4.4,
   build-css.mjs). Every value aliases an existing --sp- token (doc 17): the Star Wars pages flip with the
   site theme and can never carry a colour, face or spacing step the design system does not already own. */
:root{
  --sw-surface:var(--sp-surface-1);--sw-surface-2:var(--sp-surface-2);
  --sw-line:var(--sp-line);--sw-line-strong:var(--sp-line-strong);--sw-line-control:var(--sp-line-control);
  --sw-ink:var(--sp-ink);--sw-ink-muted:var(--sp-ink-muted);--sw-ink-faint:var(--sp-ink-faint);--sw-accent:var(--sp-accent);
  --sw-gold:var(--sp-gold);--sw-gold-text:var(--sp-gold-text);--sw-gold-wash:var(--sp-gold-wash);
  --sw-font-display:var(--sp-font-display);--sw-font-ui:var(--sp-font-ui);--sw-font-mono:var(--sp-font-mono);
  --sw-t-h1:var(--sp-t-h1);--sw-t-h2:var(--sp-t-h2);--sw-t-h2-lead:var(--sp-t-h2-lead);--sw-t-h3:var(--sp-t-h3);
  --sw-t-body:var(--sp-t-body);--sw-t-sm:var(--sp-t-sm);--sw-t-xs:var(--sp-t-xs);--sw-t-micro:var(--sp-t-micro);
  --sw-t-price-md:var(--sp-t-price-md);--sw-track-caps:var(--sp-track-caps);
  --sw-1:var(--sp-1);--sw-2:var(--sp-2);--sw-3:var(--sp-3);--sw-4:var(--sp-4);--sw-5:var(--sp-5);--sw-6:var(--sp-6);--sw-7:var(--sp-7);
  --sw-r-xs:var(--sp-r-xs);--sw-r-sm:var(--sp-r-sm);--sw-focus:var(--sp-focus);
}

/* ---- hub.css ---- */
/* hub.css — /star-wars/ + segments (Jane-A). Scoped .sw-hub; stacks ≤720px; the .prose:has rule hides the empty wrapper the One Piece-style body split leaves (112px of padding). */
.sw-hub{padding-block:var(--sw-6) var(--sw-7);min-inline-size:0}
:not(.sw-hub).prose:has(+ .sw-hub){display:none}
.sw-hub *{min-inline-size:0}
.sw-hub ul,.sw-hub ol{list-style:none;margin:0;padding:0}
.sw-hub p,.sw-hub dl{margin:0}
.sw-hub a:not(.btn){color:var(--sw-accent);text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px}
.sw-hub a:not(.btn):hover{text-decoration-color:currentColor}
.sw-hub :is(a,button,summary,select,input):focus-visible{outline:2px solid transparent;box-shadow:var(--sw-focus)}
.sw-hub .lk-none{color:var(--sw-ink-faint)}
.sw-hub .num{font-family:var(--sw-font-mono);font-variant-numeric:tabular-nums}
.sw-tail{padding-block-start:0}
.sw-hub :is(.sw-quick,.sw-chip).lk-none{border-color:var(--sw-line)}
.sw-hub :is(a.sw-quick,a.sw-chip):hover{border-color:var(--sw-gold);background:var(--sw-surface-2);text-decoration:none}
.sw-hub :is(.sw-h2-count,.sw-lane__counts,.sw-family__n,.sw-treatment__n,.sw-setlist__n){font-size:var(--sw-t-xs);color:var(--sw-ink-faint)}
.sw-hub :is(.sw-row__set,.sw-obsrow__where,.sw-tile__obs--none){font-family:var(--sw-font-mono);font-size:var(--sw-t-micro);color:var(--sw-ink-faint);font-weight:400}
.sw-hub .sw-sec{padding-block:var(--sw-6);border-block-start:1px solid var(--sw-line)}
.sw-hub .sw-hero+.sw-sec{border-block-start:0}
.sw-hub :is(.sw-eyebrow,.sw-tile__eyebrow,.sw-lane__eyebrow,.sw-lane__label,.sw-refs__h,.sw-setgroup__h,.sw-stat dt,.sw-gradecell__g,.sw-poprow__k,.sw-method__list dt,.sw-ladder__row--head,.sw-filter__grid label){font-family:var(--sw-font-mono);font-size:var(--sw-t-micro);letter-spacing:var(--sw-track-caps);text-transform:uppercase;color:var(--sw-ink-muted)}
.sw-hub .sw-h1{font-family:var(--sw-font-display);font-weight:400;font-size:var(--sw-t-h1);line-height:1.1;letter-spacing:-.018em;margin:var(--sw-2) 0 var(--sw-3);color:var(--sw-ink)}
.sw-hub .sw-h2{font-family:var(--sw-font-display);font-weight:400;font-size:var(--sw-t-h1);line-height:1.15;letter-spacing:-.015em;margin:0 0 var(--sw-3);color:var(--sw-ink);display:flex;flex-wrap:wrap;gap:var(--sw-3);align-items:baseline}
.sw-hub .sw-h3{font-size:var(--sw-t-h3);font-weight:600;margin:var(--sw-5) 0 var(--sw-2);color:var(--sw-ink)}
.sw-hub :is(.sw-lede,.sw-sub){font-size:var(--sw-t-body);line-height:1.55;color:var(--sw-ink-muted);max-inline-size:68ch;margin-block-end:var(--sw-4)}
.sw-hub .sw-sub{font-size:clamp(1rem,.94rem + .35vw,1.18rem)}
.sw-hub .sw-hero--segment .sw-sub{color:var(--sw-ink);max-inline-size:74ch}
.sw-hub .sw-facts{font-family:var(--sw-font-mono);font-size:var(--sw-t-sm);color:var(--sw-ink-muted);margin-block-end:var(--sw-4)}
.sw-hub :is(.sw-cover,.sw-basis){font-size:var(--sw-t-sm);color:var(--sw-ink-muted);max-inline-size:74ch;margin-block-start:var(--sw-4)}
.sw-hub .sw-basis{margin-block:0 var(--sw-4)}
.sw-hub .sw-seclink{display:inline-block;margin-block-start:var(--sw-4);font-size:var(--sw-t-sm)}
.sw-hub .sw-hero{padding-block-end:var(--sw-6);max-inline-size:860px}
.sw-hub .search{margin-block:var(--sw-5) var(--sw-4)}
.sw-hub .sw-quicklinks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sw-3)}
.sw-hub .sw-quick{display:flex;flex-direction:column;gap:2px;padding:var(--sw-3) var(--sw-4);border:1px solid var(--sw-line-control);border-radius:var(--sw-r-sm);background:var(--sw-surface);color:var(--sw-ink);text-decoration:none}
.sw-hub .sw-quick b{font-weight:600;font-size:var(--sw-t-sm)}
.sw-hub .sw-quick span{font-family:var(--sw-font-mono);font-size:var(--sw-t-micro);letter-spacing:.06em;text-transform:uppercase;color:var(--sw-ink-faint)}
.sw-hub .sw-quick--here{border-color:var(--sw-gold);background:var(--sw-gold-wash)}
.sw-hub .sw-quicklinks--segment{max-inline-size:560px;margin-block-start:var(--sw-2)}
.sw-hub .sw-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,10.5rem),1fr));gap:1px;background:var(--sw-line);border:1px solid var(--sw-line)}
.sw-hub .sw-stat{background:var(--sw-surface);padding:var(--sw-3) var(--sw-4);display:flex;flex-direction:column;gap:2px}
.sw-hub .sw-stat dd{margin:0;font-family:var(--sw-font-mono);font-size:var(--sw-t-price-md);font-weight:500;color:var(--sw-ink);font-variant-numeric:tabular-nums}
.sw-hub .sw-stat .sw-stat__def{font-family:var(--sw-font-ui);font-size:var(--sw-t-xs);font-weight:400;color:var(--sw-ink-faint)}
.sw-hub .sw-lanes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sw-4)}
.sw-hub .sw-lane{display:flex;flex-direction:column;gap:var(--sw-2);padding:var(--sw-4);border:1px solid var(--sw-line);border-block-start:2px solid var(--sw-line-strong);background:var(--sw-surface)}
.sw-hub .sw-lane[data-segment="vintage"]{border-block-start-color:var(--sw-gold)}
.sw-hub .sw-lane__name{font-family:var(--sw-font-display);font-weight:400;font-size:var(--sw-t-h2);margin:0;color:var(--sw-ink)}
.sw-hub .sw-lane__desc{font-size:var(--sw-t-sm);color:var(--sw-ink-muted);line-height:1.5}
.sw-hub .sw-lane__label{margin-block-start:var(--sw-3);padding-block-start:var(--sw-3);border-block-start:1px solid var(--sw-line)}
.sw-hub .sw-lane__cta{margin-block-start:auto;align-self:flex-start}
.sw-hub .sw-empty--tight{margin:0}
.sw-hub .sw-ref{display:inline-flex;flex-wrap:wrap;align-items:baseline;column-gap:var(--sw-2);row-gap:2px}
.sw-hub .sw-ref__fig{font-family:var(--sw-font-mono);font-size:var(--sw-t-price-md);font-weight:500;color:var(--sw-ink);letter-spacing:-.005em}
.sw-hub :is(.sw-ref__grade,.sw-mv__sub){font-family:var(--sw-font-mono);font-size:var(--sw-t-micro);letter-spacing:.06em;text-transform:uppercase;color:var(--sw-ink-muted)}
.sw-hub .sw-ref__src{font-family:var(--sw-font-mono);font-size:var(--sw-t-micro);color:var(--sw-ink-faint);flex-basis:100%}
.sw-hub .sw-dash{color:var(--sw-ink-faint);font-family:var(--sw-font-mono);cursor:help}
.sw-hub .sw-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,20rem),1fr));gap:var(--sw-3)}
.sw-hub .sw-tiles--compact{grid-template-columns:repeat(auto-fill,minmax(min(100%,16rem),1fr))}
.sw-hub .sw-tiles--one{grid-template-columns:1fr}
.sw-hub .sw-tile{display:flex;gap:var(--sw-3);padding:var(--sw-3);border:1px solid var(--sw-line);background:var(--sw-surface)}
.sw-hub .sw-tile__plate{flex:none;inline-size:44px;block-size:60px;display:grid;place-items:center;border:1px solid var(--sw-line-strong);background:var(--sw-surface-2);color:var(--sw-ink-faint);font-size:var(--sw-t-xs);border-radius:var(--sw-r-xs)}
.sw-hub .sw-tile__body{display:flex;flex-direction:column;gap:3px}
.sw-hub .sw-tile__name{font-size:var(--sw-t-sm);font-weight:600;margin:0;line-height:1.3}
.sw-hub .sw-tile__meta{font-size:var(--sw-t-xs);color:var(--sw-ink-muted)}
.sw-hub .sw-tile__obs{margin-block-start:var(--sw-2);padding-block-start:var(--sw-2);border-block-start:1px solid var(--sw-line)}
.sw-hub .sw-empty{display:flex;gap:var(--sw-3);align-items:flex-start;padding:var(--sw-3) var(--sw-4);margin-block:var(--sw-2) var(--sw-4);border:1px dashed var(--sw-line-strong);background:var(--sw-surface);color:var(--sw-ink-muted);font-size:var(--sw-t-sm);line-height:1.5;max-inline-size:74ch}
.sw-hub .sw-empty__dash{font-family:var(--sw-font-mono);color:var(--sw-ink-faint);flex:none}
.sw-hub .sw-tabs{margin-block-end:var(--sw-5)}
.sw-hub .sw-tabs__list{display:flex;flex-wrap:wrap;gap:2px;border-block-end:1px solid var(--sw-line);margin-block-end:var(--sw-3)}
.sw-hub .sw-tab{font:inherit;font-size:var(--sw-t-sm);color:var(--sw-ink-muted);background:transparent;border:0;border-block-end:2px solid transparent;padding:var(--sw-2) var(--sw-3);margin-block-end:-1px;cursor:pointer;min-block-size:40px}
.sw-hub .sw-tab:hover{color:var(--sw-ink)}
.sw-hub .sw-tab[aria-selected="true"]{color:var(--sw-ink);border-block-end-color:var(--sw-gold)}
.sw-hub .sw-tabs__panel[hidden]{display:none}
.sw-hub .sw-refs{margin-block-start:var(--sw-4)}
.sw-hub .sw-refs__h{margin-block-end:var(--sw-2);color:var(--sw-gold-text)}
.sw-hub .sw-refs__lede{font-size:var(--sw-t-sm);color:var(--sw-ink-muted);max-inline-size:74ch;margin-block-end:var(--sw-3)}
.sw-hub .sw-obslist{border-block-start:1px solid var(--sw-line)}
.sw-hub .sw-obsrow{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:var(--sw-2) var(--sw-4);padding:var(--sw-2) 0;border-block-end:1px solid var(--sw-line)}
.sw-hub .sw-obsrow[hidden]{display:none}
.sw-hub .sw-obsrow__card{display:flex;flex-direction:column;gap:1px;font-size:var(--sw-t-sm);font-weight:600;flex:1 1 18rem}
.sw-hub .sw-obsrow__val .sw-ref{justify-content:flex-end;text-align:end}
.sw-hub .sw-more{margin-block-start:var(--sw-3)}
.sw-hub .sw-mv-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sw-4)}
.sw-hub .sw-mv__h{font-size:var(--sw-t-h3);font-weight:600;margin:0 0 var(--sw-3);display:flex;flex-wrap:wrap;gap:var(--sw-2);align-items:baseline}
.sw-hub .sw-mv .sw-tiles{grid-template-columns:1fr}
.sw-hub .sw-chips{display:flex;flex-wrap:wrap;gap:var(--sw-2)}
.sw-hub .sw-chip{display:inline-flex;align-items:center;gap:var(--sw-2);min-block-size:32px;padding:0 var(--sw-3);border:1px solid var(--sw-line-control);border-radius:var(--sw-r-sm);background:var(--sw-surface);color:var(--sw-ink);font-size:var(--sw-t-sm);text-decoration:none}
.sw-hub .sw-chip .num{color:var(--sw-ink-faint);font-size:var(--sw-t-xs)}
.sw-hub .sw-setgroups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sw-5)}
.sw-hub .sw-setgroup__h{margin:0 0 var(--sw-2);padding-block-end:var(--sw-2);border-block-end:1px solid var(--sw-line)}
.sw-hub .sw-setlist li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--sw-2) var(--sw-3);padding:var(--sw-2) 0;border-block-end:1px solid var(--sw-line);font-size:var(--sw-t-sm)}
.sw-method{border-block-start:1px solid var(--sw-line);padding-block-start:var(--sw-6)}
.sw-method__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sw-4) var(--sw-5);margin:0 0 var(--sw-4)}
.sw-method__list dt{font-family:var(--sw-font-mono);font-size:var(--sw-t-micro);letter-spacing:var(--sw-track-caps);text-transform:uppercase;color:var(--sw-ink-muted);margin-block-end:4px}
.sw-method__list dd{margin:0;font-size:var(--sw-t-sm);color:var(--sw-ink);line-height:1.5}
.sw-hub .sw-bluechip{padding:var(--sw-4);border:1px solid var(--sw-line);background:var(--sw-surface);margin-block-end:var(--sw-3)}
.sw-hub .sw-bluechip__name{font-family:var(--sw-font-display);font-weight:400;font-size:var(--sw-t-h2);margin:2px 0 var(--sw-3)}
.sw-hub .sw-graderow{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:1px;background:var(--sw-line);border:1px solid var(--sw-line)}
.sw-hub .sw-gradecell{background:var(--sw-surface-2);padding:var(--sw-2) var(--sw-3);display:flex;flex-direction:column;gap:4px;min-block-size:64px}
.sw-hub .sw-gradecell--none{background:var(--sw-surface)}
.sw-hub .sw-gradecell__v .sw-ref__fig,.sw-hub .sw-gradecell__v.sw-dash,.sw-hub .sw-ladder__g .sw-ref__fig{font-size:var(--sw-t-sm)}
.sw-hub .sw-poprow{margin-block-start:var(--sw-3);font-size:var(--sw-t-sm);display:flex;flex-wrap:wrap;gap:var(--sw-2) var(--sw-4);align-items:baseline}
.sw-hub .sw-poprow__v b{font-weight:500}
.sw-hub .sw-families{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,16rem),1fr));gap:var(--sw-3)}
.sw-hub .sw-family{display:flex;flex-direction:column;gap:2px;padding:var(--sw-3) var(--sw-4);border:1px solid var(--sw-line);background:var(--sw-surface)}
.sw-hub .sw-family__name{font-weight:600;font-size:var(--sw-t-sm)}
.sw-hub .sw-ladder__card{margin-block-end:var(--sw-3);display:flex;flex-wrap:wrap;gap:var(--sw-2) var(--sw-3);align-items:baseline}
.sw-hub .sw-ladder__name{font-weight:600}
.sw-hub .sw-ladder{border:1px solid var(--sw-line)}
.sw-hub .sw-ladder__row{display:grid;grid-template-columns:minmax(8rem,1fr) 6rem minmax(0,3fr);gap:var(--sw-3);align-items:start;padding:var(--sw-3) var(--sw-4);border-block-end:1px solid var(--sw-line);background:var(--sw-surface)}
.sw-hub .sw-ladder__row:last-child{border-block-end:0}
.sw-hub .sw-ladder__row--head{background:var(--sw-surface-2);padding-block:var(--sw-2)}
.sw-hub .sw-ladder__printing{font-weight:600;font-size:var(--sw-t-sm)}
.sw-hub .sw-ladder__run{font-family:var(--sw-font-mono);font-size:var(--sw-t-price-md);font-weight:500;color:var(--sw-gold-text)}
.sw-hub .sw-ladder__grades{display:flex;flex-wrap:wrap;gap:var(--sw-2) var(--sw-5)}
.sw-hub .sw-treatments{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,14rem),1fr));gap:var(--sw-2)}
.sw-hub .sw-treatment{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--sw-2);padding:var(--sw-2) var(--sw-3);border:1px solid var(--sw-line);background:var(--sw-surface);font-size:var(--sw-t-sm)}
.sw-hub .sw-treatments__none{margin:var(--sw-2) 0 0;font-size:var(--sw-t-xs)}
.sw-hub .sw-treatment__name{font-weight:600;flex:1 1 auto}
.sw-hub .sw-drawer{margin-block:var(--sw-3) var(--sw-4);border:0;background:none;padding:0}
.sw-hub .sw-drawer>summary{list-style:none;cursor:pointer;display:inline-flex;padding-inline:var(--sw-3)}
.sw-hub .sw-drawer>summary::-webkit-details-marker{display:none}
.sw-hub .sw-drawer[open]>summary{border-color:var(--sw-gold)}
.sw-hub .sw-filter{margin-block-start:var(--sw-3);padding:var(--sw-4);border:1px solid var(--sw-line);background:var(--sw-surface)}
.sw-hub .sw-filter__lede{margin-block-end:var(--sw-3);font-size:var(--sw-t-xs)}
.sw-hub .sw-filter__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,11rem),1fr));gap:var(--sw-3)}
.sw-hub .sw-filter__grid label{display:flex;flex-direction:column;gap:4px}
.sw-hub .sw-filter :is(select,input){font:inherit;font-size:var(--sw-t-sm);text-transform:none;letter-spacing:0;min-block-size:36px;padding:0 var(--sw-2);border:1px solid var(--sw-line-control);border-radius:var(--sw-r-sm);background:var(--sw-surface-2);color:var(--sw-ink);inline-size:100%}
.sw-hub .sw-filter__foot{margin-block-start:var(--sw-3);display:flex;flex-wrap:wrap;gap:var(--sw-2);align-items:center}
.sw-hub .sw-rows{border-block-start:1px solid var(--sw-line)}
.sw-hub .sw-row{display:grid;grid-template-columns:minmax(12rem,2fr) minmax(7rem,1fr) minmax(9rem,1.4fr) minmax(7rem,1fr);gap:var(--sw-2) var(--sw-4);align-items:baseline;padding:var(--sw-3) 0;border-block-end:1px solid var(--sw-line)}
.sw-hub .sw-row[hidden]{display:none}
.sw-hub .sw-row__card{display:flex;flex-direction:column;gap:1px;font-size:var(--sw-t-sm);font-weight:600}
.sw-hub .sw-row__printing{font-size:var(--sw-t-sm)}
.sw-hub .sw-row__cell{font-size:var(--sw-t-xs);display:flex;flex-wrap:wrap;gap:var(--sw-2);align-items:baseline}
.sw-hub .sw-filter-none{padding-block:var(--sw-2) 0;color:var(--sw-ink-muted);font-size:var(--sw-t-sm)}
.sw-hub .sw-movers-empty .sw-h3{margin-block-start:var(--sw-3)}
@media (max-width:1000px){
  .sw-hub :is(.sw-mv-grid,.sw-setgroups){grid-template-columns:1fr}
  .sw-hub .sw-mv .sw-tiles{grid-template-columns:repeat(auto-fill,minmax(min(100%,18rem),1fr))}
  .sw-hub .sw-graderow{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:720px){
  .sw-hub{padding-block:var(--sw-5) var(--sw-6)}
  .sw-hub .sw-sec{padding-block:var(--sw-5)}
  .sw-hub :is(.sw-lanes,.sw-quicklinks,.sw-tiles,.sw-tiles--compact,.sw-mv .sw-tiles,.sw-ladder__row,.sw-row){grid-template-columns:1fr}
  .sw-method__list{grid-template-columns:1fr}
  .sw-hub .sw-h2{font-size:var(--sw-t-h2-lead)}
  .sw-hub :is(.sw-ladder__row,.sw-row){gap:var(--sw-1)}
  .sw-hub .sw-ladder__row--head{display:none}
  .sw-hub .sw-obsrow__val .sw-ref{justify-content:flex-start;text-align:start}
}
@media (max-width:480px){
  .sw-hub :is(.sw-graderow,.sw-stats){grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* ---- tables.css ---- */
/* site/css/star-wars/tables.css — Jane-B (Lumen). Set table · sets index · movers · sales feed ·
   observation tile-in-cell (D-113) · stat strip · typographic image slot · stacked cards ≤720px.
   Only --sp- tokens; sw- prefixed; existing classes referenced only under a .sw- scope. */
main:has(.sw-page) .prose { max-inline-size: none; }
.sw-page .lede { max-inline-size: 74ch; font-size: var(--sp-t-sm); color: var(--sp-ink-muted); }
.sw-page h1 { margin-block: var(--sp-2) var(--sp-3); }
.sw-page h2 { font-size: var(--sp-t-h2); margin-block: 0 var(--sp-3); padding-block-start: 0; border-block-start: 0; }   /* .prose h2 carries its own top rule; .sw-sec already drew one (wave 2) */
.sw-page .sw-h2-count { font-family: var(--sp-font-mono); font-size: var(--sp-t-xs); color: var(--sp-ink-faint); font-weight: 400; margin-inline-start: var(--sp-2); }
.sw-page .sw-h2-link { font-family: var(--sp-font-ui); font-size: var(--sp-t-xs); font-weight: 400; margin-inline-start: var(--sp-3); }
.sw-sec { padding-block: var(--sp-6); border-top: 1px solid var(--sp-line); }
.sw-head { padding-block-end: 0; }
.sw-head .sw-stats { margin-block-end: 0; border-block-end: 0; }   /* the section's own top rule follows; one hairline, not two (wave 2) */
.sw-note { font-size: var(--sp-t-xs); }
.sw-group { margin-block-end: var(--sp-6); }
.sw-seg { display: inline-block; font-family: var(--sp-font-mono); font-size: var(--sp-t-micro); letter-spacing: var(--sp-track-caps);
  text-transform: uppercase; padding: 2px 8px; border: 1px solid var(--sp-line-strong); border-radius: var(--sp-r-pill); color: var(--sp-ink-muted); }
.sw-seg--vintage { border-color: var(--sp-gold-edge); color: var(--sp-gold-text); }
.sw-seg-link { text-decoration: none; }
.sw-chip { display: inline-block; font-family: var(--sp-font-mono); font-size: var(--sp-t-micro); padding: 1px 7px; border: 1px solid var(--sp-line);
  border-radius: var(--sp-r-pill); color: var(--sp-ink-muted); margin-block: 1px; }
.sw-default { font-family: var(--sp-font-mono); font-size: var(--sp-t-micro); color: var(--sp-ink-faint); letter-spacing: var(--sp-track-caps); text-transform: uppercase; }
.sw-sub { display: block; font-size: var(--sp-t-xs); color: var(--sp-ink-muted); }
.sw-cont { color: var(--sp-ink-faint); font-size: var(--sp-t-xs); }
.sw-dash { color: var(--sp-ink-faint); font-family: var(--sp-font-mono); cursor: help; }
.sw-stats { display: flex; flex-wrap: wrap; gap: var(--sp-2) var(--sp-5); margin: var(--sp-4) 0; padding: var(--sp-3) 0; border-block: 1px solid var(--sp-line); }
.sw-stat { display: grid; gap: 2px; min-inline-size: 7rem; }
.sw-stat dt { font-family: var(--sp-font-mono); font-size: var(--sp-t-micro); letter-spacing: var(--sp-track-caps); text-transform: uppercase; color: var(--sp-ink-faint); }
.sw-stat dd { margin: 0; font-size: var(--sp-t-sm); color: var(--sp-ink); }
.sw-stat dd .num { font-size: var(--sp-t-price-sm); }
.sw-stat dd small { display: block; font-size: var(--sp-t-micro); color: var(--sp-ink-faint); }
.sw-thumb { display: inline-grid; place-items: center; inline-size: 40px; block-size: 56px; border: 1px solid var(--sp-line); border-radius: var(--sp-r-xs);
  background: repeating-linear-gradient(135deg, var(--sp-surface-1) 0 3px, transparent 3px 8px); color: var(--sp-ink-muted); flex: 0 0 auto; vertical-align: middle; }
.sw-thumb__mark { font-family: var(--sp-font-mono); font-size: var(--sp-t-micro); letter-spacing: 0.02em; }
.sw-thumb--lg { inline-size: 160px; block-size: 224px; }
.sw-thumb--lg .sw-thumb__mark { font-size: var(--sp-t-h3); }
.sw-legend { font-size: var(--sp-t-xs); color: var(--sp-ink-muted); max-inline-size: 74ch; border-inline-start: 2px solid var(--sp-line-strong); padding-inline-start: var(--sp-3); }
.sw-tiles { list-style: none; margin: 0 0 var(--sp-4); padding: 0; display: grid; gap: var(--sp-3); grid-template-columns: repeat(auto-fill, minmax(min(100%, 15rem), 1fr)); }
.sw-tiles > li { margin: 0; }
/* an observation is content: hairline + surface, like every other tile. Dashed borders mean absence only (wave 2). */
.sw-obs { display: grid; gap: 2px; padding: var(--sp-3); border: 1px solid var(--sp-line); border-radius: var(--sp-r-sm); background: var(--sp-surface-1); }
.sw-obs p { margin: 0; line-height: 1.35; }
.sw-obs__card { font-weight: 600; font-size: var(--sp-t-sm); }
.sw-obs__set { display: block; font-size: var(--sp-t-xs); color: var(--sp-ink-muted); }
.sw-obs__fig { font-size: var(--sp-t-sm); }
.sw-obs__fig b { font-family: var(--sp-font-mono); font-size: var(--sp-t-price-sm); font-weight: 500; color: var(--sp-ink); }
.sw-obs__grade { font-family: var(--sp-font-mono); font-size: var(--sp-t-xs); color: var(--sp-ink-muted); margin-inline-start: var(--sp-1); }
.sw-obs__src, .sw-obs__liq { font-size: var(--sp-t-micro); color: var(--sp-ink-faint); }
.sw-obs__src .num, .sw-obs__meta .num { white-space: nowrap; }
.sw-obs__liq { font-style: italic; }
.sw-obs--cell { display: inline-grid; padding: 2px 6px; border-width: 1px; gap: 0; text-align: end; justify-items: end; max-inline-size: 8.5rem; }
.sw-obs--cell b { font-family: var(--sp-font-mono); font-weight: 500; font-size: var(--sp-t-sm); color: var(--sp-ink); }
.sw-obs__meta { font-size: var(--sp-t-micro); color: var(--sp-ink-faint); line-height: 1.3; }
/* ONE empty-state grammar across every Star Wars page: the hub's dashed box (hub.css .sw-hub .sw-empty) — the hatch
   read as a third grammar next to the landing's dashed box and the set page's plain line (wave 2). */
.sw-empty { font-size: var(--sp-t-sm); color: var(--sp-ink-muted); max-inline-size: 74ch; padding: var(--sp-3) var(--sp-4); margin-block: var(--sp-2) var(--sp-4);
  border: 1px dashed var(--sp-line-strong); background: var(--sp-surface-1); line-height: 1.5; }
.sw-empty--tight { padding: var(--sp-2) var(--sp-3); margin: 0; font-size: var(--sp-t-xs); }
.sw-refusal { padding: var(--sp-4) 0; }
.sw-refusal__ev { font-size: var(--sp-t-xs); color: var(--sp-ink-faint); margin: var(--sp-2) 0 0; }
.sw-tablewrap { overflow-x: auto; -webkit-overflow-scrolling: touch; margin-block-end: var(--sp-4); }
.sw-page .sw-table { min-inline-size: 0; inline-size: 100%; }
.sw-table th { white-space: nowrap; }
.sw-table td { vertical-align: middle; font-size: var(--sp-t-sm); }
.sw-table td[data-col="thumb"] { inline-size: 40px; padding-inline-end: 0; }
.sw-table td[data-col="card"] a, .sw-table td[data-label="Card"] a { font-weight: 600; }
.sw-table tr.sw-row--cont td { color: var(--sp-ink-muted); }
.sw-table tr.sw-row--cont td[data-col="card"], .sw-table tr.sw-row--cont td[data-col="thumb"], .sw-table tr.sw-row--cont td[data-col="num"] { border-bottom-color: transparent; }
.sw-table td[data-col="grade"] { min-inline-size: 5.5rem; }
.sw-table--set th, .sw-table--set td { padding-inline: var(--sp-2); }
.sw-table th[data-sw-sort] { cursor: pointer; user-select: none; }
.sw-table th[data-sw-sort]::after { content: " ⇅"; font-size: 0.8em; color: var(--sp-ink-faint); }
.sw-table th[aria-sort="ascending"]::after { content: " ▲"; color: var(--sp-gold); }
.sw-table th[aria-sort="descending"]::after { content: " ▼"; color: var(--sp-gold); }
.sw-table td[data-label] { position: relative; }
.sw-more { margin: var(--sp-2) 0 var(--sp-4); }
.sw-page .tbl caption { caption-side: bottom; padding-block-start: var(--sp-2); }
.sw-cardlist { list-style: none; margin: 0; padding: 0; }
.sw-cardrow { display: grid; grid-template-columns: 40px 1fr minmax(14rem, 18rem); gap: var(--sp-3) var(--sp-4); align-items: start; padding: var(--sp-4) 0; border-bottom: 1px solid var(--sp-line); margin: 0; }
.sw-cardrow p { margin: 0 0 2px; line-height: 1.4; }
.sw-cardrow__title { font-weight: 600; }
.sw-cardrow__meta { font-size: var(--sp-t-xs); color: var(--sp-ink-muted); }
.sw-cardrow__ladder { font-size: var(--sp-t-xs); color: var(--sp-ink-muted); }
.sw-cardrow__k { font-family: var(--sp-font-mono); font-size: var(--sp-t-micro); letter-spacing: var(--sp-track-caps); text-transform: uppercase; color: var(--sp-ink-faint); margin-inline-end: var(--sp-1); }
.sw-cardrow__fig .sw-cardrow__k { display: block; margin-block-start: var(--sp-2); }
.sw-setlist { list-style: none; padding: 0; margin: 0; columns: 2; column-gap: var(--sp-6); }
.sw-setlist li { break-inside: avoid; margin-block-end: var(--sp-2); }
.sw-mv { margin-block-end: var(--sp-4); }
.sw-page .sw-mv h3 { margin-block: var(--sp-3) var(--sp-2); display: flex; align-items: center; gap: var(--sp-2); }
.sw-aliases { font-size: var(--sp-t-xs); color: var(--sp-ink-muted); }
.sw-rules { padding-inline-start: 1.4em; max-inline-size: 74ch; }
.sw-rules li { margin-block-end: var(--sp-2); font-size: var(--sp-t-sm); color: var(--sp-ink-muted); }
.sw-rules b, .sw-steps b { color: var(--sp-ink); }
.sw-steps { list-style: none; counter-reset: sw-step; padding: 0; margin: 0 0 var(--sp-4); display: grid; gap: 0; grid-template-columns: repeat(5, 1fr); border: 1px solid var(--sp-line); border-radius: var(--sp-r-sm); overflow: hidden; }
.sw-steps li { counter-increment: sw-step; padding: var(--sp-3); border-inline-end: 1px solid var(--sp-line); margin: 0; display: grid; gap: 4px; align-content: start; font-size: var(--sp-t-xs); color: var(--sp-ink-muted); }
.sw-steps li:last-child { border-inline-end: 0; }
.sw-steps li::before { content: counter(sw-step, decimal-leading-zero); font-family: var(--sp-font-mono); font-size: var(--sp-t-micro); color: var(--sp-ink-faint); }
.sw-pipeline__ex { font-size: var(--sp-t-xs); color: var(--sp-ink-muted); }
@media (max-width: 720px) {
  .sw-table thead { position: absolute; inline-size: 1px; block-size: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .sw-table, .sw-table tbody { display: block; inline-size: 100%; }
  .sw-page .sw-table caption { display: block; inline-size: 100%; }
  .sw-table tr { display: grid; grid-template-columns: 40px 1fr; gap: 3px var(--sp-3); padding: var(--sp-3) 0; border-bottom: 1px solid var(--sp-line); }
  .sw-table tr.sw-row--cont { padding-block-start: 0; border-top: 0; }
  .sw-table td { display: block; grid-column: 2; border: 0; padding: 0; text-align: start; font-size: var(--sp-t-sm); }
  .sw-table td[data-col="thumb"] { grid-column: 1; grid-row: 1 / span 3; }
  .sw-table td[data-label] { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px var(--sp-2); }
  .sw-table td[data-label]::before { content: attr(data-label); flex: 0 0 5.5rem; font-family: var(--sp-font-mono); font-size: var(--sp-t-micro);
    letter-spacing: var(--sp-track-caps); text-transform: uppercase; color: var(--sp-ink-faint); }
  .sw-table td[data-col="card"], .sw-table td[data-label="Card"] { font-size: var(--sp-t-body); display: block; }
  .sw-table td[data-col="card"]::before, .sw-table td[data-label="Card"]::before, .sw-table td[data-label="Set"]::before, .sw-table td[data-col="num"]::before { display: none; }
  .sw-table td[data-col="num"] { font-size: var(--sp-t-micro); color: var(--sp-ink-faint); display: block; }
  
  .sw-table td[data-col="grade"]:has(> .sw-dash:only-child), .sw-table td[data-col="sales"]:has(> .sw-dash:only-child), .sw-table td[data-col="delta"]:has(> .sw-dash:only-child) { display: none; }
  .sw-table tr:not(:has(td[data-col="thumb"])) { grid-template-columns: 1fr; }
  .sw-table tr:not(:has(td[data-col="thumb"])) td { grid-column: 1; }
  .sw-table td.num { text-align: start; }
  .sw-obs--cell { display: inline-flex; flex-wrap: wrap; column-gap: var(--sp-2); align-items: baseline; justify-items: start; text-align: start; max-inline-size: none; }
  .sw-cardrow { grid-template-columns: 40px 1fr; }
  .sw-cardrow__fig { grid-column: 2; }
  .sw-setlist { columns: 1; }
  .sw-steps { grid-template-columns: 1fr; }
  .sw-steps li { border-inline-end: 0; border-block-end: 1px solid var(--sp-line); }
  .sw-steps li:last-child { border-block-end: 0; }
  .sw-stats { gap: var(--sp-2) var(--sp-4); }
  .sw-stat { min-inline-size: 6rem; }
}

/* ---- card.css ---- */
/* site/css/star-wars/card.css — Jane-B (Vault). The card page: identity header · printing rail
   (≤6 visible, wrap, never a horizontal scroller — doc 10) · grade row · the plate · the D-113
   observation block, visibly apart from the plate · the doc 14 empty chart panel. */
.sw-cardhead { display: grid; grid-template-columns: 1fr auto; gap: var(--sp-5); align-items: start; }
.sw-cardhead__num { font-size: 0.6em; color: var(--sp-ink-muted); vertical-align: 0.25em; }
.sw-cardhead__sub { font-family: var(--sp-font-display); font-size: var(--sp-t-h3); color: var(--sp-ink-muted); margin: 0 0 var(--sp-2); }
.sw-cardhead__meta { font-size: var(--sp-t-sm); color: var(--sp-ink-muted); }
.sw-cardhead__art { display: grid; gap: var(--sp-2); justify-items: center; max-inline-size: 160px; }
.sw-noimg { font-size: var(--sp-t-micro); color: var(--sp-ink-faint); text-align: center; margin: 0; }
.sw-scope__k { font-family: var(--sp-font-mono); font-size: var(--sp-t-micro); letter-spacing: var(--sp-track-caps); text-transform: uppercase; color: var(--sp-ink-faint); margin: var(--sp-3) 0 var(--sp-2); }
.sw-rail { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 12rem), 1fr)); gap: var(--sp-2); }
.sw-rail__btn { appearance: none; text-align: start; display: grid; gap: 2px; padding: var(--sp-2) var(--sp-3); min-block-size: 56px; font: inherit; cursor: pointer;
  background: var(--sp-surface-1); color: var(--sp-ink); border: 1px solid var(--sp-line); border-radius: var(--sp-r-sm); }
.sw-rail__btn:hover { background: var(--sp-surface-2); }
.sw-rail__btn[aria-pressed="true"] { border-color: var(--sp-gold); background: var(--sp-gold-wash); }
.sw-rail__btn:focus-visible { outline: none; box-shadow: var(--sp-focus); }
.sw-rail__btn[data-pollution="true"] { border-style: dashed; color: var(--sp-ink-muted); }
.sw-rail__name { font-size: var(--sp-t-sm); font-weight: 600; }
.sw-rail__meta, .sw-rail__refs { font-family: var(--sp-font-mono); font-size: var(--sp-t-micro); color: var(--sp-ink-faint); }
.sw-rail__more { margin-block-start: var(--sp-2); }
.sw-rail__more > summary { cursor: pointer; font-size: var(--sp-t-xs); color: var(--sp-ink-muted); padding: var(--sp-2) 0; }
.sw-rail__more[open] > summary { margin-block-end: var(--sp-2); }
.sw-grades { display: flex; flex-wrap: wrap; gap: var(--sp-2); }
.sw-grade { appearance: none; display: grid; gap: 0; justify-items: center; min-inline-size: 5.5rem; min-block-size: 44px; padding: 4px 10px; font: inherit; cursor: pointer;
  background: var(--sp-surface-1); color: var(--sp-ink); border: 1px solid var(--sp-line); border-radius: var(--sp-r-sm); }
.sw-grade span { font-family: var(--sp-font-mono); font-size: var(--sp-t-sm); }
.sw-grade small { font-size: var(--sp-t-micro); color: var(--sp-ink-faint); }
.sw-grade:hover { background: var(--sp-surface-2); }
.sw-grade[aria-pressed="true"] { border-color: var(--sp-gold); background: var(--sp-gold-wash); }
.sw-grade:focus-visible { outline: none; box-shadow: var(--sp-focus); }
.sw-scope__now { font-family: var(--sp-font-mono); font-size: var(--sp-t-xs); color: var(--sp-ink-muted); margin: var(--sp-3) 0 0; }
.sw-plate { display: grid; margin: 0 0 var(--sp-4); border: 1px solid var(--sp-line); border-radius: var(--sp-r-md); background: var(--sp-surface-1); overflow: hidden; }
.sw-plate__row { display: grid; grid-template-columns: 9rem 1fr; gap: var(--sp-3); padding: var(--sp-3) var(--sp-4); border-bottom: 1px solid var(--sp-line); margin: 0; }
.sw-plate__row:last-child { border-bottom: 0; }
.sw-plate__row dt { font-family: var(--sp-font-mono); font-size: var(--sp-t-micro); letter-spacing: var(--sp-track-caps); text-transform: uppercase; color: var(--sp-ink-faint); padding-block-start: 3px; }
.sw-plate__row dd { margin: 0; font-size: var(--sp-t-sm); color: var(--sp-ink-muted); line-height: 1.5; }
.sw-plate__row--lead { background: var(--sp-surface-2); }
.sw-plate__row--lead dd { font-size: var(--sp-t-body); color: var(--sp-ink); }
.sw-plate__row--lead dd .ccell b { font-size: var(--sp-t-price-lg); }
.sw-plate--secondary { background: transparent; }
.sw-pop b { color: var(--sp-ink); font-size: var(--sp-t-price-sm); }
.sw-refs { border-top: 1px dashed var(--sp-line-strong); }
.sw-page .sw-refs__h { font-family: var(--sp-font-mono); font-size: var(--sp-t-xs); font-weight: 500; letter-spacing: 0.02em; color: var(--sp-ink-muted); margin: var(--sp-3) 0 var(--sp-2); }
.sw-refs__h--other { margin-block-start: var(--sp-4); }
.sw-tiles--refs { grid-template-columns: repeat(auto-fill, minmax(min(100%, 13rem), 1fr)); }
.sw-reflist { list-style: none; margin: 0; padding: 0; }
.sw-reflist li { display: flex; flex-wrap: wrap; gap: var(--sp-2) var(--sp-3); align-items: baseline; padding: var(--sp-2) 0; border-bottom: 1px dashed var(--sp-line); font-size: var(--sp-t-xs); margin: 0; }
.sw-reflist li b { font-family: var(--sp-font-mono); font-weight: 500; color: var(--sp-ink); font-size: var(--sp-t-sm); }
.sw-chart { margin: 0; border: 1px solid var(--sp-line); border-radius: var(--sp-r-md); padding: var(--sp-4); color: var(--sp-ink); }
.sw-chart svg { inline-size: 100%; block-size: auto; display: block; }
.sw-chart--empty { min-block-size: 180px; display: grid; align-content: center; justify-items: start; gap: var(--sp-2);
  background: repeating-linear-gradient(45deg, var(--sp-surface-1) 0 2px, transparent 2px 7px); }
.sw-chart__why { font-size: var(--sp-t-sm); color: var(--sp-ink-muted); max-inline-size: 52ch; margin: 0; }
.sw-chart__alt { font-size: var(--sp-t-xs); color: var(--sp-ink-faint); margin: 0; max-inline-size: 52ch; }
@media (max-width: 720px) {
  .sw-cardhead { grid-template-columns: 1fr; }
  .sw-cardhead__art { grid-template-columns: 96px 1fr; align-items: center; justify-items: start; max-inline-size: none; text-align: start; }
  .sw-cardhead__art .sw-thumb--lg { inline-size: 96px; block-size: 134px; }
  .sw-noimg { text-align: start; }
  .sw-plate__row { grid-template-columns: 1fr; gap: 2px; }
  .sw-rail { grid-template-columns: 1fr 1fr; }
  .sw-grade { min-inline-size: 4.5rem; flex: 1 1 4.5rem; }
}

/* ---- filters.css ---- */
/* site/css/star-wars/filters.css — Jane-B (Lumen). Tabs · CSS-only period segmented control ·
   filter drawer · filter grid. Every control works with JS off: the period radios switch panels
   through the sibling combinator, the drawer is a native <details>, the tabs are server-rendered
   with the first panel visible (JS only swaps aria-selected / hidden). */
.sw-toolbar { display: flex; flex-wrap: wrap; gap: var(--sp-3); align-items: flex-start; margin-block: var(--sp-4); }
.sw-movers > input[name="sw-period"] { position: absolute; inline-size: 1px; block-size: 1px; opacity: 0; pointer-events: none; }
.sw-segctl { display: inline-flex; gap: 2px; padding: 3px; border: 1px solid var(--sp-line); border-radius: var(--sp-r-md); background: var(--sp-surface-1); }
.sw-segctl label { font-family: var(--sp-font-mono); font-size: var(--sp-t-xs); letter-spacing: 0.04em; padding: 6px 12px; border-radius: var(--sp-r-sm);
  color: var(--sp-ink-muted); cursor: pointer; border: 1px solid transparent; min-block-size: 32px; display: inline-flex; align-items: center; }
.sw-segctl label:hover { color: var(--sp-ink); }
.sw-movers > input[name="sw-period"]:focus-visible ~ .sw-toolbar .sw-segctl { box-shadow: var(--sp-focus); }
#sw-period-7d:checked ~ .sw-toolbar label[for="sw-period-7d"],
#sw-period-30d:checked ~ .sw-toolbar label[for="sw-period-30d"],
#sw-period-90d:checked ~ .sw-toolbar label[for="sw-period-90d"],
#sw-period-1y:checked ~ .sw-toolbar label[for="sw-period-1y"] { background: var(--sp-surface-3); color: var(--sp-ink); border-color: var(--sp-line-strong); }
.sw-period-panel { display: none; }
#sw-period-7d:checked ~ .sw-tabs [data-sw-period-panel="7d"],
#sw-period-30d:checked ~ .sw-tabs [data-sw-period-panel="30d"],
#sw-period-90d:checked ~ .sw-tabs [data-sw-period-panel="90d"],
#sw-period-1y:checked ~ .sw-tabs [data-sw-period-panel="1y"] { display: block; }
.sw-period-label { font-family: var(--sp-font-mono); font-size: var(--sp-t-micro); letter-spacing: var(--sp-track-caps); text-transform: uppercase; color: var(--sp-ink-faint); margin: var(--sp-3) 0; }
.sw-tablist { display: flex; flex-wrap: wrap; gap: 0; border-bottom: 1px solid var(--sp-line); margin-block-end: var(--sp-2); }
.sw-tablist [role="tab"] { appearance: none; background: none; border: 0; border-bottom: 2px solid transparent; margin-block-end: -1px; padding: var(--sp-2) var(--sp-4);
  font: inherit; font-size: var(--sp-t-sm); color: var(--sp-ink-muted); cursor: pointer; min-block-size: 40px; }
.sw-tablist [role="tab"]:hover { color: var(--sp-ink); }
.sw-tablist [role="tab"][aria-selected="true"] { color: var(--sp-ink); border-bottom-color: var(--sp-gold); }
.sw-tablist [role="tab"]:focus-visible { outline: none; box-shadow: var(--sp-focus); border-radius: var(--sp-r-xs); }
.sw-tabs [role="tabpanel"][hidden] { display: none; }
.sw-drawer { border: 1px solid var(--sp-line); border-radius: var(--sp-r-md); background: var(--sp-surface-1); flex: 1 1 22rem; min-inline-size: 0; }
.sw-drawer > summary { cursor: pointer; padding: 7px var(--sp-4); font-family: var(--sp-font-mono); font-size: var(--sp-t-xs); letter-spacing: 0.04em; color: var(--sp-ink-muted); list-style: none; min-block-size: 38px; display: flex; align-items: center; gap: var(--sp-2); }
.sw-drawer > summary::-webkit-details-marker { display: none; }
.sw-drawer > summary::before { content: "▸"; font-size: 0.8em; color: var(--sp-ink-faint); }
.sw-drawer[open] > summary::before { content: "▾"; }
.sw-drawer > summary:hover { color: var(--sp-ink); }
.sw-drawer > summary:focus-visible { outline: none; box-shadow: var(--sp-focus); border-radius: var(--sp-r-md); }
.sw-filter { padding: var(--sp-2) var(--sp-4) var(--sp-4); border-top: 1px solid var(--sp-line); }
.sw-filter__grid { display: grid; gap: var(--sp-3); grid-template-columns: repeat(auto-fill, minmax(min(100%, 11rem), 1fr)); }
.sw-filter label { display: grid; gap: 4px; font-family: var(--sp-font-mono); font-size: var(--sp-t-micro); letter-spacing: var(--sp-track-caps); text-transform: uppercase; color: var(--sp-ink-faint); }
.sw-filter select, .sw-filter input { font: inherit; font-size: var(--sp-t-sm); color: var(--sp-ink); background: var(--sp-bg); border: 1px solid var(--sp-line-control); border-radius: var(--sp-r-sm);
  padding: 6px 8px; min-block-size: 36px; inline-size: 100%; text-transform: none; letter-spacing: 0; }
.sw-filter select:focus-visible, .sw-filter input:focus-visible { outline: none; box-shadow: var(--sp-focus); }
.sw-filter__foot { display: flex; align-items: center; gap: var(--sp-3); margin: var(--sp-3) 0 0; }
.sw-filter__count { font-family: var(--sp-font-mono); font-size: var(--sp-t-xs); color: var(--sp-ink-muted); }
.sw-filter-none { font-size: var(--sp-t-sm); color: var(--sp-ink-muted); padding: var(--sp-3) 0; }
@media (max-width: 720px) {
  .sw-toolbar { flex-direction: column; align-items: stretch; }
  .sw-drawer { flex-basis: auto; }
  .sw-segctl { inline-size: 100%; justify-content: space-between; }
  .sw-segctl label { flex: 1 1 0; justify-content: center; }
  .sw-tablist [role="tab"] { padding-inline: var(--sp-3); font-size: var(--sp-t-xs); }
}
