/* Midnight Departures skin on the shared game shell: a jet-age airport at midnight, art-directed as a mid-century travel
   label under one key light — the moon, top left, over the apron. The departure concourse in four layers (the night
   apron with the moon, a control tower, parked tails and distant field lights → the glass wall's mullions, lit on their
   moon side → pendant opal lamps under the ceiling → the polished floor), a warm pool of light behind the board, a
   vignette and one static grain; or the runway (rows of edge lights to the horizon); in Night Flight the cabin of a
   night flight. The board in a brushed-aluminium departure-board housing (bevelled: lit edge top left, dark edge
   bottom right; the window recessed under it) with a station clock over it (variant "departure-board"; "clean": a plain
   rim, no clock), the WAYS counter on the housing's top row (boards/flap.css draws the board; its colours are set here),
   the HUD as the board's dark enamel panel with an aluminium trim, a round flap-board dial in machined aluminium for the
   spin button, the runway lights between the base game and Night Flight, luggage tags and ticket stubs for big wins.
   The title is the board's own signage: condensed capitals in the lamp colour with a soft glow, no plate. Theme tokens (--night, --lamp, --ink, --muted, --gold, --plate*, --trim, --wall*, --glass*, --mullion,
   --floor*, --tail, --lampglow, --rw-*, --cab-*, --alu*, --fp-* inks, --dial-ink) come from skin.js themeMap: dark
   presets get light ink on dark plates, the light preset (Terminal White) dark ink on light plates, every text colour
   ≥ 4.5:1 on its plate. The board's plates stay dark on every preset. The accent (--lamp) is decoration only, never
   text. Animated properties: transform and opacity only; no filter on a cell. */
