:root {
  --lime:#b9b5ff;
  --glass-bg:rgba(25,28,42,.56);
  --glass-bg-strong:rgba(29,32,48,.78);
  --glass-bg-soft:rgba(255,255,255,.055);
  --glass-line:rgba(219,228,255,.16);
  --glass-line-hot:rgba(174,187,255,.34);
  --glass-shine:rgba(255,255,255,.22);
  --glass-shadow:0 18px 48px rgba(0,0,0,.38),inset 0 1px 0 rgba(255,255,255,.18),inset 0 -1px 0 rgba(127,139,190,.09);
  --glass-shadow-soft:0 10px 28px rgba(0,0,0,.26),inset 0 1px 0 rgba(255,255,255,.14);
  --glass-violet:#a9a4ff;
  --glass-blue:#91dcff;
  --glass-mint:#a8f2d4;
  --glass-coral:#ff9fba;
  --glass-text:#f8f8fb;
  --glass-muted:#aeb2c1;
}

html { background:#070810; }
body {
  background:
    radial-gradient(circle at 15% 9%,rgba(122,112,255,.19),transparent 28%),
    radial-gradient(circle at 90% 24%,rgba(80,195,255,.13),transparent 30%),
    radial-gradient(circle at 50% 92%,rgba(255,112,171,.1),transparent 34%),
    #070810;
  background-attachment:fixed;
  color:var(--glass-text);
}

body::before {
  position:fixed;
  z-index:-1;
  inset:0;
  background-image:linear-gradient(rgba(255,255,255,.012) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.01) 1px,transparent 1px);
  background-size:28px 28px;
  content:"";
  mask-image:linear-gradient(to bottom,black,transparent 76%);
  pointer-events:none;
}

#app:not(.ops-app) {
  background:linear-gradient(180deg,rgba(10,12,21,.79),rgba(8,10,17,.9));
}

/* Navigation becomes a floating optical-glass control surface. */
#app:not(.ops-app) .mini-top {
  border-color:rgba(224,231,255,.13);
  background:linear-gradient(145deg,rgba(30,33,48,.72),rgba(15,18,29,.58));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 10px 32px rgba(0,0,0,.2);
  backdrop-filter:blur(28px) saturate(1.45);
  -webkit-backdrop-filter:blur(28px) saturate(1.45);
}

#app:not(.ops-app) .mini-city {
  padding:7px 11px;
  border:1px solid rgba(226,233,255,.14);
  border-radius:999px;
  background:rgba(255,255,255,.055);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.14);
}

#app:not(.ops-app) .mini-tabbar {
  right:12px;
  bottom:10px;
  left:50%;
  width:min(536px,calc(100% - 24px));
  height:calc(64px + env(safe-area-inset-bottom));
  overflow:hidden;
  padding:7px 15px env(safe-area-inset-bottom);
  border:1px solid rgba(225,232,255,.17);
  border-radius:23px;
  background:linear-gradient(145deg,rgba(35,38,55,.75),rgba(18,21,32,.68));
  box-shadow:0 16px 46px rgba(0,0,0,.48),inset 0 1px 0 rgba(255,255,255,.2),inset 0 -1px 0 rgba(120,132,178,.08);
  transform:translateX(-50%);
  backdrop-filter:blur(30px) saturate(1.6);
  -webkit-backdrop-filter:blur(30px) saturate(1.6);
}

#app:not(.ops-app) .mini-tabbar::before {
  position:absolute;
  top:-24px;
  left:8%;
  width:70%;
  height:34px;
  border-radius:50%;
  background:rgba(255,255,255,.11);
  filter:blur(12px);
  content:"";
  pointer-events:none;
}

