
:root{
    --font:'Sofia Sans', system-ui, -apple-system, "Segoe UI", sans-serif;       
    --font-display:'Unbounded', 'Sofia Sans', system-ui, sans-serif;             
    --font-brand:'Unbounded', 'Sofia Sans', system-ui, sans-serif;
    --bg:#F5F6FA;
    --surface:#FFFFFF;
    --surface-2:#EEF0FF;
    --ink:#120D26;
    --ink-muted:#6E7083;
    --line:#EBEEF2;
    --accent:#5265FF;
    --accent-contrast:#FFFFFF;
    --coral:#FE7474;
    --coral-soft:#FFEEEE;
    --hero-bg:#4A5DF5;
    --hero-ink:#FFFFFF;
    --nav-bg:#4A5DF5;
    --nav-ink:#FFFFFF;
    --nav-active-bg:#E4E7FD;
    --cat-theater:#8B5CF6;
    --cat-nightlife:#FF6584;
    --cat-culture:#F5A623;
    --cat-comedy:#14B8A6;
    --cat-concerts:#FF7A50;
    --cat-festivals:#EC4899;
    --cat-sport:#3B82F6;
    --cat-food:#65A30D;
    --shadow:0 1px 3px rgba(18,13,38,.06), 0 10px 28px -6px rgba(80,85,136,.16);
    --radius:18px;
    --map-sea-1:#DCE6FB;
    --map-sea-2:#B9C9F2;
    --map-wave:#7C93D9;
  }
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
      --bg:#141322; --surface:#1E1D33; --surface-2:#282640;
      --ink:#F1F0FA; --ink-muted:#8D8AA8; --line:#33314D;
      --accent:#7C8BFF; --accent-contrast:#0F0E1D;
      --coral:#FF8484; --coral-soft:color-mix(in srgb, #FF8484 16%, transparent);
      --hero-bg:linear-gradient(160deg, #3A2E8F 0%, #2A1F66 55%, #1E1D33 100%); --hero-ink:#FFFFFF;
      --nav-bg:#1E1D33; --nav-ink:#B9B7D6; --nav-active-bg:#7C8BFF;
      --cat-theater:#B4A0FF; --cat-nightlife:#FF93A8; --cat-culture:#FFCB7A;
      --cat-comedy:#5EEAD4; --cat-concerts:#FFA07A; --cat-festivals:#FF8FC6; --cat-sport:#93C5FD; --cat-food:#A3E635;
      --shadow:0 1px 2px rgba(0,0,0,.4), 0 18px 36px -18px rgba(0,0,0,.55), 0 0 24px -16px color-mix(in srgb, var(--accent) 30%, transparent);
      --map-sea-1:#22213A; --map-sea-2:#181729; --map-wave:#4A4A78;
    }
}
:root[data-theme="dark"]{
    --bg:#141322; --surface:#1E1D33; --surface-2:#282640;
    --ink:#F1F0FA; --ink-muted:#8D8AA8; --line:#33314D;
    --accent:#7C8BFF; --accent-contrast:#0F0E1D;
      --coral:#FF8484; --coral-soft:color-mix(in srgb, #FF8484 16%, transparent);
      --hero-bg:linear-gradient(160deg, #3A2E8F 0%, #2A1F66 55%, #1E1D33 100%); --hero-ink:#FFFFFF;
      --nav-bg:#1E1D33; --nav-ink:#B9B7D6; --nav-active-bg:#7C8BFF;
    --cat-theater:#B4A0FF; --cat-nightlife:#FF93A8; --cat-culture:#FFCB7A;
    --cat-comedy:#5EEAD4; --cat-concerts:#FFA07A; --cat-festivals:#FF8FC6; --cat-sport:#93C5FD; --cat-food:#A3E635;
    --shadow:0 1px 2px rgba(0,0,0,.4), 0 18px 36px -18px rgba(0,0,0,.55), 0 0 24px -16px color-mix(in srgb, var(--accent) 30%, transparent);
    --map-sea-1:#22213A; --map-sea-2:#181729; --map-wave:#4A4A78;
  }
*{box-sizing:border-box;}
@media (prefers-reduced-motion: reduce){*{transition:none!important; animation:none!important;}
}
body{
    margin:0;
    background:var(--bg);
    color:var(--ink);
    font-family:var(--font);
  }
a{color:inherit;}
:focus-visible{outline:2px solid var(--accent); outline-offset:2px; border-radius:6px;}
.wrap{ max-width:920px; margin-inline:auto; padding-inline:20px; }
header.top{
    position:sticky; top:env(safe-area-inset-top,0px); z-index:10;
    background:color-mix(in srgb, var(--bg) 88%, transparent);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
    padding-block:16px 12px;
  }
.brandrow{ display:flex; align-items:baseline; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.brand{ font-family:var(--font-display); font-weight:600; font-size:26px; letter-spacing:-0.01em; }
.brand em{ font-style:italic; color:var(--accent); }
.citycol{ display:flex; flex-direction:column; align-items:flex-end; gap:6px; flex:none; }
.citypicker{ display:inline-flex; align-items:center; gap:5px; padding:6px 11px 6px 9px; border-radius:999px; border:1px solid var(--line); background:var(--surface); color:var(--ink-muted); cursor:pointer; }
.citypicker svg{ flex:none; }
.cityselect{ border:0; background:transparent; font:inherit; font-family:var(--font); font-size:13px; font-weight:700; color:var(--ink); cursor:pointer; padding:0; }
.cityselect:focus{ outline:none; }
.cityselect option:disabled{ color:var(--ink-muted); }
.searchrow{ margin-top:14px; display:flex; gap:8px; }
.search{ flex:1; display:flex; align-items:center; gap:8px; background:var(--surface); border:1px solid var(--line); border-radius:16px; padding:10px 14px; }
.search svg{ flex:none; opacity:.55; }
.search input{ border:0; outline:0; background:transparent; color:var(--ink); font:inherit; font-size:15px; width:100%; }
.search input::placeholder{ color:var(--ink-muted); }
.si-list{ display:flex; flex-direction:column; gap:12px; margin:4px 0 16px; }
.si-row{ display:flex; gap:12px; align-items:flex-start; }
.si-row > span{ font-size:22px; line-height:1.2; flex:none; }
.si-row strong{ display:block; font-size:15px; }
.si-row small{ display:block; color:var(--ink-muted, #6B6785); font-size:14px; line-height:1.4; }
.sugbox{ position:fixed; z-index:120; background:var(--surface); color:var(--ink); border:1px solid var(--line); border-radius:16px;
    box-shadow:0 18px 48px rgba(20,12,60,.22); overflow-y:auto; padding:6px; overscroll-behavior:contain; }
.sugbox[hidden]{ display:none; }
.sug-h{ font-size:12px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-muted); padding:8px 10px 4px; }
.sug-row{ display:flex; align-items:center; gap:10px; width:100%; text-align:left; background:none; border:0; border-radius:12px;
    padding:9px 10px; font:inherit; color:inherit; cursor:pointer; min-height:44px; }
.sug-row:hover, .sug-row.on{ background:var(--surface-2, rgba(82,101,255,.08)); }
.sug-ic{ flex:none; width:24px; text-align:center; font-size:17px; }
.sug-dot{ flex:none; width:10px; height:10px; margin:0 7px; border-radius:50%; background:var(--dot); }
.sug-t{ display:flex; flex-direction:column; min-width:0; }
.sug-t b{ font-weight:700; font-size:15px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.sug-t small{ color:var(--ink-muted); font-size:13px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.sug-row.quick{ display:inline-flex; width:auto; min-height:36px; padding:7px 12px; margin:3px; border:1px solid var(--line); border-radius:999px; }
.sug-row.quick .sug-t b{ font-size:14px; font-weight:600; }
.sug-row.all{ border-top:1px solid var(--line); border-radius:0 0 12px 12px; margin-top:4px; }
.sug-row.all .sug-t b{ color:var(--accent); }
.chiprow{ display:flex; gap:8px; overflow-x:auto; padding-block:10px 2px; scrollbar-width:none; }
.chiprow::-webkit-scrollbar{ display:none; }
.chip{
    flex:none; font-family:var(--font); font-size:13px; font-weight:600; padding:7px 13px; border-radius:999px;
    border:1px solid var(--line); background:var(--surface); color:var(--ink-muted); cursor:pointer; white-space:nowrap;
  }
.chip[data-active="true"]{ background:var(--ink); color:var(--bg); border-color:var(--ink); }
.chip.cat[data-active="true"]{ background:var(--dot); border-color:var(--dot); color:#0A1A24; }
.chip.cat{ display:inline-flex; align-items:center; gap:6px; }
.chip.cat .dot{ width:8px; height:8px; border-radius:50%; background:var(--dot); display:inline-block; }
.chip.city[disabled]{ opacity:.45; cursor:not-allowed; }
.segmented{ flex:1; display:flex; gap:6px; }
.segmented button{
    flex:1; font-family:var(--font); font-size:13px; font-weight:600; padding:7px 4px; border-radius:10px;
    border:1px solid var(--line); background:var(--surface-2); color:var(--ink-muted); cursor:pointer;
  }
.segmented button[data-active="true"]{ background:var(--ink); color:var(--bg); border-color:var(--ink); }
.simplehead{ display:flex; align-items:center; gap:12px; }
.iconbtn{
    display:inline-flex; align-items:center; justify-content:center; width:36px; height:36px;
    border-radius:10px; border:1px solid var(--line); background:var(--surface); color:var(--ink); cursor:pointer; flex:none;
  }
.simplehead h1, .simplehead .sh1{ font-family:var(--font-display); font-weight:600; font-size:20px; margin:0; }
.simplehead .sub{ margin-left:auto; font-family:var(--font); font-size:12px; color:var(--ink-muted); }
main{ padding-block:22px; padding-bottom:calc(90px + env(safe-area-inset-bottom,0px)); min-height:50vh; }
.day-head{ display:flex; align-items:baseline; gap:10px; margin:28px 0 12px; }
.day-head:first-child{ margin-top:6px; }
.day-head h2{ font-family:var(--font-display); font-weight:600; font-size:20px; margin:0; text-transform:capitalize; }
.day-head h2.plain{ text-transform:none; }
.day-head .count{ font-family:var(--font); font-size:12px; color:var(--ink-muted); }
.day-head .rule{ flex:1; height:1px; background:var(--line); }
.followgroup{ margin-bottom:16px; }
.followgroup:last-child{ margin-bottom:0; }
.followgroup-label{ font-size:13px; font-weight:700; color:var(--ink-muted); margin-bottom:8px; cursor:pointer; }
.followgroup-label:hover, .followgroup-label:focus-visible{ color:var(--accent); }
.artistrow{ display:flex; gap:10px; overflow-x:auto; padding-bottom:8px; scrollbar-width:none; }
.artistrow::-webkit-scrollbar{ display:none; }
.artistcard{ min-width:122px; max-width:122px; flex:none; background:var(--surface); border:1px solid var(--line); border-radius:18px; padding:14px 10px; display:flex; flex-direction:column; align-items:center; text-align:center; gap:7px; }
.artistavatar{ width:46px; height:46px; border-radius:50%; flex:none; display:flex; align-items:center; justify-content:center; font-family:var(--font-display); font-weight:700; font-size:17px; color:var(--dot); background:color-mix(in srgb, var(--dot) 18%, var(--surface-2)); }
.artistcard .artistname{ font-weight:700; font-size:12px; line-height:1.25; }
.artistcard .artistgenre{ font-size:11px; color:var(--ink-muted); }
.artistfollowbtn{ font-size:12px; font-weight:700; padding:7px 8px; border-radius:999px; border:1px solid var(--line); background:var(--surface-2); color:var(--ink); cursor:pointer; width:100%; }
.artistfollowbtn[data-active="true"]{ background:var(--accent); color:var(--accent-contrast); border-color:var(--accent); }
.grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(270px, 1fr)); gap:12px; }
.savedcardwrap{ display:flex; flex-direction:column; }
.companion-badge{ display:flex; align-items:center; gap:6px; font-size:12px; font-weight:700; color:var(--accent); margin-top:8px; padding-left:2px; }
.companion-badge svg{ width:13px; height:13px; flex:none; }
.card{
    background:var(--surface); border:1px solid var(--line); border-radius:var(--radius);
    padding:14px 16px 15px; box-shadow:var(--shadow); display:flex; flex-direction:column; gap:8px;
    position:relative; cursor:pointer;
  }
.card .catbar{ position:absolute; left:0; top:14px; bottom:14px; width:3px; border-radius:3px; background:var(--dot); }
.card-inner{ padding-left:10px; }
.card-top{ display:flex; justify-content:space-between; align-items:flex-start; gap:8px; padding-left:10px; padding-right:26px; }
.cat-label{ font-size:12px; font-weight:700; letter-spacing:.03em; text-transform:uppercase; color:var(--dot); }
.featured{ font-size:12px; font-weight:700; letter-spacing:.02em; color:var(--accent); border:1px solid var(--accent); border-radius:999px; padding:2px 8px; white-space:nowrap; }
.trendcount{ display:inline-flex; align-items:center; gap:4px; font-family:var(--font); font-size:12px; font-weight:700; color:var(--accent); white-space:nowrap; flex:none; }
.card-poster{ padding:0; overflow:hidden; }
.card-head{
    position:relative; height:70px; overflow:hidden;
    display:flex; align-items:flex-start; justify-content:space-between; gap:8px;
    padding:12px 14px;
    background:
      radial-gradient(120% 170% at 14% -25%, color-mix(in srgb, var(--dot) 58%, transparent), transparent 60%),
      radial-gradient(120% 170% at 92% 125%, color-mix(in srgb, var(--dot) 42%, transparent), transparent 55%),
      linear-gradient(135deg, color-mix(in srgb, var(--dot) 26%, var(--surface)), var(--surface-2));
  }
.card-head::before, .card-head::after{ content:''; position:absolute; border-radius:50%; }
.card-head::before{ width:110px; height:110px; right:-30px; top:-46px; background:color-mix(in srgb, var(--dot) 40%, transparent); }
.card-head::after{ width:80px; height:80px; left:-25px; bottom:-42px; background:color-mix(in srgb, var(--dot) 28%, transparent); }
.cardhead-badge{
    position:relative; z-index:1;
    background:color-mix(in srgb, var(--surface) 80%, transparent); backdrop-filter:blur(6px);
    color:var(--ink); font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.04em;
    padding:4px 10px; border-radius:999px; white-space:nowrap;
  }
.featured-head{ position:relative; z-index:1; background:color-mix(in srgb, var(--surface) 85%, transparent); backdrop-filter:blur(6px); }
.card-poster .savebtn{ background:color-mix(in srgb, var(--surface) 78%, transparent); backdrop-filter:blur(6px); color:var(--ink); }
.card-body{ padding:13px 16px 15px; display:flex; flex-direction:column; gap:8px; }
.card-poster .title, .card-poster .venue, .card-poster .meta, .card-poster .desc{ padding-left:0; }
@media (max-width:380px){.card-head{ height:62px; }
}
.reminderstack{ display:flex; flex-direction:column; gap:10px; margin-bottom:22px; }
.reminderstack .reminder{ margin-bottom:0; }
.reminder{
    display:flex; align-items:flex-start; gap:12px; background:color-mix(in srgb, var(--accent) 14%, var(--surface));
    border:1px solid color-mix(in srgb, var(--accent) 40%, transparent); border-radius:var(--radius);
    padding:14px 16px; margin-bottom:22px; cursor:pointer;
  }
.reminder-label{ font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.05em; color:var(--accent); margin-bottom:3px; }
.title{ font-family:var(--font-display); font-size:17px; font-weight:600; line-height:1.28; padding-left:10px; text-wrap:balance; }
.venue{ padding-left:10px; font-size:13px; color:var(--ink-muted); }
.meta{ padding-left:10px; display:flex; align-items:center; gap:10px; margin-top:2px; font-family:var(--font); font-size:13px; font-variant-numeric:tabular-nums; }
.meta .price{ color:var(--ink-muted); }
.meta .price.free{ color:var(--cat-comedy); font-weight:600; }
.desc{ padding-left:10px; font-size:13px; color:var(--ink-muted); line-height:1.45; }
.savebtn{
    position:absolute; top:12px; right:12px; width:28px; height:28px; border-radius:12px; border:0;
    background:transparent; color:var(--ink-muted); display:flex; align-items:center; justify-content:center; cursor:pointer;
  }
.savebtn[data-saved="true"]{ color:var(--accent); }
.savebtn:hover{ background:var(--surface-2); }
details.past{ margin-top:30px; border-top:1px solid var(--line); padding-top:14px; }
details.past summary{ cursor:pointer; font-family:var(--font-display); font-size:16px; font-weight:600; color:var(--ink-muted); list-style:none; }
details.past summary::-webkit-details-marker{ display:none; }
details.past summary::before{ content:'▸ '; display:inline-block; }
details.past[open] summary::before{ transform:rotate(90deg); display:inline-block; }
details.past .grid{ margin-top:14px; opacity:.7; }
.empty{ padding:60px 10px; text-align:center; color:var(--ink-muted); font-size:15px; }
.empty strong{ display:block; font-family:var(--font-display); font-size:20px; color:var(--ink); margin-bottom:6px; font-weight:600; }
.empty .btn{ display:inline-flex; margin-top:16px; }
.hero{ border-radius:22px; padding:22px 20px; background:color-mix(in srgb, var(--dot) 16%, var(--surface)); border:1px solid color-mix(in srgb, var(--dot) 35%, transparent); }
.hero .cat-label{ margin-bottom:8px; display:inline-block; }
.hero .htitle{ font-family:var(--font-display); font-weight:700; font-size:26px; line-height:1.18; text-wrap:balance; margin:2px 0 4px; }
.hero .hbadges{ display:flex; gap:8px; align-items:center; flex-wrap:wrap; margin-top:8px; }
.infocard{ margin-top:16px; background:var(--surface); border:1px solid var(--line); border-radius:18px; padding:4px 16px; }
.inforow{ display:flex; align-items:flex-start; gap:12px; padding:12px 0; border-bottom:1px solid var(--line); }
.inforow:last-child{ border-bottom:0; }
.inforow svg{ flex:none; margin-top:2px; color:var(--ink-muted); }
.inforow .lbl{ font-size:12px; text-transform:uppercase; letter-spacing:.04em; color:var(--ink-muted); margin-bottom:2px; }
.inforow .val{ font-size:15px; font-weight:600; }
.desc-block{ margin-top:16px; font-size:15px; line-height:1.65; color:var(--ink); }
.desc-block .lbl{ font-size:12px; text-transform:uppercase; letter-spacing:.04em; color:var(--ink-muted); margin-bottom:6px; }
.btn{ display:flex; align-items:center; justify-content:center; gap:7px; padding:13px 16px; border-radius:999px; font:inherit; font-weight:700; font-size:14px; cursor:pointer; border:1px solid var(--line); background:var(--surface); color:var(--ink); text-decoration:none; }
.btn.primary{ background:var(--accent); border-color:var(--accent); color:var(--accent-contrast); }
.btn.primary[data-saved="true"]{ background:transparent; color:var(--accent); border-color:var(--accent); }
.btn.small{ padding:8px 13px; font-size:13px; border-radius:999px; flex:none; }
.textbtn{ border:0; background:none; color:var(--accent); font:inherit; font-weight:700; font-size:13px; cursor:pointer; padding:0; white-space:nowrap; }
.detail-actions{ display:flex; gap:10px; margin-top:18px; }
.detail-actions .btn{ flex:1; }
.follow-hint{ font-size:12px; color:var(--ink-muted); margin-top:7px; line-height:1.5; }
.toast{ margin-top:10px; text-align:center; font-size:12px; color:var(--cat-comedy); font-weight:600; height:16px; }
.section-label{ font-size:12px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--ink-muted); margin:26px 0 10px; }
.section-label:first-child{ margin-top:4px; }
.segmented{ display:flex; background:var(--surface-2); border-radius:11px; padding:3px; gap:2px; }
.segmented button{ flex:1; border:0; background:transparent; padding:9px 0; border-radius:8px; font:inherit; font-size:13px; font-weight:600; color:var(--ink-muted); cursor:pointer; }
.segmented button[data-active="true"]{ background:var(--surface); color:var(--ink); box-shadow:var(--shadow); }
.stats{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.stat{ background:var(--surface); border:1px solid var(--line); border-radius:16px; padding:15px 10px; text-align:center; }
.stat .lbl{ font-size:12px; color:var(--ink-muted); margin-top:3px; line-height:1.3; }
.aboutcard{ background:var(--surface); border:1px solid var(--line); border-radius:18px; padding:16px; font-size:13px; line-height:1.6; color:var(--ink-muted); }
.aboutcard strong{ color:var(--ink); }
.linkrow{ display:flex; align-items:center; justify-content:space-between; padding:13px 2px; border-bottom:1px solid var(--line); font-size:14px; }
.linkrow:last-child{ border-bottom:0; }
.linkrow button.textbtn{ border:0; background:none; color:var(--accent); font:inherit; font-weight:700; font-size:13px; cursor:pointer; }
.myticket-link{ display:flex; flex-direction:column; align-items:flex-start; gap:2px; width:100%; text-align:left; }
nav.bottomnav{
    position:fixed; left:0; right:0; bottom:0; z-index:20;
    background:color-mix(in srgb, var(--surface) 92%, transparent);
    backdrop-filter:blur(10px);
    border-top:1px solid var(--line);
  }
nav.bottomnav .navwrap{
    max-width:920px; margin-inline:auto; display:flex; justify-content:center; gap:4px;
    padding:8px 12px calc(8px + env(safe-area-inset-bottom,0px));
  }
.navbtn{ display:flex; flex:1; max-width:110px; flex-direction:column; align-items:center; gap:3px; background:none; border:0; color:var(--ink-muted); font:inherit; font-size:12px; font-weight:700; cursor:pointer; padding:6px 6px; border-radius:12px; }
.navbtn[data-active="true"]{ color:var(--accent); }
.navbtn .dotcount{ position:relative; }
.navbtn .badge{ position:absolute; top:-3px; right:-9px; background:var(--accent); color:var(--accent-contrast); font-size:11px; min-width:14px; height:14px; border-radius:999px; display:flex; align-items:center; justify-content:center; padding:0 3px; }
@media (max-width:480px){.brand{ font-size:22px; }
.grid{ grid-template-columns:1fr; }
.stats{ grid-template-columns:repeat(3,1fr); }
.navbtn{ font-size:11px; padding:6px 2px; }
}
.onboard{ display:flex; flex-direction:column; min-height:100vh; max-width:460px; margin-inline:auto; padding-inline:24px; }
.ob-dots{ display:flex; gap:6px; justify-content:center; padding-top:22px; }
.ob-dot{ width:7px; height:7px; border-radius:50%; background:var(--line); transition:width .2s,background .2s; }
.ob-dot[data-active="true"]{ background:var(--accent); width:20px; border-radius:4px; }
.ob-body{ flex:1; display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:14px; padding:20px 4px; }
.ob-body h1{ font-family:var(--font-display); font-size:28px; font-weight:700; margin:0; text-wrap:balance; }
.ob-body p{ color:var(--ink-muted); font-size:15px; max-width:340px; margin:0; line-height:1.55; }
@keyframes pulseAnim{ 0%{ width:34px; height:34px; opacity:.55; } 100%{ width:120px; height:120px; opacity:0; } }
.ob-list{ display:flex; flex-wrap:wrap; gap:8px; justify-content:center; max-width:380px; }
.ob-actions{ padding:16px 0 calc(26px + env(safe-area-inset-bottom,0px)); display:flex; flex-direction:column; gap:10px; align-items:center; }
.ob-actions .btn{ width:100%; max-width:320px; }
.ob-skip{ background:none; border:0; color:var(--ink-muted); font:inherit; font-size:13px; cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
.recorow{ display:flex; gap:12px; overflow-x:auto; padding-bottom:8px; scrollbar-width:none; }
.recorow::-webkit-scrollbar{ display:none; }
.recorow .card{ min-width:250px; max-width:250px; flex:none; }
.eventofday{ padding:0; gap:0; overflow:hidden; }
.eventofday .catbar{ display:none; }
.eodvisual{
    position:relative; height:180px; overflow:hidden;
    background:
      radial-gradient(120% 140% at 12% -10%, color-mix(in srgb, var(--dot) 60%, transparent), transparent 60%),
      radial-gradient(120% 140% at 92% 110%, color-mix(in srgb, var(--dot) 45%, transparent), transparent 55%),
      linear-gradient(135deg, color-mix(in srgb, var(--dot) 24%, var(--surface)), var(--surface-2));
  }
.eodvisual::before, .eodvisual::after{ content:''; position:absolute; border-radius:50%; }
.eodvisual::before{ width:230px; height:230px; right:-70px; top:-90px; background:color-mix(in srgb, var(--dot) 42%, transparent); }
.eodvisual::after{ width:150px; height:150px; left:-45px; bottom:-60px; background:color-mix(in srgb, var(--dot) 30%, transparent); }
.eodbadge{
    position:absolute; top:14px; left:14px; z-index:1;
    background:color-mix(in srgb, var(--surface) 80%, transparent); backdrop-filter:blur(6px);
    color:var(--ink); font-family:var(--font); font-size:12px; font-weight:800; text-transform:uppercase;
    letter-spacing:.05em; padding:5px 11px; border-radius:999px;
  }
.eventofday .savebtn{ background:color-mix(in srgb, var(--surface) 78%, transparent); backdrop-filter:blur(6px); color:var(--ink); }
.eod-body{ padding:16px 18px 19px; display:flex; flex-direction:column; gap:7px; }
.eod-title{ font-family:var(--font-display); font-weight:700; font-size:20px; line-height:1.22; text-wrap:balance; }
@media (max-width:380px){.eodvisual{ height:150px; }
.eod-title{ font-size:20px; }
}
.topgrid{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.topcard{ padding:12px 12px 13px; gap:5px; }
.topcard .catbar{ top:11px; bottom:11px; }
.topcard .card-top{ padding-right:24px; }
.topcard .cat-label{ font-size:11px; }
.topcard .title{ font-size:14px; line-height:1.26; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.topcard .meta{ font-size:12px; gap:7px; flex-wrap:wrap; margin-top:0; }
.topcard .savebtn{ width:24px; height:24px; top:9px; right:9px; }
@media (max-width:380px){.topgrid{ grid-template-columns:1fr; }
}
.community-intro{ font-size:13px; color:var(--ink-muted); line-height:1.5; background:var(--surface); border:1px solid var(--line); border-radius:16px; padding:12px 14px; }
.community-tag{ font-size:11px; font-weight:700; letter-spacing:.02em; color:var(--ink-muted); background:var(--surface-2); border-radius:999px; padding:2px 8px; white-space:nowrap; }
.submitter{ padding-left:10px; font-size:12px; color:var(--ink-muted); font-style:italic; }
.card-bottom{ margin-top:10px; padding-left:10px; }
.card-bottom .interestbtn{ display:inline-flex; width:auto; }
.formcard{ background:var(--surface); border:1px solid var(--line); border-radius:18px; padding:16px; margin:14px 0; display:flex; flex-direction:column; gap:12px; }
.field{ display:flex; flex-direction:column; gap:5px; }
.field label{ font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.03em; color:var(--ink-muted); }
.field input[type=text], .field input[type=date], .field input[type=time], .field input[type=number], .field select, .field textarea{
    font:inherit; font-size:14px; padding:10px 12px; border-radius:10px; border:1px solid var(--line); background:var(--bg); color:var(--ink); width:100%;
  }
.field textarea{ resize:vertical; min-height:70px; font-family:inherit; }
.field-row{ display:flex; gap:10px; }
.field-row .field{ flex:1; min-width:0; }
.checkfield{ display:flex; align-items:center; gap:8px; font-size:14px; text-transform:none; letter-spacing:0; font-weight:600; color:var(--ink); }
.checkfield input{ width:16px; height:16px; }
.formmsg{ font-size:13px; font-weight:600; min-height:16px; }
.formmsg.err{ color:var(--cat-nightlife); }
.formmsg.ok{ color:var(--cat-comedy); }
.viewtoggle{ display:flex; gap:6px; margin-bottom:16px; }
.viewtoggle button{ flex:1; padding:9px 0; border-radius:10px; border:1px solid var(--line); background:var(--surface); color:var(--ink-muted); font:inherit; font-weight:700; font-size:13px; cursor:pointer; }
.viewtoggle button[data-active="true"]{ background:var(--ink); color:var(--bg); border-color:var(--ink); }
.mapcard{ position:relative; border-radius:22px; overflow:hidden; border:1px solid var(--line); box-shadow:var(--shadow); }
.mapsvg{ width:100%; height:auto; display:block; }
.wave{ fill:none; stroke:var(--map-wave); stroke-width:1.5; opacity:.5; }
.wave2{ opacity:.3; }
.pin{ cursor:pointer; }
.pinring{ fill:none; stroke:var(--dot); stroke-width:1.6; opacity:.55; animation:pinPulse 2.6s ease-out infinite; transform-origin:center; }
.pindot{ fill:var(--dot); stroke:var(--surface); stroke-width:1.5; }
@keyframes pinPulse{ 0%{ r:5; opacity:.6; } 100%{ r:16; opacity:0; } }
@media (prefers-reduced-motion: reduce){.pinring{ animation:none; opacity:.35; }
}
.map-caption{ font-size:12px; color:var(--ink-muted); margin-top:10px; text-align:center; line-height:1.5; }
.map-legend{ display:flex; flex-wrap:wrap; gap:10px 14px; justify-content:center; margin-top:12px; }
.leg{ display:flex; align-items:center; gap:5px; font-size:12px; color:var(--ink-muted); }
.legdot{ width:8px; height:8px; border-radius:50%; background:var(--dot); display:inline-block; }
.chatlist{ max-height:280px; overflow-y:auto; display:flex; flex-direction:column; gap:8px; padding-right:2px; }
.chatmsg{ max-width:82%; padding:8px 12px; border-radius:14px; background:var(--surface-2); font-size:14px; line-height:1.4; align-self:flex-start; word-break:break-word; }
.chatmsg .who{ font-size:12px; font-weight:700; color:var(--ink-muted); margin-bottom:2px; display:block; }
.chatmsg.mine{ align-self:flex-end; background:var(--accent); color:var(--accent-contrast); }
.chatmsg.mine .who{ color:color-mix(in srgb, var(--accent-contrast) 72%, transparent); }
.chatmsg .when{ font-size:9.5px; opacity:.65; margin-left:6px; font-family:var(--font); font-weight:500; }
.chat-empty, .chat-unavail{ font-size:13px; color:var(--ink-muted); text-align:center; padding:14px 0; }
.chatform{ display:flex; flex-direction:column; gap:8px; border-top:1px solid var(--line); padding-top:10px; }
.chatform input[type=text]{ font:inherit; font-size:14px; padding:9px 11px; border-radius:10px; border:1px solid var(--line); background:var(--bg); color:var(--ink); width:100%; }
.chatinputrow{ display:flex; gap:8px; }
.chatinputrow input{ flex:1; min-width:0; }
.chatsend{ width:40px; height:40px; flex:none; border-radius:10px; border:0; background:var(--accent); color:var(--accent-contrast); display:flex; align-items:center; justify-content:center; cursor:pointer; }
.chatsend:disabled{ opacity:.5; cursor:default; }
.going-count{ font-family:var(--font); font-weight:500; color:var(--ink-muted); font-size:12px; }
.going-empty{ font-size:13px; color:var(--ink-muted); text-align:center; padding:6px 0; }
.clublist{ display:flex; flex-direction:column; gap:8px; }
.clubrow{ display:flex; align-items:center; gap:12px; background:var(--surface); border:1px solid var(--line); border-radius:16px; padding:12px 14px; cursor:pointer; }
.clubinfo{ flex:1; min-width:0; }
.clubname{ font-weight:700; font-size:15px; }
.clubstars{ font-size:13px; color:var(--ink-muted); margin-top:2px; }
.stars{ color:var(--accent); letter-spacing:1px; }
.avgnum{ font-family:var(--font); font-variant-numeric:tabular-nums; }
.clubcount{ color:var(--ink-muted); }
.ticketrow{ margin-top:14px; }
.ticket-hint{ font-size:12px; color:var(--ink-muted); margin-top:7px; line-height:1.5; }
.ratingform{ display:flex; flex-direction:column; gap:12px; background:var(--surface); border:1px solid var(--line); border-radius:18px; padding:16px; align-items:center; }
.starpicker{ display:flex; gap:6px; }
.starbtn{ font-size:30px; line-height:1; background:none; border:0; cursor:pointer; color:var(--ink-muted); padding:0; }
.starbtn.filled{ color:var(--accent); }
.calendar{ background:var(--surface); border:1px solid var(--line); border-radius:20px; padding:14px; }
.calhead{ display:flex; align-items:center; justify-content:space-between; margin-bottom:10px; }
.calnav{ width:32px; height:32px; border-radius:9px; border:1px solid var(--line); background:var(--bg); color:var(--ink); display:flex; align-items:center; justify-content:center; cursor:pointer; flex:none; }
.calnav.next{ transform:scaleX(-1); }
.calmonth{ font-family:var(--font-display); font-weight:600; font-size:15px; text-transform:capitalize; }
.calweekdays{ display:grid; grid-template-columns:repeat(7,1fr); gap:2px; margin-bottom:4px; }
.calweekdays span{ text-align:center; font-size:12px; font-weight:700; color:var(--ink-muted); text-transform:uppercase; }
.calgrid{ display:grid; grid-template-columns:repeat(7,1fr); gap:3px; }
.calcell{ aspect-ratio:1; border-radius:9px; border:0; background:transparent; color:var(--ink); font:inherit; font-size:13px; cursor:pointer; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; }
.calcell.out{ color:var(--ink-muted); opacity:.4; }
.calcell.today .calnum{ font-weight:800; text-decoration:underline; text-underline-offset:3px; }
.calcell.selected{ background:var(--accent); color:var(--accent-contrast); }
:root{
    --nav-active-ink:var(--accent);
    --accent-ink:#3D4FE0;
    --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:20px; --s6:24px; --s8:32px; --s10:40px;
  }
:root[data-theme="dark"]{ --nav-active-ink:#0F0E1D; --accent-ink:var(--accent); }
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){ --nav-active-ink:#0F0E1D; --accent-ink:var(--accent); }
}
body{ line-height:1.45; -webkit-font-smoothing:antialiased; }
.brand{ font-weight:800; letter-spacing:-0.02em; }
.brand em{ font-style:normal; }
header.top.home{
    position:relative; top:0; background:var(--hero-bg); color:var(--hero-ink);
    border-bottom:0; border-radius:0 0 28px 28px; backdrop-filter:none;
    padding-block:calc(var(--s6) + env(safe-area-inset-top,0px)) var(--s5);
  }
.home .brandrow{ flex-wrap:nowrap; align-items:flex-start; }
.home .brandrow > div:first-child{ min-width:0; }
.home .brand{ font-size:26px; line-height:1.15; }
.home .brand em{ color:#D7DBFF; }
.home .citypicker{ background:rgba(255,255,255,.16); border-color:transparent; color:#fff; min-height:36px; }
.home .cityselect{ color:#fff; }
.home .cityselect option{ color:#120D26; }
.home .searchrow{ margin-top:var(--s5); gap:var(--s2); }
.home .search{ background:rgba(255,255,255,.16); border-color:transparent; border-radius:14px; min-height:48px; }
.home .search svg{ color:#fff; opacity:.9; }
.home .search input{ color:#fff; }
.home .search input::placeholder{ color:rgba(255,255,255,.75); }
.home .chiprow{ padding-block:var(--s4) 0; gap:var(--s2); }
.chip{ min-height:36px; padding:0 var(--s4); display:inline-flex; align-items:center; }
.home .chip{ background:rgba(255,255,255,.14); border-color:transparent; color:#fff; }
.home .chip[data-active="true"], .home .chip.cat[data-active="true"]{ background:#fff; border-color:#fff; color:#3D4FE0; }
.chip.cat[data-active="true"]{ background:var(--accent); border-color:var(--accent); color:var(--accent-contrast); }
.chip[data-active="true"]{ background:var(--accent); border-color:var(--accent); color:var(--accent-contrast); }
main{ padding-top:var(--s4); }
.day-head{ margin:var(--s10) 0 var(--s4); align-items:center; }
.day-head:first-child{ margin-top:var(--s6); }
.day-head h2{ font-size:20px; font-weight:700; letter-spacing:-0.02em; }
.day-head .rule{ background:transparent; }
.day-head .count{ font-weight:600; }
.cat-label{ display:inline-flex; align-items:center; gap:6px; color:var(--ink-muted); font-size:12px; font-weight:700; letter-spacing:.06em; }
.cat-label::before{ content:''; width:7px; height:7px; border-radius:50%; background:var(--dot, var(--accent)); flex:none; }
.card{ border:0; border-radius:18px; box-shadow:var(--shadow); }
.card-poster{ padding:var(--s2); }
.card-head, .eodvisual, .topthumb{
    background:linear-gradient(145deg, color-mix(in srgb, var(--dot) 16%, var(--surface-2)) 0%, var(--surface-2) 70%);
  }
.card-head::before, .eodvisual::before{ background:color-mix(in srgb, var(--dot) 14%, transparent); }
.card-head::after, .eodvisual::after{ background:color-mix(in srgb, var(--dot) 10%, transparent); }
.card-head{ height:128px; border-radius:12px; padding:var(--s3); }
.cardhead-badge{
    position:absolute; left:var(--s3); bottom:var(--s3);
    display:inline-flex; align-items:center; gap:6px; background:var(--surface); backdrop-filter:none;
    font-size:12px; font-weight:700; letter-spacing:.05em; color:var(--ink); padding:5px 10px;
  }
.cardhead-badge::before{ content:''; width:7px; height:7px; border-radius:50%; background:var(--dot); flex:none; }
.featured-head{ position:absolute; right:var(--s3); bottom:var(--s3); background:var(--surface); }
.card-poster .savebtn{
    top:calc(var(--s2) + var(--s3)); right:calc(var(--s2) + var(--s3)); width:36px; height:36px; border-radius:10px;
    color:var(--ink-muted); background:var(--surface); box-shadow:0 2px 8px rgba(18,13,38,.06);
  }
.card-poster .savebtn[data-saved="true"], .savebtn[data-saved="true"]{ color:var(--accent); }
.savebtn{ width:36px; height:36px; }
.card-body{ padding:var(--s4) var(--s2) var(--s2); gap:var(--s2); }
.title{ font-weight:700; font-size:17px; letter-spacing:-0.015em; line-height:1.3; }
.venue{ display:flex; align-items:flex-start; gap:6px; font-size:14px; font-weight:500; line-height:1.4; }
.card .venue::before{
    content:''; flex:none; width:14px; height:14px; margin-top:2px; background:currentColor; opacity:.7;
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5.3 7 13 7 13s7-7.7 7-13a7 7 0 0 0-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E") center/contain no-repeat;
            mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7 7 0 0 0-7 7c0 5.3 7 13 7 13s7-7.7 7-13a7 7 0 0 0-7-7zm0 9.5A2.5 2.5 0 1 1 12 6.5a2.5 2.5 0 0 1 0 5z'/%3E%3C/svg%3E") center/contain no-repeat;
  }
.meta{ font-size:13px; font-weight:600; color:var(--ink-muted); gap:var(--s3); margin-top:var(--s1); }
.meta .time{ color:var(--ink); }
.meta .price, .meta .price.free{
    color:var(--accent-ink); background:var(--surface-2); font-weight:700; font-size:12px; padding:4px 10px; border-radius:8px;
  }
.desc{ line-height:1.55; }
.card-poster .desc{ display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.recorow .card-poster .desc{ display:none; }
.recorow{ margin-inline:-20px; padding:var(--s1) 20px var(--s5); scroll-padding-inline:20px; gap:var(--s4); scroll-snap-type:x mandatory; }
.recorow > *{ scroll-snap-align:start; }
.recorow .card{ min-width:264px; max-width:264px; }
.eventofday{ padding:var(--s2); }
.eodvisual{ border-radius:12px; height:160px; }
.eodbadge{ background:var(--surface); backdrop-filter:none; color:var(--accent); }
.eventofday .savebtn{ top:var(--s3); right:var(--s3); width:36px; height:36px; border-radius:10px; background:var(--surface); color:var(--ink-muted); }
.eod-body{ padding:var(--s4) var(--s2) var(--s2); gap:var(--s2); }
.eod-title{ font-weight:800; font-size:20px; letter-spacing:-0.02em; }
.featured{ color:var(--accent); border-color:color-mix(in srgb, var(--accent) 40%, transparent); }
.topgrid{ grid-template-columns:1fr; gap:var(--s3); }
.topcard{ flex-direction:row; align-items:center; gap:var(--s4); padding:var(--s3); }
.topcard .catbar{ display:none; }
.topthumb{
    flex:none; width:80px; height:80px; border-radius:12px; position:relative; overflow:hidden;
    display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px;
    color:var(--ink-muted); font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; line-height:1;
  }
.topthumb b{ font-size:24px; font-weight:800; color:var(--accent); letter-spacing:0; }
.topcard .card-inner{ padding-left:0; flex:1; min-width:0; display:flex; flex-direction:column; gap:6px; }
.topcard .card-top, .topcard .title, .topcard .meta{ padding-left:0; }
.topcard .title{ font-size:15px; }
.topcard .meta{ font-size:13px; margin-top:0; }
.topcard .savebtn{ top:var(--s2); right:var(--s2); }
@media (max-width:380px){.topgrid{ grid-template-columns:1fr; }
}
.clublist{ gap:var(--s3); }
.clubrow{ padding:var(--s4); gap:var(--s4); }
.clubrow, .calendar, .artistcard, .reminder, .community-intro, .aboutcard, .formcard, .infocard{ border-color:transparent; box-shadow:var(--shadow); }
.clubname{ font-weight:700; }
.artistrow{ gap:var(--s3); padding:var(--s1) 0 var(--s4); }
.artistcard{ padding:var(--s4) var(--s3); gap:var(--s2); }
.artistavatar{ background:var(--surface-2); color:var(--accent); }
.calendar{ padding:var(--s4); }
.calmonth{ font-weight:700; }
.grid{ gap:var(--s4); }
nav.bottomnav{
    background:var(--nav-bg); border-top:0; border-radius:24px 24px 0 0; backdrop-filter:none;
    box-shadow:0 -8px 28px rgba(82,101,255,.16);
  }
nav.bottomnav .navwrap{ padding-top:var(--s3); }
.navbtn{ color:var(--nav-ink); opacity:.8; font-weight:600; min-height:44px; }
.navbtn[data-active="true"]{ color:var(--nav-ink); opacity:1; font-weight:700; }
.navbtn .dotcount{ display:flex; align-items:center; justify-content:center; height:24px; }
.navbtn[data-active="true"] .dotcount{
    width:52px; height:52px; margin-top:-32px; margin-bottom:2px; border-radius:50%;
    background:var(--nav-active-bg); color:var(--nav-active-ink);
    box-shadow:0 0 0 6px var(--bg), 0 8px 18px rgba(82,101,255,.22);
  }
.navbtn .badge{ background:var(--coral); color:#fff; }
:root{ --line-strong:#DCDFE8; --shadow-sm:0 2px 8px rgba(18,13,38,.07); }
:root[data-theme="dark"]{ --line-strong:#3A3858; --shadow-sm:0 2px 8px rgba(0,0,0,.35); }
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){ --line-strong:#3A3858; --shadow-sm:0 2px 8px rgba(0,0,0,.35); }
}
.chip{ background:var(--surface-2); border-color:transparent; color:var(--ink); font-weight:600; }
.chip.city[disabled]{ background:var(--surface-2); opacity:.5; }
.btn{ border-color:var(--line-strong); box-shadow:var(--shadow-sm); min-height:48px; border-radius:14px; font-weight:700; }
.btn.small{ min-height:36px; border-radius:10px; box-shadow:none; background:var(--surface-2); border-color:transparent; }
.btn.primary, .btn.small.primary{ background:var(--accent); border-color:var(--accent); color:var(--accent-contrast); box-shadow:0 6px 16px -6px color-mix(in srgb, var(--accent) 60%, transparent); }
.btn.primary[data-saved="true"]{ background:var(--surface-2); color:var(--accent-ink); border-color:transparent; box-shadow:none; }
.iconbtn{ width:40px; height:40px; border:0; border-radius:12px; background:var(--surface-2); color:var(--accent-ink); }
.search{ background:var(--surface-2); border-color:transparent; border-radius:14px; min-height:48px; }
.search svg{ opacity:.7; }
.field input[type=text], .field input[type=date], .field input[type=time], .field input[type=number], .field select, .field textarea, .chatform input[type=text]{
    background:var(--surface); border:1px solid var(--line-strong); border-radius:12px; min-height:48px; padding:12px 14px;
  }
.field textarea{ min-height:96px; }
.field input:focus, .field select:focus, .field textarea:focus, .chatform input:focus{ outline:none; border-color:var(--accent); box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent); }
.field label{ text-transform:none; letter-spacing:0; font-size:13px; font-weight:600; color:var(--ink); }
.calnav{ border:0; background:var(--surface-2); color:var(--accent-ink); width:36px; height:36px; border-radius:10px; }
.viewtoggle{ background:var(--surface-2); padding:4px; border-radius:14px; gap:4px; }
.viewtoggle button{ border:0; background:transparent; min-height:40px; border-radius:10px; }
.viewtoggle button[data-active="true"]{ background:var(--surface); color:var(--accent-ink); border-color:transparent; box-shadow:var(--shadow-sm); }
.segmented{ background:var(--surface-2); padding:4px; border-radius:14px; gap:4px; }
.segmented button{ border:0; min-height:40px; border-radius:10px; }
.segmented button[data-active="true"]{ background:var(--surface); color:var(--accent-ink); box-shadow:var(--shadow-sm); }
.cardhead-badge, .card-poster .savebtn, .eodbadge, .featured-head{ box-shadow:var(--shadow-sm); }
.community-tag{ border-color:transparent; }
.artistfollowbtn{ border-color:transparent; background:var(--surface-2); min-height:32px; }
.starbtn{ min-width:40px; min-height:40px; }
.starbtn.filled, .stars{ color:#F5A623; }
header.top:not(.home){ border-bottom:0; box-shadow:0 1px 0 var(--line); background:color-mix(in srgb, var(--bg) 92%, transparent); padding-block:var(--s4) var(--s3); }
.simplehead{ min-height:44px; gap:var(--s3); }
.simplehead h1, .simplehead .sh1{ font-size:22px; font-weight:800; letter-spacing:-0.02em; }
.simplehead .sub{ font-size:13px; font-weight:600; }
header.top:not(.home) .searchrow{ margin-top:var(--s3); }
header.top:not(.home) .chiprow{ gap:var(--s2); padding-block:var(--s3) 0; }
.section-label, .desc-block .lbl{
    font-size:18px; font-weight:700; letter-spacing:-0.015em; text-transform:none; color:var(--ink);
    margin:var(--s8) 0 var(--s3);
  }
main > .section-label:first-child{ margin-top:var(--s4); }
#goingSection .section-label:first-child{ margin-top:var(--s8); }
.hero{ background:var(--surface); border:0; box-shadow:var(--shadow); border-radius:20px; padding:var(--s5); }
.hero-event{ padding:var(--s2) var(--s2) var(--s5); }
.hero-visual{
    position:relative; height:190px; border-radius:14px; overflow:hidden; padding:var(--s3); margin-bottom:var(--s4);
    display:flex; align-items:flex-start;
    background:linear-gradient(145deg, color-mix(in srgb, var(--dot) 18%, var(--surface-2)) 0%, var(--surface-2) 70%);
  }
.hero-visual::before, .hero-visual::after{ content:''; position:absolute; border-radius:50%; }
.hero-visual::before{ width:240px; height:240px; right:-80px; top:-100px; background:color-mix(in srgb, var(--dot) 14%, transparent); }
.hero-visual::after{ width:160px; height:160px; left:-50px; bottom:-70px; background:color-mix(in srgb, var(--dot) 10%, transparent); }
.hero-event .htitle, .hero-event .hbadges{ padding-inline:var(--s3); }
.hero .htitle{ font-size:26px; font-weight:800; letter-spacing:-0.025em; line-height:1.2; margin:var(--s1) 0 var(--s2); }
.hero .cat-label{ margin-bottom:var(--s2); }
.hbadges{ gap:var(--s2); }
.hbadges .price{ color:var(--accent-ink); background:var(--surface-2); font-weight:700; font-size:13px; padding:5px 12px; border-radius:8px; }
.hbadges .price.free{ color:var(--accent-ink); }
.infocard{ margin-top:var(--s4); border:0; box-shadow:var(--shadow); border-radius:20px; padding:var(--s2) var(--s4); }
.inforow{ align-items:center; gap:var(--s4); padding:var(--s3) 0; border-bottom:0; }
.infoicon{ flex:none; width:48px; height:48px; border-radius:12px; background:var(--surface-2); color:var(--accent); display:flex; align-items:center; justify-content:center; }
.infoicon svg{ width:22px; height:22px; margin:0; color:var(--accent); }
.inforow .lbl{ text-transform:none; letter-spacing:0; font-size:13px; font-weight:500; margin-bottom:2px; }
.inforow .val{ font-size:15px; font-weight:700; line-height:1.35; }
.inforow .val-sub{ font-size:13px; font-weight:500; color:var(--ink-muted); }
.ticketrow{ margin-top:var(--s5); }
.btn.cta{
    width:100%; min-height:56px; border:0; border-radius:16px; font-size:15px; letter-spacing:.02em;
    background:#D63B45; color:#fff; box-shadow:0 10px 24px -10px rgba(214,59,69,.7);
  }
.ticketrow .btn.primary{ width:100%; min-height:56px; border-radius:16px; }
.ticket-hint, .follow-hint{ font-size:13px; margin-top:var(--s2); line-height:1.5; }
.desc-block{ margin-top:0; font-size:15px; line-height:1.65; color:var(--ink-muted); }
.detail-actions{ gap:var(--s3); margin-top:var(--s5); }
.toast{ margin-top:var(--s2); }
.chatmsg{ border-radius:16px; padding:10px 14px; font-size:14px; }
.chatmsg:not(.mine){ background:var(--surface-2); }
.chatform{ border-top-color:var(--line); padding-top:var(--s3); }
.chatsend{ width:48px; height:48px; border-radius:12px; }
.chat-empty, .chat-unavail, .going-empty{ font-size:14px; line-height:1.5; }
.chat-unavail .btn, .going-empty .btn{ margin-inline:auto; }
.profilehead{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:var(--s1); padding:var(--s5) 0 var(--s2); }
.profilename{ font-size:22px; font-weight:800; letter-spacing:-0.02em; }
.profilesub{ font-size:14px; font-weight:500; color:var(--ink-muted); }
.stats{ gap:0; background:var(--surface); border-radius:20px; box-shadow:var(--shadow); padding:var(--s4) 0; }
.stat{ background:transparent; border:0; border-radius:0; padding:var(--s1) var(--s2); }
.stat + .stat{ border-left:1px solid var(--line); }
.stat .lbl{ font-size:13px; font-weight:500; margin-top:var(--s1); }
.aboutcard{ border:0; border-radius:20px; padding:var(--s4); font-size:14px; line-height:1.6; }
.linkrow{ min-height:48px; padding:var(--s2) 0; border-bottom-color:var(--line); font-weight:500; }
.textbtn, .linkrow button.textbtn{ color:var(--accent-ink); font-size:14px; min-height:36px; }
.community-intro{ border:0; border-radius:16px; padding:var(--s4); font-size:14px; background:var(--surface-2); color:var(--ink); box-shadow:none; }
.formcard{ border:0; border-radius:20px; padding:var(--s5); gap:var(--s4); }
.submitter{ font-size:13px; }
.card:not(.card-poster):not(.eventofday):not(.topcard){ padding:var(--s4) var(--s4) var(--s4) var(--s2); gap:var(--s2); }
.card .catbar{ width:4px; top:var(--s4); bottom:var(--s4); left:var(--s2); opacity:.8; }
.card-inner{ padding-left:var(--s4); }
.clubinfo .clubstars{ font-size:13px; }
.artistavatar{ width:48px; height:48px; font-size:18px; font-weight:800; }
.clubrow .btn.small{ flex:none; }
.ob-body{ gap:var(--s4); }
.ob-body h1{ font-size:30px; font-weight:800; letter-spacing:-0.025em; line-height:1.15; }
.ob-body p{ font-size:15px; line-height:1.6; }
.ob-list{ gap:var(--s2); }
.ob-actions{ gap:var(--s3); }
.ob-actions .btn{ min-height:56px; border-radius:16px; font-size:15px; }
.ob-skip{ min-height:40px; }
.empty{ padding:var(--s10) var(--s4); font-size:15px; line-height:1.55; }
.empty strong{ font-size:20px; font-weight:800; letter-spacing:-0.02em; margin-bottom:var(--s2); }
.empty .btn{ margin-top:var(--s5); padding-inline:var(--s6); }
.field .search input[type=text]{ border:0; background:transparent; min-height:0; padding:0; border-radius:0; box-shadow:none; }
.chip.cat[data-active="true"] .dot{ box-shadow:0 0 0 2px #fff; }
.mapcard{ border:0; }
.has-img{ background-color:var(--surface-2); background-size:cover; background-position:center; background-repeat:no-repeat; }
.card-head.has-img::before, .card-head.has-img::after, .eodvisual.has-img::before, .eodvisual.has-img::after, .hero-visual.has-img::before, .hero-visual.has-img::after{ display:none; }
.card-head.has-img, .eodvisual.has-img{ height:150px; }
.hero-visual.has-img{ height:220px; }
.topthumb.has-img{ font-size:0; }
.topthumb.has-img b{ display:none; }
.artistavatar.has-img{ font-size:0; color:transparent; }
.artistcard{ min-width:132px; max-width:132px; padding:var(--s4) var(--s3) var(--s3); }
.artistcard .artistavatar{ width:76px; height:76px; font-size:28px; margin-bottom:var(--s1); }
.artistcard .artistavatar.has-img{ box-shadow:0 0 0 3px var(--surface), 0 0 0 4px color-mix(in srgb, var(--dot) 55%, transparent); }
.artistcard .artistname{ font-size:13px; font-weight:700; }
.artistcard .artistgenre{ font-size:12px; font-weight:500; }
.artistfollowbtn{ min-height:34px; font-size:12px; border-radius:10px; margin-top:var(--s1); }
.clubrow .artistavatar{ width:52px; height:52px; }
.clubrow .venueavatar{ border-radius:12px; width:56px; height:56px; }
.venueavatar.has-img{ font-size:0; box-shadow:none; }
.eod-body .desc{ display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.imgcredit{ font-size:12px; color:var(--ink-muted); margin:calc(-1 * var(--s3)) var(--s3) var(--s3); }
.hero-visual.artist-visual{ height:280px; background-position:center 22%; }
.artistcard, .clubrow[data-artist]{ cursor:pointer; }
.performers{ display:flex; flex-wrap:wrap; gap:var(--s2); }
.performer{
    display:inline-flex; align-items:center; gap:var(--s2); padding:6px 14px 6px 6px; border-radius:999px; border:0;
    background:var(--surface); box-shadow:var(--shadow-sm); color:var(--ink); font:inherit; font-size:14px; font-weight:700; cursor:pointer;
  }
.performer .artistavatar{ width:36px; height:36px; font-size:14px; }
.chip{ gap:6px; }
.chip svg{ width:15px; height:15px; flex:none; }
.chip .chipx{ font-size:12px; opacity:.8; margin-left:2px; }
.datechip{ position:relative; }
.datechip select{ position:absolute; inset:0; width:100%; height:100%; opacity:0; cursor:pointer; font-size:16px; }
.resultsbar{ display:flex; align-items:center; justify-content:space-between; gap:var(--s3); margin:var(--s5) 0 0; font-size:14px; color:var(--ink-muted); }
.resultsbar strong{ color:var(--ink); font-size:16px; }
.mood{
    flex:none; width:118px; display:flex; flex-direction:column; align-items:flex-start; gap:2px; text-align:left;
    background:var(--surface); border:0; border-radius:16px; padding:14px 14px 12px; box-shadow:var(--shadow-sm);
    font:inherit; color:var(--ink); cursor:pointer;
  }
.mood:active{ transform:scale(.97); }
.top10row{ display:flex; gap:var(--s4); overflow-x:auto; padding:2px 2px 10px; margin:0 -2px; scrollbar-width:none; scroll-snap-type:x mandatory; }
.top10row::-webkit-scrollbar{ display:none; }
.card.top10{ flex:none; width:156px; padding:0; gap:0; border:0; background:none; box-shadow:none; border-radius:0; scroll-snap-align:start; }
.top10poster{
    position:relative; height:208px; border-radius:16px; box-shadow:var(--shadow);
    background:linear-gradient(160deg, var(--dot), color-mix(in srgb, var(--dot) 55%, #120D26));
  }
.top10poster.has-img{ background-size:cover; background-position:center; }
.top10poster::after{ content:""; position:absolute; inset:0; border-radius:16px; background:linear-gradient(180deg, transparent 55%, rgba(18,13,38,.55)); }
.top10rank{
    position:absolute; left:10px; bottom:2px; z-index:1; font-size:56px; font-weight:800; line-height:1; letter-spacing:-.04em;
    color:#fff; text-shadow:0 2px 12px rgba(0,0,0,.35);
  }
.top10title{ margin-top:var(--s3); font-size:14px; font-weight:700; line-height:1.3; color:var(--ink);
    display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.top10meta{ margin-top:2px; font-size:12px; color:var(--ink-muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.accountcard{ background:var(--surface); border-radius:18px; box-shadow:var(--shadow); padding:var(--s5); margin-top:var(--s6); }
.accountcard .acc-title{ display:block; font-size:17px; font-weight:800; color:var(--ink); }
.accountcard .acc-note{ display:block; margin:4px 0 var(--s4); font-size:13px; line-height:1.5; color:var(--ink-muted); }
.accountcard.signedin{ display:flex; align-items:center; gap:var(--s4); }
.accountcard.signedin > div{ flex:1; min-width:0; }
.accountcard.signedin strong{ display:block; font-size:15px; overflow:hidden; text-overflow:ellipsis; }
.accountcard.signedin .acc-note{ margin:2px 0 0; }
.acc-label{ font-size:12px; color:var(--ink-muted); font-weight:600; }
.acc-social{ display:flex; flex-direction:column; gap:var(--s2); }
.acc-provider{ width:100%; justify-content:center; }
.acc-or{ display:flex; align-items:center; gap:var(--s3); margin:var(--s4) 0; font-size:12px; color:var(--ink-muted); }
.acc-or::before, .acc-or::after{ content:""; flex:1; height:1px; background:var(--line-strong); }
.acc-tabs{ margin-bottom:var(--s3); }
.acc-form .field{ margin-bottom:var(--s2); }
.field input[type=email], .field input[type=password]{
    font:inherit; font-size:16px; width:100%; color:var(--ink); background:var(--surface); border:1px solid var(--line-strong);
    border-radius:12px; min-height:48px; padding:12px 14px;
  }
.field input[type=email]:focus, .field input[type=password]:focus{ outline:none; border-color:var(--accent); box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent); }
.acc-submit{ width:100%; justify-content:center; margin-top:var(--s2); }
.acc-msg{ font-size:13px; font-weight:600; margin-top:var(--s2); }
.acc-msg.err{ color:#B42318; }
.acc-msg.ok{ color:#027A48; }
.nudge{
    position:fixed; left:50%; bottom:calc(150px + env(safe-area-inset-bottom)); transform:translateX(-50%); z-index:50;
    width:min(calc(100% - 32px), 460px); display:flex; align-items:center; gap:var(--s3); padding:var(--s4) var(--s5);
    background:var(--ink); color:#fff; border-radius:16px; box-shadow:0 12px 32px -8px rgba(18,13,38,.45); font-size:13px; line-height:1.45;
    animation:toastin .25s ease-out;
  }
.nudge span{ flex:1; }
.nudge .textbtn{ color:#AEB7FF; font-size:14px; }
@keyframes toastin{ from{ opacity:0; transform:translate(-50%, 12px); } to{ opacity:1; transform:translate(-50%, 0); } }
.cityline{ display:flex; align-items:center; gap:var(--s2); }
.home .brand{ white-space:nowrap; font-size:clamp(21px, 6.2vw, 26px); }
.home .cityselect{ max-width:76px; text-overflow:ellipsis; }
.simplehead .menubtn{ margin-left:auto; }
.menubtn svg{ display:block; margin:auto; }
.home .menubtn{ background:rgba(255,255,255,.16); color:#fff; }
.menuwrap{ position:fixed; inset:0; z-index:60; }
.menubackdrop{ position:absolute; inset:0; background:rgba(18,13,38,.28); animation:menufade .15s ease-out; }
.menusheet{
    position:absolute; top:calc(12px + env(safe-area-inset-top)); right:12px; width:min(300px, calc(100% - 24px));
    background:var(--surface); border-radius:18px; box-shadow:0 18px 48px -12px rgba(18,13,38,.45); padding:8px;
    animation:menuin .18s ease-out;
  }
.menuitem{
    display:flex; flex-direction:column; align-items:flex-start; gap:1px; width:100%; text-align:left; border:0; background:none;
    padding:12px 14px; border-radius:12px; font:inherit; font-size:15px; font-weight:700; color:var(--ink); cursor:pointer; text-decoration:none;
  }
.menuitem:hover, .menuitem:focus-visible{ background:var(--surface-2); outline:none; }
.menuitem small{ font-size:12px; font-weight:500; color:var(--ink-muted); }
.menuorg span{ color:var(--accent-ink); }
@keyframes menuin{ from{ opacity:0; transform:translateY(-6px) scale(.98); } to{ opacity:1; transform:none; } }
@keyframes menufade{ from{ opacity:0; } to{ opacity:1; } }
.skel{ background:linear-gradient(90deg, var(--line) 25%, color-mix(in srgb, var(--line) 40%, var(--surface)) 50%, var(--line) 75%); background-size:200% 100%; border-radius:10px; animation:skel 1.3s ease-in-out infinite; }
.skel-head{ padding-bottom:var(--s6); }
@keyframes skel{ from{ background-position:200% 0; } to{ background-position:-200% 0; } }
.poster-fit.has-img{ position:relative; overflow:hidden; isolation:isolate; }
.poster-fit.has-img::before, .poster-fit.has-img::after{
    display:block !important; content:""; position:absolute; background-image:inherit; background-repeat:no-repeat; border-radius:0;
    width:auto; height:auto; left:auto; right:auto; top:auto; bottom:auto;
  }
.poster-fit.has-img::before{ inset:-40px; background-size:cover; background-position:center; filter:blur(28px) saturate(1.3) brightness(.85); z-index:-2; }
.poster-fit.has-img::after{ inset:0; background-size:contain; background-position:center; z-index:-1; }
.hero-visual.poster-fit.has-img{ height:auto; aspect-ratio:4/5; max-height:460px; }
.spotlight{ margin-top:var(--s6); }
.spot-track{ display:flex; gap:12px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; margin:0 -16px; padding:0 16px 4px; scroll-padding:0 16px; }
.spot-track::-webkit-scrollbar{ display:none; }
.card.spot{
    flex:0 0 88%; height:clamp(340px, 108vw, 460px); padding:0; gap:0; border:0; border-radius:24px; overflow:hidden; scroll-snap-align:start;
    background:#120D26; box-shadow:0 18px 40px -18px rgba(18,13,38,.55); position:relative;
  }
.spot-visual, .spot-visual.poster-fit.has-img{ position:absolute; inset:0; }
.spot-body{
    position:absolute; left:0; right:0; bottom:0; padding:64px 20px 20px; color:#fff;
    background:linear-gradient(180deg, transparent, rgba(18,13,38,.72) 45%, rgba(18,13,38,.92));
  }
.spot-kicker{ display:inline-block; font-size:12px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; background:var(--accent); padding:5px 10px; border-radius:999px; }
.spot-title{ font-size:22px; font-weight:800; line-height:1.2; letter-spacing:-.02em; margin-top:10px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.spot-venue{ display:flex; align-items:center; gap:6px; margin-top:6px; font-size:14px; font-weight:600; color:rgba(255,255,255,.82); }
.spot-venue svg{ width:15px; height:15px; flex:none; }
.spot-dots{ display:flex; justify-content:center; gap:6px; margin-top:12px; }
.spot-dots span{ width:6px; height:6px; border-radius:999px; background:var(--line-strong); transition:width .25s, background .25s; }
.spot-dots span[data-active="true"]{ width:20px; background:var(--accent); }
#screenRoot.enter{ animation:screenin .28s cubic-bezier(.2,.7,.2,1); }
@keyframes screenin{ from{ opacity:0; transform:translateY(10px); } to{ opacity:1; transform:none; } }
.card, .mood, .btn, .chip, .menuitem{ transition:transform .15s ease, box-shadow .2s ease, background-color .2s ease; }
.card:active, .mood:active, .btn:active{ transform:scale(.975); }
.savebtn.pop svg{ animation:pop .45s cubic-bezier(.3,1.6,.5,1); }
@keyframes pop{ 0%{ transform:scale(1); } 40%{ transform:scale(1.35); } 100%{ transform:scale(1); } }
@media (prefers-reduced-motion: reduce){#screenRoot.enter, .savebtn.pop svg, .skel{ animation:none; }
.card, .mood, .btn, .chip{ transition:none; }
}
.buybar{
    position:fixed; left:50%; bottom:calc(92px + env(safe-area-inset-bottom)); z-index:40; width:min(calc(100% - 24px), 616px);
    display:flex; align-items:center; gap:var(--s4); padding:10px 10px 10px 18px; border-radius:20px;
    background:color-mix(in srgb, var(--surface) 92%, transparent); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
    box-shadow:0 14px 36px -10px rgba(18,13,38,.35); border:1px solid var(--line);
    transform:translate(-50%, 140%); opacity:0; transition:transform .3s cubic-bezier(.2,.8,.2,1), opacity .2s; pointer-events:none;
  }
.buybar.show{ transform:translate(-50%, 0); opacity:1; pointer-events:auto; }
.buybar-info{ flex:1; min-width:0; display:flex; flex-direction:column; }
.buybar-info strong{ font-size:17px; font-weight:800; color:var(--ink); }
.buybar-info span{ font-size:12px; color:var(--ink-muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.buybar-info span::first-letter{ text-transform:uppercase; }
.buybar .btn, .buybar .btn.cta{ flex:none; width:auto; min-height:48px; padding:0 22px; border-radius:14px; }
.buybar-info strong{ white-space:nowrap; }
body.has-buybar #screenRoot{ padding-bottom:180px; }
.card-poster .desc{ display:none; }
.card-head.has-img{ height:172px; }
.card-poster .title{ font-size:17px; font-weight:800; letter-spacing:-.015em; line-height:1.25; }
.card-poster .venue, .performersline{ display:flex; align-items:center; gap:6px; font-size:13px; color:var(--ink-muted); min-width:0; }
.card-poster .venue svg, .performersline svg{ width:14px; height:14px; flex:none; opacity:.7; }
.card-poster .venue span, .performersline span{ white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.performersline{ color:var(--accent-ink); font-weight:600; }
:root{
    --bg:#F5F6FA; --surface:#FFFFFF; --surface-2:#EEF2FF;
    --ink:#17153A; --ink-muted:#676B85; --line:#E7E8F0; --line-strong:#D9DBE7;
    --accent:#4F46E5; --accent-ink:#4338CA; --accent-contrast:#FFFFFF;
    --highlight:#F59E0B; --highlight-ink:#3B2500; --highlight-soft:#FEF3C7;
    --live:#EF4444;
    --hero-bg:linear-gradient(150deg, var(--accent) 0%, #4F46E5 45%, #3F37C9 100%); --hero-ink:#FFFFFF;
    --nav-bg:#4F46E5; --nav-ink:#FFFFFF; --nav-active-bg:#E0E7FF; --nav-active-ink:#4338CA;
    --cat-theater:#7C3AED; --cat-nightlife:#DB2777; --cat-culture:#D97706;
    --cat-comedy:#0D9488; --cat-concerts:#EA580C; --cat-festivals:#C026D3; --cat-sport:#1D4ED8; --cat-food:#4D7C0F;
    --shadow:0 1px 3px rgba(23,21,58,.06), 0 12px 30px -10px rgba(79,70,229,.20);
    --shadow-sm:0 1px 2px rgba(23,21,58,.05), 0 6px 16px -8px rgba(79,70,229,.18);
    --shadow-accent:0 12px 26px -10px rgba(79,70,229,.55);
    --map-sea-1:#E0E7FF; --map-sea-2:#C7D2FE; --map-wave:#818CF8;
  }
:root[data-theme="dark"]{
    --bg:#110F24; --surface:#1B1936; --surface-2:#262350;
    --ink:#EEEDFB; --ink-muted:#9A97B8; --line:#2E2B52; --line-strong:#3B3866;
    --accent:#818CF8; --accent-ink:#A5B4FC; --accent-contrast:#110F24;
    --highlight:#FBBF24; --highlight-ink:#2B1B00; --highlight-soft:color-mix(in srgb, #FBBF24 16%, transparent);
    --live:#F87171;
    --hero-bg:linear-gradient(150deg, #3730A3 0%, #2E2A7A 50%, #1B1936 100%);
    --nav-bg:#1B1936; --nav-ink:#B9B7D6; --nav-active-bg:#818CF8; --nav-active-ink:#110F24;
    --cat-theater:#A78BFA; --cat-nightlife:#F472B6; --cat-culture:#FBBF24;
    --cat-comedy:#2DD4BF; --cat-concerts:#FB923C; --cat-festivals:#E879F9; --cat-sport:#60A5FA; --cat-food:#84CC16;
    --shadow:0 1px 2px rgba(0,0,0,.45), 0 18px 36px -18px rgba(0,0,0,.6);
    --shadow-sm:0 2px 8px rgba(0,0,0,.35);
    --shadow-accent:0 12px 26px -12px rgba(129,140,248,.5);
    --map-sea-1:#1F1D40; --map-sea-2:#17152F; --map-wave:#4F4A8F;
  }
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
    --bg:#110F24; --surface:#1B1936; --surface-2:#262350;
    --ink:#EEEDFB; --ink-muted:#9A97B8; --line:#2E2B52; --line-strong:#3B3866;
    --accent:#818CF8; --accent-ink:#A5B4FC; --accent-contrast:#110F24;
    --highlight:#FBBF24; --highlight-ink:#2B1B00; --highlight-soft:color-mix(in srgb, #FBBF24 16%, transparent);
    --live:#F87171;
    --hero-bg:linear-gradient(150deg, #3730A3 0%, #2E2A7A 50%, #1B1936 100%);
    --nav-bg:#1B1936; --nav-ink:#B9B7D6; --nav-active-bg:#818CF8; --nav-active-ink:#110F24;
    --cat-theater:#A78BFA; --cat-nightlife:#F472B6; --cat-culture:#FBBF24;
    --cat-comedy:#2DD4BF; --cat-concerts:#FB923C; --cat-festivals:#E879F9; --cat-sport:#60A5FA;
    --shadow:0 1px 2px rgba(0,0,0,.45), 0 18px 36px -18px rgba(0,0,0,.6);
    --shadow-sm:0 2px 8px rgba(0,0,0,.35);
    --shadow-accent:0 12px 26px -12px rgba(129,140,248,.5);
    --map-sea-1:#1F1D40; --map-sea-2:#17152F; --map-wave:#4F4A8F;
  }
}
.home .brand em{ color:#C7D2FE; }
.home .chip[data-active="true"], .home .chip.cat[data-active="true"]{ color:var(--accent-ink); }
nav.bottomnav{ box-shadow:0 -8px 28px rgba(79,70,229,.18); }
.navbtn[data-active="true"] .dotcount{ box-shadow:0 0 0 6px var(--bg), 0 8px 18px rgba(79,70,229,.28); }
.btn.cta, .btn.primary{ background:linear-gradient(135deg, var(--accent), var(--accent)); border-color:transparent; color:#fff; box-shadow:var(--shadow-accent); }
:root[data-theme="dark"] .btn.cta, :root[data-theme="dark"] .btn.primary{ background:var(--accent); color:var(--accent-contrast); }
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .btn.cta, :root:not([data-theme="light"]) .btn.primary{ background:var(--accent); color:var(--accent-contrast); }
}
.chip[data-active="true"]{ box-shadow:0 6px 14px -6px rgba(79,70,229,.55); }
.spot-kicker{ background:var(--highlight); color:var(--highlight-ink); }
.spot-kicker.live{ background:#fff; color:#B91C1C; }
.livedot{ display:inline-block; width:8px; height:8px; border-radius:50%; background:var(--live); margin-right:6px; vertical-align:1px; box-shadow:0 0 0 0 rgba(239,68,68,.6); animation:livepulse 1.6s ease-out 4; }
@keyframes livepulse{ 0%{ box-shadow:0 0 0 0 rgba(239,68,68,.55); } 70%{ box-shadow:0 0 0 8px rgba(239,68,68,0); } 100%{ box-shadow:0 0 0 0 rgba(239,68,68,0); } }
.timechip{ position:absolute; right:var(--s3); bottom:var(--s3); z-index:2; font-size:12px; font-weight:800; letter-spacing:.02em; padding:4px 9px; border-radius:999px; background:var(--highlight); color:var(--highlight-ink); box-shadow:var(--shadow-sm); }
.timechip.live{ background:#fff; color:#B91C1C; }
.top10rank{ text-shadow:0 2px 14px rgba(30,27,75,.55); }
.mood{ box-shadow:var(--shadow-sm); }
.mood:hover{ box-shadow:var(--shadow); }
.spot-dots span[data-active="true"]{ background:var(--accent); }
@media (prefers-reduced-motion: reduce){.livedot{ animation:none; }
}
#saveBtn[data-saved="false"]{ background:var(--surface-2); color:var(--accent-ink); box-shadow:none; }
.spotlight{ position:relative; }
.spot-track{ gap:16px; padding:6px 16px 22px; margin:0 -16px -16px; scroll-padding:0 16px; }
.card.spot{
    width:100%; height:auto; aspect-ratio:4/5; border-radius:22px;
    box-shadow:0 1px 3px rgba(23,21,58,.08), 0 16px 32px -14px rgba(30,27,75,.45);
  }
.card.spot:active{ transform:scale(.985); }
.spot-body{ padding:72px 18px 18px; background:linear-gradient(180deg, transparent 0%, rgba(17,15,36,.55) 38%, rgba(17,15,36,.92) 100%); }
.spot-title{ font-size:20px; }
.spot-arrow{ display:none; }
@media (min-width:700px){.spot-track{ margin:0 -8px -16px; padding:6px 8px 22px; scroll-padding:0 8px;
      -webkit-mask-image:linear-gradient(90deg, #000 0, #000 calc(100% - 48px), transparent); mask-image:linear-gradient(90deg, #000 0, #000 calc(100% - 48px), transparent); }
.spotwrap{ flex-basis:300px; }
.spot-arrow{
      display:grid; place-items:center; position:absolute; top:calc(50% - 30px); z-index:3; width:44px; height:44px; border-radius:50%; border:0;
      background:var(--surface); color:var(--ink); font-size:26px; line-height:1; cursor:pointer; box-shadow:var(--shadow); padding-bottom:3px;
      transition:transform .15s ease, opacity .2s;
    }
.spot-arrow:hover{ transform:scale(1.06); }
.spot-arrow.prev{ left:-14px; }
.spot-arrow.next{ right:-14px; }
}
.spot-arrow.off{ opacity:0; pointer-events:none; }
.clubkinds{ padding-block:0 var(--s3); }
.clubrow-cards{ display:flex; gap:var(--s4); overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; margin:0 -16px; padding:4px 16px 18px; scroll-padding:0 16px; }
.clubrow-cards::-webkit-scrollbar{ display:none; }
.clubcard{ flex:0 0 min(76%, 280px); scroll-snap-align:start; background:var(--surface); border-radius:20px; overflow:hidden; box-shadow:var(--shadow); cursor:pointer; display:flex; flex-direction:column; transition:transform .15s ease; }
.clubcard:active{ transform:scale(.98); }
.clubcard-photo{ position:relative; height:164px; background:linear-gradient(150deg, var(--accent), var(--accent-ink)); background-size:cover; background-position:center; }
.clubcard-photo::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(17,15,36,.35) 0%, transparent 35%, transparent 60%, rgba(17,15,36,.45) 100%); }
.clubcard-initial{ position:absolute; inset:0; display:grid; place-items:center; font-size:56px; font-weight:800; color:rgba(255,255,255,.85); }
.clubcard-kind{ position:absolute; left:12px; top:12px; z-index:1; font-size:12px; font-weight:800; letter-spacing:.03em; text-transform:uppercase; padding:5px 10px; border-radius:999px; background:rgba(255,255,255,.92); color:var(--accent-ink); }
.clubcard-follow{ position:absolute; right:10px; top:10px; z-index:1; width:38px; height:38px; border-radius:50%; border:0; display:grid; place-items:center; cursor:pointer;
    background:rgba(17,15,36,.45); color:#fff; backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); transition:transform .15s ease, background .2s; }
.clubcard-follow svg{ width:18px; height:18px; }
.clubcard-follow[data-on="true"]{ background:var(--accent); box-shadow:var(--shadow-accent); }
.clubcard-follow:active{ transform:scale(.9); }
.clubcard-count{ position:absolute; left:12px; bottom:10px; z-index:1; font-size:12px; font-weight:700; color:#fff; }
.clubcard-body{ padding:var(--s4) var(--s4) var(--s4); display:flex; flex-direction:column; gap:6px; flex:1; }
.clubcard-name{ font-size:17px; font-weight:800; letter-spacing:-.015em; line-height:1.25; }
.clubcard-addr{ display:flex; align-items:center; gap:6px; font-size:13px; color:var(--ink-muted); min-width:0; }
.clubcard-addr svg{ width:13px; height:13px; flex:none; opacity:.7; }
.clubcard-addr span{ white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.clubcard-next{ margin-top:auto; display:flex; flex-direction:column; gap:1px; padding:10px 12px; border-radius:12px; background:var(--surface-2); }
.clubcard-when{ font-size:12px; font-weight:800; letter-spacing:.03em; text-transform:uppercase; color:var(--accent-ink); }
.clubcard-what{ font-size:14px; font-weight:700; color:var(--ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.clubcard-next.quiet{ background:transparent; padding:6px 0 0; }
.clubcard-next.quiet .clubcard-what{ font-weight:500; color:var(--ink-muted); white-space:normal; font-size:13px; }
.clubcard-rating{ font-size:12px; }
@media (min-width:700px){.clubrow-cards{ margin:0 -8px; padding:4px 8px 18px; -webkit-mask-image:linear-gradient(90deg, #000 0, #000 calc(100% - 48px), transparent); mask-image:linear-gradient(90deg, #000 0, #000 calc(100% - 48px), transparent); }
.clubcard{ flex-basis:260px; }
}
.clubsub{ font-size:13px; color:var(--ink-muted); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.clubnext{ color:var(--accent-ink); font-weight:700; }
.calpanel{ background:var(--surface); border-radius:22px; box-shadow:var(--shadow); padding:var(--s4) var(--s4) 0; overflow:hidden; }
.calpanel .calhead{ margin-bottom:var(--s3); }
.calpanel .calmonth{ font-size:16px; font-weight:800; }
.calpanel .calnav[disabled]{ opacity:.35; cursor:default; }
.calweekdays{ display:grid; grid-template-columns:repeat(7,1fr); text-align:center; font-size:12px; font-weight:700; color:var(--ink-muted); margin-bottom:4px; }
.calpanel .calgrid{ gap:4px; }
.calpanel .calcell{ border-radius:12px; font-size:14px; font-weight:600; gap:3px; transition:background .15s, transform .12s; }
.calpanel .calcell:hover{ background:var(--surface-2); }
.calpanel .calcell:active{ transform:scale(.94); }
.calpanel .calcell.past{ color:var(--ink-muted); }
.calpanel .calcell.today .calnum{ text-decoration:none; color:var(--accent-ink); font-weight:800; }
.calpanel .calcell.today{ box-shadow:inset 0 0 0 1.5px var(--accent); }
.calpanel .calcell.selected{ background:var(--accent); color:#fff; box-shadow:var(--shadow-accent); }
.calpanel .calcell.selected .calnum{ color:#fff; }
.caldots{ display:flex; gap:2px; height:4px; }
.caldots i{ width:4px; height:4px; border-radius:50%; background:var(--highlight); }
.calcell.selected .caldots i{ background:#fff; }
.calday{ position:relative; margin:var(--s4) calc(-1 * var(--s4)) 0; padding:var(--s4) var(--s4) var(--s3); background:var(--surface-2); border-top:1px solid var(--line); }
.calday::before{ content:""; position:absolute; top:-8px; left:calc(var(--s4) + (100% - 2 * var(--s4)) * (var(--col, 3) + .5) / 7); transition:left .25s ease; width:14px; height:14px; background:var(--surface-2); border-left:1px solid var(--line); border-top:1px solid var(--line); transform:translateX(-50%) rotate(45deg); }
.calday.swap{ animation:calswap .25s ease-out; }
@keyframes calswap{ from{ opacity:.2; transform:translateY(6px); } to{ opacity:1; transform:none; } }
.calday-head{ display:flex; align-items:baseline; justify-content:space-between; gap:var(--s3); margin-bottom:var(--s2); }
.calday-date{ font-size:15px; font-weight:800; }
.calday-date::first-letter{ text-transform:uppercase; }
.calday-count{ font-size:12px; font-weight:700; color:var(--accent-ink); white-space:nowrap; }
.calevent{ display:flex; align-items:center; gap:var(--s3); width:100%; border:0; background:var(--surface); border-radius:14px; padding:8px 10px 8px 12px; margin-top:var(--s2);
    font:inherit; color:var(--ink); text-align:left; cursor:pointer; box-shadow:var(--shadow-sm); transition:transform .12s; }
.calevent:active{ transform:scale(.98); }
.calevent-time{ flex:none; width:40px; font-size:13px; font-weight:800; color:var(--accent-ink); font-variant-numeric:tabular-nums; }
.calevent-thumb{ flex:none; width:44px; height:44px; border-radius:10px; background-color:color-mix(in srgb, var(--dot) 18%, var(--surface)); background-size:cover; background-position:center; }
.calevent-text{ flex:1; min-width:0; display:flex; flex-direction:column; }
.calevent-title{ font-size:14px; font-weight:700; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.calevent-venue{ font-size:12px; color:var(--ink-muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.calevent-go{ flex:none; font-size:22px; color:var(--ink-muted); line-height:1; }
.calempty{ font-size:13px; color:var(--ink-muted); padding:var(--s3) 0 var(--s2); }
.calday-all{ display:block; width:100%; margin:var(--s3) 0 var(--s1); padding:var(--s3); border:0; border-radius:12px; background:transparent; font:inherit; font-size:14px; font-weight:800; color:var(--accent-ink); cursor:pointer; }
.calday-all:hover{ background:color-mix(in srgb, var(--accent) 8%, transparent); }
.calday[data-nonotch]::before{ display:none; }
.calpanel .calcell.past:not(.selected) .calnum, .calpanel .calcell.past:not(.selected) .caldots{ opacity:.38; }
.title, .eod-title, .spot-title, .top10title, .calevent-title, .clubcard-what, .htitle, .clubname{ text-wrap:balance; overflow-wrap:anywhere; hyphens:auto; }
.calevent-title{ white-space:normal; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; font-size:14px; line-height:1.3; }
.calevent{ align-items:center; padding-block:10px; }
.calevent-venue{ margin-top:2px; }
.clubcard-what{ white-space:normal; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; line-height:1.3; }
.card.top10{ width:172px; }
.top10title{ -webkit-line-clamp:3; font-size:14px; line-height:1.3; letter-spacing:-.005em; }
.spot-title{ -webkit-line-clamp:3; font-size:clamp(18px, 5.2vw, 22px); line-height:1.18; }
.topcard .title{ -webkit-line-clamp:3; }
.card-poster .title{ font-size:17px; line-height:1.28; }
.spot-title.long{ font-size:clamp(17px, 4.6vw, 20px); }
.spot-title.xlong{ font-size:clamp(15px, 4.1vw, 17px); -webkit-line-clamp:4; }
.top10title.long{ font-size:13px; }
.top10title.xlong{ font-size:12px; -webkit-line-clamp:4; }
.calevent-title.long{ font-size:13px; }
.calevent-title.xlong{ font-size:13px; -webkit-line-clamp:3; }
.calevent-title, .calevent-title.long, .calevent-title.xlong{ -webkit-line-clamp:3; }
.top10title.xlong{ -webkit-line-clamp:5; }
.calevent-time{ width:36px; font-size:13px; }
.calevent{ gap:10px; }
.community-intro strong{ display:block; font-size:16px; font-weight:800; color:var(--ink); margin-bottom:4px; }
.community-intro{ color:var(--ink-muted); line-height:1.5; }
.day-head .textbtn{ font-size:14px; }
.simplehead .sub{ padding:3px 10px; border-radius:999px; background:var(--surface-2); color:var(--accent-ink); font-size:12px; font-weight:700; }
.homefooter{ margin:var(--s10) 0 var(--s6); padding:var(--s6) 0 0; border-top:1px solid var(--line); display:flex; flex-direction:column; align-items:center; gap:var(--s4); text-align:center; }
.homefooter .btn{ width:100%; max-width:360px; }
.homefooter-links{ display:flex; gap:var(--s2); flex-wrap:wrap; justify-content:center; font-size:13px; color:var(--ink-muted); }
.homefooter-links a{ color:var(--accent-ink); font-weight:700; text-decoration:none; }
.homefooter-brand{ font-size:12px; font-weight:700; color:var(--ink-muted); letter-spacing:.02em; }
.brand{ display:flex; align-items:center; gap:10px; }
.brandmark{ flex:none; width:34px; height:34px; border-radius:10px; box-shadow:0 6px 14px -8px rgba(10,6,40,.6), 0 0 0 1.5px rgba(255,255,255,.22); }
.homefooter-brand{ display:inline-flex; align-items:center; gap:8px; }
.homefooter-brand img{ border-radius:6px; }
.menubrand{ display:flex; align-items:center; gap:12px; padding:6px 6px 14px; margin-bottom:6px; border-bottom:1px solid var(--line); }
.menubrand img, .ob-brand img{ border-radius:12px; flex:none; }
.menubrand strong{ display:block; font-size:18px; font-weight:800; letter-spacing:-.02em; }
.menubrand strong em, .ob-brand em, .homefooter-brand em{ font-style:normal; color:var(--accent); }
.menubrand small{ display:block; font-size:13px; color:var(--ink-muted); }
.ob-brand{ display:flex; align-items:center; gap:10px; font-size:24px; font-weight:800; letter-spacing:-.02em; margin-bottom:6px; }
.homefooter-brand em{ font-style:normal; color:var(--accent); }
.simplehead .sub:empty{ display:none; }
.venuefacts{ display:flex; flex-direction:column; gap:6px; padding:0 var(--s3); margin-top:var(--s1); }
.venuefact{ display:flex; align-items:center; gap:8px; font-size:14px; color:var(--ink-muted); font-weight:500; }
.venuefact svg{ width:16px; height:16px; flex:none; color:var(--accent-ink); }
.artistbio{ padding:0 var(--s3); margin:-2px 0 var(--s3); font-size:14px; line-height:1.5; color:var(--ink-muted); }
.spotwrap{ position:relative; flex:0 0 min(80%, 340px); scroll-snap-align:start; }
.spot-track{ padding-bottom:40px; margin-bottom:-28px; }
.spotglow{ display:none; }
.card.spot{ position:relative; z-index:1; box-shadow:0 2px 4px rgba(17,15,36,.10), 0 22px 34px -18px color-mix(in srgb, var(--dot) 75%, #1E1B4B); }
.top10row{ padding-bottom:22px; }
header.top.home{ overflow:hidden; }
header.top.home::before{ content:""; position:absolute; inset:0; pointer-events:none; border-radius:inherit;
    background:radial-gradient(520px 220px at 88% -20%, rgba(255,255,255,.26), transparent 62%), radial-gradient(420px 240px at -5% 115%, rgba(167,139,250,.35), transparent 60%); }
header.top.home > .wrap{ position:relative; }
nav.bottomnav{ background:color-mix(in srgb, var(--nav-bg) 84%, transparent); -webkit-backdrop-filter:blur(18px) saturate(1.6); backdrop-filter:blur(18px) saturate(1.6); }
header.top:not(.home){ background:color-mix(in srgb, var(--bg) 78%, transparent); -webkit-backdrop-filter:blur(16px) saturate(1.5); backdrop-filter:blur(16px) saturate(1.5); }
.buybar{ background:color-mix(in srgb, var(--surface) 80%, transparent); }
.btn.cta, .buybar .btn.cta{ position:relative; overflow:hidden; isolation:isolate; }
.btn.cta::after{ content:""; position:absolute; top:0; bottom:0; left:-60%; width:45%; z-index:-1; pointer-events:none;
    background:linear-gradient(100deg, transparent, rgba(255,255,255,.38), transparent); transform:skewX(-18deg); animation:shine 3.8s ease-in-out infinite 1.2s; }
@keyframes shine{ 0%{ left:-60%; } 28%{ left:130%; } 100%{ left:130%; } }
@media (hover:hover) and (pointer:fine){.card, .clubcard, .mood, .card.top10, .artistcard, .calevent{ transition:transform .25s cubic-bezier(.2,.7,.2,1), box-shadow .25s ease; }
.card:hover, .clubcard:hover, .artistcard:hover{ transform:translateY(-4px); box-shadow:0 2px 4px rgba(23,21,58,.06), 0 22px 40px -16px rgba(79,70,229,.35); }
.mood:hover, .calevent:hover{ transform:translateY(-2px); }
.card.top10:hover{ transform:translateY(-4px); box-shadow:none; }
.card.top10:hover .top10poster{ box-shadow:0 22px 40px -18px rgba(30,27,75,.55); }
.clubcard-photo{ transition:transform .5s cubic-bezier(.2,.7,.2,1); }
.clubcard:hover .clubcard-photo{ transform:scale(1.05); }
.card.spot:hover{ transform:translateY(-4px); }
.card.spot:hover{ box-shadow:0 2px 4px rgba(17,15,36,.10), 0 30px 44px -18px color-mix(in srgb, var(--dot) 85%, #1E1B4B); }
}
.reveal{ opacity:0; transform:translateY(16px); }
.reveal.in{ opacity:1; transform:none; transition:opacity .55s ease, transform .65s cubic-bezier(.2,.7,.2,1); transition-delay:var(--d, 0ms); }
@media (prefers-reduced-motion: reduce){.btn.cta::after{ animation:none; display:none; }
.reveal{ opacity:1; transform:none; }
}
.socialline{ display:flex; align-items:center; gap:6px; font-size:13px; font-weight:700; color:var(--accent-ink); }
.socialline svg{ width:15px; height:15px; flex:none; }
.calmenuwrap{ position:relative; margin-top:var(--s3); }
.calmenubtn{ width:100%; }
.calmenu{ position:absolute; left:0; right:0; top:calc(100% + 8px); z-index:20; background:var(--surface); border-radius:16px; box-shadow:0 18px 40px -12px rgba(18,13,38,.35); padding:6px; animation:menuin .16s ease-out; }
.calmenu[hidden]{ display:none; }
.calmenu-item{ display:block; width:100%; text-align:left; padding:12px 14px; border:0; border-radius:10px; background:none; font:inherit; font-size:15px; font-weight:700; color:var(--ink); text-decoration:none; cursor:pointer; }
.calmenu-item:hover{ background:var(--surface-2); }
.onboard .ob-body h1{ font-size:30px; font-weight:800; letter-spacing:-.025em; line-height:1.15; text-wrap:balance; }
.onboard .ob-body h1 em{ font-style:normal; color:var(--accent); }
.ob-fan{ position:relative; height:250px; margin:8px auto 28px; width:260px; }
.ob-poster{ position:absolute; top:10px; left:50%; width:150px; height:200px; margin-left:-75px; border-radius:18px;
    background:linear-gradient(150deg, var(--accent), var(--accent-ink)); background-size:cover; background-position:center;
    box-shadow:0 18px 36px -14px rgba(23,21,58,.5); animation:fanin .7s cubic-bezier(.2,.8,.2,1) both; }
.ob-poster.p0{ transform:rotate(-12deg) translateX(-70px); animation-delay:.05s; }
.ob-poster.p1{ transform:rotate(0) translateY(-8px); z-index:2; animation-delay:.15s; }
.ob-poster.p2{ transform:rotate(12deg) translateX(70px); animation-delay:.25s; }
@keyframes fanin{ from{ opacity:0; margin-top:40px; } to{ opacity:1; margin-top:0; } }
.ob-feats{ display:flex; flex-direction:column; gap:var(--s3); margin-top:var(--s6); text-align:left; }
.ob-bigicon{ font-size:56px; line-height:1; margin-bottom:var(--s4); }
.ob-note{ margin-top:var(--s4); font-size:13px; color:var(--ink-muted); }
.ob-actions .btn + .btn{ margin-top:-2px; }
.ob-feat{ display:flex; align-items:center; gap:var(--s4); background:var(--surface); border-radius:18px; padding:var(--s4); box-shadow:var(--shadow);
    animation:featin .55s cubic-bezier(.2,.8,.2,1) both; animation-delay:calc(var(--i) * 120ms + 80ms); }
.ob-feat strong{ display:block; font-size:15px; }
.ob-feat span:not(.ob-feat-icon){ font-size:14px; color:var(--ink-muted); }
.ob-feat-icon{ flex:none; width:46px; height:46px; border-radius:14px; display:grid; place-items:center; background:var(--surface-2); color:var(--accent); }
.ob-feat-icon svg{ width:22px; height:22px; }
@keyframes featin{ from{ opacity:0; transform:translateY(14px); } to{ opacity:1; transform:none; } }
@media (prefers-reduced-motion: reduce){.ob-poster, .ob-feat{ animation:none; }
}
#screenRoot:has(> .onboard){ padding-top:0; padding-bottom:0; }
h1.brand{ margin:0; }
.vh-txt{ position:absolute; left:0; top:0; width:1px; height:1px; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.val .vlink{ color:inherit; text-decoration:underline; text-decoration-color:var(--line); text-underline-offset:3px; }
.seolink{ position:absolute !important; left:0; top:0; width:1px; height:1px; margin:-1px; padding:0; overflow:hidden; clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; border:0; pointer-events:none; }
#obLayer{ position:fixed; inset:0; z-index:200; overflow-y:auto; overscroll-behavior:contain; background:var(--bg); }
body.ob-open{ overflow:hidden; }
.onboard{ min-height:100vh; min-height:100dvh; }
.onboard .ob-actions{ padding-bottom:calc(18px + env(safe-area-inset-bottom, 0px)); }
@media (max-height:760px){.ob-dots{ padding-top:14px; }
.ob-body{ gap:10px; padding:10px 4px; }
.ob-brand{ font-size:20px; margin-bottom:0; }
.ob-brand img{ width:36px; height:36px; }
.ob-fan{ height:190px; margin:0 auto 10px; }
.ob-poster{ width:118px; height:158px; margin-left:-59px; }
.onboard .ob-body h1{ font-size:24px; }
.ob-body p{ font-size:15px; }
.ob-bigicon{ font-size:40px; margin-bottom:4px; }
.ob-feats{ margin-top:12px; gap:8px; }
.ob-feat{ padding:10px 12px; }
.ob-feat strong{ font-size:15px; }
.ob-feat span:not(.ob-feat-icon){ font-size:13px; }
.ob-note{ margin-top:8px; font-size:12px; }
.ob-actions{ padding-top:8px; }
.ob-actions .btn{ min-height:50px; }
}
@media (max-height:640px){.ob-fan{ height:150px; }
.ob-poster{ width:96px; height:128px; margin-left:-48px; }
.ob-feat span:not(.ob-feat-icon){ display:none; }
}
html{ overflow-x:hidden; touch-action:manipulation; }
@supports (overflow:clip){html, body{ overflow-x:clip; }
}
body{ overscroll-behavior-x:none; max-width:100%; }
.storyrow{ display:flex; gap:14px; overflow-x:auto; scrollbar-width:none; margin:var(--s5) -16px 0; padding:4px 16px 2px; }
.storyrow::-webkit-scrollbar{ display:none; }
.storybubble{ flex:none; width:70px; display:flex; flex-direction:column; align-items:center; gap:6px; border:0; background:none; padding:0; cursor:pointer; font:inherit; color:var(--ink); }
.storyring{ width:70px; height:70px; border-radius:50%; padding:3px; background:conic-gradient(from 210deg, #F59E0B, #EC4899, var(--accent), #F59E0B); display:grid; place-items:center; transition:transform .15s; }
.storybubble:active .storyring{ transform:scale(.94); }
.storybubble.seen .storyring{ background:var(--line-strong); }
.storyavatar{ width:100%; height:100%; border-radius:50%; border:3px solid var(--bg); background-color:var(--surface-2); background-size:cover; background-position:center;
    display:grid; place-items:center; font-size:13px; font-weight:800; color:#fff; }
.storyavatar.today{ background:linear-gradient(150deg, var(--accent), var(--accent-ink)); }
.storyname{ width:100%; font-size:12px; font-weight:600; text-align:center; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.storyrow + .spotlight{ margin-top:var(--s4); }
body.storyopen{ overflow:hidden; }
.story{ position:fixed; inset:0; z-index:100; background:#0B0A18; color:#fff; display:flex; flex-direction:column; animation:storyin .22s ease-out; touch-action:none; user-select:none; }
@keyframes storyin{ from{ opacity:0; transform:scale(.97); } to{ opacity:1; transform:none; } }
.story-bg, .story-bg.poster-fit.has-img{ position:absolute; inset:0; }
.story-bg::after{ inset:60px 0 150px !important; }
.story-bars{ position:relative; z-index:2; display:flex; gap:4px; padding:calc(10px + env(safe-area-inset-top)) 10px 0; }
.story-bars span{ flex:1; height:3px; border-radius:3px; background:rgba(255,255,255,.3); overflow:hidden; }
.story-bars i{ display:block; height:100%; background:#fff; }
.story-head{ position:relative; z-index:2; display:flex; align-items:center; gap:10px; padding:12px 12px 0 14px; }
.story-head strong{ flex:1; font-size:15px; text-shadow:0 1px 6px rgba(0,0,0,.5); }
.storyavatar.mini{ width:34px; height:34px; border-width:2px; border-color:#fff; font-size:13px; }
.story-close{ width:40px; height:40px; border:0; border-radius:50%; background:rgba(0,0,0,.35); color:#fff; font-size:18px; cursor:pointer; }
.story-tap{ position:absolute; top:80px; bottom:170px; z-index:1; border:0; background:transparent; cursor:pointer; }
.story-tap.prev{ left:0; width:35%; }
.story-tap.next{ right:0; width:65%; }
.story-info{ position:absolute; left:0; right:0; bottom:0; z-index:2; padding:60px 20px calc(22px + env(safe-area-inset-bottom));
    background:linear-gradient(180deg, transparent, rgba(11,10,24,.85) 40%, #0B0A18); display:flex; flex-direction:column; gap:6px; }
.story-when{ align-self:flex-start; font-size:12px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; background:var(--highlight); color:var(--highlight-ink); padding:5px 10px; border-radius:999px; }
.story-title{ font-size:22px; font-weight:800; line-height:1.2; letter-spacing:-.02em; }
.story-venue{ display:flex; align-items:center; gap:6px; font-size:14px; color:rgba(255,255,255,.8); }
.story-venue svg{ width:15px; height:15px; }
.story-open{ margin-top:10px; width:100%; }
@media (min-width:700px){.story{ left:50%; right:auto; width:430px; transform:translateX(-50%); border-radius:0; box-shadow:0 0 0 100vmax rgba(8,7,20,.85); animation:none; }
}
.collrow{ display:flex; gap:var(--s3); overflow-x:auto; scrollbar-width:none; margin:0 -16px; padding:4px 16px 14px; scroll-snap-type:x mandatory; }
.collrow::-webkit-scrollbar{ display:none; }
.collcard{ position:relative; flex:none; width:210px; height:150px; border:0; padding:0; border-radius:20px; overflow:hidden; cursor:pointer; scroll-snap-align:start; text-align:left;
    background:linear-gradient(150deg, var(--accent), var(--accent-ink)); box-shadow:var(--shadow); font:inherit; color:#fff; }
.collcover{ position:absolute; inset:0; background-size:cover; background-position:center; transition:transform .5s cubic-bezier(.2,.7,.2,1); }
.collcard::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(17,15,36,.05) 20%, rgba(17,15,36,.85)); }
.collbody{ position:absolute; left:14px; right:14px; bottom:12px; z-index:1; display:flex; flex-direction:column; }
.collemoji{ font-size:22px; line-height:1; margin-bottom:4px; }
.collbody strong{ font-size:16px; font-weight:800; line-height:1.2; }
.collbody span:last-child{ font-size:12px; color:rgba(255,255,255,.8); font-weight:600; }
@media (hover:hover) and (pointer:fine){.collcard:hover .collcover{ transform:scale(1.06); }
}
.countdown{ position:relative; display:block; margin-top:var(--s10); border-radius:24px; overflow:hidden; min-height:230px; cursor:pointer; color:#fff; background:#1B1936; box-shadow:var(--shadow); }
.countdown-bg, .countdown-bg.poster-fit.has-img{ position:absolute; inset:0; opacity:.55; }
.countdown::after{ content:""; position:absolute; inset:0; background:linear-gradient(115deg, rgba(55,48,163,.92) 0%, rgba(55,48,163,.55) 55%, rgba(17,15,36,.2)); }
.countdown-body{ position:relative; z-index:1; display:flex; flex-direction:column; gap:6px; padding:22px 20px; }
.countdown-kicker{ align-self:flex-start; font-size:12px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; background:rgba(255,255,255,.18); padding:5px 10px; border-radius:999px; }
.countdown-title{ font-size:24px; font-weight:800; letter-spacing:-.02em; line-height:1.15; max-width:80%; }
.countdown-when{ font-size:13px; color:rgba(255,255,255,.85); font-weight:600; }
.countdown-when::first-letter{ text-transform:uppercase; }
.countdown-clock{ display:flex; gap:10px; margin-top:12px; }
.cdunit{ min-width:64px; padding:8px 10px; border-radius:14px; background:rgba(255,255,255,.14); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); display:flex; flex-direction:column; align-items:center; }
.cdunit b{ font-size:26px; font-weight:800; line-height:1.1; font-variant-numeric:tabular-nums; }
.cdunit i{ font-style:normal; font-size:12px; font-weight:700; color:rgba(255,255,255,.8); }
.feedgrid{ display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:12px; }
@media (min-width:700px){.feedgrid{ grid-template-columns:repeat(3, minmax(0, 1fr)); }
}
.card.feedtile{ padding:0; gap:0; border-radius:18px; overflow:hidden; animation:featin .45s cubic-bezier(.2,.8,.2,1) both; }
.feedposter{ display:block; aspect-ratio:4/5; background:linear-gradient(150deg, color-mix(in srgb, var(--dot) 45%, var(--surface-2)), var(--surface-2)); background-size:cover; background-position:center; }
.feedbody{ display:flex; flex-direction:column; gap:2px; padding:10px 12px 12px; }
.feedwhen{ font-size:12px; font-weight:800; letter-spacing:.03em; text-transform:uppercase; color:var(--accent-ink); }
.feedtitle{ font-size:14px; font-weight:800; line-height:1.28; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; overflow-wrap:anywhere; }
.feedvenue{ font-size:12px; color:var(--ink-muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.feedmore{ height:1px; }
.feedend{ text-align:center; font-size:13px; color:var(--ink-muted); padding:var(--s6) 0 0; }
@media (prefers-reduced-motion: reduce){.card.feedtile{ animation:none; }
.story{ animation:none; }
}
#screenRoot .card.feedtile{ padding:0; gap:0; }
.appcard{ padding:4px var(--s4); }
.appcard-row{ display:flex; align-items:center; gap:var(--s3); padding:var(--s3) 0; border-top:1px solid var(--line); }
.appcard-row:first-child{ border-top:0; }
.appcard-row > span:first-child{ flex:1; min-width:0; font-size:13px; line-height:1.45; color:var(--ink-muted); }
.appcard-row strong{ display:block; font-size:15px; color:var(--ink); }
.appcard-row .btn.small{ flex:none; min-height:38px; padding:0 14px; }
.appcard-row{ flex-wrap:wrap; }
.appcard-actions{ display:flex; gap:8px; flex:1 0 100%; }
.appcard-actions .btn.small{ flex:1; }
.sheetwrap{ position:fixed; inset:0; z-index:90; display:flex; align-items:flex-end; justify-content:center; }
.sheetwrap.overtix{ z-index:96; }
.sheetbackdrop{ position:absolute; inset:0; background:rgba(18,13,38,.45); animation:menufade .15s ease-out; }
.sheet{ position:relative; width:min(100%, 520px); background:var(--surface); border-radius:24px 24px 0 0; padding:24px 20px calc(20px + env(safe-area-inset-bottom)); box-shadow:0 -18px 40px -12px rgba(18,13,38,.4); animation:sheetup .25s cubic-bezier(.2,.8,.2,1); }
@keyframes sheetup{ from{ transform:translateY(40px); opacity:0; } to{ transform:none; opacity:1; } }
.sheet-title{ display:block; font-size:18px; font-weight:800; margin-bottom:12px; }
.sheet-steps{ margin:0; padding-left:22px; display:flex; flex-direction:column; gap:10px; font-size:15px; line-height:1.4; }
.sheet-steps svg{ width:16px; height:16px; vertical-align:-3px; color:var(--accent); }
.sheet-note{ font-size:13px; color:var(--ink-muted); margin:14px 0 0; }
.sheet-ok{ width:100%; margin-top:18px; }
.sheet-x{ position:absolute; top:14px; right:14px; width:34px; height:34px; border-radius:50%; border:0; background:var(--surface-2); color:var(--ink); font-size:15px; cursor:pointer; }
.tixbox{ margin-top:var(--s5, 20px); background:var(--surface); border-radius:20px; padding:16px; box-shadow:var(--shadow-accent, 0 10px 28px -8px rgba(79,70,229,.35)); border:1px solid color-mix(in srgb, var(--accent) 22%, transparent); }
.tixbox-head{ display:flex; align-items:center; justify-content:space-between; margin-bottom:6px; }
.tixbox-head strong{ display:flex; align-items:center; gap:6px; font-size:16px; font-weight:800; }
.tixbox-head strong svg{ width:18px; height:18px; color:var(--accent); }
.tixbox-head span{ font-size:12px; color:var(--ink-muted); font-weight:600; }
.tixmine{ display:flex; align-items:center; justify-content:space-between; width:100%; margin:6px 0 4px; padding:12px 14px; border:0; border-radius:14px; cursor:pointer; font:inherit;
    background:linear-gradient(135deg, var(--accent), #7C3AED); color:#fff; box-shadow:0 8px 20px -8px rgba(79,70,229,.6); }
.tixmine em{ font-style:normal; font-weight:800; }
.tixtype{ display:flex; align-items:center; gap:12px; padding:12px 0; border-top:1px solid var(--line); }
.tixtype:first-of-type{ border-top:0; }
.tixtype-info{ flex:1; min-width:0; }
.tixtype-info strong{ display:block; font-size:15px; }
.tixtype-info > span{ display:block; font-size:13px; color:var(--ink-muted); line-height:1.4; }
.tixtype-price{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; font-weight:800; color:var(--accent); font-size:14px; margin-top:2px; }
.tix-low{ font-size:12px; font-weight:800; color:#B45309; background:#FEF3C7; padding:2px 8px; border-radius:99px; }
.tix-state{ flex:none; font-size:13px; font-weight:700; color:var(--ink-muted); background:var(--surface-2); padding:8px 12px; border-radius:10px; }
.tixtype .btn.cta.small{ width:auto; flex:none; min-height:40px; padding:0 18px; font-size:14px; border-radius:12px; margin:0; }
.claim-event{ font-weight:700; margin:-4px 0 14px; }
.claim-event span{ display:block; font-size:13px; color:var(--ink-muted); font-weight:500; }
.claim-row{ display:flex; align-items:center; justify-content:space-between; padding:10px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); font-weight:700; }
.stepper{ display:flex; align-items:center; gap:14px; }
.stepper button{ width:38px; height:38px; border-radius:50%; border:1.5px solid var(--line); background:var(--surface); color:var(--ink); font-size:20px; font-weight:700; cursor:pointer; }
.stepper button:disabled{ opacity:.35; cursor:default; }
.stepper b{ min-width:18px; text-align:center; font-size:18px; }
.claim-label{ display:block; font-size:13px; font-weight:700; margin:14px 0 6px; }
.claim-label small{ font-weight:500; color:var(--ink-muted); }
.claim-input{ width:100%; box-sizing:border-box; font:inherit; font-size:16px; color:var(--ink); background:var(--bg); border:1.5px solid var(--line); border-radius:12px; padding:12px 14px; outline:none; }
.claim-input:focus{ border-color:var(--accent); }
.tixview{ position:fixed; inset:0; z-index:95; background:radial-gradient(120% 80% at 50% 0%, #3B2FC9 0%, #16133A 60%, #0C0B1E 100%); color:#fff; display:flex; flex-direction:column; padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom); animation:menufade .2s ease-out; }
.tixview-top{ display:flex; align-items:center; justify-content:space-between; padding:14px 18px; font-weight:700; position:sticky; top:0; z-index:3; flex:none; background:linear-gradient(#2A2196 0%, rgba(42,33,150,.82) 70%, rgba(42,33,150,0) 100%); }
.pickrow span{ min-width:0; overflow-wrap:anywhere; }
.tixview-close{ width:40px; height:40px; border-radius:50%; border:0; background:rgba(255,255,255,.14); color:#fff; font-size:17px; cursor:pointer; }
.tixview{ overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; }
.tixtrack{ flex:1 0 auto; display:flex; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; scrollbar-width:none; align-items:center; }
.tixtrack::-webkit-scrollbar{ display:none; }
.tixcard{ flex:0 0 calc(100% - 40px); max-width:380px; margin:0 20px; box-sizing:border-box; scroll-snap-align:center; background:#fff; color:#17153A; border-radius:24px; overflow:hidden; box-shadow:0 30px 60px -20px rgba(0,0,0,.6); }
.tixtrack:has(.tixcard:only-child){ justify-content:center; }
.tixcard{ background:linear-gradient(90deg,#4F46E5,#7C3AED,#F59E0B) top / 100% 6px no-repeat, #fff; }
.tixacts{ display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin:14px 16px 0; }
.tixprint:disabled{ opacity:.7; cursor:default; }
.tixprint{ display:flex; align-items:center; justify-content:center; gap:8px; margin:0; padding:12px 18px; min-height:46px; border:1.5px solid rgba(255,255,255,.28); border-radius:99px; background:rgba(255,255,255,.08); color:#fff; font:inherit; font-size:15px; font-weight:700; cursor:pointer; }
.tixprint svg{ width:18px; height:18px; flex:none; }
.tixcard-seat{ display:flex; align-items:center; gap:8px; margin:0 18px 12px; padding:10px 12px; border-radius:14px; background:#ECFDF5; color:#065F46; font-size:14px; font-weight:600; line-height:1.35; }
.tixcard-seat[hidden]{ display:none; }
.tixcard-seat svg{ flex:none; }
.tixcard-main{ display:flex; gap:14px; align-items:center; padding:18px 18px 12px; }
.tixcard-thumb{ width:64px; height:64px; flex:none; border-radius:14px; background:linear-gradient(135deg,#4F46E5,#7C3AED) center/cover no-repeat; box-shadow:0 6px 16px -6px rgba(23,21,58,.35); }
.tixcard-text{ min-width:0; }
.tixcard-main strong{ display:block; font-size:18px; font-weight:800; line-height:1.25; overflow-wrap:anywhere; }
.tixcard-main span{ display:block; font-size:13px; color:#6E7083; }
.tixcard-cut{ position:relative; height:0; border-top:2px dashed #E3E5EE; margin:4px 18px; }
.tixcard-cut::before, .tixcard-cut::after{ content:""; position:absolute; top:-12px; width:22px; height:22px; border-radius:50%; background:#1B1747; }
.tixcard-cut::before{ left:-30px; }
.tixcard-cut::after{ right:-30px; }
.tixqr{ width:min(62vw, 230px); aspect-ratio:1; margin:14px auto 6px; display:grid; place-items:center; background:#fff; }
.tixqr svg{ width:100%; height:100%; display:block; }
.tixqr-fail{ font-size:13px; text-align:center; color:#6E7083; }
.tixcard-who{ display:flex; gap:12px; padding:6px 18px 0; }
.tixcard-who div{ flex:1; min-width:0; }
.tixcard-who small{ display:block; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:#8A8CA0; }
.tixcard-who b{ display:block; font-size:15px; overflow-wrap:anywhere; }
.tixcard-pay{ margin:12px 18px 0; padding:10px 12px; border-radius:12px; background:#FEF3C7; color:#92400E; font-weight:700; font-size:14px; text-align:center; }
.tixcard-state{ margin:12px 18px 16px; font-size:13px; font-weight:700; color:#12A150; text-align:center; }
.tixcard.used .tixcard-state{ color:#8A8CA0; }
.tixcard.used .tixqr{ opacity:.25; }
.tixcancel{ display:block; margin:-6px auto 16px; font-size:13px; color:#B42318 !important; }
.tixsub{ font-size:12px; font-weight:800; letter-spacing:.05em; text-transform:uppercase; color:var(--ink-muted); padding:14px 0 2px; border-top:1px solid var(--line); margin-top:4px; }
.tixsub + .tixtype{ border-top:0; }
.tixtype.is-table .tixtype-price{ color:#B45309; }
.claim-min{ margin-top:14px; padding:10px 12px; border-radius:12px; background:#FEF3C7; color:#92400E; font-size:14px; }
.tixcard-pay.table{ background:#EEF0FF; color:#4338CA; }
.promo-tag{ display:inline-block; font-size:11px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; padding:3px 7px; border-radius:6px;
    background:rgba(255,255,255,.92); color:#6E7083; box-shadow:0 1px 3px rgba(0,0,0,.15); line-height:1; }
.spot-body .promo-tag{ margin-bottom:6px; align-self:flex-start; }
.card-head .promo-tag, .feedposter .promo-tag{ position:absolute; left:8px; bottom:8px; z-index:2; }
.feedposter{ position:relative; }
.story-head .promo-tag{ margin-left:6px; }
.storybubble.promo .storyring{ background:conic-gradient(#F59E0B, #EC4899, #8B5CF6, #F59E0B); }
.clubcard.clubweek{ box-shadow:0 0 0 2px #F59E0B, 0 14px 30px -12px rgba(245,158,11,.55); position:relative; }
.clubweek-badge{ position:absolute; top:10px; left:10px; z-index:3; font-size:12px; font-weight:800; padding:5px 9px; border-radius:99px; background:#F59E0B; color:#1F1300; }
.verified-tag{ display:inline-grid; place-items:center; width:18px; height:18px; margin-left:6px; border-radius:50%; background:#3B82F6; color:#fff; font-size:12px; font-weight:900; vertical-align:2px; }
.htitle .verified-tag{ width:22px; height:22px; font-size:13px; }
.crown{ font-size:.9em; }
.storyrow{ display:flex; justify-content:space-between; gap:8px; overflow:visible; margin:var(--s5) 0 0; padding:4px 0 2px; }
.storybubble{ flex:0 1 76px; width:auto; min-width:0; }
.storyring{ width:min(76px, 21vw); height:min(76px, 21vw); }
@media (min-width:768px){.storyrow{ justify-content:center; gap:56px; margin-top:28px; }
.storybubble{ flex:0 0 112px; gap:10px; }
.storyring{ width:112px; height:112px; padding:4px; }
.storyavatar{ border-width:4px; font-size:17px; }
.storyname{ font-size:14px; }
}
.top10row, .collrow{ margin-left:-20px; margin-right:-20px; padding-left:20px; padding-right:20px; scroll-padding-left:20px; }
.storyrow + .spotlight{ margin-top:24px; }
#trendingSection > .day-head:first-child{ margin-top:40px; }
.detail-actions + .toast:empty{ display:none; }
.ssr{ padding:20px 0 120px; }
.js .ssr-home{ display:none; }
.ssr a{ color:var(--accent); font-weight:700; text-decoration:none; }
.ssr-crumbs{ font-size:13px; color:var(--ink-muted); margin-bottom:14px; }
.ssr-poster{ display:block; width:100%; max-height:420px; object-fit:contain; border-radius:20px; background:var(--surface-2); }
.ssr-kicker{ margin:16px 0 4px; font-size:13px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; color:var(--accent); }
.ssr h1{ margin:0 0 8px; font-size:26px; line-height:1.2; letter-spacing:-.02em; }
.ssr h2{ margin:26px 0 10px; font-size:18px; }
.ssr-when{ margin:0 0 6px; font-weight:700; }
.ssr-price{ margin:0 0 10px; color:var(--ink-muted); font-weight:600; }
.ssr-about{ color:var(--ink-muted); line-height:1.55; }
.ssr-list{ list-style:none; padding:0; margin:0; display:grid; gap:10px; }
.ssr-list li{ display:flex; flex-direction:column; gap:2px; padding:12px 14px; border-radius:14px; background:var(--surface); }
.ssr-list span{ font-size:13px; color:var(--ink-muted); }
.detail-actions .btn{ min-width:0; padding-inline:8px; white-space:nowrap; font-size:14px; }
.detail-actions .btn svg{ flex:none; }
.calchoices{ display:grid; gap:10px; margin-top:6px; }
.calchoices .btn{ width:100%; justify-content:center; text-decoration:none; }
.hero-event .hero-visual{ margin-left:auto; margin-right:auto; }
.section-label + .recorow{ margin-top:16px; }
@media (min-width:768px){.recorow, .top10row, .collrow, .spot-track{ margin-left:0; margin-right:0; padding-left:0; padding-right:0; scroll-padding-left:0; }
.storyrow + .spotlight{ margin-top:32px; }
}
@media (min-width:900px){.calpanel{ display:grid; grid-template-columns:minmax(0, 380px) minmax(0, 1fr); column-gap:28px; align-items:start; padding:var(--s4); }
.calpanel > .calhead, .calpanel > .calweekdays, .calpanel > .calgrid{ grid-column:1; }
.calpanel .calcell{ aspect-ratio:auto; height:48px; }
.calpanel > .calday{ grid-column:2; grid-row:1 / span 3; margin:0; border-top:0; border-radius:16px; min-height:100%; }
.calpanel > .calday::before{ display:none; }
}
.nickpill{ align-self:flex-start; display:inline-flex; align-items:center; gap:8px; padding:8px 14px; border:0; border-radius:99px; cursor:pointer; font:inherit; font-weight:800; font-size:15px; color:var(--accent-ink); background:var(--surface); box-shadow:var(--shadow); }
.nickpill small{ font-size:12px; font-weight:700; color:var(--ink-muted); }
.nickpill.sm{ max-width:100%; padding:3px 10px; font-size:13px; margin:2px 0; box-shadow:none; background:var(--surface-2); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; display:block; }
.nickpill.sm small{ display:none; }
.pe-hint{ margin-top:4px; font-weight:500; }
.lvchip{ display:inline-block; font-size:12px; font-weight:800; padding:2px 8px; border-radius:99px; background:var(--surface-2); color:var(--accent-ink); vertical-align:1px; white-space:nowrap; }
.lvchip.lv4, .lvchip.lv5{ background:#FEF3C7; color:#92400E; }
.lvchip.lv6, .lvchip.lv7{ background:linear-gradient(135deg,#1B1747,#4338CA); color:#FCD34D; }
.ps-level{ display:flex; align-items:center; gap:6px; margin-top:8px; }
.ps-level small{ font-size:13px; font-weight:700; color:var(--ink-muted); }
.levelcard{ margin-top:12px; padding:16px; border-radius:20px; color:#fff; background:linear-gradient(135deg,#4F46E5,#7C3AED); box-shadow:0 14px 30px -14px rgba(79,70,229,.7); }
.levelcard.lv4, .levelcard.lv5{ background:linear-gradient(135deg,#7C3AED,#DB2777 60%,#F59E0B); }
.levelcard.lv6, .levelcard.lv7{ background:linear-gradient(135deg,#120F33,#312E81 55%,#B45309); box-shadow:0 0 0 2px #F5B82E, 0 16px 34px -14px rgba(245,158,11,.6); }
.levelcard .hint-sm{ color:#E0E7FF; }
.lv-top{ display:flex; align-items:center; gap:12px; }
.lv-icon{ width:52px; height:52px; border-radius:16px; background:rgba(255,255,255,.18); display:grid; place-items:center; font-size:28px; flex:none; }
.lv-top div{ flex:1; min-width:0; }
.lv-top small{ display:block; font-size:12px; opacity:.85; font-weight:700; }
.lv-top strong{ font-size:20px; }
.lv-top b{ font-size:22px; }
.lv-top b em{ font-style:normal; font-size:12px; opacity:.8; }
.lv-next{ font-size:14px; opacity:.95; }
.levelcard .textbtn{ color:#fff; font-weight:800; margin-top:8px; padding:0; }
.xpways{ display:flex; flex-direction:column; }
.xpway{ display:flex; align-items:center; gap:12px; padding:9px 0; border-bottom:1px solid var(--line); }
.xpway > span{ font-size:22px; width:30px; text-align:center; }
.xpway div{ flex:1; }
.xpway strong{ display:block; font-size:14px; }
.xpway small{ font-size:12px; color:#047857; font-weight:700; }
.xpway b{ color:var(--accent-ink); font-size:14px; white-space:nowrap; }
.lv-list{ display:flex; flex-wrap:wrap; gap:6px; margin-top:14px; }
.lv-list span{ font-size:12px; font-weight:700; padding:4px 10px; border-radius:99px; background:var(--surface-2); color:var(--ink-muted); }
.lv-list span.done{ color:var(--accent-ink); }
.lv-list span.on{ background:var(--accent); color:#fff; }
.dmcam{ flex:none; width:44px; height:44px; border-radius:50%; border:0; background:var(--surface-2); font-size:20px; cursor:pointer; }
.dm.imgmsg .dm-b{ padding:3px; background:var(--surface); box-shadow:var(--shadow); }
.dm-img{ display:block; max-width:min(240px, 62vw); max-height:320px; border-radius:15px; object-fit:cover; cursor:zoom-in; }
.dm-img.loading{ width:200px; height:150px; display:grid; place-items:center; background:var(--surface-2); color:var(--ink-muted); font-size:14px; }
.dm-cap{ display:block; padding:6px 10px 4px; color:var(--ink); }
#photoSection > .section-label:first-child{ margin-top:28px; }
.albumhead .offchip{ font-size:12px; font-weight:800; padding:2px 8px; border-radius:99px; background:#DCFCE7; color:#166534; vertical-align:2px; }
.photo{ position:relative; }
.photo .more{ position:absolute; inset:0; display:grid; place-items:center; border-radius:12px; background:rgba(15,13,40,.55); color:#fff; font-size:20px; font-weight:800; }
.photoadd{ font-size:26px; }
header.top.home .chip[data-active="true"]{ background:#fff !important; border-color:#fff !important; color:#3730A3 !important; font-weight:800; }
.lrhead{ align-items:baseline; }
.lrhead h2{ text-transform:none; }
.lrhead .count{ margin-left:auto; white-space:nowrap; font-size:13px; font-weight:700; color:var(--ink-muted); }
.lrlist{ display:flex; flex-direction:column; gap:10px; }
.card.lrow{ flex-direction:row; align-items:center; gap:14px; padding:10px; border-radius:18px; min-height:0; }
.lr-poster{ position:relative; width:78px; height:98px; flex:none; border-radius:13px; background:var(--surface-2) center/cover no-repeat; box-shadow:0 6px 14px -8px rgba(0,0,0,.45); }
.lr-poster .promo-tag{ position:absolute; left:5px; bottom:5px; font-size:8.5px; padding:2px 5px; }
.lr-body{ flex:1; min-width:0; display:flex; flex-direction:column; gap:3px; }
.lr-when{ display:flex; align-items:center; gap:6px; font-size:13px; font-weight:800; color:var(--accent); letter-spacing:.01em; }
.lr-when i{ width:3px; height:3px; border-radius:50%; background:var(--ink-muted); opacity:.6; }
.lr-when{ text-transform:none; }
.lr-title{ font-size:15px; font-weight:800; line-height:1.25; color:var(--ink); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; overflow-wrap:anywhere; }
.lr-venue{ font-size:13px; color:var(--ink-muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.lr-meta{ display:flex; align-items:center; gap:6px; flex-wrap:wrap; margin-top:2px; }
.lr-meta b{ font-size:13px; font-weight:800; color:var(--ink); }
.lr-meta b.free{ color:#16A34A; }
.lr-meta .friendchip{ margin:0; }
.card.lrow .savebtn.lr-save{ position:static; flex:none; width:38px; height:38px; align-self:flex-start; box-shadow:none; background:var(--surface-2); }
.viewtoggle{ display:inline-flex !important; width:auto; float:right; margin:0 0 6px; padding:3px; border-radius:99px; }
.viewtoggle button{ flex:none !important; min-height:32px !important; padding:0 14px !important; border-radius:99px !important; font-size:13px !important; }
.viewtoggle + *{ clear:both; }
.trendlist{ display:flex; flex-direction:column; gap:8px; }
.card.trendrow{ flex-direction:row; align-items:center; gap:12px; padding:10px 12px; border-radius:16px; }
.trend-text{ flex:1; min-width:0; display:flex; flex-direction:column; gap:2px; }
.trend-text strong{ font-size:15px; line-height:1.25; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.trend-text span{ font-size:13px; color:var(--ink-muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.trend-n{ display:inline-flex; align-items:center; gap:4px; flex:none; font-size:13px; font-weight:800; color:var(--accent); background:var(--surface-2); padding:5px 10px; border-radius:99px; }
.trend-n svg{ width:14px; height:14px; }
.ticketrow .btn.going-on{ width:100%; min-height:56px; border-radius:16px; background:#DCFCE7; color:#166534; border:0; font-weight:800; }
.ticket-hint{ text-align:center; }
.btn.soft{ background:var(--surface-2); color:var(--accent-ink); border:0; box-shadow:none; font-weight:800; }
.notix{ display:flex; gap:12px; align-items:flex-start; padding:14px 16px; margin-bottom:12px; border-radius:16px; background:var(--surface-2); }
.notix-ic{ font-size:22px; line-height:1; margin-top:2px; }
.notix strong{ display:block; font-size:15px; font-weight:800; color:var(--ink); }
.notix span{ display:block; font-size:13px; color:var(--ink-muted); margin-top:3px; line-height:1.45; }
.ticketrow .btn{ width:100%; min-height:54px; border-radius:16px; }
.ticketrow .btn + .btn{ margin-top:10px; }
.ticketrow:has(.notix) + .socbox .socbtns{ display:none; }
.tixsold{ display:inline-flex; align-items:center; gap:6px; margin-bottom:10px; padding:5px 11px; border-radius:99px; background:#DCFCE7; color:#166534; font-size:13px; font-weight:800; }
.meta .tixchip{ font-size:12px; font-weight:800; color:#166534; background:#DCFCE7; padding:3px 9px; border-radius:99px; white-space:nowrap; }
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .tixsold, :root:not([data-theme="light"]) .meta .tixchip{ background:rgba(52,211,153,.16); color:#6EE7B7; }
}
:root[data-theme="dark"] .tixsold, :root[data-theme="dark"] .meta .tixchip{ background:rgba(52,211,153,.16); color:#6EE7B7; }
.desc-block.clamp .desc-text{ display:-webkit-box; -webkit-line-clamp:6; -webkit-box-orient:vertical; overflow:hidden; }
.desc-more{ margin-top:6px; font-weight:800; }
@media (min-width:900px){.lrlist{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:12px; }
.trendlist{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); }
}
.top10row{ align-items:flex-start; padding-bottom:12px; }
.card.top10 .top10title, .card.top10 .top10title.long, .card.top10 .top10title.xlong{ display:-webkit-box; -webkit-line-clamp:3; line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.sheet{ max-height:90vh; overflow-y:auto; overscroll-behavior:contain; }
.av{ display:inline-grid; place-items:center; flex:none; width:44px; height:44px; border-radius:50%; background:linear-gradient(140deg,var(--accent),#8B5CF6) center/cover no-repeat; color:#fff; font-weight:800; font-size:17px; }
.av.sm{ width:26px; height:26px; font-size:12px; box-shadow:0 0 0 2px var(--surface); }
.av.xl{ width:88px; height:88px; font-size:34px; }
.av.outing{ border-radius:12px; background-color:#312E81; font-size:20px; }
.soctabs{ margin-bottom:var(--s4); }
.soctabs .dot{ display:inline-block; width:7px; height:7px; border-radius:50%; background:#EF4444; vertical-align:2px; margin-left:3px; }
.soc-hero{ text-align:center; padding:32px 20px; background:var(--surface); border-radius:22px; box-shadow:var(--shadow); }
.soc-hero-emoji{ font-size:42px; }
.soc-hero strong{ display:block; font-size:18px; margin-top:6px; }
.soc-hero p{ color:var(--ink-muted); margin:8px 0 16px; font-size:14px; line-height:1.5; }
.soc-hero .btn, .empty .btn{ display:inline-flex; margin-inline:auto; }
.homefooter-seo{ display:flex; flex-wrap:wrap; justify-content:center; gap:6px; margin:4px 0 2px; }
.homefooter-seo a{ padding:6px 11px; border-radius:999px; border:1px solid var(--line); color:var(--ink-muted); font-size:13px; font-weight:600; text-decoration:none; }
.card-poster .card-head.has-img{ height:auto !important; aspect-ratio:1.91 / 1; }
.ob-sub{ margin:18px 0 0 !important; font-weight:700; color:var(--ink) !important; }
.card.spot{ aspect-ratio:auto; height:100%; display:flex; flex-direction:column; background:#15122E; padding:0 !important; gap:0 !important; }
.card.spot .spot-visual, .card.spot .spot-visual.poster-fit.has-img{ position:relative; inset:auto; flex:none; width:100%; aspect-ratio:1.91 / 1; }
.card.spot .spot-body{ position:relative; flex:1; padding:14px 18px 18px; background:#15122E; }
.card.spot .spot-title{ -webkit-line-clamp:2; }
.spotwrap{ display:flex; }
.spotwrap > .card.spot{ flex:1; }
@media (min-width:700px){.spotwrap{ flex-basis:400px; }
}
@media (min-width:1024px){.spotwrap{ flex-basis:440px; }
}
.top10row .card.top10{ width:252px; }
.top10poster, .top10poster.has-img{ height:auto; aspect-ratio:1.91 / 1; border-radius:16px; }
.top10rank{ left:8px; top:8px; bottom:auto; z-index:2; display:flex; align-items:baseline; gap:1px; padding:5px 10px 6px; border-radius:11px; background:rgba(18,13,38,.78); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); font-size:20px; letter-spacing:-.02em; text-shadow:none; box-shadow:0 4px 12px rgba(0,0,0,.25); }
.top10rank small{ font-size:13px; font-weight:700; opacity:.7; }
.top10row .card.top10{ --ring:#8B7CF6; --ring2:#5B5BF0; --ringInk:#fff; }
.top10row .card.top10:nth-child(1){ --ring:#FCD34D; --ring2:#F59E0B; --ringInk:#1B1537; }
.top10row .card.top10:nth-child(2){ --ring:#F1F5F9; --ring2:#94A3B8; --ringInk:#1B1537; }
.top10row .card.top10:nth-child(3){ --ring:#FDBA74; --ring2:#B45309; --ringInk:#1B1537; }
.top10row .top10poster{ box-shadow:0 0 0 3px var(--ring2), 0 0 0 5px color-mix(in srgb, var(--ring) 35%, transparent), 0 16px 34px -14px color-mix(in srgb, var(--ring2) 70%, transparent); }
.top10row .top10rank{ background:linear-gradient(135deg, var(--ring), var(--ring2)); color:var(--ringInk); }
.top10row{ padding-top:8px !important; padding-bottom:18px !important; }
@media (min-width:1024px){.top10row .card.top10{ width:300px; }
}
.navbrand, .navextra{ display:none; }
@media (min-width:1024px){:root{ --side:232px; }
body{ padding-left:var(--side); }
body[data-screen="onboard"]{ padding-left:0; }
.wrap{ max-width:1180px; padding-inline:32px; }
main{ padding-bottom:56px; }
nav.bottomnav{ top:0; bottom:0; right:auto; width:var(--side); border-radius:0; box-shadow:1px 0 0 var(--line); background:var(--surface); }
nav.bottomnav .navwrap{ max-width:none; height:100%; flex-direction:column; justify-content:flex-start; align-items:stretch; gap:4px; padding:22px 14px; }
.navbrand{ display:flex; align-items:center; gap:10px; padding:4px 10px 22px; font-size:20px; font-weight:800; letter-spacing:-.02em; color:var(--ink); text-decoration:none; }
.navbrand img{ border-radius:10px; }
header.top.home .brand{ display:none; }
.menubtn{ display:none !important; }
.sheetwrap{ align-items:center; padding-left:var(--side); }
.sheet{ border-radius:24px; max-height:86vh; padding-bottom:24px; box-shadow:0 30px 70px -20px rgba(18,13,38,.45); }
.navextra{ display:flex; flex-direction:column; flex:1; gap:2px; margin-top:14px; padding-top:14px; border-top:1px solid var(--line); }
.navlink{ display:flex; align-items:center; gap:18px; width:100%; text-align:left; background:none; border:0; font:inherit; font-size:14px; font-weight:600; color:var(--ink-muted); padding:9px 14px; border-radius:10px; cursor:pointer; text-decoration:none; }
.navlink:hover{ background:var(--surface-2); color:var(--ink); }
.navlink .ic{ flex:0 0 auto; opacity:.8; margin-left:2px; }
.navorg{ margin-top:auto; display:flex; flex-direction:column; gap:2px; }
.navlink.org{ color:var(--accent-ink); font-weight:700; }
.navbrand em{ font-style:normal; color:var(--accent); }
.navbtn{ flex:none; max-width:none; flex-direction:row; justify-content:flex-start; gap:14px; padding:11px 14px; min-height:0; font-size:15px; font-weight:600; color:var(--ink-muted); opacity:1; border-radius:12px; }
.navbtn:hover{ background:var(--surface-2); color:var(--ink); }
.navbtn[data-active="true"]{ color:var(--accent-ink); background:color-mix(in srgb, var(--accent) 12%, transparent); font-weight:800; }
.navbtn .dotcount, .navbtn[data-active="true"] .dotcount{ width:24px; height:24px; margin:0; border-radius:0; background:none; box-shadow:none; color:inherit; }
.navbtn .badge{ top:-4px; right:-8px; }
.buybar{ left:calc(50% + var(--side) / 2); bottom:24px; }
.nudge{ left:calc(50% + var(--side) / 2); bottom:32px; }
.dmform{ left:calc(50% + var(--side) / 2); }
body.has-buybar #screenRoot{ padding-bottom:120px; }
.grid{ grid-template-columns:repeat(auto-fill, minmax(250px, 1fr)); gap:20px; }
.mood{ width:auto; padding:20px 20px 18px; border-radius:20px; transition:transform .15s, box-shadow .15s; }
.mood:hover{ transform:translateY(-2px); box-shadow:0 10px 24px -12px rgba(18,13,38,.35); }
.feedgrid{ grid-template-columns:repeat(4, minmax(0, 1fr)); gap:16px; }
.lrlist{ grid-template-columns:repeat(3, minmax(0,1fr)); }
.recorow .card{ min-width:280px; max-width:280px; }
.recorow, .top10row, .collrow, .clubrow-cards, .spot-track{ scrollbar-width:thin; scrollbar-color:var(--line-strong) transparent; }
.recorow::-webkit-scrollbar, .top10row::-webkit-scrollbar, .collrow::-webkit-scrollbar, .clubrow-cards::-webkit-scrollbar{ display:block; height:8px; }
.recorow::-webkit-scrollbar-thumb, .top10row::-webkit-scrollbar-thumb, .collrow::-webkit-scrollbar-thumb, .clubrow-cards::-webkit-scrollbar-thumb{ background:var(--line-strong); border-radius:99px; }
body[data-screen="detail"] .wrap, body[data-screen="profile"] .wrap, body[data-screen="chat"] .wrap, body[data-screen="community"] .wrap, body[data-screen="person"] .wrap{ max-width:880px; }
}
@media (min-width:1400px){:root{ --side:260px; }
.wrap{ max-width:1280px; }
}
.recorow .card-poster{ display:flex; flex-direction:column; }
.recorow .card-poster .card-body{ flex:1; }
.recorow .card-poster .title{ display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.recorow .card-poster .meta{ margin-top:auto; }
.soc-setup{ display:flex; align-items:center; gap:12px; width:100%; margin-bottom:var(--s4); padding:14px 16px; border:0; border-radius:18px; cursor:pointer; text-align:left; font:inherit; color:#fff;
    background:linear-gradient(120deg,#4F46E5,#7C3AED 60%,#EC4899); box-shadow:0 12px 26px -12px rgba(124,58,237,.6); }
.soc-setup > span{ font-size:24px; }
.soc-setup div{ flex:1; }
.soc-setup strong{ display:block; }
.soc-setup small{ opacity:.9; }
.soc-setup b{ font-size:20px; }
.convlist{ display:flex; flex-direction:column; background:var(--surface); border-radius:20px; box-shadow:var(--shadow); overflow:hidden; }
.convrow{ display:flex; align-items:center; gap:12px; padding:12px 14px; border:0; border-bottom:1px solid var(--line); background:none; font:inherit; color:var(--ink); text-align:left; cursor:pointer; }
.convrow:last-child{ border-bottom:0; }
.convrow:active{ background:var(--surface-2); }
.conv-mid{ flex:1; min-width:0; display:flex; flex-direction:column; }
.conv-mid strong{ font-size:15px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.conv-mid span{ font-size:13px; color:var(--ink-muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.conv-mid em{ font-style:normal; font-size:12px; font-weight:700; color:var(--accent); }
.convrow.unread .conv-mid strong, .convrow.unread .conv-mid span{ color:var(--ink); font-weight:800; }
.conv-end{ display:flex; flex-direction:column; align-items:flex-end; gap:4px; flex:none; }
.conv-end small{ font-size:12px; color:var(--ink-muted); }
.conv-end b{ min-width:20px; height:20px; padding:0 6px; border-radius:99px; background:var(--accent); color:#fff; font-size:12px; display:grid; place-items:center; }
.soc-search{ display:flex; align-items:center; gap:8px; margin-bottom:12px; padding:0 14px; border-radius:14px; background:var(--surface); box-shadow:var(--shadow); }
.soc-search svg{ width:18px; height:18px; color:var(--ink-muted); flex:none; }
.soc-search input{ flex:1; min-width:0; border:0; background:none; font:inherit; font-size:16px; padding:12px 0; outline:none; color:var(--ink); }
.invitecard{ display:flex; flex-direction:column; gap:10px; margin:0 0 var(--s4); padding:14px 16px; border-radius:18px; background:var(--surface-2); }
.invitecard strong{ display:block; }
.invitecard span{ font-size:13px; color:var(--ink-muted); }
.invite-btns{ display:flex; gap:8px; flex-wrap:wrap; }
.plist{ padding:4px 14px; }
.personrow{ display:flex; align-items:center; gap:12px; padding:10px 0; border-bottom:1px solid var(--line); cursor:pointer; }
.personrow:last-child{ border-bottom:0; }
.person-mid{ flex:1; min-width:0; display:flex; flex-direction:column; }
.person-mid strong{ font-size:15px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.person-mid span{ font-size:13px; color:var(--ink-muted); }
.req-btns{ display:flex; gap:6px; }
.hint-sm{ font-size:13px; color:var(--ink-muted); font-weight:600; }
.planrow{ display:flex; gap:12px; overflow-x:auto; scrollbar-width:none; margin:0 -20px; padding:2px 20px 6px; scroll-padding-left:20px; }
.planrow::-webkit-scrollbar{ display:none; }
.card.plancard{ flex:0 0 250px; flex-direction:row; gap:12px; padding:10px; align-items:center; }
.plan-poster{ width:64px; height:80px; flex:none; border-radius:12px; background:var(--surface-2) center/cover no-repeat; }
.plan-body{ min-width:0; display:flex; flex-direction:column; gap:3px; }
.plan-body strong{ font-size:14px; line-height:1.25; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.plan-body small{ font-size:12px; color:var(--ink-muted); }
.plan-body em{ font-style:normal; font-size:12px; font-weight:700; color:var(--accent); }
.plan-avs{ display:flex; }
.plan-avs .av + .av{ margin-left:-8px; }
.plan-who{ font-size:12px; font-weight:700; color:var(--accent); }
.friendchip{ display:inline-block; align-self:flex-start; margin-top:2px; font-size:12px; font-weight:700; color:var(--accent-ink); background:var(--surface-2); padding:3px 9px; border-radius:99px; }
.personsheet{ display:flex; flex-direction:column; align-items:center; text-align:center; padding-top:6px; }
.ps-name{ font-size:20px; margin-top:10px; }
.ps-user{ font-size:14px; color:var(--ink-muted); }
.ps-bio{ margin:10px 0 0; font-size:14px; }
.ps-genres{ display:flex; flex-wrap:wrap; gap:6px; justify-content:center; margin-top:10px; }
.ps-genres span{ font-size:12px; font-weight:700; padding:4px 10px; border-radius:99px; background:var(--surface-2); color:var(--accent-ink); }
.ps-stats{ display:flex; gap:20px; margin-top:12px; font-size:12px; color:var(--ink-muted); }
.ps-stats b{ display:block; font-size:18px; color:var(--ink); }
.ps-actions{ display:flex; gap:8px; width:100%; margin-top:16px; }
.ps-actions .btn{ flex:1; }
.ps-more{ display:flex; gap:18px; margin-top:12px; }
.ps-more .textbtn{ color:var(--ink-muted); font-size:13px; }
.reasons{ display:flex; flex-wrap:wrap; gap:8px; }
.mycode{ text-align:center; }
.mycode span{ display:block; font-size:13px; color:var(--ink-muted); }
.mycode-qr{ width:220px; aspect-ratio:1; margin:6px auto 12px; background:#fff; border-radius:16px; padding:10px; }
.mycode-qr svg{ width:100%; height:100%; }
.scanwrap{ position:fixed; inset:0; z-index:100; background:#000; }
.scanwrap video{ width:100%; height:100%; object-fit:cover; }
.scanframe{ position:absolute; left:50%; top:50%; width:min(64vw,280px); aspect-ratio:1; transform:translate(-50%,-50%); border:3px solid #fff; border-radius:24px; box-shadow:0 0 0 9999px rgba(0,0,0,.45); }
.scanhint{ position:absolute; left:16px; right:16px; bottom:calc(40px + env(safe-area-inset-bottom)); text-align:center; color:#fff; font-weight:700; }
.scanclose{ position:absolute; top:calc(16px + env(safe-area-inset-top)); right:16px; width:42px; height:42px; border-radius:50%; border:0; background:rgba(255,255,255,.2); color:#fff; font-size:18px; }
.pe-av{ display:flex; align-items:center; gap:14px; margin-bottom:6px; }
.profilehead .av.xxl{ width:96px; height:96px; font-size:38px; margin-bottom:var(--s2); box-shadow:0 0 0 4px var(--surface), 0 0 0 5px var(--line-strong); }
.profilehead .nickpill.center{ align-self:center; margin:2px 0 4px; }
.pe-sec{ margin:26px 0 2px; padding-top:18px; border-top:1px solid var(--line); font-size:12px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-muted); }
.sheet-title + .pe-av + .pe-sec, .sheet-title + .pe-sec{ border-top:0; padding-top:0; margin-top:14px; }
select.claim-input{ appearance:none; -webkit-appearance:none; background-image:linear-gradient(45deg, transparent 50%, var(--ink-muted) 50%), linear-gradient(135deg, var(--ink-muted) 50%, transparent 50%); background-position:calc(100% - 20px) 50%, calc(100% - 14px) 50%; background-size:6px 6px; background-repeat:no-repeat; padding-right:36px; }
.pe-gender button{ font-size:14px; }
.pe-account{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:10px; padding:14px; border-radius:14px; background:var(--bg); }
.pe-account div{ min-width:0; }
.pe-account small{ display:block; font-size:12px; color:var(--ink-muted); }
.pe-account strong{ display:block; font-size:15px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pe-save{ position:sticky; bottom:calc(-20px - env(safe-area-inset-bottom)); margin:22px -20px calc(-20px - env(safe-area-inset-bottom)); padding:12px 20px calc(16px + env(safe-area-inset-bottom)); background:var(--surface); border-top:1px solid var(--line); }
.pe-save .sheet-ok{ margin-top:0; width:100%; }
.pe-save .acc-msg:empty{ display:none; }
.pe-save .acc-msg{ margin-bottom:8px; }
.pe-list{ background:var(--bg); border-radius:14px; padding:4px 14px; }
.pe-list .hint-sm{ margin:10px 0; }
.pe-list .linkrow:last-child{ border-bottom:0; }
.pe-browse{ margin-top:10px; }
.sheet .appcard{ background:var(--bg); border-radius:14px; padding:4px 14px; }
.hstat{ display:flex; flex-direction:column; align-items:center; gap:1px; padding:10px 4px; border:0; border-radius:14px; background:rgba(255,255,255,.14); color:#fff; font:inherit; cursor:pointer; }
.hstat b{ font-size:20px; font-weight:800; letter-spacing:-.02em; line-height:1.1; }
.hstat span{ font-size:12px; font-weight:600; opacity:.85; line-height:1.25; text-align:center; }
.hstat:hover{ background:rgba(255,255,255,.22); }
.storyhead{ margin-top:32px; }
.browsegenres{ margin-top:12px; }
.browsegenres small{ font-size:12px; font-weight:700; opacity:.55; margin-left:3px; }
.clubstars b{ color:var(--accent-ink); font-weight:700; }
.storyhead + .storyrow{ margin-top:12px !important; }
.hstat:active{ transform:scale(.97); }
.sqbar{ display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin:4px 0 12px; }
.sqbar:empty{ display:none; }
.sq-ai{ font-size:13px; font-weight:800; color:var(--accent); }
.sq-chip{ font-size:13px; font-weight:700; padding:4px 10px; border-radius:99px; background:color-mix(in srgb, var(--accent) 14%, transparent); color:var(--accent-ink); }
.sq-chip.soft{ background:var(--surface-2); color:var(--ink-muted); }
.empty .sq-wide{ display:block; margin:14px auto 0; }
header.top.home .citypicker{ background:transparent; border:0; padding:6px 4px; min-height:36px; }
header.top.home .cityselect{ font-size:14px; font-weight:800; }
header.top.home .menubtn{ background:rgba(255,255,255,.12); }
header.top.home .search{ background:#fff; border:0; box-shadow:0 10px 24px -12px rgba(10,6,40,.55); }
header.top.home .search svg{ color:#5B5BD6; opacity:1; }
header.top.home .search input{ color:#1B1537; font-weight:600; }
header.top.home .search input::placeholder{ color:#7C7896; font-weight:500; }
header.top.home .hstat{ background:transparent; border-radius:0; padding:8px 2px; position:relative; }
header.top.home .hstat + .hstat::before{ content:""; position:absolute; left:0; top:22%; bottom:22%; width:1px; background:rgba(255,255,255,.2); }
header.top.home .hstat span{ opacity:.72; }
header.top.home .hstat[data-hstat="today"] b{ color:#FCD34D; }
header.top.home .hstat[data-hstat="today"] span{ color:#FCD34D; opacity:1; font-weight:800; }
.sqask-opt{ display:inline-flex; align-items:center; gap:6px; padding:8px 12px; border:1.5px solid var(--line); border-radius:99px; background:var(--bg); color:var(--ink); font:inherit; font-size:14px; font-weight:700; cursor:pointer; }
.sqask-opt small{ font-size:12px; font-weight:800; color:var(--accent); }
.sqask-opt:active{ transform:scale(.97); }
.fbfaces{ display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:8px; margin-bottom:12px; }
.fbface{ display:flex; flex-direction:column; align-items:center; gap:4px; padding:10px 4px; border:1.5px solid var(--line); border-radius:14px; background:var(--bg); font:inherit; color:var(--ink); cursor:pointer; }
.fbface span{ font-size:28px; line-height:1; }
.fbface small{ font-size:12px; font-weight:700; color:var(--ink-muted); }
.fbface[data-active]{ border-color:var(--accent); background:color-mix(in srgb, var(--accent) 12%, var(--bg)); }
.fbtext{ resize:vertical; min-height:96px; }
.sqpanel{ clear:both; margin:0 0 14px; padding:12px 0 12px 14px; border-radius:18px; background:var(--surface); box-shadow:var(--shadow-sm, var(--shadow)); }
.sqpanel.empty-panel{ display:none; }
.sqpanel .sqbar{ margin:0 14px 0 0; }
.sqrow{ display:flex; align-items:center; gap:10px; margin-top:10px; }
.sqrow-l{ flex:none; font-size:13px; font-weight:800; color:var(--ink-muted); min-width:74px; }
.sqrow-opts{ display:flex; gap:6px; overflow-x:auto; scrollbar-width:none; padding-right:14px; }
.sqrow-opts::-webkit-scrollbar{ display:none; }
.sqrow .sqask-opt{ flex:none; padding:7px 12px; white-space:nowrap; }
.sq-unknown{ margin:0 14px 0 0; font-size:14px; font-weight:800; }
.sq-unknown + .sqrow{ margin-top:8px; }
.pe-legal{ margin-top:12px; font-size:13px; color:var(--ink-muted); }
.pe-legal a{ color:var(--accent); font-weight:700; text-decoration:none; }
.pe-delete{ display:block; margin-top:14px; color:#DC2626; font-weight:700; }
.btn.danger-solid{ background:#DC2626; color:#fff; border-color:#DC2626; }
.btn.danger-solid:disabled{ opacity:.45; }
.acc-legal{ margin:10px 0 0; font-size:13px; color:var(--ink-muted); text-align:center; }
.acc-legal a{ color:var(--accent); font-weight:700; text-decoration:none; }
.ps-facts{ display:flex; flex-wrap:wrap; justify-content:center; gap:6px; margin-top:8px; }
.ps-facts:empty{ display:none; }
.ps-facts span{ font-size:13px; font-weight:700; color:var(--ink-muted); background:var(--surface-2); padding:4px 10px; border-radius:99px; }
.ps-was{ width:100%; text-align:left; margin-top:18px; }
.ps-was:empty{ display:none; }
.ps-was-h{ font-size:15px; font-weight:800; margin-bottom:8px; }
.ps-was-h small{ font-weight:600; color:var(--ink-muted); margin-left:6px; }
.ps-was .hint-sm{ margin:0; }
.ps-ev{ display:flex; align-items:center; gap:12px; width:100%; padding:8px; margin:0 0 6px; border:0; border-radius:14px; background:var(--bg); font:inherit; color:inherit; text-align:left; cursor:pointer; }
.ps-ev-img{ flex:none; width:48px; height:48px; border-radius:10px; background:var(--surface-2) center/cover no-repeat; }
.ps-ev-txt{ min-width:0; display:flex; flex-direction:column; gap:2px; }
.ps-ev-txt strong{ font-size:14px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ps-ev-txt small{ font-size:13px; color:var(--ink-muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pe-user{ display:flex; align-items:center; gap:6px; }
.pe-user span{ font-weight:800; color:var(--ink-muted); }
.pe-genres{ display:flex; flex-wrap:wrap; gap:6px; }
.pe-toggle{ display:flex; align-items:flex-start; gap:10px; padding:8px 0; font-size:14px; cursor:pointer; }
.pe-toggle input{ width:20px; height:20px; accent-color:var(--accent); flex:none; margin:1px 0 0; }
.pe-toggle small{ color:var(--ink-muted); }
.badges{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:10px; }
.badge{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:3px; padding:12px 8px; border-radius:16px; background:var(--surface); box-shadow:var(--shadow); opacity:.6; }
.badge.done{ opacity:1; box-shadow:0 0 0 2px #F5B82E, var(--shadow); }
.badge-ic{ font-size:28px; filter:grayscale(1); }
.badge.done .badge-ic{ filter:none; }
.badge strong{ font-size:12px; line-height:1.2; }
.badge small{ font-size:12px; color:var(--ink-muted); }
.badge i{ display:block; width:80%; height:4px; border-radius:99px; background:var(--line); overflow:hidden; }
.badge i em{ display:block; height:100%; background:var(--accent); }
.bellbtn{ position:relative; margin-left:auto; }
.simplehead .bellbtn + .menubtn{ margin-left:8px; }
.bellbtn .bell-n{ position:absolute; top:2px; right:2px; min-width:16px; height:16px; padding:0 4px; border-radius:99px; background:#EF4444; color:#fff; font-size:11px; font-weight:800; display:none; place-items:center; }
.bellbtn.has .bell-n{ display:grid; }
.notiflist{ display:flex; flex-direction:column; max-height:60vh; overflow:auto; }
.notifrow{ display:flex; gap:12px; align-items:center; padding:10px 4px; border:0; border-bottom:1px solid var(--line); background:none; font:inherit; color:var(--ink); text-align:left; cursor:pointer; }
.notifrow.new{ background:var(--surface-2); border-radius:12px; }
.notifrow span{ display:flex; flex-direction:column; min-width:0; }
.notifrow small{ color:var(--ink-muted); font-size:13px; }
.notifrow em{ font-style:normal; font-size:12px; color:var(--ink-muted); }
body.in-chat #navRoot{ display:none; }
.chathead h1{ flex:1; min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; cursor:pointer; font-size:18px; }
.chathead .av{ margin-left:4px; }
.dmlist{ display:flex; flex-direction:column; gap:6px; padding:8px 0 90px; min-height:50vh; }
.dm{ display:flex; flex-direction:column; max-width:80%; }
.dm.me{ align-self:flex-end; align-items:flex-end; }
.dm.them{ align-self:flex-start; align-items:flex-start; }
.dm > small{ font-size:12px; font-weight:700; color:var(--accent); margin:0 10px 2px; }
.dm-b{ padding:9px 13px; border-radius:18px; font-size:15px; line-height:1.4; overflow-wrap:anywhere; white-space:pre-wrap; }
.dm.me .dm-b{ background:var(--accent); color:#fff; border-bottom-right-radius:6px; }
.dm.them .dm-b{ background:var(--surface); color:var(--ink); box-shadow:var(--shadow); border-bottom-left-radius:6px; }
.dm.evmsg .dm-b{ padding:4px; background:var(--surface); box-shadow:var(--shadow); }
.dm em{ font-style:normal; font-size:12px; color:var(--ink-muted); margin:2px 8px 0; }
.dm-sys{ align-self:center; font-size:13px; color:var(--ink-muted); background:var(--surface-2); padding:5px 12px; border-radius:99px; margin:6px 0; text-align:center; }
.card.dm-ev, .card.outingev{ flex-direction:row; gap:10px; padding:8px; align-items:center; color:var(--ink); }
.card.outingev{ margin-bottom:12px; }
.dmform{ position:fixed; left:0; right:0; bottom:0; z-index:40; display:flex; gap:8px; padding:10px 16px calc(10px + env(safe-area-inset-bottom)); background:var(--surface); box-shadow:0 -8px 24px -12px rgba(18,13,38,.25); }
.dmform input{ flex:1; min-width:0; font:inherit; font-size:16px; padding:11px 16px; border-radius:99px; border:1.5px solid var(--line); background:var(--bg); color:var(--ink); outline:none; }
.dmform input:focus{ border-color:var(--accent); }
@media (min-width:768px){.dmform{ left:50%; right:auto; width:min(880px, 100%); transform:translateX(-50%); border-radius:18px 18px 0 0; }
}
.rsvpbar{ display:flex; align-items:center; gap:6px; flex-wrap:wrap; margin-bottom:10px; }
.rsvpbar > span{ font-weight:800; font-size:14px; margin-right:4px; }
.rsvppeople{ display:flex; gap:6px; flex-wrap:wrap; padding-bottom:12px; border-bottom:1px solid var(--line); margin-bottom:6px; }
.rsvpchip{ display:inline-flex; align-items:center; gap:6px; padding:3px 10px 3px 3px; border-radius:99px; background:var(--surface); box-shadow:var(--shadow); font-size:13px; font-weight:700; border:0; font-family:inherit; color:var(--ink); }
.rsvpchip i{ font-style:normal; color:var(--ink-muted); }
.rsvpchip.going i{ color:#16A34A; }
.rsvpchip.no{ opacity:.55; }
.rsvpchip.add{ padding:6px 12px; color:var(--accent); cursor:pointer; }
.picklist{ display:flex; flex-direction:column; max-height:55vh; overflow:auto; margin-bottom:6px; }
.pickrow{ display:flex; align-items:center; gap:12px; padding:10px 4px; border:0; border-bottom:1px solid var(--line); background:none; font:inherit; color:var(--ink); cursor:pointer; text-align:left; }
.pickrow span{ flex:1; font-weight:600; }
.pickrow i{ width:22px; height:22px; border-radius:50%; border:2px solid var(--line-strong); flex:none; }
.pickrow.on i{ background:var(--accent); border-color:var(--accent); box-shadow:inset 0 0 0 3px var(--surface); }
.socbox{ display:flex; flex-direction:column; gap:10px; margin-top:var(--s4); }
.invitebar{ display:flex; align-items:center; gap:14px; margin:0 0 12px; padding:14px 16px; border-radius:18px; color:#fff; background:linear-gradient(135deg, #5B4BF0 0%, #9B4DEB 55%, #E94A9C 100%); box-shadow:0 10px 26px -12px rgba(91,75,240,.6); }
.invitebar div{ flex:1; min-width:0; }
.invitebar b{ display:block; font-size:16px; }
.invitebar span{ display:block; font-size:14px; opacity:.92; line-height:1.35; margin-top:2px; }
.invitebar .btn{ background:#fff; color:#4338CA; flex:none; }
.pickrow small{ font-size:13px; color:var(--ink-muted); font-weight:500; }
.socbtns{ display:flex; gap:10px; }
.socbtns .btn{ flex:1; white-space:nowrap; }
.socbtns .btn.primary{ flex:2; }
.btn.checkin{ width:100%; }
.btn.checkin.on{ background:#DCFCE7; color:#166534; }
.photogrid{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:6px; }
.photo, .photoadd{ aspect-ratio:1; border:0; border-radius:12px; background:var(--surface-2) center/cover no-repeat; cursor:pointer; }
.photoadd{ display:flex; flex-direction:column; align-items:center; justify-content:center; font-size:28px; font-weight:300; color:var(--accent); border:2px dashed var(--line-strong); }
.photoadd small{ font-size:12px; font-weight:700; }
.photoview{ position:fixed; inset:0; z-index:100; background:rgba(0,0,0,.94); display:flex; align-items:center; justify-content:center; }
.photoview img{ max-width:100%; max-height:84vh; object-fit:contain; }
.pv-bar{ position:absolute; left:0; right:0; top:0; display:flex; align-items:center; gap:14px; padding:calc(14px + env(safe-area-inset-top)) 16px 14px; color:#fff; font-weight:600; }
.pv-bar span{ flex:1; }
.pv-bar .textbtn{ color:#fff; opacity:.85; }
.pv-x{ width:38px; height:38px; border-radius:50%; border:0; background:rgba(255,255,255,.18); color:#fff; font-size:16px; }
.pv-nav{ position:absolute; top:50%; transform:translateY(-50%); width:44px; height:44px; border-radius:50%; border:0; background:rgba(255,255,255,.18); color:#fff; font-size:26px; }
.pv-nav.prev{ left:12px; }
.pv-nav.next{ right:12px; }
.tixview-foot{ text-align:center; font-size:13px; opacity:.7; padding:12px 20px 18px; }
.onboard .chip[data-active="true"], .onboard .chip.cat[data-active="true"]{ background:var(--accent); border-color:var(--accent); color:#fff; box-shadow:0 6px 16px -6px var(--accent); }
.onboard .chip.cat[data-active="true"]::before{ background:#fff; }
.sololist{ display:flex; flex-direction:column; gap:10px; }
.card.solocard{ position:relative; display:flex; flex-direction:row; align-items:center; gap:14px; padding:10px 14px 10px 10px !important; border:0; border-radius:20px; overflow:hidden; isolation:isolate;
    background:#1A1735; color:#fff; cursor:pointer; box-shadow:0 14px 30px -18px rgba(0,0,0,.7); }
.solobg{ position:absolute; inset:0; z-index:-1; background:center/cover no-repeat; }
.solobg::before{ content:""; position:absolute; inset:-20px; background:inherit; filter:blur(22px) saturate(1.4) brightness(.45); }
.solobg::after{ content:""; position:absolute; inset:0; background:linear-gradient(90deg, rgba(26,23,53,.35), rgba(26,23,53,.85)); }
.solothumb{ position:relative; flex:0 0 46%; width:46%; aspect-ratio:1.91 / 1; border-radius:14px; overflow:hidden; background:#0C0A1C center/cover no-repeat; box-shadow:0 8px 20px rgba(0,0,0,.45); }
.solotxt{ display:flex; flex-direction:column; gap:4px; min-width:0; }
.solotitle{ font-size:16px; font-weight:800; line-height:1.2; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; font-language-override:normal; }
.solowhen{ font-size:13px; font-weight:800; color:#C7D2FE; }
.solovenue{ display:flex; align-items:center; gap:4px; font-size:13px; color:rgba(255,255,255,.72); min-width:0; }
.solovenue svg{ width:12px; height:12px; flex:none; }
.solovenue span{ white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.card.solocard:active{ transform:scale(.99); }
@media (min-width:700px){.sololist{ flex-direction:row; }
.card.solocard{ flex:1; min-width:0; }
.solotitle{ font-size:20px; }
}
.podium{ margin:16px 0 10px; }
@media (min-width:900px){.podium{ display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:18px; align-items:stretch; }
}
.card.spot{ box-shadow:0 2px 4px rgba(17,15,36,.10), 0 12px 20px -12px color-mix(in srgb, var(--dot) 70%, #1E1B4B) !important; }
.spot-track{ padding-bottom:30px !important; }
.spot-track{ scrollbar-width:none !important; }
.spot-track::-webkit-scrollbar{ display:none; }
.spot-track{ margin-bottom:-6px !important; }
.spotlight .spot-dots{ margin-top:14px; }
.solo-pill{ display:inline-flex; align-items:center; gap:7px; flex:none; padding:5px 11px 5px 9px; border-radius:999px; white-space:nowrap;
    font-size:12px; font-weight:800; color:var(--accent); background:color-mix(in srgb, var(--accent) 13%, transparent); border:1px solid color-mix(in srgb, var(--accent) 32%, transparent); }
.solo-pill i{ width:7px; height:7px; border-radius:50%; background:var(--accent); animation:solopulse 1.8s ease-out infinite; }
@keyframes solopulse{ 0%{ box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 55%, transparent); } 80%, 100%{ box-shadow:0 0 0 7px transparent; } }
@media (prefers-reduced-motion: reduce){.solo-pill i{ animation:none; }
}
.emptyrow, .foryou-low{ position:relative; display:flex; align-items:center; gap:14px; padding:16px; border-radius:20px; overflow:hidden; isolation:isolate;
    background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 14%, var(--surface)) 0%, var(--surface) 70%); border:1px solid color-mix(in srgb, var(--accent) 20%, transparent);
    color:var(--ink-muted); font-size:14px; line-height:1.45; }
.emptyrow::after, .foryou-low::after{ content:""; position:absolute; z-index:-1; right:-40px; top:-50px; width:150px; height:150px; border-radius:50%;
    background:radial-gradient(circle, color-mix(in srgb, #EC4899 28%, transparent), transparent 70%); }
.emptyrow-icon, .foryou-low > span:first-child{ flex:none; display:grid; place-items:center; width:52px; height:52px; border-radius:16px; font-size:26px;
    background:linear-gradient(135deg, #8B5CF6, #EC4899); box-shadow:0 10px 22px -10px #8B5CF6; }
.foryou-low > span:first-child{ width:42px; height:42px; border-radius:13px; font-size:20px; }
.emptyrow-txt{ display:flex; flex-direction:column; align-items:flex-start; gap:3px; min-width:0; }
.emptyrow-txt strong{ font-size:16px; font-weight:800; color:var(--ink); line-height:1.2; font-language-override:normal; }
.emptyrow-btn{ margin-top:8px; border:0; border-radius:999px; padding:8px 14px; font:inherit; font-size:13px; font-weight:800; background:var(--accent); color:#fff; cursor:pointer; }
.foryou-low b{ color:var(--ink); }
.htaste{ display:flex; align-items:center; gap:10px; margin-top:12px; }
.htaste-label{ flex:none; font-size:12px; font-weight:900; letter-spacing:.05em; text-transform:uppercase; line-height:1.2; color:rgba(255,255,255,.9); }
.htaste-chips{ display:flex; gap:6px; flex:1; min-width:0; overflow-x:auto; scrollbar-width:none; -webkit-mask-image:linear-gradient(90deg, #000 85%, transparent); mask-image:linear-gradient(90deg, #000 85%, transparent); }
.htaste-chips::-webkit-scrollbar{ display:none; }
.htaste .tastechip{ flex:none; padding:6px 11px; border-radius:999px; white-space:nowrap; font-size:13px; font-weight:700; color:#fff;
    background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.24); }
.htaste .tastechip:last-child{ margin-right:18px; }
.htaste-edit{ flex:none; display:grid; place-items:center; width:34px; height:34px; border:0; border-radius:50%; background:#fff; color:#4F46E5; cursor:pointer; box-shadow:0 6px 16px -6px rgba(0,0,0,.35); }
.ibanner{ position:relative; overflow:hidden; isolation:isolate; margin:0 0 18px; padding:18px 18px 16px 20px; border-radius:22px; color:#fff;
    background:linear-gradient(135deg, #5B4BF0 0%, #9B4DEB 55%, #E94A9C 100%); box-shadow:0 18px 36px -20px #7C3AED; }
.ibanner.other{ margin:48px 0 8px; background:linear-gradient(135deg, #0EA5A4 0%, #2563EB 60%, #5B4BF0 100%); box-shadow:0 18px 36px -20px #2563EB; }
.ibanner::after{ content:""; position:absolute; z-index:-1; right:-50px; top:-70px; width:190px; height:190px; border-radius:50%; background:radial-gradient(circle, rgba(255,255,255,.28), transparent 70%); }
.ib-top{ display:flex; align-items:center; justify-content:space-between; gap:14px; }
.ib-txt{ min-width:0; }
.ib-txt strong{ display:block; font-family:var(--font-display); font-language-override:normal; font-size-adjust:none; font-size:24px; font-weight:700; line-height:1.1; letter-spacing:-.01em; }
.ib-txt span{ display:block; margin-top:6px; font-size:14px; line-height:1.4; color:rgba(255,255,255,.9); }
.ib-btn{ flex:none; display:inline-flex; align-items:center; gap:6px; padding:9px 14px; border-radius:999px; font:inherit; font-size:13px; font-weight:800; cursor:pointer;
    color:#fff; background:rgba(255,255,255,.18); border:1px solid rgba(255,255,255,.4); }
.ib-btn svg{ width:15px; height:15px; }
.ibanner.mine .ib-btn:only-child, .ib-top > .ib-btn:not(:has(svg)){ background:#fff; color:#4F46E5; border-color:#fff; }
.ibanner.ask .ib-txt strong{ font-size:20px; }
.ib-chips{ display:flex; flex-wrap:wrap; gap:6px; margin-top:14px; }
.ib-chips .tastechip{ padding:6px 11px; border-radius:999px; white-space:nowrap; font-size:13px; font-weight:700; color:#fff; background:rgba(255,255,255,.16); border:1px solid rgba(255,255,255,.26); }
@media (max-width:380px){.ib-btn span{ display:none; }
.ib-btn{ padding:9px; }
.ib-txt strong{ font-size:22px; }
}
@media (min-width:900px){.ibanner{ padding:22px 26px; }
.ib-txt strong{ font-size:28px; }
.ib-txt span{ font-size:15px; }
.ib-chips .tastechip{ font-size:14px; padding:7px 13px; }
}
#screenRoot .storyrow.many{ justify-content:flex-start; gap:14px; overflow-x:auto; scrollbar-width:none; margin-left:-16px; margin-right:-16px; padding:4px 16px 2px; }
#screenRoot .storyrow.many::-webkit-scrollbar{ display:none; }
#screenRoot .storyrow.many .storybubble{ flex:0 0 72px; }
@media (min-width:900px){#screenRoot .storyrow.many{ gap:30px; margin-left:0; margin-right:0; padding:4px 0 2px; }
#screenRoot .storyrow.many .storybubble{ flex:0 0 100px; }
}
.day-head.storyhead{ margin-top:40px; }
.countdown + .reminderstack{ margin-top:14px; }
.homefooter-links a, .acc-legal a{ display:inline-block; padding:10px 2px; margin:-10px 0; }
.hero .htitle{ font-family:var(--font); font-language-override:normal; font-weight:800; letter-spacing:-.01em; }
.foryou-low{ display:flex; gap:10px; align-items:flex-start; margin:12px 0 4px; padding:12px 14px; border-radius:14px; background:var(--surface-2); font-size:14px; line-height:1.45; color:var(--ink-muted); }
.foryou-low b{ color:var(--ink); }
.clubcard-music{ font-size:12px; font-weight:700; color:var(--accent); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
body{ font-family:var(--font); font-size-adjust:.52; font-language-override:"RUS"; }
input, select, textarea, button{ font-family:inherit; }
body :is(button, input, select, textarea){ font-language-override:inherit !important; }
.brand, .navbrand, .simplehead h1, .simplehead .sh1, .day-head h2, .ob-body h1, .onboard .ob-body h1, .sheet-title, .ssr h1, .countdown-title, .empty strong{
    font-family:var(--font-display); font-language-override:normal; font-size-adjust:none; letter-spacing:-.01em; }
.brand, .home .brand{ font-size:clamp(16px, 4.8vw, 20px); font-weight:700; letter-spacing:-.02em; }
.navbrand{ font-size:18px; font-weight:700; }
.simplehead h1, .simplehead .sh1{ font-size:20px; font-weight:600; }
.day-head h2{ font-size:17px; font-weight:600; }
.ob-body h1, .onboard .ob-body h1{ font-size:26px; font-weight:700; line-height:1.18; }
.sheet-title{ font-weight:600; }
.empty strong{ font-size:17px; font-weight:600; }
.title, .htitle, .spot-title, .top10title, .feedtitle, .story-title, .eod-title, .calevent-title, .clubname, .lr-title, .acc-title{
    font-family:var(--font); font-language-override:normal; font-weight:800; letter-spacing:0; }
@media (max-width:420px){.ob-body h1, .onboard .ob-body h1{ font-size:22px; }
}
#screenRoot .storyname{ white-space:normal; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; line-height:1.25; }
@media (min-width:900px){#screenRoot > .storyrow, #screenRoot > .storyrow.many{ display:grid; grid-template-columns:repeat(var(--n, 6), minmax(0, 1fr)); justify-items:center; gap:12px; overflow:visible; padding:6px 0 2px; }
#screenRoot > .storyrow .storybubble, #screenRoot > .storyrow.many .storybubble{ width:min(112px, 100%); flex:none; }
#screenRoot > .storyrow .storyring{ width:min(112px, 100%); height:auto; aspect-ratio:1; }
}
.inforow:has(.gobtn){ align-items:center; }
.inforow > div{ flex:1; min-width:0; }
.gobtn{ flex:none; display:inline-flex; align-items:center; gap:6px; padding:9px 13px; border-radius:999px; border:0; font:inherit; font-size:13px; font-weight:800; cursor:pointer;
    background:var(--accent); color:#fff; box-shadow:0 8px 18px -10px var(--accent); }
#screenRoot .gobtn svg{ width:15px; height:15px; color:#fff; stroke:#fff; }
.navsheet{ display:flex; flex-direction:column; gap:10px; margin-top:14px; }
.navsheet .navopt{ justify-content:center; text-decoration:none; font-weight:800; }
.navsheet-addr{ display:flex; align-items:center; gap:6px; margin:6px 0 0; color:var(--ink-muted); font-size:14px; }
.navsheet-addr svg{ flex:none; }
.detail-actions [data-navgo] svg{ width:16px; height:16px; }
.nudge.appnudge{ position:fixed; z-index:70; left:12px; right:12px; bottom:calc(96px + env(safe-area-inset-bottom)); display:flex; align-items:center; gap:14px;
    padding:14px 40px 14px 14px; border-radius:22px; color:#fff; background:linear-gradient(135deg, #5B4BF0, #9B4DEB 60%, #E94A9C);
    box-shadow:0 24px 50px -18px rgba(76,29,149,.65); opacity:0; transform:translateY(16px); transition:opacity .3s, transform .3s; }
.nudge.appnudge.on{ opacity:1; transform:none; }
.nudge-icon{ flex:none; width:52px; height:52px; border-radius:14px; box-shadow:0 6px 16px rgba(0,0,0,.25); }
.nudge-txt{ display:flex; flex-direction:column; gap:3px; min-width:0; }
.nudge-txt strong{ font-size:16px; font-weight:800; }
.nudge-txt span{ font-size:13px; line-height:1.35; color:rgba(255,255,255,.9); }
.nudge-actions{ display:flex; gap:8px; margin-top:8px; }
.nudge-x{ position:absolute; top:8px; right:8px; width:30px; height:30px; border:0; border-radius:50%; background:rgba(255,255,255,.18); color:#fff; cursor:pointer; font-size:13px; }
.nudge.desk{ left:auto; right:24px; bottom:24px; width:380px; padding:16px 44px 16px 16px; }
.nudge-qr{ flex:none; width:104px; height:104px; padding:8px; border-radius:14px; background:#fff; }
.nudge-qr svg{ display:block; width:100%; height:100%; }
@media (prefers-reduced-motion: reduce){.nudge{ transition:none; }
}
.storebadge{ display:inline-flex; align-items:center; gap:8px; padding:6px 12px 6px 10px; border-radius:11px; border:1px solid rgba(255,255,255,.35);
    background:#000; color:#fff; font:inherit; cursor:pointer; text-align:left; line-height:1.05; }
.storebadge span{ display:flex; flex-direction:column; }
.storebadge small{ font-size:11px; font-weight:600; letter-spacing:.02em; opacity:.9; }
.storebadge b{ font-size:15px; font-weight:700; letter-spacing:-.01em; }
.nudge.desk .nudge-actions{ flex-wrap:wrap; }
.nudge.desk .storebadge{ padding:5px 10px 5px 8px; }
.nudge.desk .storebadge b{ font-size:14px; }
.ints-label{ margin:16px 0 8px; font-size:13px; font-weight:800; color:var(--ink-muted); text-transform:uppercase; letter-spacing:.04em; }
.ints-chips{ display:flex; flex-wrap:wrap; gap:8px; }
.ints-chips .chip[data-active="true"]{ background:var(--accent); border-color:var(--accent); color:#fff; }
.ints-chips .chip.cat[data-active="true"] .dot{ background:#fff; }
#siSave{ margin-top:20px; width:100%; }
.rv-head{ display:flex; align-items:center; gap:12px; margin:0 0 6px; }
.rv-poster{ flex:none; width:84px; aspect-ratio:1.91/1; border-radius:10px; background:#0C0A1C center/cover no-repeat; }
.rv-head small{ display:block; font-size:12px; color:var(--ink-muted); }
.rv-head strong{ display:block; font-size:15px; line-height:1.25; }
.rv-votes{ display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:12px 0; }
.rv-vote{ display:flex; flex-direction:column; align-items:center; gap:4px; padding:14px 8px; border-radius:16px; border:1.5px solid var(--line-strong); background:var(--surface); font:inherit; font-size:26px; cursor:pointer; color:var(--ink); }
.rv-vote span{ font-size:13px; font-weight:800; }
.rv-vote.on[data-vote="up"]{ border-color:#16A34A; background:color-mix(in srgb, #16A34A 12%, var(--surface)); }
.rv-vote.on[data-vote="down"]{ border-color:#DC2626; background:color-mix(in srgb, #DC2626 10%, var(--surface)); }
.rv-artists{ display:flex; flex-direction:column; gap:8px; }
.rv-heart{ display:flex; align-items:center; gap:10px; width:100%; padding:8px 12px 8px 8px; border-radius:14px; border:1.5px solid var(--line-strong); background:var(--surface); font:inherit; cursor:pointer; color:var(--ink); text-align:left; }
.rv-heart b{ flex:1; font-size:14px; }
.rv-heart i{ font-style:normal; font-size:20px; color:#EC4899; }
.rv-heart.on{ border-color:#EC4899; background:color-mix(in srgb, #EC4899 10%, var(--surface)); }
.rv-av{ flex:none; width:36px; height:36px; border-radius:50%; background:var(--surface-2) center/cover no-repeat; }
.rv-acomment{ margin-top:6px; }
.rv-foot{ display:flex; justify-content:space-between; margin-top:10px; }
.reviewsbox{ display:flex; flex-direction:column; gap:10px; }
.reviews-sum{ display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; color:var(--ink-muted); font-size:14px; }
.rv-big{ font-size:24px; font-weight:800; color:var(--ink); }
.rv-item{ display:flex; gap:10px; padding:12px 14px; border-radius:16px; background:var(--surface); box-shadow:var(--shadow-sm, 0 2px 8px rgba(0,0,0,.06)); }
.rv-item p{ margin:0; font-size:14px; line-height:1.45; color:var(--ink); }
.rv-item small{ display:block; margin-top:4px; font-size:12px; color:var(--ink-muted); }
.rv-mark{ flex:none; font-size:18px; }
.inbox-n{ min-width:22px; height:22px; padding:0 6px; border-radius:999px; display:none; place-items:center; font-size:12px; font-weight:800; background:#EF4444; color:#fff; }
.notif-ic{ flex:none; display:grid; place-items:center; width:40px; height:40px; border-radius:50%; background:color-mix(in srgb, var(--accent) 14%, transparent); color:var(--accent); font-size:18px; }
.notif-ic.rv{ background:linear-gradient(135deg, #F59E0B, #EC4899); color:#fff; }
.notifrow.ask{ border:1.5px solid color-mix(in srgb, #F59E0B 55%, transparent); }
@media (max-width:430px){header.top.home .citypicker:has(~ .homebell), header.top.home .cityline:has(.homebell) .citypicker{ display:none; }
}
.tabcount{ display:inline-grid; place-items:center; min-width:18px; height:18px; padding:0 5px; margin-left:4px; border-radius:999px; background:#EF4444; color:#fff; font-size:12px; font-weight:800; vertical-align:1px; }
.reqlink{ display:flex; align-items:center; justify-content:space-between; width:100%; margin:14px 0 0; padding:12px 16px; border:0; border-radius:16px; font:inherit; font-size:14px; font-weight:800; cursor:pointer;
    background:color-mix(in srgb, #EF4444 10%, var(--surface)); color:var(--ink); border:1px solid color-mix(in srgb, #EF4444 30%, transparent); }
.tour{ position:fixed; inset:0; z-index:120; display:flex; flex-direction:column; color:#fff; overflow:hidden; user-select:none; -webkit-user-select:none;
    background:radial-gradient(120% 80% at 50% 0%, var(--accent) 0%, #3B2A9E 45%, #120D26 100%); padding:calc(12px + env(safe-area-inset-top)) 18px calc(24px + env(safe-area-inset-bottom)); }
.tour.f-taste{ background:radial-gradient(120% 80% at 50% 0%, #A855F7 0%, #5B21B6 45%, #120D26 100%); }
.tour.f-ticket{ background:radial-gradient(120% 80% at 50% 0%, #0EA5E9 0%, #1D4ED8 45%, #0B1026 100%); }
.tour.f-friends{ background:radial-gradient(120% 80% at 50% 0%, #EC4899 0%, #9D174D 45%, #1A0B1A 100%); }
.tour.f-bell{ background:radial-gradient(120% 80% at 50% 0%, #F59E0B 0%, #B45309 45%, #1C1206 100%); }
.tour.f-rate{ background:radial-gradient(120% 80% at 50% 0%, #10B981 0%, #047857 45%, #06201A 100%); }
.tour-bars{ display:flex; gap:4px; }
.tour-bars span{ flex:1; height:3px; border-radius:3px; background:rgba(255,255,255,.3); overflow:hidden; }
.tour-bars i{ display:block; height:100%; width:0; background:#fff; }
.tour-x{ position:absolute; top:calc(22px + env(safe-area-inset-top)); right:16px; z-index:3; width:36px; height:36px; border:0; border-radius:50%; background:rgba(255,255,255,.18); color:#fff; font-size:15px; cursor:pointer; }
.tour-stage{ flex:1; display:grid; place-items:center; min-height:0; }
.tour-art{ width:min(320px, 86vw); height:min(320px, 50vh); display:grid; place-items:center; position:relative; animation:tourin .5s ease-out; }
@keyframes tourin{ from{ opacity:0; transform:scale(.92) translateY(10px); } to{ opacity:1; transform:none; } }
.tour-text{ text-align:center; max-width:520px; margin:0 auto 18px; animation:tourin .6s ease-out; }
.tour-text strong{ display:block; font-family:var(--font-display); font-language-override:normal; font-size-adjust:none; font-size:26px; font-weight:700; line-height:1.15; }
.tour-text p{ margin:10px 0 0; font-size:16px; line-height:1.45; color:rgba(255,255,255,.88); }
.tour-tap{ position:absolute; top:70px; bottom:120px; width:35%; z-index:2; cursor:pointer; }
.tour-tap.prev{ left:0; }
.tour-tap.next{ right:0; }
.tour-go{ position:relative; z-index:3; align-self:center; width:min(100%, 420px); padding:15px; border:0; border-radius:16px; background:#fff; color:#3B2A9E; font:inherit; font-size:16px; font-weight:800; cursor:pointer; }
.ta-hello img{ border-radius:26px; box-shadow:0 20px 50px rgba(0,0,0,.4); animation:tpulse 1.6s ease-in-out infinite; }
.ta-hello i{ position:absolute; font-style:normal; font-size:34px; animation:tfloat 3s ease-in-out infinite; }
.ta-hello i:nth-child(2){ top:6%; left:12%; }
.ta-hello i:nth-child(3){ top:10%; right:10%; animation-delay:.5s; }
.ta-hello i:nth-child(4){ bottom:12%; left:8%; animation-delay:1s; }
.ta-hello i:nth-child(5){ bottom:8%; right:14%; animation-delay:1.5s; }
.ta-hello i:nth-child(6){ top:44%; right:0; animation-delay:.8s; }
@keyframes tpulse{ 50%{ transform:scale(1.07); } }
@keyframes tfloat{ 50%{ transform:translateY(-14px) rotate(6deg); } }
.ta-taste{ display:flex; flex-wrap:wrap; justify-content:center; gap:10px; }
.ta-taste span{ padding:10px 16px; border-radius:999px; background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.3); font-weight:700; font-size:15px; animation:tlight 4.8s infinite; }
.ta-taste span:nth-child(2){ animation-delay:.6s; }
.ta-taste span:nth-child(3){ animation-delay:1.2s; }
.ta-taste span:nth-child(4){ animation-delay:1.8s; }
.ta-taste span:nth-child(5){ animation-delay:2.4s; }
.ta-taste span:nth-child(6){ animation-delay:3s; }
@keyframes tlight{ 0%, 15%{ background:rgba(255,255,255,.14); color:#fff; transform:none; } 25%, 100%{ background:#fff; color:#5B21B6; transform:scale(1.06); } }
.tt-qr{ width:150px; height:150px; margin:0 auto; border-radius:10px; background:repeating-conic-gradient(#111 0 25%, #fff 0 50%) 0 0/24px 24px; position:relative; overflow:hidden; }
.tt-qr::after{ content:""; position:absolute; left:0; right:0; height:3px; background:#22C55E; box-shadow:0 0 12px #22C55E; animation:tscan 1.6s ease-in-out infinite; }
@keyframes tslide{ from{ transform:translateY(60px) rotate(-6deg); opacity:0; } to{ transform:none; opacity:1; } }
@keyframes tscan{ 0%, 100%{ top:0; } 50%{ top:calc(100% - 3px); } }
@keyframes tfade{ from{ opacity:0; } to{ opacity:1; } }
.ta-friends{ display:flex; flex-direction:column; gap:10px; width:100%; }
.tf-avs{ display:flex; justify-content:center; margin-bottom:8px; }
.tf-avs span{ width:54px; height:54px; margin:0 -6px; display:grid; place-items:center; font-size:28px; border-radius:50%; background:#fff; border:3px solid #9D174D; animation:tpop .5s ease-out both; }
.tf-avs span:nth-child(2){ animation-delay:.3s; }
.tf-avs span:nth-child(3){ animation-delay:.6s; }
.tf-avs span:nth-child(4){ animation-delay:.9s; }
.tf-msg{ max-width:78%; padding:10px 14px; border-radius:18px; font-size:15px; animation:tpop .4s ease-out both; }
.tf-msg.a{ align-self:flex-start; background:rgba(255,255,255,.18); border-bottom-left-radius:6px; }
.tf-msg.b{ align-self:flex-end; background:#fff; color:#9D174D; border-bottom-right-radius:6px; font-weight:700; }
.tf-msg:nth-of-type(2){ animation-delay:1.3s; }
.tf-msg:nth-of-type(3){ animation-delay:2.3s; }
.tf-msg:nth-of-type(4){ animation-delay:3.3s; }
@keyframes tpop{ from{ opacity:0; transform:translateY(12px) scale(.9); } to{ opacity:1; transform:none; } }
.ta-bell{ display:flex; flex-direction:column; align-items:center; gap:12px; width:100%; }
.tb-ic{ font-size:72px; animation:tring 1.4s ease-in-out infinite; transform-origin:50% 10%; }
@keyframes tring{ 0%, 60%, 100%{ transform:rotate(0); } 10%{ transform:rotate(14deg); } 20%{ transform:rotate(-12deg); } 30%{ transform:rotate(8deg); } 40%{ transform:rotate(-6deg); } }
.tb-n{ width:100%; padding:12px 16px; border-radius:16px; background:#fff; color:#1C1206; box-shadow:0 12px 30px rgba(0,0,0,.35); animation:tpop .5s ease-out both; }
.tb-n b{ display:block; }
.tb-n small{ color:#78716C; }
.tb-n.n1{ animation-delay:.6s; }
.tb-n.n2{ animation-delay:1.6s; }
@keyframes tchoose{ 0%, 20%{ background:rgba(255,255,255,.16); transform:none; } 30%, 100%{ background:#fff; transform:scale(1.1); } }
@media (prefers-reduced-motion: reduce){.tour *{ animation-duration:.01s !important; animation-iteration-count:1 !important; }
}
.consent{ position:fixed; inset:0; z-index:200; display:grid; place-items:center; padding:20px; background:rgba(12,10,28,.62); backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px); animation:tfade .25s ease-out; }
body.consent-open{ overflow:hidden; }
.consent-card{ width:min(100%, 440px); max-height:calc(100vh - 40px); overflow:auto; padding:26px 22px 20px; border-radius:28px; background:var(--surface); color:var(--ink); text-align:center;
    box-shadow:0 30px 80px -20px rgba(0,0,0,.6); animation:tpop .35s ease-out; }
.consent-ic{ width:76px; height:76px; margin:0 auto 12px; display:grid; place-items:center; font-size:42px; border-radius:24px; background:linear-gradient(135deg, #FDE68A, #F59E0B); box-shadow:0 12px 26px -10px #F59E0B; }
.consent-card h2{ margin:0 0 10px; font-family:var(--font-display); font-language-override:normal; font-size-adjust:none; font-size:24px; font-weight:700; line-height:1.15; }
.consent-card p{ margin:0 0 12px; font-size:15px; line-height:1.5; color:var(--ink-muted); }
.consent-card p b{ color:var(--ink); }
.consent-card ul{ list-style:none; margin:0 0 18px; padding:12px 14px; border-radius:16px; background:var(--surface-2); text-align:left; font-size:14px; line-height:1.7; color:var(--ink); }
.consent-btns{ display:flex; flex-direction:column; gap:10px; }
.consent-btns button{ width:100%; padding:15px; border-radius:16px; font:inherit; font-size:16px; font-weight:800; cursor:pointer; }
.consent-yes{ border:0; background:var(--accent); color:#fff; box-shadow:0 10px 24px -10px var(--accent); }
.consent-no{ border:2px solid var(--line-strong); background:var(--surface); color:var(--ink); }
.consent-more{ display:inline-block; margin-top:14px; padding:6px; font-size:13px; font-weight:700; color:var(--accent); }
#screenRoot > .ibanner.mine{ margin-top:8px; }
#screenRoot > .podium{ margin-top:16px; }
#screenRoot > .storyrow + .spotlight{ margin-top:32px; }
#screenRoot > .storyrow.many, #screenRoot > .clubrow-cards, #screenRoot #clubsSection .clubrow-cards{ margin-left:-20px; margin-right:-20px; padding-left:20px; padding-right:20px; scroll-padding:0 20px; }
@media (min-width:900px){#screenRoot > .ibanner.mine{ margin-top:16px; }
#screenRoot > .podium{ margin-top:24px; }
#screenRoot > .day-head, #screenRoot > .countdown, #screenRoot > .homefooter{ margin-top:64px !important; }
#screenRoot > .day-head + *:not(.feedmore){ margin-top:20px !important; }
#screenRoot > .ibanner.other{ margin-top:80px; margin-bottom:0; }
#screenRoot > .ibanner.other + .day-head{ margin-top:40px !important; }
#screenRoot > .storyrow + .spotlight{ margin-top:40px; }
#screenRoot > .storyrow.many, #screenRoot > .clubrow-cards, #screenRoot #clubsSection .clubrow-cards{ margin-left:0; margin-right:0; padding-left:0; padding-right:0; scroll-padding:0; }
#screenRoot .solocard{ padding:14px 20px 14px 14px !important; gap:20px; }
#screenRoot .emptyrow{ padding:22px 24px; }
}
.profilehead{ background:linear-gradient(160deg, var(--surface) 0%, var(--surface-2) 100%); border-radius:24px; padding:28px 20px 22px; margin-top:6px; box-shadow:var(--shadow); }
.ptile{ display:flex; flex-direction:column; align-items:center; gap:8px; padding:14px 4px 12px; border:0; border-radius:18px; background:var(--surface); box-shadow:var(--shadow); color:var(--ink); font:inherit; font-size:13px; font-weight:600; cursor:pointer; transition:transform .15s ease, box-shadow .15s ease; }
.ptile:active{ transform:scale(.96); }
.ptile-ic{ position:relative; display:grid; place-items:center; width:42px; height:42px; border-radius:14px; background:hsl(var(--h) 90% 95%); color:hsl(var(--h) 70% 48%); }
.ptile-ic svg{ width:21px; height:21px; }
.ptile-ic b{ position:absolute; top:-6px; right:-8px; min-width:20px; height:20px; padding:0 5px; border-radius:999px; background:var(--coral); color:#fff; font-size:12px; line-height:20px; box-shadow:0 0 0 2px var(--surface); }
.plist{ margin-top:26px; background:var(--surface); border-radius:20px; box-shadow:var(--shadow); overflow:hidden; }
.plist-row{ display:flex; align-items:center; justify-content:space-between; width:100%; min-height:54px; padding:0 18px; border:0; border-bottom:1px solid var(--line); background:none; color:var(--ink); font:inherit; font-size:15px; font-weight:500; text-decoration:none; text-align:left; cursor:pointer; }
.plist-row:last-child{ border-bottom:0; }
.plist-row:active{ background:var(--surface-2); }
.plist-chev{ color:var(--ink-muted); flex:none; }
.pfoot{ text-align:center; color:var(--ink-muted); font-size:12px; margin:18px 0 8px; }
.gp-hero{ text-align:center; padding:18px 12px 0; }
.gp-hero img{ width:60px; height:60px; border-radius:18px; box-shadow:0 16px 36px -14px rgba(82,101,255,.7); }
.gp-hero h2{ font-family:var(--font-display); font-size:22px; margin:12px 0 4px; letter-spacing:-.02em; }
.gp-hero p{ margin:0; color:var(--ink-muted); font-size:15px; }
.gp-list{ display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:18px 0 4px; }
.gp-row{ display:flex; gap:10px; align-items:center; padding:12px; background:var(--surface); border-radius:16px; box-shadow:var(--shadow); min-width:0; }
.gp-ic{ display:grid; place-items:center; flex:none; width:38px; height:38px; border-radius:12px; background:hsl(var(--h) 90% 94%); font-size:18px; }
.gp-row div{ min-width:0; }
.gp-row strong{ display:block; font-size:14px; line-height:1.2; }
.gp-row small{ display:block; color:var(--ink-muted); font-size:12px; line-height:1.3; margin-top:2px; }
.gp .accountcard{ margin-top:16px; }
.gp .accountcard > .acc-title, .gp .accountcard > .acc-note:first-of-type{ display:none; }
:root[data-theme="dark"] .ptile-ic, :root[data-theme="dark"] .gp-ic{ background:hsl(var(--h) 40% 22%); color:hsl(var(--h) 85% 75%); }
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .ptile-ic, :root:not([data-theme="light"]) .gp-ic{ background:hsl(var(--h) 40% 22%); color:hsl(var(--h) 85% 75%); }
}
.card-head.venue-photo{ background-size:cover; background-position:center; }
.card-head.venue-photo::before{ content:''; display:block; inset:0; width:auto; height:auto; right:auto; top:auto; border-radius:0; background:linear-gradient(180deg, rgba(12,9,32,.10) 0%, rgba(12,9,32,.55) 100%); }
.card-head.venue-photo::after{ display:none; }
.card-head.no-img{ background:
      radial-gradient(90% 120% at 100% 100%, color-mix(in srgb, var(--dot) 34%, transparent), transparent 70%),
      linear-gradient(150deg, color-mix(in srgb, var(--dot) 22%, var(--surface-2)) 0%, var(--surface-2) 75%); }
.cardhead-art{ position:absolute; right:14px; bottom:4px; z-index:0; font-size:64px; line-height:1; transform:rotate(-8deg); filter:drop-shadow(0 10px 18px color-mix(in srgb, var(--dot) 45%, transparent)); pointer-events:none; }
.card-poster .card-body{ gap:6px; padding:14px 6px 8px; }
.cwhen{ display:flex; align-items:center; gap:8px; font-size:13px; font-weight:700; color:var(--accent-ink, var(--accent)); letter-spacing:.01em; }
.cwhen-cat{ display:inline-flex; align-items:center; gap:5px; padding:3px 9px 3px 8px; border-radius:999px; background:color-mix(in srgb, var(--dot) 13%, transparent); color:color-mix(in srgb, var(--dot) 80%, var(--ink)); font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.cwhen-cat::before{ content:''; width:6px; height:6px; border-radius:50%; background:var(--dot); }
.card-poster .venue{ color:var(--ink-muted); font-size:14px; }
.card-poster .meta{ margin-top:4px; }
.recorow .card-poster .meta{ margin-top:auto; padding-top:6px; }
.card-poster .card-head{ border-radius:14px; }
.card-poster .savebtn{ width:36px; height:36px; border-radius:12px; box-shadow:0 4px 14px rgba(12,9,32,.18); }
.card{ transition:transform .18s ease, box-shadow .18s ease; }
.card:active{ transform:scale(.985); }
.cwhen > span:last-child{ min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.recorow .card-poster .title{ -webkit-line-clamp:2; }
.recorow .card-poster .venue span{ display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
header.top.home .bellbtn, header.top.home .menubtn{ background:rgba(255,255,255,.14); color:#fff; border:1px solid rgba(255,255,255,.18); backdrop-filter:blur(8px); }
.ibanner.ask{ padding:14px 14px 14px 18px; border-radius:20px; margin-bottom:14px; }
.ibanner.ask .ib-top{ align-items:center; gap:12px; }
.ibanner.ask .ib-txt strong{ font-family:var(--font-display) !important; font-language-override:normal; font-size:16px !important; font-weight:700; letter-spacing:-.01em; }
.ibanner.ask .ib-txt span{ font-size:13px; margin-top:3px; }
.ibanner.ask .ib-btn{ padding:9px 14px; font-size:13px; }
.hero-event .dwhen{ margin:16px 4px 6px; }
.hero-event .htitle{ margin-top:2px; }
.hero-event .hero-visual.venue-photo{ background-size:cover; background-position:center; }
.hero-event .hero-visual.no-img .cardhead-art{ font-size:96px; right:24px; bottom:12px; }
.inforow .sub{ font-size:14px; color:var(--ink-muted); margin-top:2px; font-variant-numeric:tabular-nums; }
.dactions{ display:grid; grid-template-columns:repeat(3, 1fr); gap:10px; margin:14px 0 6px; }
.dact{ display:flex; flex-direction:column; align-items:center; gap:6px; padding:12px 6px; border:0; border-radius:16px; background:var(--surface); box-shadow:var(--shadow); color:var(--ink); font:inherit; font-size:13px; font-weight:700; cursor:pointer; transition:transform .15s ease; }
.dact svg{ width:20px; height:20px; color:var(--accent); }
.dact.on{ background:color-mix(in srgb, var(--accent) 10%, var(--surface)); color:var(--accent-ink, var(--accent)); }
.dact:active{ transform:scale(.95); }
.chatcard{ position:relative; margin:28px 0 8px; padding:18px 16px 16px; border-radius:24px; color:#fff; overflow:hidden; isolation:isolate;
    background:radial-gradient(120% 90% at 100% 0%, rgba(236,72,153,.35), transparent 60%), linear-gradient(150deg, #312E81 0%, #4C1D95 55%, #1E1B4B 100%);
    box-shadow:0 22px 44px -22px rgba(76,29,149,.8); }
.chatcard-head{ display:flex; align-items:center; gap:12px; margin-bottom:12px; }
.chatcard-ic{ display:grid; place-items:center; width:44px; height:44px; border-radius:14px; background:rgba(255,255,255,.14); font-size:22px; flex:none; }
.chatcard-head strong{ display:flex; align-items:center; gap:8px; font-size:17px; }
.chatcard-head small{ display:block; font-size:13px; color:rgba(255,255,255,.75); margin-top:2px; }
.chatcard .livedot{ width:8px; height:8px; border-radius:50%; background:#22C55E; box-shadow:0 0 0 0 rgba(34,197,94,.7); animation:sgpulse 1.8s infinite; }
@keyframes sgpulse{ 0%{ box-shadow:0 0 0 0 rgba(34,197,94,.7); } 70%{ box-shadow:0 0 0 8px rgba(34,197,94,0); } 100%{ box-shadow:0 0 0 0 rgba(34,197,94,0); } }
.chatcard .chatlist{ max-height:260px; }
.chatcard .chatmsg{ background:rgba(255,255,255,.12); color:#fff; backdrop-filter:blur(4px); }
.chatcard .chatmsg .who{ color:rgba(255,255,255,.7); }
.chatcard .chatmsg.mine{ background:#fff; color:#1E1B4B; }
.chatcard .chatmsg.mine .who{ color:#6E7083; }
.chatcard .chat-empty, .chatcard .chat-unavail{ color:rgba(255,255,255,.8); }
.chatcard .chatinputrow input{ background:rgba(255,255,255,.95); border:0; }
.chatcard .chatsend{ background:#fff; color:#4C1D95; }
.chat-cta{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:12px; padding:12px 12px 12px 16px; border-radius:16px; background:rgba(255,255,255,.12); font-size:14px; font-weight:700; }
.chat-cta .btn{ flex:none; background:#fff; color:#4C1D95; border:0; min-height:40px; padding:0 14px; font-size:13px; }
@media (max-width:380px){.chat-cta{ flex-direction:column; align-items:stretch; text-align:center; }
}
.lr-poster.no-img{ position:relative; overflow:hidden; background:linear-gradient(150deg, color-mix(in srgb, var(--dot) 26%, var(--surface-2)), var(--surface-2)); }
.lr-poster .cardhead-art{ font-size:42px; right:50%; bottom:50%; transform:translate(50%, 50%) rotate(-8deg); }
.lr-poster.venue-photo{ position:relative; overflow:hidden; }
.lr-poster.venue-photo::after{ content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(12,9,32,0), rgba(12,9,32,.35)); }
.lr-when{ color:var(--accent-ink, var(--accent)); }
.lr-when i + *{ color:color-mix(in srgb, var(--dot) 85%, var(--ink)); }
.fg-hero{ text-align:center; padding:22px 18px 24px; margin-top:6px; border-radius:26px; color:#fff;
    background:radial-gradient(110% 90% at 0% 0%, rgba(236,72,153,.45), transparent 55%), linear-gradient(150deg, #4F46E5 0%, #7C3AED 60%, #4C1D95 100%); box-shadow:0 22px 44px -22px rgba(79,70,229,.8); }
.fg-avs{ display:flex; justify-content:center; margin-bottom:14px; }
.fg-av{ display:grid; place-items:center; width:54px; height:54px; margin:0 -7px; border-radius:50%; font-size:28px; background:hsl(var(--h) 90% 92%); box-shadow:0 0 0 3px rgba(255,255,255,.9); }
.fg-hero h2{ font-family:var(--font-display); font-size:22px; margin:0 0 6px; letter-spacing:-.02em; }
.fg-hero p{ margin:0; font-size:15px; color:rgba(255,255,255,.88); line-height:1.45; }
.fg-list{ display:flex; flex-direction:column; gap:2px; margin:18px 0 18px; padding:6px 16px; background:var(--surface); border-radius:20px; box-shadow:var(--shadow); }
.fg-row{ display:flex; align-items:center; gap:14px; padding:12px 0; border-bottom:1px solid var(--line); }
.fg-row:last-child{ border-bottom:0; }
.fg-row > span{ font-size:22px; width:28px; text-align:center; flex:none; }
.fg-row strong{ display:block; font-size:15px; }
.fg-row small{ display:block; font-size:13px; color:var(--ink-muted); margin-top:1px; }
.fg-cta, .fg-login{ display:flex; width:100%; justify-content:center; }
.fg-cta{ min-height:52px; }
.fg-login{ margin-top:10px; min-height:48px; }
.gcard{ display:flex; align-items:center; gap:12px; margin:16px 0 12px; padding:14px 14px 14px 16px; border-radius:20px; color:#fff;
    background:linear-gradient(135deg, #F97316 0%, #EC4899 55%, #8B5CF6 100%); box-shadow:0 16px 30px -16px rgba(236,72,153,.7); }
.gcard.calm{ color:var(--ink); background:linear-gradient(135deg, color-mix(in srgb, #F59E0B 14%, var(--surface)) 0%, var(--surface) 100%); box-shadow:var(--shadow); }
.gcard-ic{ display:grid; place-items:center; width:44px; height:44px; border-radius:14px; background:color-mix(in srgb, #F59E0B 22%, transparent); font-size:22px; flex:none; }
.gcard-avs{ display:flex; flex:none; padding-left:6px; }
.gcard-avs > *{ margin-left:-8px; box-shadow:0 0 0 2px rgba(255,255,255,.9); border-radius:50%; }
.gcard-face{ display:grid; place-items:center; width:34px; height:34px; border-radius:50%; background:rgba(255,255,255,.95); font-size:20px; }
.gcard-txt{ flex:1; min-width:0; }
.gcard-txt strong{ display:block; font-size:16px; font-weight:800; }
.gcard-txt small{ display:block; font-size:13px; opacity:.88; margin-top:2px; }
.gcard-btn{ flex:none; display:inline-flex; align-items:center; gap:6px; padding:9px 13px; border:0; border-radius:999px; background:rgba(255,255,255,.95); color:#BE185D; font:inherit; font-size:13px; font-weight:800; cursor:pointer; }
.gcard-btn svg{ width:15px; height:15px; }
#goingSection{ margin-top:4px; }
.gcard-txt strong{ font-size:15px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.gcard-avs > *{ margin-left:-12px; }
.gcard-face{ width:32px; height:32px; font-size:17px; }
@media (max-width:400px){.gcard-avs > *:nth-child(n+3){ display:none; }
.gcard-btn span{ display:none; }
.gcard-btn{ padding:10px; }
}
.socbox .socbtns{ display:block; margin-top:12px; }
.socbox .socbtns #outingBtn{ width:100%; min-height:50px; justify-content:center; font-weight:800; font-size:15px; }
.socbox .socbtns + .socnote{ margin:8px 2px 0; font-size:14px; color:var(--ink-muted); }
.acc-forgot{ display:block; margin:10px auto 0; font-size:14px; font-weight:700; color:var(--accent-ink, var(--accent)); }
.tour.f-buy{ background:radial-gradient(120% 80% at 50% 0%, var(--accent) 0%, #312E81 45%, #0D0B26 100%); }
.tour.f-scan{ background:radial-gradient(120% 80% at 50% 0%, #22C55E 0%, #166534 45%, #04170C 100%); }
.ta-buy{ width:min(280px, 80vw); display:flex; flex-direction:column; gap:8px; }
.tbu-ev{ display:grid; grid-template-columns:52px 1fr; column-gap:12px; align-items:center; padding:10px; border-radius:16px; background:#fff; color:#17153A; animation:tpop .5s ease-out both; }
.tbu-ev i{ grid-row:span 2; width:52px; height:52px; border-radius:12px; background:linear-gradient(135deg,#F59E0B,#EC4899,var(--accent)); }
.tbu-ev b{ font-size:15px; }
.tbu-ev small{ color:#6B6A80; font-size:13px; }
.tbu-row{ display:flex; justify-content:space-between; padding:12px 14px; border-radius:14px; background:rgba(255,255,255,.12); border:1.5px solid rgba(255,255,255,.25); font-size:15px; animation:tpop .4s ease-out both; }
.tbu-row.r1{ animation-delay:.6s; }
.tbu-row.r2{ animation:tpop .4s ease-out .9s both, tpick .4s ease-out 1.8s forwards; }
@keyframes tpick{ to{ background:#fff; color:#312E81; border-color:#fff; transform:scale(1.03); } }
.tbu-pay{ margin-top:6px; padding:14px; border-radius:14px; background:#22C55E; color:#fff; text-align:center; font-weight:800; animation:tpop .4s ease-out 2.4s both, tpress .3s ease-in 3.2s; }
@keyframes tpress{ 50%{ transform:scale(.94); } }
.tbu-ok{ text-align:center; font-weight:800; font-size:17px; color:#86EFAC; animation:tpop .5s ease-out 3.7s both; }
.ta-scan{ position:relative; display:grid; place-items:center; }
.ts-phone{ width:190px; padding:22px 16px 16px; border-radius:30px; background:#fff; color:#166534; text-align:center; box-shadow:0 0 0 6px rgba(255,255,255,.18), 0 30px 60px rgba(0,0,0,.45); animation:tbright 4.8s ease-in-out infinite; }
.ts-phone .tt-qr{ width:140px; height:140px; }
.ts-phone span{ display:block; margin-top:10px; font-size:12px; font-weight:700; }
@keyframes tbright{ 0%, 15%{ filter:brightness(.55); } 30%, 100%{ filter:brightness(1.1); } }
.ts-ok{ position:absolute; bottom:-46px; padding:10px 22px; border-radius:999px; background:#22C55E; color:#fff; font-weight:800; font-size:18px; box-shadow:0 10px 30px rgba(34,197,94,.6); animation:tpop .5s ease-out 2.6s both; }
.demotix{ display:flex; align-items:center; gap:14px; width:100%; padding:4px 0; border:0; background:none; font:inherit; color:inherit; text-align:left; cursor:pointer; }
.demotix-qr{ flex:0 0 56px; height:56px; border-radius:12px; background:repeating-conic-gradient(#17153A 0 25%, #fff 0 50%) 0 0/14px 14px; box-shadow:0 0 0 4px #fff, 0 0 0 5px var(--line, #E6E6F0), 0 8px 18px rgba(23,21,58,.15); }
.demotix-text{ flex:1; min-width:0; display:flex; flex-direction:column; gap:2px; }
.demotix-text em{ align-self:flex-start; font-style:normal; font-size:12px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--accent-ink, var(--accent)); background:var(--surface-2); padding:2px 8px; border-radius:6px; }
.demotix-text b{ font-size:15px; }
.demotix-text small{ font-size:13px; color:var(--ink-muted); }
.tixview.demo{ overflow-y:auto; }
.demotix-scroll{ display:flex; flex-direction:column; align-items:center; padding:0 0 24px; }
.tixcard.demo{ position:relative; width:calc(100% - 40px); flex:none; }
.tixcard-thumb.demo{ background:linear-gradient(135deg,#F59E0B,#EC4899,var(--accent)); }
.demotix-stamp{ position:absolute; top:46%; left:50%; transform:translate(-50%,-50%) rotate(-14deg); padding:6px 16px; border:3px solid #E11D48; border-radius:10px; color:#E11D48; font-weight:900; font-size:22px; letter-spacing:.12em; background:rgba(255,255,255,.85); pointer-events:none; }
.tixcard.demo .tixcard-state{ color:#6B6A80; }
.demotix-how{ width:calc(100% - 40px); max-width:380px; margin-top:18px; }
.demotix-how strong{ display:block; font-size:18px; margin-bottom:10px; }
.demotix-how ol{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; }
.demotix-how li{ display:flex; gap:12px; padding:12px 14px; border-radius:16px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12); }
.demotix-how li > span{ flex:0 0 28px; height:28px; border-radius:50%; display:grid; place-items:center; background:#fff; color:#3B2FC9; font-weight:800; font-size:14px; }
.demotix-how li b{ display:block; font-size:15px; }
.demotix-how li small{ display:block; font-size:13px; line-height:1.45; opacity:.8; margin-top:2px; }
.demotix-how p{ font-size:13px; line-height:1.5; opacity:.75; margin:14px 2px; }
.demotix-go{ width:100%; }
.reminderstack{ margin:26px 0 30px; gap:10px; }
.reminderstack .reminder{ align-items:center; gap:14px; padding:12px 14px 12px 12px; border-radius:20px; background:var(--surface); border:1px solid color-mix(in srgb, var(--accent) 22%, transparent); box-shadow:0 10px 26px -14px color-mix(in srgb, var(--accent) 55%, transparent); }
.reminder-thumb{ position:relative; flex:0 0 58px; height:58px; border-radius:14px; background:linear-gradient(135deg,var(--accent),#EC4899) center/cover; }
.reminder-thumb i{ position:absolute; right:-6px; top:-6px; width:24px; height:24px; border-radius:50%; display:grid; place-items:center; background:var(--accent); color:#fff; box-shadow:0 0 0 3px var(--surface); }
.reminder-thumb i svg{ width:13px; height:13px; }
.reminderstack .reminder-body{ flex:1; min-width:0; }
.reminderstack .reminder-label{ margin-bottom:2px; }
.reminder-title{ font-weight:800; font-size:15px; line-height:1.3; color:var(--ink); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.reminder-venue{ font-size:13px; color:var(--ink-muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; margin-top:1px; }
.reminderstack .plist-chev{ flex:none; color:var(--ink-muted); }
.cdate-row{ display:flex; align-items:flex-end; gap:12px; margin:-34px 0 4px 8px; position:relative; z-index:2; pointer-events:none; }
.cdate{ flex:none; width:50px; padding:5px 0 6px; border-radius:14px; background:var(--surface); text-align:center; line-height:1; box-shadow:0 8px 20px -6px rgba(12,9,32,.35), 0 0 0 1px color-mix(in srgb, var(--ink) 6%, transparent); overflow:hidden; position:relative; }
.cdate::before{ content:''; position:absolute; left:0; right:0; top:0; height:4px; background:var(--dot); }
.cdate small{ display:block; font-size:9.5px; font-weight:800; text-transform:uppercase; letter-spacing:.08em; color:var(--ink-muted); }
.cdate small:first-child{ margin-top:3px; color:color-mix(in srgb, var(--dot) 85%, var(--ink)); }
.cdate b{ display:block; font-size:22px; font-weight:800; color:var(--ink); margin:2px 0 1px; font-family:var(--font-display); }
.cdate-txt{ min-width:0; display:flex; flex-direction:column; gap:2px; padding-bottom:2px; }
.ccat{ display:inline-flex; align-items:center; gap:6px; font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.07em; color:color-mix(in srgb, var(--dot) 85%, var(--ink)); white-space:nowrap; }
.ccat::before{ content:''; width:7px; height:7px; border-radius:50%; background:var(--dot); box-shadow:0 0 0 3px color-mix(in srgb, var(--dot) 20%, transparent); }
.ctime{ font-size:14px; font-weight:800; color:var(--ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.card-poster .card-body{ padding-top:10px; }
.tt-qr.still::after{ display:none; }
.ta-prof{ display:grid; place-items:center; }
.tp-phone{ position:relative; width:230px; height:340px; padding:14px 12px; border-radius:30px; background:#F4F5FB; color:#17153A; box-shadow:0 0 0 6px rgba(255,255,255,.18), 0 30px 60px rgba(0,0,0,.45); overflow:hidden; text-align:left; animation:tslide .8s ease-out; }
.tp-top{ display:flex; align-items:center; gap:10px; padding:4px 4px 12px; }
.tp-av{ width:36px; height:36px; border-radius:50%; display:grid; place-items:center; background:linear-gradient(135deg,#0EA5E9,var(--accent)); color:#fff; font-weight:800; }
.tp-top b{ display:block; font-size:15px; }
.tp-top small{ font-size:12px; color:#6B6A80; }
.tp-label{ font-size:12px; font-weight:800; letter-spacing:.07em; text-transform:uppercase; color:#6B6A80; margin:2px 4px 8px; }
.tp-row{ position:relative; display:flex; align-items:center; gap:10px; padding:9px; border-radius:14px; background:#fff; box-shadow:0 4px 12px rgba(23,21,58,.08); margin-bottom:8px; animation:tpop .4s ease-out .5s both; }
.tp-row.dim{ opacity:.55; animation-delay:.7s; }
.tp-row i{ flex:none; width:38px; height:38px; border-radius:10px; background:linear-gradient(135deg,#F59E0B,#EC4899,var(--accent)); }
.tp-row.dim i{ background:linear-gradient(135deg,#10B981,#0EA5E9); }
.tp-row div{ flex:1; min-width:0; }
.tp-row b{ display:block; font-size:13px; }
.tp-row small{ font-size:12px; color:#6B6A80; }
.tp-btn{ flex:none; padding:6px 10px; border-radius:10px; background:#5265FF; color:#fff; font-size:12px; font-weight:800; }
.tp-tap{ position:absolute; right:14px; top:50%; width:34px; height:34px; margin-top:-17px; border-radius:50%; background:rgba(82,101,255,.35); border:2px solid #fff; opacity:0; animation:ttap .7s ease-out 1.6s both; }
@keyframes ttap{ 0%{ opacity:0; transform:scale(1.6); } 50%{ opacity:1; transform:scale(.9); } 100%{ opacity:0; transform:scale(1.2); } }
.tp-qrsheet{ position:absolute; left:8px; right:8px; bottom:8px; padding:14px 12px 12px; border-radius:22px; background:#fff; text-align:center; box-shadow:0 -10px 30px rgba(23,21,58,.25); transform:translateY(110%); animation:tsheet .5s cubic-bezier(.2,.8,.2,1) 2.2s forwards; }
.tp-qrsheet b{ display:block; font-size:14px; margin-bottom:8px; }
.tp-qrsheet .tt-qr{ width:104px; height:104px; }
.tp-qrsheet em{ display:block; margin-top:8px; font-style:normal; font-size:12px; font-weight:800; color:#16A34A; }
@keyframes tsheet{ to{ transform:none; } }
.ts-frame{ position:absolute; left:50%; top:50%; width:170px; height:170px; margin:-94px 0 0 -85px; pointer-events:none; animation:tframe 4.8s ease-in-out infinite; }
.ts-frame i{ position:absolute; width:30px; height:30px; border:4px solid #fff; filter:drop-shadow(0 0 6px rgba(34,197,94,.9)); }
.ts-frame i:nth-child(1){ left:0; top:0; border-right:0; border-bottom:0; border-radius:10px 0 0 0; }
.ts-frame i:nth-child(2){ right:0; top:0; border-left:0; border-bottom:0; border-radius:0 10px 0 0; }
.ts-frame i:nth-child(3){ left:0; bottom:0; border-right:0; border-top:0; border-radius:0 0 0 10px; }
.ts-frame i:nth-child(4){ right:0; bottom:0; border-left:0; border-top:0; border-radius:0 0 10px 0; }
.ts-frame u{ position:absolute; left:10px; right:10px; height:3px; background:#22C55E; box-shadow:0 0 14px #22C55E; animation:tscan 1.4s ease-in-out .6s 2; }
@keyframes tframe{ 0%{ transform:scale(1.25); opacity:0; } 12%, 100%{ transform:none; opacity:1; } }
.ts-ok{ white-space:nowrap; }
.menusheet{ transform-origin:top right; animation:menuspring .32s cubic-bezier(.2,.9,.25,1.15); }
@keyframes menuspring{ from{ opacity:0; transform:translateY(-10px) scale(.92); } to{ opacity:1; transform:none; } }
.menusheet > *{ animation:menuitemin .34s cubic-bezier(.2,.8,.2,1) both; }
.menusheet > *:nth-child(2){ animation-delay:.03s; }
.menusheet > *:nth-child(3){ animation-delay:.06s; }
.menusheet > *:nth-child(4){ animation-delay:.09s; }
.menusheet > *:nth-child(5){ animation-delay:.12s; }
.menusheet > *:nth-child(6){ animation-delay:.15s; }
.menusheet > *:nth-child(n+7){ animation-delay:.18s; }
@keyframes menuitemin{ from{ opacity:0; transform:translateX(10px); } to{ opacity:1; transform:none; } }
.menuwrap.closing .menusheet{ animation:menuout .2s ease-in forwards; }
.menuwrap.closing .menubackdrop, .sheetwrap.closing .sheetbackdrop{ animation:fadeout .2s ease-in forwards; }
@keyframes menuout{ to{ opacity:0; transform:translateY(-8px) scale(.94); } }
@keyframes fadeout{ to{ opacity:0; } }
.sheet{ animation:sheetspring .38s cubic-bezier(.2,.9,.25,1.05); }
@keyframes sheetspring{ from{ transform:translateY(100%); } to{ transform:none; } }
.sheetwrap.closing .sheet{ animation:sheetdown .22s cubic-bezier(.4,0,1,1) forwards; }
@keyframes sheetdown{ to{ transform:translateY(105%); } }
@media (min-width:900px){.sheet{ animation:sheetzoom .28s cubic-bezier(.2,.9,.25,1.1); }
@keyframes sheetzoom{ from{ opacity:0; transform:translateY(16px) scale(.96); } to{ opacity:1; transform:none; } }
.sheetwrap.closing .sheet{ animation:menuout .2s ease-in forwards; }
}
.sheet > *{ animation:menuitemin .4s cubic-bezier(.2,.8,.2,1) .06s both; }
.nudge{ animation:toastspring .4s cubic-bezier(.2,.9,.25,1.2); }
@keyframes toastspring{ from{ opacity:0; transform:translate(-50%, 24px) scale(.95); } to{ opacity:1; transform:translateX(-50%); } }
.nudge.closing{ animation:toastout .25s ease-in forwards; }
@keyframes toastout{ to{ opacity:0; transform:translate(-50%, 16px) scale(.97); } }
.tixview{ animation:tixup .4s cubic-bezier(.2,.9,.25,1.05); }
@keyframes tixup{ from{ transform:translateY(40px); opacity:0; } to{ transform:none; opacity:1; } }
.tixview .tixcard{ animation:tixcardin .55s cubic-bezier(.2,.9,.25,1.15) .08s both; }
@keyframes tixcardin{ from{ transform:translateY(30px) rotate(-2deg) scale(.96); opacity:0; } to{ transform:none; opacity:1; } }
.savebtn.pop svg, .navbtn.pop svg{ animation:pop .42s cubic-bezier(.3,1.6,.5,1); }
@keyframes pop{ 0%{ transform:scale(1); } 35%{ transform:scale(1.32); } 100%{ transform:scale(1); } }
.savebtn[data-saved="true"].pop{ animation:savering .5s ease-out; }
@keyframes savering{ 0%{ box-shadow:0 0 0 0 color-mix(in srgb, var(--accent) 55%, transparent); } 100%{ box-shadow:0 0 0 14px transparent; } }
.btn, .menuitem, .navbtn, .chip, .textbtn, .savebtn{ transition:transform .15s ease, background-color .2s ease, color .2s ease, box-shadow .2s ease; }
.btn:active, .menuitem:active, .chip:active, .savebtn:active{ transform:scale(.96); }
.navbtn:active svg{ transform:scale(.88); transition:transform .12s ease; }
@media (prefers-reduced-motion: reduce){.menusheet, .menusheet > *, .sheet, .sheet > *, .nudge, .tixview, .tixview .tixcard{ animation:none !important; }
}
.podium{ margin:18px 0 8px; }
.card.pd{ position:relative; display:block; padding:0; border:0; overflow:hidden; cursor:pointer; isolation:isolate; text-decoration:none; color:inherit; }
.pd-art{ position:relative; display:block; overflow:hidden; background:#1E1650; }
.pd-bg{ position:absolute; inset:-24px; background:center/cover no-repeat; filter:blur(24px) saturate(1.4) brightness(.8); transform:scale(1.1); }
.pd-img{ position:absolute; inset:0; background:center/contain no-repeat; }
.pd-badge{ position:absolute; z-index:2; display:inline-flex; align-items:center; gap:6px; padding:6px 11px 6px 9px; border-radius:999px; font-size:12px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:#fff;
    background:rgba(15,12,40,.45); backdrop-filter:blur(10px) saturate(1.4); -webkit-backdrop-filter:blur(10px) saturate(1.4); border:1px solid rgba(255,255,255,.22); }
.pd-badge svg{ flex:none; }
.pd-badge .promo-tag{ margin-left:2px; }
.card.pd-day{ border-radius:26px; box-shadow:0 22px 44px -22px rgba(30,22,80,.65); }
.pd-day .pd-art{ aspect-ratio:4 / 3.4; }
.pd-day .pd-art::after{ content:''; position:absolute; inset:0; background:linear-gradient(180deg, rgba(12,9,32,0) 38%, rgba(12,9,32,.55) 62%, rgba(12,9,32,.94) 100%); }
.pd-day .pd-badge{ top:14px; left:14px; color:#FFE08A; border-color:rgba(255,224,138,.35); }
.pd-day .pd-txt{ position:absolute; z-index:2; left:0; right:0; bottom:0; padding:18px 70px 18px 18px; color:#fff; }
.pd-day .pd-title{ display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; font-family:var(--font-display); font-size:24px; line-height:1.12; font-weight:700; letter-spacing:-.01em; text-shadow:0 2px 14px rgba(0,0,0,.4); }
.pd-meta{ display:flex; flex-wrap:wrap; align-items:center; gap:4px 10px; margin-top:8px; font-size:14px; }
.pd-meta b{ display:inline-flex; align-items:center; gap:6px; font-weight:800; }
.pd-day .pd-meta span{ opacity:.82; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:100%; }
.pd-day .pd-meta span::before{ content:'·'; margin-right:10px; opacity:.7; }
.pd-go{ position:absolute; z-index:2; right:16px; bottom:18px; width:42px; height:42px; border-radius:50%; display:grid; place-items:center; background:#fff; color:#1E1650; box-shadow:0 8px 20px rgba(0,0,0,.35); transition:transform .2s ease; }
.card.pd-day:active .pd-go{ transform:translateX(4px); }
.card.pd-day.paid{ box-shadow:0 0 0 2px #F5B82E, 0 22px 44px -20px rgba(245,158,11,.6); }
.pd-day .pd-img{ animation:pdzoom 14s ease-out 1 both; }
@keyframes pdzoom{ from{ transform:scale(1); } to{ transform:scale(1.06); } }
.pd-pair{ display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:12px; }
.card.pd-small{ border-radius:22px; background:var(--surface); box-shadow:var(--shadow); display:flex; flex-direction:column; }
.pd-small .pd-art{ aspect-ratio:1 / 1; border-radius:16px; margin:6px 6px 0; }
.pd-small .pd-badge{ left:8px; bottom:8px; padding:5px 9px 5px 7px; font-size:9.5px; }
.pd-week .pd-badge{ color:#C7D2FE; }
.pd-month .pd-badge{ color:#FDE68A; }
.pd-small .pd-txt{ display:flex; flex-direction:column; gap:4px; padding:10px 12px 14px; }
.pd-small .pd-title{ display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; font-size:15px; line-height:1.25; font-weight:800; color:var(--ink); }
.pd-small .pd-meta{ margin-top:0; font-size:13px; color:var(--accent-ink, var(--accent)); }
.pd-small .promo-tag{ align-self:flex-start; }
.card.pd-small.paid{ box-shadow:0 0 0 2px #F5B82E, var(--shadow); }
.card.pd:active{ transform:scale(.985); }
@media (min-width:900px){.podium{ display:grid; grid-template-columns:1.35fr 1fr; gap:18px; align-items:stretch; }
.pd-day .pd-art{ aspect-ratio:auto; height:100%; min-height:360px; }
.pd-pair{ margin-top:0; }
.pd-small .pd-art{ aspect-ratio:4 / 3.6; }
.pd-day .pd-title{ font-size:30px; }
}
@media (prefers-reduced-motion: reduce){.pd-day .pd-img{ animation:none; }
}
.podium .card.pd{ padding:0 !important; }
.podium .card.pd-day{ background:#1E1650; }
.podium .pd-day .pd-meta{ flex-direction:column; align-items:flex-start; gap:3px; }
.podium .pd-day .pd-meta span::before{ content:none; }
.podium .pd-day .pd-title{ font-size:24px; }
.podium .pd-small .pd-art{ margin:6px 6px 0; }
@property --pdang{ syntax:'<angle>'; initial-value:0deg; inherits:false; }
.card.pd{ --pdring:conic-gradient(from var(--pdang), #FFD86B, #FF6FB5, #7C5CFF, #4FD1FF, #FFD86B); }
.card.pd::before{ content:''; position:absolute; inset:0; z-index:4; border-radius:inherit; padding:2px; background:var(--pdring); pointer-events:none;
    -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask:linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0);
    animation:pdspin 6s linear infinite; }
@keyframes pdspin{ to{ --pdang:360deg; } }
.card.pd-week{ --pdring:conic-gradient(from var(--pdang), #C7D2FE, var(--accent), #E0E7FF, #818CF8, #C7D2FE); }
.card.pd-month{ --pdring:conic-gradient(from var(--pdang), #FDE68A, #B45309, #FFF7D6, #F59E0B, #FDE68A); }
.pd-shine{ position:absolute; inset:0; z-index:1; pointer-events:none; overflow:hidden; }
.pd-shine::before{ content:''; position:absolute; top:-20%; bottom:-20%; width:38%; left:-60%; transform:skewX(-18deg);
    background:linear-gradient(90deg, transparent, rgba(255,255,255,.28), transparent); animation:pdsweep 5.5s ease-in-out 2; }
.pd-week .pd-shine::before{ animation-delay:1.4s; }
.pd-month .pd-shine::before{ animation-delay:2.8s; }
@keyframes pdsweep{ 0%, 62%{ transform:translateX(0) skewX(-18deg); } 100%{ transform:translateX(500%) skewX(-18deg); } }
.card.pd-day{ box-shadow:0 24px 50px -22px rgba(124,92,255,.75), 0 10px 30px -18px rgba(255,111,181,.6); }
.pd-day .pd-badge{ background:linear-gradient(135deg, rgba(255,216,107,.25), rgba(15,12,40,.55)); }
.podium .card.pd-small{ color:#fff; background:radial-gradient(120% 90% at 50% 0%, #2B2A6B 0%, #15123A 70%); box-shadow:0 18px 36px -20px rgba(67,56,202,.7); }
.podium .card.pd-month{ background:radial-gradient(120% 90% at 50% 0%, #4A3410 0%, #1C1405 72%); box-shadow:0 18px 36px -20px rgba(180,83,9,.75); }
.podium .pd-small .pd-title{ color:#fff; }
.podium .pd-week .pd-meta{ color:#C7D2FE; }
.podium .pd-month .pd-meta{ color:#FCD34D; }
.pd-small .pd-badge{ font-weight:900; }
.pd-month .pd-badge{ background:linear-gradient(135deg, rgba(253,230,138,.28), rgba(28,20,5,.6)); border-color:rgba(253,230,138,.45); }
.pd-week .pd-badge{ background:linear-gradient(135deg, rgba(199,210,254,.25), rgba(21,18,58,.6)); border-color:rgba(199,210,254,.4); }
.pd-small .pd-art{ box-shadow:0 10px 24px -12px rgba(0,0,0,.7); }
@supports not (background:conic-gradient(from 0deg, red, blue)){.card.pd::before{ display:none; }
}
@media (prefers-reduced-motion: reduce){.card.pd::before, .pd-shine::before{ animation:none; }
}
.card.pd::before{ animation:none; padding:1px; background:linear-gradient(180deg, rgba(255,255,255,.35), rgba(255,255,255,.06) 45%, rgba(255,255,255,.14)); }
.card.pd-week::before{ background:linear-gradient(180deg, rgba(199,210,254,.6), rgba(199,210,254,.08) 50%, rgba(199,210,254,.2)); }
.card.pd-month::before{ background:linear-gradient(180deg, rgba(253,230,138,.75), rgba(217,119,6,.15) 50%, rgba(253,230,138,.3)); }
.card.pd-day{ box-shadow:0 24px 48px -24px rgba(30,22,80,.7); }
.podium{ perspective:900px; }
.card.pd{ transform:perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)); transform-style:preserve-3d; transition:transform .35s cubic-bezier(.2,.8,.2,1), box-shadow .35s ease; }
.card.pd.tilt{ transition:transform .08s linear, box-shadow .2s ease; }
.card.pd:active{ transform:perspective(900px) rotateX(var(--rx, 0deg)) rotateY(var(--ry, 0deg)) scale(.985); }
.podium .card.pd-day{ box-shadow:
      inset 0 1px 0 rgba(255,255,255,.22), inset 0 -2px 0 rgba(0,0,0,.35),
      0 1px 2px rgba(15,12,40,.18), 0 8px 16px -6px rgba(15,12,40,.35), 0 30px 50px -18px rgba(30,22,80,.65), 0 50px 80px -40px rgba(124,92,255,.45); }
.podium .card.pd-small{ box-shadow:
      inset 0 1px 0 rgba(255,255,255,.18), inset 0 -2px 0 rgba(0,0,0,.4),
      0 1px 2px rgba(15,12,40,.2), 0 8px 14px -6px rgba(15,12,40,.4), 0 26px 40px -18px rgba(67,56,202,.6); }
.podium .card.pd-month{ box-shadow:
      inset 0 1px 0 rgba(253,230,138,.3), inset 0 -2px 0 rgba(0,0,0,.45),
      0 1px 2px rgba(28,20,5,.25), 0 8px 14px -6px rgba(28,20,5,.45), 0 26px 40px -18px rgba(180,83,9,.6); }
.card.pd.tilt{ box-shadow:
      inset 0 1px 0 rgba(255,255,255,.22), inset 0 -2px 0 rgba(0,0,0,.35),
      0 2px 4px rgba(15,12,40,.2), 0 16px 30px -10px rgba(15,12,40,.45), 0 44px 70px -24px rgba(30,22,80,.7) !important; }
.podium .pd-small .pd-art{ transform:translateZ(24px); box-shadow:0 2px 3px rgba(0,0,0,.3), 0 14px 26px -10px rgba(0,0,0,.75); }
.pd-day .pd-txt, .pd-day .pd-go, .pd-day .pd-badge{ transform:translateZ(30px); }
.pd-day .pd-title{ text-shadow:0 2px 3px rgba(0,0,0,.35), 0 8px 24px rgba(0,0,0,.5); }
.card.pd::after{ content:''; position:absolute; inset:0; z-index:5; border-radius:inherit; pointer-events:none; opacity:0; transition:opacity .3s ease;
    background:radial-gradient(60% 50% at var(--gx, 50%) var(--gy, 0%), rgba(255,255,255,.22), transparent 70%); }
.card.pd.tilt::after{ opacity:1; }
.pd-day .pd-art::after{ z-index:1; }
.podium .pd-pair{ margin-top:16px; }
.podium .card.pd-day{ box-shadow:inset 0 1px 0 rgba(255,255,255,.25), 0 7px 0 #17123F, 0 8px 2px rgba(15,12,40,.35), 0 22px 30px -8px rgba(15,12,40,.45), 0 44px 70px -30px rgba(124,92,255,.55); }
.podium .card.pd-week{ box-shadow:inset 0 1px 0 rgba(199,210,254,.28), 0 6px 0 #0C0A2A, 0 7px 2px rgba(15,12,40,.35), 0 20px 26px -8px rgba(15,12,40,.45), 0 36px 50px -24px rgba(67,56,202,.55); }
.podium .card.pd-month{ box-shadow:inset 0 1px 0 rgba(253,230,138,.35), 0 6px 0 #120C02, 0 7px 2px rgba(28,20,5,.4), 0 20px 26px -8px rgba(28,20,5,.5), 0 36px 50px -24px rgba(180,83,9,.55); }
.card.pd.tilt{ box-shadow:inset 0 1px 0 rgba(255,255,255,.25), 0 4px 0 #17123F, 0 5px 2px rgba(15,12,40,.35), 0 16px 24px -8px rgba(15,12,40,.45) !important; }
.card.pd-week.tilt{ box-shadow:inset 0 1px 0 rgba(199,210,254,.28), 0 4px 0 #0C0A2A, 0 16px 24px -8px rgba(15,12,40,.45) !important; }
.card.pd-month.tilt{ box-shadow:inset 0 1px 0 rgba(253,230,138,.35), 0 4px 0 #120C02, 0 16px 24px -8px rgba(28,20,5,.5) !important; }
.card.pd.tilt{ translate:0 3px; }
.card.pd{ transition:transform .35s cubic-bezier(.2,.8,.2,1), translate .15s ease, box-shadow .15s ease; }
:root[data-theme="dark"] .podium .card.pd-day{ box-shadow:inset 0 1px 0 rgba(255,255,255,.25), 0 7px 0 #07051A, 0 22px 30px -8px rgba(0,0,0,.6), 0 44px 70px -30px rgba(124,92,255,.45); }
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .podium .card.pd-day{ box-shadow:inset 0 1px 0 rgba(255,255,255,.25), 0 7px 0 #07051A, 0 22px 30px -8px rgba(0,0,0,.6), 0 44px 70px -30px rgba(124,92,255,.45); }
}
.pd-head{ display:flex; align-items:baseline; justify-content:space-between; gap:12px; margin:22px 2px 10px; }
.pd-head-k{ font-family:var(--font-display); font-size:22px; font-weight:700; letter-spacing:-.01em; color:var(--ink); }
.pd-head-d{ font-size:13px; font-weight:700; color:var(--ink-muted); white-space:nowrap; }
.pd-head + .podium{ margin-top:0; }
.pd-facts{ display:flex; flex-wrap:wrap; gap:6px; margin-bottom:10px; }
.pd-fact{ padding:4px 10px; border-radius:999px; font-size:12px; font-weight:800; color:#fff; background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.2); backdrop-filter:blur(8px); -webkit-backdrop-filter:blur(8px); }
.pd-fact.tix{ background:#fff; color:#1E1650; border-color:#fff; }
.pd-soon{ position:absolute; z-index:2; top:14px; right:14px; padding:6px 11px; border-radius:999px; font-size:12px; font-weight:800; color:#1E1650; background:#FFE08A; box-shadow:0 6px 16px rgba(0,0,0,.25); }
.pd-venue{ display:flex; align-items:center; gap:4px; font-size:12px; color:rgba(255,255,255,.65); min-width:0; }
.pd-venue svg{ flex:none; width:12px; height:12px; }
.pd-venue span{ white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.pd-day .pd-art{ aspect-ratio:4 / 3.7; }
.fg-hero{ padding:16px 16px 18px; margin-top:2px; }
.fg-avs{ margin-bottom:10px; }
.fg-av{ width:44px; height:44px; font-size:24px; }
.fg-hero h2{ font-size:20px; margin-bottom:4px; }
.fg-hero p{ font-size:14px; }
.fg-list{ margin:12px 0 14px; padding:2px 14px; }
.fg-row{ padding:9px 0; gap:12px; }
.fg-row > span{ font-size:20px; }
.fg-row strong{ font-size:14px; }
.fg-row small{ font-size:13px; }
.fg-cta{ min-height:50px; }
p.fg-login{ display:block; min-height:0; margin:12px 0 0; text-align:center; font-size:14px; color:var(--ink-muted); }
p.fg-login .textbtn{ font-size:14px; }
.venue-about{ margin:12px 0 0; font-size:15px; line-height:1.55; color:var(--ink); white-space:pre-line; overflow-wrap:anywhere; }
html, body{ max-width:100%; overflow-x:hidden; }
@supports (overflow:clip){html, body{ overflow-x:clip; }
}
body{ touch-action:manipulation; -webkit-text-size-adjust:100%; text-size-adjust:100%; }
input, select, textarea{ font-size:max(16px, 1em); }
.tixshare{ margin:4px 20px 0; padding:14px; border-radius:20px; background:rgba(255,255,255,.1); border:1px solid rgba(255,255,255,.16); text-align:center; }
.tixshare.fresh{ animation:tixcardin .6s cubic-bezier(.2,.9,.25,1.15) .4s both; }
.tixshare strong{ display:block; font-size:15px; margin-bottom:10px; }
.tixshare-btns{ display:flex; gap:8px; }
.tixshare .btn{ flex:1; display:flex; align-items:center; justify-content:center; gap:6px; padding:12px 8px; border-radius:14px; border:0; background:#fff; color:#3A1FB8; font-weight:800; font-size:14px; }
.tixshare .btn.storybtn{ background:linear-gradient(135deg,#F58529,#DD2A7B 50%,#8134AF); color:#fff; }
.tixshare .btn.done{ background:#16A34A; color:#fff; }
.storyprev{ display:block; width:min(62%, 260px); margin:6px auto 0; border-radius:18px; box-shadow:0 18px 40px -16px rgba(0,0,0,.5); }
.storysave{ display:flex; justify-content:center; margin-top:8px; text-decoration:none; }
.pe-sheet{ background:var(--bg); }
.pe-hero{ position:relative; display:flex; align-items:center; gap:16px; margin:14px 0 6px; padding:18px; border-radius:24px; color:#fff; overflow:hidden; isolation:isolate;
    background:radial-gradient(80% 120% at 100% 0%, rgba(255,79,216,.55), transparent 60%), linear-gradient(135deg,var(--accent),#4F46E5 55%,#3A1FB8); box-shadow:0 18px 36px -20px rgba(79,70,229,.8); }
.pe-hero::after{ content:''; position:absolute; right:-40px; bottom:-60px; width:180px; height:180px; border-radius:50%; background:rgba(255,255,255,.08); z-index:-1; }
.pe-hero .pe-av{ position:relative; margin:0; flex:none; }
.pe-hero .av.xl{ box-shadow:0 0 0 3px rgba(255,255,255,.85), 0 10px 24px -10px rgba(0,0,0,.5); }
.pe-cam{ position:absolute; right:-4px; bottom:-4px; width:32px; height:32px; display:grid; place-items:center; border:0; border-radius:50%; background:#fff; color:#4F46E5; box-shadow:0 6px 14px -6px rgba(0,0,0,.5); cursor:pointer; }
.pe-hero-text{ min-width:0; display:flex; flex-direction:column; align-items:flex-start; }
.pe-hero-text strong{ font-family:var(--font-display, inherit); font-size:20px; font-weight:800; line-height:1.15; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pe-hero-text span{ font-size:14px; opacity:.85; margin-top:2px; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pe-hero-pic{ margin-top:10px; padding:7px 12px; border:0; border-radius:99px; background:rgba(255,255,255,.18); color:#fff; font:inherit; font-size:13px; font-weight:800; cursor:pointer; }
.pe-card{ --tone:var(--accent); margin-top:14px; padding:16px; border-radius:22px; background:var(--surface); border:1px solid color-mix(in srgb, var(--tone) 16%, var(--line)); box-shadow:0 10px 24px -20px color-mix(in srgb, var(--tone) 70%, transparent);
    background-image:linear-gradient(160deg, color-mix(in srgb, var(--tone) 9%, transparent), transparent 45%); }
.pe-card.pe-blue{ --tone:#0EA5E9; }
.pe-card.pe-pink{ --tone:#EC4899; }
.pe-card.pe-teal{ --tone:#14B8A6; }
.pe-card.pe-amber{ --tone:#F59E0B; }
.pe-card.pe-green{ --tone:#22C55E; }
.pe-card.pe-slate{ --tone:#64748B; }
.pe-card-head{ display:flex; align-items:center; gap:12px; margin-bottom:4px; }
.pe-ic{ width:38px; height:38px; flex:none; display:grid; place-items:center; border-radius:12px; color:#fff; background:linear-gradient(135deg, var(--tone), color-mix(in srgb, var(--tone) 60%, #000)); box-shadow:0 8px 16px -8px var(--tone); }
.pe-card-head strong{ display:block; font-size:17px; font-weight:800; }
.pe-card-head small{ display:block; font-size:13px; color:var(--ink-muted); }
.pe-card .claim-label{ margin-top:14px; }
.pe-card .claim-input{ background:var(--bg); }
.pe-card .pe-genres .chip[data-active="true"], .pe-card .segmented button[data-active="true"]{ background:var(--tone); border-color:var(--tone); color:#fff; }
.pe-card .pe-list, .pe-card .appcard{ background:var(--bg); }
.pe-card .pe-two{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.pe-city{ display:flex; align-items:center; height:48px; padding:0 14px; border-radius:14px; background:var(--bg); font-weight:700; color:var(--ink-muted); }
.pe-card .pe-toggle{ align-items:center; justify-content:space-between; flex-direction:row-reverse; gap:14px; padding:12px 0; border-bottom:1px solid var(--line); font-weight:600; }
.pe-card .pe-toggle:last-child{ border-bottom:0; }
.pe-card .pe-toggle span{ flex:1; }
.pe-card .pe-toggle small{ display:block; font-weight:500; font-size:13px; }
.pe-card .pe-toggle input{ appearance:none; -webkit-appearance:none; position:relative; width:46px; height:28px; margin:0; border-radius:99px; background:var(--line-strong); transition:background .2s; cursor:pointer; flex:none; }
.pe-card .pe-toggle input::after{ content:''; position:absolute; top:3px; left:3px; width:22px; height:22px; border-radius:50%; background:#fff; box-shadow:0 2px 6px rgba(0,0,0,.25); transition:transform .2s; }
.pe-card .pe-toggle input:checked{ background:var(--tone); }
.pe-card .pe-toggle input:checked::after{ transform:translateX(18px); }
.pe-card .pe-toggle input:disabled{ opacity:.55; }
.pe-card .pe-account{ background:var(--bg); }
.pe-card .pe-delete{ display:block; width:100%; margin-top:12px; padding:12px; border-radius:14px; background:color-mix(in srgb, #DC2626 8%, transparent); text-align:center; }
.pe-sheet .pe-save{ background:var(--bg); }
.pe-tabs{ display:flex; gap:4px; margin-top:12px; padding:4px; border-radius:16px; background:var(--bg); }
.pe-tabs button{ flex:1; display:flex; align-items:center; justify-content:center; gap:6px; padding:10px 6px; border:0; border-radius:12px; background:transparent; color:var(--ink-muted); font:inherit; font-size:14px; font-weight:800; cursor:pointer; transition:background .2s, color .2s; }
.pe-tabs button[data-active="true"]{ background:var(--surface); color:var(--ink); box-shadow:0 4px 12px -6px rgba(20,12,60,.35); }
.pe-tabs b{ min-width:20px; height:20px; padding:0 6px; display:inline-grid; place-items:center; border-radius:99px; background:var(--tone); color:#fff; font-size:12px; }
.pe-tabs b:empty{ display:none; }
.pe-pane-note{ margin:12px 2px 8px; font-size:13px; color:var(--ink-muted); }
.pe-ints{ display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:8px; }
.pe-int{ position:relative; display:flex; flex-direction:column; align-items:flex-start; justify-content:space-between; gap:10px; min-height:96px; padding:12px 10px 11px; border-radius:18px; border:1.5px solid color-mix(in srgb, var(--c) 26%, transparent);
    background:linear-gradient(150deg, color-mix(in srgb, var(--c) 15%, var(--surface)), var(--surface) 80%); color:var(--ink); font:inherit; text-align:left; cursor:pointer; overflow:hidden; isolation:isolate;
    transition:transform .18s ease, box-shadow .2s ease, background .2s ease; -webkit-tap-highlight-color:transparent; }
.pe-int::before{ content:''; position:absolute; right:-26px; top:-26px; width:76px; height:76px; border-radius:50%; background:color-mix(in srgb, var(--c) 14%, transparent); z-index:-1; transition:transform .3s ease; }
.pe-int:active{ transform:scale(.96); }
.pe-int-ic{ width:38px; height:38px; display:grid; place-items:center; border-radius:12px; color:#fff; flex:none; background:linear-gradient(135deg, var(--c), color-mix(in srgb, var(--c) 55%, #000)); box-shadow:0 8px 14px -8px var(--c); }
.pe-int strong{ display:block; font-size:14px; font-weight:800; line-height:1.2; overflow-wrap:anywhere; }
.pe-int-ok{ position:absolute; top:8px; right:8px; width:20px; height:20px; display:grid; place-items:center; border-radius:50%; border:2px solid color-mix(in srgb, var(--c) 35%, var(--line)); color:transparent; transition:all .2s ease; }
.pe-int[data-active="true"]{ border-color:transparent; color:#fff; background:linear-gradient(140deg, var(--c), color-mix(in srgb, var(--c) 60%, #120D26)); box-shadow:0 12px 22px -12px var(--c); }
.pe-int[data-active="true"]::before{ background:rgba(255,255,255,.14); transform:scale(1.25); }
.pe-int[data-active="true"] .pe-int-ic{ background:rgba(255,255,255,.22); box-shadow:none; }
.pe-int[data-active="true"] .pe-int-ok{ background:#fff; border-color:#fff; color:var(--c); }
@media (max-width:360px){.pe-card .pe-two{ grid-template-columns:1fr; }
}
.savebtn, .clubcard-follow, .top10rank, .cdunit, .pd-fact, .pd-badge, .consent{ -webkit-backdrop-filter:none !important; backdrop-filter:none !important; }
.card-poster .savebtn, .eventofday .savebtn{ background:color-mix(in srgb, var(--surface) 90%, transparent); }
header.top.home.hx{ background:var(--bg); color:var(--ink); border-radius:0; overflow:visible; isolation:isolate;
    padding:calc(14px + env(safe-area-inset-top,0px)) 0 0; }
header.top.home.hx::before{ -webkit-mask-image:none; mask-image:none; border-radius:0;
    background:radial-gradient(440px 240px at 100% -60px, color-mix(in srgb, var(--accent) 16%, transparent), transparent 70%),
      radial-gradient(260px 180px at 70% -80px, color-mix(in srgb, #FF4FD8 9%, transparent), transparent 70%); }
header.top.home.hx > .wrap{ z-index:1; }
.hx .brand{ font-size:20px !important; color:var(--ink); }
.hx .brand em{ color:var(--accent); }
.hx .brand .brandmark{ width:30px; height:30px; }
.hx .iconbtn, .hx .menubtn{ background:var(--surface) !important; color:var(--ink) !important; box-shadow:0 1px 2px rgba(20,16,50,.06), 0 0 0 1px var(--line); }
.hx .citypicker, .hx .cityselect{ color:var(--ink) !important; background:transparent !important; }
.hx-hello{ margin-top:26px; }
.hx-date{ font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-muted); }
.hx-hi{ margin:6px 0 0; font-family:var(--font-display); font-weight:700; font-size:30px; line-height:1.12; letter-spacing:-.025em; color:var(--ink); }
.hx-hi span{ color:var(--accent); }
.hx-live{ display:flex; align-items:center; gap:8px; margin-top:8px; color:var(--ink-muted); font-weight:600; font-size:14px; }
.hx-live i{ position:relative; width:7px; height:7px; border-radius:50%; background:#22C55E; flex:none; }
.hx-live i::after{ content:''; position:absolute; inset:-5px; border-radius:50%; border:2px solid rgba(34,197,94,.55); animation:hxping 1.8s ease-out 3; opacity:0; }
@keyframes hxping{ 0%{ transform:scale(.4); opacity:.9; } 100%{ transform:scale(1.5); opacity:0; } }
header.top.home.hx .hx-search{ margin:20px 0 0; }
header.top.home.hx .hx-search .search{ height:56px; border-radius:18px; padding-right:7px; background:var(--surface); border:0;
    box-shadow:0 1px 2px rgba(20,16,50,.05), 0 10px 30px -14px rgba(40,30,120,.35), 0 0 0 1px var(--line); transition:box-shadow .2s; }
header.top.home.hx .hx-search .search:focus-within{ box-shadow:0 10px 30px -14px rgba(40,30,120,.35), 0 0 0 2px var(--accent); }
header.top.home.hx .hx-search input{ font-size:16px; color:var(--ink); font-weight:600; }
header.top.home.hx .hx-search input::placeholder{ color:var(--ink-muted); font-weight:500; }
header.top.home.hx .hx-search .search > svg{ color:var(--ink-muted) !important; opacity:1; }
.hx-filter{ flex:none; width:42px; height:42px; display:grid; place-items:center; margin-left:auto; border:0; border-radius:13px; background:var(--accent); color:#fff; cursor:pointer; }
.hx-filter svg{ width:20px; height:20px; color:#fff !important; opacity:1 !important; }
.hx-filter:active{ transform:scale(.95); }
.hx-under{ position:relative; z-index:2; padding-top:14px; }
.hx-pills{ display:flex; gap:8px; overflow-x:auto; margin:0 -16px 2px; padding:2px 16px 10px; scrollbar-width:none; }
.hx-pills::-webkit-scrollbar{ display:none; }
.hx-pill:active{ transform:scale(.97); }
.hx-pill{ flex:none; display:inline-flex; align-items:center; gap:7px; height:40px; padding:0 14px; border-radius:99px; border:0; background:var(--surface); color:var(--ink); font:inherit; font-size:14px; font-weight:700; cursor:pointer;
    box-shadow:0 0 0 1px var(--line), 0 1px 2px rgba(20,16,50,.05); transition:transform .15s; -webkit-tap-highlight-color:transparent; }
.hx-pill b{ min-width:22px; height:22px; padding:0 7px; display:inline-grid; place-items:center; border-radius:99px; background:color-mix(in srgb, var(--accent) 12%, transparent); color:var(--accent); font-size:12px; font-weight:800; }
.hx-pill:first-child{ background:var(--ink); color:var(--bg); box-shadow:none; }
.hx-pill:first-child b{ background:color-mix(in srgb, var(--bg) 22%, transparent); color:var(--bg); }
@media (min-width:900px){.hx-hi{ font-size:38px; }
.hx-hello{ margin-top:34px; }
header.top.home.hx .hx-search{ max-width:760px; }
}
.overnote{ display:flex; flex-direction:column; align-items:flex-start; gap:6px; margin:14px 0 4px; padding:16px; border-radius:18px; background:var(--surface); box-shadow:0 0 0 1px var(--line); }
.overnote strong{ font-size:16px; }
.overnote span{ font-size:14px; color:var(--ink-muted); line-height:1.4; }
.overnote .btn{ margin-top:6px; }
#screenRoot > .storyhead:first-child{ margin-top:6px; }
.lrow.is-over{ opacity:.62; }
.lrow.is-over .lr-poster{ filter:grayscale(.7); }
.lrow.is-over .lr-when{ color:var(--ink-muted); }
header.top.dx{ background:var(--bg); border-bottom:0; box-shadow:0 1px 0 var(--line); }
.dx .simplehead h1{ font-size:28px; letter-spacing:-.02em; }
.dx .menubtn{ background:var(--surface) !important; color:var(--ink) !important; box-shadow:0 1px 2px rgba(20,16,50,.06), 0 0 0 1px var(--line); }
.dx .search{ height:54px; border-radius:18px; background:var(--surface); border:0; box-shadow:0 1px 2px rgba(20,16,50,.05), 0 10px 30px -16px rgba(40,30,120,.35), 0 0 0 1px var(--line); }
.dx .search:focus-within{ box-shadow:0 10px 30px -16px rgba(40,30,120,.35), 0 0 0 1.5px color-mix(in srgb, var(--accent) 55%, transparent); }
.dx .search input{ font-size:16px; font-weight:600; color:var(--ink); }
.dx .search input::placeholder{ color:var(--ink-muted); font-weight:500; }
.dx .chiprow{ gap:8px; }
.dx #whenRow{ margin-top:14px; }
.dx #whenRow .chip{ height:38px; padding:0 15px; border-radius:99px; border:0; background:var(--surface); color:var(--ink); font-size:14px; font-weight:700; box-shadow:0 0 0 1px var(--line), 0 1px 2px rgba(20,16,50,.05); }
.dx #whenRow .chip[data-active="true"]{ background:var(--ink) !important; color:var(--bg) !important; box-shadow:none; }
.dx #whenRow .datechip svg{ width:15px; height:15px; }
.dx #catRow{ gap:10px; margin-top:14px; padding-bottom:4px; }
.dxcat{ flex:none; display:flex; flex-direction:column; align-items:center; gap:6px; width:64px; padding:0; border:0; background:none; font:inherit; color:var(--ink); cursor:pointer; -webkit-tap-highlight-color:transparent; }
.dxcat-ic{ width:54px; height:54px; display:grid; place-items:center; border-radius:18px; color:var(--c);
    background:color-mix(in srgb, var(--c) 13%, var(--surface)); box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--c) 22%, transparent); transition:transform .15s, background .2s, color .2s; }
.dxcat small{ font-size:12px; font-weight:700; line-height:1.15; text-align:center; color:var(--ink-muted); }
.dxcat[data-active="true"] .dxcat-ic{ color:#fff; background:linear-gradient(140deg, var(--c), color-mix(in srgb, var(--c) 55%, #120D26)); box-shadow:0 10px 18px -10px var(--c); }
.dxcat[data-active="true"] small{ color:var(--ink); }
.dxcat:active .dxcat-ic{ transform:scale(.94); }
.dx #moreRow{ margin-top:10px; padding-bottom:12px; }
.dx #moreRow .chip{ height:32px; padding:0 12px; border-radius:10px; border:0; background:transparent; color:var(--ink-muted); font-size:13px; font-weight:700; box-shadow:inset 0 0 0 1px var(--line); display:inline-flex; align-items:center; gap:5px; }
.dx #moreRow .chip[data-active="true"]{ background:color-mix(in srgb, var(--accent) 12%, transparent) !important; color:var(--accent) !important; box-shadow:inset 0 0 0 1.5px var(--accent); }
.dx #moreRow .chip svg{ flex:none; }
#screenRoot > .day-head.storyhead:first-child{ margin-top:8px; }
@media (min-width:900px){header.top.home.hx > .wrap{ position:relative; }
.recorow, .clubrow-cards, .top10row, .artistrow, .storyrow{ scrollbar-width:none; padding-bottom:18px !important; }
.recorow::-webkit-scrollbar, .clubrow-cards::-webkit-scrollbar, .top10row::-webkit-scrollbar, .artistrow::-webkit-scrollbar, .storyrow::-webkit-scrollbar{ display:none; }
}
body{ -webkit-font-smoothing:antialiased; }
.brand, .navbrand{ font-family:var(--font-brand) !important; letter-spacing:-.01em; }
.day-head, .pd-head{ display:flex; align-items:center; gap:10px; margin:36px 0 14px !important; }
.day-head h2, .pd-head .pd-head-k{ font-family:var(--font-display) !important; font-language-override:normal; font-size:20px !important; font-weight:700 !important; letter-spacing:-.015em; text-transform:none !important; color:var(--ink); margin:0; }
.day-head .rule{ display:none !important; }
.day-head > :last-child:not(h2), .pd-head .pd-head-d{ margin-left:auto; }
.day-head .count, .pd-head .pd-head-d{ font-size:13px; font-weight:600; color:var(--ink-muted); }
.day-head .textbtn{ font-size:14px; font-weight:700; color:var(--accent); padding:0; }
.hx-hi, .simplehead h1, .sheet-title{ font-family:var(--font-display) !important; font-language-override:normal; font-weight:700 !important; letter-spacing:-.02em; }
.card.pd::before, .card.pd::after{ display:none !important; }
.card.pd{ transform:none !important; }
.pd-badge{ background:rgba(12,10,28,.62) !important; border:0 !important; letter-spacing:.04em; }
.pd-day .pd-badge{ color:#FFD86B !important; }
.pd-week .pd-badge{ color:#C4B5FD !important; }
.pd-month .pd-badge{ color:#FCD34D !important; }
.mcolrow{ display:flex; gap:12px; overflow-x:auto; margin:0 -16px; padding:2px 16px 14px; scroll-snap-type:x mandatory; scrollbar-width:none; }
.mcolrow::-webkit-scrollbar{ display:none; }
.mcol{ position:relative; flex:none; width:150px; height:196px; padding:0; border:0; border-radius:22px; overflow:hidden; isolation:isolate; cursor:pointer; scroll-snap-align:start; text-align:left; font:inherit; color:#fff;
    background:linear-gradient(160deg, color-mix(in srgb, var(--c) 85%, #fff), var(--c) 45%, color-mix(in srgb, var(--c) 55%, #120D26)); box-shadow:0 16px 30px -18px var(--c); transition:transform .18s ease; }
.mcol:active{ transform:scale(.97); }
.mcol-art{ position:absolute; inset:0; z-index:-1; }
.mcol-pic{ position:absolute; width:78px; height:98px; border-radius:12px; background-size:cover !important; background-position:center !important; box-shadow:0 10px 18px -8px rgba(0,0,0,.55); border:2px solid rgba(255,255,255,.9); }
.mcol-pic.p0{ right:10px; top:14px; transform:rotate(6deg); z-index:3; }
.mcol-pic.p1{ right:52px; top:22px; transform:rotate(-7deg); z-index:2; }
.mcol-pic.p2{ right:28px; top:6px; transform:rotate(-1deg); z-index:1; opacity:.9; }
.mcol::after{ content:''; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg, transparent 45%, color-mix(in srgb, var(--c) 40%, #120D26) 100%); }
.mcol-ic{ position:absolute; left:12px; top:12px; width:34px; height:34px; display:grid; place-items:center; border-radius:11px; background:rgba(255,255,255,.22); color:#fff; }
.mcol-txt{ position:absolute; left:14px; right:12px; bottom:14px; display:flex; flex-direction:column; gap:2px; }
.mcol-txt strong{ font-size:16px; font-weight:800; line-height:1.15; letter-spacing:-.01em; text-shadow:0 1px 8px rgba(0,0,0,.35); }
.mcol-txt small{ font-size:12px; font-weight:700; opacity:.9; }
@media (min-width:900px){.mcol{ width:190px; height:230px; }
.mcol-pic{ width:96px; height:120px; }
}
#screenRoot > .ibanner.mine.ask{ margin:20px 0 6px !important; }
.tonight{ margin:36px 0 8px; padding:18px 16px 10px; border-radius:26px; color:#fff; position:relative; overflow:hidden; isolation:isolate;
    background:radial-gradient(120% 80% at 100% 0%, rgba(255,79,216,.35), transparent 60%), radial-gradient(90% 70% at 0% 100%, rgba(109,93,252,.45), transparent 60%), #120D33; box-shadow:0 20px 40px -24px rgba(30,20,90,.8); }
.tn-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:10px; margin-bottom:10px; }
.tn-k{ display:inline-flex; align-items:center; gap:7px; font-size:12px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:#FFC2F1; }
.tn-k i{ width:8px; height:8px; border-radius:50%; background:#FF4FD8; box-shadow:0 0 10px #FF4FD8; }
.tn-head h2{ margin:4px 0 0; font-family:var(--font-display); font-size:20px; letter-spacing:-.02em; }
.tn-all{ flex:none; border:0; border-radius:99px; padding:8px 13px; background:rgba(255,255,255,.14); color:#fff; font:inherit; font-size:13px; font-weight:800; cursor:pointer; }
.tn-row{ display:flex; align-items:center; gap:12px; padding:10px 0; border-top:1px solid rgba(255,255,255,.1); cursor:pointer; }
.tn-row:first-child{ border-top:0; }
.tn-pic{ flex:none; width:52px; height:52px; border-radius:14px; background-size:cover; background-position:center; background-color:rgba(255,255,255,.1); }
.tn-txt{ min-width:0; display:flex; flex-direction:column; gap:2px; }
.tn-txt strong{ font-size:15px; line-height:1.25; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.tn-txt small{ font-size:13px; color:rgba(255,255,255,.65); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.wk{ margin:36px -4px 8px; padding:18px 0 4px; border-radius:28px; background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 10%, var(--surface)), var(--surface) 55%); box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 14%, var(--line)), 0 18px 36px -26px rgba(60,40,160,.5); overflow:hidden; }
.wk-head{ padding:0 18px 12px; }
.wk-k{ font-size:12px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:var(--accent); }
.wk-head h2{ margin:3px 0 0; font-family:var(--font-display); font-size:20px; font-weight:800; letter-spacing:-.02em; }
.wk-tabs{ display:flex; gap:8px; overflow-x:auto; padding:2px 18px 14px; scrollbar-width:none; }
.wk-tabs::-webkit-scrollbar{ display:none; }
.wk-tab{ position:relative; flex:none; min-width:72px; padding:10px 10px 9px; display:flex; flex-direction:column; align-items:center; gap:0; border:0; border-radius:18px; background:var(--surface); color:var(--ink); font:inherit; cursor:pointer;
    box-shadow:0 0 0 1px var(--line), 0 4px 12px -8px rgba(40,30,120,.35); transition:transform .15s ease, background .2s ease; }
.wk-tab small{ font-size:12px; font-weight:800; color:var(--ink-muted); text-transform:uppercase; letter-spacing:.04em; }
.wk-tab b{ font-size:24px; font-weight:800; letter-spacing:-.03em; line-height:1.15; }
.wk-tab i{ font-style:normal; font-size:12px; font-weight:700; color:var(--accent); white-space:nowrap; }
.wk-tab:active{ transform:scale(.96); }
.wk-tab[data-active="true"]{ background:linear-gradient(150deg, #7C5CFF, #4F46E5); color:#fff; box-shadow:0 12px 22px -12px rgba(79,70,229,.9); }
.wk-tab[data-active="true"] small, .wk-tab[data-active="true"] i{ color:rgba(255,255,255,.85); }
.wk-tab[data-active="true"]::after{ content:''; position:absolute; left:50%; bottom:-8px; width:12px; height:12px; transform:translateX(-50%) rotate(45deg); border-radius:3px; background:#4F46E5; }
.wk .wk-row{ margin:0 !important; padding:6px 18px 18px !important; border-top:1px solid color-mix(in srgb, var(--accent) 12%, var(--line)); background:color-mix(in srgb, var(--accent) 4%, var(--surface)); }
.mo-grid{ display:grid; grid-template-columns:repeat(7, minmax(0, 1fr)); gap:5px; padding:0 14px 14px; }
.mo-dow{ text-align:center; font-size:12px; font-weight:800; color:var(--ink-muted); text-transform:uppercase; padding-bottom:2px; }
.mo-cell{ position:relative; aspect-ratio:1 / 1.05; display:flex; flex-direction:column; align-items:center; justify-content:center; border:0; border-radius:12px; background:transparent; color:var(--ink-muted); font:inherit; padding:0; }
.mo-cell.off{ visibility:hidden; }
.mo-cell b{ font-size:15px; font-weight:700; }
.mo-cell em{ position:absolute; top:2px; font-style:normal; font-size:11px; font-weight:800; text-transform:uppercase; color:var(--accent); }
.mo-cell.has{ background:var(--surface); color:var(--ink); cursor:pointer; box-shadow:0 0 0 1px var(--line), 0 4px 10px -8px rgba(40,30,120,.4); }
.mo-cell.has b{ font-weight:800; }
.mo-cell i{ font-style:normal; font-size:11px; font-weight:800; color:var(--accent); line-height:1; margin-top:1px; }
.mo-cell.today{ box-shadow:0 0 0 1.5px var(--accent); }
.mo-cell[data-active="true"]{ background:linear-gradient(150deg, #7C5CFF, #4F46E5); color:#fff; box-shadow:0 10px 18px -10px rgba(79,70,229,.9); }
.mo-cell[data-active="true"] i, .mo-cell[data-active="true"] em{ color:rgba(255,255,255,.85); }
.mo-day{ padding:12px 18px 0; border-top:1px solid color-mix(in srgb, var(--accent) 12%, var(--line)); background:color-mix(in srgb, var(--accent) 4%, var(--surface)); font-weight:800; font-size:15px; }
.mo-day::first-letter{ text-transform:uppercase; }
.mo .wk-row{ border-top:0 !important; }
.sv-hero{ padding-top:26px; }
.sv-stack{ position:relative; height:118px; margin:0 auto 14px; width:200px; }
.sv-card{ position:absolute; top:4px; width:78px; height:100px; border-radius:14px; background-size:cover; background-position:center; background-color:rgba(255,255,255,.2); border:3px solid #fff; box-shadow:0 12px 22px -10px rgba(0,0,0,.5); }
.sv-card.c0{ left:8px; transform:rotate(-10deg); }
.sv-card.c1{ left:61px; top:0; z-index:2; }
.sv-card.c2{ right:8px; transform:rotate(10deg); }
.sv-pin{ position:absolute; z-index:3; left:50%; bottom:-6px; transform:translateX(-50%); width:40px; height:40px; display:grid; place-items:center; border-radius:50%; background:#FF4FD8; color:#fff; box-shadow:0 8px 18px -6px rgba(255,79,216,.8); }
.sv-pin svg{ width:20px; height:20px; }
@media (min-width:900px){.podium{ grid-template-columns:1.55fr 1fr !important; gap:18px !important; align-items:stretch !important; }
.podium .pd-pair{ display:grid !important; grid-template-columns:1fr !important; grid-template-rows:1fr 1fr; gap:18px !important; margin:0 !important; }
.podium .card.pd-small{ flex-direction:row !important; align-items:stretch; min-height:0; }
.podium .pd-small .pd-art{ flex:none; width:44%; aspect-ratio:auto !important; height:auto; margin:8px 0 8px 8px !important; border-radius:16px; }
.podium .pd-small .pd-txt{ flex:1; min-width:0; justify-content:center; padding:16px 18px !important; }
.podium .pd-small .pd-title{ font-size:18px !important; -webkit-line-clamp:3; }
.podium .pd-small .pd-badge{ left:8px; bottom:8px; }
.podium .pd-day .pd-art{ min-height:0 !important; height:100% !important; aspect-ratio:auto !important; }
.podium .card.pd-day{ min-height:440px; }
}
.wk-empty{ padding:18px 4px; font-size:14px; color:var(--ink-muted); }
@media (min-width:900px){header.top.home.hx > .wrap{ display:grid; grid-template-columns:minmax(0, 1fr) minmax(320px, 400px); column-gap:40px; align-items:start; }
header.top.home.hx .brandrow{ grid-column:1 / -1; }
header.top.home.hx .hx-hello, header.top.home.hx .hx-search{ grid-column:1; }
.hx-under{ padding-top:16px !important; }
}
@media (min-width:900px) and (max-width:1199px){header.top.home.hx > .wrap{ grid-template-columns:minmax(0, 1fr); }
}
@media (min-width:900px){header.top.home.hx > .wrap{ display:block !important; }
header.top.home.hx .hx-search{ max-width:none !important; }
}
.tonight .tn-list{ display:flex; flex-direction:column; gap:8px; padding-bottom:8px; }
.tonight .card.tn-row{ display:flex !important; flex-direction:row !important; align-items:center !important; text-align:left; gap:12px; margin:0; padding:8px 10px 8px 8px; border:0 !important; border-top:0 !important; border-radius:18px; color:#fff;
    background:rgba(255,255,255,.07) !important; box-shadow:inset 0 0 0 1px rgba(255,255,255,.08) !important; transition:background .2s ease, transform .15s ease; }
.tonight .card.tn-row:active{ transform:scale(.985); background:rgba(255,255,255,.12) !important; }
@media (hover:hover){.tonight .card.tn-row:hover{ background:rgba(255,255,255,.12) !important; }
}
.tonight .tn-pic{ width:56px; height:56px; border-radius:14px; order:-1; }
.tonight .tn-txt{ flex:1; align-items:flex-start; }
.tonight .tn-head h2{ font-size:20px; }
.tonight .tn-go{ display:none; }
#screenRoot > .day-head.storyhead:first-child{ margin-top:14px !important; }
.hx-collage{ display:none; }
@media (min-width:1100px){header.top.home.hx{ margin:16px auto 0 !important; width:calc(100% - 48px); max-width:1216px; padding:26px 0 30px !important; border-radius:32px !important; overflow:hidden; color:#fff;
      background:radial-gradient(60% 90% at 100% 0%, rgba(255,79,216,.45), transparent 60%), radial-gradient(50% 80% at 0% 100%, rgba(129,140,248,.5), transparent 60%), linear-gradient(140deg, var(--accent), #4F46E5 50%, #3B2BB5) !important;
      box-shadow:0 30px 60px -36px rgba(79,70,229,.9); }
header.top.home.hx::before{ display:none; }
header.top.home.hx > .wrap{ display:grid !important; grid-template-columns:minmax(0, 1fr) 440px; column-gap:40px; padding:0 40px !important; max-width:none !important; }
header.top.home.hx .brandrow{ grid-column:1 / -1; }
header.top.home.hx .hx-hello, header.top.home.hx .hx-search{ grid-column:1; }
header.top.home.hx .hx-search{ max-width:640px !important; }
.hx .hx-date{ color:rgba(255,255,255,.75); }
.hx .hx-hi{ color:#fff; font-size:44px !important; }
.hx .hx-hi span{ color:#FFC2F1; }
.hx .hx-live{ color:rgba(255,255,255,.85); }
.hx .citypicker, .hx .cityselect{ color:#fff !important; }
.hx .iconbtn{ background:rgba(255,255,255,.16) !important; color:#fff !important; box-shadow:none !important; }
.hx-collage{ display:block; position:relative; grid-column:2; grid-row:2 / span 2; height:250px; margin-top:6px; z-index:0; }
header.top.home.hx .brandrow{ position:relative; z-index:2; }
.hx-pc{ position:absolute; width:150px; aspect-ratio:4 / 5; border-radius:18px; background-size:cover; background-position:center; background-color:rgba(255,255,255,.12); cursor:pointer; padding:0 !important;
      border:4px solid rgba(255,255,255,.95) !important; box-shadow:0 18px 34px -14px rgba(10,6,40,.7) !important; transition:transform .25s ease; }
.hx-pc:hover{ transform:translateY(-6px) rotate(0deg) !important; z-index:9; }
.hx-pc.p0{ left:0; top:40px; transform:rotate(-9deg); z-index:2; }
.hx-pc.p1{ left:96px; top:4px; transform:rotate(-2deg); z-index:4; }
.hx-pc.p2{ left:200px; top:30px; transform:rotate(6deg); z-index:3; }
.hx-pc.p3{ left:296px; top:0; transform:rotate(11deg); z-index:1; }
.hx-pc.p4{ left:150px; top:120px; transform:rotate(-4deg); z-index:5; width:128px; }
.hx-under{ padding:18px 24px 0 !important; }
}
.tonight .tn-noimg{ display:grid; place-items:center; color:#fff; background:linear-gradient(140deg, var(--c), color-mix(in srgb, var(--c) 50%, #120D26)) !important; }
.hx-pills{ gap:10px; padding-top:6px; padding-bottom:16px; }
.hx-pill{ height:46px; padding:0 18px; font-size:15px; }
.hx-pill b{ min-width:26px; height:26px; font-size:13px; }
@media (min-width:1100px){.hx-under{ padding-top:26px !important; }
.hx-pill{ height:50px; padding:0 22px; font-size:16px; }
}
@media (min-width:900px){.wk-tabs{ overflow:visible; }
.wk-tab{ flex:1 1 0; min-width:0; padding:14px 8px 12px; }
.wk-tab b{ font-size:28px; }
.mo-grid{ gap:8px; padding:0 18px 18px; }
.mo-cell{ aspect-ratio:auto; height:72px; border-radius:14px; }
.mo-cell b{ font-size:18px; }
.mo-cell i{ font-size:12px; margin-top:3px; }
.mo-cell em{ top:6px; font-size:11px; }
.mo-dow{ font-size:12px; }
}
.tonight .tn-txt{ display:flex !important; flex-direction:column; align-items:stretch !important; min-width:0; gap:2px; }
.tonight .tn-txt strong{ font-size:15px; }
.tonight .tn-txt small{ display:block; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.tn-when{ display:flex; align-items:center; gap:8px; font-size:13px; }
.tn-when b{ font-weight:800; color:#fff; }
.tn-when span{ font-size:12px; font-weight:700; color:#FFD86B; }
.tn-when .tn-live{ display:inline-flex; align-items:center; gap:6px; color:#4ADE80; }
.tn-when .tn-live i{ width:7px; height:7px; border-radius:50%; background:#4ADE80; box-shadow:0 0 8px #4ADE80; }
.tonight .tn-go{ display:grid !important; flex:none; color:rgba(255,255,255,.45); }
.tonight .tn-pic{ width:60px; height:60px; }
.ib-stats{ display:none; }
@media (min-width:900px){.ibanner.mine:not(.ask){ display:grid; grid-template-columns:minmax(0, 1fr) auto; grid-template-rows:auto auto; column-gap:28px; align-items:center; }
.ibanner.mine:not(.ask) .ib-top{ grid-column:1; }
.ibanner.mine:not(.ask) .ib-chips{ grid-column:1; }
.ibanner.mine:not(.ask) .ib-stats{ display:flex; grid-column:2; grid-row:1 / span 2; gap:10px; }
.ib-stat{ display:flex; flex-direction:column; align-items:center; justify-content:center; min-width:112px; padding:14px 16px; border-radius:20px; background:rgba(255,255,255,.14); box-shadow:inset 0 0 0 1px rgba(255,255,255,.2); }
.ib-stat b{ font-size:34px; font-weight:800; line-height:1; letter-spacing:-.03em; color:#fff; }
.ib-stat small{ margin-top:6px; font-size:13px; font-weight:700; color:rgba(255,255,255,.85); white-space:nowrap; }
}
.tonight{ color:var(--ink) !important; margin:36px -4px 8px !important; padding:18px 18px 10px !important; border-radius:28px !important;
    background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 10%, var(--surface)), var(--surface) 55%) !important;
    box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 14%, var(--line)), 0 18px 36px -26px rgba(60,40,160,.5) !important; }
.tonight .tn-k{ color:var(--accent) !important; }
.tonight .tn-k i{ background:#FF4FD8; box-shadow:0 0 8px rgba(255,79,216,.6); }
.tonight .tn-head h2{ color:var(--ink); font-size:20px !important; font-weight:800; }
.tonight .tn-all{ background:var(--surface) !important; color:var(--accent) !important; box-shadow:0 0 0 1px var(--line); }
.tonight .card.tn-row{ color:var(--ink) !important; background:var(--surface) !important; box-shadow:0 0 0 1px var(--line), 0 4px 12px -8px rgba(40,30,120,.35) !important; }
@media (hover:hover){.tonight .card.tn-row:hover{ background:color-mix(in srgb, var(--accent) 5%, var(--surface)) !important; }
}
.tonight .card.tn-row:active{ background:color-mix(in srgb, var(--accent) 8%, var(--surface)) !important; }
.tonight .tn-txt small{ color:var(--ink-muted) !important; }
.tn-when b{ color:var(--ink) !important; }
.tn-when span{ color:#D97706 !important; }
.tn-when .tn-live{ color:#16A34A !important; }
.tn-when .tn-live i{ background:#22C55E !important; }
.tonight .tn-go{ color:var(--ink-muted) !important; }
.tonight .tn-pic{ background-color:var(--surface-2) !important; }
.wk, .tonight{ margin-left:0 !important; margin-right:0 !important; }
.wk, .tonight, #screenRoot > .countdown, #screenRoot > .podium{ margin-top:36px !important; }
#screenRoot > .pd-head + .podium{ margin-top:0 !important; }
@media (min-width:900px){.day-head, .pd-head{ margin:56px 0 18px !important; }
.wk, .tonight, #screenRoot > .countdown{ margin-top:56px !important; margin-bottom:0 !important; }
#screenRoot > .homefooter{ margin-top:56px !important; }
.mcolrow, .hx-pills{ margin-left:0 !important; margin-right:0 !important; padding-left:0 !important; padding-right:0 !important; }
.mcolrow{ padding-top:4px !important; }
}
.mcolrow{ margin-left:-20px !important; margin-right:-20px !important; padding-left:20px !important; padding-right:20px !important; scroll-padding-left:20px; }
@media (min-width:900px){.mcolrow{ margin-left:0 !important; margin-right:0 !important; padding-left:0 !important; padding-right:0 !important; }
#screenRoot > .recorow, #screenRoot > .top10row, #screenRoot > .mcolrow, #screenRoot > .storyrow, #screenRoot > .feedgrid, #screenRoot > div:not([class]){ margin-bottom:0 !important; }
.hx-under{ padding-left:32px !important; padding-right:32px !important; }
}
@media (min-width:900px){#screenRoot > .day-head, #screenRoot > .pd-head{ margin-top:56px !important; }
}
body[data-screen="discover"] #screenRoot > .day-head:first-of-type{ margin-top:18px !important; }
h1, h2, .sheet-title, .hx-hi, .fg-hero p, .lead{ text-wrap:balance; }
@media (min-width:900px){.dx #whenRow, .dx #catRow, .dx #moreRow{ display:flex !important; overflow:visible !important; flex-wrap:nowrap; }
.dx #whenRow > *, .dx #moreRow > *{ flex:1 1 0; justify-content:center; min-width:0; }
.dx #catRow > .dxcat{ flex:1 1 0; width:auto; }
.dx #catRow .dxcat-ic{ width:100%; max-width:120px; height:64px; }
.dx #moreRow .chip{ height:40px; }
}
@media (min-width:900px){.dx #moreRow > *{ flex:1 1 auto; }
}
@media (min-width:900px) and (max-width:1199px){.lrlist{ grid-template-columns:repeat(2, minmax(0, 1fr)) !important; }
.dx #moreRow .chip{ padding:0 10px; font-size:13px; }
}
@media (min-width:900px){#clubsSection .chiprow{ display:flex; overflow:visible; }
#clubsSection .chiprow > *{ flex:1 1 0; justify-content:center; }
}
@media (min-width:1100px){body[data-screen="profile"] .wrap, body[data-screen="community"] .wrap, body[data-screen="saved"] .wrap{ max-width:1280px !important; }
body[data-screen="profile"] #screenRoot:has(> .profilehead){ display:grid; grid-template-columns:360px minmax(0, 1fr); column-gap:28px; align-items:start; }
body[data-screen="profile"] #screenRoot > .profilehead{ grid-column:1; grid-row:1 / span 12; position:sticky; top:24px; margin:0; }
body[data-screen="profile"] #screenRoot:has(> .profilehead) > :not(.profilehead){ grid-column:2; }
body[data-screen="community"] #screenRoot > .soctabs{ max-width:none; }
.svguest{ display:grid; grid-template-columns:minmax(0, 1.1fr) minmax(0, 1fr); grid-template-rows:auto auto; column-gap:24px; align-items:stretch; }
.svguest .sv-hero{ grid-row:1 / span 2; display:flex; flex-direction:column; justify-content:center; margin:0; }
.svguest .fg-list{ margin:0 0 14px; align-self:stretch; display:flex; flex-direction:column; justify-content:center; }
.svguest .fg-cta{ align-self:end; margin:0; }
.fguest:not(.svguest){ display:grid; grid-template-columns:minmax(0, 1.1fr) minmax(0, 1fr); column-gap:24px; max-width:none !important; }
.fguest:not(.svguest) .fg-hero{ grid-row:1 / span 3; display:flex; flex-direction:column; justify-content:center; margin:0; }
.fguest:not(.svguest) .fg-list{ margin:0 0 14px; }
.fguest:not(.svguest) .fg-cta, .fguest:not(.svguest) .fg-login{ grid-column:2; }
}
@media (min-width:1100px){.gp{ display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1fr); column-gap:28px; align-items:center; }
.gp > .gp-hero{ grid-column:1; }
.gp > .gp-list{ grid-column:1; }
.gp > .accountcard{ grid-column:2; grid-row:1 / span 2; margin:0; }
}
.invitecard{ position:relative; overflow:hidden; color:#fff !important; border:0 !important;
    background:radial-gradient(110% 90% at 100% 0%, rgba(255,79,216,.45), transparent 55%), linear-gradient(150deg, var(--accent), #4F46E5 60%, #3B2BB5) !important; box-shadow:0 18px 36px -22px rgba(79,70,229,.8) !important; }
.invitecard strong{ color:#fff !important; }
.invitecard span{ color:rgba(255,255,255,.85) !important; }
.invitecard .nickpill{ background:#fff !important; }
.invitecard .invite-btns .btn:not(.primary){ background:rgba(255,255,255,.16) !important; color:#fff !important; border:0 !important; }
.invitecard .invite-btns .btn.primary{ background:#fff !important; color:#4338CA !important; box-shadow:none !important; }
.inv-art{ position:absolute; right:14px; top:12px; display:flex; }
.inv-art i{ font-style:normal; width:40px; height:40px; display:grid; place-items:center; margin-left:-10px; border-radius:50%; font-size:22px; background:rgba(255,255,255,.9); box-shadow:0 0 0 3px rgba(255,255,255,.35); }
.ppl-empty{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:6px; padding:26px 20px !important; }
.ppl-empty span{ font-size:34px; }
.ppl-empty strong{ font-size:16px; color:var(--ink); }
.ppl-empty small{ font-size:14px; color:var(--ink-muted); max-width:340px; }
@media (min-width:1100px){.ppl-grid{ display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1.2fr); gap:24px; align-items:start; margin-top:4px; }
.ppl-grid .invitecard{ margin:0; padding:28px 26px !important; min-height:260px; display:flex; flex-direction:column; justify-content:flex-end; gap:12px; }
.ppl-grid .invitecard strong{ font-size:24px; }
.inv-art{ right:24px; top:24px; }
.inv-art i{ width:52px; height:52px; font-size:28px; }
.ppl-side > .section-label:first-child{ margin-top:0; }
}
@media (max-width:1099px){.invitecard{ padding-top:66px !important; }
.inv-art{ left:16px; right:auto; top:14px; }
.inv-art i:first-child{ margin-left:0; }
}
:root[data-theme="dark"]{ --bg:#0C0C11; --surface:#17171F; --surface-2:#22222D; --line:#2A2A36; --line-strong:#353544; --ink:#F2F2F7; --ink-muted:#A1A1B3; }
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){ --bg:#0C0C11; --surface:#17171F; --surface-2:#22222D; --line:#2A2A36; --line-strong:#353544; --ink:#F2F2F7; --ink-muted:#A1A1B3; }
}
:root[data-theme="dark"] body{ background:var(--bg); }
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) body{ background:var(--bg); }
}
:root[data-theme="dark"] .tonight{ background:linear-gradient(180deg, rgba(236,72,153,.16), rgba(23,23,31,1) 60%) !important; box-shadow:0 0 0 1px rgba(236,72,153,.22) !important; }
:root[data-theme="dark"] .tonight .card.tn-row{ background:#1E1E28 !important; box-shadow:0 0 0 1px #2A2A36 !important; }
:root[data-theme="dark"] .wk:not(.mo){ background:linear-gradient(180deg, rgba(109,93,252,.22), rgba(23,23,31,1) 60%) !important; box-shadow:0 0 0 1px rgba(109,93,252,.3) !important; }
:root[data-theme="dark"] .wk.mo{ background:linear-gradient(180deg, rgba(20,184,166,.16), rgba(23,23,31,1) 60%) !important; box-shadow:0 0 0 1px rgba(20,184,166,.25) !important; }
:root[data-theme="dark"] .wk.mo .wk-k{ color:#5EEAD4 !important; }
:root[data-theme="dark"] .wk.mo .mo-cell[data-active="true"]{ background:linear-gradient(150deg, #14B8A6, #0F766E) !important; }
:root[data-theme="dark"] .wk .wk-row, :root[data-theme="dark"] .mo-day{ background:transparent !important; }
:root[data-theme="dark"] .wk-tab:not([data-active]), :root[data-theme="dark"] .mo-cell.has:not([data-active]){ background:#1E1E28 !important; box-shadow:0 0 0 1px #2A2A36 !important; }
:root[data-theme="dark"] header.top, :root[data-theme="dark"] nav.bottomnav.sidebar{ background:#0C0C11; }
:root[data-theme="dark"] .card, :root[data-theme="dark"] .card-poster{ background:var(--surface); }
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .tonight{ background:linear-gradient(180deg, rgba(236,72,153,.16), rgba(23,23,31,1) 60%) !important; box-shadow:0 0 0 1px rgba(236,72,153,.22) !important; }
:root:not([data-theme="light"]) .tonight .card.tn-row{ background:#1E1E28 !important; box-shadow:0 0 0 1px #2A2A36 !important; }
:root:not([data-theme="light"]) .wk:not(.mo){ background:linear-gradient(180deg, rgba(109,93,252,.22), rgba(23,23,31,1) 60%) !important; box-shadow:0 0 0 1px rgba(109,93,252,.3) !important; }
:root:not([data-theme="light"]) .wk.mo{ background:linear-gradient(180deg, rgba(20,184,166,.16), rgba(23,23,31,1) 60%) !important; box-shadow:0 0 0 1px rgba(20,184,166,.25) !important; }
:root:not([data-theme="light"]) .wk.mo .wk-k{ color:#5EEAD4 !important; }
:root:not([data-theme="light"]) .wk.mo .mo-cell[data-active="true"]{ background:linear-gradient(150deg, #14B8A6, #0F766E) !important; }
:root:not([data-theme="light"]) .wk .wk-row, :root:not([data-theme="light"]) .mo-day{ background:transparent !important; }
:root:not([data-theme="light"]) .wk-tab:not([data-active]), :root:not([data-theme="light"]) .mo-cell.has:not([data-active]){ background:#1E1E28 !important; box-shadow:0 0 0 1px #2A2A36 !important; }
:root:not([data-theme="light"]) header.top, :root:not([data-theme="light"]) nav.bottomnav.sidebar{ background:#0C0C11; }
:root:not([data-theme="light"]) .card, :root:not([data-theme="light"]) .card-poster{ background:var(--surface); }
}
.top10row .card.top10{ background:none !important; box-shadow:none !important; border:0 !important; }
.been-card{ background:var(--surface); border-radius:22px; box-shadow:0 0 0 1px var(--line), 0 10px 26px -20px rgba(20,12,60,.5); padding:6px; }
.been-item{ width:100%; display:flex; align-items:center; gap:12px; padding:10px; border:0; border-radius:16px; background:none; color:var(--ink); font:inherit; text-align:left; cursor:pointer; }
.been-item + .been-item{ border-top:1px solid var(--line); border-radius:0 0 16px 16px; }
.been-item:active{ background:var(--surface-2); }
.been-pic{ flex:none; width:58px; height:58px; border-radius:14px; background:var(--grad-brand) center/cover no-repeat; }
.been-txt{ flex:1; min-width:0; display:flex; flex-direction:column; gap:3px; }
.been-txt strong{ font-size:15px; line-height:1.25; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.been-txt small{ font-size:13px; color:var(--ink-muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.been-tag{ flex:none; padding:5px 10px; border-radius:99px; font-size:12px; font-weight:800; background:color-mix(in srgb, var(--accent) 12%, transparent); color:var(--accent); }
.been-tag.checkin{ background:color-mix(in srgb, #10B981 14%, transparent); color:#059669; }
.been-tag.ticket{ background:color-mix(in srgb, #EC4899 14%, transparent); color:#DB2777; }
.been-all{ width:100%; margin-top:2px; padding:12px; border:0; border-top:1px solid var(--line); background:none; color:var(--accent); font:inherit; font-weight:800; font-size:14px; cursor:pointer; }
.tixflash{ animation:tixflash 1.6s ease-out 2; }
@keyframes tixflash{ 0%{ box-shadow:0 0 0 0 rgba(109,93,252,.55); } 100%{ box-shadow:0 0 0 18px rgba(109,93,252,0); } }
.nonet{ max-width:360px; margin:70px auto 0; padding:0 24px; text-align:center; }
.nonet-ic{ width:72px; height:72px; margin:0 auto 18px; border-radius:22px; display:grid; place-items:center; color:var(--accent); background:color-mix(in srgb, var(--accent) 12%, transparent); }
.nonet h2{ margin:0 0 8px; font-size:20px; }
.nonet p{ margin:0 0 22px; color:var(--ink-muted); line-height:1.5; }
.nonet .btn{ min-width:170px; justify-content:center; margin:0 auto; }
.navbtn .dotcount{ transition:transform .15s ease-out; }
.navbtn:active .dotcount{ transform:scale(.9); }
@media (max-width:1023px){.navbtn.pop[data-active="true"] .dotcount{ animation:navpop .34s cubic-bezier(.3,1.5,.5,1) both; }
}
@keyframes navpop{ from{ transform:translateY(18px) scale(.55); opacity:.4; } to{ transform:none; opacity:1; } }
#screenRoot.enter{ animation:screenin .24s cubic-bezier(.2,.7,.2,1); }
@media (prefers-reduced-motion: reduce){.navbtn.pop[data-active="true"] .dotcount{ animation:none; }
}
.dx-filter{ position:relative; width:38px; height:38px; border-radius:12px; }
.fbadge{ position:absolute; top:-5px; right:-5px; min-width:18px; height:18px; padding:0 5px; border-radius:99px; background:var(--coral, #FF5A5F); color:#fff; font-size:12px; font-weight:800; line-height:18px; text-align:center; box-shadow:0 0 0 2px var(--surface); }
.fbadge:empty{ display:none; }
.dxactive:empty{ display:none; }
.fsheet .sheet{ display:flex; flex-direction:column; max-height:90vh; overflow:hidden; padding:0; }
.fsheet .sheet-x{ top:16px; right:16px; }
.fhead{ padding:22px 64px 14px 22px; }
.fhead .sheet-title{ display:block; margin:0; font-size:24px; letter-spacing:-.02em; }
.fhead span{ display:block; margin-top:2px; font-size:14px; color:var(--ink-muted); }
.fbody{ flex:1; overflow-y:auto; overscroll-behavior:contain; padding:0 22px 18px; }
.ffoot{ display:flex; gap:10px; padding:14px 22px calc(14px + env(safe-area-inset-bottom)); background:var(--surface); box-shadow:0 -10px 24px -18px rgba(20,12,60,.35); }
.ffoot .btn{ min-height:52px; border-radius:16px; font-size:15px; justify-content:center; }
.ffoot .fclear{ flex:none; padding:0 18px; background:var(--surface-2); border-color:transparent; color:var(--ink); }
.ffoot .fshow:disabled{ background:var(--surface-2); color:var(--ink-muted); box-shadow:none; font-size:14px; }
.ffoot .fshow{ flex:1; background:var(--grad-brand); border:0; box-shadow:0 12px 24px -12px rgba(109,93,252,.8); }
.fsec{ padding:18px 0 2px; }
.fsec + .fsec{ border-top:1px solid var(--line); margin-top:14px; }
.fsec h3{ margin:0 0 12px; font-size:15px; font-weight:800; letter-spacing:-.01em; color:var(--ink); }
.ftiles{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:8px; }
.ftile{ position:relative; display:flex; flex-direction:column; align-items:flex-start; gap:6px; padding:12px 11px 11px; min-height:96px; border-radius:18px; border:1.5px solid var(--line); background:var(--surface); color:var(--ink); font:inherit; text-align:left; cursor:pointer; transition:transform .12s, border-color .15s, background .15s; }
.ftile:active{ transform:scale(.97); }
.ftile-ic{ width:36px; height:36px; border-radius:12px; display:grid; place-items:center; color:var(--c, var(--accent)); background:color-mix(in srgb, var(--c, var(--accent)) 14%, transparent); }
.ftile b{ font-size:14px; line-height:1.2; }
.ftile small{ position:absolute; top:10px; right:10px; font-size:12px; font-weight:800; color:var(--ink-muted); }
.ftile[data-on="true"]{ border-color:var(--c, var(--accent)); background:color-mix(in srgb, var(--c, var(--accent)) 10%, var(--surface)); }
.ftile[data-on="true"] .ftile-ic{ background:var(--c, var(--accent)); color:#fff; }
.ftile[data-on="true"] small{ color:var(--c, var(--accent)); }
[data-none="true"]{ opacity:.42; }
.fchips, .fseg{ display:flex; flex-wrap:wrap; gap:8px; }
.fchip{ display:inline-flex; align-items:center; gap:7px; padding:10px 15px; border-radius:99px; border:1.5px solid var(--line); background:var(--surface); color:var(--ink); font:inherit; font-size:14px; font-weight:700; cursor:pointer; transition:transform .12s, background .15s, border-color .15s, color .15s; }
.fchip:active{ transform:scale(.96); }
.fchip em{ font-style:normal; font-size:12px; font-weight:800; padding:2px 7px; border-radius:99px; background:var(--surface-2); color:var(--ink-muted); }
.fchip[data-on="true"]{ background:var(--ink); border-color:var(--ink); color:var(--surface); }
.fchip[data-on="true"] em{ background:rgba(255,255,255,.18); color:inherit; }
.fseg.three{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:8px; }
.fseg-b{ display:flex; flex-direction:column; align-items:center; gap:6px; padding:12px 6px; border-radius:16px; border:1.5px solid var(--line); background:var(--surface); color:var(--ink-muted); font:inherit; font-size:13px; font-weight:800; cursor:pointer; transition:background .15s, border-color .15s, color .15s; }
.fseg-b[data-on="true"]{ border-color:var(--accent); color:var(--accent); background:color-mix(in srgb, var(--accent) 10%, var(--surface)); }
.fdays{ display:flex; gap:8px; overflow-x:auto; margin:12px -22px 0; padding:2px 22px 6px; scrollbar-width:none; scroll-snap-type:x proximity; }
.fdays::-webkit-scrollbar{ display:none; }
.fday{ position:relative; flex:none; width:56px; display:flex; flex-direction:column; align-items:center; gap:1px; padding:9px 0 11px; border-radius:16px; border:1.5px solid var(--line); background:var(--surface); color:var(--ink); font:inherit; cursor:pointer; scroll-snap-align:start; }
.fday small{ font-size:12px; color:var(--ink-muted); font-weight:700; }
.fday b{ font-size:20px; line-height:1.15; }
.fday i{ position:absolute; bottom:5px; width:4px; height:4px; border-radius:50%; background:var(--accent); }
.fday[data-none="true"] i{ display:none; }
.fday[data-on="true"]{ border-color:transparent; background:var(--grad-brand); color:#fff; box-shadow:0 10px 20px -12px rgba(109,93,252,.9); }
.fday[data-on="true"] small{ color:rgba(255,255,255,.85); }
.fday[data-on="true"] i{ background:#fff; }
.fswitch{ width:100%; display:flex; align-items:center; gap:12px; padding:12px; border-radius:18px; border:1.5px solid var(--line); background:var(--surface); color:var(--ink); font:inherit; text-align:left; cursor:pointer; }
.fswitch > span:nth-child(2){ flex:1; display:flex; flex-direction:column; gap:2px; }
.fswitch b{ font-size:14px; }
.fswitch small{ font-size:13px; color:var(--ink-muted); }
.fswitch i{ flex:none; position:relative; width:46px; height:28px; border-radius:99px; background:var(--line); transition:background .2s; }
.fswitch i::after{ content:""; position:absolute; top:3px; left:3px; width:22px; height:22px; border-radius:50%; background:#fff; box-shadow:0 2px 6px rgba(0,0,0,.2); transition:transform .2s; }
.fswitch[data-on="true"]{ border-color:var(--accent); }
.fswitch[data-on="true"] i{ background:var(--accent); }
.fswitch[data-on="true"] i::after{ transform:translateX(18px); }
.sheet-x{ z-index:3; width:44px; height:44px; top:10px; right:10px; display:grid; place-items:center; font-size:16px; }
.sheet:has(> .sheet-x) .sheet-title, .sheet:has(> .sheet-x) > h2:first-of-type{ padding-right:48px; }
.iconbtn{ width:44px; height:44px; }
.chip{ min-height:40px; }
.venuecuisine{ display:flex; flex-wrap:wrap; gap:6px; margin:10px 0 2px; }
.venuecuisine span{ padding:5px 11px; border-radius:99px; background:color-mix(in srgb, var(--accent) 10%, var(--surface)); color:var(--accent); font-size:13px; font-weight:700; }
.bookbtn{ margin:14px 0 4px; min-height:52px; justify-content:center; gap:8px; }
.bk-note{ margin:-4px 0 10px; padding:10px 12px; border-radius:12px; background:var(--surface-2); font-size:14px; color:var(--ink-muted); }
.bk-lbl{ display:block; margin:12px 0 6px; font-size:13px; font-weight:800; color:var(--ink-muted); }
.bk-lbl small{ font-weight:600; }
.sheet .bk-days{ margin:0 -20px; padding:2px 20px 6px; }
.bk-two{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.sheet label input, .sheet label select{ width:100%; min-height:46px; padding:0 12px; border-radius:12px; border:1.5px solid var(--line); background:var(--surface); color:var(--ink); font:inherit; font-size:16px; }
#bkGo{ width:100%; margin-top:16px; min-height:52px; justify-content:center; }
.tb-foot{ display:flex; align-items:center; gap:10px; margin-top:6px; }
.tb-item .been-txt small{ white-space:normal; }
.bk-hint{ margin-top:10px; font-size:13px; color:var(--ink-muted); text-align:center; }
.bk-done{ text-align:center; padding:10px 0; }
.bk-done > span{ display:grid; place-items:center; width:64px; height:64px; margin:0 auto 12px; border-radius:50%; background:#10B981; color:#fff; font-size:30px; font-weight:800; }
.bk-done strong{ display:block; font-size:20px; margin-bottom:6px; }
.bk-done p{ color:var(--ink-muted); margin:0 0 16px; }
#myTables{ margin-top:22px; }
.tb-item{ cursor:default; flex-wrap:wrap; }
.tb-pic{ display:grid; place-items:center; color:#fff; }
.tb-pic svg{ width:24px; height:24px; }
.tb-cancel{ margin-left:auto; font-size:13px; }
.entryrules-ev{ display:grid; gap:8px; margin:14px 0 4px; padding:12px 14px; border-radius:16px; background:color-mix(in srgb, #F59E0B 10%, var(--surface)); box-shadow:inset 0 0 0 1px color-mix(in srgb, #F59E0B 30%, transparent); }
.entryrules-ev span{ display:flex; gap:10px; align-items:baseline; font-size:14px; color:var(--ink-muted); }
.entryrules-ev b{ flex:none; min-width:74px; color:var(--ink); font-weight:800; }
.notix-ic{ flex:none; width:40px; height:40px; border-radius:12px; display:grid; place-items:center; color:var(--accent); background:color-mix(in srgb, var(--accent) 12%, transparent); font-size:0; margin-top:0; }
.notix-ic svg{ width:20px; height:20px; }
#ticketBtn svg{ width:18px; height:18px; vertical-align:-3px; margin-right:4px; }
.fchips, .fseg:not(.three){ flex-wrap:nowrap; overflow-x:auto; margin:0 -22px; padding:2px 22px 4px; scrollbar-width:none; }
.fchips::-webkit-scrollbar, .fseg:not(.three)::-webkit-scrollbar{ display:none; }
.fchip{ flex:none; }
.fchip[data-on="true"]{ background:var(--accent); border-color:var(--accent); color:#fff; }
.fchip[data-on="true"] em{ background:rgba(255,255,255,.22); color:#fff; }
.fseg-b[data-on="true"]{ background:var(--accent); border-color:var(--accent); color:#fff; }
.fdays{ margin:10px -22px 0 !important; padding:2px 22px 6px !important; scroll-padding-left:22px; }
.fday[data-on="true"]{ background:var(--accent); }
.fsec h3{ margin-bottom:10px; }
.fsec{ padding-top:16px; }
.fsec + .fsec{ margin-top:12px; }
.aboutcard .linkrow{ display:flex; align-items:center; gap:10px; min-width:0; }
.aboutcard .myticket-link{ flex:1; min-width:0; text-align:left; }
.aboutcard .myticket-link{ overflow:hidden; }
.aboutcard .linkrow > .btn{ flex:none; }
.buybar .btn.buycta, :root[data-theme="dark"] .buybar .btn.buycta{ background:linear-gradient(135deg, #C2410C, #E11D48); color:#fff; border:0; box-shadow:0 10px 24px -10px rgba(244,63,94,.75); font-weight:800; }
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .buybar .btn.buycta{ background:linear-gradient(135deg, #C2410C, #E11D48); color:#fff; }
}
.fg-row > span, .si-row > span{ width:36px; height:36px; border-radius:11px; display:grid; place-items:center; color:var(--accent); background:color-mix(in srgb, var(--accent) 12%, transparent); font-size:0; }
.fg-row > span svg, .si-row > span svg{ width:19px; height:19px; }
.gp-ic svg{ width:20px; height:20px; }
.gp-ic{ color:hsl(var(--h) 65% 42%); }
.countdown-bg, .countdown-bg.poster-fit.has-img{ opacity:.38; }
.countdown::after{ background:linear-gradient(115deg, rgba(55,48,163,.94) 0%, rgba(55,48,163,.62) 55%, rgba(17,15,36,.45)), linear-gradient(180deg, transparent 40%, rgba(10,8,30,.55)); }
:root{ --grad-brand:linear-gradient(135deg, #5B4BF0 0%, #9B4DEB 55%, #E94A9C 100%);
    --fs-display:30px; --fs-title1:24px; --fs-title2:20px; --fs-title3:17px; --fs-body:15px; --fs-callout:14px; --fs-footnote:13px; --fs-caption:12px; }
body{ font-family:var(--font); font-size:var(--fs-body); font-size-adjust:.52; font-language-override:"RUS"; }
.brand, .navbrand, .hx-hi, .simplehead h1, .simplehead .sh1, .dx h1, .day-head h2, .pd-head-k, .ib-txt strong, .ob-body h1, .tour-text strong, .consent-card h2, .gp-hero h2, .fg-hero h2, .sv-hero h2, .sheet-title, .fhead .sheet-title, .countdown-title, .cdate b, .fday b, .ssr h1, .bk-done strong, .nonet h2, .hero .htitle{
    font-family:var(--font-display) !important; font-language-override:normal !important; font-size-adjust:none !important; }
.hx-hi{ font-size:var(--fs-display); font-weight:700; letter-spacing:-.02em; }
.simplehead h1, .simplehead .sh1, .dx h1{ font-size:22px; font-weight:700; letter-spacing:-.015em; }
.hero .htitle{ font-size:24px; font-weight:700; letter-spacing:-.015em; line-height:1.2; }
.sheet-title, .fhead .sheet-title{ font-weight:700; letter-spacing:-.015em; }
.title, .spot-title, .top10title, .feedtitle, .story-title, .eod-title, .calevent-title, .clubname, .lr-title, .acc-title, .pd-title, .been-txt strong{
    font-family:var(--font) !important; font-language-override:normal; font-weight:800; letter-spacing:0; }
.btn, .chip, .fchip, .navbtn, .hx-pill, .dxcat small, .textbtn{ font-family:var(--font); }
.artistcard .artistgenre, .featured, .stat .lbl, .navbtn, .topcard .cat-label, .topcard .meta, .community-tag, .chatmsg .who, .chatmsg .when, .calweekdays span, .promo-tag, .dm em, .storebadge small, .cwhen-cat, .demotix-text em, .cdate small, .ccat, .tp-label, .pd-small .pd-badge{ font-size:12px !important; }
.hero .htitle{ font-family:var(--font) !important; font-language-override:normal !important; font-weight:800 !important; font-size:26px; letter-spacing:-.01em; line-height:1.18; }
#screenRoot .lrhead h2, .day-head.lrhead h2{ font-family:var(--font) !important; font-language-override:"RUS" !important; font-weight:800 !important; font-size:18px !important; letter-spacing:0; }
.simplehead h1, .simplehead .sh1{ font-size:20px !important; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; min-width:0; }
html, body{ overflow-x:clip; max-width:100%; }
.sheet-grip{ display:block; width:40px; height:5px; margin:-12px auto 12px; border-radius:3px; background:var(--line-strong, rgba(120,120,140,.35)); cursor:grab; }
.fsheet .sheet-grip{ margin:10px auto 0; }
@media (min-width:900px){.sheet-grip{ display:none; }
}
.acc-lbl{ display:block; margin:12px 0 6px; font-size:13px; font-weight:800; color:var(--ink); }
.acc-hint{ display:block; margin-top:6px; font-size:12px; color:var(--ink-muted); }
.dside{ display:contents; }
@media (min-width:1100px){body[data-screen="detail"] #screenRoot{ display:grid; grid-template-columns:minmax(0, 1fr) 380px; column-gap:28px; align-items:start; max-width:1180px; }
body[data-screen="detail"] #screenRoot > *{ grid-column:1; min-width:0; }
body[data-screen="detail"] #screenRoot > .dside{ display:flex; flex-direction:column; gap:14px; grid-column:2; grid-row:1 / span 30; position:sticky; top:88px; }
body[data-screen="detail"] #screenRoot > .dside > *{ margin-top:0 !important; }
body[data-screen="detail"] .buybar{ display:none !important; }
}
.gcard-ic, .chatcard-ic, .notif-ic, .tb-ic{ display:grid !important; place-items:center; font-size:0 !important; }
.gcard-ic svg, .chatcard-ic svg, .notif-ic svg, .tb-ic svg{ width:20px; height:20px; }
.gcard-ic{ color:var(--accent); }
.chatcard-ic{ color:#fff; }
.notif-ic{ color:var(--accent); }
:root[data-theme="dark"] .clubcard-kind{ background:rgba(12,12,17,.78) !important; color:#E9E7FF !important; }
body[data-screen="venue"] .hero-visual:not(.has-img), body[data-screen="artist"] .hero-visual:not(.has-img){ aspect-ratio:auto !important; height:96px !important; min-height:0 !important; background:var(--grad-brand) !important; }
.gp-hero p, .fg-hero p{ text-wrap:pretty; }
.notix-ic, .gcard-ic, .chatcard-ic, .notif-ic, .tb-ic, .fg-row > span, .si-row > span, .gp-ic, .ptile-ic, .ftile-ic, .tb-pic, .nonet-ic, .fs-ic{
    display:grid !important; place-items:center !important; }
.notix-ic > svg, .gcard-ic > svg, .chatcard-ic > svg, .notif-ic > svg, .tb-ic > svg, .fg-row > span > svg, .si-row > span > svg, .gp-ic > svg, .ptile-ic > svg, .ftile-ic > svg, .tb-pic > svg{ margin:0 !important; display:block; }
.poster-fit.fit-cover::after{ background-size:cover !important; }
.pd-img.fit-cover{ background-size:cover !important; }
.hero-event .hero-visual.poster-fit.has-img, .hero-visual.poster-fit.has-img{ aspect-ratio:1.91 / 1 !important; height:auto !important; max-height:none !important; }
.feedposter, .feedposter.has-img{ aspect-ratio:1.91 / 1 !important; }
.pd-day .pd-art, .pd-small .pd-art, .podium .pd-small .pd-art, .podium .pd-day .pd-art{ aspect-ratio:1.91 / 1 !important; height:auto !important; min-height:0 !important; }
.card-poster .card-head.has-img, .top10poster, .top10poster.has-img, .solothumb, .card.spot .spot-visual{ aspect-ratio:1.91 / 1 !important; }
.fchips.mgrid{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:8px; margin:0; padding:0; overflow:visible; flex-wrap:wrap; }
.fchips.mgrid .fchip{ justify-content:space-between; width:100%; text-align:left; line-height:1.2; padding:10px 12px; }
.btn.cta::after{ animation-iteration-count:1 !important; }
.pd-shine::before{ animation-iteration-count:1 !important; }
.tn-when .tn-live{ color:#15803D !important; }
.lr-meta b.free{ color:#15803D; }
:root[data-theme="dark"] .tn-when .tn-live, :root[data-theme="dark"] .lr-meta b.free{ color:#4ADE80 !important; }
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .tn-when .tn-live, :root:not([data-theme="light"]) .lr-meta b.free{ color:#4ADE80 !important; }
}
.cityselect:focus-visible{ outline:2px solid var(--accent); outline-offset:3px; border-radius:6px; }
.fg-cta2{ flex-direction:column; align-items:center; gap:2px; line-height:1.15; padding-top:8px; padding-bottom:8px; }
.fg-cta2 small{ font-size:13px; font-weight:600; opacity:.88; }
.hero .htitle{ font-family:var(--font-display) !important; font-weight:700 !important; font-size:clamp(20px, 6vw, 24px) !important; letter-spacing:-.015em; line-height:1.2; }
.simplehead .dettop{ opacity:0; transform:translateY(6px); transition:opacity .2s, transform .2s; font-family:var(--font) !important; font-size:16px !important; font-weight:800; letter-spacing:0; }
.simplehead .dettop.on{ opacity:1; transform:none; }
body[data-screen="detail"] #headerRoot{ position:sticky; top:0; z-index:20; }
.hx-filter, .tn-all, .textbtn, .ib-btn{ position:relative; }
.clubcard-follow::before{ content:""; position:absolute; inset:-3px; }
.tn-all::before, .ib-btn::before{ content:""; position:absolute; inset:-5px 0; }
.textbtn::before{ content:""; position:absolute; inset:-5px -4px; }
.clubcard-follow{ width:40px; height:40px; }
.hx-filter{ width:44px; height:44px; }
svg.ic{ display:inline-block; vertical-align:-.16em; flex:none; }
.btn svg.ic{ vertical-align:-.2em; margin-right:2px; }
.fg-av svg.ic{ color:hsl(var(--h) 60% 38%); }
.rv-mark svg.ic{ color:var(--accent); }
.section-label, .desc-block > .lbl{ font-family:var(--font-display) !important; font-size:20px !important; font-weight:700 !important; letter-spacing:-.01em !important; text-transform:none !important; color:var(--ink) !important; line-height:1.25; }
.section-label{ margin:28px 0 12px; }
.desc-block > .lbl{ margin-bottom:10px; }
.section-label .going-count{ font-family:var(--font); font-size:15px; color:var(--ink-muted); font-weight:700; }
:root[data-theme="dark"]{ --nav-bg:#2A2370; --nav-ink:#D6D3FF; }
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){ --nav-bg:#2A2370; --nav-ink:#D6D3FF; }
}
details.past.donetoday{ margin-top:12px; padding-top:10px; }
details.past.donetoday summary{ font-family:var(--font); font-size:15px; font-weight:700; }
.js .ssr-wait{ position:absolute !important; width:1px; height:1px; padding:0 !important; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
html:not(.js) .page-skel{ display:none; }
.soc-hero{ position:relative; overflow:hidden; text-align:left; padding:22px 20px 22px; border-radius:22px; color:#fff;
    background:radial-gradient(120% 140% at 100% 0%, rgba(233,74,156,.55), transparent 55%), linear-gradient(135deg, #5B4BF0, #4338CA 60%, #3B2BB8); box-shadow:0 18px 36px -18px rgba(79,70,229,.7); }
.soc-hero-emoji{ width:52px; height:52px; display:grid; place-items:center; border-radius:50%; font-size:28px; background:rgba(255,255,255,.92); box-shadow:0 0 0 4px rgba(255,255,255,.3); margin-bottom:14px; }
.soc-hero strong{ font-family:var(--font-display); font-size:20px; font-weight:700; letter-spacing:-.01em; color:#fff; margin-top:0; }
.soc-hero p{ color:rgba(255,255,255,.88); margin:8px 0 0; font-size:15px; }
.soc-hero p b{ color:#fff; }
.soc-hero .btn{ margin:16px 0 0; background:#fff !important; color:#4338CA !important; border:0 !important; box-shadow:none !important; font-weight:800; }
@keyframes skelin{ to{ opacity:1; } }
.skel-body{ opacity:0; animation:skelin .2s ease .5s forwards; }
.skel-head .skel{ opacity:0; animation:skel 1.3s ease-in-out infinite, skelin .2s ease .5s forwards; }
@media (prefers-reduced-motion: reduce){.skel-head .skel, .skel-body{ opacity:1; animation:none; }
}
.dact.keen svg{ color:#E11D62; }
.dact.keen.on{ background:color-mix(in srgb, #E11D62 11%, var(--surface)); color:#BE123C; }
.dact.keen.on svg{ fill:#E11D62; color:#E11D62; }
:root[data-theme="dark"] .dact.keen.on{ color:#FDA4AF; }
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .dact.keen.on{ color:#FDA4AF; }
}
.chatpeek{ display:flex; align-items:center; gap:12px; width:100%; margin:12px 0 0; padding:12px 14px; border:0; border-radius:18px; text-align:left; cursor:pointer; font:inherit; color:#fff;
    background:linear-gradient(135deg, #2E2A6B, #6D28A8); box-shadow:0 10px 24px -14px rgba(79,70,229,.7); }
.chatpeek[hidden]{ display:none; }
.chatpeek-ic{ flex:none; width:40px; height:40px; border-radius:13px; display:grid; place-items:center; background:rgba(255,255,255,.16); }
.chatpeek-ic svg{ width:20px; height:20px; }
.chatpeek-txt{ flex:1; min-width:0; }
.chatpeek-txt strong{ display:block; font-size:15px; font-weight:800; }
.chatpeek-txt small{ display:block; font-size:13px; opacity:.85; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.chatpeek-go{ flex:none; padding:8px 14px; border-radius:99px; background:#fff; color:#4338CA; font-size:13px; font-weight:800; }
.askco-faces{ display:flex; justify-content:center; margin:2px 0 12px; }
.askco-faces i{ font-style:normal; width:52px; height:52px; display:grid; place-items:center; margin:0 -6px; border-radius:50%; font-size:28px; background:var(--surface-2); box-shadow:0 0 0 3px var(--surface); }
.been-stats{ display:grid; grid-template-columns:repeat(3, 1fr); gap:10px; margin:0 0 10px; }
.been-stat{ padding:14px 10px; border-radius:18px; text-align:center; color:#fff; background:linear-gradient(135deg, #5B4BF0, #7C3AED); box-shadow:0 12px 26px -18px rgba(79,70,229,.8); }
.been-stat:nth-child(2){ background:linear-gradient(135deg, #DB2777, #9B4DEB); }
.been-stat:nth-child(3){ background:linear-gradient(135deg, #0EA5E9, #4F46E5); }
.been-stat b{ display:block; font-family:var(--font-display); font-size:24px; font-weight:700; line-height:1.1; }
.been-stat span{ display:block; margin-top:4px; font-size:13px; font-weight:700; opacity:.9; }
.been-fav{ margin:0 0 10px; padding:10px 14px; border-radius:14px; background:var(--surface-2); font-size:14px; color:var(--ink-muted); }
.been-fav b{ color:var(--ink); }
.wkmine{ display:flex; align-items:center; gap:12px; margin:0 0 18px; padding:16px; border-radius:22px; color:#fff;
    background:radial-gradient(120% 140% at 100% 0%, rgba(255,79,216,.5), transparent 55%), linear-gradient(135deg, #3B2BB8, #5B4BF0); box-shadow:0 16px 32px -20px rgba(79,70,229,.8); }
.wkmine-txt{ flex:1; min-width:0; }
.wkmine strong{ display:block; font-family:var(--font-display); font-size:18px; font-weight:700; margin-top:2px; }
.wkmine small{ display:block; margin-top:4px; font-size:13px; opacity:.9; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.wkmine-btn{ flex:none; display:inline-flex; align-items:center; gap:6px; min-height:44px; padding:0 16px; border:0; border-radius:99px; background:#fff; color:#4338CA; font:inherit; font-size:14px; font-weight:800; cursor:pointer; }
.ln-head{ display:flex; align-items:center; gap:14px; }
.ln-pic{ flex:none; width:72px; height:72px; border-radius:18px; background:var(--surface-2) center/cover no-repeat; }
.ln-head small{ display:block; font-size:13px; font-weight:700; color:var(--ink-muted); }
:root{
    --sg-card:0 0 0 1px var(--line), 0 10px 24px -18px rgba(23,21,58,.22);
    --sg-grad:linear-gradient(135deg,#5B4BF0 0%,#9B4DEB 55%,#E94A9C 100%);
    --sg-ok:#047857; --sg-ok-soft:#ECFDF5;
    --sg-keen:#BE123C;
  }
:root[data-theme="dark"]{ --sg-card:0 0 0 1px var(--line); --sg-ok:#6EE7B7; --sg-ok-soft:rgba(52,211,153,.14); --sg-keen:#FDA4AF; }
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){ --sg-card:0 0 0 1px var(--line); --sg-ok:#6EE7B7; --sg-ok-soft:rgba(52,211,153,.14); --sg-keen:#FDA4AF; }
}
@media (max-width:899px){body[data-screen="profile"] #screenRoot .day-head{ margin:32px 0 12px !important; }
}
body[data-screen="profile"] #screenRoot .day-head .count{ font-family:var(--font); font-size:13px; font-weight:600; color:var(--ink-muted); }
body[data-screen="profile"] #screenRoot .section-label, body[data-screen="profile"] #screenRoot .section-label:first-child{ margin:32px 0 12px; font-size:20px !important; }
body[data-screen="profile"] .profilehead{
    position:relative; display:block; text-align:left; gap:0;
    margin-top:8px; padding:20px 20px 8px; border-radius:20px;
    background:var(--surface); box-shadow:var(--sg-card);
  }
.ph-row{ display:flex; align-items:center; gap:14px; padding-right:44px; }
.ph-id{ flex:1; min-width:0; display:flex; flex-direction:column; align-items:flex-start; gap:6px; }
.profilehead .av.xxl{ width:72px; height:72px; font-size:28px; margin:0; cursor:pointer;
    box-shadow:0 0 0 3px var(--surface), 0 0 0 4px var(--line-strong); }
.profilehead .profilename{ font-family:var(--font); font-size:22px; font-weight:800; line-height:1.2; letter-spacing:-.01em; color:var(--ink);
    display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.profilehead .nickpill.sm{ position:relative; display:inline-flex; align-items:center; gap:6px; align-self:flex-start;
    min-height:32px; margin:0; padding:0 12px; overflow:visible; white-space:nowrap;
    font-size:13px; font-weight:700; color:var(--accent-ink); background:var(--surface-2); box-shadow:none; }
.profilehead .nickpill.sm::after{ content:""; position:absolute; inset:-6px 0; }
.profilehead .nickpill.sm svg{ width:14px; height:14px; opacity:.8; }
.profilehead .profilesub{ display:flex; align-items:center; gap:5px; font-size:13px; font-weight:500; color:var(--ink-muted); }
.profilehead .profilesub svg{ width:14px; height:14px; flex:none; }
.ph-edit{ position:absolute; top:12px; right:12px; width:44px; height:44px; border:0; border-radius:50%;
    display:grid; place-items:center; cursor:pointer; background:var(--surface-2); color:var(--accent-ink); }
.ph-edit:active{ transform:scale(.94); }
.ph-stats{ display:grid; grid-template-columns:repeat(3, 1fr); margin-top:16px; border-top:1px solid var(--line); }
.ph-stat{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px;
    min-height:60px; padding:8px 4px; border:0; background:none; color:var(--ink); font:inherit; cursor:pointer; border-radius:12px; }
.ph-stat + .ph-stat{ box-shadow:-1px 0 0 var(--line); border-radius:0; }
.ph-stat b{ font-family:var(--font-display); font-size:18px; font-weight:700; line-height:1.1; }
.ph-stat span{ font-size:12px; font-weight:600; color:var(--ink-muted); }
.ph-stat:active{ background:var(--surface-2); }
.been-card{ background:var(--surface); border-radius:20px; padding:6px; box-shadow:var(--sg-card); }
.been-item{ min-height:64px; padding:10px; gap:12px; border-radius:14px; }
.been-item + .been-item{ border-top:1px solid var(--line); border-radius:0; }
.been-pic{ width:84px; height:44px; border-radius:10px; background:var(--surface-2) center/cover no-repeat; }
.been-txt{ gap:2px; }
.been-txt strong{ font-size:15px; font-weight:700; line-height:1.25; color:var(--ink); }
.been-txt small{ font-size:13px; font-weight:500; color:var(--ink-muted); }
.up-item{ display:flex; align-items:center; gap:8px; padding-right:6px; }
.up-item + .up-item{ border-top:1px solid var(--line); }
.up-item .been-item{ flex:1; min-width:0; border-top:0; }
.up-card .myticket-link{ flex-direction:row; align-items:center; gap:12px; }
.up-qr{ flex:none; display:inline-flex; align-items:center; gap:6px; min-height:44px; padding:0 14px; border:0; border-radius:999px;
    background:var(--accent); color:var(--accent-contrast); font:inherit; font-size:13px; font-weight:800; cursor:pointer; }
.up-qr:active{ transform:scale(.96); }
.tb-pic{ width:44px; height:44px; border-radius:12px; background:var(--surface-2); color:var(--accent-ink); }
.tb-item .been-txt small{ white-space:normal; }
.been-sum{ margin:0 0 12px; border-radius:20px; background:var(--surface); box-shadow:var(--sg-card); overflow:hidden; }
.been-stats{ display:grid; grid-template-columns:repeat(3, 1fr); gap:0; margin:0; }
.been-stat, .been-stat:nth-child(2), .been-stat:nth-child(3){ padding:14px 8px; border-radius:0; text-align:center;
    background:none; box-shadow:none; color:var(--ink); }
.been-stat + .been-stat{ box-shadow:-1px 0 0 var(--line); }
.been-stat b{ font-family:var(--font-display); font-size:22px; font-weight:700; line-height:1.1; color:var(--ink); }
.been-stat span{ margin-top:4px; font-size:13px; font-weight:600; color:var(--ink-muted); opacity:1; }
.been-fav{ display:flex; align-items:center; gap:8px; margin:0; padding:12px 16px; border-radius:0;
    border-top:1px solid var(--line); background:none; font-size:14px; font-weight:500; color:var(--ink-muted); }
.been-fav svg{ flex:none; width:16px; height:16px; color:var(--accent-ink); }
.been-fav b{ color:var(--ink); font-weight:700; }
.been-tag{ display:inline-flex; align-items:center; min-height:24px; padding:0 10px; border-radius:999px;
    font-size:12px; font-weight:700; background:var(--surface-2); color:var(--ink-muted); }
.been-tag.going{ display:none; }
.been-tag.checkin{ background:var(--sg-ok-soft); color:var(--sg-ok); }
.been-tag.ticket{ background:var(--surface-2); color:var(--ink-muted); }
.been-all{ min-height:48px; margin-top:0; padding:0 12px; font-size:14px; font-weight:700; color:var(--accent-ink); }
.levelcard, .levelcard.lv4, .levelcard.lv5, .levelcard.lv6, .levelcard.lv7{
    display:flex; align-items:center; gap:14px; width:100%; min-height:92px; margin:0; padding:16px;
    border:0; border-radius:20px; text-align:left; font:inherit; cursor:pointer;
    color:var(--ink); background:var(--surface); box-shadow:var(--sg-card);
  }
.levelcard .hint-sm{ color:var(--ink-muted); }
.lv-icon{ flex:none; width:48px; height:48px; border-radius:50%; display:grid; place-items:center;
    background:var(--sg-grad); color:#fff; font-family:var(--font-display); font-size:20px; font-weight:700; }
.levelcard.lv6 .lv-icon, .levelcard.lv7 .lv-icon{ box-shadow:0 0 0 2px var(--surface), 0 0 0 4px #F5B82E; }
.lv-main{ flex:1; min-width:0; display:flex; flex-direction:column; }
.lv-main strong{ font-size:16px; font-weight:800; color:var(--ink); }
.lv-main small{ font-size:13px; font-weight:600; color:var(--ink-muted); }
.lv-next{ font-size:13px; font-weight:500; color:var(--ink-muted); opacity:1; }
.levelcard .plist-chev{ flex:none; color:var(--ink-muted); }
.levelcard:active{ background:var(--surface-2); }
.badges{ display:flex; gap:10px; margin:12px -20px 0; padding:2px 20px 6px; overflow-x:auto; scroll-snap-type:x proximity; scrollbar-width:none; }
.badges::-webkit-scrollbar{ display:none; }
.badges .badge{ flex:none; width:104px; min-height:116px; padding:12px 8px; gap:4px; border-radius:16px; scroll-snap-align:start;
    background:var(--surface); box-shadow:var(--sg-card); opacity:1; }
.badges .badge.done{ opacity:1; box-shadow:0 0 0 1.5px var(--accent); }
.badges .badge-ic{ width:44px; height:44px; border-radius:50%; display:grid; place-items:center; font-size:22px; background:var(--surface-2); filter:grayscale(1); opacity:.7; }
.badges .badge.done .badge-ic{ filter:none; opacity:1; }
.badges .badge strong{ font-size:12px; font-weight:700; line-height:1.2; color:var(--ink);
    display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.badges .badge small{ font-size:12px; font-weight:600; color:var(--ink-muted); }
.badges .badge.done small{ color:var(--accent-ink); }
.badges .badge i{ width:64px; height:4px; background:var(--surface-2); }
.badges .badge.done i{ display:none; }
@media (min-width:900px){.badges{ margin-inline:0; padding-inline:2px; flex-wrap:wrap; overflow:visible; }
}
.plist{ margin-top:32px; padding:0; border-radius:20px; background:var(--surface); box-shadow:var(--sg-card); }
.plist-row{ min-height:52px; padding:0 16px; font-size:15px; font-weight:600; color:var(--ink); }
.pfoot{ margin:16px 0 8px; font-size:12px; color:var(--ink-muted); }
.ptile-ic{ background:var(--surface-2) !important; color:var(--accent-ink) !important; }
.wkmine{ display:flex; align-items:center; gap:12px; margin:20px 0 16px; padding:14px; border-radius:20px;
    color:var(--ink); background:var(--surface); box-shadow:var(--sg-card); }
body[data-screen="saved"] .wkmine{ margin-top:4px; }
.wkmine-day{ flex:none; width:48px; height:56px; border-radius:14px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:1px; background:var(--surface-2); }
.wkmine-day i{ font-style:normal; font-size:12px; font-weight:800; letter-spacing:.04em; text-transform:uppercase; color:var(--accent-ink); }
.wkmine-day b{ font-family:var(--font-display); font-size:20px; font-weight:700; line-height:1; color:var(--ink); }
.wkmine strong{ font-family:var(--font-display); font-size:15px; font-weight:700; margin-top:0; color:var(--ink); }
.wkmine small{ margin-top:3px; font-size:13px; font-weight:500; line-height:1.35; color:var(--ink-muted); opacity:1;
    white-space:normal; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.wkmine-btn{ min-height:44px; padding:0 16px; background:var(--accent); color:var(--accent-contrast); font-size:14px; font-weight:800; }
.wkmine-btn svg{ width:16px; height:16px; }
.wkmine-btn:active{ transform:scale(.96); }
.gcard, .gcard.calm{ margin:16px 0 12px; padding:14px 14px 14px 16px; border-radius:20px;
    color:var(--ink); background:var(--surface); box-shadow:var(--sg-card); }
.gcard-avs{ padding-left:10px; }
.gcard-avs > *{ margin-left:-10px; box-shadow:0 0 0 2px var(--surface); }
.gcard-face{ width:32px; height:32px; font-size:17px; background:var(--surface-2); }
.gcard-txt strong{ font-size:15px; font-weight:800; color:var(--ink); }
.gcard-txt small{ font-size:13px; font-weight:500; color:var(--ink-muted); opacity:1; }
.gcard-ic{ width:44px; height:44px; border-radius:50%; background:color-mix(in srgb, #E11D62 12%, var(--surface)); color:var(--sg-keen); }
.gcard.calm .gcard-ic{ background:var(--surface-2); color:var(--accent-ink); }
.gcard-btn{ min-height:44px; padding:0 14px; background:var(--surface-2); color:var(--accent-ink); font-size:13px; font-weight:800; }
.gcard-btn svg{ width:16px; height:16px; }
@media (max-width:400px){.gcard-btn{ width:44px; padding:0; justify-content:center; }
}
.ticketrow .btn.going-on{ min-height:56px; border-radius:16px; font-size:16px; font-weight:800;
    background:color-mix(in srgb, var(--accent) 10%, var(--surface)); color:var(--accent-ink);
    border:1.5px solid color-mix(in srgb, var(--accent) 40%, transparent); box-shadow:none; }
.ticketrow .btn.going-on::after{ display:none; }
.ticketrow .btn.going-on svg{ width:18px; height:18px; }
.dactions{ gap:0; margin:14px 0 6px; border-radius:20px; background:var(--surface); box-shadow:var(--sg-card); overflow:hidden; }
.dact{ min-height:68px; padding:10px 4px; gap:6px; border-radius:0; background:none; box-shadow:none;
    font-size:13px; font-weight:700; color:var(--ink); }
.dact + .dact{ box-shadow:-1px 0 0 var(--line); }
.dact svg{ width:22px; height:22px; color:var(--accent-ink); }
.dact.on{ background:none; color:var(--ink); }
.dact.keen svg{ color:var(--sg-keen); }
.dact.keen.on{ background:none; color:var(--sg-keen); }
.dact.keen.on svg{ fill:#E11D62; color:#E11D62; }
:root[data-theme="dark"] .dact.keen.on{ color:var(--sg-keen); }
.dact:active{ background:var(--surface-2); transform:none; }
.chatpeek{ margin:12px 0 0; padding:12px 14px; border-radius:20px; color:var(--ink); background:var(--surface); box-shadow:var(--sg-card); }
.chatpeek-ic{ width:44px; height:44px; border-radius:50%; background:var(--surface-2); color:var(--accent-ink); }
.chatpeek-txt strong{ font-size:15px; font-weight:800; color:var(--ink); }
.chatpeek-txt small{ font-size:13px; color:var(--ink-muted); opacity:1; }
.chatpeek-go{ min-height:36px; display:inline-flex; align-items:center; padding:0 14px; background:var(--surface-2); color:var(--accent-ink); font-size:13px; font-weight:800; }
.sheet .sheet-title{ font-size:20px; line-height:1.25; margin-bottom:8px; }
.sheet .sheet-note{ font-size:15px; line-height:1.5; color:var(--ink-muted); }
.sheet .btn.primary.sheet-ok{ min-height:52px; border-radius:16px; font-size:16px; font-weight:800; }
.sheet .btn.primary.sheet-ok ~ .btn.sheet-ok:not(.primary){ min-height:48px; margin-top:4px !important;
    background:none; border:0; box-shadow:none; color:var(--ink-muted); font-size:15px; font-weight:700; }
.askco-faces{ justify-content:flex-start; margin:0 0 14px; padding-left:10px; }
.askco-faces i{ width:44px; height:44px; margin:0 0 0 -10px; font-size:24px; background:var(--surface-2); box-shadow:0 0 0 3px var(--surface); }
.ln-head{ align-items:center; gap:12px; margin-bottom:14px; padding-right:48px; }
.ln-pic{ width:96px; height:50px; border-radius:12px; }
.ln-head small{ font-size:13px; font-weight:600; line-height:1.35; color:var(--ink-muted);
    display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.ln-head small b{ color:var(--ink); font-weight:700; }
.been-tag.wait{ background:color-mix(in srgb, #F59E0B 16%, var(--surface)); color:#92400E; }
:root[data-theme="dark"] .been-tag.wait{ color:#FCD34D; }
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .been-tag.wait{ color:#FCD34D; }
}
.up-demo{ margin-top:12px; }
.been-item[hidden]{ display:none !important; }
.levelcard[hidden], .levelcard[hidden] + .badges:empty{ display:none; }
.decide{ display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:14px 0 8px; }
.decidewrap{ margin-top:12px; }
.decidewrap .decide{ margin:0; }
.dec{ display:flex; align-items:center; gap:9px; min-width:0; min-height:68px; padding:10px; border:0; border-radius:18px; font:inherit; text-align:left; cursor:pointer;
    background:var(--surface); color:var(--ink); box-shadow:var(--sg-card); transition:transform .15s ease, background-color .2s ease; }
.dec:active{ transform:scale(.97); }
.dec-ic{ flex:none; width:36px; height:36px; border-radius:50%; display:grid; place-items:center; }
.dec-ic svg{ width:20px; height:20px; }
.dec-txt{ min-width:0; }
.dec strong{ display:block; font-size:14px; font-weight:800; line-height:1.15; white-space:nowrap; }
@media (min-width:420px){.dec{ gap:10px; padding:10px 12px; }
.dec-ic{ width:40px; height:40px; }
.dec strong{ font-size:15px; }
}
.dec small{ display:block; margin-top:3px; font-size:13px; font-weight:600; color:var(--ink-muted); white-space:nowrap; }
.dec.go{ background:var(--accent); color:var(--accent-contrast, #fff); box-shadow:0 14px 26px -16px rgba(79,70,229,.9); }
.dec.go .dec-ic{ background:rgba(255,255,255,.2); color:inherit; }
.dec.go small{ color:inherit; opacity:.85; }
.dec.go.on{ background:color-mix(in srgb, var(--accent) 10%, var(--surface)); color:var(--accent-ink); box-shadow:inset 0 0 0 1.5px color-mix(in srgb, var(--accent) 45%, transparent); }
.dec.go.on .dec-ic{ background:var(--accent); color:var(--accent-contrast, #fff); }
.dec.go.on small{ color:var(--ink-muted); opacity:1; }
.dec.keen .dec-ic{ background:color-mix(in srgb, #E11D62 12%, var(--surface)); color:var(--sg-keen); }
.dec.keen.on{ background:color-mix(in srgb, #E11D62 7%, var(--surface)); box-shadow:inset 0 0 0 1.5px color-mix(in srgb, #E11D62 45%, transparent); }
.dec.keen.on strong{ color:var(--sg-keen); }
.dec.keen.on .dec-ic{ background:#E11D62; color:#fff; }
.dec.keen.on .dec-ic svg{ fill:#fff; }
@media (max-width:389px){.dec{ gap:7px; padding:9px 8px; }
.dec-ic{ width:32px; height:32px; }
.dec-ic svg{ width:18px; height:18px; }
.dec strong{ font-size:13px; }
.dec small{ font-size:12px; }
}
@media (max-width:339px){.dec-ic{ width:28px; height:28px; }
.dec strong{ white-space:normal; }
}
.dactions.two{ grid-template-columns:1fr 1fr; }
.ticketrow .ticket-hint{ text-align:center; font-size:13px; color:var(--ink-muted); }
.nights > .levelcard{ margin-bottom:12px; }
.nights #myBeen > .been-card:last-child{ margin-bottom:0; }
:root{
    --pf-hero:radial-gradient(120% 140% at 100% 0%, rgba(233,74,156,.45), transparent 55%), linear-gradient(135deg,#5B4BF0,#4338CA 60%,#3B2BB8);
    --pf-hero-shadow:0 18px 36px -18px rgba(79,70,229,.7);
    --pf-tray:color-mix(in srgb, var(--accent) 6%, var(--bg));
    --pf-track:#E0E3F5;
    --pf-t1:#EEF2FF; --pf-t1-ink:#4338CA;   
    --pf-t2:#F3E8FF; --pf-t2-ink:#7E22CE;   
    --pf-t3:#FCE7F3; --pf-t3-ink:#BE185D;   
    --pf-near:#DB2777; --pf-near-ink:#BE185D;
  }
:root[data-theme="dark"]{
    --pf-hero:radial-gradient(120% 140% at 100% 0%, rgba(233,74,156,.38), transparent 55%), linear-gradient(135deg,#4F43E0,#3730A3 60%,#2A2370);
    --pf-hero-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
    --pf-tray:color-mix(in srgb, var(--accent) 8%, var(--bg));
    --pf-track:rgba(255,255,255,.12);
    --pf-t1:rgba(129,140,248,.16); --pf-t1-ink:#C7D2FE;
    --pf-t2:rgba(192,132,252,.16); --pf-t2-ink:#E9D5FF;
    --pf-t3:rgba(244,114,182,.16); --pf-t3-ink:#FBCFE8;
    --pf-near:#F472B6; --pf-near-ink:#F9A8D4;
  }
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
    --pf-hero:radial-gradient(120% 140% at 100% 0%, rgba(233,74,156,.38), transparent 55%), linear-gradient(135deg,#4F43E0,#3730A3 60%,#2A2370);
    --pf-hero-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
    --pf-tray:color-mix(in srgb, var(--accent) 8%, var(--bg));
    --pf-track:rgba(255,255,255,.12);
    --pf-t1:rgba(129,140,248,.16); --pf-t1-ink:#C7D2FE;
    --pf-t2:rgba(192,132,252,.16); --pf-t2-ink:#E9D5FF;
    --pf-t3:rgba(244,114,182,.16); --pf-t3-ink:#FBCFE8;
    --pf-near:#F472B6; --pf-near-ink:#F9A8D4;
  }
}
body[data-screen="profile"] #screenRoot .day-head .count{
    display:inline-grid; place-items:center; min-width:24px; height:24px; padding:0 8px; border-radius:99px;
    font-size:12px; font-weight:800; background:var(--pf-t1); color:var(--pf-t1-ink);
  }
body[data-screen="profile"] .profilehead{
    position:relative; display:block; overflow:hidden; text-align:left; gap:0;
    margin-top:8px; padding:20px 16px 16px; border-radius:24px;
    color:#fff; background:var(--pf-hero); box-shadow:var(--pf-hero-shadow);
  }
body[data-screen="profile"] .profilehead::after{
    content:""; position:absolute; right:-70px; top:-70px; width:220px; height:220px; border-radius:50%; pointer-events:none;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.14), 0 0 0 28px rgba(255,255,255,.05), 0 0 0 29px rgba(255,255,255,.10);
  }
body[data-screen="profile"] .profilehead > *{ position:relative; z-index:1; }
body[data-screen="profile"] .profilehead > .ph-edit{ position:absolute; }
body[data-screen="profile"] .ph-row{ display:flex; align-items:center; gap:14px; padding:0 44px 10px 4px; }
.ph-ring{ position:relative; flex:none; width:88px; height:88px; border-radius:50%; display:grid; place-items:center; }
.ph-ring::before{
    content:""; position:absolute; inset:0; border-radius:50%;
    background:conic-gradient(#fff calc(var(--p, 6) * 1%), rgba(255,255,255,.28) 0);
    -webkit-mask:radial-gradient(farthest-side, transparent calc(100% - 4px), #000 calc(100% - 4px));
            mask:radial-gradient(farthest-side, transparent calc(100% - 4px), #000 calc(100% - 4px));
  }
body[data-screen="profile"] .profilehead .ph-ring .av.xxl{
    width:72px; height:72px; margin:0; font-size:28px; cursor:pointer; box-shadow:none;
  }
body[data-screen="profile"] .profilehead .ph-ring .av.xxl:not([style]){ background:#fff; color:#4338CA; }
.ph-lv{
    position:absolute; left:50%; bottom:-8px; transform:translateX(-50%);
    height:22px; padding:0 9px; border-radius:99px; white-space:nowrap;
    font-family:var(--font); font-size:12px; font-weight:800; line-height:22px;
    background:#fff; color:#4338CA; box-shadow:0 4px 10px -4px rgba(23,21,58,.5);
  }
.ph-lv[hidden]{ display:none; }
body[data-screen="profile"] .profilehead .profilename{
    font-family:var(--font); font-size:22px; font-weight:800; line-height:1.2; letter-spacing:-.01em; color:#fff;
  }
body[data-screen="profile"] .profilehead .nickpill.sm{
    min-height:32px; padding:0 12px; font-size:13px; font-weight:700;
    color:#fff; background:rgba(255,255,255,.16); box-shadow:none;
  }
body[data-screen="profile"] .profilehead .nickpill.sm svg{ opacity:.9; }
body[data-screen="profile"] .profilehead .profilesub{ font-size:13px; font-weight:600; color:rgba(255,255,255,.92); }
body[data-screen="profile"] .profilehead .ph-edit{
    top:12px; right:12px; width:44px; height:44px; background:rgba(255,255,255,.18); color:#fff;
  }
body[data-screen="profile"] .ph-stats{ display:grid; grid-template-columns:repeat(3, 1fr); gap:8px; margin-top:16px; border-top:0; }
body[data-screen="profile"] .ph-stat, body[data-screen="profile"] .ph-stat + .ph-stat{
    min-height:64px; padding:8px 4px; gap:3px; border-radius:16px; box-shadow:none;
    background:rgba(255,255,255,.14); color:#fff;
  }
body[data-screen="profile"] .ph-stat b{ font-family:var(--font-display); font-size:20px; font-weight:700; line-height:1.1; color:#fff; }
body[data-screen="profile"] .ph-stat span{ font-size:12px; font-weight:700; color:#fff; }
body[data-screen="profile"] .ph-stat .ph-stat-ic{ display:grid; place-items:center; height:22px; }
body[data-screen="profile"] .ph-stat .ph-stat-ic svg{ width:20px; height:20px; }
body[data-screen="profile"] .ph-stat:active{ background:rgba(255,255,255,.26); }
.fsteps{ margin-top:16px; padding:16px 8px 8px; border-radius:20px; background:var(--surface); box-shadow:var(--sg-card); }
.fsteps[hidden]{ display:none; }
.fs-head{ display:flex; align-items:baseline; justify-content:space-between; gap:12px; padding:0 8px; }
.fs-head strong{ font-family:var(--font-display); font-size:16px; font-weight:600; letter-spacing:-.01em; color:var(--ink); }
.fs-count{ font-size:13px; font-weight:700; color:var(--accent-ink); }
.fs-bar{ display:grid; grid-template-columns:repeat(3, 1fr); gap:4px; margin:10px 8px 6px; }
.fs-bar i{ height:6px; border-radius:99px; background:var(--pf-track); }
.fs-bar i.on{ background:var(--accent); }
.fs-row{ display:flex; align-items:center; gap:12px; width:100%; min-height:64px; padding:8px;
    border:0; border-radius:14px; background:none; color:var(--ink); font:inherit; text-align:left; cursor:pointer; }
.fs-row:active, .fs-demo:active{ background:var(--surface-2); }
.fs-ic{ flex:none; width:44px; height:44px; border-radius:14px; display:grid; place-items:center; background:var(--pf-t1); color:var(--pf-t1-ink); }
.fs-row:nth-of-type(2) .fs-ic{ background:var(--pf-t2); color:var(--pf-t2-ink); }
.fs-row:nth-of-type(3) .fs-ic{ background:var(--pf-t3); color:var(--pf-t3-ink); }
.fs-txt{ flex:1; min-width:0; display:flex; flex-direction:column; gap:2px; }
.fs-txt b{ font-size:15px; font-weight:800; line-height:1.25; color:var(--ink); }
.fs-txt small{ font-size:13px; font-weight:500; line-height:1.35; color:var(--ink-muted); }
.fs-xp{ flex:none; display:inline-flex; align-items:center; min-height:24px; padding:0 10px; border-radius:99px;
    font-style:normal; font-size:12px; font-weight:800; white-space:nowrap; background:var(--pf-t1); color:var(--pf-t1-ink); }
.fs-row .plist-chev{ flex:none; width:16px; height:16px; color:var(--ink-muted); }
.fs-row.done .fs-ic{ background:var(--sg-ok-soft); color:var(--sg-ok); }
.fs-row.done .fs-txt b{ color:var(--ink-muted); }
.fs-row.done .fs-txt small{ display:none; }
.fs-row.done .fs-xp{ background:var(--sg-ok-soft); color:var(--sg-ok); }
.fs-demo{ display:flex; align-items:center; gap:12px; width:100%; min-height:56px; margin-top:4px; padding:8px 8px 8px 12px;
    border:0; border-top:1px solid var(--line); border-radius:0 0 14px 14px; background:none;
    color:var(--ink); font:inherit; font-size:14px; font-weight:700; text-align:left; cursor:pointer; }
.fs-demo > span:nth-child(2){ flex:1; min-width:0; }
.fs-demo .demotix-qr{ flex:0 0 36px; height:36px; border-radius:8px; background-size:9px 9px; box-shadow:0 0 0 3px #fff, 0 0 0 4px var(--line); }
.fs-demo .plist-chev{ flex:none; width:16px; height:16px; color:var(--ink-muted); }
body[data-screen="profile"] .been-pic{
    width:72px; height:54px; border-radius:12px;
    background:linear-gradient(135deg, var(--pf-t1), var(--pf-t3)) center/cover no-repeat;   
  }
body[data-screen="profile"] .been-pic.noimg{ display:grid; place-items:center; color:var(--pf-t2-ink); }
body[data-screen="profile"] .been-txt strong{ font-size:15px; font-weight:800; }
.up-none{ display:grid; grid-template-columns:44px 1fr; gap:12px 12px; align-items:center; padding:16px; border-radius:20px;
    background:linear-gradient(135deg, var(--pf-t1), var(--pf-t3)); }
.up-none-ic{ width:44px; height:44px; border-radius:14px; display:grid; place-items:center; background:var(--surface); color:var(--accent-ink); }
.up-none-txt{ display:flex; flex-direction:column; gap:2px; min-width:0; }
.up-none-txt b{ font-size:16px; font-weight:800; color:var(--ink); }
.up-none-txt small{ font-size:14px; font-weight:500; line-height:1.4; color:var(--ink); }
.up-none-btn{ grid-column:1 / -1; min-height:48px; border:0; border-radius:14px; cursor:pointer;
    font:inherit; font-size:15px; font-weight:800; background:var(--accent); color:var(--accent-contrast); }
.up-none-btn:active{ transform:scale(.98); }
body[data-screen="profile"] .up-demo{ margin-top:8px; padding:10px 14px; border-radius:16px; }
body[data-screen="profile"] .up-demo .demotix-qr{ flex:0 0 40px; height:40px; border-radius:8px; background-size:10px 10px; }
body[data-screen="profile"] .tb-pic{ width:44px; height:44px; border-radius:14px; background:var(--pf-t2); color:var(--pf-t2-ink); }
body[data-screen="profile"] .nights{ display:flex; flex-direction:column; gap:8px; padding:8px; border-radius:24px; background:var(--pf-tray); }
body[data-screen="profile"] .nights > .levelcard{ margin:0; }
body[data-screen="profile"] .nights #myBeen:not([hidden]){ display:flex; flex-direction:column; gap:8px; }
body[data-screen="profile"] .nights .been-sum, body[data-screen="profile"] .nights .been-card{ margin:0; border-radius:16px; box-shadow:none; background:var(--surface); }
body[data-screen="profile"] .levelcard{
    display:flex; flex-direction:column; align-items:stretch; gap:12px; width:100%; min-height:0; padding:16px;
    border:0; border-radius:16px; text-align:left; font:inherit; cursor:pointer;
    color:var(--ink); background:var(--surface); box-shadow:none;
  }
body[data-screen="profile"] .levelcard:active{ background:var(--surface-2); }
.lv-top{ display:flex; align-items:center; gap:12px; }
body[data-screen="profile"] .lv-icon{ width:44px; height:44px; font-size:18px; }
body[data-screen="profile"] .lv-main strong{ font-family:var(--font-display); font-size:16px; font-weight:600; letter-spacing:-.01em; }
body[data-screen="profile"] .lv-main small{ margin-top:2px; font-size:13px; font-weight:600; color:var(--ink-muted); }
.lv-xp{ flex:none; font-size:13px; font-weight:700; color:var(--ink-muted); }
.lv-xp b{ font-family:var(--font); font-size:17px; font-weight:800; color:var(--accent-ink); }
.lv-segs{ display:grid; grid-template-columns:repeat(7, 1fr); gap:4px; }
.lv-segs i{ position:relative; height:8px; border-radius:99px; background:var(--pf-track); overflow:hidden; }
.lv-segs i::before{ content:""; position:absolute; inset:0 auto 0 0; width:calc(var(--f, 0) * 1%); border-radius:99px; background:#5B4BF0; }
.lv-segs i:nth-child(2)::before{ background:#6C4CEF; }
.lv-segs i:nth-child(3)::before{ background:#7E4CED; }
.lv-segs i:nth-child(4)::before{ background:#9B4DEB; }
.lv-segs i:nth-child(5)::before{ background:#B74CD4; }
.lv-segs i:nth-child(6)::before{ background:#D24BB8; }
.lv-segs i:nth-child(7)::before{ background:#E94A9C; }
.lv-foot{ display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; }
body[data-screen="profile"] .lv-next{ font-size:14px; font-weight:500; color:var(--ink-muted); }
body[data-screen="profile"] .lv-next b{ font-weight:800; color:var(--ink); }
.lv-chip{ display:inline-flex; align-items:center; min-height:24px; padding:0 10px; border-radius:99px;
    font-style:normal; font-size:12px; font-weight:800; white-space:nowrap; background:var(--pf-t1); color:var(--pf-t1-ink); }
body[data-screen="profile"] .nights .been-stat b{ font-family:var(--font-display); font-size:22px; font-weight:700; color:var(--accent-ink); }
body[data-screen="profile"] .nights .been-stat span{ font-size:13px; font-weight:600; color:var(--ink-muted); }
body[data-screen="profile"] .nights .been-fav{ font-size:14px; color:var(--ink-muted); }
.bdg-card{ padding:14px 0 12px; border-radius:16px; background:var(--surface); }
.bdg-card[hidden]{ display:none; }
.bdg-head{ display:flex; align-items:baseline; justify-content:space-between; padding:0 16px 10px; }
.bdg-head strong{ font-family:var(--font-display); font-size:15px; font-weight:600; letter-spacing:-.01em; color:var(--ink); }
.bdg-head span{ font-size:13px; font-weight:700; color:var(--accent-ink); }
body[data-screen="profile"] .badges{ display:flex; gap:4px; margin:0; padding:0 10px 2px; overflow-x:auto; scroll-snap-type:x proximity; scrollbar-width:none; }
body[data-screen="profile"] .badges .badge, body[data-screen="profile"] .badges .badge.done{
    flex:none; width:84px; min-height:118px; padding:4px 2px; gap:4px; scroll-snap-align:start;
    display:flex; flex-direction:column; align-items:center; text-align:center;
    border:0; border-radius:14px; background:none; box-shadow:none; opacity:1; font:inherit; color:var(--ink); cursor:pointer;
  }
body[data-screen="profile"] .badges .badge:active{ background:var(--surface-2); }
body[data-screen="profile"] .badge-ic{
    position:relative; flex:none; width:64px; height:64px; margin-bottom:4px; border-radius:50%; display:grid; place-items:center;
    font-size:28px; line-height:1; background:var(--pf-t1); filter:none; opacity:1;
  }
body[data-screen="profile"] .badge:nth-child(3n+2) .badge-ic{ background:var(--pf-t2); }
body[data-screen="profile"] .badge:nth-child(3n) .badge-ic{ background:var(--pf-t3); }
.badge-ic::before{
    content:""; position:absolute; inset:0; border-radius:50%;
    background:conic-gradient(var(--accent) calc(var(--p, 0) * 1%), var(--pf-track) 0);
    -webkit-mask:radial-gradient(farthest-side, transparent calc(100% - 4px), #000 calc(100% - 4px));
            mask:radial-gradient(farthest-side, transparent calc(100% - 4px), #000 calc(100% - 4px));
  }
.badge.near .badge-ic::before{ background:conic-gradient(var(--pf-near) calc(var(--p, 0) * 1%), var(--pf-track) 0); }
.badge.done .badge-ic::before{ background:conic-gradient(#5B4BF0, #9B4DEB, #E94A9C, #9B4DEB, #5B4BF0); }
.badge.done .badge-ic{ box-shadow:0 8px 16px -8px rgba(155,77,235,.6); }
.badge-em{ opacity:.6; filter:saturate(.7); }
.badge.started .badge-em{ opacity:.85; filter:none; }
.badge.near .badge-em, .badge.done .badge-em{ opacity:1; filter:none; }
.badge-ok{ position:absolute; right:-2px; bottom:-2px; width:22px; height:22px; border-radius:50%; display:grid; place-items:center;
    background:var(--accent); color:var(--accent-contrast); box-shadow:0 0 0 2px var(--surface); }
.badge-ok svg{ width:12px; height:12px; stroke-width:3; }
body[data-screen="profile"] .badges .badge strong{ font-size:12px; font-weight:700; line-height:1.2; color:var(--ink);
    display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
body[data-screen="profile"] .badges .badge small{ font-size:12px; font-weight:600; color:var(--ink-muted); }
body[data-screen="profile"] .badges .badge.done small{ font-weight:800; color:var(--accent-ink); }
body[data-screen="profile"] .badges .badge.near small{ font-weight:800; color:var(--pf-near-ink); }
body[data-screen="profile"] .badges .badge i{ display:none; }
.bdg-sheet{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:4px; padding-top:4px; }
.bdg-sheet .badge-ic{ position:relative; width:88px; height:88px; margin-bottom:10px; border-radius:50%; display:grid; place-items:center; font-size:40px; background:var(--pf-t1); }
.bdg-sheet .badge-em{ opacity:1; filter:none; }
.bdg-sheet-n{ margin:6px 0 0; font-family:var(--font-display); font-size:15px; font-weight:700; color:var(--accent-ink); }
body[data-screen="profile"] .plist{ margin-top:32px; }
body[data-screen="profile"] .plist-row{ justify-content:flex-start; gap:12px; min-height:56px; padding:0 14px; font-size:15px; font-weight:600; }
.plist-ic{ flex:none; width:32px; height:32px; border-radius:10px; display:grid; place-items:center; background:var(--pf-t1); color:var(--pf-t1-ink); }
.plist-lb{ flex:1; min-width:0; text-align:left; }
.bdg-sheet .badge-ic.won::before{ background:conic-gradient(#5B4BF0, #9B4DEB, #E94A9C, #9B4DEB, #5B4BF0); }
body[data-screen="profile"] .levelcard[hidden]{ display:none; }
body[data-screen="profile"] .levelcard > .skel{ display:block; }
body[data-screen="profile"] .lv-top .plist-chev{ flex:none; color:var(--ink-muted); }
body[data-screen="profile"] .lv-top .lv-main{ flex:1; min-width:0; }
body[data-screen="profile"] .ph-id{ gap:6px; }
.badge-ok.step{ width:auto; min-width:22px; padding:0 5px; font-family:var(--font); font-size:12px; font-weight:800; line-height:22px; }
body[data-screen="profile"] .nights .fsteps{ margin:0; border-radius:16px; box-shadow:none; }
body[data-screen="profile"] .nights .fs-head strong{ font-size:15px; }
body[data-screen="profile"] .nights:has(.fsteps:not([hidden])) .lv-chip{ display:none; }
:root[data-theme="dark"]{
    --pf-tray:linear-gradient(160deg, rgba(91,75,240,.26), rgba(155,77,235,.16) 55%, rgba(233,74,156,.14));
    --pf-t1:rgba(129,140,248,.26); --pf-t2:rgba(192,132,252,.26); --pf-t3:rgba(244,114,182,.24);
    --pf-track:rgba(255,255,255,.16);
    --pf-card:color-mix(in srgb, var(--accent) 12%, #17171F);
    --pf-edge:inset 0 0 0 1px rgba(139,131,255,.22);
  }
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
    --pf-tray:linear-gradient(160deg, rgba(91,75,240,.26), rgba(155,77,235,.16) 55%, rgba(233,74,156,.14));
    --pf-t1:rgba(129,140,248,.26); --pf-t2:rgba(192,132,252,.26); --pf-t3:rgba(244,114,182,.24);
    --pf-track:rgba(255,255,255,.16);
    --pf-card:color-mix(in srgb, var(--accent) 12%, #17171F);
    --pf-edge:inset 0 0 0 1px rgba(139,131,255,.22);
  }
}
:root[data-theme="dark"]{ color-scheme:dark; }
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
    body[data-screen="profile"] .nights{ background:var(--pf-tray); box-shadow:inset 0 0 0 1px rgba(139,131,255,.18); }
    body[data-screen="profile"] .nights .levelcard{ background:linear-gradient(135deg, rgba(91,75,240,.34), rgba(155,77,235,.22) 60%, rgba(233,74,156,.20)); box-shadow:var(--pf-edge); }
    body[data-screen="profile"] .nights .fsteps, body[data-screen="profile"] .nights .been-sum, body[data-screen="profile"] .nights .been-card, body[data-screen="profile"] .nights .bdg-card{ background:var(--pf-card); box-shadow:var(--pf-edge); }
    body[data-screen="profile"] #myTickets .been-card, body[data-screen="profile"] #myTables .been-card, body[data-screen="profile"] .up-demo, body[data-screen="profile"] .plist{ background:var(--pf-card); box-shadow:var(--pf-edge); }
    body[data-screen="profile"] .nights .been-stat b, body[data-screen="profile"] .lv-xp b{ color:#C4B5FD; }
    body[data-screen="profile"] .lv-chip, body[data-screen="profile"] .fs-xp{ background:rgba(139,131,255,.30); color:#E0E7FF; }
    body[data-screen="profile"] .up-qr, body[data-screen="profile"] .up-none-btn{ background:linear-gradient(135deg, var(--accent), #B14CE0); color:#fff; }
    body[data-screen="profile"] .up-none{ background:linear-gradient(135deg, rgba(91,75,240,.30), rgba(233,74,156,.20)); }
    body[data-screen="profile"] .day-head h2{ background:linear-gradient(90deg, #fff, #C4B5FD); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
    body[data-screen="profile"] .plist-ic{ background:rgba(139,131,255,.26); color:#C7D2FE; }
    .badge.done .badge-ic{ box-shadow:0 0 18px -2px rgba(155,77,235,.75); }
  }
}
:root[data-theme="dark"] body[data-screen="profile"] .nights{ background:var(--pf-tray); box-shadow:inset 0 0 0 1px rgba(139,131,255,.18); }
:root[data-theme="dark"] body[data-screen="profile"] .nights .levelcard{ background:linear-gradient(135deg, rgba(91,75,240,.34), rgba(155,77,235,.22) 60%, rgba(233,74,156,.20)); box-shadow:var(--pf-edge); }
:root[data-theme="dark"] body[data-screen="profile"] .nights .fsteps, :root[data-theme="dark"] body[data-screen="profile"] .nights .been-sum, :root[data-theme="dark"] body[data-screen="profile"] .nights .been-card, :root[data-theme="dark"] body[data-screen="profile"] .nights .bdg-card{ background:var(--pf-card); box-shadow:var(--pf-edge); }
:root[data-theme="dark"] body[data-screen="profile"] #myTickets .been-card, :root[data-theme="dark"] body[data-screen="profile"] #myTables .been-card, :root[data-theme="dark"] body[data-screen="profile"] .up-demo, :root[data-theme="dark"] body[data-screen="profile"] .plist{ background:var(--pf-card); box-shadow:var(--pf-edge); }
:root[data-theme="dark"] body[data-screen="profile"] .nights .been-stat b, :root[data-theme="dark"] body[data-screen="profile"] .lv-xp b{ color:#C4B5FD; }
:root[data-theme="dark"] body[data-screen="profile"] .lv-chip, :root[data-theme="dark"] body[data-screen="profile"] .fs-xp{ background:rgba(139,131,255,.30); color:#E0E7FF; }
:root[data-theme="dark"] body[data-screen="profile"] .up-qr, :root[data-theme="dark"] body[data-screen="profile"] .up-none-btn{ background:linear-gradient(135deg, var(--accent), #B14CE0); color:#fff; }
:root[data-theme="dark"] body[data-screen="profile"] .up-none{ background:linear-gradient(135deg, rgba(91,75,240,.30), rgba(233,74,156,.20)); }
:root[data-theme="dark"] body[data-screen="profile"] .day-head h2{ background:linear-gradient(90deg, #fff, #C4B5FD); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
:root[data-theme="dark"] body[data-screen="profile"] .plist-ic{ background:rgba(139,131,255,.26); color:#C7D2FE; }
:root[data-theme="dark"] .badge.done .badge-ic{ box-shadow:0 0 18px -2px rgba(155,77,235,.75); }
@media (min-width:1100px){body[data-screen="profile"] #screenRoot:has(> .pf-side){ display:grid; grid-template-columns:380px minmax(0, 1fr); column-gap:32px; align-items:start; }
body[data-screen="profile"] #screenRoot > .pf-side{ grid-column:1; grid-row:1 / span 12; position:sticky; top:24px; }
body[data-screen="profile"] #screenRoot:has(> .pf-side) > :not(.pf-side){ grid-column:2; }
body[data-screen="profile"] .pf-side > .profilehead{ margin:0; }
body[data-screen="profile"] .pf-side > .plist{ margin-top:16px; }
body[data-screen="profile"] #screenRoot:has(> .pf-side) > #myTickets .day-head:first-child{ margin-top:0 !important; }
body[data-screen="profile"] #screenRoot:has(> .pf-side) > .day-head{ margin:36px 0 14px !important; }
body[data-screen="profile"] #screenRoot:has(> .pf-side) > .nights{ margin-top:0; }
body[data-screen="profile"] #screenRoot:has(> .pf-side) > #myTables{ margin-top:8px; }
}
.podium .card.pd-day{ display:flex; flex-direction:column; gap:0; min-height:0; border-radius:26px; color:#fff;
    background:radial-gradient(120% 90% at 100% 0%, rgba(255,111,181,.34), transparent 58%), radial-gradient(90% 80% at 0% 100%, rgba(79,209,255,.16), transparent 60%), linear-gradient(150deg, #5546F0 0%, #4338CA 48%, #2E1E8F 100%); }
:root[data-theme="dark"] .podium .card.pd-day{
    background:radial-gradient(120% 90% at 100% 0%, rgba(255,111,181,.26), transparent 58%), radial-gradient(90% 80% at 0% 100%, rgba(82,101,255,.34), transparent 60%), linear-gradient(150deg, #3A2FB0 0%, #241A6E 52%, #17123F 100%); }
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .podium .card.pd-day{
    background:radial-gradient(120% 90% at 100% 0%, rgba(255,111,181,.26), transparent 58%), radial-gradient(90% 80% at 0% 100%, rgba(82,101,255,.34), transparent 60%), linear-gradient(150deg, #3A2FB0 0%, #241A6E 52%, #17123F 100%); }
}
.podium .pd-day .pd-art{ flex:none; margin:8px 8px 0; border-radius:19px; box-shadow:0 2px 3px rgba(0,0,0,.25), 0 14px 26px -12px rgba(0,0,0,.6); }
.podium .pd-day .pd-art::after{ content:none; }
.podium .pd-day .pd-badge{ top:auto; left:10px; bottom:10px; transform:none; padding:6px 11px 6px 9px; font-size:12px; background:rgba(12,10,28,.82) !important; }
.podium .pd-day .pd-txt{ position:static; transform:none; flex:1; display:flex; flex-direction:column; min-width:0; padding:14px 16px 16px; color:#fff; }
.podium .pd-day .pd-facts{ margin:0 0 9px; }
.podium .pd-day .pd-title{ display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; overflow-wrap:anywhere;
    font-family:var(--font-display) !important; font-language-override:normal; font-size-adjust:none; font-size:20px; line-height:1.2; font-weight:700; letter-spacing:-.015em; color:#fff; text-shadow:none; }
.pd-when{ display:flex; flex-wrap:wrap; align-items:center; gap:6px 10px; margin-top:9px; font-size:15px; line-height:1.2; }
.pd-when b{ display:inline-flex; align-items:center; font-weight:800; color:#fff; }
.podium .pd-day .pd-soon{ position:static; padding:3px 9px; font-size:12px; font-weight:800; color:#2A1A00; background:#FFD86B; box-shadow:none; }
.pd-row{ display:flex; align-items:center; gap:12px; margin-top:auto; padding-top:14px; }
.podium .pd-day .pd-venue{ flex:1 1 0; min-width:0; gap:5px; font-size:14px; font-weight:600; color:rgba(255,255,255,.84); }
.podium .pd-day .pd-venue svg{ width:14px; height:14px; }
.podium .pd-day .pd-go{ position:static; transform:none; flex:none; display:inline-flex; align-items:center; gap:8px; width:auto; height:42px; padding:0 14px 0 17px; border-radius:999px;
    font-size:14px; font-weight:800; white-space:nowrap; background:#fff; color:#1E1650; box-shadow:0 8px 18px -8px rgba(0,0,0,.5); }
.podium .pd-day .pd-go svg{ flex:none; transition:transform .2s ease; }
.podium .card.pd-day:active .pd-go{ transform:none; }
.podium .card.pd-day:active .pd-go svg, .podium .card.pd-day:hover .pd-go svg{ transform:translateX(3px); }
@media (max-width:359px){.podium .pd-day .pd-go{ padding:0 12px 0 14px; font-size:13px; }
.podium .pd-day .pd-title{ font-size:17px; }
}
@media (min-width:640px) and (max-width:899px){.podium .card.pd-day{ flex-direction:row; align-items:stretch; }
.podium .pd-day .pd-art{ width:56%; margin:8px 0 8px 8px; }
.podium .pd-day .pd-txt{ justify-content:center; padding:16px 18px; }
.pd-row{ flex-wrap:wrap; margin-top:14px; padding-top:0; }
.podium .pd-day .pd-venue{ flex:1 1 100%; }
}
@media (min-width:900px){.podium .card.pd-day{ min-height:0; border-radius:28px; }
.podium .pd-day .pd-art{ margin:10px 10px 0; border-radius:20px; }
.podium .pd-day .pd-badge{ left:12px; bottom:12px; font-size:12px; }
.podium .pd-day .pd-txt{ padding:18px 22px 22px; }
.podium .pd-day .pd-facts{ margin-bottom:11px; }
.podium .pd-day .pd-title{ font-size:24px; line-height:1.18; }
.pd-when{ margin-top:11px; font-size:16px; }
.podium .pd-day .pd-venue{ font-size:15px; }
.podium .pd-day .pd-go{ height:46px; padding:0 18px 0 20px; font-size:15px; }
}
.verified-tag{ display:inline-grid; place-items:center; width:19px; height:19px; margin-left:6px; border-radius:50%; background:linear-gradient(140deg,#FFD86B,#F59E0B); color:#3A2200; font-size:0; vertical-align:2px; box-shadow:0 0 0 2px var(--surface, #fff); }
.verified-tag svg{ width:11px; height:11px; display:block; }
.htitle .verified-tag{ width:24px; height:24px; vertical-align:3px; }
.htitle .verified-tag svg{ width:14px; height:14px; }
.vlink + .verified-tag{ width:17px; height:17px; margin-left:5px; vertical-align:1px; box-shadow:none; }
.vlink + .verified-tag svg{ width:10px; height:10px; }
.vstar{ position:absolute; z-index:3; display:grid; place-items:center; width:24px; height:24px; border-radius:50%; background:linear-gradient(140deg,#FFD86B,#F59E0B); color:#3A2200; box-shadow:0 0 0 2.5px var(--bg, #fff), 0 4px 10px -3px rgba(0,0,0,.45); pointer-events:none; }
.vstar svg{ width:13px; height:13px; display:block; }
.storyring{ position:relative; }
.storyring > .vstar{ right:-1px; bottom:-1px; width:22px; height:22px; }
.clubcard-photo > .vstar{ right:12px; bottom:12px; width:30px; height:30px; box-shadow:0 0 0 2.5px rgba(255,255,255,.9), 0 6px 14px -4px rgba(0,0,0,.5); }
.clubcard-photo > .vstar svg{ width:16px; height:16px; }
.clubcard-photo:has(> .vstar) ~ .clubcard-body .verified-tag{ display:none; }
.verified-tag svg, .vstar svg{ opacity:1 !important; color:#3A2200 !important; }
.verified-tag svg path, .vstar svg path{ fill:#3A2200 !important; stroke:none !important; }
.vnote{ display:flex; align-items:center; gap:8px; margin:8px 0 2px; padding:8px 12px; border-radius:12px; background:color-mix(in srgb, #F59E0B 14%, var(--surface)); color:var(--ink); font-size:14px; line-height:1.35; }
.vnote svg{ flex:none; width:16px; height:16px; color:#D97706; }
.vnote b{ font-weight:800; }
.page-lead{ display:block; margin-top:20px; }
.page-lead .pl-img{ display:block; width:100%; aspect-ratio:1.91; border-radius:20px; overflow:hidden; background:#16142E; }
.page-lead .pl-img img{ display:block; width:100%; height:100%; object-fit:contain; }
.page-lead .pl-kick{ display:block; margin-top:20px; font-size:12px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-muted); }
.page-lead .pl-title{ display:block; margin-top:8px; font-family:var(--font); font-weight:800; font-size:26px; line-height:1.15; letter-spacing:-.02em; color:var(--ink); overflow-wrap:anywhere; }
.page-lead .pl-sub{ display:block; margin-top:10px; font-size:15px; color:var(--ink-muted); }
html:not(.js) .page-lead{ display:none; }
.pf-code{ display:flex; align-items:center; gap:16px; margin-top:16px; padding:16px; border-radius:22px; color:#fff; position:relative; overflow:hidden;
    background:radial-gradient(120% 140% at 100% 0%, rgba(192,132,252,.55), transparent 60%), linear-gradient(135deg, #4338CA, #6D28D9); }
.pf-code-qr{ flex:0 0 112px; width:112px; aspect-ratio:1; background:#fff; border-radius:14px; padding:9px; }
.pf-code-qr svg{ display:block; width:100%; height:100%; }
.pf-code-tx{ display:flex; flex-direction:column; align-items:flex-start; gap:6px; min-width:0; }
.pf-code-tx strong{ font-family:var(--font-display, inherit); font-size:17px; }
.pf-code-tx span{ font-size:13px; line-height:1.4; color:rgba(255,255,255,.86); }
.pf-code-tx .btn{ margin-top:4px; min-height:40px; padding:0 14px; background:#fff !important; color:#4338CA !important; border:0 !important; font-size:14px; display:inline-flex; align-items:center; gap:6px; }
@media (min-width:1100px){body[data-screen="detail"] #headerRoot .wrap{ max-width:1180px; }
body[data-screen="detail"] #backBtn{ width:auto; padding:0 16px 0 12px; gap:6px; font:inherit; font-size:14px; font-weight:700; }
body[data-screen="detail"] #backBtn::after{ content:'Назад'; }
}
.dvenue{ background:var(--surface); border-radius:22px; box-shadow:var(--shadow); overflow:hidden; }
.dvenue-top{ display:flex; align-items:center; gap:14px; padding:14px 14px 14px 14px; cursor:pointer; }
.dvenue-top:hover{ background:var(--surface-2); }
.dvenue-ph{ flex:0 0 64px; width:64px; height:64px; border-radius:16px; overflow:hidden; display:grid; place-items:center; background:var(--surface-2); color:var(--accent); }
.dvenue-ph img{ width:100%; height:100%; object-fit:cover; display:block; }
.dvenue-tx{ flex:1; min-width:0; display:flex; flex-direction:column; gap:2px; }
.dvenue-tx small, .dvenue-more > small{ font-size:12px; color:var(--ink-muted); font-weight:600; }
.dvenue-tx strong{ font-size:16px; color:var(--ink); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dvenue-tx span{ font-size:13px; color:var(--ink-muted); }
.dvenue-top .plist-chev{ flex:0 0 auto; color:var(--ink-muted); }
.dvenue-more{ border-top:1px solid var(--line); padding:12px 8px 8px; display:flex; flex-direction:column; gap:2px; }
.dvenue-more > small{ padding:0 8px 4px; }
.dvenue-row{ display:flex; align-items:center; gap:12px; width:100%; min-height:56px; padding:6px 8px; background:none; border:0; border-radius:14px; font:inherit; color:var(--ink); text-align:left; cursor:pointer; }
.dvenue-row:hover{ background:var(--surface-2); }
.dvenue-day{ flex:0 0 44px; height:44px; border-radius:12px; background:var(--surface-2); display:flex; flex-direction:column; align-items:center; justify-content:center; font-size:11px; font-weight:700; text-transform:uppercase; color:var(--ink-muted); line-height:1.1; }
.dvenue-day b{ font-size:16px; color:var(--ink); }
.dvenue-what{ min-width:0; font-size:14px; font-weight:700; display:flex; flex-direction:column; gap:2px; }
.dvenue-what{ overflow:hidden; }
.dvenue-what em{ font-style:normal; font-weight:500; font-size:12px; color:var(--ink-muted); }
.solothumb.no-img{ display:grid; place-items:center; background:linear-gradient(135deg, #312E81, #6D28D9); }
.solothumb.no-img .cardhead-art{ position:static; font-size:44px; line-height:1; transform:none; }
html, body, a, button, [role="button"], .tour-tap, .tour *, .story *{ -webkit-tap-highlight-color:transparent; }
.empty.sq-near{ margin-bottom:12px; }
.sq-widebox{ display:flex; justify-content:center; margin:14px 0 6px; }
.floorbox{ position:relative; background:#101018; border:1px solid #2A2A38; border-radius:22px; overflow:hidden; container-type:inline-size; }
.floor{ display:block; width:100%; height:auto; user-select:none; -webkit-user-select:none; }
.floor text{ font-family:var(--font); text-anchor:middle; pointer-events:none; }
.floor .fl{ font-size:30px; font-weight:800; fill:var(--c); }
.floor .fs{ font-size:20px; font-weight:600; fill:var(--c); opacity:.85; }
.floor .fdl{ font-size:20px; font-weight:800; letter-spacing:1.5px; fill:#8A8AA0; }
.floor .fd{ fill:#22222D; stroke:#3A3A4A; stroke-width:2; stroke-dasharray:8 6; }
.floor .fb{ fill:color-mix(in srgb, var(--c) 22%, #101018); stroke:var(--c); stroke-width:3; }
.floor .fc{ fill:color-mix(in srgb, var(--c) 45%, #101018); }
.floor .fsofa{ fill:none; stroke:color-mix(in srgb, var(--c) 55%, #101018); stroke-width:14; stroke-linecap:round; stroke-linejoin:round; }
.floor .fvip{ fill:none; stroke:#F5C451; stroke-width:3; }
.floor .fhit{ fill:transparent; cursor:pointer; }
.floor .ft, .tp-legend span{ --c:#34D399; }
.floor .st-taken, .tp-legend .st-taken{ --c:#4A4A5C; }
.floor .st-sel, .tp-legend .st-sel{ --c:#FFFFFF; }
.floor .st-taken .fl, .floor .st-taken .fs{ fill:#77778C; }
.floor .st-taken .fhit{ cursor:default; }
.floor .st-sel .fb{ fill:#FFFFFF; stroke:#8B83FF; stroke-width:6; }
.floor .st-sel .fl, .floor .st-sel .fs{ fill:#17153A; }
@container (max-width:560px){.floor .fs{ display:none; }
.floor .fl{ font-size:34px; transform:translateY(8px); }
.floor .fdl{ font-size:24px; }
}
.tblbtn{ display:flex; align-items:center; justify-content:center; gap:12px; min-height:56px; text-align:left; }
.tblbtn span{ display:flex; flex-direction:column; line-height:1.2; }
.tblbtn small{ font-size:12px; font-weight:600; opacity:.85; }
.tblrow{ margin-top:12px; }
.tblpick{ position:fixed; inset:0; z-index:85; background:var(--bg); overflow:auto; -webkit-overflow-scrolling:touch; animation:tourin .25s ease-out; }
.tp-in{ max-width:560px; margin:0 auto; padding:calc(10px + env(safe-area-inset-top)) 16px calc(110px + env(safe-area-inset-bottom)); }
.tp-head{ display:flex; align-items:center; gap:12px; margin-bottom:12px; }
.tp-head > div{ display:flex; flex-direction:column; min-width:0; }
.tp-head strong{ font-family:var(--font-display); font-size:20px; }
.tp-head small{ font-size:13px; color:var(--ink-muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.tp-x{ flex:none; width:40px; height:40px; border:0; border-radius:50%; background:var(--surface-2); color:var(--ink); font-size:15px; cursor:pointer; }
.tp-days{ display:flex; gap:8px; overflow-x:auto; scrollbar-width:none; margin:0 -16px 12px; padding:2px 16px; }
.tp-days::-webkit-scrollbar{ display:none; }
.tp-day{ flex:none; width:54px; height:62px; border:0; border-radius:14px; background:var(--surface); color:var(--ink-muted); font:inherit; cursor:pointer; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:2px; box-shadow:var(--shadow); }
.tp-day small{ font-size:12px; font-weight:700; }
.tp-day b{ font-size:18px; color:var(--ink); font-family:var(--font-display); }
.tp-day.on{ background:linear-gradient(135deg, #4338CA, #6D28D9); color:rgba(255,255,255,.85); }
.tp-day.on b{ color:#fff; }
.tp-legend{ display:flex; gap:16px; margin:0 2px 10px; font-size:13px; font-weight:700; color:var(--ink-muted); }
.tp-legend span{ display:inline-flex; align-items:center; gap:6px; }
.tp-legend i{ width:13px; height:13px; border-radius:4px; background:color-mix(in srgb, var(--c) 30%, transparent); border:2px solid var(--c); }
.tp-legend .st-sel i{ background:#fff; border-color:#8B83FF; }
.tp-plan{ position:relative; }
.tp-scroll{ overflow:auto; max-height:62vh; -webkit-overflow-scrolling:touch; }
.tp-zoom{ transition:width .2s ease; }
.tp-zoombtns{ position:absolute; right:10px; bottom:10px; display:flex; flex-direction:column; gap:6px; }
.tp-zoombtns button{ width:40px; height:40px; border:0; border-radius:12px; background:rgba(34,34,45,.92); color:#fff; font-size:20px; font-weight:800; cursor:pointer; }
.tp-need{ display:flex; align-items:center; gap:12px; margin:0 0 12px; }
.tp-need span{ flex:1; min-width:0; }
.tp-need .btn{ flex:none; }
.tp-mine{ margin:12px 0 0; padding:12px 14px; border-radius:14px; background:var(--surface-2); font-size:14px; font-weight:600; }
.tp-filters{ display:flex; gap:8px; overflow-x:auto; scrollbar-width:none; margin:14px -16px 0; padding:0 16px; }
.tp-filters::-webkit-scrollbar{ display:none; }
.tp-filters .chip{ flex:none; }
.tp-free{ display:flex; gap:10px; overflow-x:auto; scrollbar-width:none; margin:12px -16px 0; padding:2px 16px 6px; }
.tp-free::-webkit-scrollbar{ display:none; }
.tp-card{ flex:none; width:176px; min-height:92px; padding:12px; border:2px solid transparent; border-radius:16px; background:var(--surface); color:var(--ink); font:inherit; text-align:left; cursor:pointer; display:flex; flex-direction:column; gap:2px; box-shadow:var(--shadow); }
.tp-card strong{ font-size:15px; }
.tp-card span{ font-size:13px; color:var(--ink-muted); }
.tp-card small{ font-size:12px; color:var(--ink-muted); margin-top:auto; }
.tp-card.on{ border-color:#8B83FF; }
.tp-bar{ position:fixed; left:0; right:0; bottom:0; z-index:2; display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 16px calc(12px + env(safe-area-inset-bottom)); background:var(--surface); box-shadow:0 -12px 30px -14px rgba(0,0,0,.5); }
.tp-bar > div{ display:flex; flex-direction:column; min-width:0; }
.tp-bar strong{ font-size:16px; }
.tp-bar small{ font-size:13px; color:var(--ink-muted); }
.tp-bar .btn{ flex:none; min-height:48px; padding:0 22px; }
.tf-sub{ margin:0 0 6px; color:var(--ink-muted); font-size:14px; }
.sheet .bk-in{ display:block; width:100%; min-height:48px; padding:0 14px; border-radius:14px; border:1.5px solid var(--line); background:var(--surface-2); color:var(--ink); font:inherit; font-size:16px; }
.tf-step{ display:inline-flex; align-items:center; gap:6px; }
.tf-step button{ width:44px; height:44px; border:0; border-radius:13px; background:var(--surface-2); color:var(--ink); font-size:20px; font-weight:800; cursor:pointer; }
.tf-step b{ min-width:36px; text-align:center; font-size:18px; }
.tf-step span{ font-size:13px; color:var(--ink-muted); margin-left:6px; }
.tf-hours{ display:flex; gap:8px; overflow-x:auto; scrollbar-width:none; }
.tf-hours::-webkit-scrollbar{ display:none; }
.tf-hours .chip{ flex:none; }
.tf-rule{ margin:14px 0 0; padding:12px 14px; border-radius:14px; background:var(--surface-2); font-size:13px; line-height:1.45; color:var(--ink-muted); }
.tf-done{ text-align:center; }
.tf-done p{ margin:6px 0 0; color:var(--ink-muted); }
.tf-done-ic{ display:inline-grid; place-items:center; width:64px; height:64px; margin-bottom:8px; border-radius:50%; background:color-mix(in srgb, #FBBF24 22%, transparent); color:#FBBF24; }
.mytbls{ display:flex; flex-direction:column; gap:12px; margin-bottom:12px; }
.mytbl{ padding:14px; border-radius:22px; background:var(--surface); box-shadow:var(--shadow); display:flex; flex-direction:column; gap:10px; }
.mytbl.st-confirmed, .mytbl.st-arrived{ background:linear-gradient(135deg, color-mix(in srgb, #4338CA 30%, var(--surface)), color-mix(in srgb, #6D28D9 22%, var(--surface))); }
.mt-top{ display:flex; align-items:flex-start; gap:12px; }
.mt-txt{ flex:1; min-width:0; display:flex; flex-direction:column; gap:1px; }
.mt-txt strong{ font-size:16px; }
.mt-txt small{ font-size:13px; color:var(--ink-muted); }
.mt-note{ margin:0; font-size:14px; color:var(--ink-muted); }
.mt-note.ok{ color:#34D399; font-weight:600; }
.mt-ask{ display:flex; flex-direction:column; gap:4px; padding:12px; border-radius:16px; background:color-mix(in srgb, #FBBF24 16%, var(--surface)); }
.mt-ask span{ font-size:13px; color:var(--ink-muted); }
.mt-ask .btn{ margin-top:8px; min-height:46px; justify-content:center; }
.mt-who small{ display:block; font-size:12px; font-weight:700; color:var(--ink-muted); margin-bottom:6px; }
.mt-avs{ display:flex; align-items:center; flex-wrap:wrap; gap:0; }
.mt-avs .av{ width:32px; height:32px; margin-right:-8px; border:2px solid #6B7280; font-size:13px; }
.mt-avs .av.go{ border-color:#34D399; }
.mt-add{ margin-left:16px; border:0; background:none; color:var(--accent-ink); font:inherit; font-size:14px; font-weight:800; cursor:pointer; padding:6px 0; }
.mt-avs .av + .mt-add{ margin-left:20px; }
.mt-avs > .mt-add:first-child{ margin-left:0; }
.mt-names{ display:block; margin-top:6px; font-size:13px; color:var(--ink-muted); }
.mt-acts{ display:flex; flex-wrap:wrap; align-items:center; gap:8px 14px; }
.mt-acts:empty{ display:none; }
.mt-acts .btn{ min-height:44px; display:inline-flex; align-items:center; gap:6px; }
.mt-wait{ font-size:13px; color:var(--ink-muted); }
@media (min-width:1100px){.tblpick{ background:rgba(8,6,24,.6); display:grid; place-items:center; padding:24px; }
.tp-in{ width:min(100%, 720px); max-width:720px; max-height:92vh; overflow:auto; margin:0; padding:22px 24px 96px; border-radius:26px; background:var(--bg); position:relative; }
.tp-plan{ max-width:500px; margin:0 auto; }
.tp-scroll{ max-height:none; }
.tp-bar{ position:sticky; bottom:-96px; margin:16px -24px -96px; border-radius:0 0 26px 26px; }
.tp-days, .tp-free, .tp-filters{ margin-left:0; margin-right:0; padding-left:0; padding-right:0; }
}
.floor .fsofa{ stroke:color-mix(in srgb, var(--c) 55%, #101018); }
.floor .fcush{ fill:none; stroke:#101018; stroke-width:3; stroke-linecap:round; }
.floor .fl{ font-weight:700; }
.floor .fl.sm{ font-size:20px; }
.floor .fvip{ stroke:#E8C97A; stroke-width:2; opacity:.5; }
.floor .st-sel, .tp-legend .st-sel{ --c:#8B83FF; }
.floor .st-sel .fb{ fill:#8B83FF; stroke:#8B83FF; stroke-width:3; filter:drop-shadow(0 0 10px rgba(139,131,255,.7)); }
.floor .st-sel .fl, .floor .st-sel .fs{ fill:#fff; }
.floor .st-sel .fsofa{ stroke:#8B83FF; }
.floor .st-sel .fc{ fill:#8B83FF; }
.tp-legend .st-sel i{ background:#8B83FF; border-color:#8B83FF; }
@container (max-width:560px){.floor .fl.sm{ font-size:22px; transform:translateY(3px); }
}
.tp-zoombtns{ top:10px; bottom:auto; flex-direction:row; }
.tp-free{ align-items:flex-start; }
.tp-card{ min-height:0; gap:3px; }
.tp-card small{ margin-top:2px; }
.mt-tag{ align-self:flex-start; }
.mt-txt .mt-main{ font-size:15px; font-weight:700; color:var(--ink); }
.tq-venue{ margin:-4px 0 4px; }
.mycode .sheet-title{ font-size:24px; }
.tf-done .sheet-title{ display:block; text-align:center; }
.pickrow .av{ flex:none; width:44px; height:44px; }
@media (min-width:1100px){.tp-in{ width:min(100%, 1040px); max-width:1040px; padding-bottom:22px; }
.tp-body{ display:grid; grid-template-columns:minmax(0, 560px) minmax(0, 1fr); column-gap:28px; align-items:start; }
.tp-body > *{ grid-column:2; min-width:0; }
.tp-body > .tp-plan{ grid-column:1; grid-row:1 / span 8; max-width:none; margin:0; width:100%; }
.tp-body > .empty:only-child{ grid-column:1 / -1; }
.tp-free{ flex-direction:column; align-items:stretch; max-height:44vh; overflow:auto; }
.tp-card{ width:auto; flex-direction:row; flex-wrap:wrap; align-items:baseline; gap:4px 12px; }
.tp-card strong{ width:100%; }
.tp-filters{ margin-top:0; }
.tp-bar{ position:static; margin:16px 0 0; padding:14px; border-radius:18px; box-shadow:none; background:var(--surface); }
}
.nudge:not(.appnudge){ background:#1E1B3A !important; color:#fff !important; box-shadow:0 12px 32px -8px rgba(0,0,0,.55), inset 0 0 0 1px rgba(255,255,255,.12) !important; }
.stg{ position:relative; margin:4px -20px 18px; padding:0 0 4px 20px; isolation:isolate; }
header.top.hx:has(.stg){ overflow:hidden; }
.stg-bg{ position:absolute; z-index:-2; left:-20px; right:-20px; top:-140px; width:calc(100% + 40px); height:calc(100% + 170px); object-fit:cover; filter:blur(34px) brightness(.5) saturate(1.3); transform:scale(1.15); }
.stg::after{ content:""; position:absolute; z-index:-1; left:-20px; right:-20px; top:-140px; bottom:-30px; background:linear-gradient(180deg, rgba(12,12,17,.1) 0%, rgba(12,12,17,.45) 50%, var(--bg) 100%); pointer-events:none; }
.stg-k{ display:flex; align-items:center; gap:8px; margin:6px 0 14px; font-size:12px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:#F4F1EA; }
.stg-k i{ width:8px; height:8px; border-radius:50%; background:#FF5B3A; }
.stg-row{ display:flex; gap:14px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; padding-right:20px; }
.stg-row::-webkit-scrollbar{ display:none; }
html:not(#_) .card.stg-c{ flex:none; width:86%; min-width:0; max-width:440px; align-self:flex-start; scroll-snap-align:start; display:flex; flex-direction:column; margin:0; padding:0 !important; background:none !important; border:0 !important; box-shadow:none !important; border-radius:0 !important; cursor:pointer; text-align:left; overflow:visible; }
.stg-pic{ position:relative; display:block; aspect-ratio:16 / 10; border-radius:var(--r-lg, 20px); overflow:hidden; background:#1F1F27; box-shadow:0 24px 50px -18px rgba(0,0,0,.6); }
.stg-blur{ position:absolute; inset:-16px; width:calc(100% + 32px); height:calc(100% + 32px); object-fit:cover; filter:blur(18px) brightness(.55); }
.stg-img{ position:absolute; inset:0; width:100%; height:100%; object-fit:contain; }
.stg-t{ display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; margin-top:16px; font-family:var(--font-display); font-weight:700; font-size:clamp(21px, 6vw, 25px); line-height:1.12; letter-spacing:-.02em; color:var(--ink); }
.stg-stub{ display:flex; align-items:center; gap:14px; margin-top:12px; padding-right:12px; border:1.5px solid var(--ink); border-radius:var(--r-md, 14px); color:var(--ink); }
.stg-d{ flex:none; width:68px; display:flex; flex-direction:column; align-items:center; padding:9px 0; border-right:1.5px dashed var(--line-strong); }
.stg-d small{ font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-muted); } .stg-d b{ font-family:var(--font-display); font-weight:700; font-size:26px; line-height:1.05; letter-spacing:-.05em; }
.stg-f{ flex:1; min-width:0; display:flex; flex-direction:column; gap:3px; } .stg-f b{ font-size:15px; font-weight:800; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.stg-f small{ font-size:13px; color:var(--ink-muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; } .stg-f small i{ display:inline-block; width:8px; height:8px; margin-right:6px; border-radius:2px; vertical-align:1px; }
.stg-go{ flex:none; color:var(--ink-muted); }
.stg-dots{ display:flex; justify-content:center; gap:6px; margin:16px 20px 0 0; pointer-events:none; }
.stg-dots i{ width:6px; height:6px; border-radius:3px; background:color-mix(in srgb, var(--ink) 30%, transparent); transition:width .2s ease; } .stg-dots i.on{ width:20px; background:var(--ink); }
:root[data-theme="light"] .stg-t, :root[data-theme="light"] .stg-stub{ color:var(--ink); }
@media (max-width:1023px){ header.top.hx:has(.stg) .hx-hello{ display:none; } header.top.hx:has(.stg) .brand, header.top.hx:has(.stg) .citypicker, header.top.hx:has(.stg) .cityselect{ color:#F4F1EA; } header.top.hx:has(.stg){ background:transparent !important; } }
@media (min-width:1024px){ .stg{ display:none; } }
@media (prefers-reduced-motion: reduce){ .stg-dots i{ transition:none; } }
html:not(#_) .card.wkhero{ display:flex; flex-direction:column; margin:0 0 26px; padding:0 !important; background:none !important; border:0 !important; box-shadow:none !important; border-radius:0 !important; text-align:left; cursor:pointer; overflow:visible; }
.wkhero .stg-pic{ box-shadow:none; }
.wkhero-k{ position:absolute; z-index:2; left:12px; top:12px; padding:6px 10px; border-radius:8px; background:#F4F1EA; color:#15131C; font-size:11.5px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; }
.wkhero .promo-tag{ position:absolute; z-index:2; right:12px; top:12px; }
.hsrch{ margin:0 0 8px; } .hsrch .hx-pills{ margin-top:14px; }
.hsrch-b{ display:flex; align-items:center; gap:10px; width:100%; height:52px; padding:0 6px 0 16px; border-radius:var(--r-md, 14px); border:1px solid var(--line); background:var(--surface); color:var(--ink-muted); font:inherit; font-size:15px; text-align:left; cursor:pointer; }
.hsrch-b span{ flex:1; } .hsrch-b > svg{ width:18px; height:18px; } .hsrch-b i{ width:40px; height:40px; display:grid; place-items:center; border-radius:10px; background:var(--accent); color:var(--accent-contrast); }
@media (max-width:1023px){ header.top.hx:has(.stg) .hx-search{ display:none !important; } body[data-screen="home"]:has(.stg) .hx-under{ display:none !important; } }
@media (min-width:1024px){ .hsrch, html:not(#_) .card.wkhero{ display:none !important; } }
@media (max-width:1023px){ #screenRoot:has(.wkhero) .podium .pd-week{ display:none; } }
.pitchhome{ margin:0 0 26px; padding:20px 18px; border-radius:var(--r-lg, 20px); background:var(--surface); border:1px solid var(--ds-border, transparent); }
.pitchhome h2{ margin:0; font-family:var(--font-display); font-weight:700; font-size:22px; line-height:1.15; letter-spacing:-.02em; color:var(--ink); }
.pitchhome ul{ list-style:none; margin:14px 0 16px; padding:0; display:flex; flex-direction:column; gap:10px; }
.pitchhome li{ display:flex; align-items:center; gap:10px; font-size:15px; font-weight:700; color:var(--ink); } .pitchhome li svg{ flex:none; color:var(--accent); }
.pitchhome > div{ display:flex; gap:10px; } .pitchhome .btn.primary{ flex:1; }
.dcal{ display:grid; grid-template-columns:repeat(7, 1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); margin-bottom:14px; }
.dcal-d{ display:flex; flex-direction:column; align-items:center; gap:2px; padding:11px 0 9px; background:none; border:0; color:var(--ink); font:inherit; cursor:pointer; }
.dcal-d small{ font-size:12px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-muted); }
.dcal-d b{ font-family:var(--font-display); font-weight:700; font-size:20px; letter-spacing:-.03em; }
.dcal-d i{ font-style:normal; font-size:12px; font-weight:700; color:var(--ink-muted); }
.dcal-d.on{ background:var(--ink); color:var(--bg); } .dcal-d.on small, .dcal-d.on i{ color:inherit; opacity:.75; }
.dcal-none{ margin:6px 2px 10px; color:var(--ink-muted); font-size:15px; }
.dcal-all{ width:100%; margin-top:8px; }
@media (min-width:1024px){ .dcal-d{ flex-direction:row; justify-content:center; align-items:baseline; gap:10px; padding:16px 0; } }
.wkm{ display:grid; grid-template-columns:1fr 1fr; gap:22px 12px; margin-bottom:8px; }
html:not(#_) .card.wkm-c{ display:flex; flex-direction:column; min-width:0; margin:0; padding:0 !important; background:none !important; border:0 !important; box-shadow:none !important; border-radius:0 !important; text-align:left; cursor:pointer; overflow:visible; }
.wkm-c.big{ grid-column:1 / -1; } .wkm-c .stg-pic{ box-shadow:none; aspect-ratio:16 / 9; border-radius:var(--r-md, 14px); } .wkm-c.big .stg-pic{ aspect-ratio:16 / 9.5; border-radius:var(--r-lg, 20px); }
.wkm-w{ display:flex; align-items:center; gap:8px; margin-top:12px; font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:#FF5B3A; }
.wkm-t{ margin-top:4px; font-size:16px; font-weight:800; line-height:1.2; color:var(--ink); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; } .wkm-c.big .wkm-t{ font-size:20px; }
.wkm-v{ margin-top:4px; font-size:13px; color:var(--ink-muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; } .wkm-v i{ display:inline-block; width:8px; height:8px; margin-right:7px; border-radius:2px; vertical-align:1px; }
@media (min-width:1024px){ .wkm{ grid-template-columns:repeat(4, 1fr); gap:28px 22px; } .wkm-c.big{ grid-column:1 / span 2; grid-row:1 / span 2; } }
.cwk{ margin-bottom:8px; border:1.5px solid var(--ink); border-radius:var(--r-lg, 20px); overflow:hidden; }
.cwk-top{ position:relative; display:block; aspect-ratio:16 / 9; cursor:pointer; background:var(--surface-2); }
.cwk-top img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.cwk-top::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(12,12,17,.05) 30%, rgba(12,12,17,.9)); }
.cwk-in{ position:absolute; z-index:1; left:0; right:0; bottom:0; padding:16px; display:flex; flex-direction:column; align-items:flex-start; gap:4px; color:#F4F1EA; }
.cwk-in small{ font-size:12px; font-weight:800; letter-spacing:.1em; text-transform:uppercase; } .cwk-in b{ font-family:var(--font-display); font-weight:700; font-size:26px; letter-spacing:-.03em; } .cwk-in em{ font-style:normal; font-size:14px; color:#D2CEC7; }
.cwk-in .promo-tag{ background:none; border:1px solid rgba(255,255,255,.7); color:#F4F1EA; }
html:not(#_) .card.cwk-row{ display:flex; flex-direction:row; align-items:center; gap:14px; margin:0; padding:12px 16px !important; background:none !important; border:0 !important; border-top:1px solid var(--line) !important; border-radius:0 !important; box-shadow:none !important; text-align:left; cursor:pointer; }
.cwk-d{ flex:none; width:46px; display:flex; flex-direction:column; align-items:center; } .cwk-d small{ font-size:11px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-muted); } .cwk-d b{ font-family:var(--font-display); font-size:22px; letter-spacing:-.04em; }
.cwk-e{ flex:1; min-width:0; } .cwk-e strong{ display:block; font-size:15px; font-weight:800; color:var(--ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; } .cwk-e small{ font-size:13px; color:var(--ink-muted); }
.cwk-b{ display:flex; gap:10px; padding:14px 16px 16px; border-top:1px solid var(--line); } .cwk-b .btn{ flex:1; }
html:not(#_) .menusheet.msheet2{ left:0; right:0; top:auto; bottom:0; width:auto; max-width:560px; margin:0 auto; max-height:92vh; overflow-y:auto; padding:10px 20px calc(18px + env(safe-area-inset-bottom)); border-radius:22px 22px 0 0; background:var(--surface); box-shadow:0 -20px 50px rgba(0,0,0,.4); }
.msheet2 .sheet-grip{ display:block; width:40px; height:4px; margin:0 auto 10px; border-radius:2px; background:var(--line-strong); }
.msh2{ display:flex; align-items:center; justify-content:space-between; margin-bottom:4px; } .msh2 strong{ font-family:var(--font-display); font-size:22px; letter-spacing:-.02em; color:var(--ink); }
.msh2-x{ width:44px; height:44px; border-radius:50%; border:1px solid var(--line-strong); background:none; color:var(--ink); font-size:15px; cursor:pointer; }
html:not(#_) .menuitem.mrow{ display:flex !important; flex-direction:row !important; align-items:center !important; justify-content:flex-start !important; min-height:0; gap:14px; width:100%; padding:14px 0; margin:0; border:0; border-top:1px solid var(--line); border-radius:0; background:none; color:var(--ink); text-align:left; text-decoration:none; font:inherit; }
.msh2 + .menuitem.mrow{ border-top:0; }
.mrow-ic{ flex:none; display:grid; place-items:center; width:28px; color:var(--ink); } .mrow-tx{ flex:1; min-width:0; display:flex; flex-direction:column; gap:2px; }
.mrow-tx > span{ font-size:16px; font-weight:800; } .mrow-tx small{ font-size:13px; color:var(--ink-muted); } .mrow-ch{ flex:none; color:var(--ink-muted); }
.mtheme2{ display:flex; align-items:center; gap:12px; padding:14px 0; border-top:1px solid var(--line); color:var(--ink); font-weight:800; } .mtheme2 > span{ flex:1; }
.mtheme2 em{ display:flex; font-style:normal; border:1px solid var(--line-strong); border-radius:10px; overflow:hidden; }
.mtheme2 em button{ padding:8px 10px; border:0; background:none; color:var(--ink-muted); font:inherit; font-size:13px; font-weight:700; cursor:pointer; } .mtheme2 em button.on{ background:var(--ink); color:var(--bg); }
.mbiz2{ display:flex; align-items:center; gap:14px; margin-top:6px; padding:16px; border-radius:var(--r-lg, 20px); border:1.5px solid var(--ink); color:var(--ink); text-decoration:none; }
.mbiz2 > span{ flex:1; min-width:0; } .mbiz2 b{ display:block; font-size:16px; font-weight:800; } .mbiz2 small{ font-size:13px; color:var(--ink-muted); }
.mlegal2{ margin:14px 0 0; text-align:center; font-size:13px; color:var(--ink-muted); } .mlegal2 a, .mlegal2 button{ color:inherit; text-decoration:none; background:none; border:0; font:inherit; cursor:pointer; padding:0; }
html:not(#_) .menuitem.mrow > *{ margin:0; } html:not(#_) .mrow-tx{ align-items:flex-start; text-align:left; }
header.top.hx:has(.stg) .brandrow{ position:relative; z-index:3; }
.stg-c .stg-stub{ margin-top:12px; } .stg-c{ justify-content:flex-start; }
.crewhome{ margin:4px 0 20px; }
.crewhome-k{ margin:0 0 14px; font-family:var(--font-display); font-weight:700; font-size:20px; line-height:1.15; letter-spacing:-.02em; color:var(--ink); }
.crewhome-row{ display:flex; gap:14px; margin:0 -20px; padding:4px 20px; overflow-x:auto; scrollbar-width:none; } .crewhome-row::-webkit-scrollbar{ display:none; }
.crewfr{ flex:none; width:76px; display:flex; flex-direction:column; align-items:center; gap:3px; padding:0; border:0; background:none; color:var(--ink); font:inherit; text-align:center; cursor:pointer; }
.crewfr .av, .crewfr > span{ width:62px; height:62px; margin-bottom:5px; border-radius:50%; font-size:22px; box-shadow:0 0 0 3px var(--bg), 0 0 0 5px var(--line-strong); }
.crewfr.hot .av{ box-shadow:0 0 0 3px var(--bg), 0 0 0 5.5px #FF5B3A; } .crewfr.idle .av{ opacity:.55; }
.crewfr > span{ display:grid; place-items:center; background:var(--accent); color:var(--accent-contrast); box-shadow:0 0 0 3px var(--bg), 0 0 0 5px var(--accent); }
.crewfr-add > span{ background:var(--surface); color:var(--ink); box-shadow:0 0 0 3px var(--bg), 0 0 0 5px var(--line-strong); }
.crewfr b{ font-size:14px; font-weight:800; line-height:1.15; } .crewfr small{ max-width:76px; font-size:12px; color:var(--ink-muted); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.av.crewav:not([style*="background-image"]){ background:hsl(var(--h) 52% 46%); color:#fff; }
.invhome{ margin:0 0 24px; padding:16px; border-radius:20px; background:var(--surface); border:1.5px solid var(--line-strong); }
.invhome-h{ display:flex; align-items:center; gap:10px; font-size:13px; color:var(--ink-muted); } .invhome-h .av{ width:36px; height:36px; } .invhome-h b{ display:block; font-size:15px; font-weight:800; color:var(--ink); }
.card.invhome-e{ display:flex !important; flex-direction:row !important; text-align:left; align-items:center; gap:12px; margin:14px 0 0; padding:14px 0 0; background:none; border:0; border-top:1.5px dashed var(--line-strong); border-radius:0; box-shadow:none; cursor:pointer; }
.invhome-p{ flex:none; width:96px; height:58px; border-radius:10px; background:var(--surface-2) center/cover no-repeat; }
.invhome-e strong{ display:block; font-size:16px; font-weight:800; line-height:1.2; } .invhome-e small{ display:block; margin-top:3px; font-size:13px; color:var(--ink-muted); }
.invhome-w{ display:flex; align-items:center; gap:10px; margin-top:12px; font-size:14px; color:var(--ink-muted); } .invhome-w em{ font-style:normal; }
.invhome-b{ display:flex; gap:10px; margin-top:14px; } .invhome-b .btn{ min-height:46px; } .invhome-b .btn.primary{ flex:1; } .invhome-chat{ width:46px; padding:0; justify-content:center; }
.bm{ display:flex; flex-direction:column; gap:10px; }
.bm-row{ display:flex; flex-wrap:wrap; gap:8px; }
.bm-chip{ display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:0 14px; border-radius:12px; border:1px solid var(--line); background:var(--surface); color:var(--ink); font:inherit; font-size:15px; font-weight:700; cursor:pointer; }
.bm-chip b{ font-size:13px; font-weight:800; color:var(--ink-muted); }
.bm-more .bm-chip{ background:none; }
.bm-chip[data-seeall="weekend"] b{ display:none; }
.dx-places{ display:inline-flex; align-items:center; gap:6px; margin-left:auto; min-height:40px; padding:0 14px; border-radius:99px; border:1px solid var(--line); background:var(--surface); color:var(--ink); font:inherit; font-size:14px; font-weight:800; cursor:pointer; }
.dx-places + .menubtn, .dx-places + *{ margin-left:8px; }
.newouting{ display:flex; align-items:center; gap:14px; width:100%; margin:4px 0 18px; padding:16px; border:0; border-radius:18px; background:var(--accent); color:var(--accent-contrast); font:inherit; text-align:left; cursor:pointer; }
.newouting > span{ flex:none; width:46px; height:46px; border-radius:50%; display:grid; place-items:center; background:rgba(255,255,255,.18); }
.newouting div{ flex:1; min-width:0; }
.newouting strong{ display:block; font-size:17px; font-weight:800; }
.newouting small{ display:block; margin-top:2px; font-size:14px; opacity:.9; }
.newouting > svg{ flex:none; }
.plist-head{ margin:22px 4px 8px; }
.pe-card.pe-flash{ animation:peflash 1.2s ease-out 1; }
@keyframes peflash{ 0%{ box-shadow:0 0 0 3px var(--accent); } 100%{ box-shadow:0 0 0 0 transparent; } }
@media (prefers-reduced-motion: reduce){.pe-card.pe-flash{ animation:none; }
}
.dxmini{ position:fixed; z-index:45; left:50%; top:calc(10px + env(safe-area-inset-top)); transform:translate(-50%, -140%); display:flex; gap:8px; width:min(calc(100% - 24px), 616px); padding:6px; border-radius:16px; background:var(--surface); border:1px solid var(--line); box-shadow:0 10px 30px -12px rgba(0,0,0,.45); transition:transform .25s ease; pointer-events:none; }
.dxmini.show{ transform:translate(-50%, 0); pointer-events:auto; }
.dxmini button{ display:flex; align-items:center; gap:8px; min-height:42px; padding:0 14px; border:0; border-radius:11px; background:var(--surface-2); color:var(--ink); font:inherit; font-size:15px; font-weight:700; cursor:pointer; }
.dxmini-s{ flex:1; min-width:0; }
.dxmini-s span{ overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--ink-muted); }
.dxmini-f b{ min-width:20px; height:20px; padding:0 6px; border-radius:10px; background:var(--accent); color:var(--accent-contrast); font-size:12px; display:grid; place-items:center; }
.dxmini svg{ width:18px; height:18px; flex:none; }
body:not([data-screen="discover"]) .dxmini{ display:none; }
@media (min-width:1024px){.dxmini{ left:calc(50% + var(--side) / 2); }
}
@media (prefers-reduced-motion: reduce){.dxmini{ transition:none; }
}
body[data-screen="profile"] #screenRoot{ padding-bottom:calc(140px + env(safe-area-inset-bottom)); }
.soc-hero-emoji svg, .fg-av svg, .inv-art svg, .gcard-face svg{ display:block; }
.savebtn, .clubcard-follow, .textbtn, .mo-cell, .desc-more, .gobtn{ position:relative; }
.savebtn::before, .clubcard-follow::before, .textbtn::before, .mo-cell::before, .desc-more::before, .gobtn::before{ content:""; position:absolute; inset:-6px; }
.chip{ min-height:44px; }
.cityselect{ min-height:44px; }
:root[data-theme="dark"] .btn.primary, :root[data-theme="dark"] .newouting, :root[data-theme="dark"] .chip[data-active="true"], :root[data-theme="dark"] .fdays [data-active="true"], :root[data-theme="dark"] .segmented [data-active="true"], :root[data-theme="dark"] .fg-cta{ color:var(--accent-contrast); }
nav.bottomnav :focus-visible{ outline:2px solid #fff; outline-offset:2px; }
@media (min-width:1024px) and (hover:hover){#screenRoot .recorow, #screenRoot .top10row, #screenRoot .planrow, #screenRoot .mcolrow{ display:grid !important; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:20px; overflow:visible !important; margin-left:0 !important; margin-right:0 !important; padding-left:0 !important; padding-right:0 !important; -webkit-mask-image:none !important; mask-image:none !important; scroll-snap-type:none; }
#screenRoot .recorow > *, #screenRoot .top10row > *, #screenRoot .planrow > *, #screenRoot .mcolrow > *{ width:auto !important; min-width:0 !important; max-width:none !important; flex:none !important; }
#screenRoot .recorow > :nth-child(n+9), #screenRoot .top10row > :nth-child(n+9), #screenRoot .planrow > :nth-child(n+9){ display:none !important; }
#screenRoot .clubrow-cards{ display:grid !important; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:20px; overflow:visible !important; -webkit-mask-image:none !important; mask-image:none !important; }
#screenRoot .clubrow-cards > *{ width:auto !important; flex:none !important; min-width:0 !important; }
#screenRoot .clubrow-cards > :nth-child(n+7){ display:none !important; }
body[data-screen="community"] #screenRoot, body[data-screen="browse"] #screenRoot, body[data-screen="chat"] #screenRoot, body[data-screen="saved"] #screenRoot{ max-width:760px; margin-inline:auto; }
.tixview .tixtrack{ justify-content:center; }
}
header.top.dx .simplehead{ flex-wrap:wrap; }
.dx-places[data-on="true"]{ background:var(--accent); color:var(--accent-contrast); border-color:transparent; }
.dx-places + .dx-places{ margin-left:6px; }
.evmap{ position:fixed; inset:0; z-index:96; display:flex; flex-direction:column; background:var(--bg); padding-top:env(safe-area-inset-top); }
.evmap-top{ display:flex; align-items:baseline; gap:10px; padding:14px 16px; }
.evmap-top strong{ font-size:20px; }
.evmap-top span{ flex:1; font-size:14px; color:var(--ink-muted); }
.evmap-x{ width:44px; height:44px; border-radius:50%; border:1px solid var(--line); background:var(--surface); color:var(--ink); font-size:16px; cursor:pointer; }
.evmap-box{ flex:1; min-height:0; }
.evmap-box > p{ padding:20px; color:var(--ink-muted); }
.evmap-pop{ display:flex; flex-direction:column; gap:6px; min-width:200px; font:inherit; }
.evmap-pop b{ font-size:15px; }
.evmap-pop button{ display:block; text-align:left; padding:8px 10px; border:0; border-radius:8px; background:#F1F2F7; color:#17153A; font:inherit; font-size:14px; font-weight:700; cursor:pointer; }
.evmap-pop button small{ display:block; font-size:12px; font-weight:600; color:#6E7083; }
.evmap-pop em{ font-size:13px; color:#6E7083; }
.kmtag{ font-weight:800; color:var(--accent-ink); }
.dx-ways{ display:flex; gap:8px; margin:4px 0 10px; overflow-x:auto; scrollbar-width:none; }
.dx-ways::-webkit-scrollbar{ display:none; }
.dx-ways .dx-places{ margin-left:0 !important; flex:none; }
header.top.dx .simplehead .menubtn{ margin-left:auto; }
:root{
  --r-sm:10px; --r-md:14px; --r-lg:20px; --r-pill:999px;
  --ds-shadow:0 1px 2px rgba(16,14,40,.06), 0 6px 18px -10px rgba(16,14,40,.22);
  --ds-border:transparent;
  --fs-xs:12px; --fs-sm:13px; --fs-md:15px; --fs-lg:17px; --fs-xl:20px; --fs-2xl:24px;
}
:root[data-theme="dark"]{ --ds-shadow:none; --ds-border:var(--line); }html:not(#_) @media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){ --ds-shadow:none; --ds-border:var(--line); } }
html:not(#_) 
.card, html:not(#_) .aboutcard, html:not(#_) .infocard, html:not(#_) .formcard, html:not(#_) .accountcard, html:not(#_) .appcard, html:not(#_) .levelcard, html:not(#_) .invitecard, html:not(#_) .gcard, html:not(#_) .pe-card, html:not(#_) .sv-card, html:not(#_) .been-card, html:not(#_) .up-card, html:not(#_) .bdg-card, html:not(#_) .tp-card, html:not(#_) .clubcard, html:not(#_) .artistcard, html:not(#_) .topcard, html:not(#_) .mapcard, html:not(#_) .collcard, html:not(#_) .dactions, html:not(#_) .fg-list, html:not(#_) .plist, html:not(#_) .tonight, html:not(#_) .chatcard, html:not(#_) .countdown, html:not(#_) .hero, html:not(#_) .soc-hero, html:not(#_) .fg-hero, html:not(#_) .invhome, html:not(#_) .newouting{
  border-radius:var(--r-lg) !important; }
html:not(#_) .aboutcard, html:not(#_) .infocard, html:not(#_) .formcard, html:not(#_) .accountcard, html:not(#_) .appcard, html:not(#_) .invitecard, html:not(#_) .pe-card, html:not(#_) .been-card, html:not(#_) .up-card, html:not(#_) .bdg-card, html:not(#_) .clubcard, html:not(#_) .dactions, html:not(#_) .fg-list, html:not(#_) .plist, html:not(#_) .tonight, html:not(#_) .chatcard, html:not(#_) .hero, html:not(#_) .soc-hero, html:not(#_) .card.lrow, html:not(#_) .card.tn-row, html:not(#_) .card.plancard{
  background-image:none !important; box-shadow:var(--ds-shadow) !important; border:1px solid var(--ds-border) !important; }
html:not(#_) .tonight, html:not(#_) .chatcard, html:not(#_) .soc-hero{ background-color:var(--surface) !important; }
html:not(#_) .invitecard{ background-color:#4F46E5 !important; border-color:transparent !important; }
html:not(#_) .invitecard .invite-btns .btn.primary{ background:#fff !important; color:#4338CA !important; }
html:not(#_) .chatcard, html:not(#_) .chatcard *{ color:var(--ink); } html:not(#_) .chatcard small, html:not(#_) .chatcard .chat-empty, html:not(#_) .chatcard .chat-unavail, html:not(#_) .chatcard .chat-cta span{ color:var(--ink-muted) !important; }
html:not(#_) .chatcard::before, html:not(#_) .chatcard::after, html:not(#_) .tonight::before, html:not(#_) .tonight::after, html:not(#_) .card.pd::before, html:not(#_) .card::after{ display:none !important; }
html:not(#_) .fg-hero, html:not(#_) .soc-hero{ background-image:none !important; background-color:#4F46E5 !important; color:#fff !important; }
html:not(#_) .fg-hero *, html:not(#_) .soc-hero *{ color:inherit; }
html:not(#_) .soc-hero{ background-color:var(--surface) !important; color:var(--ink) !important; }html:not(#_) 
.card-head, html:not(#_) .lr-poster, html:not(#_) .tn-pic, html:not(#_) .hero-visual, html:not(#_) .pd-art, html:not(#_) .top10poster, html:not(#_) .cdate, html:not(#_) .invhome-p, html:not(#_) .plan-poster, html:not(#_) .mcol-pic, html:not(#_) .sv-card{ border-radius:var(--r-md) !important; }html:not(#_) 
.card-head.no-img, html:not(#_) .lr-poster.no-img, html:not(#_) .hero-visual.no-img{ background-image:none !important; background-color:color-mix(in srgb, var(--dot, var(--accent)) 16%, var(--surface-2)) !important; }
html:not(#_) .cardhead-art svg{ color:color-mix(in srgb, var(--dot, var(--accent)) 70%, var(--ink)); opacity:.75; }
html:not(#_) .top10poster:not(.has-img){ background-image:none !important; background-color:var(--surface-2) !important; }
html:not(#_) .top10rank{ background-image:none !important; background-color:var(--accent) !important; color:var(--accent-contrast) !important; border-radius:var(--r-sm) !important; text-shadow:none !important; }html:not(#_) 
.dxcat-ic{ background-image:none !important; border-radius:var(--r-md) !important; box-shadow:none !important; }
html:not(#_) .dxcat[data-active="true"] .dxcat-ic, html:not(#_) .dxcat.on .dxcat-ic{ background-color:var(--accent) !important; color:var(--accent-contrast) !important; }html:not(#_) 
.mcol{ background-image:none !important; background-color:var(--c, var(--accent)) !important; border-radius:var(--r-lg) !important; box-shadow:none !important; }html:not(#_) 
.storyring{ background:var(--accent) !important; } html:not(#_) .storybubble.promo .storyring{ background:#F59E0B !important; } html:not(#_) .storybubble.seen .storyring{ background:var(--line-strong) !important; }
html:not(#_) 
.btn{ min-height:48px; border-radius:var(--r-md) !important; font-size:var(--fs-md); font-weight:800; letter-spacing:0; box-shadow:none !important; text-shadow:none !important; }
html:not(#_) .btn.small{ min-height:40px; font-size:var(--fs-sm); border-radius:var(--r-sm) !important; }
html:not(#_) .btn.primary, html:not(#_) .btn.cta:not(.buycta){ background-image:none !important; background-color:var(--accent) !important; color:var(--accent-contrast) !important; border-color:transparent !important; }
html:not(#_) .btn.primary::after, html:not(#_) .btn.cta::after, html:not(#_) .btn::before{ display:none !important; }
html:not(#_) .btn:not(.primary):not(.cta):not(.danger-solid){ background-image:none !important; }
html:not(#_) .iconbtn, html:not(#_) .menubtn, html:not(#_) .bellbtn, html:not(#_) .savebtn, html:not(#_) .hx-filter, html:not(#_) .infoicon, html:not(#_) .chatcard-ic, html:not(#_) .plist-ic{ border-radius:var(--r-md) !important; box-shadow:none !important; }
html:not(#_) .hx-filter{ background-image:none !important; background-color:var(--accent) !important; color:var(--accent-contrast) !important; }
html:not(#_) .chip, html:not(#_) .tn-all, html:not(#_) .dx-places, html:not(#_) .gobtn, html:not(#_) .ib-btn, html:not(#_) .bm-chip, html:not(#_) .trend-n, html:not(#_) .cwhen-cat, html:not(#_) .pd-badge, html:not(#_) .pd-fact, html:not(#_) .pd-soon, html:not(#_) .pd-go{ border-radius:var(--r-pill) !important; box-shadow:none !important; }
html:not(#_) .bm-chip{ border-radius:var(--r-pill) !important; }
html:not(#_) .gobtn{ background-image:none !important; }
html:not(#_) .dec{ border-radius:var(--r-md) !important; box-shadow:none !important; background-image:none !important; }
html:not(#_) .dec.go{ background-color:var(--accent) !important; color:var(--accent-contrast) !important; }
html:not(#_) .dec.go.on{ background-color:#16A34A !important; color:#fff !important; }
html:not(#_) .search, html:not(#_) .claim-input, html:not(#_) .field input, html:not(#_) .acc-form input, html:not(#_) .segmented{ border-radius:var(--r-md) !important; box-shadow:none !important; }
html:not(#_) 
.day-head h2, html:not(#_) .day-head h2.plain, html:not(#_) .pd-head-k, html:not(#_) .section-label{ font-size:var(--fs-xl) !important; letter-spacing:-.015em; }
html:not(#_) .day-head .count, html:not(#_) .day-head .textbtn, html:not(#_) .pd-head-d{ font-size:var(--fs-sm) !important; }
html:not(#_) 
.ibanner{ border-radius:var(--r-lg) !important; box-shadow:none !important; }
@font-face{ font-family:'Onest'; font-style:normal; font-weight:400 700; font-display:swap; src:url(/fonts/Onest-cyrillic.woff2) format('woff2'); unicode-range:U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face{ font-family:'Onest'; font-style:normal; font-weight:400 700; font-display:swap; src:url(/fonts/Onest-latin-ext.woff2) format('woff2'); unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face{ font-family:'Onest'; font-style:normal; font-weight:400 700; font-display:swap; src:url(/fonts/Onest-latin.woff2) format('woff2'); unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
:root{
  --sg-bg:#F7F7FA; --sg-surface:#FFFFFF; --sg-surface-2:#F0F0F5;
  --sg-ink:#0E0D16; --sg-ink-2:#4A4858; --sg-ink-3:#686677;
  --sg-line:#E7E6EE; --sg-line-strong:#D7D5E1;
  --sg-brand:#4F46E5; --sg-brand-hover:#4338CA; --sg-brand-ink:#FFFFFF; --sg-brand-text:#4F46E5; --sg-brand-soft:#EEEDFD;
  --sg-live:#E8553B; --sg-live-text:#B93A22;
  --sg-ok:#12895A; --sg-ok-text:#0B6B45; --sg-ok-wash:#E4F4EC;
  --sg-warn:#A86200; --sg-warn-text:#8A5000; --sg-warn-wash:#FBF0DC;
  --sg-danger:#D33A3A;
  --sg-glass:rgba(255,255,255,.72); --sg-glass-line:rgba(255,255,255,.55); --sg-scrim:rgba(12,11,18,.42);
  --sg-f-ui:'Onest', 'Sofia Sans', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --sg-f-display:'Unbounded', 'Onest', system-ui, sans-serif;
  --sg-t-display:700 36px/1.05 var(--sg-f-display);
  --sg-t-h1:700 26px/1.12 var(--sg-f-display);
  --sg-t-h2:700 19px/1.2 var(--sg-f-display);
  --sg-t-h3:600 16px/1.35 var(--sg-f-ui);
  --sg-t-body-lg:400 17px/1.55 var(--sg-f-ui);
  --sg-t-body:400 16px/1.55 var(--sg-f-ui);
  --sg-t-body-sm:400 14px/1.45 var(--sg-f-ui);
  --sg-t-caption:500 13px/1.38 var(--sg-f-ui);
  --sg-t-label:600 12px/1.2 var(--sg-f-ui);
  --sg-t-button:600 15px/1 var(--sg-f-ui);
  --sg-s-1:4px; --sg-s-2:8px; --sg-s-3:12px; --sg-s-4:16px; --sg-s-5:24px; --sg-s-6:32px; --sg-s-7:40px; --sg-s-8:48px; --sg-s-9:64px; --sg-s-10:80px; --sg-s-11:96px;
  --sg-r-sm:10px; --sg-r-md:16px; --sg-r-lg:24px; --sg-r-pill:999px;
  --sg-e-1:0 1px 2px rgba(17,15,40,.06), 0 0 0 1px rgba(17,15,40,.04);
  --sg-e-2:0 16px 40px -18px rgba(17,15,40,.28);
  --sg-e-3:0 30px 80px -20px rgba(10,8,30,.45);
  --sg-dur-fast:120ms; --sg-dur:200ms; --sg-dur-slow:320ms;
  --sg-ease:cubic-bezier(.22,.8,.24,1); --sg-spring:cubic-bezier(.34,1.56,.64,1);
  --sg-gutter:16px; --sg-maxw:1280px; --sg-bar:64px; --sg-fb:1.91;
  --sg-z-sticky:20; --sg-z-nav:40; --sg-z-sheet:80; --sg-z-story:95; --sg-z-toast:96;
  --font:var(--sg-f-ui); --font-display:var(--sg-f-display);
  --bg:var(--sg-bg); --surface:var(--sg-surface); --surface-2:var(--sg-surface-2);
  --ink:var(--sg-ink); --ink-muted:var(--sg-ink-3); --line:var(--sg-line);
  --accent:#4F46E5; --accent-contrast:#FFFFFF;
}
:root[data-theme="dark"]{
  --sg-bg:#0C0B12; --sg-surface:#16151F; --sg-surface-2:#1F1E2A;
  --sg-ink:#F3F2F8; --sg-ink-2:#B9B7C6; --sg-ink-3:#918FA0;
  --sg-line:#272534; --sg-line-strong:#363443;
  --sg-brand:#5B52EE; --sg-brand-hover:#6A62F2; --sg-brand-text:#A9A3FF; --sg-brand-soft:#231F48;
  --sg-live:#FF6B4F; --sg-live-text:#FF8F78;
  --sg-ok:#3CCB8A; --sg-ok-text:#3CCB8A; --sg-ok-wash:#11291F;
  --sg-warn:#F0B44C; --sg-warn-text:#F0B44C; --sg-warn-wash:#2E2412;
  --sg-danger:#FF6B6B;
  --sg-glass:rgba(22,21,31,.70); --sg-glass-line:rgba(255,255,255,.08); --sg-scrim:rgba(0,0,0,.6);
  --sg-e-1:0 1px 2px rgba(0,0,0,.4), 0 0 0 1px rgba(255,255,255,.04);
  --sg-e-2:0 16px 40px -18px rgba(0,0,0,.7);
  --sg-e-3:0 30px 80px -20px rgba(0,0,0,.8);
  --bg:var(--sg-bg); --surface:var(--sg-surface); --surface-2:var(--sg-surface-2);
  --ink:var(--sg-ink); --ink-muted:var(--sg-ink-3); --line:var(--sg-line);
  --accent:#8B83FF; --accent-contrast:#0C0B12;
}
@media (min-width:768px){ :root{ --sg-gutter:24px; } }
@media (min-width:1024px){
  :root{ --sg-gutter:32px; --sg-bar:68px;
    --sg-t-display:700 56px/1.02 var(--sg-f-display); --sg-t-h1:700 34px/1.08 var(--sg-f-display);
    --sg-t-h2:700 21px/1.2 var(--sg-f-display); --sg-t-h3:600 17px/1.35 var(--sg-f-ui); }
}
html:not(#_) body{ font-family:var(--sg-f-ui); background:var(--sg-bg); color:var(--sg-ink); -webkit-font-smoothing:antialiased; }
.sg-wrap{ width:100%; max-width:calc(var(--sg-maxw) + 2 * var(--sg-gutter)); margin-inline:auto; padding-inline:var(--sg-gutter); }
.sg-sr{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.sg-clamp1, .sg-clamp2, .sg-clamp3{ display:-webkit-box; -webkit-box-orient:vertical; overflow:hidden; }
.sg-clamp1{ -webkit-line-clamp:1; } .sg-clamp2{ -webkit-line-clamp:2; } .sg-clamp3{ -webkit-line-clamp:3; }
.sg-ic{ flex:none; display:block; }
.sg-note{ display:flex; align-items:center; gap:var(--sg-s-2); font:var(--sg-t-caption); color:var(--sg-ink-3); }
.sg-btn{ position:relative; display:inline-flex; align-items:center; justify-content:center; gap:var(--sg-s-2); height:44px; padding-inline:var(--sg-s-5); border-radius:var(--sg-r-pill);
  font:var(--sg-t-button); letter-spacing:-.005em; white-space:nowrap; border:1px solid transparent; cursor:pointer; text-decoration:none; -webkit-tap-highlight-color:transparent; user-select:none;
  transition:transform var(--sg-dur) var(--sg-spring), background-color var(--sg-dur) var(--sg-ease), border-color var(--sg-dur) var(--sg-ease), color var(--sg-dur) var(--sg-ease); }
.sg-btn:active{ transform:scale(.94); }
.sg-btn:focus-visible{ outline:2px solid var(--sg-brand-text); outline-offset:2px; }
.sg-btn:disabled{ opacity:.4; pointer-events:none; }
.sg-btn--sm{ height:36px; padding-inline:var(--sg-s-4); font-size:14px; }
.sg-btn--sm::after{ content:""; position:absolute; inset:-4px 0; }
.sg-btn--lg{ height:52px; padding-inline:var(--sg-s-6); font-size:16px; }
.sg-btn--block{ width:100%; }
.sg-btn--primary{ background:var(--sg-brand); color:var(--sg-brand-ink); }
.sg-btn--primary:hover{ background:var(--sg-brand-hover); }
.sg-btn--secondary{ background:var(--sg-surface); color:var(--sg-ink); border-color:var(--sg-line-strong); }
.sg-btn--secondary:hover{ border-color:var(--sg-ink-3); }
.sg-btn--ghost{ background:transparent; color:var(--sg-ink-2); }
.sg-btn--ghost:hover{ background:var(--sg-surface-2); color:var(--sg-ink); }
.sg-btn--icon{ width:44px; padding:0; color:var(--sg-ink-2); background:transparent; }
.sg-btn--icon:hover{ background:var(--sg-surface-2); color:var(--sg-ink); }
.sg-btn--icon.sg-btn--secondary{ color:var(--sg-ink); background:var(--sg-surface); }
.sg-btn.is-done{ background:var(--sg-ok); color:#fff; border-color:transparent; }
.sg-btn.is-on{ color:var(--sg-brand-text); }
.sg-btn.is-on .sg-ic-star path{ fill:currentColor; }
.sg-btn .sg-ring{ position:absolute; inset:0; border-radius:inherit; box-shadow:0 0 0 2px var(--sg-brand); opacity:0; pointer-events:none; }
.sg-pop{ animation:sgPop 420ms var(--sg-spring); }
.sg-pop .sg-ring{ animation:sgRing 600ms var(--sg-ease); }
@keyframes sgPop{ 0%{ transform:scale(1); } 30%{ transform:scale(.92); } 65%{ transform:scale(1.05); } 100%{ transform:scale(1); } }
@keyframes sgRing{ 0%{ opacity:.7; transform:scale(1); } 100%{ opacity:0; transform:scale(1.25,1.6); } }
.sg-btn .sg-ic-check{ animation:sgCheckIn 420ms var(--sg-spring) both; }
@keyframes sgCheckIn{ from{ transform:scale(.2) rotate(-25deg); opacity:0; } to{ transform:none; opacity:1; } }
.sg-link{ display:inline-flex; align-items:center; gap:var(--sg-s-1); min-height:44px; font:var(--sg-t-body-sm); font-weight:600; color:var(--sg-brand-text); background:none; border:0; padding:0; cursor:pointer; text-decoration:none; }
.sg-link .sg-ic{ transition:transform var(--sg-dur) var(--sg-ease); }
.sg-link:hover .sg-ic{ transform:translateX(3px); }
.sg-chip{ position:relative; flex:none; display:inline-flex; align-items:center; gap:var(--sg-s-2); height:36px; padding-inline:var(--sg-s-4); border-radius:var(--sg-r-pill); border:1px solid var(--sg-line-strong); background:var(--sg-surface); font:var(--sg-t-body-sm); font-weight:500; color:var(--sg-ink-2); cursor:pointer;
  transition:background-color var(--sg-dur) var(--sg-ease), color var(--sg-dur) var(--sg-ease), border-color var(--sg-dur) var(--sg-ease), transform var(--sg-dur-fast) var(--sg-ease); }
.sg-chip::after{ content:""; position:absolute; inset:-4px 0; }
.sg-chip:hover{ color:var(--sg-ink); border-color:var(--sg-ink-3); }
.sg-chip:active{ transform:scale(.96); }
.sg-chip[aria-pressed="true"]{ background:var(--sg-ink); color:var(--sg-bg); border-color:var(--sg-ink); }
.sg-tag{ display:inline-flex; align-items:center; gap:var(--sg-s-1); height:24px; padding-inline:var(--sg-s-2); border-radius:var(--sg-r-pill); font:var(--sg-t-label); letter-spacing:.04em; text-transform:uppercase; background:var(--sg-surface-2); color:var(--sg-ink-2); white-space:nowrap; }
.sg-tag--brand{ background:var(--sg-brand-soft); color:var(--sg-brand-text); }
.sg-tag--live{ color:var(--sg-live-text); background:transparent; padding-inline:0; }
.sg-tag--sticker{ background:var(--sg-brand); color:#fff; transform:rotate(-3deg); border-radius:var(--sg-r-sm); height:26px; }
.sg-tag--glass{ background:var(--sg-glass); color:var(--sg-ink); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); }
.sg-live-dot{ position:relative; width:8px; height:8px; border-radius:50%; background:var(--sg-live); flex:none; box-shadow:0 0 12px var(--sg-live); }
.sg-live-dot::after{ content:""; position:absolute; inset:0; border-radius:50%; background:var(--sg-live); animation:sgLive 1.8s var(--sg-ease) infinite; }
@keyframes sgLive{ 0%{ transform:scale(1); opacity:.6; } 80%,100%{ transform:scale(2.8); opacity:0; } }
.sg-time-stk{ display:inline-flex; align-items:center; gap:var(--sg-s-1); height:30px; padding-inline:var(--sg-s-3); border-radius:var(--sg-r-sm); background:var(--sg-brand); color:#fff; font:700 14px/1 var(--sg-f-display); transform:rotate(-3deg); box-shadow:0 8px 20px -8px color-mix(in srgb, var(--sg-brand) 90%, transparent); }
.sg-st{ display:inline-flex; align-items:center; height:28px; padding-inline:var(--sg-s-3); border-radius:var(--sg-r-pill); font:var(--sg-t-caption); font-weight:600; white-space:nowrap; }
.sg-st--yes{ background:var(--sg-ok-wash); color:var(--sg-ok-text); }
.sg-st--maybe{ background:var(--sg-warn-wash); color:var(--sg-warn-text); }
.sg-st--no{ background:var(--sg-surface-2); color:var(--sg-ink-3); }
.sg-st--none{ background:transparent; color:var(--sg-ink-3); border:1px dashed var(--sg-line-strong); }
.sg-av{ --h:262; position:relative; flex:none; display:inline-grid; place-items:center; width:32px; height:32px; border-radius:50%; color:#fff; font:600 12px/1 var(--sg-f-ui); letter-spacing:.02em; overflow:hidden;
  background:linear-gradient(140deg, hsl(var(--h) 52% 52%), hsl(calc(var(--h) + 34) 58% 38%)); }
.sg-av img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.sg-av--sm{ width:24px; height:24px; font-size:10px; } .sg-av--lg{ width:44px; height:44px; font-size:14px; } .sg-av--xl{ width:56px; height:56px; font-size:16px; }
.sg-stack{ display:flex; align-items:center; }
.sg-stack .sg-av{ box-shadow:0 0 0 2px var(--sg-surface); }
.sg-stack .sg-av + .sg-av{ margin-left:calc(-1 * var(--sg-s-2)); }
.sg-going{ display:flex; align-items:center; gap:var(--sg-s-2); min-width:0; }
.sg-going > span:last-child{ font:var(--sg-t-caption); color:var(--sg-ink-2); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.sg-media{ position:relative; overflow:hidden; aspect-ratio:var(--ar, 1.91); background:var(--sg-surface-2); isolation:isolate; display:block; }
.sg-media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.sg-media .sg-media-bg{ filter:blur(28px) saturate(1.3) brightness(.85); transform:scale(1.35); }
.sg-media.is-contain .sg-media-img{ object-fit:contain; z-index:1; filter:drop-shadow(0 6px 18px rgba(0,0,0,.35)); }
.sg-media.is-contain::after{ content:""; position:absolute; inset:0; pointer-events:none; background:linear-gradient(90deg, rgba(0,0,0,.18), transparent 22%, transparent 78%, rgba(0,0,0,.18)); }
.sg-media .sg-media-img{ transition:transform 900ms var(--sg-ease); }
a:hover > .sg-media .sg-media-img, .sg-card:hover .sg-media .sg-media-img{ transform:scale(1.04); }
.sg-media.is-empty{ display:grid; place-items:center; color:color-mix(in srgb, var(--dot, var(--sg-brand)) 70%, var(--sg-ink)); background:color-mix(in srgb, var(--dot, var(--sg-brand)) 14%, var(--sg-surface-2)); }
.sg-sh{ display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; column-gap:var(--sg-s-4); row-gap:var(--sg-s-1); margin-bottom:var(--sg-s-4); }
.sg-sh h2{ margin:0; font:var(--sg-t-h2); letter-spacing:-.02em; color:var(--sg-ink); display:flex; align-items:center; gap:var(--sg-s-2); }
.sg-sh p{ margin:var(--sg-s-1) 0 0; font:var(--sg-t-caption); color:var(--sg-ink-3); }
.sg-sh .sg-link{ flex:none; margin-bottom:calc(-1 * var(--sg-s-3)); }
@media (min-width:1024px){ .sg-sh{ margin-bottom:var(--sg-s-5); } }
.sg-card{ position:relative; display:block; color:inherit; text-decoration:none; cursor:pointer; -webkit-tap-highlight-color:transparent; transition:transform var(--sg-dur) var(--sg-ease); }
.sg-card:active{ transform:scale(.985); }
.sg-card .sg-media{ border-radius:var(--sg-r-md); }
.sg-eyebrow{ display:flex; align-items:center; gap:var(--sg-s-2); font:var(--sg-t-caption); color:var(--sg-ink-3); min-width:0; }
.sg-eyebrow b{ font-weight:600; color:var(--sg-ink-2); }
.sg-eyebrow.is-live b{ color:var(--sg-live-text); }
.sg-eyebrow > span{ white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.sg-cwrap{ position:relative; min-width:0; }
.sg-int{ position:absolute; z-index:3; top:var(--sg-s-2); right:var(--sg-s-2); width:44px; height:44px; border-radius:50%; display:grid; place-items:center; border:1px solid var(--sg-glass-line); cursor:pointer;
  background:var(--sg-glass); color:var(--sg-ink); -webkit-backdrop-filter:saturate(180%) blur(16px); backdrop-filter:saturate(180%) blur(16px); transition:transform var(--sg-dur) var(--sg-spring); }
.sg-int:active{ transform:scale(.9); }
.sg-int.is-on{ color:var(--sg-brand); background:var(--sg-surface); }
.sg-int.is-on .sg-ic-star path{ fill:currentColor; }
.sg-card-big .sg-cb{ display:grid; gap:var(--sg-s-2); padding-top:var(--sg-s-4); }
.sg-card-big .sg-cb h3{ margin:0; font:600 26px/1.15 var(--sg-f-ui); letter-spacing:-.025em; }
.sg-card-big .sg-cb p{ margin:0; font:var(--sg-t-body-sm); color:var(--sg-ink-2); }
@media (min-width:1024px){ .sg-card-big .sg-cb h3{ font-size:30px; } }
.sg-card-md .sg-cm{ display:grid; gap:var(--sg-s-1); padding-top:var(--sg-s-3); }
.sg-card-md .sg-cm h3{ margin:0; font:var(--sg-t-h3); letter-spacing:-.01em; }
.sg-card-md .sg-cm p{ margin:0; font:var(--sg-t-body-sm); color:var(--sg-ink-2); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.sg-card-row{ display:grid; grid-template-columns:128px minmax(0,1fr); gap:var(--sg-s-4); align-items:center; padding-block:var(--sg-s-3); }
.sg-card-row .sg-media{ border-radius:var(--sg-r-sm); }
.sg-card-row .sg-cr{ display:grid; gap:var(--sg-s-1); min-width:0; }
.sg-card-row h3{ margin:0; font:var(--sg-t-h3); letter-spacing:-.01em; }
.sg-card-row p{ margin:0; font:var(--sg-t-body-sm); color:var(--sg-ink-2); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.sg-card-row .sg-cr-foot{ font:var(--sg-t-caption); color:var(--sg-ink-3); }
.sg-list > .sg-card-row + .sg-card-row{ border-top:1px solid var(--sg-line); }
@media (min-width:1024px){ .sg-card-row{ grid-template-columns:192px minmax(0,1fr); gap:var(--sg-s-5); padding-block:var(--sg-s-4); } }
.sg-card-mini{ display:grid; grid-template-columns:84px minmax(0,1fr) auto; gap:var(--sg-s-3); align-items:center; min-height:52px; }
.sg-card-mini .sg-media{ border-radius:var(--sg-r-sm); }
.sg-card-mini b{ display:block; font:var(--sg-t-body-sm); font-weight:600; color:var(--sg-ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.sg-card-mini small{ display:block; font:var(--sg-t-caption); color:var(--sg-ink-3); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.sg-card-mini > .sg-ic{ color:var(--sg-ink-3); }
.sg-panel{ background:var(--sg-surface); border:1px solid var(--sg-line); border-radius:var(--sg-r-md); }
.sg-rise{ animation:sgRise 560ms var(--sg-ease) backwards; animation-delay:calc(var(--i, 0) * 55ms + 40ms); }
@keyframes sgRise{ from{ opacity:0; transform:translateY(14px); } to{ opacity:1; transform:none; } }
@media (prefers-reduced-motion: reduce){
  .sg-rise, .sg-pop, .sg-pop .sg-ring, .sg-btn .sg-ic-check, .sg-live-dot::after{ animation:none !important; }
  .sg-btn, .sg-chip, .sg-card, .sg-media .sg-media-img{ transition:none !important; }
  a:hover > .sg-media .sg-media-img, .sg-card:hover .sg-media .sg-media-img{ transform:none; }
}
html:not(#_) nav.bottomnav.sg-nav{ position:fixed; z-index:var(--sg-z-nav); left:0; right:0; bottom:0; top:auto; width:auto; height:auto; border-radius:0; margin:0;
  padding:var(--sg-s-1) var(--sg-s-2) calc(var(--sg-s-1) + env(safe-area-inset-bottom)); background:color-mix(in srgb, var(--sg-surface) 84%, transparent);
  -webkit-backdrop-filter:saturate(180%) blur(20px); backdrop-filter:saturate(180%) blur(20px); border-top:1px solid var(--sg-line); box-shadow:none; }
html:not(#_) nav.bottomnav.sg-nav .navwrap{ display:block; max-width:none; height:auto; padding:0; margin:0; }
.sg-nav-brand, .sg-nav-right{ display:none; }
.sg-nav-row{ position:relative; display:grid; grid-template-columns:1fr 1fr auto 1fr 1fr; align-items:center; max-width:560px; margin-inline:auto; }
.sg-nav-i{ position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:var(--sg-s-1); height:56px; padding:0; border:0; background:none; cursor:pointer;
  color:var(--sg-ink-3); font:500 12px/1 var(--sg-f-ui); transition:color var(--sg-dur) var(--sg-ease); -webkit-tap-highlight-color:transparent; }
.sg-nav-i[aria-current="page"]{ color:var(--sg-brand-text); font-weight:600; }
.sg-nav-i:active .sg-ic{ transform:scale(.88); }
.sg-nav-i .sg-ic{ transition:transform var(--sg-dur) var(--sg-spring); }
.sg-nav-ic{ position:relative; display:block; }
.sg-nav-badge{ position:absolute; top:-4px; right:-10px; min-width:18px; height:18px; padding-inline:5px; border-radius:var(--sg-r-pill); display:grid; place-items:center; background:var(--sg-live); color:#fff; font:700 11px/1 var(--sg-f-ui); font-style:normal; box-shadow:0 0 0 2px var(--sg-surface); }
.sg-nav-ind{ position:absolute; top:var(--sg-s-1); left:0; height:48px; opacity:0; display:flex; justify-content:center; pointer-events:none; transition:transform var(--sg-dur-slow) var(--sg-spring), width var(--sg-dur-slow) var(--sg-ease), opacity var(--sg-dur) var(--sg-ease); }
.sg-nav-ind i{ display:block; width:60px; height:100%; border-radius:var(--sg-r-pill); background:var(--sg-brand-soft); }
.sg-nav-out{ display:flex; justify-content:center; padding-inline:var(--sg-s-2); }
.sg-nav-go{ position:relative; z-index:1; display:inline-flex; align-items:center; gap:var(--sg-s-1); height:48px; padding-inline:var(--sg-s-4) var(--sg-s-5); margin-top:calc(-1 * var(--sg-s-4)); border:0; border-radius:var(--sg-r-pill); cursor:pointer;
  background:var(--sg-brand); color:#fff; font:var(--sg-t-button); box-shadow:0 10px 24px -10px color-mix(in srgb, var(--sg-brand) 80%, transparent), 0 0 0 4px var(--sg-bg); transition:transform var(--sg-dur) var(--sg-spring), background-color var(--sg-dur) var(--sg-ease); }
.sg-nav-go:hover{ background:var(--sg-brand-hover); transform:translateY(-2px); }
.sg-nav-go:active{ transform:scale(.95); }
.sg-nav-go .sg-ic{ transition:transform var(--sg-dur-slow) var(--sg-spring); }
.sg-nav-go:hover .sg-ic{ transform:rotate(90deg); }
@media (max-width:1023px){ body.in-chat nav.bottomnav.sg-nav{ display:none; } }
@media (max-width:359px){ .sg-nav-go span{ display:none; } .sg-nav-go{ width:48px; padding:0; justify-content:center; } }
@media (min-width:1024px){
  :root{ --side:0px; }
  html:not(#_) body{ padding-left:0; padding-top:var(--sg-bar); }
  html:not(#_) nav.bottomnav.sg-nav{ top:0; bottom:auto; height:var(--sg-bar); padding:0; border-top:0; border-bottom:1px solid var(--sg-line); background:color-mix(in srgb, var(--sg-bg) 82%, transparent); }
  html:not(#_) nav.bottomnav.sg-nav .navwrap{ display:flex; flex-direction:row; flex-wrap:nowrap; justify-content:flex-start; align-items:center; gap:var(--sg-s-7); height:100%; max-width:calc(var(--sg-maxw) + 2 * var(--sg-gutter)); margin-inline:auto; padding-inline:var(--sg-gutter); }
  .sg-nav-brand{ display:flex; align-items:center; gap:var(--sg-s-2); min-height:44px; text-decoration:none; color:var(--sg-ink); font:600 17px/1 var(--sg-f-display); letter-spacing:-.02em; }
  .sg-nav-brand img{ border-radius:8px; }
  .sg-nav-row{ display:flex; gap:var(--sg-s-1); max-width:none; margin:0; height:100%; align-items:center; }
  .sg-nav-out{ display:none; }
  .sg-nav-i{ flex-direction:row; height:40px; padding-inline:var(--sg-s-3); border-radius:var(--sg-r-sm); font:500 14px/1 var(--sg-f-ui); color:var(--sg-ink-3); }
  .sg-nav-i .sg-nav-ic{ display:none; }
  .sg-nav-i:hover{ color:var(--sg-ink); background:var(--sg-surface-2); }
  .sg-nav-i[aria-current="page"]{ color:var(--sg-ink); }
  .sg-nav-i .sg-nav-badge{ position:static; margin-left:var(--sg-s-1); }
  .sg-nav-ic + span{ display:inline; }
  .sg-nav-ind{ top:auto; bottom:12px; height:2px; }
  .sg-nav-ind i{ width:20px; border-radius:2px; background:var(--sg-brand); }
  .sg-nav-right{ display:flex; align-items:center; gap:var(--sg-s-1); margin-left:auto; }
  .sg-nav-right .bellbtn{ position:relative; }
  .sg-nav-right .bell-n:not(:empty){ position:absolute; top:6px; right:6px; min-width:16px; height:16px; padding-inline:4px; border-radius:var(--sg-r-pill); background:var(--sg-live); color:#fff; font:700 10px/16px var(--sg-f-ui); text-align:center; }
  .sg-nav-out-d{ margin-left:var(--sg-s-2); }
  html:not(#_) header.top{ top:var(--sg-bar); }
  html:not(#_) .sheetwrap{ padding-left:0; }
  html:not(#_) .buybar, html:not(#_) .nudge, html:not(#_) .dmform{ left:50%; }
}
.sg-nav-i .sg-nav-badge{ font-style:normal; }
.sg-sheet{ display:grid; gap:var(--sg-s-3); }
.sg-sheet-h p{ margin:var(--sg-s-1) 0 0; font:var(--sg-t-body-sm); color:var(--sg-ink-3); }
.sg-sheet-l{ margin:var(--sg-s-2) 0 0; font:var(--sg-t-label); letter-spacing:.06em; text-transform:uppercase; color:var(--sg-ink-3); }
.sg-sheet-empty{ margin:0; font:var(--sg-t-body-sm); color:var(--sg-ink-2); }
.sg-out-evs{ display:grid; gap:var(--sg-s-2); }
.sg-out-ev{ display:grid; grid-template-columns:84px minmax(0,1fr) 24px; gap:var(--sg-s-3); align-items:center; width:100%; padding:var(--sg-s-2) var(--sg-s-3) var(--sg-s-2) var(--sg-s-2); border:1px solid var(--sg-line); border-radius:var(--sg-r-md); background:var(--sg-surface); text-align:left; cursor:pointer; color:var(--sg-ink);
  transition:border-color var(--sg-dur) var(--sg-ease), background-color var(--sg-dur) var(--sg-ease), transform var(--sg-dur-fast) var(--sg-ease); }
.sg-out-ev:active{ transform:scale(.985); }
.sg-out-ev .sg-media{ border-radius:var(--sg-r-sm); }
.sg-out-ev b{ display:block; font:var(--sg-t-body-sm); font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.sg-out-ev small{ display:block; font:var(--sg-t-caption); color:var(--sg-ink-3); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.sg-out-ev.is-on{ border-color:var(--sg-brand); background:var(--sg-brand-soft); }
.sg-tick{ width:24px; height:24px; border-radius:50%; border:1.5px solid var(--sg-line-strong); display:grid; place-items:center; color:#fff; background:var(--sg-surface); transition:background-color var(--sg-dur) var(--sg-ease), border-color var(--sg-dur) var(--sg-ease); }
.sg-tick .sg-ic{ opacity:0; transform:scale(.4); transition:opacity var(--sg-dur) var(--sg-ease), transform var(--sg-dur-slow) var(--sg-spring); }
.sg-out-ev.is-on .sg-tick, .sg-out-f[aria-pressed="true"] .sg-tick{ background:var(--sg-brand); border-color:var(--sg-brand); }
.sg-out-ev.is-on .sg-tick .sg-ic, .sg-out-f[aria-pressed="true"] .sg-tick .sg-ic{ opacity:1; transform:none; }
.sg-out-fr{ display:grid; grid-template-columns:repeat(auto-fill, minmax(64px, 1fr)); gap:var(--sg-s-2); }
.sg-out-f{ display:grid; justify-items:center; gap:var(--sg-s-1); padding-block:var(--sg-s-1); border:0; background:none; cursor:pointer; color:var(--sg-ink-2); font:var(--sg-t-caption); }
.sg-out-av{ position:relative; display:block; transition:transform var(--sg-dur) var(--sg-spring); }
.sg-out-f:active .sg-out-av{ transform:scale(.92); }
.sg-out-av .sg-tick{ position:absolute; right:-4px; bottom:-2px; width:20px; height:20px; }
.sg-out-f[aria-pressed="true"] .sg-av{ box-shadow:0 0 0 2px var(--sg-surface), 0 0 0 4px var(--sg-brand); }
.sg-out-f[aria-pressed="true"]{ color:var(--sg-ink); }
.sg-done{ display:grid; justify-items:center; text-align:center; gap:var(--sg-s-3); padding:var(--sg-s-6) 0 var(--sg-s-2); }
.sg-done p{ margin:0; color:var(--sg-ink-2); max-width:30ch; }
.sg-done-ic{ width:72px; height:72px; border-radius:50%; display:grid; place-items:center; background:var(--sg-ok-wash); color:var(--sg-ok-text); animation:sgPop 560ms var(--sg-spring) both; }
html.sg-noscroll{ overflow:hidden; }
.sg-top{ position:sticky; top:env(safe-area-inset-top, 0px); z-index:var(--sg-z-sticky); height:var(--sg-bar); background:color-mix(in srgb, var(--sg-bg) 82%, transparent);
  -webkit-backdrop-filter:saturate(180%) blur(20px); backdrop-filter:saturate(180%) blur(20px); }
.sg-top-in{ height:100%; display:flex; align-items:center; gap:var(--sg-s-1); }
.sg-logo{ display:flex; align-items:center; gap:var(--sg-s-2); min-height:44px; margin-right:auto; text-decoration:none; color:var(--sg-ink); font:600 17px/1 var(--sg-f-display); letter-spacing:-.02em; }
.sg-logo img{ border-radius:8px; }
.sg-city{ display:inline-flex; align-items:center; gap:var(--sg-s-1); height:36px; padding-inline:var(--sg-s-3); border-radius:var(--sg-r-pill); border:1px solid var(--sg-line); background:var(--sg-surface); font:var(--sg-t-body-sm); font-weight:500; color:var(--sg-ink); }
.sg-city .sg-ic{ color:var(--sg-ink-3); }
.sg-top .bellbtn{ position:relative; }
.sg-top .bell-n:not(:empty){ position:absolute; top:6px; right:6px; min-width:16px; height:16px; padding-inline:4px; border-radius:var(--sg-r-pill); background:var(--sg-live); color:#fff; font:700 10px/16px var(--sg-f-ui); text-align:center; }
@media (min-width:1024px){ .sg-top{ display:none; } }
.sg-home{ padding-bottom:calc(var(--sg-s-11) + env(safe-area-inset-bottom)); }
.sg-h1{ margin:0; font:var(--sg-t-h1); letter-spacing:-.03em; color:var(--sg-ink); }
.sg-h2{ margin:0; font:var(--sg-t-h2); letter-spacing:-.02em; color:var(--sg-ink); display:flex; align-items:center; gap:var(--sg-s-2); }
.sg-greet{ display:grid; gap:var(--sg-s-2); padding-top:var(--sg-s-4); margin-bottom:var(--sg-s-5); }
.sg-greet-k{ margin:0; font:var(--sg-t-caption); font-weight:600; color:var(--sg-ink-3); }
.sg-display{ margin:0 0 var(--sg-s-3); font:var(--sg-t-display); letter-spacing:-.035em; color:var(--sg-ink); max-width:15ch; text-wrap:balance; }
.sg-mark{ display:inline-block; padding:0 var(--sg-s-2); margin-top:var(--sg-s-1); background:var(--sg-brand); color:#fff; border-radius:var(--sg-r-sm); transform:rotate(-2deg); box-shadow:4px 4px 0 color-mix(in srgb, var(--sg-brand) 35%, transparent); }
.sg-greet-l{ margin:0; font:var(--sg-t-body-lg); color:var(--sg-ink-2); max-width:52ch; }
@media (min-width:1024px){ .sg-greet{ padding-top:var(--sg-s-8); } .sg-display{ max-width:none; } }
.sg-stage{ position:relative; isolation:isolate; overflow:hidden; padding-block:var(--sg-s-5) var(--sg-s-6); margin-bottom:var(--sg-s-7); }
.sg-ts-bg{ position:absolute; inset:0; z-index:-1; }
.sg-ts-bg i{ position:absolute; inset:-40px; background-size:cover; background-position:center; filter:blur(48px) saturate(1.5); opacity:0; transform:scale(1.15); transition:opacity 700ms var(--sg-ease); }
.sg-ts-bg i.on{ opacity:.55; }
:root[data-theme="dark"] .sg-ts-bg i.on{ opacity:.4; }
.sg-ts-bg::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, var(--sg-bg) 0%, color-mix(in srgb, var(--sg-bg) 30%, transparent) 22%, color-mix(in srgb, var(--sg-bg) 30%, transparent) 70%, var(--sg-bg) 100%); }
.sg-ts-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:var(--sg-s-4); margin-bottom:var(--sg-s-4); }
.sg-ts-head p{ margin:var(--sg-s-1) 0 0; font:var(--sg-t-caption); color:var(--sg-ink-2); }
.sg-ts-nav{ display:none; gap:var(--sg-s-2); }
.sg-ts-track{ display:flex; gap:var(--sg-s-3); overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; padding:var(--sg-s-2) var(--sg-gutter) var(--sg-s-4); scroll-padding-inline:var(--sg-gutter); }
.sg-ts-track::-webkit-scrollbar{ display:none; }
.sg-ts-card{ --k:0; flex:none; width:84%; max-width:400px; scroll-snap-align:center; display:flex; flex-direction:column; border-radius:var(--sg-r-lg); background:var(--sg-surface); overflow:hidden;
  box-shadow:0 24px 50px -28px rgba(20,16,60,.55), 0 0 0 1px var(--sg-line); transform:scale(calc(1 - var(--k) * .06)); opacity:calc(1 - var(--k) * .35); transition:box-shadow var(--sg-dur) var(--sg-ease); }
.sg-ts-card.is-cur{ box-shadow:0 30px 60px -26px color-mix(in srgb, var(--sg-brand) 60%, transparent), 0 0 0 1px var(--sg-line); }
.sg-ts-pic{ position:relative; display:block; }
.sg-ts-pic .sg-media{ border-radius:0; }
.sg-ts-time{ position:absolute; z-index:3; left:var(--sg-s-3); top:var(--sg-s-3); }
.sg-ts-soon{ position:absolute; z-index:3; right:var(--sg-s-3); top:var(--sg-s-3); display:inline-flex; align-items:center; gap:var(--sg-s-2); height:28px; padding-inline:var(--sg-s-3); border-radius:var(--sg-r-pill); background:rgba(12,11,18,.62); color:#fff; font:var(--sg-t-caption); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); }
.sg-ts-body{ display:grid; gap:var(--sg-s-1); padding:var(--sg-s-4); }
.sg-ts-cat{ margin:0; font:var(--sg-t-label); letter-spacing:.04em; text-transform:uppercase; color:var(--sg-brand-text); }
.sg-ts-title{ margin:0; font:700 21px/1.18 var(--sg-f-display); letter-spacing:-.02em; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:2.36em; }
.sg-ts-title a{ color:var(--sg-ink); text-decoration:none; }
.sg-ts-venue{ margin:0; display:flex; align-items:center; gap:var(--sg-s-1); font:var(--sg-t-body-sm); color:var(--sg-ink-2); min-width:0; }
.sg-ts-venue span{ white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.sg-ts-venue .sg-ic{ color:var(--sg-ink-3); }
.sg-ts-foot{ display:flex; align-items:center; justify-content:space-between; gap:var(--sg-s-3); margin-top:var(--sg-s-3); min-height:44px; }
.sg-ts-foot .sg-btn{ flex:none; }
.sg-ts-dots{ display:flex; justify-content:center; gap:var(--sg-s-2); }
.sg-ts-dots i{ width:6px; height:6px; border-radius:var(--sg-r-pill); background:var(--sg-line-strong); transition:width var(--sg-dur-slow) var(--sg-spring), background-color var(--sg-dur) var(--sg-ease); }
.sg-ts-dots i.on{ width:22px; background:var(--sg-brand); }
@media (min-width:768px){ .sg-ts-card{ width:46%; } }
@media (min-width:1024px){
  .sg-stage{ padding-block:var(--sg-s-6) var(--sg-s-7); }
  .sg-ts-nav{ display:flex; }
  .sg-ts-track{ gap:var(--sg-s-5); padding-inline:max(var(--sg-gutter), calc((100vw - var(--sg-maxw)) / 2)); scroll-padding-inline:max(var(--sg-gutter), calc((100vw - var(--sg-maxw)) / 2)); }
  .sg-ts-card{ width:420px; scroll-snap-align:start; transform:none; opacity:1; }
  .sg-ts-title{ font-size:23px; }
}
.sg-stories{ margin:calc(-1 * var(--sg-s-3)) 0 var(--sg-s-7); }
.sg-st-row{ display:flex; gap:var(--sg-s-3); overflow-x:auto; scrollbar-width:none; margin-inline:calc(-1 * var(--sg-gutter)); padding:var(--sg-s-1) var(--sg-gutter) var(--sg-s-2); }
.sg-st-row::-webkit-scrollbar{ display:none; }
.sg-st-b{ flex:none; display:grid; justify-items:center; gap:2px; width:76px; padding:0; border:0; background:none; cursor:pointer; text-align:center; color:var(--sg-ink); transition:transform var(--sg-dur) var(--sg-spring); }
.sg-st-b:active{ transform:scale(.92); }
.sg-st-ring{ position:relative; width:72px; height:72px; border-radius:50%; padding:3px; margin-bottom:var(--sg-s-1); background:conic-gradient(from 200deg, #4F46E5, #8B7BFF, #4338CA, #4F46E5); }
.sg-st-b.is-seen .sg-st-ring{ background:var(--sg-line-strong); }
.sg-st-pic{ display:block; width:100%; height:100%; border-radius:50%; background-size:cover; background-position:center; box-shadow:0 0 0 3px var(--sg-bg); }
.sg-st-ring .sg-st-av{ position:absolute; right:-2px; bottom:-2px; width:28px; height:28px; font-size:11px; box-shadow:0 0 0 3px var(--sg-bg); }
.sg-st-me .sg-st-ring, .sg-st-add .sg-st-ring{ background:none; padding:0; }
.sg-st-me .sg-st-ring .sg-av{ width:72px; height:72px; font-size:20px; }
.sg-st-addic{ width:72px; height:72px; border-radius:50%; display:grid; place-items:center; border:1.5px dashed var(--sg-line-strong); color:var(--sg-ink-3); }
.sg-st-plus{ position:absolute; right:0; bottom:0; width:24px; height:24px; border-radius:50%; display:grid; place-items:center; background:var(--sg-brand); color:#fff; box-shadow:0 0 0 3px var(--sg-bg); }
.sg-st-n{ font:var(--sg-t-caption); font-weight:600; color:var(--sg-ink); max-width:76px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.sg-st-w{ font:500 12px/1.2 var(--sg-f-ui); color:var(--sg-brand-text); }
@media (min-width:1024px){ .sg-stories{ margin-top:0; } .sg-st-row{ margin-inline:0; padding-inline:0; gap:var(--sg-s-5); } .sg-st-ring, .sg-st-me .sg-st-ring .sg-av, .sg-st-addic{ width:84px; height:84px; } .sg-st-b{ width:88px; } }
.sg-pitch{ display:grid; gap:var(--sg-s-4); margin:calc(-1 * var(--sg-s-3)) 0 var(--sg-s-7); padding:var(--sg-s-5); border-radius:var(--sg-r-lg); background:var(--sg-surface); border:1px solid var(--sg-line); }
.sg-pitch ul{ list-style:none; margin:var(--sg-s-3) 0 0; padding:0; display:grid; gap:var(--sg-s-2); }
.sg-pitch li{ display:flex; align-items:center; gap:var(--sg-s-2); font:var(--sg-t-body-sm); font-weight:600; color:var(--sg-ink); }
.sg-pitch li .sg-ic{ color:var(--sg-brand-text); }
.sg-pitch-b{ display:flex; gap:var(--sg-s-2); flex-wrap:wrap; }
.sg-pitch-b .sg-btn--primary{ flex:1; }
@media (min-width:1024px){ .sg-pitch{ grid-template-columns:1fr auto; align-items:end; } }
.sg-storyv{ position:fixed; inset:0; z-index:var(--sg-z-story); background:#06050C; color:#fff; display:flex; justify-content:center; animation:sgSvIn var(--sg-dur-slow) var(--sg-ease) both; }
@keyframes sgSvIn{ from{ opacity:0; transform:scale(.96); } }
.sg-sv-bg{ position:absolute; inset:0; background-size:cover; background-position:center; filter:blur(40px) saturate(1.3) brightness(.45); transform:scale(1.3); }
.sg-sv-in{ position:relative; width:100%; max-width:440px; height:100%; display:flex; flex-direction:column; padding:calc(var(--sg-s-3) + env(safe-area-inset-top)) var(--sg-s-4) calc(var(--sg-s-5) + env(safe-area-inset-bottom)); }
.sg-sv-bars{ position:relative; z-index:3; display:flex; gap:var(--sg-s-1); }
.sg-sv-bars i{ flex:1; height:3px; border-radius:2px; background:rgba(255,255,255,.3); overflow:hidden; }
.sg-sv-bars b{ display:block; height:100%; background:#fff; transform-origin:left; transform:scaleX(0); }
.sg-sv-bars i.done b{ transform:scaleX(1); }
.sg-sv-bars i.cur b{ animation:sgSvFill 5s linear forwards; }
@keyframes sgSvFill{ to{ transform:scaleX(1); } }
.sg-sv-head{ position:relative; z-index:3; display:flex; align-items:center; gap:var(--sg-s-3); margin-top:var(--sg-s-3); }
.sg-sv-head b{ display:block; font:600 15px/1.2 var(--sg-f-ui); }
.sg-sv-head span{ font:var(--sg-t-caption); color:rgba(255,255,255,.8); }
.sg-sv-x{ margin-left:auto; width:44px; height:44px; display:grid; place-items:center; color:#fff; background:none; border:0; cursor:pointer; }
.sg-sv-poster{ flex:1; display:flex; align-items:center; justify-content:center; min-height:0; padding-block:var(--sg-s-5); }
.sg-sv-poster img{ max-width:100%; max-height:100%; border-radius:var(--sg-r-md); box-shadow:0 30px 60px -20px rgba(0,0,0,.8); object-fit:contain; }
.sg-sv-foot{ position:relative; z-index:3; display:grid; gap:var(--sg-s-2); }
.sg-sv-cat{ margin:0; font:var(--sg-t-caption); color:rgba(255,255,255,.75); }
.sg-sv-foot h2{ margin:0; font:700 24px/1.15 var(--sg-f-display); letter-spacing:-.02em; color:#fff; }
.sg-sv-with{ margin:0; font:var(--sg-t-body-sm); color:#C9C4FF; }
.sg-sv-btns{ display:grid; grid-template-columns:1fr 1fr; gap:var(--sg-s-2); margin-top:var(--sg-s-2); }
.sg-sv-btns .sg-btn{ padding-inline:var(--sg-s-3); }
.sg-sv-ghost{ background:rgba(255,255,255,.14); color:#fff; }
.sg-sv-btns .sg-btn.is-done{ background:#fff; color:#3B32C9; }
.sg-sv-tap{ position:absolute; top:96px; bottom:200px; width:40%; z-index:2; background:none; border:0; cursor:pointer; }
.sg-sv-tap.l{ left:0; } .sg-sv-tap.r{ right:0; }
.sg-home-grid{ display:flex; flex-direction:column; gap:var(--sg-s-8); }
.sg-band, .sg-band-main, .sg-band-side{ display:contents; }
.sg-o-invite{ order:1; } .sg-o-plans{ order:2; } .sg-o-friends{ order:3; } .sg-o-eow{ order:4; } .sg-o-week{ order:5; } .sg-o-weekend{ order:6; } .sg-o-place{ order:7; }
.sg-sec{ display:block; min-width:0; }
@media (min-width:1024px){
  .sg-home-grid{ gap:var(--sg-s-10); }
  .sg-home-grid > *{ order:0; }
  .sg-band{ display:grid; grid-template-columns:repeat(12, minmax(0,1fr)); column-gap:24px; align-items:start; }
  .sg-band-main{ display:block; grid-column:1 / span 8; }
  .sg-band-side{ display:flex; flex-direction:column; gap:var(--sg-s-7); grid-column:9 / span 4; }
  .sg-band-side .sg-sec + .sg-sec{ padding-top:var(--sg-s-6); border-top:1px solid var(--sg-line); }
  .sg-band-side > .sg-sec{ order:0; }
}
.sg-home .homefooter, .sg-home .home-footer{ margin-top:var(--sg-s-9); }
.sg-invite{ position:relative; display:grid; gap:var(--sg-s-4); padding:var(--sg-s-5) var(--sg-s-4) var(--sg-s-4); border-radius:var(--sg-r-md); color:#fff; background:linear-gradient(140deg, #5B52EE, #4338CA); }
.sg-inv-head{ display:flex; align-items:center; gap:var(--sg-s-3); }
.sg-inv-head p{ margin:0; font:var(--sg-t-body); }
.sg-inv-head b{ font-weight:600; }
.sg-inv-ev{ padding:var(--sg-s-3); border-radius:var(--sg-r-sm); background:rgba(255,255,255,.12); }
.sg-inv-ev .sg-card-mini b{ color:#fff; } .sg-inv-ev .sg-card-mini small, .sg-inv-ev .sg-card-mini > .sg-ic{ color:rgba(255,255,255,.78); }
.sg-inv-going > span:last-child{ color:rgba(255,255,255,.88); }
.sg-invite .sg-stack .sg-av{ box-shadow:0 0 0 2px #4F46E5; }
.sg-inv-stub{ position:relative; height:0; margin:var(--sg-s-1) calc(-1 * var(--sg-s-4)) 0; border-top:2px dashed rgba(255,255,255,.45); }
.sg-inv-stub::before, .sg-inv-stub::after{ content:""; position:absolute; top:-12px; width:22px; height:22px; border-radius:50%; background:var(--sg-bg); }
.sg-inv-stub::before{ left:-11px; } .sg-inv-stub::after{ right:-11px; }
.sg-inv-actions{ display:grid; grid-template-columns:1fr 1fr 44px; gap:var(--sg-s-2); }
.sg-inv-actions .sg-btn{ padding-inline:var(--sg-s-3); }
.sg-invite .sg-btn--primary{ background:#fff; color:#3B32C9; }
.sg-invite .sg-btn--secondary{ background:transparent; color:#fff; border-color:rgba(255,255,255,.6); }
.sg-rail{ display:flex; gap:var(--sg-s-3); overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; margin-inline:calc(-1 * var(--sg-gutter)); padding-inline:var(--sg-gutter); scroll-padding-inline:var(--sg-gutter); }
.sg-rail::-webkit-scrollbar{ display:none; }
.sg-plans > *{ flex:none; width:300px; max-width:84%; scroll-snap-align:start; }
.sg-ptile{ display:flex; flex-direction:column; border:1px solid var(--sg-line); border-radius:var(--sg-r-md); background:var(--sg-surface); overflow:hidden; }
.sg-ptile .sg-card-mini{ padding:var(--sg-s-4); grid-template-columns:92px minmax(0,1fr); }
.sg-pt-line{ height:1px; margin-inline:var(--sg-s-4); background:var(--sg-line); }
.sg-perf{ position:relative; height:1px; margin-inline:var(--sg-s-4); background-image:linear-gradient(90deg, var(--sg-line-strong) 50%, transparent 50%); background-size:8px 1px; }
.sg-perf::before, .sg-perf::after{ content:""; position:absolute; top:-10px; width:20px; height:20px; border-radius:50%; background:var(--sg-bg); border:1px solid var(--sg-line); }
.sg-perf::before{ left:-27px; } .sg-perf::after{ right:-27px; }
.sg-pt-bottom{ display:flex; align-items:center; justify-content:space-between; gap:var(--sg-s-3); padding:var(--sg-s-3) var(--sg-s-4); margin-top:auto; min-height:60px; }
.sg-pt-k{ display:flex; align-items:center; gap:var(--sg-s-2); font:var(--sg-t-body-sm); font-weight:600; white-space:nowrap; color:var(--sg-ink); }
.sg-pt-k .sg-ic{ color:var(--sg-brand-text); }
@media (min-width:768px){ .sg-plans{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:var(--sg-s-4); margin-inline:0; padding-inline:0; overflow:visible; } .sg-plans > *{ width:auto; max-width:none; } }
@media (min-width:1024px){ .sg-plans{ grid-template-columns:repeat(4, minmax(0,1fr)); gap:24px; } }
.sg-seg{ position:relative; display:grid; grid-template-columns:repeat(var(--n,7), minmax(0,1fr)); padding:var(--sg-s-1); border-radius:var(--sg-r-pill); background:var(--sg-surface-2); }
.sg-seg-ind{ position:absolute; top:var(--sg-s-1); bottom:var(--sg-s-1); left:var(--sg-s-1); width:calc((100% - 2 * var(--sg-s-1)) / var(--n,7)); transition:transform var(--sg-dur-slow) var(--sg-spring); pointer-events:none; }
.sg-seg-ind i{ display:block; height:100%; border-radius:var(--sg-r-pill); background:var(--sg-surface); box-shadow:var(--sg-e-1); }
.sg-seg button{ position:relative; z-index:1; display:grid; justify-items:center; align-content:center; gap:var(--sg-s-1); height:64px; border:0; background:none; border-radius:var(--sg-r-pill); color:var(--sg-ink-3); cursor:pointer; transition:color var(--sg-dur) var(--sg-ease); }
.sg-seg button:hover, .sg-seg button[aria-selected="true"]{ color:var(--sg-ink); }
.sg-d-l{ font:500 12px/1 var(--sg-f-ui); }
.sg-d-n{ font:var(--sg-t-h3); font-variant-numeric:tabular-nums; }
.sg-d-dots{ display:flex; gap:3px; height:4px; }
.sg-d-dots i{ width:4px; height:4px; border-radius:50%; background:currentColor; opacity:.45; }
.sg-seg button[aria-selected="true"] .sg-d-dots i{ background:var(--sg-brand); opacity:1; }
.sg-day-list{ margin-top:var(--sg-s-3); }
.sg-swap{ animation:sgRise 360ms var(--sg-ease) both; }
.sg-day-head{ display:flex; align-items:baseline; justify-content:space-between; gap:var(--sg-s-3); padding-block:var(--sg-s-3) var(--sg-s-1); }
.sg-day-head h3{ margin:0; font:var(--sg-t-h3); color:var(--sg-ink); }
.sg-day-head span{ font:var(--sg-t-caption); color:var(--sg-ink-3); }
.sg-day-all{ margin-top:var(--sg-s-3); }
.sg-feed{ display:grid; }
.sg-feed a{ display:grid; grid-template-columns:32px minmax(0,1fr); gap:var(--sg-s-3); align-items:center; padding-block:var(--sg-s-3); border-top:1px solid var(--sg-line); text-decoration:none; color:inherit; }
.sg-feed a:first-child{ border-top:0; padding-top:0; }
.sg-feed-t{ display:block; font:var(--sg-t-body-sm); color:var(--sg-ink-2); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.sg-feed-t b{ color:var(--sg-ink); font-weight:600; }
.sg-feed small{ display:block; font:var(--sg-t-caption); color:var(--sg-ink-3); }
.sg-feed a:hover .sg-feed-t b{ color:var(--sg-brand-text); }
.sg-feed-empty{ margin:0; font:var(--sg-t-body-sm); color:var(--sg-ink-2); }
.sg-feed-foot{ margin-top:var(--sg-s-3); }
.sg-mag{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:var(--sg-s-6) var(--sg-s-3); }
.sg-mag > .sg-cwrap:first-child{ grid-column:1 / -1; }
@media (min-width:768px){ .sg-mag{ grid-template-columns:repeat(3, minmax(0,1fr)); gap:var(--sg-s-6) 24px; } .sg-mag > .sg-cwrap:first-child{ grid-column:1 / span 2; grid-row:1 / span 2; } }
@media (min-width:1024px){ .sg-mag{ grid-template-columns:repeat(4, minmax(0,1fr)); } }
.sg-eow{ display:grid; border:1px solid color-mix(in srgb, var(--sg-brand) 18%, var(--sg-line)); border-radius:var(--sg-r-md); background:color-mix(in srgb, var(--sg-brand) 6%, var(--sg-surface)); overflow:hidden; }
.sg-eow .sg-media{ border-radius:0; }
.sg-eow-b{ display:grid; gap:var(--sg-s-2); padding:var(--sg-s-5) var(--sg-s-4) var(--sg-s-4); }
.sg-eow-tags{ display:flex; gap:var(--sg-s-2); justify-self:start; }
.sg-eow h3{ margin:0; font:700 21px/1.2 var(--sg-f-display); letter-spacing:-.02em; color:var(--sg-ink); }
.sg-eow-v{ margin:0; font:var(--sg-t-body-sm); color:var(--sg-ink-2); }
.sg-eow-d{ margin:0; font:var(--sg-t-body-sm); color:var(--sg-ink-2); }
.sg-eow-cta{ justify-self:start; margin-top:var(--sg-s-2); }
.sg-place{ position:relative; border-radius:var(--sg-r-lg); overflow:hidden; isolation:isolate; height:460px; background:var(--sg-surface-2); }
.sg-place-img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform 1200ms var(--sg-ease); }
.sg-place:hover .sg-place-img{ transform:scale(1.04); }
.sg-place::after{ content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(0,0,0,.18) 0%, transparent 30%, transparent 55%, rgba(0,0,0,.35) 100%); pointer-events:none; }
.sg-place-tag{ position:absolute; z-index:2; top:var(--sg-s-4); left:var(--sg-s-4); }
.sg-place-panel{ position:absolute; z-index:2; left:var(--sg-s-3); right:var(--sg-s-3); bottom:var(--sg-s-3); display:grid; gap:var(--sg-s-2); padding:var(--sg-s-4); border-radius:var(--sg-r-md);
  background:var(--sg-glass); -webkit-backdrop-filter:saturate(180%) blur(24px); backdrop-filter:saturate(180%) blur(24px); border:1px solid var(--sg-glass-line); }
.sg-place-panel .sg-tag{ justify-self:start; }
.sg-place-a{ margin:0; display:flex; align-items:center; gap:var(--sg-s-1); font:var(--sg-t-caption); color:var(--sg-ink-3); }
.sg-place-d{ margin:0; font:var(--sg-t-body-sm); color:var(--sg-ink-2); }
.sg-place-actions{ display:flex; align-items:center; justify-content:space-between; gap:var(--sg-s-3); margin-top:var(--sg-s-2); }
.sg-place-events{ display:grid; gap:var(--sg-s-3); margin-top:var(--sg-s-4); }
@media (min-width:768px){ .sg-place{ height:500px; } .sg-place-panel{ left:var(--sg-s-5); right:auto; bottom:var(--sg-s-5); width:380px; padding:var(--sg-s-5); } .sg-place-events{ grid-template-columns:repeat(3, minmax(0,1fr)); gap:24px; } }
@media (prefers-reduced-motion: reduce){
  .sg-ts-card{ transform:none !important; opacity:1 !important; }
  .sg-ts-bg i, .sg-place-img{ transition:none; }
  .sg-storyv, .sg-sv-bars i.cur b, .sg-swap{ animation:none !important; }
  .sg-sv-bars i.cur b{ transform:scaleX(1); }
}
html:not(#_) body[data-screen="home"] #screenRoot{ max-width:none; padding:0; margin:0; }
.sg-pitch-b .sg-btn{ flex:1; }
.sg-eyebrow{ flex-wrap:wrap; row-gap:0; }
.sg-eyebrow > span{ white-space:normal; }
@media (min-width:1024px){ .sg-band:has(> .sg-band-side:empty) > .sg-band-main{ grid-column:1 / -1; } .sg-band-side:empty{ display:none; } }
@media (max-width:374px){ :root{ --sg-t-display:700 30px/1.06 var(--sg-f-display); } }
.sg-actbar{ position:fixed; z-index:calc(var(--sg-z-nav) + 1); left:0; right:0; bottom:0; display:flex; gap:var(--sg-s-2); padding:var(--sg-s-3) var(--sg-gutter) calc(var(--sg-s-3) + env(safe-area-inset-bottom));
  background:color-mix(in srgb, var(--sg-surface) 86%, transparent); -webkit-backdrop-filter:saturate(180%) blur(20px); backdrop-filter:saturate(180%) blur(20px); border-top:1px solid var(--sg-line); animation:sgBarIn var(--sg-dur-slow) var(--sg-ease) both; }
@keyframes sgBarIn{ from{ transform:translateY(100%); } }
.sg-act-go{ flex:1.3; min-width:0; }
.sg-act-inv{ flex:1; min-width:0; padding-inline:var(--sg-s-3); }
@media (max-width:359px){ .sg-act-inv{ display:none; } }
html:not(#_) body.sg-has-actbar nav.bottomnav.sg-nav{ transform:translateY(110%); }
html:not(#_) body.sg-has-actbar #screenRoot{ padding-bottom:calc(96px + env(safe-area-inset-bottom)); }
@media (min-width:1024px){ .sg-actbar{ display:none; } html:not(#_) body.sg-has-actbar nav.bottomnav.sg-nav{ transform:none; } html:not(#_) body.sg-has-actbar #screenRoot{ padding-bottom:var(--sg-s-10); } }
nav.bottomnav.sg-nav{ transition:transform var(--sg-dur-slow) var(--sg-ease); }
html:not(#_) .hero-event .hero-visual{ position:relative; overflow:hidden; isolation:isolate; aspect-ratio:1.91 / 1 !important; height:auto !important; max-height:none !important; width:100%; border-radius:var(--sg-r-md) !important; background-size:contain !important; background-repeat:no-repeat !important; background-position:center !important; box-shadow:none !important; }
html:not(#_) .hero-event .hero-visual.has-img::before{ content:""; position:absolute; inset:-30px; z-index:-1; background-image:inherit; background-size:cover; background-position:center; filter:blur(28px) saturate(1.3) brightness(.85); }
html:not(#_) .hero-event .htitle{ font:var(--sg-t-h1); letter-spacing:-.03em; margin:var(--sg-s-3) 0 var(--sg-s-2); text-wrap:balance; }
html:not(#_) .hero-event{ background:none !important; box-shadow:none !important; border:0 !important; padding:0 !important; }
html:not(#_) .hero-event .cwhen{ margin-top:var(--sg-s-4); font:var(--sg-t-caption); }
html:not(#_) .hero-event .cwhen-cat{ display:inline-flex; align-items:center; height:24px; padding-inline:var(--sg-s-2); border-radius:var(--sg-r-pill); background:var(--sg-surface-2); color:var(--sg-ink-2) !important; font:var(--sg-t-label); letter-spacing:.04em; text-transform:uppercase; }
html:not(#_) .infocard{ border-radius:var(--sg-r-md) !important; box-shadow:none !important; border:1px solid var(--sg-line) !important; background:var(--sg-surface) !important; }
html:not(#_) .inforow .infoicon{ background:var(--sg-surface-2) !important; color:var(--sg-ink-2) !important; border-radius:var(--sg-r-sm) !important; }
html:not(#_) .inforow .lbl{ font:var(--sg-t-caption); color:var(--sg-ink-3); }
html:not(#_) .inforow .val{ font:600 16px/1.35 var(--sg-f-ui); color:var(--sg-ink); }
html:not(#_) .gobtn{ background:var(--sg-surface) !important; color:var(--sg-ink) !important; border:1px solid var(--sg-line-strong) !important; border-radius:var(--sg-r-pill) !important; }
html:not(#_) .btn.primary, html:not(#_) .btn.cta:not(.buycta){ border-radius:var(--sg-r-pill) !important; background-color:var(--sg-brand) !important; }
html:not(#_) .btn{ border-radius:var(--sg-r-pill) !important; font-family:var(--sg-f-ui); }
@media (max-width:767px){ html:not(#_) body[data-screen="detail"] .hero-event .hero-visual{ border-radius:0 !important; width:auto; margin-inline:-20px; } }
html:not(#_) .lrlist{ gap:0; }
html:not(#_) .card.lrow{ display:grid !important; grid-template-columns:128px minmax(0,1fr) 44px; gap:var(--sg-s-4); align-items:center; padding:var(--sg-s-3) 0 !important; margin:0 !important; background:none !important; border:0 !important; border-bottom:1px solid var(--sg-line) !important; border-radius:0 !important; box-shadow:none !important; }
html:not(#_) .lr-poster{ width:128px !important; height:auto !important; aspect-ratio:1.91 / 1; border-radius:var(--sg-r-sm) !important; box-shadow:none !important; overflow:hidden; isolation:isolate; background-size:contain !important; background-repeat:no-repeat !important; background-position:center !important; }
html:not(#_) .lr-poster.has-img::before{ content:""; position:absolute; inset:-16px; z-index:-1; background-image:inherit; background-size:cover; background-position:center; filter:blur(16px) saturate(1.3) brightness(.85); }
html:not(#_) .lr-when{ font:var(--sg-t-caption) !important; color:var(--sg-ink-3) !important; }
html:not(#_) .lr-title{ font:var(--sg-t-h3) !important; letter-spacing:-.01em; color:var(--sg-ink) !important; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
html:not(#_) .lr-venue{ font:var(--sg-t-body-sm) !important; color:var(--sg-ink-2) !important; }
html:not(#_) .lr-meta b{ font:var(--sg-t-caption); font-weight:600; color:var(--sg-ink-2); }
html:not(#_) .lr-meta b.free{ color:var(--sg-ok-text); }
html:not(#_) .lr-save{ position:static !important; width:44px !important; height:44px !important; border-radius:50% !important; background:transparent !important; color:var(--sg-ink-3) !important; border:0 !important; box-shadow:none !important; display:grid; place-items:center; }
html:not(#_) .lr-save[data-saved="true"], html:not(#_) .savebtn[data-saved="true"]{ color:var(--sg-brand) !important; }
@media (min-width:1024px){ html:not(#_) .card.lrow{ grid-template-columns:192px minmax(0,1fr) 44px; gap:var(--sg-s-5); } html:not(#_) .lr-poster{ width:192px !important; } html:not(#_) .lrlist{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)) !important; column-gap:32px; } }
html:not(#_) header.top.dx h1, html:not(#_) .simplehead h1{ font:var(--sg-t-h1) !important; letter-spacing:-.03em; }
html:not(#_) header.top .search{ border-radius:var(--sg-r-sm) !important; border:1px solid var(--sg-line-strong) !important; background:var(--sg-surface) !important; min-height:52px; }
html:not(#_) .dx-places{ border-radius:var(--sg-r-pill) !important; border:1px solid var(--sg-line-strong) !important; background:var(--sg-surface) !important; font:var(--sg-t-body-sm) !important; font-weight:500 !important; }
html:not(#_) .chip, html:not(#_) .fchip{ border-radius:var(--sg-r-pill) !important; font-family:var(--sg-f-ui) !important; }
html:not(#_) .chip[data-active="true"], html:not(#_) .chip.on, html:not(#_) .chip[aria-pressed="true"]{ background:var(--sg-ink) !important; color:var(--sg-bg) !important; border-color:var(--sg-ink) !important; }
html:not(#_) .day-head h2, html:not(#_) .day-head h2.plain{ font:var(--sg-t-h2) !important; letter-spacing:-.02em; }
html:not(#_) .lr-poster.has-img::after, html:not(#_) .hero-event .hero-visual.has-img::after{ content:""; position:absolute; inset:0; z-index:0; background-image:inherit; background-size:contain; background-repeat:no-repeat; background-position:center; }
html:not(#_) .lr-poster > *, html:not(#_) .hero-event .hero-visual > *{ position:relative; z-index:1; }
html:not(#_) .segmented{ background:var(--sg-surface-2) !important; border-radius:var(--sg-r-pill) !important; }
html:not(#_) .segmented button{ border-radius:var(--sg-r-pill) !important; color:var(--sg-ink-3) !important; }
html:not(#_) .segmented button[data-active="true"]{ background:var(--sg-surface) !important; color:var(--sg-ink) !important; box-shadow:var(--sg-e-1) !important; }
html:not(#_) .chat-cta{ flex-direction:column; align-items:stretch; text-align:center; gap:var(--sg-s-3); background:var(--sg-surface-2, rgba(79,70,229,.06)); }
html:not(#_) .chat-cta .btn{ width:100%; min-height:44px; background:var(--sg-brand, #4F46E5); color:#fff !important; border-radius:var(--sg-r-pill, 999px); font-size:14px; }
:root[data-theme="dark"] .consent-yes{ background:var(--sg-brand); box-shadow:none; }
html:not(#_) .dx .dxcat{ --c:var(--sg-brand-text) !important; }
@media (min-width:900px){ html:not(#_) .dx #whenRow{ flex-wrap:wrap; } html:not(#_) .dx #whenRow > *{ flex:0 0 auto; padding-inline:18px; } }
html:not(#_) .dxmini:not(.show){ visibility:hidden; box-shadow:none; }
@media (min-width:1024px){ html:not(#_) .dxmini{ top:calc(var(--sg-bar) + 10px); left:50%; } }
html:not(#_) .dec.keen .dec-ic{ background:var(--sg-brand-soft); color:var(--sg-brand-text); }
html:not(#_) .dec.keen.on{ background:var(--sg-brand-soft); box-shadow:inset 0 0 0 1.5px var(--sg-brand); }
html:not(#_) .dec.keen.on strong{ color:var(--sg-brand-text); }
html:not(#_) .dec.keen.on .dec-ic{ background:var(--sg-brand); color:#fff; }
:root{ --sg-keen:var(--sg-brand-text); } :root[data-theme="dark"]{ --sg-keen:var(--sg-brand-text); }
@media (prefers-color-scheme: dark){ :root:not([data-theme="light"]){ --sg-keen:var(--sg-brand-text); } }
html:not(#_) .gcard-ic{ background:var(--sg-brand-soft); }
html:not(#_) .dact.keen svg{ color:var(--sg-brand-text); }
html:not(#_) .dact.keen.on{ background:var(--sg-brand-soft); color:var(--sg-brand-text); }
html:not(#_) .dact.keen.on svg{ fill:var(--sg-brand-text); color:var(--sg-brand-text); }
html:not(#_) .vlink{ display:inline-flex; align-items:center; min-height:24px; }
html:not(#_) .dvenue-day{ font-size:12px; }
html:not(#_){ --cat-theater:var(--sg-brand-text); --cat-nightlife:var(--sg-brand-text); --cat-culture:var(--sg-brand-text); --cat-comedy:var(--sg-brand-text);
  --cat-concerts:var(--sg-brand-text); --cat-festivals:var(--sg-brand-text); --cat-sport:var(--sg-brand-text); --cat-food:var(--sg-brand-text); }
html:not(#_){ --sg-grad:linear-gradient(135deg, #4F46E5 0%, #6D5DF6 100%); --sg-grad-deep:linear-gradient(135deg, #4338CA 0%, #4F46E5 55%, #6D5DF6 100%);
  --pf-t3:var(--sg-brand-soft); --pf-t3-ink:var(--sg-brand-text); --pf-near:var(--sg-brand); --pf-near-ink:var(--sg-brand-text);
  --pf-hero:linear-gradient(135deg, #4F46E5, #4338CA 60%, #3730A3); }
html:not(#_) .soc-setup, html:not(#_) .gcard{ background:var(--sg-grad) !important; box-shadow:var(--sg-e-2); }
html:not(#_) .emptyrow::after, html:not(#_) .foryou-low::after{ background:radial-gradient(circle, color-mix(in srgb, var(--sg-brand) 22%, transparent), transparent 70%); }
html:not(#_) .emptyrow-icon, html:not(#_) .foryou-low > span:first-child{ background:var(--sg-grad); box-shadow:none; }
html:not(#_) .storyring, html:not(#_) .storybubble.promo .storyring{ background:var(--sg-grad); }
html:not(#_) .rv-heart i{ color:var(--sg-brand-text); }
html:not(#_) .rv-heart.on{ border-color:var(--sg-brand); background:var(--sg-brand-soft); }
html:not(#_) .notif-ic.rv, html:not(#_) .tbu-ev i, html:not(#_) .tixcard-thumb.demo, html:not(#_) .tp-row i{ background:var(--sg-grad); }
html:not(#_) .reminder-thumb{ background-color:var(--sg-brand); }
html:not(#_) .tour.f-friends{ background:radial-gradient(120% 80% at 50% 0%, #6D5DF6 0%, #3730A3 45%, #0C0B12 100%); }
html:not(#_) .tf-msg.b{ color:var(--sg-brand); }
html:not(#_) .pe-card.pe-pink, html:not(#_) .pe-card.pe-teal{ --tone:var(--sg-brand); }
html:not(#_) .wk.mo .mo-cell[data-active="true"]{ background:var(--sg-brand) !important; }
html:not(#_) .been-tag.ticket{ background:var(--sg-brand-soft); color:var(--sg-brand-text); }
html:not(#_) .been-stat:nth-child(2){ background:var(--sg-grad); }
html:not(#_) .levelcard.lv4, html:not(#_) .levelcard.lv5{ background:var(--sg-grad-deep); }
html:not(#_) .buybar .btn.buycta{ background:var(--sg-brand) !important; color:#fff; }
html:not(#_) .demotix-stamp{ border-color:var(--sg-brand); color:var(--sg-brand); }
html:not(#_){ --grad-brand:var(--sg-grad); }
html:not(#_) .ibanner, html:not(#_) .nudge.appnudge, html:not(#_) .invitebar{ background:var(--sg-grad); }
html:not(#_) .badge.done .badge-ic::before, html:not(#_) .bdg-sheet .badge-ic.won::before{ background:conic-gradient(#4338CA, #6D5DF6, #A9A3FF, #6D5DF6, #4338CA); }
html:not(#_) .lv-segs i:nth-child(n+2)::before{ background:var(--sg-brand); }
html:not(#_) .mood-ic, html:not(#_) .pe-chip i, html:not(#_) .gn-ic{ --c:var(--sg-brand) !important; }
html:not(#_) .mcol, html:not(#_) .pe-int{ --c:var(--sg-brand-text) !important; }
html:not(#_) .ftile{ --c:var(--sg-brand-text) !important; }
html:not(#_) .simplehead .iconbtn.menubtn, html:not(#_) .simplehead .iconbtn.bellbtn{ width:44px; height:44px; border-radius:var(--sg-r-pill); background:transparent; box-shadow:none; color:var(--sg-ink-2); }
html:not(#_) .simplehead .iconbtn.menubtn:hover, html:not(#_) .simplehead .iconbtn.bellbtn:hover{ background:var(--sg-surface-2); color:var(--sg-ink); }
html:not(#_) .simplehead h1{ font:var(--sg-t-h1); letter-spacing:-.01em; }
@media (min-width:1024px){ html:not(#_) .simplehead .iconbtn.menubtn, html:not(#_) .simplehead .iconbtn.bellbtn, html:not(#_) .simplehead .homebell{ display:none; } }
@media (min-width:1024px) and (hover:hover){ html:not(#_) #screenRoot .planrow{ grid-template-columns:repeat(auto-fill, minmax(250px, 1fr)) !important; } }
html:not(#_) .card.plancard{ border-radius:var(--sg-r-md); box-shadow:var(--sg-e-1); border:0; background:var(--sg-surface); }
html:not(#_) .card.plancard .plan-poster{ border-radius:10px; }
html:not(#_) .plan-who{ color:var(--sg-brand-text); }
@media (min-width:1024px){
  html:not(#_) body[data-screen="venue"] .hero-event, html:not(#_) body[data-screen="artist"] .hero-event{ display:grid; grid-template-columns:minmax(0, 7fr) minmax(0, 5fr); column-gap:var(--sg-s-6); align-items:start; }
  html:not(#_) body[data-screen="venue"] .hero-event > *, html:not(#_) body[data-screen="artist"] .hero-event > *{ grid-column:2; }
  html:not(#_) body[data-screen="venue"] .hero-event > .hero-visual, html:not(#_) body[data-screen="artist"] .hero-event > .hero-visual{ grid-column:1; grid-row:1 / span 12; }
  html:not(#_) body[data-screen="venue"] .hero-event .htitle, html:not(#_) body[data-screen="artist"] .hero-event .htitle{ margin-top:0; }
}
html:not(#_) .card.card-poster{ position:relative; border-radius:var(--sg-r-md); overflow:hidden; box-shadow:var(--sg-e-1); border:0; padding:0; background:var(--sg-surface); transition:transform var(--sg-dur) var(--sg-ease), box-shadow var(--sg-dur) var(--sg-ease); }
@media (hover:hover){ html:not(#_) .card.card-poster:hover{ transform:translateY(-2px); box-shadow:var(--sg-e-2); } }
html:not(#_) .card.card-poster .card-head{ border-radius:0 !important; margin:0 !important; }
html:not(#_) .card.card-poster > .savebtn{ position:absolute; z-index:3; top:var(--sg-s-2); right:var(--sg-s-2); left:auto; bottom:auto; width:44px; height:44px; border-radius:50%; display:grid; place-items:center; margin:0;
  background:var(--sg-glass); color:var(--sg-ink); border:1px solid var(--sg-glass-line); box-shadow:none; -webkit-backdrop-filter:saturate(180%) blur(16px); backdrop-filter:saturate(180%) blur(16px); }
html:not(#_) .card.card-poster > .savebtn[data-saved="true"]{ background:var(--sg-surface); color:var(--sg-brand); }
html:not(#_) .card.card-poster .card-body{ padding:var(--sg-s-3) var(--sg-s-4) var(--sg-s-4); }
html:not(#_) .card.card-poster .cdate-row{ margin:0 0 var(--sg-s-2); align-items:center; gap:var(--sg-s-3); }
html:not(#_) .card.card-poster .cdate{ width:44px; padding:4px 0 5px; border-radius:var(--sg-r-sm); background:var(--sg-surface-2); box-shadow:none; }
html:not(#_) .card.card-poster .cdate::before{ display:none; }
html:not(#_) .card.card-poster .cdate b{ font-size:18px; }
html:not(#_) .card.card-poster .ccat{ color:var(--sg-brand-text); }
html:not(#_) .card.card-poster .title{ font:var(--sg-t-h3); letter-spacing:-.005em; }
html:not(#_) .timechip{ background:var(--sg-brand) !important; color:#fff !important; border-radius:var(--sg-r-sm); box-shadow:none; }
html:not(#_) .timechip.live{ background:var(--sg-live) !important; }
@media (min-width:1024px){ html:not(#_) body[data-screen="venue"] .hero-event > .imgcredit, html:not(#_) body[data-screen="artist"] .hero-event > .imgcredit{ grid-column:1; grid-row:13; } }
html:not(#_) .sv-pin{ background:var(--sg-brand) !important; color:#fff; box-shadow:0 0 0 4px var(--sg-surface); }
html:not(#_) .chathead h1{ font:var(--sg-t-h3) !important; letter-spacing:0; text-transform:none; }
html:not(#_) .tn-k i, html:not(#_) .tonight .tn-k i{ background:var(--sg-live); box-shadow:none; }
html:not(#_) .fbface span{ font-size:14px !important; letter-spacing:1px; white-space:nowrap; color:var(--sg-brand); line-height:1.2; }
html:not(#_) .fbface{ min-width:0; overflow:hidden; border-radius:var(--sg-r-md); }
html:not(#_) .sg-place-name{ color:inherit; text-decoration:none; }
html:not(#_) .sg-place-name::after{ content:""; position:absolute; inset:0; z-index:0; }
html:not(#_) .sg-place{ position:relative; }
html:not(#_) .sg-place-panel{ z-index:1; }
html:not(#_) .sg-place-actions{ position:relative; z-index:2; }
html:not(#_) .sqpanel:empty{ display:none; }
html:not(#_) .dx .simplehead .menubtn, html:not(#_) .simplehead .iconbtn.menubtn{ background:transparent !important; box-shadow:none !important; color:var(--sg-ink-2) !important; }
html:not(#_) .dx .simplehead .menubtn:hover{ background:var(--sg-surface-2) !important; color:var(--sg-ink) !important; }
html:not(#_) .btn:not(.primary){ border-color:var(--sg-line-strong); }
html:not(#_) .sheet-grip{ background:var(--sg-line-strong); }
html:not(#_) .msh2-x{ border-color:var(--sg-line-strong); }
html:not(#_) .livedot{ background:var(--sg-ok); }
html:not(#_) .soctabs .dot{ background:var(--sg-live); }
html:not(#_) .av.outing{ background-color:var(--sg-brand-hover); }
html:not(#_){ --pf-track:var(--sg-line); }
html:not(#_) .fs-ic, html:not(#_) .fs-xp{ background:var(--sg-ok-wash); color:var(--sg-ok-text); }
html:not(#_) .lr-meta b.free, html:not(#_) .rsvpchip.going i, html:not(#_) .tp-qrsheet em{ color:var(--sg-ok-text); }
html:not(#_) .rv-vote.on[data-vote="up"]{ border-color:var(--sg-ok); background:var(--sg-ok-wash); }
.sg-skip{ position:fixed; z-index:1000; left:var(--sg-s-3); top:-60px; padding:var(--sg-s-2) var(--sg-s-4); border-radius:var(--sg-r-pill); background:var(--sg-brand); color:#fff; font:600 14px/1.2 var(--sg-f-ui); text-decoration:none; transition:top var(--sg-dur) var(--sg-ease); }
.sg-skip:focus{ top:var(--sg-s-3); }
#screenRoot:focus{ outline:none; }
html:not(#_) .sg-nav-i:not([aria-current]) > span:last-child{ color:var(--sg-ink-2); }
html:not(#_) .btn.primary, html:not(#_) .btn.primary small, html:not(#_) #socSignin, html:not(#_) #socSignin small, html:not(#_) #outingBtn{ color:#fff !important; }
.sg-ask{ position:fixed; inset:0; z-index:1200; display:grid; place-items:end center; padding:var(--sg-s-4) var(--sg-s-4) calc(var(--sg-s-4) + env(safe-area-inset-bottom, 0px)); background:var(--sg-scrim, rgba(12,11,18,.45)); animation:sgAskIn var(--sg-dur) var(--sg-ease); }
.sg-ask.is-out{ opacity:0; transition:opacity .16s var(--sg-ease); }
.sg-ask-card{ width:min(100%, 400px); padding:var(--sg-s-5); border-radius:var(--sg-r-lg); background:var(--sg-surface); box-shadow:var(--sg-e-3); animation:sgAskUp .28s var(--sg-spring); }
.sg-ask-card p{ margin:0 0 var(--sg-s-5); font:600 17px/1.4 var(--sg-f-ui); color:var(--sg-ink); text-wrap:pretty; }
.sg-ask-btns{ display:grid; grid-template-columns:1fr 1fr; gap:var(--sg-s-3); }
.sg-ask-btns .sg-btn{ width:100%; }
.sg-btn--danger{ background:#C62F2F; color:#fff; }
.sg-btn--danger:hover{ background:#A92626; }
@media (min-width:768px){ .sg-ask{ place-items:center; } }
@keyframes sgAskIn{ from{ opacity:0; } }
@keyframes sgAskUp{ from{ transform:translateY(16px); opacity:0; } }
@media (prefers-reduced-motion:reduce){ .sg-ask, .sg-ask-card{ animation:none; } }
.sg-logo-mark{ flex:none; display:inline-block; width:28px; height:28px; border-radius:8px; background:var(--sg-brand) url(/icons/icon-192.png) center / cover no-repeat; }
.sg-nav-brand .sg-logo-mark{ width:30px; height:30px; }
@media (max-width:767px){ html:not(#_) .sg-ts-foot{ transition:opacity var(--sg-dur) var(--sg-ease), visibility 0s; } html:not(#_) .sg-ts-card:not(.is-cur) .sg-ts-foot{ opacity:0; visibility:hidden; transition:opacity var(--sg-dur) var(--sg-ease), visibility 0s linear var(--sg-dur); } }
html:not(#_) .tixcard{ background:linear-gradient(90deg, #4F46E5, #6D5DF6) top / 100% 6px no-repeat, #fff; }
html:not(#_) .gp-row{ --h:245 !important; }
html:not(#_) .gp-ic{ background:var(--sg-brand-soft) !important; color:var(--sg-brand-text) !important; }
html:not(#_) .ptile-ic{ background:var(--sg-brand-soft) !important; color:var(--sg-brand-text) !important; }
html:not(#_) .fg-av{ background:color-mix(in srgb, #fff 22%, transparent) !important; border-color:color-mix(in srgb, #fff 55%, transparent) !important; }
html:not(#_) .fg-av svg.ic{ color:#fff !important; }
