:root {
  --red: #c8102e;
  --gold: #ffd100;
  --sky: #002868;
  --ink: #1c1915;
  --muted: #5e584f;
  --paper: #f6f1e7;
  --paper-2: #fffdf8;
  --sand: #e7d7c1;
  --line: #e0d5c6;
  --pine: #1f4d3a;
  --open: #1f7a4d;
  --mud: #e07a2f;
  --closed: #6b6560;
  --blue-trail: #1d4e89;
  --display: "Palatino Linotype", Palatino, Georgia, serif;
  --sans: "Segoe UI", Candara, "Trebuchet MS", sans-serif;
  --radius: 1.1rem;
  --shadow: 0 14px 40px rgba(28, 25, 21, 0.08);
  --max: 72rem;
}

body[data-restyle="1"] {
  --red: #143d2a;
  --gold: #e07a2f;
  --sky: #1b3a4b;
  --paper: #e7efe8;
  --paper-2: #f4faf6;
  --sand: #d5e3d8;
  --line: #b7c9bc;
  --ink: #14221b;
  --muted: #3d5246;
  --radius: 2px;
  --shadow: none;
  --display: Georgia, "Times New Roman", serif;
  --sans: Candara, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background:
    radial-gradient(circle at top right, rgba(255, 209, 0, 0.18), transparent 28rem),
    var(--paper);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 1.02rem;
  line-height: 1.5;
}
body[data-restyle="1"] {
  background: linear-gradient(180deg, #dfeae3, var(--paper) 18rem);
}
img { max-width: 100%; display: block; }
a { color: var(--sky); }
h1, h2, h3, h4 { font-family: var(--display); line-height: 1.15; font-weight: 700; }
h1 { font-size: clamp(2rem, 4vw, 3.4rem); margin: 0 0 0.4rem; }
h2 { font-size: 1.7rem; margin: 0 0 0.4rem; }
h3 { font-size: 1.15rem; margin: 0; }
p { margin: 0 0 0.7rem; }
button, input, select, textarea { font: inherit; color: inherit; }
button { cursor: pointer; }
:focus-visible { outline: 3px solid var(--sky); outline-offset: 2px; }

[data-ui="sr"] {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
.skip, [data-ui="skip"] {
  position: absolute;
  left: 0.5rem;
  top: -3rem;
  background: var(--gold);
  color: var(--ink);
  padding: 0.4rem 0.7rem;
  z-index: 50;
}
[data-ui="skip"]:focus { top: 0.5rem; }

[data-ui="ribbon"] {
  background: var(--sky);
  color: white;
  text-align: center;
  padding: 0.35rem 1rem;
  font-size: 0.82rem;
  letter-spacing: 0.01em;
}
[data-ui="ribbon"] p { margin: 0; }
[data-ui="ribbon"] a { color: var(--gold); font-weight: 700; }
[data-ui="ribbon-tag"] {
  display: inline-block;
  margin-right: 0.35rem;
  padding: 0 0.45rem;
  border-radius: 999px;
  background: var(--gold);
  color: #1b1b1b;
  font-size: 0.72rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

[data-ui="header"] {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: 0.85rem 1.25rem;
  background: rgba(255, 253, 248, 0.92);
  border-bottom: 1px solid var(--line);
  position: sticky;
  top: 0;
  z-index: 20;
}
[data-ui="logo"] {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  color: var(--ink);
  text-decoration: none;
  font-family: var(--display);
  font-weight: 700;
  font-size: 1.25rem;
}
[data-ui="logo-mark"] { fill: var(--red); }
[data-ui="nav"] { display: flex; gap: 0.3rem; flex-wrap: wrap; margin-left: auto; }
[data-ui="nav"] a {
  color: var(--ink);
  text-decoration: none;
  padding: 0.4rem 0.7rem;
  border-radius: 999px;
}
[data-ui="nav"] a[aria-current="page"] { background: var(--sand); }
[data-ui="cart-link"] {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  text-decoration: none;
  color: var(--ink);
  background: white;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 0.4rem 0.75rem;
  position: relative;
}
[data-ui="cart-badge"] {
  background: var(--red);
  color: white;
  border-radius: 999px;
  min-width: 1.3rem;
  text-align: center;
  font-size: 0.75rem;
  padding: 0.05rem 0.35rem;
}
[data-ui="icon"] { width: 1.15rem; height: 1.15rem; }
[data-ui="menu-button"] { display: none; }

body[data-drawer="1"] [data-ui="menu-button"] {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin-left: auto;
  background: white;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  padding: 0.45rem 0.7rem;
}
body[data-drawer="1"] [data-ui="nav"] {
  position: fixed;
  inset: 0 auto 0 0;
  width: min(18rem, 86vw);
  margin: 0;
  flex-direction: column;
  background: var(--paper-2);
  transform: translateX(-105%);
  padding: 5rem 1rem 1rem;
  z-index: 25;
  box-shadow: none;
}
body[data-drawer="1"] [data-ui="nav"][data-open="true"] {
  transform: none;
  box-shadow: 12px 0 40px rgba(0, 0, 0, 0.16);
}

[data-ui="banner"] {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
  background: #fff4cc;
  border-bottom: 4px solid var(--gold);
  padding: 0.75rem 1.25rem;
}
[data-ui="banner"] p { margin: 0; }

[data-ui="content"], [data-ui="main"] {
  width: min(var(--max), calc(100% - 2rem));
  margin: 0 auto;
  padding: 1.5rem 0 3rem;
}
[data-ui="footer"] {
  background: var(--sky);
  color: white;
  padding: 1.5rem 1.25rem 2rem;
  display: grid;
  gap: 0.6rem;
}
[data-ui="footer"] a { color: var(--gold); margin-right: 0.9rem; }
[data-ui="footer"] p { margin: 0; }

[data-ui="cookie"] {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 30;
  display: flex;
  gap: 1rem;
  justify-content: space-between;
  align-items: center;
  background: var(--ink);
  color: white;
  padding: 0.8rem 1.2rem;
}
[data-ui="cookie"] p { margin: 0; }
[data-ui="cookie"] [data-ui="button"] { background: transparent; color: white; border-color: white; }

[data-ui="toasts"] {
  position: fixed;
  right: 1rem;
  bottom: 5rem;
  display: grid;
  gap: 0.5rem;
  z-index: 40;
}
[data-ui="toast"] {
  background: var(--ink);
  color: white;
  margin: 0;
  padding: 0.7rem 0.9rem;
  border-radius: 0.7rem;
  box-shadow: var(--shadow);
}
[data-ui="spinner"] {
  position: fixed;
  right: 1rem;
  bottom: 1rem;
  z-index: 35;
  background: white;
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 0.45rem 0.8rem;
}
[data-ui="spinner"][hidden] { display: none; }

[data-ui="button-primary"], [data-ui="button"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  border-radius: 999px;
  padding: 0.65rem 1rem;
  text-decoration: none;
  border: 1px solid transparent;
  background: white;
  color: var(--ink);
}
[data-ui="button-primary"] { background: var(--red); color: white; border-color: var(--red); }
body[data-restyle="1"] [data-ui="button-primary"],
body[data-restyle="1"] [data-ui="card"] { border-radius: var(--radius); }
[data-ui="button"]:disabled, [data-ui="button-primary"]:disabled { opacity: 0.55; cursor: not-allowed; }
[data-ui="icon-button"] {
  width: 2.2rem;
  height: 2.2rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: white;
}

[data-ui="hero"] { position: relative; min-height: 28rem; border-radius: var(--radius); overflow: hidden; color: white; }
[data-ui="hero-art"] { position: absolute; inset: 0; width: 100%; height: 100%; }
[data-ui="hero-sky"] { fill: var(--sky); }
[data-ui="hero-sun"] { fill: var(--gold); }
[data-ui="ridge-back"] { fill: #355c7d; }
[data-ui="ridge-front"] { fill: var(--pine); }
[data-ui="hero-copy"] {
  position: relative;
  z-index: 1;
  max-width: 34rem;
  margin: 3rem;
  background: rgba(255, 253, 248, 0.92);
  color: var(--ink);
  padding: 1.4rem 1.5rem 1.5rem;
  border-radius: var(--radius);
}
[data-ui="eyebrow"] { letter-spacing: 0.12em; text-transform: uppercase; font-size: 0.78rem; color: var(--red); font-weight: 700; }
[data-ui="home-grid"], [data-ui="card-grid"], [data-ui="snack-grid"] {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
}
[data-ui="card"], [data-ui="snack-card"], [data-ui="panel"] {
  background: var(--paper-2);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  border: 1px solid transparent;
}
body[data-restyle="1"] [data-ui="card"],
body[data-restyle="1"] [data-ui="panel"],
body[data-restyle="1"] [data-ui="snack-card"] { border: 2px solid var(--ink); box-shadow: none; }
[data-ui="card"] { display: flex; flex-direction: column; overflow: hidden; }
[data-ui="card-media"] { background: var(--sand); min-height: 9rem; display: grid; place-items: center; position: relative; }
[data-ui="card-media"] img { width: 100%; height: 9rem; object-fit: contain; }
[data-ui="card-body"], [data-ui="card-footer"] { padding: 0.85rem 1rem; }
[data-ui="card-footer"] { margin-top: auto; }
[data-ui="card"] h2 { font-size: 1.35rem; }
[data-ui="card"] h2 a, [data-ui="feature"] a { color: inherit; text-decoration: none; }
[data-ui="price"] { font-weight: 700; }
body[data-regroup="1"] [data-ui="card-media"] [data-ui="button-primary"] {
  position: absolute;
  left: 0.7rem;
  bottom: 0.7rem;
}
[data-ui="snack-grid"] { grid-template-columns: repeat(3, minmax(0, 1fr)); }
[data-ui="snack-card"] { display: grid; gap: 0.3rem; padding: 0.9rem; text-decoration: none; color: inherit; }
[data-ui="snack-title"] { font-weight: 700; margin: 0; font-family: var(--sans); }

[data-ui="results-head"], [data-ui="split"] { display: flex; justify-content: space-between; gap: 1rem; align-items: baseline; flex-wrap: wrap; }
[data-ui="filters"] { display: flex; flex-wrap: wrap; gap: 1rem; align-items: end; margin: 1rem 0; }
[data-ui="field"] { display: grid; gap: 0.3rem; }
label, legend { font-weight: 650; }
input, select, textarea {
  width: 100%;
  padding: 0.55rem 0.65rem;
  border: 1px solid #cfc4b4;
  border-radius: 0.55rem;
  background: white;
}
textarea { min-height: 6rem; }
[data-ui="help"] { color: var(--muted); font-size: 0.9rem; margin: 0; }
[data-ui="error"] { color: var(--red); font-size: 0.92rem; margin: 0; }
[data-ui="choices"] { border: 0; padding: 0; display: flex; gap: 0.8rem; flex-wrap: wrap; }
[data-ui="choice"] { display: inline-flex; gap: 0.35rem; align-items: center; font-weight: 500; }
[data-ui="switch"] {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  border: 1px solid var(--line);
  background: white;
  border-radius: 999px;
  padding: 0.3rem 0.75rem 0.3rem 0.3rem;
}
[data-ui="switch"]::before {
  content: "";
  width: 1.35rem;
  height: 1.35rem;
  border-radius: 50%;
  background: #d0d0d0;
}
[data-ui="switch"][aria-checked="true"]::before { background: var(--red); }
[data-ui="stepper"] { display: flex; align-items: center; gap: 0.4rem; }
[data-ui="stepper"] input { width: 4.5rem; text-align: center; }

[data-ui="crumbs"] ol { display: flex; flex-wrap: wrap; gap: 0.35rem; list-style: none; padding: 0; margin: 0 0 0.8rem; }
[data-ui="crumbs"] li:not(:last-child)::after { content: "/"; margin-left: 0.35rem; color: var(--muted); }
[data-ui="spec"] { width: 100%; border-collapse: collapse; background: white; }
[data-ui="spec"] th, [data-ui="spec"] td, table th, table td { text-align: left; padding: 0.55rem 0.45rem; border-bottom: 1px solid var(--line); }
table { width: 100%; border-collapse: collapse; background: white; }
table caption { text-align: left; font-weight: 700; padding: 0.4rem 0; }

[data-ui="difficulty"] { display: inline-flex; align-items: center; gap: 0.3rem; font-weight: 700; }
[data-ui="badge-shape"] { width: 0.9rem; height: 0.9rem; }
[data-difficulty="green"] { color: var(--open); }
[data-difficulty="blue"] { color: var(--blue-trail); }
[data-difficulty="black"] { color: var(--ink); }
[data-ui="status"], [data-ui="low"] {
  display: inline-block;
  border-radius: 999px;
  padding: 0.1rem 0.5rem;
  font-size: 0.82rem;
  font-weight: 700;
}
[data-status="open"] { background: var(--open); color: white; }
[data-status="muddy"] { background: var(--mud); color: #1c1915; }
[data-status="closed"], [data-status="returned"] { background: var(--closed); color: white; }
[data-status="out"], [data-status="due-today"] { background: var(--sand); color: var(--ink); }
[data-status="overdue"], [data-ui="low"] { background: var(--red); color: white; }
[data-status="waiting"], [data-status="in-progress"], [data-status="ready"], [data-status="picked-up"] { background: var(--sand); }

[data-ui="tabs"] { display: flex; gap: 0.4rem; margin: 0.6rem 0 1rem; }
[data-ui="tabs"] button, [role="tab"] {
  border: 1px solid var(--line);
  background: white;
  border-radius: 999px;
  padding: 0.35rem 0.8rem;
}
[data-ui="tabs"] button[aria-selected="true"], [role="tab"][aria-selected="true"] { background: var(--sky); color: white; }
[data-ui="map-frame"] { width: 100%; height: 28rem; border: 1px solid var(--line); border-radius: var(--radius); background: white; }
[data-ui="reveal-panel"] { display: none; background: white; padding: 0.8rem 1rem; border-radius: var(--radius); }
[data-ui="reveal-panel"].is-open,
[data-ui="reveal-panel"].sw-is-open,
[data-ui="reveal-panel"][data-open="true"] { display: block; }

[data-ui="cart-layout"], [data-ui="checkout-layout"] {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 18rem;
  gap: 1.2rem;
  align-items: start;
}
[data-ui="cart-summary"], [data-ui="checkout-summary"], [data-ui="panel"] { padding: 1rem; }
[data-ui="totals"] { display: grid; grid-template-columns: 1fr auto; gap: 0.35rem 1rem; margin: 0; }
[data-ui="totals"] dd { margin: 0; font-weight: 700; }
[data-ui="line"] { display: grid; grid-template-columns: 1fr auto auto; gap: 0.8rem; align-items: center; padding: 0.8rem 0; border-bottom: 1px solid var(--line); }
[data-ui="empty"] { text-align: center; padding: 2rem 1rem; }
body[data-faint="1"] [data-ui="checkout-summary"],
body[data-faint="1"] [data-ui="checkout-summary"] * { background: #f3f0ea; color: #f2efe9; }

dialog, [data-ui="dialog"], [data-ui="reserve-dialog"], [data-ui="promo"] {
  border: 0;
  border-radius: var(--radius);
  padding: 1.1rem 1.2rem 1.2rem;
  width: min(32rem, calc(100% - 2rem));
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.28);
}
dialog::backdrop { background: rgba(0, 20, 50, 0.48); }
[data-ui="dialog-actions"] { display: flex; justify-content: flex-end; gap: 0.5rem; margin-top: 1rem; }
body[data-clip="1"] [data-ui="reserve-dialog"] { max-height: 8.5rem; overflow: hidden; }
body[data-flat="1"] [data-ui="reserve-dialog"] [data-action="confirm"] {
  background: transparent;
  color: #5c564c;
  font-size: 0.75rem;
  padding: 0.1rem 0.25rem;
  border: none;
  font-weight: 400;
}
body[data-flat="1"] [data-ui="reserve-dialog"] [data-action="cancel"] {
  background: var(--red);
  color: white;
  font-size: 1.25rem;
  padding: 0.85rem 1.3rem;
}
[data-ui="reserve-dialog"] [data-action="confirm"] { font-size: 1.05rem; }
[data-ui="reserve-dialog"] [data-action="cancel"] { font-size: 0.92rem; }
body[data-overlap="1"] [data-ui="repair-form"] [data-ui="field"] { position: relative; }
body[data-overlap="1"] [data-ui="repair-form"] [data-ui="field"] > label {
  position: absolute;
  z-index: 2;
  top: 1.7rem;
  background: transparent;
}

[data-ui="pager"] { display: flex; gap: 0.4rem; margin-top: 1rem; }
[data-ui="pager"] a, [data-ui="pager"] button {
  min-width: 2.2rem;
  text-align: center;
  border: 1px solid var(--line);
  background: white;
  border-radius: 0.5rem;
  padding: 0.3rem 0.55rem;
  text-decoration: none;
  color: inherit;
}
[aria-current="page"] { background: var(--sky); color: white; }

[data-ui="locations"] { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
[data-ui="feature"] { padding: 1.1rem; display: grid; gap: 0.4rem; align-content: start; }

[data-ui="staff-shell"] { display: grid; grid-template-columns: 15.5rem minmax(0, 1fr); min-height: 70vh; background: white; border-radius: var(--radius); overflow: hidden; border: 1px solid var(--line); }
[data-ui="staff-nav"], [data-ui="sidebar"] { background: #f3ecdf; padding: 1rem; display: flex; flex-direction: column; gap: 0.35rem; }
[data-ui="staff-nav"] a, [data-ui="staff-tabs"] a { color: var(--ink); text-decoration: none; padding: 0.4rem 0.55rem; border-radius: 0.5rem; }
[data-ui="staff-nav"] a[aria-current="page"] { background: var(--sky); color: white; }
[data-ui="topbar"] { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 0.9rem 1rem; border-bottom: 1px solid var(--line); }
[data-ui="topbar"] h1 { font-size: 1.6rem; }
[data-ui="staff-content"] { padding: 1rem; display: grid; gap: 1rem; }
[data-ui="tiles"] { display: flex; flex-wrap: nowrap; justify-content: flex-start; gap: 0.75rem; }
[data-ui="tile"] { flex: 1 1 0; background: var(--paper); border-radius: var(--radius); padding: 0.8rem; }
[data-ui="tile-value"] { font-family: var(--display); font-size: 2rem; margin: 0; }
[data-ui="board"] { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.7rem; align-items: start; }
[data-ui="column"] { background: var(--paper); border-radius: var(--radius); padding: 0.6rem; display: grid; gap: 0.5rem; }
[data-ui="ticket-card"] { background: white; border-radius: 0.7rem; padding: 0.6rem; display: grid; gap: 0.25rem; }
[data-ui="inventory-layout"] { display: grid; grid-template-columns: 14rem minmax(0, 1fr); gap: 1rem; }
[data-ui="div-table"] [role="row"] { display: grid; grid-template-columns: 5.5rem 1.4fr 4.5rem 6rem 6rem 6.5rem; gap: 0.35rem; align-items: center; padding: 0.4rem 0; border-bottom: 1px solid var(--line); }
[data-ui="notes"] { min-height: 8rem; border: 1px solid #cfc4b4; border-radius: 0.55rem; padding: 0.6rem; background: white; }
[data-ui="user-menu"] { position: relative; }
[data-ui="user-menu-panel"] { position: absolute; right: 0; top: 110%; background: white; border: 1px solid var(--line); border-radius: 0.6rem; padding: 0.4rem; min-width: 8rem; }
[data-ui="chart"] { width: 100%; height: auto; background: white; border: 1px solid var(--line); border-radius: var(--radius); }
body[data-drawer="1"] [data-ui="staff-shell"] { grid-template-columns: 1fr; }
body[data-drawer="1"] [data-ui="staff-tabs"] { display: flex; gap: 0.25rem; overflow-x: auto; background: var(--sky); padding: 0.45rem; }
body[data-drawer="1"] [data-ui="staff-tabs"] a { color: white; white-space: nowrap; }
body[data-drawer="1"] [data-ui="staff-tabs"] a[aria-current="page"] { background: rgba(255, 255, 255, 0.16); }

[data-ui="login-card"] { max-width: 36rem; margin: 1rem auto; padding: 1.2rem; }
[data-weak="forgot"] { margin-top: 1rem; }
[data-ui="hours"] { display: grid; gap: 0.5rem; }
[data-ui="hours-row"] { display: grid; grid-template-columns: 7rem 1fr 1fr; gap: 0.5rem; align-items: center; }

@media (max-width: 900px) {
  [data-ui="home-grid"], [data-ui="card-grid"], [data-ui="snack-grid"], [data-ui="locations"], [data-ui="board"] { grid-template-columns: 1fr 1fr; }
  [data-ui="tiles"] { flex-wrap: wrap; }
  [data-ui="staff-shell"], [data-ui="inventory-layout"], [data-ui="cart-layout"], [data-ui="checkout-layout"] { grid-template-columns: 1fr; }
  [data-ui="hero-copy"] { margin: 1rem; }
}
@media (max-width: 640px) {
  [data-ui="home-grid"], [data-ui="card-grid"], [data-ui="snack-grid"], [data-ui="locations"], [data-ui="board"] { grid-template-columns: 1fr; }
  [data-ui="header"] { flex-wrap: wrap; }
  [data-ui="cookie"], [data-ui="banner"] { flex-direction: column; align-items: stretch; }
  [data-ui="line"] { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  * { scroll-behavior: auto !important; transition: none !important; }
}
/* Component corrections. Attribute selectors survive the q6 class churn. */
input[type="checkbox"], input[type="radio"] { width: 1.1rem; height: 1.1rem; flex: 0 0 1.1rem; padding: 0; accent-color: var(--red); }
[data-ui="choice"] { white-space: nowrap; }
[data-ui="choices"] { min-width: 0; margin: 0; }
[data-ui="switch"] { width: 3.25rem; height: 1.85rem; padding: 3px; background: var(--muted); border: 0; justify-self: start; }
[data-ui="switch"]::before { width: 1.45rem; height: 1.45rem; background: white; flex: none; transition: transform .15s; }
[data-ui="switch"][aria-checked="true"] { background: var(--red); }
[data-ui="switch"][aria-checked="true"]::before { background: white; transform: translateX(1.35rem); }
[data-ui="button"] { border-color: var(--line); box-shadow: 0 1px 2px #00000009; }
[data-ui="ticket-card"] [data-ui="button"] { border-color: var(--sky); color: var(--sky); font-weight: 650; margin-top: .5rem; }
@media (max-width: 640px) {
  [data-ui="header"] { flex-wrap: nowrap; gap: .5rem; padding: .75rem; }
  [data-ui="logo"] { font-size: 1rem; gap: .4rem; }
  [data-ui="logo"] svg { width: 28px; height: 28px; flex: none; }
  [data-ui="menu-button"] { display: inline-flex; align-items: center; gap: .25rem; margin-left: auto; padding: .5rem; border: 1px solid var(--line); background: var(--paper-2); border-radius: .5rem; }
  body [data-ui="nav"] { position: absolute; left: .75rem; right: .75rem; top: 100%; margin: 0; padding: .5rem; background: var(--paper-2); border: 1px solid var(--line); box-shadow: var(--shadow); flex-direction: column; visibility: hidden; }
  body [data-ui="nav"][data-open="true"] { visibility: visible; }
  body[data-drawer="1"] [data-ui="nav"] { position: fixed; right: auto; top: 0; }
  [data-ui="cart-link"] { padding: .5rem; }
}
[data-ui="trail-map"] { width: 100%; height: auto; display: block; }
body[data-map-embed="true"] { background: #f1eedf; }
body[data-map-embed="true"] [data-ui="main"] { width: 100%; padding: 0; }
body[data-map-embed="true"] [data-ui="trail-map"] { height: 100vh; }
[data-ui="map-frame"] { height: auto; aspect-ratio: 1040 / 440; min-height: 185px; }
/* Field guide design system: local fonts, a quiet paper surface, Colorado accents. */
:root {
  --display: "Segoe UI", Arial, sans-serif;
  --sans: "Segoe UI", Arial, sans-serif;
  --radius: .85rem;
  --paper: #f5f3eb;
  --paper-2: #fffef9;
  --line: #d9ddd3;
  --ink: #20332d;
  --muted: #56665e;
  --shadow: 0 8px 24px #20332d09;
  --space-1: .5rem; --space-2: 1rem; --space-3: 1.5rem; --space-4: 2rem; --space-5: 3rem;
  --text-small: .85rem; --text-body: 1rem; --text-title: clamp(2.25rem, 4vw, 3.75rem);
}
body { background: var(--paper); font-size: var(--text-body); line-height: 1.65; }
h1 { font-size: var(--text-title); letter-spacing: -.045em; line-height: 1.06; margin-bottom: 1rem; }
h2 { font-size: 1.65rem; letter-spacing: -.025em; margin-bottom: .75rem; }
h3 { font-size: 1.1rem; }
p { margin-bottom: 1rem; }
a { text-underline-offset: .2em; }
a:hover { text-decoration-thickness: 2px; }
button, a, input, select, textarea { -webkit-tap-highlight-color: transparent; }
button { font-weight: 650; }
button:not(:disabled):hover { filter: brightness(.95); }
input, select, textarea { border-color: var(--line); border-radius: .45rem; min-height: 2.8rem; }
input[type="radio"], input[type="checkbox"] { min-height: 0; }
:focus-visible { outline: 3px solid var(--sky); outline-offset: 4px; }
[data-ui="main"] { padding-top: var(--space-4); min-height: 60vh; }
[data-ui="main"] > h2 { margin-top: var(--space-5); }
[data-ui="main"] > p { max-width: 72ch; }
[data-ui="ribbon"] { background: var(--sky); font-size: .82rem; padding: .35rem 1rem; }
[data-ui="header"] { background: var(--paper-2); padding: 1rem max(1.25rem, calc((100vw - var(--max)) / 2)); }
[data-ui="logo"] { font-family: var(--sans); letter-spacing: -.035em; font-size: 1.15rem; white-space: nowrap; }
[data-ui="nav"] a { font-size: .9rem; font-weight: 650; }
[data-ui="nav"] a:hover { background: var(--paper); }
[data-ui="banner"] { font-size: .85rem; padding: .65rem max(1.25rem, calc((100vw - var(--max)) / 2)); border-bottom-width: 2px; }
[data-ui="banner"] [data-ui="button"] { padding: .35rem .75rem; }
[data-ui="button-primary"], [data-ui="button"] { border-radius: .45rem; min-height: 2.75rem; padding: .65rem 1.1rem; font-weight: 650; line-height: 1.3; }
[data-ui="button"] { background: var(--paper-2); border: 1px solid var(--line); }
[data-ui="button-primary"]:hover { box-shadow: 0 3px 10px #20332d26; }
[data-ui="icon-button"] { border-radius: .45rem; width: 2.75rem; height: 2.75rem; flex: none; }
[data-ui="hero"] { display: grid; grid-template-columns: 1.05fr 1fr; min-height: 28rem; background: var(--paper-2); border: 1px solid var(--line); margin-bottom: var(--space-4); }
[data-ui="hero-art"] { position: absolute; left: 51%; width: 49%; height: 100%; object-fit: cover; }
[data-ui="hero-copy"] { grid-column: 1; margin: 0; padding: 3rem; background: var(--paper-2); max-width: none; border-radius: 0; align-self: stretch; display: flex; flex-direction: column; align-items: start; justify-content: center; }
[data-ui="hero-copy"] h1 { font-size: clamp(2.75rem, 4.4vw, 4rem); }
[data-ui="hero-copy"] p:not([data-ui="eyebrow"]) { color: var(--muted); font-size: .95rem; }
[data-ui="hero-bike"] { position: absolute; width: 39%; right: 3%; bottom: 1.5rem; transform: rotate(-7deg); }
[data-ui="eyebrow"] { font-size: .75rem; font-weight: 800; letter-spacing: .15em; }
[data-ui="home-grid"] { gap: 1rem; margin: 1rem 0 3rem; counter-reset: services; }
[data-ui="feature"] { background: var(--paper-2); border: 1px solid var(--line); border-top: 4px solid var(--open); border-radius: var(--radius); padding: 1.6rem; }
[data-ui="feature"]:nth-child(2) { border-top-color: var(--blue-trail); }
[data-ui="feature"]:nth-child(3) { border-top-color: var(--ink); }
[data-ui="feature"]::before { counter-increment: services; content: "0" counter(services) " / EXPLORE"; font-size: .72rem; font-weight: 750; letter-spacing: .12em; color: var(--muted); margin-bottom: 1rem; }
[data-ui="feature"] p { color: var(--muted); font-size: .95rem; }
[data-ui="feature"] a { font-weight: 750; text-decoration: underline; text-underline-offset: .3em; }
[data-ui="locations"] { margin: 1.5rem 0; }
[data-ui="locations"] [data-ui="panel"] { padding: 2rem; border-top: 5px solid var(--pine); }
[data-ui="locations"] [data-ui="panel"]:nth-child(2) { border-top-color: var(--mud); }
[data-ui="season"] { background: var(--sky); color: white; padding: 2rem; border-radius: var(--radius); margin: 2rem 0; }
[data-ui="season"] [data-ui="eyebrow"] { color: var(--gold); }
[data-ui="season"] a { color: var(--gold); }
[data-ui="card"], [data-ui="panel"], [data-ui="snack-card"] { border: 1px solid var(--line); }
[data-ui="card-grid"] { gap: 1.25rem; margin: 1.5rem 0; }
[data-ui="card-media"] { background: #e8ecdf; min-height: 12rem; }
[data-ui="card-media"] img { height: 12rem; padding: 1rem; }
[data-ui="card-body"] { padding: 1.25rem 1.25rem .5rem; }
[data-ui="card-body"] p { font-size: .9rem; color: var(--muted); }
[data-ui="card-body"] [data-ui="price"] { color: var(--ink); font-size: 1.2rem; }
[data-ui="card-footer"] { padding: .75rem 1.25rem 1.25rem; }
[data-ui="snack-card"] img { height: 7rem; margin: auto; }
[data-ui="panel"] { padding: 1.5rem; }
[data-ui="filters"] { padding: 1.25rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper-2); gap: 1.25rem; }
[data-ui="filters"] [data-ui="choices"] { flex: 1 1 20rem; gap: .5rem 1rem; }
[data-ui="choices"] legend { margin-bottom: .5rem; font-size: .85rem; }
[data-ui="choice"] { font-size: .9rem; }
[data-ui="field"] { margin-bottom: 1rem; gap: .4rem; }
[data-ui="filters"] [data-ui="field"] { margin: 0; }
[data-ui="field"] label { font-size: .9rem; }
[data-ui="repair-form"] { max-width: 44rem; margin: 0 auto; padding: 2rem; background: var(--paper-2); border: 1px solid var(--line); border-radius: var(--radius); }
[data-ui="detail-layout"] { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 3rem; align-items: start; }
[data-ui="detail-layout"] > * { min-width: 0; }
[data-ui="detail-layout"] > [data-ui="card-media"] { min-height: 25rem; border-radius: var(--radius); }
[data-ui="detail-layout"] > [data-ui="card-media"] img { height: 25rem; }
[data-ui="detail-copy"] { display: grid; gap: .75rem; }
[data-ui="detail-copy"] > p { margin: 0; }
[data-ui="detail-copy"] > [data-ui="button-primary"] { justify-self: start; }
[data-ui="rental-art"] { background: #e8ecdf; border-radius: var(--radius); width: 100%; max-height: 18rem; }
[data-ui="cart-summary"], [data-ui="checkout-summary"] { padding: 1.5rem; border: 1px solid var(--line); background: var(--paper-2); border-radius: var(--radius); }
[data-ui="totals"] { font-variant-numeric: tabular-nums; gap: .75rem 1rem; padding: 1rem 0; }
[data-ui="totals"] dt:last-of-type, [data-ui="totals"] dd:last-of-type { border-top: 1px solid var(--line); padding-top: 1rem; font-size: 1.1rem; }
[data-ui="line"] { padding: 1.25rem 0; }
[data-ui="empty"] { border: 1px dashed var(--line); border-radius: var(--radius); background: var(--paper-2); padding: 3rem; }
[data-ui="table-scroll"] { max-width: 100%; overflow: auto; border: 1px solid var(--line); border-radius: .6rem; }
table { font-size: .9rem; }
table th { font-size: .75rem; text-transform: uppercase; letter-spacing: .055em; background: var(--paper); color: var(--muted); }
table td, table th { padding: .85rem .7rem; }
tbody tr:hover { background: var(--paper-2); }
[data-ui="status"] { white-space: nowrap; }
[data-ui="tabs"] { margin: 1rem 0; display: flex; gap: .4rem; flex-wrap: wrap; }
[data-ui="footer"] { padding: 2.5rem max(1.25rem, calc((100vw - var(--max)) / 2)); font-size: .85rem; gap: 1rem; }
[data-ui="footer-brand"] { font-size: 1.1rem; font-weight: 750; }
[data-ui="footer"] nav { display: flex; gap: .5rem 1rem; flex-wrap: wrap; }
[data-ui="footer-note"] { opacity: .85; font-size: .75rem; }
[data-ui="cookie"] { font-size: .85rem; padding: 1rem 1.5rem; }
[data-ui="cookie"] button { min-height: 2.5rem; }
[data-ui="cookie"] > div { display: flex; gap: .5rem; flex-shrink: 0; }
[data-ui="toast"] { border-left: 4px solid var(--gold); padding: 1rem 1.25rem; }
dialog { background: var(--paper-2); color: var(--ink); padding: 2rem; max-height: calc(100dvh - 2rem); overflow: auto; }
[data-ui="dialog-body"] { margin-top: 1rem; }
[data-ui="dialog-actions"] { border-top: 1px solid var(--line); padding-top: 1rem; flex-wrap: wrap; }
[data-ui="promo"] { border-top: 6px solid var(--gold); }
[data-ui="promo"] h2 { font-size: 2rem; }
[data-ui="staff-shell"] { grid-template-columns: 13rem minmax(0,1fr); box-shadow: var(--shadow); }
[data-ui="staff-shell"] > * { min-width: 0; }
[data-ui="staff-nav"] { background: var(--sky); padding: 1.25rem .75rem; gap: .35rem; }
[data-ui="staff-nav"] [data-ui="logo"], [data-ui="staff-nav"] a { color: white; }
[data-ui="staff-nav"] [data-ui="logo"] { font-size: .95rem; margin-bottom: 1rem; }
[data-ui="staff-nav"] a { font-size: .9rem; padding: .6rem .75rem; }
[data-ui="staff-nav"] a[aria-current="page"] { background: #ffffff22; box-shadow: inset 3px 0 var(--gold); }
[data-ui="topbar"] { padding: 1.25rem 1.5rem; background: var(--paper-2); }
[data-ui="topbar"] h1 { margin: 0; font-size: 1.6rem; }
[data-ui="staff-content"] { padding: 1.5rem; gap: 1.5rem; }
[data-ui="tile"] { border: 1px solid var(--line); border-radius: .6rem; padding: 1rem; background: var(--paper-2); }
[data-ui="tile-value"] { font-size: 2.25rem; font-weight: 750; color: var(--sky); }
[data-ui="tile"] h2 { font-size: .85rem; letter-spacing: 0; }
[data-ui="column"] { border-radius: .6rem; padding: .65rem; gap: .75rem; }
[data-ui="column"] > h2 { font-size: .9rem; padding: .5rem .25rem; }
[data-ui="ticket-card"] { padding: .85rem; border: 1px solid var(--line); border-radius: .5rem; font-size: .85rem; }
[data-ui="ticket-card"] p { margin: .2rem 0; }
[data-ui="ticket-card"] h3 { font-size: 1rem; }
[data-ui="ticket-card"] [data-ui="button"] { min-height: 2.5rem; font-size: .8rem; padding: .5rem; }
[data-ui="inventory-layout"] { grid-template-columns: 10rem minmax(0,1fr); }
[data-ui="div-table"] { overflow: auto; }
[data-ui="div-table"] [role="row"] { min-width: 600px; font-size: .85rem; padding: .8rem .5rem; }
[data-ui="user-menu-panel"] { z-index: 10; box-shadow: var(--shadow); }
[data-ui="login-card"] { padding: 2rem; }
[data-ui="hours-row"] { grid-template-columns: 5.5rem minmax(0,1fr) minmax(0,1fr); }
details { padding: 1rem; border: 1px solid var(--line); border-radius: .5rem; background: var(--paper-2); margin: .75rem 0; }
summary { cursor: pointer; font-weight: 650; }
[data-ui="prose"] { max-width: 48rem; margin: 1rem auto; background: var(--paper-2); padding: 2.5rem; border: 1px solid var(--line); border-radius: var(--radius); }
body[data-restyle="1"] [data-ui="hero-copy"] { background: var(--paper-2); }
body[data-restyle="1"] [data-ui="card-media"] { background: var(--sand); }
@media (max-width: 1000px) {
  [data-ui="board"] { grid-template-columns: repeat(2,minmax(0,1fr)); }
  [data-ui="staff-shell"], [data-ui="inventory-layout"] { grid-template-columns: 1fr; }
  [data-ui="staff-nav"] { flex-direction: row; flex-wrap: wrap; }
  [data-ui="staff-nav"] [data-ui="logo"] { width: 100%; }
  [data-ui="hero-copy"] { padding: 2rem; }
}
@media (max-width: 640px) {
  [data-ui="header"] { padding: .75rem; }
  [data-ui="logo"] { font-size: .9rem; }
  [data-ui="main"] { padding-top: 1.25rem; }
  [data-ui="hero"] { display: flex; flex-direction: column; padding-bottom: 16rem; }
  [data-ui="hero-copy"] { padding: 1.5rem; }
  [data-ui="hero-copy"] h1 { font-size: 2.9rem; }
  [data-ui="hero-art"] { inset: auto 0 0; width: 100%; height: 16rem; }
  [data-ui="hero-bike"] { width: 75%; right: 8%; bottom: .5rem; }
  [data-ui="detail-layout"] { grid-template-columns: 1fr; gap: 1.5rem; }
  [data-ui="detail-layout"] > [data-ui="card-media"], [data-ui="detail-layout"] > [data-ui="card-media"] img { min-height: 0; height: 17rem; }
  [data-ui="filters"] { padding: 1rem; }
  [data-ui="filters"] > [data-ui="field"] { width: 100%; }
  [data-ui="repair-form"], [data-ui="prose"] { padding: 1.25rem; }
  [data-ui="board"] { grid-template-columns: 1fr; }
  [data-ui="staff-content"], [data-ui="topbar"] { padding: 1rem; }
  [data-ui="topbar"] { flex-wrap: wrap; }
  [data-ui="tile"] { flex: 1 1 40%; }
  [data-ui="staff-nav"] a { padding: .45rem; }
  [data-ui="staff-nav"] input { max-width: 100%; }
  [data-ui="login-card"] { padding: 1rem; }
  [data-ui="login-card"] table { font-size: .75rem; }
  [data-ui="login-card"] th, [data-ui="login-card"] td { padding: .5rem .3rem; }
  [data-ui="cookie"] { padding: .75rem 1rem; gap: .5rem; }
  [data-ui="cookie"] p { line-height: 1.4; }
  [data-ui="cookie"] > div { justify-content: flex-end; }
  dialog { padding: 1.25rem; }
  [data-ui="hours-row"] { grid-template-columns: 1fr 1fr; }
  [data-ui="hours-row"] > :first-child { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
  [data-ui="map-frame"] { aspect-ratio: 520 / 880; min-height: 0; }
}
[data-ui="login-card"] { background: var(--paper-2); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow); }
[data-weak="forgot"] { max-width: 48rem; margin: 2rem auto; }
[data-ui="main"] > [data-ui="table-scroll"]:has(caption) { margin: 1.5rem auto; }
[data-ui="not-found"] { padding: 3rem; margin: 1rem 0; border: 1px solid var(--line); border-top: 6px solid var(--gold); border-radius: var(--radius); background: var(--paper-2); }
[data-ui="not-found"]::before { content: "404 / OFF THE TRAIL"; display: block; color: var(--red); letter-spacing: .15em; font-size: .8rem; font-weight: 750; margin-bottom: 2rem; }
@media(max-width:640px) { [data-ui="not-found"] { padding: 1.5rem; } }