:root{
  --night:#0C0F13; --lamp:#27F3CD; --ink:#F4EBD0; --muted:#C9CED6; --gold:#FEEF20; --plate:#07080A; --plate-hi:#191C21; --plate-edge:#5D5A20; --trim:rgba(201,208,216,.3);
  --wall:#121B26; --wall-lo:#080A0D; --glass-top:#0B1220; --glass-low:#172A45; --mullion:#050608; --floor:#1A2028; --floor-lo:#070809; --tail:#07090C; --lampglow:rgba(255,214,140,.38);
  --rw-sky:#0D1625; --rw-ground:#08090C; --rw-strip:#1E2228; --rw-edge:#F2B134; --rw-centre:#E8F1FF;
  --cab-wall:#1E232B; --cab-sky:#0B1424; --cab-shade:#262C35;
  --alu-hi:#D9DEE4; --alu:#9AA3AE; --alu-lo:#5B636E; --alu-edge:#252A31;
  --dial-rim:#3A4049; --dial-knurl:#A9B1BB; --dial-face:#1B1F26; --dial-edge:#07090C; --dial-ink:#FEEF20;
  --display:"Big Shoulders Display","Arial Narrow","Helvetica Neue",Arial,sans-serif; --ui:"DM Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --radius:8px; --radius-sm:6px; --line:var(--trim); --panel-border:var(--trim);
  --hud-bg:linear-gradient(180deg,var(--plate-hi),var(--plate)); --ibtn-bg:linear-gradient(180deg,var(--plate-hi),var(--plate)); --ibtn-ink:var(--gold);
  /* the flap board (boards/flap.css): dark plates on every preset; inks from themeMap */
  --fp-plate-hi:#2E333C; --fp-plate-lo:#23272E; --fp-slit:#07090C; --fp-hinge:rgba(255,255,255,.12); --fp-window-bg:#06080B;
  --fp-win:#FEEF20; --fp-win-glow:rgba(254,239,32,.5); --fp-held:#F2B134; --fp-held-hi:#FFE7A8; --fp-ticket:#F4EBD0; --fp-ticket-edge:#B83D27; --fp-tease:var(--lamp);
  --fp-cap-ink:#F6EEB2; --fp-digit-ink:#FEEF20; --fp-digit-hi:#23272E; --fp-digit-lo:#171A1F; --fp-formula-ink:#C9CED6;
  --win-glow:var(--fp-win-glow); --focus:#FFF6A0; --spin-ring:color-mix(in srgb,var(--gold) 80%,transparent);
  --veil-light:color-mix(in srgb,#FFE7A8 16%,transparent);
  color-scheme:var(--scheme,dark);
}
body{background:var(--night);font-family:var(--ui)}

/* ---- scene: the concourse (default), the runway, the cabin of Night Flight; silhouettes are masks from skin.js, the
   lit details (field lights, the lamps, the cabin's view) are pictures in their own colours. Nothing blinks: the lamps
   and the runway lights are steady; the layers fade over 1.2 s. ---- */
.scene{background:linear-gradient(180deg,var(--wall),var(--wall-lo))}
.scene .hall,.scene .runway,.scene .cabin{transition:opacity 1.2s ease}
.scene .hall>i,.scene .runway>i,.scene .cabin>i{position:absolute;inset:0;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:cover;mask-size:cover;-webkit-mask-position:center;mask-position:center}
/* far: the night over the apron, a few stars, the moon (the key light) high on the left */
.scene .hall .sky{background:radial-gradient(circle at 22% 18%,#F4EBD0 0 1px,transparent 1.5px) 0 0/260px 190px,radial-gradient(circle at 64% 9%,#F4EBD0 0 .9px,transparent 1.4px) 0 0/340px 170px,
  linear-gradient(180deg,var(--glass-top) 12%,var(--glass-low) 62%,color-mix(in srgb,var(--glass-low) 70%,#4A4258) 71%,var(--floor) 74%)}
.scene .hall .moon{background:radial-gradient(circle at 17% 21%,#F3ECD9 0 22px,color-mix(in srgb,#F3ECD9 22%,transparent) 23px,color-mix(in srgb,#C9D8EE 9%,transparent) 90px,transparent 300px)}
/* mid: the control tower, parked tails and the terminal's roofline (top-lit by the moon), the field lights */
.scene .hall .tail{background:linear-gradient(180deg,color-mix(in srgb,var(--tail) 78%,#8FA6C8) 52%,var(--tail) 62%);-webkit-mask-image:var(--sw-tail);mask-image:var(--sw-tail)}
.scene .hall .field{background:var(--sw-field) center/cover no-repeat}
/* near: the glass wall's frame, its moon-side edges catching the light */
.scene .hall .glass{background:var(--mullion);-webkit-mask-image:var(--sw-glass);mask-image:var(--sw-glass)}
.scene .hall .glint{background:color-mix(in srgb,#C9D8EE 26%,transparent);-webkit-mask-image:var(--sw-glint);mask-image:var(--sw-glint)}
.scene .hall .ceiling{bottom:auto;height:17%;background:linear-gradient(180deg,var(--wall-lo),var(--wall) 85%,color-mix(in srgb,var(--wall) 70%,#C9D8EE) 100%)}
.scene .hall .lamps{background:var(--sw-lamps) center top/cover no-repeat}
.scene .hall .floor{top:auto;height:26%;background:linear-gradient(180deg,color-mix(in srgb,#C9D8EE 10%,transparent) 0 1px,transparent 1px),
  radial-gradient(ellipse 34% 70% at 50% 0,color-mix(in srgb,#FFE7A8 9%,transparent),transparent 72%),
  radial-gradient(ellipse 14% 60% at 17% 0,color-mix(in srgb,#C9D8EE 7%,transparent),transparent 70%),linear-gradient(180deg,var(--floor),var(--floor-lo))}
/* the board's own light on the wall behind it */
.scene .hall .halo{background:radial-gradient(ellipse 42% 46% at 50% 46%,var(--lampglow),transparent 70%);opacity:.32}
.scene .runway{opacity:0}
.scene .runway .sky{background:radial-gradient(ellipse at 50% 47%,color-mix(in srgb,var(--rw-edge) 20%,transparent),transparent 34%),radial-gradient(circle at 17% 20%,#F3ECD9 0 18px,color-mix(in srgb,#F3ECD9 14%,transparent) 19px,transparent 160px),
  linear-gradient(180deg,var(--rw-sky) 0 30%,color-mix(in srgb,var(--rw-sky) 80%,#4A4258) 47.6%,var(--rw-ground) 47.8%)}
.scene .runway .strip{background:linear-gradient(180deg,color-mix(in srgb,var(--rw-strip) 60%,#000),var(--rw-strip));-webkit-mask-image:var(--sw-strip);mask-image:var(--sw-strip);-webkit-mask-position:center bottom;mask-position:center bottom}
.scene .runway .centre{background:var(--rw-centre);-webkit-mask-image:var(--sw-centre);mask-image:var(--sw-centre);-webkit-mask-position:center bottom;mask-position:center bottom}
.scene .runway .edge{background:var(--rw-edge);-webkit-mask-image:var(--sw-edge);mask-image:var(--sw-edge);-webkit-mask-position:center bottom;mask-position:center bottom}
body.bg-runway .scene .runway{opacity:1}
body.bg-runway .scene .hall{opacity:0}
/* Night Flight: the cabin (its windows onto the night are drawn in their own colours by skin.js) */
.scene .cabin{opacity:0}
.scene .cabin .wall{background:radial-gradient(ellipse at 50% 42%,color-mix(in srgb,var(--cab-wall) 80%,#FFE7A8) 0,var(--cab-wall) 40%,color-mix(in srgb,var(--cab-wall) 60%,#000) 100%)}
.scene .cabin .view{background:var(--sw-cabin) center/cover no-repeat}
/* portrait phones: the board would hide those windows, so skin.js sets a row of whole windows into the free band
   between the message and the buy row (--row-top, --row-h, --row; height 0 when the band is too low for one) */
.scene .cabin.sw-row .view{top:var(--row-top,0);bottom:auto;height:var(--row-h,0);background:var(--row,none) center/contain no-repeat}
body.fs .scene .cabin{opacity:1}
body.fs .scene .hall,body.fs .scene .runway{opacity:0}
/* one static grain over the whole scene (never on the cells), and the vignette */
.scene .grain{background:var(--sw-grain) 0 0/160px 160px;opacity:.07;mix-blend-mode:overlay}
.scene .vignette{background:radial-gradient(ellipse at 50% 46%,transparent 50%,rgba(0,0,0,.5) 100%)}
body.sw-light .scene .vignette{background:radial-gradient(ellipse at 50% 46%,transparent 55%,rgba(40,50,60,.18) 100%)}
body.sw-light .scene .hall .sky{background:linear-gradient(180deg,var(--glass-top) 16%,var(--glass-low) 66%,var(--floor) 74%)}
body.sw-light .scene .hall .moon,body.sw-light .scene .hall .field{background-image:none}
body.sw-light .scene .runway .sky{background:radial-gradient(ellipse at 50% 47%,color-mix(in srgb,var(--rw-edge) 22%,transparent),transparent 34%),linear-gradient(180deg,var(--rw-sky) 0 47.6%,var(--rw-ground) 47.8%)}
body.sw-light .scene .hall .glint{opacity:0}
body.sw-light .scene .grain{opacity:.04}
/* the shell's governed screen flash (big-win tiers): a faint lamp tint, never white (peaks ≈ 14 %) */
.flash{background:radial-gradient(circle at 50% 50%,color-mix(in srgb,#FFE7A8 18%,transparent),transparent 72%)}

/* ---- header: the title is the board's signage — condensed capitals in the lamp colour with a soft lamp glow and a
   small cast shadow; no plate (the shell centres it on the board's axis and balances its tracking). Buttons are dark
   board keys with an aluminium trim. ---- */
.logo h1{font-family:var(--display);font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);
  text-shadow:0 0 22px color-mix(in srgb,var(--gold) 24%,transparent),0 2px 0 rgba(0,0,0,.45)}
body.sw-light .logo h1{text-shadow:none}
.ibtn{border:1px solid var(--trim);border-radius:8px;box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 2px 6px rgba(0,0,0,.35)}
.ibtn:hover{border-color:var(--gold)}

/* ---- the frame: the station clock on its bracket (wide screens), the aluminium housing round the board ---- */
.frame{gap:4px}
.sw-clock{position:relative;display:flex;flex-direction:column;align-items:center;width:calc(var(--cell)*.62);margin-bottom:-2px;pointer-events:none}
.sw-clock .face,.sw-hclock{display:block;width:100%;height:auto}
.sw-clock .face{filter:drop-shadow(1px 3px 3px rgba(0,0,0,.45))}
.sw-clock .bracket{order:2;width:8px;height:calc(var(--cell)*.12);background:linear-gradient(90deg,var(--alu-hi),var(--alu) 45%,var(--alu-lo));box-shadow:0 0 0 1px var(--alu-edge)}
.sw-clock .cf,.sw-hclock .cf{fill:#F4EBD0}.sw-clock .ce,.sw-hclock .ce{stroke:var(--alu)}.sw-clock .cr,.sw-hclock .cr{stroke:var(--alu-hi)}
.sw-clock .ct,.sw-hclock .ct{stroke:#14181F}.sw-clock .ch,.sw-hclock .ch{stroke:#14181F}.sw-clock .cd,.sw-hclock .cd{fill:#B83D27}
.sw-hclock{display:none;width:max(22px,calc(var(--cell)*.36));flex:none}
#board.flap-board{padding:calc(var(--cell)*.1) calc(var(--cell)*.13) calc(var(--cell)*.13);border-radius:12px;
  background:radial-gradient(circle at 12px 12px,var(--alu-edge) 0 2.5px,var(--alu-hi) 3px 3.8px,transparent 4.3px),radial-gradient(circle at calc(100% - 12px) 12px,var(--alu-edge) 0 2.5px,var(--alu-hi) 3px 3.8px,transparent 4.3px),
    radial-gradient(circle at 12px calc(100% - 12px),var(--alu-edge) 0 2.5px,var(--alu-hi) 3px 3.8px,transparent 4.3px),radial-gradient(circle at calc(100% - 12px) calc(100% - 12px),var(--alu-edge) 0 2.5px,var(--alu-hi) 3px 3.8px,transparent 4.3px),
    repeating-linear-gradient(180deg,rgba(255,255,255,.05) 0 1px,transparent 1px 3px),linear-gradient(160deg,var(--alu-hi),var(--alu) 42%,var(--alu-lo));
  box-shadow:inset 1.5px 1.5px 0 rgba(255,255,255,.55),inset -1.5px -1.5px 0 rgba(0,0,0,.32),inset 0 0 0 1px var(--alu-edge),0 24px 44px -10px rgba(0,0,0,.62)}
/* the housing's top row: a dark strip with the counter (and, on phones, the small clock), set into the aluminium */
.flap-board .fp-head{width:100%;max-width:none;padding:0 calc(var(--cell)*.12);border-radius:7px;background:linear-gradient(180deg,#171B21,#0E1115);
  box-shadow:inset 0 0 0 1px #07090C,inset 0 6px 8px -4px rgba(0,0,0,.7),0 1px 0 rgba(255,255,255,.4),0 -1px 0 rgba(0,0,0,.25)}
/* the window: recessed under the housing (the moon throws its shadow in from the top), a light lip at the bottom */
.flap-board .fp-window{box-shadow:inset 0 0 0 1.5px #07090C,inset 0 16px 16px -10px rgba(0,0,0,.75),0 1px 0 rgba(255,255,255,.45),0 -1px 0 rgba(0,0,0,.3)}
/* the art bible's dim (opacity, not a filter): the rest of the board steps back while a win shows */
.flap-board .fp-face{transition:opacity .2s}
.flap-board .fp-cell.dim .fp-face{filter:none;opacity:.4}
.flap-board .fp-seg.off{filter:none;opacity:.42}
.board,.message{position:relative;z-index:1}
body[data-variant="clean"] .sw-clock{display:none}
body[data-variant="clean"] #board.flap-board{background:none;box-shadow:inset 0 0 0 2px var(--alu);padding:calc(var(--cell)*.06)}
.message{font-family:var(--ui);font-weight:600;letter-spacing:.01em;color:var(--ink);max-width:100%;padding:3px 14px;border-radius:999px;background:color-mix(in srgb,var(--plate) 78%,transparent);
  display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:0 .4em}
.message:empty{background:none}
.message b{color:var(--gold)}

/* ---- the free-spin bar: a row of the departure board ---- */
.fsbar{font-family:var(--display);font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--ink);border:1px solid var(--trim);border-radius:6px;
  background:linear-gradient(180deg,var(--plate-hi) 0 49.6%,color-mix(in srgb,var(--plate) 82%,#000) 49.6% 50.4%,var(--plate) 50.4%);box-shadow:0 6px 16px rgba(0,0,0,.35);gap:16px;font-size:17px}
.fsbar b{color:var(--gold)}
.fsbar .fsx{font-family:var(--display);color:var(--gold);font-size:1em}
.fsbar .fsx:empty{display:none}

/* ---- HUD: the board's dark enamel panel with an aluminium trim; the spin button a round flap-board dial in machined
   aluminium (lit top left, a contact shadow under it) ---- */
.hud{border:1px solid var(--trim);border-radius:12px;box-shadow:inset 0 1px 0 rgba(255,255,255,.07),0 14px 30px -6px rgba(0,0,0,.5)}
.meter b{font-family:var(--ui);font-weight:600}
.spin{background:transparent;box-shadow:0 10px 18px -4px rgba(0,0,0,.65),0 2px 3px rgba(0,0,0,.4)}
.spin svg{width:100%;height:100%}
.spin.busy svg{transition:transform .5s cubic-bezier(.3,1.4,.5,1);transform:translate(-50%,-50%) rotate(30deg)}
.auto,.pm{border-color:var(--trim)}
.tablet{border-color:var(--trim);box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.tablet .th{font-family:var(--display);font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--gold)}

/* ---- overlays and panels ---- */
.ovcard h2{font-family:var(--display);font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.panel h2,.panel h3{font-family:var(--display);font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.symbox{position:relative;border-radius:8px;background:linear-gradient(180deg,var(--fp-plate-hi) 0 50%,var(--fp-plate-lo) 50%);box-shadow:inset 0 0 0 1px rgba(0,0,0,.5)}
.symbox .sym{position:absolute;inset:6%;width:auto;height:auto}
.symbox .sym img{position:absolute;inset:0;width:100%;height:100%}
.special .symbox{width:96px;height:96px}
.sw-tilerow{grid-template-columns:96px 70px 1fr}
.sw-sample{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:3px;width:70px;height:70px;padding:3px;border-radius:8px;background:var(--fp-slit);align-self:center}
.sw-sample span:first-child{grid-column:1/-1}
.sw-sample span{display:grid;place-items:center;min-height:0;overflow:hidden;border-radius:2px;background:var(--band)}
.sw-sample img{height:80%;width:auto;aspect-ratio:1}
.sw-example{color:var(--muted)}
@media (max-width:560px){.sw-tilerow{grid-template-columns:70px 70px;grid-template-rows:auto auto}.sw-tilerow>div:last-child{grid-column:1/-1}.sw-tilerow .symbox{width:70px;height:70px}}

/* ---- the runway lights between the base game and Night Flight (skin.js sweep): a dark cover, the lights in rows ---- */
.sw-runway{position:fixed;inset:0;z-index:20;display:none;opacity:0;pointer-events:none;
  background:radial-gradient(ellipse 60% 18% at 50% 46%,rgba(242,177,52,.12),transparent 70%),linear-gradient(180deg,#04070F 0,#0B1430 45%,#141E33 46%,#07090D 47%,#05070A)}
.sw-runway.show{display:block}
.sw-runway .horizon{position:absolute;left:0;right:0;top:46%;height:2px;background:color-mix(in srgb,#F2B134 35%,transparent)}
.sw-runway .row{position:absolute;left:0;right:0;height:0;opacity:0}
.sw-runway .row i{position:absolute;top:0;width:calc(var(--s)*9px);height:calc(var(--s)*9px);border-radius:50%;transform:translate(-50%,-50%);
  background:radial-gradient(circle,#FFF6C2 0 22%,#F2B134 46%,transparent 70%)}
.sw-runway .row i.c{width:calc(var(--s)*6px);height:calc(var(--s)*6px);background:radial-gradient(circle,#FFFFFF 0 30%,#BFD6FF 52%,transparent 72%)}

/* ---- big wins: luggage tags on their strings and ticket stubs fluttering down (over the veil, under the FX canvas):
   printed card lit from the left with a printed rule (::after, clipped to the tag's cut corners), a hollow brass-grey
   eyelet — its rim lit top left, shaded bottom right, the card's own colour inside — and the string threaded through it
   (::before, over the card) ---- */
.sw-tags{position:fixed;inset:0;z-index:36;pointer-events:none;overflow:hidden}
.sw-tags i{position:absolute;left:var(--x);top:-12vh;transform:scale(var(--s));animation:sw-fall 3.8s cubic-bezier(.35,.1,.55,1) var(--d) both}
.sw-tags i.tag{width:26px;height:42px}
.sw-tags i.tag::after{content:"";position:absolute;inset:0;border-radius:3px 3px 5px 5px;
  background:radial-gradient(circle at 50% 7px,transparent 0 2.1px,#B9C1CA 2.4px 3.5px,transparent 3.8px),
    radial-gradient(circle at calc(50% - .7px) 6.3px,transparent 0 2.1px,#F6F8FA 2.4px 3.5px,transparent 3.8px),
    radial-gradient(circle at calc(50% + .7px) 7.7px,transparent 0 2.1px,rgba(20,24,30,.55) 2.4px 3.5px,transparent 3.8px),
    radial-gradient(circle at 50% 7px,color-mix(in srgb,var(--c) 84%,#000) 0 2.3px,transparent 2.6px),
    linear-gradient(180deg,transparent 0 14px,rgba(0,0,0,.16) 14px 15.5px,transparent 15.5px),
    linear-gradient(100deg,rgba(255,255,255,.24),transparent 42%,rgba(0,0,0,.2)),var(--c);
  clip-path:polygon(22% 0,78% 0,100% 18%,100% 100%,0 100%,0 18%)}
.sw-tags i.tag::before{content:"";position:absolute;z-index:1;left:calc(50% - .75px);top:-15px;width:1.5px;height:22px;border-radius:1px;
  background:linear-gradient(90deg,#FBF5E4,#C9BE9F);transform:rotate(12deg);transform-origin:50% 100%}
.sw-tags i.stub{width:34px;height:18px;border-radius:2px;background:linear-gradient(100deg,rgba(255,255,255,.22),transparent 45%,rgba(0,0,0,.18)),linear-gradient(90deg,var(--c) 0 70%,transparent 70% 73%,var(--c) 73%)}
@keyframes sw-fall{0%{transform:translate(0,0) rotate(0) scale(var(--s));opacity:0}8%{opacity:1}35%{transform:translate(calc(var(--dx)*.6),38vh) rotate(calc(var(--r)*-1)) scale(var(--s))}
  70%{transform:translate(calc(var(--dx)*-.4),80vh) rotate(var(--r)) scale(var(--s));opacity:1}100%{transform:translate(var(--dx),122vh) rotate(calc(var(--r)*.5)) scale(var(--s));opacity:0}}

/* ---- phones: the counter row carries the small clock (the station clock has no room over the housing), a compact
   free-spin bar ---- */
@media (max-width:860px),(max-aspect-ratio:4/5){
  .sw-clock{display:none}
  .sw-hclock{display:block}
  body[data-variant="clean"] .sw-hclock{display:none}
  #board.flap-board{padding:calc(var(--cell)*.08) calc(var(--cell)*.08) calc(var(--cell)*.1);border-radius:9px}
  .fsbar{gap:10px;padding:5px 12px;font-size:15px;letter-spacing:.04em}
  .logo h1{letter-spacing:.06em}
  /* the board covers the upper glass on a phone, where the moon hangs: it stays out of frame (no disc below the board,
     against its own light); the halo behind the board and the lit top-left edges carry its light */
  .scene .hall .moon{background:none}
  .scene .runway .sky{background:radial-gradient(ellipse at 50% 47%,color-mix(in srgb,var(--rw-edge) 20%,transparent),transparent 34%),
    linear-gradient(180deg,var(--rw-sky) 0 30%,color-mix(in srgb,var(--rw-sky) 80%,#4A4258) 47.6%,var(--rw-ground) 47.8%)}
}
@media (max-width:340px){.fsbar{gap:8px;padding:4px 8px;font-size:14px}}
/* reduced motion: no fluttering tags, no dial turn (shell.css caps every other animation and transition) */
body.still .sw-tags{display:none}body.still .spin.busy svg{transform:translate(-50%,-50%)}
@media (prefers-reduced-motion:reduce){.sw-tags{display:none}.spin.busy svg{transform:translate(-50%,-50%)}}