#app:not(.ops-app) .mini-tabbar a { position:relative; z-index:1; min-width:70px; }
#app:not(.ops-app) .mini-tabbar i {
  border:1px solid transparent;
  background:transparent;
  transition:transform .2s ease,background .2s ease,box-shadow .2s ease;
}
#app:not(.ops-app) .mini-tabbar a.active { color:#e8e8ff; }
#app:not(.ops-app) .mini-tabbar a.active i {
  border-color:rgba(203,211,255,.28);
  background:linear-gradient(145deg,rgba(180,172,255,.32),rgba(104,195,255,.16));
  box-shadow:0 8px 18px rgba(90,92,194,.28),inset 0 1px 0 rgba(255,255,255,.34);
  transform:translateY(-1px);
}

/* Shared liquid controls. */
#app:not(.ops-app) .button,
#app:not(.ops-app) .pill,
#app:not(.ops-app) .text-button,
#app:not(.ops-app) .date-chip,
#app:not(.ops-app) .when-tabs button,
#app:not(.ops-app) .vibe-choice {
  border:1px solid var(--glass-line);
  background:linear-gradient(145deg,rgba(255,255,255,.105),rgba(255,255,255,.035));
  color:#f2f3fa;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 9px 23px rgba(0,0,0,.2);
  backdrop-filter:blur(18px) saturate(1.35);
  -webkit-backdrop-filter:blur(18px) saturate(1.35);
}

#app:not(.ops-app) .button:hover,
#app:not(.ops-app) .pill:hover,
#app:not(.ops-app) .date-chip:hover,
#app:not(.ops-app) .when-tabs button:hover { border-color:var(--glass-line-hot); transform:translateY(-1px); }

#app:not(.ops-app) .button.primary,
#app:not(.ops-app) .pill.lime,
#app:not(.ops-app) .home-primary,
#app:not(.ops-app) .date-chip.selected,
#app:not(.ops-app) .when-tabs button.selected {
  border-color:rgba(210,213,255,.5);
  background:linear-gradient(135deg,rgba(191,177,255,.96),rgba(139,214,255,.9));
  color:#12131c;
  box-shadow:0 11px 28px rgba(111,120,232,.3),inset 0 1px 1px rgba(255,255,255,.72),inset 0 -1px 0 rgba(95,91,175,.2);
}

#app:not(.ops-app) input,
#app:not(.ops-app) select,
#app:not(.ops-app) textarea,
#app:not(.ops-app) .filter input,
#app:not(.ops-app) .filter select {
  border:1px solid rgba(222,230,255,.15);
  background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.025));
  color:#f3f4fa;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.13),0 8px 20px rgba(0,0,0,.15);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}

#app:not(.ops-app) input:focus,
#app:not(.ops-app) select:focus,
#app:not(.ops-app) textarea:focus {
  outline:0;
  border-color:rgba(171,181,255,.52);
  box-shadow:0 0 0 3px rgba(143,142,255,.12),inset 0 1px 0 rgba(255,255,255,.18);
}

/* Public content cards share one material recipe. */
#app:not(.ops-app) .card,
#app:not(.ops-app) .editorial-card,
#app:not(.ops-app) .vibe,
#app:not(.ops-app) .venue-chip,
#app:not(.ops-app) .empty,
#app:not(.ops-app) .notice,
#app:not(.ops-app) .profile-details,
#app:not(.ops-app) .party-level,
#app:not(.ops-app) .mine-profile,
#app:not(.ops-app) .my-stats > div,
#app:not(.ops-app) .social-launch,
#app:not(.ops-app) .member-post,
#app:not(.ops-app) .direct-message {
  border-color:var(--glass-line);
  background:linear-gradient(145deg,rgba(34,37,53,.72),rgba(16,19,30,.6));
  box-shadow:var(--glass-shadow-soft);
  backdrop-filter:blur(22px) saturate(1.35);
  -webkit-backdrop-filter:blur(22px) saturate(1.35);
}

#app:not(.ops-app) .card:hover,
#app:not(.ops-app) .editorial-card:hover,
#app:not(.ops-app) .venue-chip:hover { border-color:rgba(188,198,255,.3); box-shadow:0 18px 38px rgba(0,0,0,.34),inset 0 1px 0 rgba(255,255,255,.2); }

