/* ═══════════════════════════════════════════════════════════
   maxgoldstein.work — shared stylesheet
   ═══════════════════════════════════════════════════════════ */

/* ── THEMES ───────────────────────────────────────────────── */
:root,
[data-theme="amber"]     { --bg:#0f0e0d; --fg:#f0ead6; --muted:#8a7f6c; --subtle:#c8bfa8; --border:#2d2a24; --accent:#e8a020; --surface:#1a1813; --hover:rgba(240,234,214,.045); }
[data-theme="obsidian"]  { --bg:#0a0a0a; --fg:#f5f5f0; --muted:#8a8a8a; --subtle:#d4d4d0; --border:#2a2a2a; --accent:#f5f5f0; --surface:#141414; --hover:rgba(245,245,240,.05); }
[data-theme="midnight"]  { --bg:#0d1117; --fg:#e6edf3; --muted:#7d8590; --subtle:#b1bac4; --border:#21262d; --accent:#58a6ff; --surface:#161b22; --hover:rgba(230,237,243,.05); }
[data-theme="dracula"]   { --bg:#282a36; --fg:#f8f8f2; --muted:#6272a4; --subtle:#bdb8d7; --border:#44475a; --accent:#ff79c6; --surface:#21222c; --hover:rgba(248,248,242,.05); }
[data-theme="tokyo"]     { --bg:#1a1b26; --fg:#c0caf5; --muted:#565f89; --subtle:#9aa5ce; --border:#2f334d; --accent:#7aa2f7; --surface:#16161e; --hover:rgba(192,202,245,.05); }

[data-theme="parchment"] { --bg:#e8dfcc; --fg:#2c2620; --muted:#877a63; --subtle:#463e30; --border:#cebfa3; --accent:#a8541b; --surface:#ded3bd; --hover:rgba(44,38,32,.055); }
[data-theme="nord"]      { --bg:#dde3ec; --fg:#2e3440; --muted:#77839a; --subtle:#3b4252; --border:#c9d2e0; --accent:#5e7fa3; --surface:#d3dae6; --hover:rgba(46,52,64,.05); }
[data-theme="rose"]      { --bg:#f0e6da; --fg:#575279; --muted:#948ea3; --subtle:#5f5a7d; --border:#ddd0c8; --accent:#b4637a; --surface:#e8dcd0; --hover:rgba(87,82,121,.05); }
[data-theme="slate"]     { --bg:#dfe4ec; --fg:#1e293b; --muted:#727f94; --subtle:#3d4a5e; --border:#ccd4e0; --accent:#4f46e5; --surface:#d5dbe6; --hover:rgba(30,41,59,.05); }
[data-theme="gruvbox"]   { --bg:#ecdcb0; --fg:#3c3836; --muted:#8f7a50; --subtle:#4a4441; --border:#dcc99b; --accent:#af3a03; --surface:#e3d3a6; --hover:rgba(60,56,54,.05); }

/* ── RESET ────────────────────────────────────────────────── */
*, *::before, *::after { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; -webkit-text-size-adjust:100%; }

body {
  background:var(--bg);
  color:var(--fg);
  font-family:'DM Sans', system-ui, sans-serif;
  font-weight:300;
  line-height:1.6;
  overflow-x:hidden;
  cursor:none;
  min-height:100vh;
  display:flex;
  flex-direction:column;
  transition:background .35s ease, color .35s ease;
}

img, svg, canvas { max-width:100%; display:block; }
button { font:inherit; color:inherit; background:none; border:none; cursor:none; }
a { color:inherit; }

::selection { background:var(--accent); color:var(--bg); }

/* noise */
body::before {
  content:'';
  position:fixed; inset:0;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.04'/%3E%3C/svg%3E");
  pointer-events:none; z-index:900; opacity:.22;
}

/* ── FLUID CONTAINER ──────────────────────────────────────── */
.container {
  width:100%;
  max-width:1080px;
  margin-inline:auto;
  padding-inline:clamp(1.25rem, 5vw, 3rem);
}

/* ── CURSOR ───────────────────────────────────────────────── */
.cursor      { position:fixed; top:0; left:0; width:6px; height:6px; background:var(--accent); border-radius:50%; pointer-events:none; z-index:9999; transition:width .18s ease, height .18s ease, background .35s ease; will-change:transform; }
.cursor-ring { position:fixed; top:0; left:0; width:28px; height:28px; border:1.5px solid var(--accent); border-radius:50%; pointer-events:none; z-index:9998; opacity:.55; transition:border-color .35s ease; will-change:transform; }

/* ── SCROLL PROGRESS ──────────────────────────────────────── */
.scroll-line { position:fixed; top:0; left:0; height:2px; width:0; background:var(--accent); z-index:850; transition:background .35s ease; }

/* ── THEME PICKER ─────────────────────────────────────────── */
/* Lives inside the sticky nav (relocated there by theme.js) so it
   aligns with the content column instead of the viewport edge. */
.theme-picker { position:relative; z-index:880; flex:0 0 auto; }

.theme-toggle {
  width:34px; height:34px; padding:0;
  display:grid; place-items:center;
  color:var(--accent); background:var(--surface);
  border:1px solid var(--border);
  transition:color .2s, border-color .2s, background .35s ease;
}
.theme-toggle svg { width:16px; height:16px; display:block; transition:transform .35s ease; }
.theme-toggle:hover, .theme-toggle:focus-visible, .theme-toggle[aria-expanded="true"] { border-color:var(--accent); }
.theme-toggle:hover svg, .theme-toggle[aria-expanded="true"] svg { transform:rotate(45deg); }

.theme-dropdown {
  position:absolute; top:calc(100% + 5px); right:0;
  background:var(--surface); border:1px solid var(--border);
  min-width:172px; max-height:min(70vh, 480px); overflow-y:auto;
  display:none; flex-direction:column; padding-bottom:.35rem;
  transition:background .35s ease, border-color .35s ease;
}
.theme-dropdown.open { display:flex; }

.theme-group {
  font-family:'DM Mono', monospace;
  font-size:.5rem; letter-spacing:.28em; text-transform:uppercase;
  color:var(--muted); padding:.7rem .85rem .35rem;
}
.theme-option {
  font-family:'DM Mono', monospace;
  font-size:.65rem; letter-spacing:.08em;
  padding:.48rem .85rem; width:100%; text-align:left;
  display:flex; align-items:center; gap:.6rem;
  color:var(--muted); transition:color .15s, background .15s;
}
.theme-option:hover, .theme-option:focus-visible { color:var(--fg); background:var(--hover); }
.theme-option[aria-current="true"] { color:var(--accent); }
.theme-swatch { width:10px; height:10px; border-radius:2px; flex:0 0 auto; box-shadow:0 0 0 1px rgba(128,128,128,.35); }

/* ── NAV ──────────────────────────────────────────────────── */
.nav-wrap { position:sticky; top:0; z-index:870; background:var(--bg); border-bottom:1px solid var(--border); transition:background .35s ease, border-color .35s ease; }
.nav {
  display:flex; align-items:center;
  gap:clamp(.9rem,3vw,2rem); padding-block:1rem;
}
.nav-logo { font-family:'Bebas Neue', sans-serif; font-size:1.15rem; letter-spacing:.16em; text-decoration:none; transition:color .2s; flex:0 0 auto; }
.nav-logo:hover { color:var(--accent); }
.nav-links { display:flex; gap:clamp(1rem,3vw,2.2rem); list-style:none; flex-wrap:wrap; margin-left:auto; }
.nav-links a {
  font-family:'DM Mono', monospace;
  font-size:.66rem; letter-spacing:.18em; text-transform:uppercase;
  color:var(--muted); text-decoration:none; transition:color .2s;
}
.nav-links a:hover, .nav-links a[aria-current="page"] { color:var(--accent); }

/* ── PAGE HEAD ────────────────────────────────────────────── */
.page-head { padding-block:clamp(3rem,8vw,5rem) clamp(2rem,5vw,3rem); border-bottom:1px solid var(--border); }
.eyebrow {
  font-family:'DM Mono', monospace;
  font-size:.63rem; letter-spacing:.28em; text-transform:uppercase;
  color:var(--muted); margin-bottom:1rem;
}
.page-title {
  font-family:'Bebas Neue', sans-serif;
  font-size:clamp(2.75rem, 9vw, 5.5rem);
  line-height:.94; letter-spacing:-.005em; margin-bottom:1.2rem;
}
.page-title .outline { color:transparent; -webkit-text-stroke:1px var(--fg); }
.lede { max-width:56ch; font-size:clamp(.9rem,2.2vw,1rem); line-height:1.85; color:var(--subtle); transition:color .35s ease; }

/* ── HERO (home) ──────────────────────────────────────────── */
.hero { padding-block:clamp(3rem,8vw,5.5rem) clamp(2.5rem,6vw,4rem); border-bottom:1px solid var(--border); display:grid; gap:clamp(1.75rem,4vw,3rem); grid-template-columns:minmax(0,1fr) auto; align-items:end; }
.hero-name { font-family:'Bebas Neue', sans-serif; font-size:clamp(3rem,11vw,6.5rem); line-height:.9; letter-spacing:-.01em; margin-bottom:1.5rem; }
.hero-name span { display:block; color:transparent; -webkit-text-stroke:1px var(--fg); }
.hero-links { display:flex; flex-direction:column; align-items:flex-end; gap:.65rem; padding-bottom:.35rem; }
.hero-link {
  font-family:'DM Mono', monospace;
  font-size:.64rem; letter-spacing:.18em; text-transform:uppercase;
  color:var(--muted); text-decoration:none;
  display:inline-flex; align-items:center; gap:.55rem; transition:color .2s;
}
.hero-link::after { content:'→'; transition:transform .2s; }
.hero-link:hover { color:var(--accent); }
.hero-link:hover::after { transform:translateX(4px); }

/* ── SECTIONS ─────────────────────────────────────────────── */
.section { padding-block:clamp(2.5rem,6vw,4rem); border-bottom:1px solid var(--border); }
.section:last-of-type { border-bottom:none; }
.section-head { display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap; margin-bottom:clamp(1.5rem,4vw,2.5rem); }
.section-title { font-family:'DM Mono', monospace; font-size:.6rem; letter-spacing:.3em; text-transform:uppercase; color:var(--muted); }
.section-link {
  font-family:'DM Mono', monospace;
  font-size:.6rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--muted); text-decoration:none; display:inline-flex; gap:.4rem; transition:color .2s;
}
.section-link::after { content:'→'; }
.section-link:hover { color:var(--accent); }

/* ── ROW LIST (experience / timeline) ─────────────────────── */
.rows { display:flex; flex-direction:column; }
.row { display:grid; grid-template-columns:minmax(0,140px) minmax(0,1fr); gap:clamp(.5rem,2vw,1.5rem); padding-block:clamp(1.25rem,3vw,1.8rem); border-top:1px solid var(--border); }
.row:last-child { border-bottom:1px solid var(--border); }
.row-date { font-family:'DM Mono', monospace; font-size:.64rem; letter-spacing:.09em; color:var(--muted); line-height:1.6; padding-top:.2rem; }
.row-kicker { display:block; font-family:'DM Mono', monospace; font-size:.58rem; letter-spacing:.16em; text-transform:uppercase; color:var(--accent); margin-bottom:.25rem; transition:color .35s ease; }
.row-title { font-family:'Bebas Neue', sans-serif; font-size:clamp(1.25rem,3.5vw,1.55rem); letter-spacing:.04em; line-height:1.05; margin-bottom:.6rem; }
.bullets { list-style:none; display:flex; flex-direction:column; gap:.4rem; }
.bullets li { font-size:.85rem; line-height:1.65; color:var(--subtle); padding-left:1rem; position:relative; transition:color .35s ease; }
.bullets li::before { content:'—'; position:absolute; left:0; color:var(--muted); font-family:'DM Mono', monospace; }
.row-body { font-size:.85rem; line-height:1.7; color:var(--subtle); transition:color .35s ease; }

/* ── PROJECT CARDS ────────────────────────────────────────── */
.cards { display:flex; flex-direction:column; }
.card {
  display:grid; grid-template-columns:minmax(0,44px) minmax(0,1fr) auto;
  gap:clamp(.75rem,2vw,1.5rem); align-items:start;
  padding-block:clamp(1.35rem,3vw,1.75rem);
  border-top:1px solid var(--border);
  text-decoration:none; transition:background .2s;
}
.card:last-child { border-bottom:1px solid var(--border); }
.card:hover { background:var(--hover); }
.card-num { font-family:'DM Mono', monospace; font-size:.6rem; letter-spacing:.18em; color:var(--accent); padding-top:.3rem; transition:color .35s ease; }
.card-name { font-family:'Bebas Neue', sans-serif; font-size:clamp(1.3rem,4vw,1.75rem); letter-spacing:.04em; line-height:1.05; margin-bottom:.45rem; }
.card-desc { font-size:.87rem; line-height:1.7; color:var(--subtle); max-width:60ch; transition:color .35s ease; }
.card-meta { font-family:'DM Mono', monospace; font-size:.58rem; letter-spacing:.14em; text-transform:uppercase; color:var(--muted); margin-top:.6rem; }
.tags { display:flex; flex-wrap:wrap; gap:.4rem; margin-top:.75rem; }
.tag {
  font-family:'DM Mono', monospace;
  font-size:.56rem; letter-spacing:.12em; text-transform:uppercase;
  color:var(--muted); border:1px solid var(--border); padding:.26rem .6rem;
  transition:color .2s, border-color .2s;
}
.card:hover .tag { border-color:var(--accent); color:var(--accent); }
.card-arrow { font-size:1.05rem; color:var(--muted); padding-top:.35rem; transition:transform .2s, color .2s; }
.card:hover .card-arrow { transform:translateX(4px); color:var(--accent); }

/* ── PROSE ────────────────────────────────────────────────── */
.prose p { font-size:.95rem; line-height:1.9; color:var(--subtle); margin-bottom:1.25rem; max-width:62ch; transition:color .35s ease; }
.prose p:last-child { margin-bottom:0; }
.prose a { color:var(--accent); text-decoration:none; border-bottom:1px solid transparent; transition:border-color .2s; }
.prose a:hover { border-bottom-color:var(--accent); }

/* ── BUTTONS ──────────────────────────────────────────────── */
.btn {
  display:inline-flex; align-items:center; gap:.55rem;
  font-family:'DM Mono', monospace;
  font-size:.68rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--bg); background:var(--accent); border:1px solid var(--accent);
  padding:.8rem 1.5rem; text-decoration:none; transition:background .2s, color .2s;
}
.btn:hover { background:transparent; color:var(--accent); }
.btn-ghost { color:var(--muted); background:transparent; border-color:var(--border); }
.btn-ghost:hover { color:var(--accent); border-color:var(--accent); background:transparent; }

/* ── PANELS / GRIDS ───────────────────────────────────────── */
.panel-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(min(260px,100%), 1fr)); gap:1px; background:var(--border); border:1px solid var(--border); transition:background .35s ease, border-color .35s ease; }
.panel { background:var(--bg); padding:clamp(1.25rem,3vw,2rem); transition:background .35s ease; }
.panel-label { font-family:'DM Mono', monospace; font-size:.58rem; letter-spacing:.24em; text-transform:uppercase; color:var(--accent); margin-bottom:.45rem; transition:color .35s ease; }
.panel-title { font-family:'Bebas Neue', sans-serif; font-size:clamp(1.2rem,3vw,1.6rem); letter-spacing:.04em; line-height:1.1; margin-bottom:.25rem; }
.panel-sub { font-family:'DM Mono', monospace; font-size:.62rem; color:var(--muted); line-height:1.6; margin-bottom:1.4rem; }

.stat-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(min(150px,100%), 1fr)); gap:1px; background:var(--border); border:1px solid var(--border); }
.stat { background:var(--bg); padding:clamp(1.1rem,3vw,1.75rem); transition:background .35s ease; }
.stat-val { font-family:'Bebas Neue', sans-serif; font-size:clamp(1.75rem,5vw,2.4rem); line-height:1; color:var(--accent); margin-bottom:.3rem; transition:color .35s ease; }
.stat-label { font-family:'DM Mono', monospace; font-size:.58rem; letter-spacing:.18em; text-transform:uppercase; color:var(--muted); line-height:1.5; }

.badges { display:flex; flex-wrap:wrap; gap:.6rem; }
.badge {
  font-family:'DM Mono', monospace;
  font-size:.58rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--accent); border:1px solid var(--accent); padding:.35rem .85rem;
  transition:color .35s ease, border-color .35s ease;
}

/* ── PIPELINE ─────────────────────────────────────────────── */
.pipeline { display:grid; grid-template-columns:repeat(auto-fit, minmax(min(150px,100%), 1fr)); gap:1px; background:var(--border); border:1px solid var(--border); }
.stage { background:var(--bg); padding:clamp(1.1rem,2.5vw,1.5rem); transition:background .35s ease; }
.stage-step { font-family:'DM Mono', monospace; font-size:.53rem; letter-spacing:.2em; text-transform:uppercase; color:var(--accent); margin-bottom:.45rem; transition:color .35s ease; }
.stage-name { font-family:'Bebas Neue', sans-serif; font-size:1.15rem; letter-spacing:.04em; margin-bottom:.35rem; line-height:1.1; }
.stage-tools { font-family:'DM Mono', monospace; font-size:.6rem; color:var(--muted); line-height:1.8; }

/* ── CHARTS ───────────────────────────────────────────────── */
.chart-box { position:relative; width:100%; height:clamp(220px, 38vw, 320px); }
.chart-box-tall { position:relative; width:100%; height:clamp(240px, 45vw, 380px); }
.chart-status { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; text-align:center; font-family:'DM Mono', monospace; font-size:.63rem; letter-spacing:.18em; color:var(--muted); padding:1rem; }

/* ── MAP ──────────────────────────────────────────────────── */
.map-layout { display:grid; grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); gap:clamp(1.25rem,3vw,2rem); align-items:start; }
.map-shell { position:relative; width:100%; min-width:0; }
.map-toggles { display:flex; flex-wrap:wrap; gap:.5rem; margin-bottom:1.25rem; }
.map-tog {
  font-family:'DM Mono', monospace;
  font-size:.6rem; letter-spacing:.14em; text-transform:uppercase;
  padding:.4rem 1rem; border:1px solid var(--border); color:var(--muted);
  transition:color .2s, border-color .2s, background .2s;
}
.map-tog[aria-pressed="true"] { background:var(--accent); border-color:var(--accent); color:var(--bg); }
.map-tog:not([aria-pressed="true"]):hover { color:var(--accent); border-color:var(--accent); }
#map-tooltip {
  position:absolute; display:none; z-index:20; pointer-events:none;
  background:var(--surface); border:1px solid var(--accent); padding:.6rem .85rem;
  font-family:'DM Mono', monospace; font-size:.68rem; min-width:150px;
}
.map-legend { display:flex; align-items:center; gap:.6rem; margin-top:.9rem; font-family:'DM Mono', monospace; font-size:.6rem; color:var(--muted); }
.map-legend canvas { flex:1; max-width:180px; height:8px; border-radius:2px; }
.state-panel { border:1px solid var(--border); padding:clamp(1.25rem,3vw,1.75rem); display:flex; flex-direction:column; gap:1.1rem; min-width:0; transition:border-color .35s ease; }
.state-metric-label { font-family:'DM Mono', monospace; font-size:.57rem; letter-spacing:.18em; text-transform:uppercase; color:var(--muted); margin-bottom:.25rem; }
.state-metric-val { font-family:'Bebas Neue', sans-serif; font-size:clamp(1.5rem,4vw,1.9rem); line-height:1; color:var(--accent); transition:color .35s ease; }

/* ── ABOUT ────────────────────────────────────────────────── */
.about-top { display:grid; grid-template-columns:minmax(0,180px) minmax(0,1fr); gap:clamp(1.5rem,4vw,3rem); align-items:start; }
.portrait { width:100%; aspect-ratio:1; object-fit:cover; border:1px solid var(--border); filter:grayscale(1) contrast(1.05); transition:filter .4s ease, border-color .35s ease; }
.portrait:hover { filter:grayscale(0) contrast(1); }
.portrait-fallback {
  width:100%; aspect-ratio:1; border:1px solid var(--border);
  display:flex; align-items:center; justify-content:center;
  font-family:'Bebas Neue', sans-serif; font-size:3.5rem; letter-spacing:.08em;
  color:var(--muted); background:var(--surface); transition:background .35s ease;
}
.facts { display:flex; flex-direction:column; }
.fact { display:flex; justify-content:space-between; align-items:baseline; gap:1rem; padding-block:.9rem; border-bottom:1px solid var(--border); }
.fact:first-child { border-top:1px solid var(--border); }
.fact-label { font-family:'DM Mono', monospace; font-size:.6rem; letter-spacing:.18em; text-transform:uppercase; color:var(--muted); flex:0 0 auto; }
.fact-value { font-size:.85rem; color:var(--subtle); text-align:right; transition:color .35s ease; }

/* ── CONNECT ──────────────────────────────────────────────── */
.connect { display:flex; flex-wrap:wrap; gap:.5rem 2rem; }
.connect a {
  font-family:'DM Mono', monospace;
  font-size:.68rem; letter-spacing:.12em; text-transform:uppercase;
  color:var(--muted); text-decoration:none;
  padding-block:.7rem; border-bottom:1px solid transparent; transition:color .2s, border-color .2s;
}
.connect a:hover { color:var(--accent); border-bottom-color:var(--accent); }

/* ── FOOTER ───────────────────────────────────────────────── */
.footer-wrap { margin-top:auto; border-top:1px solid var(--border); transition:border-color .35s ease; }
.footer { display:flex; justify-content:space-between; align-items:center; gap:1rem; flex-wrap:wrap; padding-block:1.75rem; }
.footer span, .footer a { font-family:'DM Mono', monospace; font-size:.57rem; letter-spacing:.16em; text-transform:uppercase; color:var(--muted); text-decoration:none; transition:color .2s; }
.footer a:hover { color:var(--accent); }

/* ── UTIL ─────────────────────────────────────────────────── */
.stack-sm > * + * { margin-top:1rem; }
.stack-md > * + * { margin-top:1.75rem; }
.stack-lg > * + * { margin-top:2.75rem; }
.mt-1px { margin-top:1px; }
.skip-link { position:absolute; left:-9999px; }
.skip-link:focus { left:1rem; top:1rem; z-index:9999; background:var(--accent); color:var(--bg); padding:.6rem 1rem; font-family:'DM Mono',monospace; font-size:.7rem; }
:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }

/* ── RESPONSIVE ───────────────────────────────────────────── */
@media (max-width:900px) {
  .map-layout { grid-template-columns:minmax(0,1fr); }
}
@media (max-width:768px) {
  body { cursor:auto; }
  button, a { cursor:pointer; }
  .cursor, .cursor-ring { display:none; }
  .hero { grid-template-columns:minmax(0,1fr); align-items:start; }
  .hero-links { flex-direction:row; flex-wrap:wrap; align-items:flex-start; gap:1.25rem; }
  .row { grid-template-columns:minmax(0,1fr); gap:.45rem; }
  .row-date { padding-top:0; }
  .card { grid-template-columns:minmax(0,1fr); gap:.4rem; }
  .card-num { padding-top:0; }
  .card-arrow { display:none; }
  .about-top { grid-template-columns:minmax(0,1fr); }
  .portrait, .portrait-fallback { max-width:200px; }
  .footer { flex-direction:column; text-align:center; gap:.5rem; }
}
@media (max-width:560px) {
  .nav { flex-wrap:wrap; row-gap:.85rem; }
  .nav-logo { order:1; }
  .theme-picker { order:2; margin-left:auto; }
  .nav-links { order:3; width:100%; margin-left:0; justify-content:flex-start; gap:1.1rem; }
  .fact { flex-direction:column; align-items:flex-start; gap:.2rem; }
  .fact-value { text-align:left; }
}

@media (prefers-reduced-motion:reduce) {
  *, *::before, *::after { animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; scroll-behavior:auto !important; }
}

/* screen-reader-only text (icon-button label) */
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0; }
