/* Light follows the original site's "light" theme, dark its "aurora" theme. */
:root{
  --bg:#764ba2; --surface:rgba(255,255,255,.9); --ink:#1a1a2e; --muted:#6d28d9; --faint:#8b5cf6;
  --rule:rgba(168,85,247,.16); --rule-strong:rgba(168,85,247,.32); --accent:#9333ea; --accent-soft:rgba(168,85,247,.14);
  --sold:#dc2626; --few:#c2410c; --hover:rgba(168,85,247,.07); --price:#7c3aed;
  --on:#7c3aed; --on-ink:#ffffff;
  --backdrop:linear-gradient(135deg,#667eea 0%,#764ba2 50%,#f093fb 100%);
  --panel:rgba(255,255,255,.9); --bar-bg:rgba(255,255,255,.18); --head-bg:rgba(255,255,255,.6); --menu-bg:#fbf8ff;
  --top-ink:#ffffff; --top-muted:rgba(255,255,255,.85); --sep:rgba(255,255,255,.6);
  --wordmark:linear-gradient(135deg,#fbbf24,#f472b6,#a78bfa);
  --font:"Archivo", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;
  --bar-h:0px; --bar-top:0px;
}
@media (min-width:1088px){:root{--bar-top:8px}}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    color-scheme:dark;
    --bg:#07050f; --surface:rgba(20,15,38,.55); --ink:#f1ecff; --muted:#b3a8d6; --faint:#6f6494;
    --rule:rgba(167,139,250,.18); --rule-strong:rgba(167,139,250,.32); --accent:#2dd4bf; --accent-soft:rgba(45,212,191,.14);
    --sold:#fda4af; --few:#fcd34d; --hover:rgba(94,234,212,.05); --price:#5eead4;
    --on:#2dd4bf; --on-ink:#07050f;
    --backdrop:radial-gradient(42% 50% at 22% 28%,rgba(45,212,191,.24),transparent 70%),radial-gradient(48% 55% at 78% 18%,rgba(139,92,246,.3),transparent 70%),radial-gradient(52% 60% at 60% 88%,rgba(236,72,153,.2),transparent 70%),radial-gradient(35% 45% at 5% 80%,rgba(52,211,153,.16),transparent 70%);
    --panel:transparent; --bar-bg:rgba(7,5,15,.7); --head-bg:rgba(7,5,15,.6); --menu-bg:#140f26;
    --top-ink:var(--ink); --top-muted:var(--muted); --sep:var(--rule-strong);
    --wordmark:linear-gradient(90deg,#5eead4,#a78bfa,#f472b6);
  }
}
:root[data-theme="dark"]{
  color-scheme:dark;
  --bg:#07050f; --surface:rgba(20,15,38,.55); --ink:#f1ecff; --muted:#b3a8d6; --faint:#6f6494;
  --rule:rgba(167,139,250,.18); --rule-strong:rgba(167,139,250,.32); --accent:#2dd4bf; --accent-soft:rgba(45,212,191,.14);
  --sold:#fda4af; --few:#fcd34d; --hover:rgba(94,234,212,.05); --price:#5eead4;
  --on:#2dd4bf; --on-ink:#07050f;
  --backdrop:radial-gradient(42% 50% at 22% 28%,rgba(45,212,191,.24),transparent 70%),radial-gradient(48% 55% at 78% 18%,rgba(139,92,246,.3),transparent 70%),radial-gradient(52% 60% at 60% 88%,rgba(236,72,153,.2),transparent 70%),radial-gradient(35% 45% at 5% 80%,rgba(52,211,153,.16),transparent 70%);
  --panel:transparent; --bar-bg:rgba(7,5,15,.7); --head-bg:rgba(7,5,15,.6); --menu-bg:#140f26;
  --top-ink:var(--ink); --top-muted:var(--muted); --sep:var(--rule-strong);
  --wordmark:linear-gradient(90deg,#5eead4,#a78bfa,#f472b6);
}
*{box-sizing:border-box}
html{background:var(--bg)}
body{margin:0;background:transparent;color:var(--ink);font-family:var(--font);font-size:15px;line-height:1.4;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
body::before{content:"";position:fixed;inset:0;z-index:-1;background:var(--backdrop);pointer-events:none}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]) body::before{inset:-25%;animation:aurora-drift 26s ease-in-out infinite alternate}
}
:root[data-theme="dark"] body::before{inset:-25%;animation:aurora-drift 26s ease-in-out infinite alternate}
@keyframes aurora-drift{
  from{transform:translate3d(-3%,-2%,0) rotate(-2deg) scale(1)}
  to{transform:translate3d(3%,2%,0) rotate(2deg) scale(1.1)}
}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}

