#chip-town {
  --ct-paper: light-dark(#ffffff, #20252b); --ct-ink: light-dark(#283a35, #e5eee8);
  --ct-muted: light-dark(#62726b, #aebfb5); --ct-line: light-dark(#e1e8e1, #3e4d45);
  --ct-accent: light-dark(#246553, #96d0b3); --ct-soft: light-dark(#eef5ee, #2f3d35);
  color-scheme: light dark; color: var(--ct-ink); background: var(--ct-paper);
  margin: 24px 0; border-radius: 16px; overflow: hidden; border: 1px solid var(--ct-line);
  font-family: Lato, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 14px;
  position: relative; box-shadow: 0 5px 24px #102d1610;
}
#chip-town * { box-sizing: border-box; }
#chip-town .ct-heading { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 12px 16px; min-height: 53px; border-bottom: 1px solid light-dark(#dee2e6, #3e4d45); }
#chip-town .ct-title { margin: 0; font-size: 1rem; font-weight: 700; line-height: 1.2; color: light-dark(#212529, #e5eee8); }
#chip-town .ct-motion { font: inherit; font-size: 12px; line-height: 1.4; color: var(--ct-muted); background: transparent; border: 1px solid var(--ct-line); border-radius: 6px; padding: 4px 8px; flex-shrink: 0; white-space: nowrap; }
#chip-town .ct-motion:hover { background: var(--ct-soft); color: var(--ct-ink); }
#chip-town button:focus-visible, #chip-town a:focus-visible { outline: 3px solid var(--ct-accent); outline-offset: 3px; }
#chip-town .ct-content { display: grid; grid-template-columns: minmax(0, 560px) minmax(220px, 1fr); gap: 20px; padding: 16px; align-items: start; }
#chip-town .ct-stage { position: relative; width: 100%; max-width: 560px; min-width: 0; }
#chip-town canvas { width: 100%; height: auto; display: none; image-rendering: pixelated; border-radius: 12px; }
#chip-town .ct-fallback { width: 100%; height: auto; display: block; image-rendering: pixelated; border-radius: 12px; }
#chip-town.ct-ready canvas { display: block; }
#chip-town.ct-ready .ct-fallback { display: none; }
#chip-town:not(.ct-ready) .ct-motion { display: none; }
#chip-town:not(.ct-ready) .ct-content { grid-template-columns: 1fr; }
#chip-town .ct-hotspot { position: absolute; border: 0; border-radius: 5px; background: transparent; padding: 0; }
#chip-town .ct-hotspot:hover, #chip-town .ct-hotspot[aria-expanded="true"] { background: #ffffff10; }
#chip-town .ct-hotspot:focus-visible { outline-color: #fff5b0; outline-offset: 0; }
#chip-town .ct-tooltip { min-width: 0; padding-left: 20px; color: var(--ct-ink); border-left: 1px solid var(--ct-line); }
#chip-town .ct-tooltip[hidden] { display: none; }
#chip-town .ct-tip-top { display: flex; align-items: flex-start; gap: 12px; justify-content: space-between; }
#chip-town .ct-tip-title { font-size: 17px; font-weight: 500; margin: 0; }
#chip-town .ct-close { color: var(--ct-muted); font: inherit; font-size: 20px; background: transparent; border: 0; padding: 0 4px; }
#chip-town .ct-tip-desc { font-size: 13px; line-height: 1.5; margin: 9px 0 3px; color: var(--ct-muted); }
#chip-town .ct-work { border-top: 1px solid var(--ct-line); padding-top: 11px; margin-top: 11px; }
#chip-town .ct-work a { color: var(--ct-accent); text-decoration: none; font-weight: 500; font-size: 14px; }
#chip-town .ct-work a:hover { text-decoration: underline; }
#chip-town .ct-venue { display: block; font-size: 11px; margin-top: 3px; color: var(--ct-muted); }
#chip-town .ct-work p { font-size: 12px; line-height: 1.45; margin: 6px 0 0; }
#chip-town .ct-work-links { display: flex; gap: 12px; margin-top: 8px; }
#chip-town .ct-work-links a { font-size: 12px; }
#chip-town .ct-mobile-stations { display: none; width: 100%; max-width: 592px; margin: 0 auto; }
@media (max-width: 767px) {
  #chip-town .ct-content { grid-template-columns: minmax(0, 1fr); }
  #chip-town .ct-tooltip { width: 100%; max-width: 560px; padding: 16px 0 0; border-left: 0; border-top: 1px solid var(--ct-line); }
  #chip-town .ct-mobile-stations { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; padding: 0 16px 16px; }
  #chip-town .ct-mobile-stations button { text-align: left; min-height: 44px; border: 1px solid var(--ct-line); border-radius: 6px; padding: 8px 10px; font: inherit; font-size: 12px; background: transparent; color: var(--ct-ink); }
  #chip-town .ct-mobile-stations button[aria-expanded="true"] { background: var(--ct-soft); border-color: var(--ct-accent); }
}
