/* Fight Card: a sample design from Brad's mockup library, rewritten by
   scripts/import-designs.py. Do not edit; re-run that instead. */

@font-face {
  font-family: 'Anton';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/anton-normal-34f7e336.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Martian Mono';
  font-style: normal;
  font-weight: 400;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/martian-mono-normal-c60bf70d.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Martian Mono';
  font-style: normal;
  font-weight: 500;
  font-stretch: 100%;
  font-display: swap;
  src: url(fonts/martian-mono-normal-c60bf70d.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/sora-normal-e9ad38d1.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Sora';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/sora-normal-e9ad38d1.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

* { box-sizing:border-box; }
html { scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body { margin:0; }
img { display:block; max-width:100%; height:auto; }
a { color:inherit; }
h1, h2, h3, h4 { text-wrap:balance; margin:0; font-weight:inherit; }
p { text-wrap:pretty; margin:0; }
ul, ol { margin:0; padding:0; list-style:none; }
figure, blockquote { margin:0; }
dl, dd { margin:0; }
button { font:inherit; color:inherit; cursor:pointer; }
fieldset { border:0; margin:0; padding:0; min-width:0; }
[hidden] { display:none !important; }
.vh { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
/* Headers sit within .page, not the window, so anything a host adds above the page (the
   Shift & Shine sample bar) pushes them down instead of hiding under them. */
.page { position:relative; overflow-x:clip; }
.skip { position:absolute; left:12px; top:12px; z-index:100; padding:10px 14px; background:#fff; color:#111; }
.skip:not(:focus) { width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.ic { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; flex:none; }
.wrap { width:100%; max-width:1320px; margin:0 auto; padding-inline:clamp(16px, 4vw, 48px); }
.wrap.wide { max-width:1680px; }
.demo-form { display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:14px; }
.demo-form .field { display:grid; gap:6px; min-width:0; }
.demo-form .wide { grid-column:1 / -1; }
.demo-form input, .demo-form select, .demo-form textarea { font:inherit; width:100%; min-width:0; min-height:46px; }
.form-out { min-height:1.4em; }
details summary { cursor:pointer; }
@media (max-width:640px) { .demo-form { grid-template-columns:1fr; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto; } *, *::before, *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; } }

:root { --paper:#EEEAE1; --paper2:#E4DFD3; --ink:#141414; --mute:#4A4740; --red:#C8231B; --red-ink:#A81D16; --rule:3px solid var(--ink); --display:'Anton', Impact, 'Arial Narrow', sans-serif; --body:'Sora', Arial, sans-serif; --mono:'Martian Mono', ui-monospace, Menlo, monospace; }
body { background:var(--paper); color:var(--ink); font:400 16px/1.6 var(--body); -webkit-font-smoothing:antialiased; }
:focus-visible { outline:3px solid var(--red); outline-offset:3px; }
.dark :focus-visible { outline-color:#FFFFFF; }
.display { font-family:var(--display); font-weight:400; text-transform:uppercase; line-height:.88; letter-spacing:.005em; }
.mono { font-family:var(--mono); font-size:12px; letter-spacing:.06em; text-transform:uppercase; }
.tag { display:inline-block; font:500 11.5px/1 var(--mono); letter-spacing:.12em; text-transform:uppercase; background:var(--ink); color:var(--paper); padding:6px 9px; }
.btn { display:inline-flex; align-items:center; gap:10px; min-height:50px; padding:12px 22px; background:var(--red); color:#fff; border:0; font:400 20px/1 var(--display); letter-spacing:.06em; text-transform:uppercase; text-decoration:none; }
.btn:hover { background:#A81D16; }
.btn.ghost { background:none; color:var(--ink); border:var(--rule); }
.btn.ghost:hover { background:var(--ink); color:var(--paper); }

/* Masthead */
.strap { border-bottom:1px solid var(--ink); }
.strap .wrap { display:flex; flex-wrap:wrap; justify-content:space-between; gap:6px 20px; padding-block:8px; }
.strap p { font:400 11.5px/1.4 var(--mono); letter-spacing:.06em; text-transform:uppercase; }
.strap b { font-weight:500; color:var(--red-ink); }
.mark { display:flex; align-items:flex-end; gap:clamp(10px, 2vw, 28px); padding-block:clamp(10px, 2vw, 22px) clamp(6px, 1vw, 12px); text-decoration:none; }
.mark b { font:400 clamp(64px, 13vw, 210px)/.8 var(--display); letter-spacing:-.01em; }
.mark span { font:400 clamp(18px, 2.6vw, 42px)/.95 var(--display); padding-bottom:.25em; }
.mark.small b { font-size:clamp(44px, 6vw, 84px); }
.mark.small span { font-size:clamp(14px, 1.4vw, 22px); }
.bar { position:sticky; top:calc(var(--ssd-bar, 0px) + 0px); z-index:10; background:var(--paper); border-top:var(--rule); border-bottom:var(--rule); }
.bar .wrap { display:flex; align-items:center; gap:18px; min-height:60px; }
.nav ul { display:flex; gap:clamp(14px, 2.4vw, 36px); }
.nav a { font:400 19px/1 var(--display); letter-spacing:.05em; text-transform:uppercase; text-decoration:none; display:inline-flex; align-items:center; min-height:44px; border-bottom:3px solid transparent; }
.nav a:hover, .nav a[aria-current="page"] { border-color:var(--red); }
.bar .btn { margin-left:auto; min-height:44px; font-size:17px; padding:10px 16px; }
.menu { display:none; align-items:center; gap:8px; min-height:44px; padding:0 12px; background:none; border:2px solid var(--ink); font:400 17px/1 var(--display); text-transform:uppercase; letter-spacing:.05em; }
@media (max-width:860px) {
  .menu { display:inline-flex; }
  .nav { position:absolute; left:0; right:0; top:100%; background:var(--paper); border-bottom:var(--rule); display:none; }
  .nav.open { display:block; }
  .nav ul { flex-direction:column; gap:0; padding:6px clamp(16px, 4vw, 48px) 14px; }
}
@media (max-width:420px) { .bar .btn { font-size:15px; padding:10px 12px; } }

/* Poster hero */
.poster { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr) minmax(0,.62fr); border-bottom:var(--rule); }
.poster > * { min-width:0; }
.p-copy { padding:clamp(24px, 3vw, 44px) clamp(16px, 2.6vw, 40px) clamp(28px, 3vw, 44px) 0; border-right:var(--rule); display:grid; gap:18px; align-content:start; }
.p-copy h1 { font-size:clamp(72px, 10vw, 168px); }
.p-copy h1 em { font-style:normal; color:var(--red); }
.p-copy p { max-width:36ch; font-size:16.5px; }
.ctas { display:flex; flex-wrap:wrap; gap:12px; }
.half { position:relative; background:var(--ink); overflow:hidden; }
.half img { width:100%; height:100%; object-fit:cover; filter:grayscale(1) contrast(1.3) brightness(.92); }
.half::after { content:""; position:absolute; inset:0; background-image:radial-gradient(rgba(0,0,0,.42) 1px, transparent 1.3px); background-size:4px 4px; pointer-events:none; }
.p-photo { border-right:var(--rule); display:grid; grid-template-rows:minmax(0,1fr) auto; }
.p-photo .half { min-height:420px; }
.p-photo figcaption { background:var(--ink); color:var(--paper); padding:12px 16px; font:400 22px/1 var(--display); letter-spacing:.04em; text-transform:uppercase; }
.p-photo figcaption span { color:#FF8A80; }
.p-card { padding:clamp(20px, 2.4vw, 32px) 0 24px clamp(16px, 2vw, 28px); display:grid; gap:14px; align-content:start; }
.p-card h2 { font-size:clamp(30px, 3vw, 46px); }
.undercard li { display:grid; gap:2px; padding:12px 0; border-top:1px solid var(--ink); }
.undercard b { font:500 12.5px/1.2 var(--mono); }
.undercard span { font-size:15px; }
.undercard i { font-style:normal; font:400 11px/1 var(--mono); text-transform:uppercase; letter-spacing:.06em; color:var(--red-ink); }
.p-card a { font:400 18px/1 var(--display); text-transform:uppercase; letter-spacing:.05em; color:var(--red-ink); min-height:44px; display:inline-flex; align-items:center; gap:8px; }
.p-card a .ic { width:18px; height:18px; }
@media (max-width:1100px) { .poster { grid-template-columns:minmax(0,1fr) minmax(0,1fr); } .p-card { grid-column:1 / -1; border-top:var(--rule); padding-left:0; } .p-photo { border-right:0; } }
@media (max-width:700px) { .poster { grid-template-columns:1fr; } .p-copy { border-right:0; border-bottom:var(--rule); padding-right:0; } .p-photo .half { min-height:300px; } }

/* The round clock */
.dark { background:var(--ink); color:var(--paper); }
.clock-sec { padding-block:clamp(48px, 6vw, 88px); }
.clock-grid { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(24px, 4vw, 64px); align-items:center; }
.clock-grid h2 { font-size:clamp(44px, 5.4vw, 86px); }
.clock-grid > div > p { color:#CFCAC0; max-width:40ch; margin-top:14px; }
.sets { display:grid; gap:14px; margin-top:24px; }
.sets fieldset { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.sets legend { float:left; width:110px; font:400 11.5px/44px var(--mono); text-transform:uppercase; letter-spacing:.08em; color:#CFCAC0; }
.sets button { min-height:44px; min-width:64px; padding:0 14px; border:2px solid #5C5850; background:none; color:var(--paper); font:500 13px/1 var(--mono); }
.sets button[aria-pressed="true"] { border-color:var(--paper); background:var(--paper); color:var(--ink); }
.ring { border:3px solid var(--paper); padding:clamp(18px, 3vw, 36px); display:grid; gap:16px; transition:background .2s; }
.ring.rest { border-color:#9FD3A5; }
.ring.warn .face { color:#FF8A80; }
.ring.bell { animation:bell .45s 3; }
@keyframes bell { 50% { background:var(--red); } }
.face { font:500 clamp(84px, 13vw, 188px)/.9 var(--mono); font-variant-numeric:tabular-nums; letter-spacing:-.04em; }
.ring.rest .face { color:#9FD3A5; }
.state { font:400 clamp(22px, 2.4vw, 32px)/1 var(--display); text-transform:uppercase; letter-spacing:.04em; }
.track { height:6px; background:#3A3833; }
.track i { display:block; height:100%; width:0; background:var(--red); }
.ring.rest .track i { background:#9FD3A5; }
.pips { display:flex; gap:6px; flex-wrap:wrap; }
.pips i { width:22px; height:8px; background:#3A3833; }
.pips i.done { background:var(--paper); }
.pips i.now { background:var(--red); }
.go { display:flex; flex-wrap:wrap; gap:10px; }
.go .btn.ghost { color:var(--paper); border-color:var(--paper); }
.go .btn.ghost:hover { background:var(--paper); color:var(--ink); }
@media (max-width:900px) { .clock-grid { grid-template-columns:1fr; } }
@media (prefers-reduced-motion: reduce) { .ring.bell { animation:none; outline:6px solid var(--red); } }

/* Sections */
.sec { padding-block:clamp(56px, 7vw, 104px); }
.sec + .sec { border-top:var(--rule); }
.head { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:flex-end; gap:16px 40px; margin-bottom:clamp(24px, 3vw, 40px); }
.head h2 { font-size:clamp(46px, 6vw, 96px); }
.head p { max-width:44ch; color:var(--mute); }
.bouts { display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); border:var(--rule); }
.bout { border-left:var(--rule); display:grid; grid-template-rows:auto 1fr; min-width:0; }
.bout:first-child { border-left:0; }
.bout .half { aspect-ratio:4 / 4.4; }
.bout .in { padding:18px 18px 22px; display:grid; gap:10px; align-content:start; }
.bout .no { font:500 11.5px/1 var(--mono); text-transform:uppercase; letter-spacing:.1em; color:var(--red-ink); }
.bout h3 { font:400 clamp(32px, 2.8vw, 44px)/.9 var(--display); text-transform:uppercase; }
.bout .meta { display:flex; flex-wrap:wrap; gap:6px 12px; font:400 11.5px/1.4 var(--mono); text-transform:uppercase; }
.bout p { font-size:15px; color:var(--mute); }
@media (max-width:1000px) { .bouts { grid-template-columns:repeat(2, minmax(0,1fr)); } .bout:nth-child(3) { border-left:0; } .bout:nth-child(n+3) { border-top:var(--rule); } }
@media (max-width:560px) { .bouts { grid-template-columns:1fr; } .bout { border-left:0; } .bout + .bout { border-top:var(--rule); } }
.corner { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:16px; }
.coach { border:var(--rule); display:grid; grid-template-columns:110px minmax(0,1fr); }
.coach svg { width:100%; height:100%; background:var(--paper2); border-right:var(--rule); }
.coach .in { padding:16px; display:grid; gap:6px; align-content:center; }
.coach b { font:400 26px/1 var(--display); text-transform:uppercase; }
.coach span { font-size:14px; color:var(--mute); }
@media (max-width:900px) { .corner { grid-template-columns:1fr; } }
.tickets { display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:16px; }
.ticket { position:relative; background:var(--paper2); border:2px solid var(--ink); padding:22px 20px 20px; display:grid; gap:8px; align-content:start; }
.ticket::before { content:""; position:absolute; left:-2px; right:-2px; top:58px; border-top:2px dashed var(--ink); }
.ticket h3 { font:500 12px/1 var(--mono); text-transform:uppercase; letter-spacing:.1em; height:24px; }
.ticket .amt { font:400 64px/1 var(--display); margin-top:12px; }
.ticket .amt small { font:400 12px var(--mono); text-transform:uppercase; margin-left:6px; }
.ticket p { font-size:14.5px; color:var(--mute); }
.ticket.featured { background:var(--red); color:#fff; border-color:var(--red); }
.ticket.featured::before { border-color:#fff; }
.ticket.featured p { color:#fff; }
.sample { margin-top:14px; font:400 11.5px/1.4 var(--mono); text-transform:uppercase; letter-spacing:.06em; color:var(--mute); }
@media (max-width:980px) { .tickets { grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (max-width:480px) { .tickets { grid-template-columns:1fr; } }
.first { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr); gap:clamp(24px, 4vw, 64px); }
.steps { counter-reset:s; border-top:var(--rule); }
.steps li { counter-increment:s; display:grid; grid-template-columns:90px minmax(0,1fr); gap:4px 18px; padding:18px 0; border-bottom:1px solid var(--ink); }
.steps li::before { content:"R" counter(s); grid-row:span 2; font:400 54px/1 var(--display); color:var(--red); }
.steps b { font:400 28px/1 var(--display); text-transform:uppercase; }
.steps span { color:var(--mute); }
.bring { border:var(--rule); padding:22px; align-self:start; display:grid; gap:12px; }
.bring h3 { font:400 30px/1 var(--display); text-transform:uppercase; }
.bring li { display:flex; gap:10px; align-items:center; font-size:15px; }
.bring .ic { color:var(--red); width:20px; height:20px; }
@media (max-width:900px) { .first { grid-template-columns:1fr; } }
.visit { display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); border:var(--rule); }
.visit > div { padding:22px; border-left:var(--rule); display:grid; gap:10px; align-content:start; min-width:0; }
.visit > div:first-child { border-left:0; }
.visit h3 { font:400 28px/1 var(--display); text-transform:uppercase; }
.visit dl { display:grid; grid-template-columns:auto 1fr; gap:4px 14px; font-size:15px; }
.visit dt { font:500 12px/1.9 var(--mono); text-transform:uppercase; }
@media (max-width:820px) { .visit { grid-template-columns:1fr; } .visit > div { border-left:0; border-top:var(--rule); } .visit > div:first-child { border-top:0; } }
.foot { background:var(--ink); color:var(--paper); padding-block:40px 30px; }
.foot .big { font:400 clamp(60px, 15vw, 260px)/.8 var(--display); text-transform:uppercase; color:transparent; -webkit-text-stroke:1.5px #8A857B; letter-spacing:-.01em; overflow-wrap:anywhere; }
.foot .row { display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px 30px; margin-top:24px; font:400 12px/1.6 var(--mono); text-transform:uppercase; letter-spacing:.05em; color:#CFCAC0; }
.foot a { min-height:44px; display:inline-flex; align-items:center; }

/* Timetable page */
.t-hero { padding-block:clamp(36px, 5vw, 72px) clamp(24px, 3vw, 40px); border-bottom:var(--rule); }
.t-hero .wrap { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr); gap:24px; align-items:end; }
.t-hero h1 { font-size:clamp(76px, 11vw, 180px); }
.t-hero h1 em { font-style:normal; color:var(--red); }
.t-hero p { color:var(--mute); max-width:40ch; }
@media (max-width:820px) { .t-hero .wrap { grid-template-columns:1fr; } }
.controls { display:grid; gap:12px; margin-bottom:24px; }
.controls .row { display:flex; flex-wrap:wrap; align-items:center; gap:8px; }
.controls .lab { font:500 11.5px/1 var(--mono); text-transform:uppercase; letter-spacing:.1em; width:70px; }
.chips button { min-height:44px; padding:0 14px; border:2px solid var(--ink); background:none; font:400 17px/1 var(--display); letter-spacing:.05em; text-transform:uppercase; }
.chips button[aria-pressed="true"] { background:var(--ink); color:var(--paper); }
.chips button.is-today::after { content:" ●"; color:var(--red); font-size:11px; vertical-align:middle; }
.week { display:grid; grid-template-columns:repeat(7, minmax(0,1fr)); border:var(--rule); }
.day { border-left:var(--rule); min-width:0; }
.day:first-child { border-left:0; }
.day h3 { font:400 26px/1 var(--display); text-transform:uppercase; padding:12px; border-bottom:var(--rule); display:flex; justify-content:space-between; align-items:center; }
.day.sel h3 { background:var(--ink); color:var(--paper); }
.day h3 small { font:400 10.5px/1 var(--mono); color:#FF8A80; letter-spacing:.06em; }
.slot { padding:12px; border-bottom:1px solid var(--ink); display:grid; gap:4px; }
.slot:last-child { border-bottom:0; }
.slot b { font:500 12px/1 var(--mono); }
.slot span { font:400 21px/1 var(--display); text-transform:uppercase; }
.slot i { font-style:normal; font:400 10.5px/1 var(--mono); text-transform:uppercase; letter-spacing:.06em; color:var(--mute); }
.slot.lv-sparring { background:var(--paper2); }
.slot.lv-sparring i { color:var(--red-ink); }
.empty { padding:14px 12px; font:400 11.5px/1.4 var(--mono); text-transform:uppercase; color:var(--mute); }
.count { font:400 12px/1.4 var(--mono); text-transform:uppercase; letter-spacing:.06em; color:var(--mute); margin-top:10px; }
@media (max-width:1000px) { .week { grid-template-columns:1fr; } .day { border-left:0; } .day:not(.sel) { display:none; } }
.faq { border-top:var(--rule); }
.faq details { border-bottom:1px solid var(--ink); }
.faq summary { list-style:none; display:flex; justify-content:space-between; gap:16px; padding:18px 0; font:400 26px/1.05 var(--display); text-transform:uppercase; min-height:48px; }
.faq summary::-webkit-details-marker { display:none; }
.faq summary::after { content:"+"; color:var(--red); }
.faq details[open] summary::after { content:"–"; }
.faq p { padding-bottom:18px; color:var(--mute); max-width:68ch; }


/* ---------- Shift & Shine sample bar (scripts/import-designs.py) ---------- */
@font-face { font-family: "SSD Geist"; font-style: normal; font-weight: 400 500; font-display: swap; src: url("/assets/fonts/geist-latin.woff2") format("woff2"); }
:root { --ssd-bar: 53px; scroll-padding-top: var(--ssd-bar); }
.ssd-bar { position: sticky; top: 0; z-index: 15; display: flex; align-items: center; gap: 8px 14px; margin: 0; padding: 8px clamp(14px, 3vw, 28px); background: #0F1B1B; border: 0; border-bottom: 1px solid rgba(255, 255, 255, 0.14); color: rgba(255, 255, 255, 0.86); font: 400 13.5px/20px "SSD Geist", "Helvetica Neue", Arial, sans-serif; letter-spacing: 0; text-align: left; text-transform: none; }
.ssd-bar .ssd-bar-text { flex: 1; margin: 0; padding: 0; color: inherit; font: inherit; letter-spacing: 0; max-width: none; }
.ssd-bar a { color: #FFFFFF; text-decoration: none; }
.ssd-bar .ssd-bar-home { display: inline-flex; flex: none; align-items: center; justify-content: center; width: 36px; height: 36px; margin: 0 -8px 0 -10px; border-radius: 6px; }
.ssd-bar .ssd-bar-home svg { display: block; width: 15px; height: 16px; }
.ssd-bar .ssd-bar-back { display: inline-flex; flex: none; align-items: center; min-height: 36px; padding: 6px 12px; border: 1px solid rgba(255, 255, 255, 0.45); border-radius: 6px; font: 500 13.5px/1 "SSD Geist", "Helvetica Neue", Arial, sans-serif; white-space: nowrap; transition: background 0.15s ease, color 0.15s ease; }
.ssd-bar .ssd-bar-back:hover { background: #FFFFFF; color: #0F1B1B; }
.ssd-bar a:focus-visible { outline: 3px solid #5AD7D7; outline-offset: 2px; }
/* Fingers get the full 44px. */
@media (pointer: coarse) { .ssd-bar .ssd-bar-back { min-height: 44px; } .ssd-bar .ssd-bar-home { width: 44px; height: 44px; margin: 0 -12px 0 -14px; } }
/* Line heights in whole pixels, so the bar is too, and the sample under it
   doesn't land on half pixels. */
@media (max-width: 520px) { :root { --ssd-bar: 71px; } .ssd-bar { font-size: 12.5px; line-height: 18px; } }