#app:not(.ops-app) .tag,
#app:not(.ops-app) .status,
#app:not(.ops-app) .heat-badge {
  border-color:rgba(220,228,255,.17);
  background:rgba(21,23,35,.62);
  color:#d7d8ff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
  backdrop-filter:blur(14px);
}

/* Home — the event poster still leads, while containers refract colour. */
#app.home-app { border-color:rgba(196,205,255,.2); background:linear-gradient(180deg,rgba(13,15,26,.72),rgba(8,10,17,.9)); }
#app.home-app .home-top {
  border-bottom-color:rgba(214,223,255,.14);
  background:var(--home-header-background,#191c29);
}
#app.home-app .home-carousel-slide {
  border-color:rgba(218,225,255,.22);
  box-shadow:0 18px 45px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.18);
}
#app.home-app .home-carousel-copy b,
#app:not(.ops-app) .filters .pill.lime {
  border-color:rgba(210,213,255,.5);
  background:linear-gradient(135deg,rgba(191,177,255,.96),rgba(139,214,255,.9));
  color:#12131c;
  box-shadow:0 10px 26px rgba(111,120,232,.3),inset 0 1px 1px rgba(255,255,255,.72);
}
#app.home-app .home-carousel-dots button { border:1px solid rgba(255,255,255,.22); background:rgba(255,255,255,.16); box-shadow:inset 0 1px 0 rgba(255,255,255,.2); }
#app.home-app .home-carousel-dots button.active { background:linear-gradient(90deg,var(--glass-violet),var(--glass-blue)); box-shadow:0 0 16px rgba(151,167,255,.48); }
#app.home-app .tonight-grid .empty { border-style:solid; }

/* Directory — date rail and search feel like one coherent glass console. */
#app:not(.ops-app) .directory-head { margin-top:12px; padding:22px 16px; border:1px solid var(--glass-line); border-radius:24px; background:linear-gradient(145deg,rgba(33,37,54,.66),rgba(14,17,28,.56)); box-shadow:var(--glass-shadow); backdrop-filter:blur(24px); }
#app:not(.ops-app) .directory-results { padding-top:18px; }
#app:not(.ops-app) .when-tabs { padding:4px; border:1px solid rgba(224,231,255,.12); border-radius:15px; background:rgba(255,255,255,.035); }
#app:not(.ops-app) .when-tabs button { box-shadow:none; }

/* Event page glass overlays: keep the poster photographic and make the data
   cards feel like illuminated panes floating above it. */