.wrap{max-width:1040px;margin:0 auto;padding-inline:16px}
@media (min-width:640px){.wrap{padding-inline:24px}}
main.wrap{display:flow-root;background:var(--panel);padding-bottom:24px}
@media (min-width:1088px){main.wrap{border-radius:16px;margin-block:20px 40px}}


header.site{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding-block:28px 18px}
.wordmark{background:var(--wordmark);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-stretch:68%;font-weight:800;font-size:clamp(34px,6vw,48px);line-height:.9;letter-spacing:-.01em;text-transform:uppercase;margin:0}
.meta{margin:8px 0 0;color:var(--top-muted);font-size:14px;font-variant-numeric:tabular-nums}
.icon-btn{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:10px;border:1px solid var(--rule);background:var(--surface);cursor:pointer;color:var(--muted)}
.icon-btn:hover{color:var(--ink);border-color:var(--rule-strong)}

.bar{position:sticky;top:calc(env(safe-area-inset-top,0px) + var(--bar-top));z-index:5}
.bar .wrap{position:relative;display:flex;flex-direction:column;gap:10px;padding-block:12px;background:var(--bar-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--rule)}
@media (min-width:1088px){.bar .wrap{border:1px solid var(--rule);border-radius:16px}}
.bar-top{display:flex;gap:8px}
.search{flex:1;min-width:0;position:relative}
.search svg{position:absolute;left:11px;top:50%;transform:translateY(-50%);color:var(--faint);pointer-events:none}
.search input{width:100%;height:40px;padding:0 12px 0 36px;border-radius:10px;border:1px solid var(--rule);background:var(--surface);color:var(--ink);font:inherit}
.search input::placeholder{color:var(--faint)}
.search input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.venue-wrap{position:relative}
.venue-btn{height:40px;display:flex;align-items:center;gap:8px;padding:0 12px;border-radius:10px;border:1px solid var(--rule);background:var(--surface);cursor:pointer;white-space:nowrap;max-width:44vw}
.venue-btn span{overflow:hidden;text-overflow:ellipsis}
.venue-btn[aria-expanded="true"]{border-color:var(--accent)}
.venue-menu{position:absolute;right:0;top:calc(100% + 6px);width:250px;max-height:360px;overflow:auto;background:var(--menu-bg);border:1px solid var(--rule-strong);border-radius:12px;padding:6px;box-shadow:0 12px 32px rgba(0,0,0,.14)}
.venue-menu label{display:flex;gap:10px;align-items:center;padding:7px 8px;border-radius:8px;cursor:pointer;font-size:14px}
.venue-menu label:hover{background:var(--hover)}
.venue-menu input{accent-color:var(--accent);width:16px;height:16px}
.venue-menu .vm-head{display:flex;justify-content:space-between;padding:4px 8px 8px;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;border-bottom:1px solid var(--rule);margin-bottom:4px}
.venue-menu .vm-head button{background:none;border:0;color:var(--accent);cursor:pointer;font-size:12px;text-transform:none;letter-spacing:0}

.chips{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin-inline:-16px;padding-inline:16px}
.chips::-webkit-scrollbar{display:none}
.chip{flex:none;height:32px;padding:0 13px;border-radius:999px;border:1px solid var(--rule);background:var(--surface);cursor:pointer;font-size:14px;font-weight:500;color:var(--muted)}
.chip:hover{color:var(--ink);border-color:var(--rule-strong)}
.chip[aria-pressed="true"]{background:var(--on);border-color:var(--on);color:var(--on-ink)}
.chips.is-overridden .chip[data-when]{opacity:.45}
.chip-dates{display:inline-flex;align-items:center;gap:6px}
.chip-dates svg{flex:none}
.chip-sep{flex:none;width:1px;background:var(--sep);margin:6px 4px}

