/* The same shop after dusk: green street outside, warm reading light inside. */
.site-light {
  position: fixed;
  z-index: 101;
  right: max(16px, env(safe-area-inset-right));
  bottom: calc(var(--tabbar-h) + env(safe-area-inset-bottom) + 14px);
  display: flex;
  align-items: center;
  padding-left: 12px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--page);
  color: var(--leaf-deep);
  box-shadow: var(--shadow);
}
.site-light svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.site-light select {
  min-height: 44px;
  max-width: 142px;
  padding: 0 12px 0 6px;
  border: 0;
  border-radius: 999px;
  background: var(--page);
  color: inherit;
  font: 16px var(--font-display);
  cursor: pointer;
}
body.door-on .site-light {
  top: calc(16px + env(safe-area-inset-top));
  left: max(16px, env(safe-area-inset-left));
  right: auto;
  bottom: auto;
}
.entry-lamp { display: none; }

html[data-site-light="night"] {
  color-scheme: dark;
  --hill: #263d32;
  --hill-soft: #34392d;
  --leaf-ink: #c6d895;
  --leaf-deep: #e0e8b9;
  --ink: #f3e6cd;
  --ink-soft: #cabea5;
  --page: #282720;
  --line: #5b6046;
  --dot: #edb768;
  --shadow: 0 8px 24px rgba(0, 0, 0, 0.24);
  scrollbar-color: #89926c #282720;
}
[data-site-light="night"] body {
  background: radial-gradient(ellipse at 75% 0, #49402c, transparent 680px), var(--page);
}
[data-site-light="night"] ::selection { background: #d9bb7d; color: #282720; }
[data-site-light="night"] .mw-badge { color: #282720; }
[data-site-light="night"] .mw-btn { background: #c6d895; color: #26351d; }
[data-site-light="night"] .mw-btn:hover { background: #dce8b9; }
[data-site-light="night"] .mw-btn--quiet { background: var(--hill-soft); color: var(--leaf-deep); }
[data-site-light="night"] .mw-btn[disabled],
[data-site-light="night"] .mw-btn[aria-disabled="true"] { background: #484b3d; color: #cabea5; }
[data-site-light="night"] .mw-field input,
[data-site-light="night"] .mw-field textarea { background: var(--page); }
[data-site-light="night"] .mw-field input::placeholder,
[data-site-light="night"] .mw-field textarea::placeholder { color: var(--ink-soft); }
[data-site-light="night"] .mw-form-msg--error { color: #ffb8a5; }
[data-site-light="night"] .mw-dialog { background: var(--page); }
[data-site-light="night"] .mw-toast { background: #263d32; color: var(--ink); }
[data-site-light="night"] .mw-chip { background: #5b6640; }
[data-site-light="night"] .mw-chip--status { background: var(--hill); color: var(--leaf-deep); }
[data-site-light="night"] .mw-chip--ambient { background: #925018; }
[data-site-light="night"] .mw-chip--chilled { background: #2f6aa8; }
[data-site-light="night"] .mw-chip--frozen { background: #24406b; }
[data-site-light="night"] .show-info .page-meta .mw-chip--status { background: var(--hill-soft); }
[data-site-light="night"] .shimmer { background-image: linear-gradient(90deg, var(--hill-soft), #4b4a36, var(--hill-soft)); }

/* A small lit pendant belongs to the shop front, never to the product photos. */
[data-site-light="night"] .entry { background: #192b26; }
[data-site-light="night"] .entry-cam {
  background: radial-gradient(ellipse at 50% 46%, #45503a 0, #233b30 42%, #13251f 85%);
}
[data-site-light="night"] .entry-sign {
  background: #303d2d;
  color: #f3dfac;
  border: 1px solid #80744c;
  box-shadow: 0 6px 24px #101e18;
}
[data-site-light="night"] .entry-awning {
  background: repeating-linear-gradient(90deg, #42583c 0 40px, #b9b397 40px 80px);
}
[data-site-light="night"] .entry-awning::after {
  background:
    radial-gradient(circle at 20px 0, #42583c 19px, transparent 20px) 0 0 / 80px 16px repeat-x,
    radial-gradient(circle at 60px 0, #b9b397 19px, transparent 20px) 0 0 / 80px 16px repeat-x;
}
[data-site-light="night"] .entry-frame {
  z-index: 1;
  background: #a38b57;
  box-shadow: 0 20px 45px #0c1c17;
}
[data-site-light="night"] .entry-door {
  background: #304932;
  box-shadow: inset 0 0 0 12px #253b29;
}
[data-site-light="night"] .entry-glass {
  background: radial-gradient(ellipse at 50% 85%, #ffe5a0, #d3a75e);
  box-shadow: inset 0 0 0 6px #253b29, 0 10px 32px rgba(244, 195, 100, 0.18);
}
[data-site-light="night"] .entry-plate { background: #efe0b9; color: #34452b; }
[data-site-light="night"] .entry-ground {
  background: radial-gradient(ellipse at 50% 0, #897449, #343d2f 58%, #202f26);
}
[data-site-light="night"] .entry-front::after {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 35% -25% -25%;
  background: radial-gradient(ellipse at 50% 50%, rgba(255, 209, 125, 0.38), transparent 68%);
  opacity: 0;
  transform: scaleX(0.35);
  transition: opacity 1.1s, transform 1.6s var(--ease-out);
  pointer-events: none;
}
[data-site-light="night"] .is-opening .entry-front::after { opacity: 1; transform: scaleX(1); }
[data-site-light="night"] .entry-lamp {
  display: block;
  position: absolute;
  left: 2%;
  top: 100px;
  width: 54px;
  height: 120px;
  z-index: 3;
  pointer-events: none;
  background: radial-gradient(ellipse at 50% 52%, rgba(255, 209, 125, 0.32), transparent 70%);
}
.entry-lamp svg { width: 100%; fill: #c7a86c; stroke: #e2c68e; stroke-width: 2; }
.entry-lamp .entry-lamp-bulb { fill: #ffe7ae; stroke: #ffe7ae; }
[data-site-light="night"] .entry-hint { color: #f3dfac; }
[data-site-light="night"] .entry-hint i { border-color: #d7c08b; animation: none; }
[data-site-light="night"] .entry-skip { background: #303d2d; color: #f3dfac; }
[data-site-light="night"] .entry-welcome {
  background: radial-gradient(ellipse at 50% 38%, #766039, #3d3d2b 60%, #26352b);
}
[data-site-light="night"] .entry-bubble { color: #34452b; background: #f5e4bf; }
[data-site-light="night"] .entry-bubble::after { border-top-color: #f5e4bf; }
[data-site-light="night"] .entry-sub { color: #f3e6cd; }

/* A little warm light beside each cat, behind the art and away from its speech. */
[data-site-light="night"] :is([data-mascot], [data-greeter], .team-cat) > :is(.cat-frame, svg),
[data-site-light="night"] .mw-pal > img {
  background: radial-gradient(ellipse 48% 42% at 50% 57%, rgba(255, 211, 137, 0.22), rgba(255, 211, 137, 0.08) 45%, transparent 100%);
}
[data-site-light="night"] .cat-real,
[data-site-light="night"] :is([data-mascot], [data-greeter], .team-cat) > svg,
[data-site-light="night"] .mw-pal > img {
  filter: drop-shadow(-3px -4px 9px rgba(255, 213, 144, 0.25));
}
[data-site-light="night"] .mantou-photo {
  box-shadow: -8px -4px 30px rgba(255, 213, 144, 0.16), var(--shadow);
}

@media (min-width: 900px) {
  .site-light { bottom: 20px; }
  [data-site-light="night"] .show-stage {
    background: radial-gradient(ellipse at 65% 5%, rgba(232, 184, 99, 0.13), transparent 72%);
  }
}
@media (prefers-reduced-motion: reduce) {
  [data-site-light="night"] .entry-front::after { transition: none; transform: none; }
}

/* Forms, selected options and status labels across the rest of the shop. */
[data-site-light="night"] .mw-top-nav a:hover { background: var(--hill-soft); }
[data-site-light="night"] input,
[data-site-light="night"] textarea,
[data-site-light="night"] select { caret-color: var(--leaf-ink); accent-color: var(--leaf-ink); }
[data-site-light="night"] .cat[aria-current="true"],
[data-site-light="night"] .cat[aria-pressed="true"],
[data-site-light="night"] .choice input:checked + span,
[data-site-light="night"] .steps [aria-current="step"] span::before,
[data-site-light="night"] .track li.is-now::before {
  background: var(--leaf-ink);
  color: #26351d;
}
[data-site-light="night"] .cat[aria-current="true"] small,
[data-site-light="night"] .choice input:checked + span small { color: #34452b; }
[data-site-light="night"] .good-tag,
[data-site-light="night"] .batch-when { background: var(--page); color: var(--leaf-deep); }
[data-site-light="night"] .batch-when.is-soon,
[data-site-light="night"] .pill.is-act,
[data-site-light="night"] .deadline.is-soon { background: var(--dot); color: #282720; }
[data-site-light="night"] .list a.is-act { background: #403c29; }
[data-site-light="night"] .pill.is-closed,
[data-site-light="night"] .closed { background: var(--hill-soft); }
[data-site-light="night"] .mw-auth-msg.is-error,
[data-site-light="night"] main.co .msg,
[data-site-light="night"] .msg.is-error,
[data-site-light="night"] .confirm-cancel,
[data-site-light="night"] .remove:hover { background: #4b3029; color: #ffb8a5; }
[data-site-light="night"] .promo-msg.is-error { color: #ffb8a5; }
[data-site-light="night"] .field-error input,
[data-site-light="night"] .field-error textarea { border-color: #ffb8a5; }
[data-site-light="night"] .mw-line-btn { background: #00873c; color: #fff; }
[data-site-light="night"] .mw-line-btn:hover { background: #00803a; }
[data-site-light="night"] .mw-line-btn[disabled] { background: #484b3d; color: #cabea5; }
[data-site-light="night"] .soon-links .mw-btn { color: #fff; }
[data-site-light="night"] .soon-links .btn-fb { background: #166fe5; }
[data-site-light="night"] .soon-links .btn-fb:hover { background: #1464cc; }
[data-site-light="night"] .soon-links .btn-line { background: #00873c; }
[data-site-light="night"] .soon-links .btn-line:hover { background: #00803a; }
[data-site-light="night"] .soon-links .btn-ig { background: linear-gradient(90deg, #c13584, #833ab4); }
[data-site-light="night"] .soon-links .btn-ig:hover { background: linear-gradient(90deg, #b52a72, #7432a3); }
[data-site-light="night"] .mw-btn--danger { background: #8a1c14; color: #fff; }
[data-site-light="night"] .mw-btn--danger:hover { background: #a32920; }
[data-site-light="night"] .banner.is-warn,
[data-site-light="night"] .notice { background: #443a27; color: #f4d9aa; }
[data-site-light="night"] .banner.is-warn b,
[data-site-light="night"] .notice a { color: #f4d9aa; }

/* Interior pages keep the control in normal flow, above forms and buy actions. */
.site-light-bar {
  display: flex;
  justify-content: flex-end;
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  padding: 10px 16px 0;
}
.site-light-bar .site-light { position: static; }
body:has(.mw-toast.is-on) .site-light { visibility: hidden; }
@media (max-width: 899px) {
  [data-site-light="night"] main.detail .actions,
  [data-site-light="night"] main.cart .go { background: var(--page); }
}