#app.event-detail-app { background:radial-gradient(circle at 75% 8%,rgba(119,103,237,.17),transparent 28%),#080a0e; }
.event-v2-info-card,.event-v2-note,.event-v2-section {
  border-color:rgba(221,228,255,.15);
  background:linear-gradient(145deg,rgba(35,38,53,.7),rgba(15,18,28,.58));
  box-shadow:var(--glass-shadow);
  backdrop-filter:blur(24px) saturate(1.45);
  -webkit-backdrop-filter:blur(24px) saturate(1.45);
}
.event-v2-tabs {
  border-color:rgba(223,230,255,.14);
  background:linear-gradient(145deg,rgba(33,36,51,.8),rgba(14,17,27,.72));
  box-shadow:0 14px 34px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.14);
}
.event-v2-tabs a.active::after { background:linear-gradient(90deg,var(--glass-violet),var(--glass-blue)); box-shadow:0 0 12px rgba(145,169,255,.45); }
.event-v2-info-row > a,.event-v2-venue a { border:1px solid rgba(162,211,255,.22); background:linear-gradient(145deg,rgba(121,191,255,.2),rgba(114,129,225,.12)); color:#b9e7ff; box-shadow:inset 0 1px 0 rgba(255,255,255,.2); }
.event-v2-ticket,.event-v2-disclaimer { border:1px solid rgba(222,229,255,.11); background:rgba(255,255,255,.045); box-shadow:inset 0 1px 0 rgba(255,255,255,.11); }
.event-v2-ticket > a,.event-v2-bottom > a { background:linear-gradient(135deg,#b6aaff,#7fd7ff); color:#10121b; box-shadow:0 11px 30px rgba(115,130,235,.35),inset 0 1px 1px rgba(255,255,255,.7); }
.event-v2-bottom { border-color:rgba(225,232,255,.17); background:linear-gradient(145deg,rgba(37,40,57,.83),rgba(16,19,30,.78)); box-shadow:0 -15px 42px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.18); backdrop-filter:blur(30px) saturate(1.5); }
.event-v2-tags span,.event-v2-mini-tags span { border-color:rgba(220,227,255,.17); background:rgba(255,255,255,.065); box-shadow:inset 0 1px 0 rgba(255,255,255,.13); }

/* Artist profile uses the same material language without flattening the hero. */
#app.artist-detail-app { background:radial-gradient(circle at 20% 8%,rgba(161,118,255,.17),transparent 31%),#080a0e; }
.artist-v2-tabs { border-color:rgba(222,229,255,.14); background:linear-gradient(145deg,rgba(34,37,53,.82),rgba(14,17,27,.74)); box-shadow:0 14px 35px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.15); }
.artist-v2-tabs a.active::after { background:linear-gradient(90deg,var(--glass-violet),var(--glass-blue)); box-shadow:0 0 12px rgba(145,169,255,.45); }
.artist-v2-hero-actions button { border:1px solid rgba(224,228,255,.55); background:linear-gradient(135deg,rgba(216,210,255,.96),rgba(166,224,255,.92)); box-shadow:0 12px 30px rgba(98,111,221,.3),inset 0 1px 1px rgba(255,255,255,.78); }
.artist-v2-portrait > div,.artist-v2-facts,.artist-v2-events,.artist-v2-links a {
  border-color:rgba(220,228,255,.14);
  background:linear-gradient(145deg,rgba(36,39,55,.68),rgba(16,19,29,.56));
  box-shadow:var(--glass-shadow-soft);
  backdrop-filter:blur(22px) saturate(1.4);
}
.artist-v2-tags span { border-color:rgba(224,230,255,.19); background:rgba(28,31,45,.42); box-shadow:inset 0 1px 0 rgba(255,255,255,.17); }

/* Mine/social surfaces. */
#app:not(.ops-app) .mine-profile { border-color:rgba(208,216,255,.2); background:linear-gradient(145deg,rgba(46,47,68,.73),rgba(18,21,32,.62)); box-shadow:var(--glass-shadow); }
#app:not(.ops-app) .profile-avatar,.social-avatar,.member-avatar { border:1px solid rgba(210,218,255,.23); background:linear-gradient(145deg,rgba(174,165,255,.36),rgba(104,201,255,.2)); box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 10px 24px rgba(0,0,0,.24); }
#app:not(.ops-app) .party-progress { background:rgba(255,255,255,.08); box-shadow:inset 0 1px 2px rgba(0,0,0,.28); }
#app:not(.ops-app) .party-progress i { background:linear-gradient(90deg,var(--glass-violet),var(--glass-blue),var(--glass-mint)); box-shadow:0 0 15px rgba(135,184,255,.5); }

/* Mine V2 — one quiet personal library: profile, events, artists and venues. */
#app.mine-v2-app { background:radial-gradient(circle at 86% 2%,rgba(119,154,255,.16),transparent 27%),radial-gradient(circle at 5% 17%,rgba(181,119,255,.13),transparent 25%),#080a0e; }
.mine-v2 { padding-top:22px; padding-bottom:44px; }
.mine-v2-heading,.mine-v2-section-title { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; }
.mine-v2-heading { margin-bottom:16px; padding:0 2px; }
.mine-v2-heading small,.mine-v2-section-title small,.venue-v2 small { color:#929aac; font-size:10px; font-weight:750; letter-spacing:.18em; }
.mine-v2-heading h1 { margin:5px 0 0; font-size:30px; letter-spacing:-.04em; }
.mine-v2-heading button,.mine-v2-section-title button,.mine-v2-section-title a { border:0; background:none; color:#aeb8cb; font-size:13px; }
.mine-v2-profile,.mine-v2-editor,.mine-v2-collection,.venue-v2-card {
  border:1px solid rgba(218,227,255,.15);
  border-radius:25px;
  background:linear-gradient(145deg,rgba(40,44,62,.73),rgba(15,18,29,.64));
  box-shadow:var(--glass-shadow-soft);
  backdrop-filter:blur(25px) saturate(1.4);
  -webkit-backdrop-filter:blur(25px) saturate(1.4);
}
.mine-v2-profile { display:grid; grid-template-columns:auto 1fr; align-items:center; gap:15px; padding:19px; overflow:hidden; }
.mine-v2-avatar { display:grid; width:70px; height:70px; place-items:center; overflow:hidden; border:1px solid rgba(222,230,255,.24); border-radius:23px; background:linear-gradient(145deg,rgba(178,166,255,.42),rgba(103,204,255,.2)); color:white; font-size:26px; font-weight:800; box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 12px 30px rgba(0,0,0,.28); }
.mine-v2-avatar img { width:100%; height:100%; object-fit:cover; }
.mine-v2-identity h2 { margin:0 0 4px; font-size:21px; letter-spacing:-.03em; }
.mine-v2-identity p { margin:0 0 10px; color:#aeb6c6; font-size:12px; }
.mine-v2-identity div { display:flex; flex-wrap:wrap; gap:6px; }
.mine-v2-identity div span,.venue-v2-tags span { padding:5px 9px; border:1px solid rgba(220,228,255,.14); border-radius:999px; background:rgba(255,255,255,.05); color:#ccd2de; font-size:11px; }
.mine-v2-profile-notes { grid-column:1/-1; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; padding-top:14px; border-top:1px solid rgba(225,232,255,.1); }
.mine-v2-profile-notes p { margin:0; padding:11px 12px; border-radius:14px; background:rgba(255,255,255,.035); }
.mine-v2-profile-notes small,.mine-v2-profile-notes b { display:block; }
.mine-v2-profile-notes small { margin-bottom:5px; color:#7f899b; font-size:10px; }
.mine-v2-profile-notes b { color:#d9deea; font-size:12px; font-weight:600; line-height:1.55; }
.mine-v2-editor { box-sizing:border-box; width:min(520px,calc(100vw - 24px)); max-height:calc(100dvh - 32px); margin:auto; padding:22px; color:#edf0f9; background:#131622; overflow:auto; overscroll-behavior:contain; }
.mine-v2-editor::backdrop { background:#050710c9; backdrop-filter:blur(7px); }
.mine-v2-editor>.mine-v2-section-title { display:flex; justify-content:space-between; gap:12px; }
.mine-v2-editor .mine-profile-header-spacer { width:36px; }
.mine-v2-editor button { cursor:pointer; }
.mine-v2-editor button:disabled { opacity:.5; cursor:wait; }
.mine-v2-editor #mine-v2-close { border:0; padding:8px 0; background:none; color:#a7b1c6; font-size:13px; }
.mine-profile-avatar-editor { display:flex; flex-direction:column; align-items:center; gap:8px; padding:12px 0 20px; }
#mine-v2-form .mine-profile-avatar-picker { position:relative; display:flex; align-items:center; flex-direction:column; gap:10px; color:#c9ceff; cursor:pointer; font-size:13px; }
.mine-profile-avatar-picker .mine-v2-avatar { width:90px; height:90px; border-radius:50%; }
#mine-v2-form .mine-profile-avatar-picker input { position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:pointer; }
.mine-profile-avatar-picker:focus-within { outline:2px solid #c9ceff; outline-offset:5px; border-radius:14px; }
.mine-profile-avatar-editor [data-profile-adjust] { background:none; border:0; color:#b6bfe2; font-size:12px; padding:6px 12px; }
.mine-profile-avatar-editor p { margin:0; max-width:100%; color:#818da4; font-size:11px; text-align:center; }
.mine-v2-editor .mine-v2-form-actions { position:sticky; bottom:-22px; background:#131622; padding:14px 0 max(14px,env(safe-area-inset-bottom)); flex-direction:column; align-items:stretch; }
.mine-v2-editor .mine-v2-form-actions button { width:100%; }
.mine-v2-editor :focus-visible { outline:2px solid #c9ceff; outline-offset:2px; }
.mine-v2-avatar { border-radius:50%; }
.profile-avatar-crop .ops-crop-grid { background:none; border-radius:50%; box-shadow:0 0 0 100px #0009; border:1px solid #fff9; }
@media(max-width:520px){.mine-v2-editor {width:100vw;max-width:none;max-height:100dvh;height:100dvh;border-radius:0;margin:0;padding:18px;border:0;}.mine-v2-editor .mine-v2-form-actions {bottom:-18px;}}
.mine-v2-editor[hidden] { display:none; }
.mine-v2-section-title { align-items:center; }
.mine-v2-section-title h2 { margin:4px 0 0; font-size:19px; letter-spacing:-.025em; }
.mine-v2-section-title h2 span { margin-left:4px; color:#8791a4; font-size:12px; font-weight:600; }
#mine-v2-form { display:grid; gap:11px; margin-top:18px; }
#mine-v2-form label { display:grid; gap:6px; color:#9ca6b9; font-size:11px; }
#mine-v2-form input,#mine-v2-form select,#mine-v2-form textarea { width:100%; min-width:0; border:1px solid rgba(222,230,255,.14); border-radius:14px; outline:0; background:rgba(255,255,255,.05); color:#f4f6fb; font:inherit; font-size:14px; box-shadow:inset 0 1px 0 rgba(255,255,255,.08); }
#mine-v2-form input,#mine-v2-form select { height:45px; padding:0 13px; }
#mine-v2-form textarea { min-height:82px; padding:12px 13px; resize:vertical; }
.mine-v2-form-row { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.mine-v2-form-actions { display:flex; align-items:center; gap:12px; }
.mine-v2-form-actions button { min-width:116px; min-height:44px; border:0; border-radius:14px; background:linear-gradient(135deg,#b9adff,#81d8ff); color:#11131c; font-weight:800; box-shadow:0 11px 26px rgba(109,130,231,.3),inset 0 1px 1px rgba(255,255,255,.75); }
.mine-v2-form-actions span { color:#aeb8c8; font-size:12px; }
.mine-v2-collection { margin-top:14px; padding:18px; }
.mine-v2-event-list,.mine-v2-venue-list { display:grid; gap:1px; margin-top:14px; overflow:hidden; border-radius:17px; background:rgba(255,255,255,.075); }
.mine-v2-event,.mine-v2-venue { display:flex; align-items:center; gap:12px; min-width:0; padding:11px; background:rgba(12,15,24,.88); }
.mine-v2-event > a img { display:block; width:54px; height:72px; border-radius:10px; object-fit:cover; }
.mine-v2-event > div { display:grid; flex:1; min-width:0; gap:4px; }
.mine-v2-event > div small { color:#9aa5b8; font-size:10px; }
.mine-v2-event > div b { display:block; overflow:hidden; color:#f3f5fa; font-size:14px; text-overflow:ellipsis; white-space:nowrap; }
.mine-v2-event > div span { overflow:hidden; color:#8d97a9; font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.mine-v2-event > button { width:31px; height:31px; border:1px solid rgba(221,228,255,.12); border-radius:50%; background:rgba(255,255,255,.045); color:#9ca6b8; font-size:19px; }
.mine-v2-artist-list { display:grid; grid-auto-columns:112px; grid-auto-flow:column; gap:10px; margin:14px -18px -2px; padding:0 18px 8px; overflow-x:auto; scrollbar-width:none; }
.mine-v2-artist-list::-webkit-scrollbar { display:none; }
.mine-v2-artist-list.empty-list { display:block; margin:0; padding:0; overflow:visible; }
.mine-v2-person { text-align:center; }
.mine-v2-person a { display:grid; gap:6px; color:#f1f3f8; }
.mine-v2-person-image { display:grid; width:100%; aspect-ratio:1/1.18; place-items:center; overflow:hidden; border:1px solid rgba(219,228,255,.13); border-radius:17px; background:linear-gradient(145deg,rgba(172,160,255,.22),rgba(77,148,195,.1)); font-size:24px; }
.mine-v2-person-image img { width:100%; height:100%; object-fit:cover; }
.mine-v2-person b { overflow:hidden; font-size:12px; text-overflow:ellipsis; white-space:nowrap; }
.mine-v2-person small { overflow:hidden; color:#8993a6; font-size:10px; text-overflow:ellipsis; white-space:nowrap; }
.mine-v2-person button { margin-top:8px; padding:5px 10px; border:1px solid rgba(207,216,255,.14); border-radius:999px; background:rgba(255,255,255,.04); color:#aab4c6; font-size:10px; }
.mine-v2-venue > a { display:flex; align-items:center; flex:1; min-width:0; gap:12px; }
.mine-v2-venue img { width:69px; height:54px; border-radius:11px; object-fit:cover; }
.mine-v2-venue a span { display:grid; min-width:0; gap:5px; }
.mine-v2-venue a b,.mine-v2-venue a small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.mine-v2-venue a b { color:#f2f4f8; font-size:14px; }
.mine-v2-venue a small { color:#8f99aa; font-size:10px; }
.mine-v2-venue > button { border:0; background:none; color:#929caf; font-size:10px; }
.mine-v2-label img { width:54px; height:54px; object-fit:contain; background:rgba(255,255,255,.035); }
.mine-v2-label > button { flex-shrink:0; min-height:44px; padding:8px 4px; }
.mine-v2-empty { display:grid; gap:6px; margin-top:14px; padding:20px; border:1px dashed rgba(219,227,255,.14); border-radius:16px; background:rgba(255,255,255,.025); color:#f0f2f7; }
.mine-v2-event-list .mine-v2-empty,.mine-v2-venue-list .mine-v2-empty { margin:0; border:0; border-radius:17px; background:rgba(12,15,24,.88); }
.mine-v2-empty b { font-size:13px; }
.mine-v2-empty span { color:#8c96a8; font-size:11px; line-height:1.55; }

/* Venue detail adds the missing action that feeds Saved venues on Mine. */
#app.venue-detail-app { background:radial-gradient(circle at 80% 4%,rgba(108,177,255,.14),transparent 29%),#080a0e; }
.venue-v2 { padding-top:12px; padding-bottom:45px; }
.venue-v2-hero { position:relative; min-height:405px; overflow:hidden; border:1px solid rgba(221,229,255,.12); border-radius:29px; box-shadow:var(--glass-shadow); }
.venue-v2-hero > img { position:absolute; width:100%; height:100%; object-fit:cover; }
.venue-v2-hero > div { position:absolute; inset:0; background:linear-gradient(180deg,rgba(4,6,10,.12) 22%,rgba(7,9,14,.93) 94%); }
.venue-v2-hero > a { position:absolute; top:16px; left:16px; display:grid; width:39px; height:39px; place-items:center; border:1px solid rgba(255,255,255,.24); border-radius:50%; background:rgba(10,12,18,.45); color:white; font-size:31px; line-height:1; backdrop-filter:blur(15px); }
.venue-v2-hero > span { position:absolute; right:20px; bottom:22px; left:20px; }
.venue-v2-hero h1 { margin:7px 0 5px; font-size:34px; letter-spacing:-.045em; }
.venue-v2-hero p { margin:0; color:#b6bfce; }
.venue-v2-card { margin-top:12px; padding:18px; }
.venue-v2-actions { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.venue-v2-actions button,.venue-v2-actions a { display:grid; min-height:46px; place-items:center; border:1px solid rgba(218,226,255,.16); border-radius:15px; background:rgba(255,255,255,.05); color:#e9edf5; font-size:13px; font-weight:750; }
.venue-v2-actions button.active { background:linear-gradient(135deg,rgba(190,176,255,.95),rgba(127,215,255,.9)); color:#11131c; }
.venue-v2-card h2,.venue-v2-title h2 { margin:5px 0 13px; font-size:20px; }
.venue-v2-card > p { color:#b7c0ce; font-size:13px; line-height:1.75; }
.venue-v2-address { margin-bottom:12px; }
.venue-v2-map { display:flex; align-items:center; justify-content:space-between; min-height:72px; padding:14px; border:1px solid rgba(134,204,255,.18); border-radius:16px; background:radial-gradient(circle at 72% 30%,rgba(126,188,255,.18),transparent 34%),rgba(255,255,255,.035); color:#dce8f5; }
.venue-v2-map span { font-size:12px; }
.venue-v2-map b { color:#aadaff; font-size:11px; }
.venue-v2-tags { display:flex; flex-wrap:wrap; gap:6px; margin-top:15px; }
.venue-v2-events { padding:24px 1px; }
.venue-v2-title { display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:14px; }
.venue-v2-title h2 { margin-bottom:0; }
.venue-v2-title > span { color:#8994a7; font-size:11px; }

/* Operations console receives a quieter, denser version of the material. */
#app.ops-app { background:radial-gradient(circle at 16% 0,rgba(127,115,238,.12),transparent 28%),#090b12; }
.ops-app .ops-top,.ops-app .ops-tabs { background:rgba(17,20,31,.76); backdrop-filter:blur(26px) saturate(1.4); }
.ops-app .ops-panel,.ops-app .ops-metric,.ops-app .ops-community-post,.ops-app .ops-user-detail {
  border-color:rgba(219,227,255,.13);
  background:linear-gradient(145deg,rgba(31,35,49,.72),rgba(15,18,28,.65));
  box-shadow:var(--glass-shadow-soft);
}
.ops-app .button,.ops-app input,.ops-app select,.ops-app textarea { border-color:rgba(220,228,255,.14); background:rgba(255,255,255,.055); box-shadow:inset 0 1px 0 rgba(255,255,255,.12); }
.ops-app .button.primary { background:linear-gradient(135deg,#b5aaff,#84d6ff); color:#11131c; }

@media (min-width:761px) {
  #app:not(.ops-app):not(.event-detail-app):not(.artist-detail-app) { border:1px solid rgba(216,224,255,.17); box-shadow:0 30px 100px rgba(0,0,0,.68),inset 0 1px 0 rgba(255,255,255,.08); }
  .mine-v2 { max-width:760px; }
  .mine-v2-profile { grid-template-columns:auto 1fr 1.25fr; }
  .mine-v2-profile-notes { grid-column:auto; padding-top:0; padding-left:15px; border-top:0; border-left:1px solid rgba(225,232,255,.1); }
  .venue-v2 { max-width:760px; }
  .venue-v2-hero { min-height:520px; }
}

@media (max-width:760px) {
  #app:not(.ops-app) .mini-main { padding-bottom:calc(92px + env(safe-area-inset-bottom)); }
  #app:not(.ops-app) .mini-tabbar { bottom:8px; }
  #app:not(.ops-app) .directory-head { margin:10px 10px 0; padding-right:13px; padding-left:13px; }
  #app:not(.ops-app) .directory-results { padding-right:12px; padding-left:12px; }
}

@media (prefers-reduced-motion:no-preference) {
  #app:not(.ops-app) .button,#app:not(.ops-app) .pill,#app:not(.ops-app) .card,#app:not(.ops-app) .editorial-card { transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease; }
}