.calendar{position:absolute;top:calc(100% + 6px);width:min(296px,calc(100vw - 32px));background:var(--menu-bg);border:1px solid var(--rule-strong);border-radius:12px;padding:10px;box-shadow:0 12px 32px rgba(0,0,0,.14);z-index:6}
.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.cal-month{font-stretch:72%;font-weight:800;font-size:17px;text-transform:uppercase;letter-spacing:.01em}
.cal-nav{display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:8px;background:none;color:var(--muted);cursor:pointer}
.cal-nav:hover:not(:disabled){background:var(--hover);color:var(--ink)}
.cal-nav:disabled{opacity:.3;cursor:default}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);row-gap:2px}
.cal-dow{text-align:center;font-size:11px;font-weight:600;color:var(--faint);padding-block:4px}
.cal-day{position:relative;height:38px;border:0;background:none;cursor:pointer;font-size:14px;font-variant-numeric:tabular-nums;border-radius:8px}
.cal-day:hover:not(:disabled,.in-range){background:var(--hover)}
.cal-day:disabled{color:var(--faint);opacity:.5;cursor:default}
.cal-day.today{font-weight:800;color:var(--accent)}
.cal-day::after{content:"";position:absolute;left:50%;bottom:5px;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:currentColor;opacity:0}
.cal-day:not(:disabled)[data-level="1"]::after{opacity:.35}
.cal-day:not(:disabled)[data-level="2"]::after{opacity:.65}
.cal-day:not(:disabled)[data-level="3"]::after{opacity:1;width:6px;height:6px;margin-left:-3px;bottom:4px}
.cal-day.in-range{background:var(--accent-soft);border-radius:0}
.cal-day.range-start{border-radius:8px 0 0 8px}
.cal-day.range-end{border-radius:0 8px 8px 0}
.cal-day.range-start.range-end{border-radius:8px}
.cal-day.range-start,.cal-day.range-end{background:var(--on);color:var(--on-ink);font-weight:700}
.cal-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:8px;padding-top:8px;border-top:1px solid var(--rule);font-size:13px;color:var(--muted)}
.cal-foot button{background:none;border:0;padding:6px 8px;border-radius:8px;color:var(--accent);cursor:pointer;font-size:14px;font-weight:600}
.cal-foot .cal-done{background:var(--on);color:var(--on-ink)}

.on-now{margin-top:20px;border:1px solid var(--rule);border-radius:12px;background:var(--surface);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.on-now summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;font-weight:600}
.on-now summary::-webkit-details-marker{display:none}
.on-now summary small{font-weight:400;color:var(--muted);font-size:14px}
.on-now summary .chev{transition:transform .15s;color:var(--faint)}
.on-now[open] summary .chev{transform:rotate(90deg)}
.on-now .rows{border-top:1px solid var(--rule)}

.day{margin-top:28px}
.day-head{position:sticky;top:calc(var(--bar-h) + var(--bar-top));z-index:3;background:var(--head-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-block:10px 8px;border-bottom:2px solid var(--ink)}
.day-head h2{margin:0;font-stretch:72%;font-weight:800;font-size:22px;text-transform:uppercase;letter-spacing:.01em;line-height:1}
.day-head h2 .rel{color:var(--accent);margin-right:8px}
.day-head > span{color:var(--muted);font-size:13px;font-variant-numeric:tabular-nums;white-space:nowrap}
.day-head .d-short{display:none}
@media (max-width:520px){.day-head .d-long{display:none}.day-head .d-short{display:inline}}

.row{display:grid;grid-template-columns:3.4rem 1fr auto;column-gap:12px;row-gap:2px;align-items:baseline;padding:11px 4px;border-bottom:1px solid var(--rule);border-radius:0}
a.row:hover{background:var(--hover)}
.row .time{grid-row:span 2;font-variant-numeric:tabular-nums;font-weight:600;font-size:15px}
.row .time.tbc{color:var(--faint);font-weight:400}
.row .title{font-weight:600;min-width:0;overflow-wrap:anywhere}
.row .sub{grid-column:2 / 4;color:var(--muted);font-size:14px;display:flex;flex-wrap:wrap;gap:4px 10px}
.row .price{font-variant-numeric:tabular-nums;font-size:14px;font-weight:600;color:var(--price);text-align:right;white-space:nowrap}
.row .price.none{color:var(--faint)}
.row .venue-d,.row .status-d{display:none}
.status{font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.status.sold_out{color:var(--sold)}
.status.limited_availability{color:var(--few)}
.row.is-sold .title{color:var(--muted);font-weight:500}
.new{display:inline-block;margin-left:8px;padding:1px 6px;border-radius:5px;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--accent);background:var(--accent-soft);vertical-align:2px}
.row .go{display:none;color:var(--faint)}
[hidden]{display:none!important}
a.row:hover .go{color:var(--accent)}
@media (min-width:760px){
  .row{grid-template-columns:3.6rem minmax(0,1fr) 13rem 6.5rem 6.5rem 1rem;align-items:center;padding:10px 8px}
  .row .time{grid-row:auto}
  .row .sub{display:none}
  .row .venue-d{display:block;color:var(--muted);font-size:14px}
  .row .status-d{display:block}
  .row .go{display:block}
}
.empty{padding:48px 0;text-align:center;color:var(--muted)}
.empty button{background:none;border:0;color:var(--accent);cursor:pointer;font-weight:600}

@media (prefers-reduced-motion:reduce){*{transition:none!important}body::before{animation:none!important}}
