/* DO NOT EDIT — copied from packages/shared/src/design/css/store-displays.css
   by `npm run tokens`. Edit the source there, regenerate, commit both.
   A vitest in packages/shared fails if this file drifts from the source. */
/* ---------- STAGE + SHARED GRID TEMPLATES ---------- */
.sd-stage { --sd-scale: 1; width: 1600px; height: 900px; overflow: hidden; position: relative; font-size: calc(16px * var(--sd-scale)); box-sizing: border-box; }
.sd-stage *, .sd-stage *::before, .sd-stage *::after { box-sizing: border-box; }
.sd-grid { position: absolute; top: 0; right: 0; bottom: 0; left: 0; padding: 36px 44px 40px; display: grid; grid-gap: 22px; gap: 22px; }
.sd-ar { min-width: 0; min-height: 0; position: relative; display: flex; }
.sd-ar > .sd-blk { flex: 1; min-width: 0; min-height: 0; }
.sd-t-feature { grid-template-columns: 1.3fr .65fr .65fr; grid-template-rows: 96px minmax(0,1fr) 150px; grid-template-areas: "head head head" "a b b" "c d e"; }
.sd-t-spotlight { grid-template-columns: 1.55fr 1fr; grid-template-rows: 96px minmax(0,1fr) 150px; grid-template-areas: "head head" "a b" "c d"; }
.sd-t-three { grid-template-columns: 1fr 1.2fr 1fr; grid-template-rows: 96px minmax(0,1fr) 150px; grid-template-areas: "head head head" "a b c" "d d e"; }
.sd-t-hero { grid-template-columns: 1.3fr 1fr .8fr .8fr; grid-template-rows: 96px minmax(0,1.15fr) minmax(0,.85fr); grid-template-areas: "head head head head" "a a a a" "b c d e"; }
.sd-t-calendar { grid-template-columns: 1.45fr 1fr; grid-template-rows: 96px repeat(3, minmax(0,1fr)); grid-template-areas: "head head" "a b" "a c" "a d"; }
.sd-t-notices { grid-template-columns: 1fr 1.3fr .9fr; grid-template-rows: 96px repeat(2, minmax(0,1fr)); grid-template-areas: "head head head" "a b c" "d b e"; }
.sd-ar-head { grid-area: head; } .sd-ar-a { grid-area: a; } .sd-ar-b { grid-area: b; } .sd-ar-c { grid-area: c; } .sd-ar-d { grid-area: d; } .sd-ar-e { grid-area: e; }

/* ---------- BLOCK STRUCTURE (theme-neutral) ---------- */
.sd-blk { position: relative; display: flex; flex-direction: column; overflow: hidden; }
.sd-lbl { flex: none; }
.sd-body { flex: 1; min-height: 0; display: flex; flex-direction: column; overflow: hidden; }
.sd-row { display: grid; align-items: center; min-width: 0; }
.sd-ev { grid-template-columns: 150px minmax(0,1fr) auto; grid-gap: 18px; gap: 18px; flex: 1; max-height: 92px; }
.sd-ev .sd-when { display: flex; flex-direction: column; line-height: 1.15; }
.sd-stage:not(.sd-th-marquee) .sd-ev .sd-ttl, .sd-pr .sd-nm, .sd-st .sd-nm { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.sd-pr { grid-template-columns: 130px minmax(0,1fr) 46px minmax(0,1fr) 40px; grid-gap: 14px; gap: 14px; flex: 1; max-height: 84px; }
.sd-pr .sd-tb { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.sd-pr .sd-vs, .sd-pr .sd-rs { white-space: nowrap; overflow: hidden; }
.sd-th-marquee .sd-pr { grid-template-columns: 150px minmax(0,1fr) 46px minmax(0,1fr) 40px; overflow: hidden; }
.sd-th-marquee .sd-pr .sd-tb { letter-spacing: 0; }
.sd-st { grid-template-columns: 56px minmax(0,1fr) 110px 70px; grid-gap: 14px; gap: 14px; flex: 1; max-height: 74px; }
.sd-st .sd-rec, .sd-st .sd-pts { text-align: right; }
.sd-rel .sd-nm { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; line-height: 1.05; }
.sd-stage .sd-ev.sd-stk { grid-template-columns: minmax(0,1fr) auto; grid-template-areas: "ttl pz" "when when"; row-gap: 0; max-height: 112px; min-height: 0; align-content: center; }
.sd-th-marquee .sd-b-event_list .sd-body.sd-stkb { background-image: none; }
.sd-th-cork .sd-b-event_list .sd-body.sd-stkb { background-image: none; }
.sd-stage .sd-ev.sd-stk + .sd-ev.sd-stk { border-top: 0; }
.sd-ev.sd-stk .sd-ttl { grid-area: ttl; } .sd-ev.sd-stk .sd-pz { grid-area: pz; } .sd-ev.sd-stk .sd-when { grid-area: when; flex-direction: row; }
.sd-ev.sd-stk .sd-when > * + * { margin-left: 10px; }
.sd-t-three .sd-ar-a .sd-st, .sd-t-three .sd-ar-c .sd-st { grid-template-columns: 40px minmax(0,1fr) 72px 44px; grid-gap: 10px; gap: 10px; }
.sd-an-t { display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden; }
.sd-hrs { grid-template-columns: minmax(0,1fr) auto; grid-gap: 14px; gap: 14px; }
.sd-ad { flex: 1; min-height: 0; position: relative; overflow: hidden; }
.sd-slide { position: absolute; top: 0; right: 0; bottom: 0; left: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; padding: 24px; opacity: 0; transition: opacity .6s; }
.sd-slide.sd-on { opacity: 1; }
.sd-dots { position: absolute; bottom: 14px; left: 0; right: 0; display: flex; justify-content: center; z-index: 2; }
.sd-dots i + i { margin-left: 8px; }
.sd-slide > * + * { margin-top: 14px; }
.sd-dots i { width: 10px; height: 10px; border-radius: 50%; display: block; }
.sd-cal { display: grid; grid-template-columns: repeat(7, minmax(0,1fr)); grid-gap: 10px; gap: 10px; flex: 1; min-height: 0; }
.sd-cal .sd-day { display: flex; flex-direction: column; min-width: 0; overflow: hidden; }
.sd-cal .sd-day > * + * { margin-top: 6px; }
.sd-wk { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); grid-template-rows: repeat(2, minmax(0,1fr)); grid-gap: 10px; gap: 10px; flex: 1; min-height: 0; }
.sd-wk .sd-tile { min-width: 0; overflow: hidden; display: flex; flex-direction: column; justify-content: center; }
.sd-wk .sd-tile .sd-ttl { overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.sd-head { display: flex; align-items: center; width: 100%; min-width: 0; }
.sd-head .sd-nm { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
.sd-head .sd-badge { margin-right: 20px; }
.sd-hd-txt { margin-right: 20px; display: flex; flex-direction: column; min-width: 0; }
.sd-head .sd-tag { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sd-head .sd-open { margin-left: auto; white-space: nowrap; }
.sd-tstat > * + * { margin-left: 16px; }
.sd-tstat { display: flex; align-items: baseline; margin-bottom: 10px; flex: none; }
.sd-tstat .sd-tm { margin-left: auto; }

/* =================== SKIN: NEON ARCADE =================== */
.sd-th-neon { background-color: #070B16; background-image: radial-gradient(ellipse 45% 50% at 0% 0%, rgba(10,227,241,.15), transparent 60%), radial-gradient(ellipse 45% 50% at 100% 100%, rgba(255,0,166,.13), transparent 60%), linear-gradient(rgba(10,227,241,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(10,227,241,.05) 1px, transparent 1px); background-size: auto, auto, 48px 48px, 48px 48px; color: #F2F6FA; font-family: 'Inter', sans-serif; }
.sd-th-neon .sd-head .sd-badge { width: 68px; height: 68px; border-radius: 16px; background: linear-gradient(135deg,#FFC000,#FF00A6); display: flex; align-items: center; justify-content: center; font-family: 'Montserrat',sans-serif; font-weight: 900; font-size: calc(26px * var(--sd-scale)); color: #0A0F1E; box-shadow: 0 0 36px rgba(255,0,166,.35); }
.sd-th-neon .sd-head .sd-nm { font-family: 'Montserrat',sans-serif; font-weight: 900; font-size: calc(46px * var(--sd-scale)); letter-spacing: .03em; text-transform: uppercase; text-shadow: 0 0 26px rgba(10,227,241,.35); }
.sd-th-neon .sd-head .sd-tag { font-family: 'JetBrains Mono',monospace; font-size: calc(16px * var(--sd-scale)); color: #9FB0C8; }
.sd-th-neon .sd-head .sd-open { font-family: 'JetBrains Mono',monospace; font-size: calc(20px * var(--sd-scale)); color: #35E39A; border: 2px solid #35E39A; border-radius: 999px; padding: 8px 18px; box-shadow: 0 0 18px rgba(53,227,154,.3); }
.sd-th-neon .sd-blk { background: rgba(18,26,44,.86); border: 1px solid #24314B; border-radius: 18px; padding: 22px 26px; }
.sd-th-neon .sd-lbl { font-family: 'Montserrat',sans-serif; font-weight: 900; font-size: calc(18px * var(--sd-scale)); letter-spacing: .18em; color: #0AE3F1; margin-bottom: 12px; text-transform: uppercase; }
.sd-th-neon .sd-ev { border-bottom: 1px solid #24314B; } .sd-th-neon .sd-ev:last-child { border: 0; }
.sd-th-neon .sd-ev .sd-d { font-family: 'JetBrains Mono',monospace; font-weight: 700; font-size: calc(20px * var(--sd-scale)); color: #0AE3F1; }
.sd-th-neon .sd-ev .sd-t { font-family: 'JetBrains Mono',monospace; font-size: calc(15px * var(--sd-scale)); color: #9FB0C8; }
.sd-th-neon .sd-ev .sd-ttl { font-weight: 700; font-size: calc(28px * var(--sd-scale)); }
.sd-th-neon .sd-ev .sd-pz { font-family: 'JetBrains Mono',monospace; font-size: calc(18px * var(--sd-scale)); padding: 4px 12px; border-radius: 999px; border: 2px solid #3a4a66; color: #9FB0C8; }
.sd-th-neon .sd-ev .sd-pz.sd-paid { border-color: #FFC000; color: #FFC000; }
.sd-th-neon .sd-ev.sd-live .sd-ttl { color: #FF00A6; text-shadow: 0 0 16px rgba(255,0,166,.4); }
.sd-th-neon .sd-b-ad_playlist { border: 2px solid rgba(255,192,0,.55); box-shadow: 0 0 50px rgba(255,192,0,.12); padding: 0; background: linear-gradient(135deg,#2c1f05,#0d0a03); }
.sd-th-neon .sd-slide .sd-k { font-family: 'JetBrains Mono',monospace; font-size: calc(18px * var(--sd-scale)); letter-spacing: .14em; color: #0AE3F1; }
.sd-th-neon .sd-slide .sd-h { font-family: 'Montserrat',sans-serif; font-weight: 900; font-size: calc(54px * var(--sd-scale)); line-height: 1.05; color: #FFC000; text-shadow: 0 0 30px rgba(255,192,0,.35); }
.sd-th-neon .sd-slide .sd-s { font-size: calc(22px * var(--sd-scale)); color: #E8D9A8; }
.sd-th-neon .sd-dots i { background: rgba(255,192,0,.3); } .sd-th-neon .sd-dots i.sd-on { background: #FFC000; }
.sd-th-neon .sd-an-t { font-size: calc(28px * var(--sd-scale)); font-weight: 700; -webkit-line-clamp: 2; }
.sd-th-neon .sd-b-announcement_feed { background: linear-gradient(90deg, rgba(255,0,166,.16), rgba(18,26,44,.86)); border-color: rgba(255,0,166,.45); }
.sd-th-neon .sd-b-announcement_feed .sd-lbl { color: #FF00A6; }
.sd-th-neon .sd-rel .sd-nm { font-weight: 800; font-size: calc(26px * var(--sd-scale)); } .sd-th-neon .sd-rel .sd-dt { font-family: 'JetBrains Mono',monospace; color: #9FB0C8; font-size: calc(18px * var(--sd-scale)); }
.sd-th-neon .sd-b-new_releases .sd-lbl { color: #FFC000; } .sd-th-neon .sd-b-store_hours .sd-lbl { color: #35E39A; }
.sd-th-neon .sd-hrs { font-family: 'JetBrains Mono',monospace; font-size: calc(20px * var(--sd-scale)); padding: 3px 0; } .sd-th-neon .sd-today { font-family: 'JetBrains Mono',monospace; font-size: calc(22px * var(--sd-scale)); }
.sd-th-neon .sd-pr { background: rgba(10,15,30,.6); border: 1px solid #24314B; border-radius: 12px; padding: 0 18px; margin-bottom: 10px; font-size: calc(28px * var(--sd-scale)); font-weight: 700; }
.sd-th-neon .sd-pr .sd-tb { font-family: 'JetBrains Mono',monospace; font-size: calc(17px * var(--sd-scale)); color: #0AE3F1; } .sd-th-neon .sd-pr .sd-vs { color: #6f7d94; font-size: calc(18px * var(--sd-scale)); text-align: center; }
.sd-th-neon .sd-st { border-radius: 12px; padding: 0 18px; margin-bottom: 8px; background: rgba(10,15,30,.6); border: 1px solid #24314B; font-size: calc(27px * var(--sd-scale)); font-weight: 700; }
.sd-th-neon .sd-st .sd-rk { font-family: 'JetBrains Mono',monospace; color: #9FB0C8; } .sd-th-neon .sd-st .sd-rec { font-family: 'JetBrains Mono',monospace; font-size: calc(22px * var(--sd-scale)); color: #C9D5E6; } .sd-th-neon .sd-st .sd-pts { font-family: 'JetBrains Mono',monospace; color: #0AE3F1; }
.sd-th-neon .sd-st.sd-first { background: linear-gradient(90deg, rgba(255,192,0,.2), rgba(10,15,30,.6)); border-color: rgba(255,192,0,.6); box-shadow: inset 5px 0 0 #FFC000; }
.sd-th-neon .sd-st.sd-first .sd-pts { color: #FFC000; }
.sd-th-neon .sd-tstat { font-family: 'JetBrains Mono',monospace; font-size: calc(18px * var(--sd-scale)); color: #9FB0C8; } .sd-th-neon .sd-tstat b { color: #F2F6FA; font-family: 'Montserrat',sans-serif; font-size: calc(22px * var(--sd-scale)); } .sd-th-neon .sd-tstat .sd-tm { color: #FFC000; font-size: calc(26px * var(--sd-scale)); font-weight: 700; }
.sd-th-neon .sd-b-pairings, .sd-th-neon .sd-b-standings { border-color: rgba(255,0,166,.45); box-shadow: 0 0 40px rgba(255,0,166,.08); }

/* =================== SKIN: GALLERY =================== */
.sd-th-gallery { background: radial-gradient(ellipse 60% 45% at 50% 0%, rgba(201,165,92,.12), transparent 70%), #131210; color: #EFE8DA; font-family: 'Cormorant Garamond', serif; }
.sd-th-gallery .sd-head { flex-direction: column; align-items: center; justify-content: center; position: relative; }
.sd-th-gallery .sd-hd-txt { margin-right: 0; align-items: center; }
.sd-th-gallery .sd-head .sd-badge { display: none; }
.sd-th-gallery .sd-head .sd-nm { font-weight: 600; font-size: calc(64px * var(--sd-scale)); line-height: 1; }
.sd-th-gallery .sd-head .sd-tag { font-family: 'Jost',sans-serif; font-size: calc(15px * var(--sd-scale)); letter-spacing: .34em; text-transform: uppercase; color: #B9AE98; }
.sd-th-gallery .sd-head .sd-open { position: absolute; right: 0; top: 50%; transform: translateY(-50%); font-family: 'Jost',sans-serif; font-size: calc(16px * var(--sd-scale)); letter-spacing: .26em; text-transform: uppercase; color: #8FBF8A; }
.sd-th-gallery .sd-head::before, .sd-th-gallery .sd-head::after { content: ""; position: absolute; top: 50%; height: 1px; width: 22%; background: linear-gradient(90deg, transparent, #C9A55C); }
.sd-th-gallery .sd-head::before { left: 0; } .sd-th-gallery .sd-head::after { right: 12%; background: linear-gradient(90deg, #C9A55C, transparent); }
.sd-th-gallery .sd-blk { padding: 6px 4px 4px; border-top: 1px solid rgba(201,165,92,.55); }
.sd-th-gallery .sd-lbl { font-family: 'Jost',sans-serif; font-weight: 500; font-size: calc(16px * var(--sd-scale)); letter-spacing: .34em; text-transform: uppercase; color: #C9A55C; margin: 10px 0 12px; }
.sd-th-gallery .sd-ev { grid-template-columns: minmax(0,1fr) auto; grid-gap: 10px; gap: 10px; }
.sd-th-gallery .sd-ev .sd-when { order: 2; flex-direction: row; align-items: baseline; font-family: 'Jost',sans-serif; font-size: calc(18px * var(--sd-scale)); letter-spacing: .08em; color: #B9AE98; text-transform: uppercase; }
.sd-th-gallery .sd-ev .sd-ttl { font-size: calc(34px * var(--sd-scale)); font-weight: 600; display: flex; align-items: baseline; }
.sd-th-gallery .sd-ev .sd-when > * + * { margin-left: 10px; }
.sd-th-gallery .sd-ev .sd-ttl::after { margin-left: 14px; }
.sd-th-gallery .sd-ev .sd-ttl::after { content: ""; flex: 1; border-bottom: 2px dotted rgba(201,165,92,.45); transform: translateY(-8px); min-width: 30px; }
.sd-th-gallery .sd-ev .sd-pz { display: none; }
.sd-th-gallery .sd-ev .sd-t { display: none; }
.sd-th-gallery .sd-ev.sd-live .sd-ttl { color: #E7CF96; }
.sd-th-gallery .sd-b-ad_playlist { border: 0; padding: 18px; background: #EFE8DA; box-shadow: 0 26px 50px rgba(0,0,0,.55); }
.sd-th-gallery .sd-b-ad_playlist .sd-ad { border: 1px solid #C9A55C; background: linear-gradient(135deg,#2a2418,#151310); }
.sd-th-gallery .sd-slide .sd-k { font-family: 'Jost',sans-serif; font-size: calc(15px * var(--sd-scale)); letter-spacing: .34em; text-transform: uppercase; color: #C9A55C; }
.sd-th-gallery .sd-slide .sd-h { font-style: italic; font-weight: 600; font-size: calc(56px * var(--sd-scale)); line-height: 1.05; color: #E7CF96; }
.sd-th-gallery .sd-slide .sd-s { font-family: 'Jost',sans-serif; font-size: calc(18px * var(--sd-scale)); letter-spacing: .14em; text-transform: uppercase; color: #B9AE98; }
.sd-th-gallery .sd-dots i { background: rgba(201,165,92,.3); width: 8px; height: 8px; } .sd-th-gallery .sd-dots i.sd-on { background: #C9A55C; }
.sd-th-gallery .sd-an-t { font-style: italic; font-size: calc(32px * var(--sd-scale)); color: #E7CF96; -webkit-line-clamp: 3; line-height: 1.25; }
.sd-th-gallery .sd-an-t::before { content: "\201C"; } .sd-th-gallery .sd-an-t::after { content: "\201D"; }
.sd-th-gallery .sd-ann + .sd-ann .sd-an-t { margin-top: 12px; }
.sd-th-gallery .sd-rel .sd-nm { font-weight: 600; font-size: calc(32px * var(--sd-scale)); } .sd-th-gallery .sd-rel .sd-dt { font-family: 'Jost',sans-serif; font-size: calc(17px * var(--sd-scale)); letter-spacing: .14em; text-transform: uppercase; color: #B9AE98; }
.sd-th-gallery .sd-hrs { font-size: calc(26px * var(--sd-scale)); padding: 2px 0; } .sd-th-gallery .sd-hrs .sd-tm { font-family: 'Jost',sans-serif; font-size: calc(18px * var(--sd-scale)); letter-spacing: .08em; color: #B9AE98; }
.sd-th-gallery .sd-today { font-size: calc(28px * var(--sd-scale)); }
.sd-th-gallery .sd-st { font-size: calc(32px * var(--sd-scale)); border-bottom: 1px solid rgba(201,165,92,.25); } .sd-th-gallery .sd-st .sd-rk { font-family: 'Jost',sans-serif; font-size: calc(18px * var(--sd-scale)); color: #C9A55C; letter-spacing: .1em; } .sd-th-gallery .sd-st .sd-rec { font-family: 'Jost',sans-serif; font-size: calc(18px * var(--sd-scale)); color: #B9AE98; } .sd-th-gallery .sd-st .sd-pts { font-weight: 700; } .sd-th-gallery .sd-st.sd-first { color: #E7CF96; }
.sd-th-gallery .sd-pr { font-size: calc(30px * var(--sd-scale)); border-bottom: 1px solid rgba(201,165,92,.25); } .sd-th-gallery .sd-pr .sd-tb { font-family: 'Jost',sans-serif; font-size: calc(16px * var(--sd-scale)); letter-spacing: .2em; color: #C9A55C; text-transform: uppercase; } .sd-th-gallery .sd-pr .sd-vs { font-style: italic; color: #B9AE98; text-align: center; font-size: calc(22px * var(--sd-scale)); }
.sd-th-gallery .sd-tstat { font-family: 'Jost',sans-serif; font-size: calc(16px * var(--sd-scale)); letter-spacing: .14em; text-transform: uppercase; color: #B9AE98; }

/* =================== SKIN: MARQUEE =================== */
.sd-th-marquee { background: radial-gradient(ellipse 70% 60% at 50% 30%, #4a0d14, #1a0608 75%); color: #FFE9A8; font-family: 'Oswald', sans-serif; }
.sd-th-marquee .sd-ar-head { padding: 12px; border-radius: 16px; background-color: #5c0f18; background-image: radial-gradient(circle, #FFE9A8 0 4px, rgba(255,200,80,.35) 5px, transparent 8px); background-size: 24px 24px; box-shadow: 0 0 40px rgba(255,190,80,.25); }
.sd-th-marquee .sd-head { background: linear-gradient(180deg,#2a0508,#140203); border: 2px solid #c79a3a; border-radius: 10px; padding: 0 26px; }
.sd-th-marquee .sd-head .sd-badge { display: none; }
.sd-th-marquee .sd-head .sd-nm { font-family: 'Bebas Neue',sans-serif; font-size: calc(62px * var(--sd-scale)); letter-spacing: .06em; color: #FFD878; text-shadow: 0 0 22px rgba(255,200,90,.6); }
.sd-th-marquee .sd-head .sd-tag { display: none; font-size: calc(18px * var(--sd-scale)); letter-spacing: .14em; color: #e8c88a; text-transform: uppercase; }
.sd-th-marquee .sd-head .sd-open { font-family: 'Bebas Neue',sans-serif; font-size: calc(32px * var(--sd-scale)); letter-spacing: .08em; color: #FFE9A8; }
.sd-th-marquee .sd-lbl { font-family: 'Bebas Neue',sans-serif; font-size: calc(30px * var(--sd-scale)); letter-spacing: .14em; color: #FFD878; margin-bottom: 8px; }
.sd-th-marquee .sd-b-event_list, .sd-th-marquee .sd-b-standings, .sd-th-marquee .sd-b-pairings, .sd-th-marquee .sd-b-bracket { background: transparent; }
.sd-th-marquee .sd-b-event_list .sd-body, .sd-th-marquee .sd-b-standings .sd-body, .sd-th-marquee .sd-b-pairings .sd-body, .sd-th-marquee .sd-b-bracket .sd-body { background: #F4F1E8; border-radius: 6px; box-shadow: inset 0 0 0 5px #d9d3c2, 0 18px 40px rgba(0,0,0,.6); padding: 12px 26px; background-image: repeating-linear-gradient(#F4F1E8 0 66px, #e2dccb 66px 68px); }
.sd-th-marquee .sd-ev, .sd-th-marquee .sd-st, .sd-th-marquee .sd-pr { font-family: 'Bebas Neue',sans-serif; color: #141414; max-height: 68px; }
.sd-th-marquee .sd-ev { grid-template-columns: minmax(0,1fr) auto; grid-gap: 18px; gap: 18px; }
.sd-th-marquee .sd-ev .sd-when > * + *, .sd-th-cork .sd-ev .sd-when > * + *, .sd-th-tavern .sd-ev .sd-when > * + * { margin-left: 8px; }
.sd-th-marquee .sd-ev .sd-when { order: 2; flex-direction: row; font-size: calc(38px * var(--sd-scale)); letter-spacing: .04em; }
.sd-th-marquee .sd-ev .sd-t { color: #555; }
.sd-th-marquee .sd-ev { flex: none; min-height: 68px; max-height: none; }
.sd-th-marquee .sd-ev .sd-ttl { font-size: calc(44px * var(--sd-scale)); letter-spacing: .04em; text-transform: uppercase; line-height: 1; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; white-space: normal; min-width: 0; }
.sd-th-marquee .sd-ev .sd-pz { display: none; }
.sd-th-marquee .sd-ev.sd-live .sd-ttl, .sd-th-marquee .sd-ev.sd-live .sd-d { color: #B3121E; }
.sd-th-marquee .sd-st { font-size: calc(42px * var(--sd-scale)); } .sd-th-marquee .sd-st.sd-first { color: #B3121E; }
.sd-th-marquee .sd-pr { font-size: calc(38px * var(--sd-scale)); text-transform: uppercase; } .sd-th-marquee .sd-pr .sd-tb { color: #B3121E; font-size: calc(30px * var(--sd-scale)); } .sd-th-marquee .sd-pr .sd-vs { text-align: center; color: #777; font-size: calc(28px * var(--sd-scale)); }
.sd-th-marquee .sd-b-ad_playlist { padding: 0; border: 12px solid #c79a3a; outline: 2px solid #6b4a12; background: linear-gradient(135deg,#3a1a05,#120603); box-shadow: 0 0 60px rgba(255,190,80,.2); }
.sd-th-marquee .sd-slide .sd-k { font-size: calc(20px * var(--sd-scale)); letter-spacing: .3em; color: #e8c88a; text-transform: uppercase; }
.sd-th-marquee .sd-slide .sd-h { font-family: 'Bebas Neue',sans-serif; font-size: calc(72px * var(--sd-scale)); line-height: .95; color: #FFD878; letter-spacing: .03em; text-shadow: 0 0 24px rgba(255,200,90,.45); }
.sd-th-marquee .sd-slide .sd-s { font-size: calc(22px * var(--sd-scale)); letter-spacing: .12em; color: #FFE9A8; text-transform: uppercase; }
.sd-th-marquee .sd-dots i { background: rgba(255,233,168,.3); } .sd-th-marquee .sd-dots i.sd-on { background: #FFE9A8; box-shadow: 0 0 8px #FFE9A8; }
.sd-th-marquee .sd-b-announcement_feed { background: #B3121E; border-top: 4px solid #c79a3a; border-bottom: 4px solid #c79a3a; padding: 0 26px; justify-content: center; }
.sd-th-marquee .sd-b-announcement_feed .sd-lbl { color: #FFE9A8; font-size: calc(22px * var(--sd-scale)); margin: 0 0 2px; }
.sd-th-marquee .sd-b-announcement_feed .sd-an-t { font-family: 'Bebas Neue',sans-serif; font-size: calc(40px * var(--sd-scale)); letter-spacing: .05em; color: #FFE9A8; -webkit-line-clamp: 2; line-height: 1.05; }
.sd-th-marquee .sd-b-announcement_feed .sd-an-t::before { content: "\2605  "; }
.sd-th-marquee .sd-b-new_releases, .sd-th-marquee .sd-b-store_hours { background: rgba(20,2,3,.7); border: 2px solid #c79a3a; border-radius: 10px; padding: 14px 22px; }
.sd-th-marquee .sd-b-new_releases .sd-lbl, .sd-th-marquee .sd-b-store_hours .sd-lbl { font-size: calc(24px * var(--sd-scale)); }
.sd-th-marquee .sd-rel .sd-nm { font-family: 'Bebas Neue',sans-serif; font-size: calc(40px * var(--sd-scale)); letter-spacing: .04em; } .sd-th-marquee .sd-rel .sd-dt { font-size: calc(20px * var(--sd-scale)); color: #e8c88a; letter-spacing: .1em; }
.sd-th-marquee .sd-hrs { font-size: calc(22px * var(--sd-scale)); letter-spacing: .06em; } .sd-th-marquee .sd-today { font-family: 'Bebas Neue',sans-serif; font-size: calc(34px * var(--sd-scale)); letter-spacing: .05em; }
.sd-th-marquee .sd-tstat { font-family: 'Bebas Neue',sans-serif; font-size: calc(26px * var(--sd-scale)); letter-spacing: .1em; color: #FFD878; } .sd-th-marquee .sd-tstat .sd-tm { color: #FFE9A8; }

/* =================== SKIN: CLEAN LIGHT =================== */
.sd-th-light { background: #F4F2ED; color: #16181D; font-family: 'Archivo', sans-serif; }
.sd-th-light .sd-head .sd-badge { width: 62px; height: 62px; border-radius: 16px; background: #16181D; color: #F4F2ED; display: flex; align-items: center; justify-content: center; font-weight: 900; font-size: calc(22px * var(--sd-scale)); }
.sd-th-light .sd-head .sd-nm { font-size: calc(46px * var(--sd-scale)); font-weight: 900; letter-spacing: -.01em; }
.sd-th-light .sd-head .sd-tag { font-size: calc(17px * var(--sd-scale)); font-weight: 600; color: #6B6F78; }
.sd-th-light .sd-head .sd-open { font-size: calc(22px * var(--sd-scale)); font-weight: 800; color: #0F6B4C; background: #E3F3EC; border-radius: 999px; padding: 10px 22px; }
.sd-th-light .sd-blk { background: #FFFFFF; border-radius: 22px; padding: 22px 26px; box-shadow: 0 1px 0 #E3DFD6, 0 12px 28px rgba(22,24,29,.07); }
.sd-th-light .sd-lbl { font-size: calc(16px * var(--sd-scale)); font-weight: 800; letter-spacing: .16em; text-transform: uppercase; color: #6B6F78; margin-bottom: 12px; }
.sd-th-light .sd-ev { grid-template-columns: 96px minmax(0,1fr) auto; border-bottom: 1px solid #ECE8E0; } .sd-th-light .sd-ev:last-child { border: 0; }
.sd-th-light .sd-ev .sd-d { font-size: calc(36px * var(--sd-scale)); font-weight: 900; line-height: 1; } .sd-th-light .sd-ev .sd-dw { font-size: calc(14px * var(--sd-scale)); font-weight: 800; letter-spacing: .14em; color: #6B6F78; } .sd-th-light .sd-ev .sd-t { display: none; }
.sd-th-light .sd-ev .sd-ttl { font-size: calc(30px * var(--sd-scale)); font-weight: 800; }
.sd-th-light .sd-ev .sd-pz { font-size: calc(18px * var(--sd-scale)); font-weight: 800; border-radius: 999px; padding: 8px 14px; background: #E3F3EC; color: #0F6B4C; }
.sd-th-light .sd-ev .sd-pz.sd-paid { background: #FFF3D6; color: #8A5A00; }
.sd-th-light .sd-ev.sd-live { } .sd-th-light .sd-ev.sd-live .sd-ttl { color: #A3134A; }
.sd-th-light .sd-b-ad_playlist { padding: 0; background: linear-gradient(135deg,#FCE2C9,#F7C6D9 55%,#D9E3FB); }
.sd-th-light .sd-slide .sd-k { font-size: calc(16px * var(--sd-scale)); font-weight: 800; letter-spacing: .18em; text-transform: uppercase; color: #7A2E44; }
.sd-th-light .sd-slide .sd-h { font-size: calc(56px * var(--sd-scale)); font-weight: 900; line-height: 1.02; color: #3B1422; letter-spacing: -.01em; }
.sd-th-light .sd-slide .sd-s { font-size: calc(22px * var(--sd-scale)); font-weight: 700; color: #7A2E44; }
.sd-th-light .sd-dots i { background: rgba(122,46,68,.25); } .sd-th-light .sd-dots i.sd-on { background: #7A2E44; }
.sd-th-light .sd-b-announcement_feed { background: #16181D; color: #F4F2ED; } .sd-th-light .sd-b-announcement_feed .sd-lbl { color: #F2B84B; }
.sd-th-light .sd-an-t { font-size: calc(30px * var(--sd-scale)); font-weight: 800; line-height: 1.15; -webkit-line-clamp: 3; } .sd-th-light .sd-ann + .sd-ann .sd-an-t { margin-top: 10px; font-size: calc(22px * var(--sd-scale)); font-weight: 600; color: #C9CDD6; }
.sd-th-light .sd-rel .sd-nm { font-size: calc(30px * var(--sd-scale)); font-weight: 900; } .sd-th-light .sd-rel .sd-dt { font-size: calc(20px * var(--sd-scale)); font-weight: 700; color: #6B6F78; }
.sd-th-light .sd-hrs { font-size: calc(22px * var(--sd-scale)); padding: 4px 0; } .sd-th-light .sd-hrs .sd-tm { font-weight: 800; } .sd-th-light .sd-today { font-size: calc(24px * var(--sd-scale)); font-weight: 800; }
.sd-th-light .sd-cal .sd-day { background: #F7F5F0; border-radius: 16px; padding: 12px 6px; }
.sd-th-light .sd-cal { grid-gap: 6px; gap: 6px; }
.sd-th-light .sd-cal .sd-tdy { font-size: calc(22px * var(--sd-scale)); font-weight: 800; letter-spacing: .06em; color: #16181D; }
.sd-th-light .sd-cal .sd-day.sd-today { box-shadow: inset 0 0 0 3px #16181D; background: #FFFFFF; }
.sd-th-light .sd-cal .sd-dn { font-size: calc(22px * var(--sd-scale)); font-weight: 800; letter-spacing: .12em; color: #6B6F78; } .sd-th-light .sd-cal .sd-dd { font-size: calc(44px * var(--sd-scale)); font-weight: 900; line-height: 1; }
.sd-th-light .sd-cal .sd-e { font-size: calc(22px * var(--sd-scale)); font-weight: 800; line-height: 1.12; border-radius: 10px; padding: 6px 8px; word-break: break-word; overflow-wrap: break-word; }
.sd-th-light .sd-cal .sd-e.sd-c0 { background: #FFE7EF; color: #A3134A; } .sd-th-light .sd-cal .sd-e.sd-c1 { background: #E6F1FB; color: #135C9E; } .sd-th-light .sd-cal .sd-e.sd-c2 { background: #FFF3D6; color: #8A5A00; } .sd-th-light .sd-cal .sd-e.sd-c3 { background: #E3F3EC; color: #0F6B4C; }
.sd-th-light .sd-cal .sd-none { font-size: calc(22px * var(--sd-scale)); color: #9A9EA6; }
.sd-th-light .sd-wk .sd-tile { border-radius: 14px; padding: 10px 14px; }
.sd-th-light .sd-wk .sd-tile.sd-c0 { background: #FFE7EF; color: #A3134A; } .sd-th-light .sd-wk .sd-tile.sd-c1 { background: #E6F1FB; color: #135C9E; } .sd-th-light .sd-wk .sd-tile.sd-c2 { background: #FFF3D6; color: #8A5A00; } .sd-th-light .sd-wk .sd-tile.sd-c3 { background: #E3F3EC; color: #0F6B4C; }
.sd-th-light .sd-wk .sd-dn { font-size: calc(18px * var(--sd-scale)); font-weight: 800; letter-spacing: .12em; } .sd-th-light .sd-wk .sd-ttl { font-size: calc(22px * var(--sd-scale)); font-weight: 800; line-height: 1.15; }
.sd-th-light .sd-st { font-size: calc(28px * var(--sd-scale)); font-weight: 700; border-bottom: 1px solid #ECE8E0; } .sd-th-light .sd-st .sd-rk { color: #9A9EA6; font-weight: 900; } .sd-th-light .sd-st .sd-rec { color: #6B6F78; font-size: calc(22px * var(--sd-scale)); } .sd-th-light .sd-st .sd-pts { font-weight: 900; }
.sd-th-light .sd-st.sd-first { background: #16181D; color: #F4F2ED; border-radius: 12px; padding: 0 12px; } .sd-th-light .sd-st.sd-first .sd-pts { color: #F2B84B; }
.sd-th-light .sd-pr { font-size: calc(28px * var(--sd-scale)); font-weight: 700; border-bottom: 1px solid #ECE8E0; } .sd-th-light .sd-pr .sd-tb { font-size: calc(15px * var(--sd-scale)); font-weight: 800; letter-spacing: .14em; color: #6B6F78; } .sd-th-light .sd-pr .sd-vs { text-align: center; color: #9A9EA6; font-size: calc(18px * var(--sd-scale)); }
.sd-th-light .sd-tstat { font-size: calc(18px * var(--sd-scale)); font-weight: 700; color: #6B6F78; } .sd-th-light .sd-tstat .sd-tm { color: #16181D; font-weight: 900; font-size: calc(24px * var(--sd-scale)); }

/* =================== SKIN: CORKBOARD =================== */
.sd-th-cork { background-color: #9A6A3C; background-image: radial-gradient(rgba(60,35,15,.35) 1.5px, transparent 2px), radial-gradient(rgba(255,230,190,.18) 1.5px, transparent 2px); background-size: 14px 14px, 22px 22px; background-position: 0 0, 7px 9px; box-shadow: inset 0 0 0 22px #5a3a1e, inset 0 0 60px rgba(0,0,0,.5); color: #2b2420; font-family: 'Kalam', cursive; }
.sd-th-cork .sd-grid { padding: 44px 56px 48px; grid-gap: 30px; gap: 30px; }
.sd-th-cork .sd-ar { transform: rotate(var(--rot, 0deg)); }
.sd-th-cork .sd-ar-a { --rot: -1.4deg; --pin: #E0334C; } .sd-th-cork .sd-ar-b { --rot: .8deg; --pin: #2F80ED; } .sd-th-cork .sd-ar-c { --rot: 2deg; --pin: #27AE60; } .sd-th-cork .sd-ar-d { --rot: -2deg; --pin: #F2C94C; } .sd-th-cork .sd-ar-e { --rot: 1.5deg; --pin: #9B51E0; }
.sd-th-cork .sd-ar-head { --rot: -.6deg; }
.sd-th-cork .sd-head { background: #FFFDF6; padding: 0 26px; box-shadow: 0 10px 22px rgba(0,0,0,.35); }
.sd-th-cork .sd-head .sd-badge { display: none; }
.sd-th-cork .sd-head .sd-nm { font-family: 'Permanent Marker',cursive; font-size: calc(46px * var(--sd-scale)); }
.sd-th-cork .sd-head .sd-tag { font-size: calc(20px * var(--sd-scale)); color: #6b5a48; }
.sd-th-cork .sd-head .sd-open { font-family: 'Permanent Marker',cursive; font-size: calc(24px * var(--sd-scale)); color: #27AE60; transform: rotate(-3deg); }
.sd-th-cork .sd-blk { background: #FFFDF6; padding: 30px 26px 18px; box-shadow: 0 14px 26px rgba(0,0,0,.35); overflow: visible; }
.sd-th-cork .sd-blk::before { content: ""; position: absolute; top: -10px; left: 50%; width: 24px; height: 24px; margin-left: -12px; border-radius: 50%; background: var(--pin, #E0334C); box-shadow: 0 4px 6px rgba(0,0,0,.45), inset -4px -4px 0 rgba(0,0,0,.2); z-index: 3; }
.sd-th-cork .sd-body { overflow: hidden; }
.sd-th-cork .sd-lbl { font-family: 'Permanent Marker',cursive; font-size: calc(30px * var(--sd-scale)); margin-bottom: 6px; }
.sd-th-cork .sd-b-event_list .sd-body, .sd-th-cork .sd-b-store_hours .sd-body { background-image: repeating-linear-gradient(transparent 0 54px, #d9e6f2 54px 56px); }
.sd-th-cork .sd-ev { grid-template-columns: minmax(0,1fr) auto; grid-gap: 12px; gap: 12px; max-height: 56px; }
.sd-th-cork .sd-ev .sd-when { order: 2; flex-direction: row; font-size: calc(22px * var(--sd-scale)); }
.sd-th-cork .sd-ev .sd-ttl { font-size: calc(28px * var(--sd-scale)); font-weight: 700; }
.sd-th-cork .sd-ev .sd-pz { display: none; }
.sd-th-cork .sd-ev.sd-stk { border-bottom: 2px solid #d9e6f2; }
.sd-th-marquee .sd-ev.sd-stk .sd-ttl { font-size: calc(38px * var(--sd-scale)); }
.sd-th-marquee .sd-ev.sd-stk { max-height: none; min-height: 0; flex: none; padding: 4px 0; }
.sd-th-marquee .sd-ev.sd-stk { border-bottom: 2px solid #e2dccb; }
.sd-th-cork .sd-ev.sd-live .sd-ttl, .sd-th-cork .sd-ev.sd-live .sd-when { color: #B3121E; }
.sd-th-cork .sd-b-announcement_feed { background: #FFF59A; }
.sd-th-cork .sd-b-announcement_feed .sd-lbl { color: #B3121E; font-size: calc(26px * var(--sd-scale)); }
.sd-th-cork .sd-an-t { font-family: 'Permanent Marker',cursive; font-size: calc(36px * var(--sd-scale)); line-height: 1.12; -webkit-line-clamp: 4; } .sd-th-cork .sd-ann + .sd-ann .sd-an-t { font-size: calc(24px * var(--sd-scale)); margin-top: 8px; -webkit-line-clamp: 2; }
.sd-th-cork .sd-b-new_releases { background: #FFD3E1; } .sd-th-cork .sd-b-new_releases .sd-lbl { color: #A3134A; font-size: calc(24px * var(--sd-scale)); }
.sd-th-cork .sd-rel .sd-nm { font-family: 'Permanent Marker',cursive; font-size: calc(32px * var(--sd-scale)); } .sd-th-cork .sd-rel .sd-dt { font-size: calc(24px * var(--sd-scale)); font-weight: 700; }
.sd-th-cork .sd-hrs { font-size: calc(24px * var(--sd-scale)); } .sd-th-cork .sd-hrs .sd-tm { font-weight: 700; } .sd-th-cork .sd-today { font-size: calc(26px * var(--sd-scale)); }
.sd-th-cork .sd-b-ad_playlist { padding: 18px 18px 60px; }
.sd-th-cork .sd-b-ad_playlist .sd-ad { background: linear-gradient(135deg,#3a2a05,#120d02); }
.sd-th-cork .sd-slide .sd-k { font-family: 'Permanent Marker',cursive; font-size: calc(20px * var(--sd-scale)); color: #FFC000; }
.sd-th-cork .sd-slide .sd-h { font-family: 'Permanent Marker',cursive; font-size: calc(46px * var(--sd-scale)); line-height: 1.05; color: #FFE7A0; }
.sd-th-cork .sd-slide .sd-s { font-size: calc(22px * var(--sd-scale)); color: #F7E9C8; }
.sd-th-cork .sd-b-ad_playlist .sd-cap { position: absolute; bottom: 12px; left: 0; right: 0; text-align: center; font-family: 'Permanent Marker',cursive; font-size: calc(24px * var(--sd-scale)); }
.sd-th-cork .sd-dots { bottom: 10px; } .sd-th-cork .sd-dots i { background: rgba(255,231,160,.35); width: 8px; height: 8px; } .sd-th-cork .sd-dots i.sd-on { background: #FFE7A0; }
.sd-th-cork .sd-st { font-size: calc(28px * var(--sd-scale)); border-bottom: 2px solid #d9e6f2; } .sd-th-cork .sd-st .sd-rk { font-family: 'Permanent Marker',cursive; } .sd-th-cork .sd-st.sd-first { color: #B3121E; font-weight: 700; }
.sd-th-cork .sd-pr { font-size: calc(28px * var(--sd-scale)); border-bottom: 2px solid #d9e6f2; max-height: 70px; } .sd-th-cork .sd-pr .sd-tb { font-family: 'Permanent Marker',cursive; color: #B3121E; font-size: calc(22px * var(--sd-scale)); } .sd-th-cork .sd-pr .sd-vs { text-align: center; color: #8a7a68; font-size: calc(20px * var(--sd-scale)); }
.sd-th-cork .sd-tstat { font-family: 'Permanent Marker',cursive; font-size: calc(22px * var(--sd-scale)); } .sd-th-cork .sd-tstat .sd-tm { color: #B3121E; }

/* =================== SKIN: TAVERN WALL =================== */
.sd-th-tavern { background-color: #3b2412; background-image: radial-gradient(ellipse 28% 40% at 5% 12%, rgba(255,170,70,.30), transparent 70%), radial-gradient(ellipse 28% 40% at 95% 12%, rgba(255,170,70,.30), transparent 70%), repeating-linear-gradient(90deg, rgba(0,0,0,0) 0 6px, rgba(0,0,0,.07) 6px 7px, rgba(255,220,170,.03) 7px 13px), repeating-linear-gradient(0deg, #4a2e18 0 176px, #22130a 176px 182px); box-shadow: inset 0 0 150px rgba(0,0,0,.7); color: #3b2412; font-family: 'IM Fell English', serif; }
.sd-th-tavern .sd-ar { filter: drop-shadow(0 16px 22px rgba(0,0,0,.55)); }
.sd-th-tavern .sd-ar-head { justify-content: center; }
.sd-th-tavern .sd-head { width: auto; max-width: 100%; background: linear-gradient(180deg,#6b4423,#4a2e18); border-radius: 12px; padding: 0 44px; box-shadow: inset 0 0 0 4px #2a180b, inset 0 0 30px rgba(0,0,0,.4); color: #F0C86A; }
.sd-th-tavern .sd-head .sd-badge, .sd-th-tavern .sd-head .sd-tag { display: none; }
.sd-th-tavern .sd-head .sd-nm { font-family: 'IM Fell English SC',serif; font-size: calc(58px * var(--sd-scale)); text-shadow: 0 3px 0 #2a180b, 0 0 18px rgba(255,190,90,.35); }
.sd-th-tavern .sd-head .sd-open { margin-left: 30px; font-family: 'IM Fell English SC',serif; font-size: calc(22px * var(--sd-scale)); color: #e8cf96; border-left: 2px solid rgba(240,200,106,.4); padding-left: 24px; }
.sd-th-tavern .sd-blk { background: radial-gradient(ellipse at 30% 20%, #F3E6C4, #E3CFA0 60%, #C9AE78); padding: 34px 30px 18px; clip-path: polygon(1% 2%, 99% 0, 100% 97%, 96% 100%, 3% 99%, 0 4%); }
.sd-th-tavern .sd-blk::before { content: ""; position: absolute; top: 12px; left: 50%; width: 16px; height: 16px; margin-left: -8px; border-radius: 50%; background: radial-gradient(circle at 35% 35%, #c9c3b5, #555 60%, #222); }
.sd-th-tavern .sd-lbl { font-family: 'IM Fell English SC',serif; font-size: calc(34px * var(--sd-scale)); text-align: center; margin-bottom: 6px; color: #3b2412; }
.sd-th-tavern .sd-ev { grid-template-columns: minmax(0,1fr) auto; grid-gap: 14px; gap: 14px; border-bottom: 1px solid rgba(90,55,25,.35); max-height: 66px; }
.sd-th-tavern .sd-ev .sd-when { order: 2; flex-direction: row; font-size: calc(22px * var(--sd-scale)); font-style: italic; color: #6b4423; }
.sd-th-tavern .sd-ev .sd-ttl { font-size: calc(30px * var(--sd-scale)); font-weight: 700; }
.sd-th-tavern .sd-ev .sd-pz { display: none; }
.sd-th-tavern .sd-ev.sd-live .sd-ttl, .sd-th-tavern .sd-ev.sd-live .sd-when { color: #8b1a1a; }
.sd-th-tavern .sd-v-slate { background: radial-gradient(ellipse at 40% 30%, #3a4038, #23271f 70%); clip-path: none; border-radius: 8px; box-shadow: inset 0 0 0 14px #6b4423, inset 0 0 0 18px #2a180b; padding: 34px 40px 22px; color: #EDEBE4; }
.sd-th-tavern .sd-v-slate::before { display: none; }
.sd-th-tavern .sd-v-slate .sd-lbl { font-family: 'Caveat',cursive; font-size: calc(46px * var(--sd-scale)); font-weight: 700; color: #F2D98B; }
.sd-th-tavern .sd-v-slate .sd-ev { border-bottom: 1px dashed rgba(237,235,228,.3); font-family: 'Caveat',cursive; }
.sd-th-tavern .sd-v-slate .sd-ev .sd-ttl { font-size: calc(36px * var(--sd-scale)); font-weight: 600; } .sd-th-tavern .sd-v-slate .sd-ev .sd-when { font-size: calc(28px * var(--sd-scale)); color: #A8D8F7; font-style: normal; } .sd-th-tavern .sd-v-slate .sd-ev.sd-live .sd-ttl, .sd-th-tavern .sd-v-slate .sd-ev.sd-live .sd-when { color: #F7A8A8; }
.sd-th-tavern .sd-b-ad_playlist { padding: 30px 26px 22px; }
.sd-th-tavern .sd-b-ad_playlist .sd-wanted { flex: none; font-family: 'IM Fell English SC',serif; font-size: calc(48px * var(--sd-scale)); letter-spacing: .1em; text-align: center; line-height: 1; margin-bottom: 10px; }
.sd-th-tavern .sd-b-ad_playlist .sd-ad { border: 3px solid #5a3a1e; background: linear-gradient(135deg,#5a3a1e,#2a180b); }
.sd-th-tavern .sd-slide .sd-k { font-family: 'IM Fell English SC',serif; font-size: calc(20px * var(--sd-scale)); color: #e8cf96; }
.sd-th-tavern .sd-slide .sd-h { font-family: 'IM Fell English SC',serif; font-size: calc(46px * var(--sd-scale)); line-height: 1.05; color: #F0C86A; }
.sd-th-tavern .sd-slide .sd-s { font-style: italic; font-size: calc(22px * var(--sd-scale)); color: #e8cf96; }
.sd-th-tavern .sd-dots i { background: rgba(240,200,106,.3); width: 8px; height: 8px; } .sd-th-tavern .sd-dots i.sd-on { background: #F0C86A; }
.sd-th-tavern .sd-b-announcement_feed { background: radial-gradient(ellipse at 40% 30%, #F7EED7, #E4D3A8); }
.sd-th-tavern .sd-b-announcement_feed .sd-lbl { font-family: 'Caveat',cursive; font-size: calc(34px * var(--sd-scale)); color: #8b1a1a; text-align: left; }
.sd-th-tavern .sd-an-t { font-family: 'Caveat',cursive; font-weight: 700; font-size: calc(38px * var(--sd-scale)); line-height: 1.08; -webkit-line-clamp: 3; } .sd-th-tavern .sd-ann + .sd-ann .sd-an-t { font-size: calc(28px * var(--sd-scale)); margin-top: 8px; -webkit-line-clamp: 2; }
.sd-th-tavern .sd-rel .sd-nm { font-family: 'IM Fell English SC',serif; font-size: calc(34px * var(--sd-scale)); } .sd-th-tavern .sd-rel .sd-dt { font-style: italic; font-size: calc(22px * var(--sd-scale)); color: #6b4423; }
.sd-th-tavern .sd-b-new_releases .sd-lbl, .sd-th-tavern .sd-b-store_hours .sd-lbl { font-size: calc(26px * var(--sd-scale)); text-align: left; color: #6b4423; }
.sd-th-tavern .sd-b-store_hours { background: linear-gradient(180deg,#6b4423,#4a2e18); color: #F0C86A; clip-path: none; border-radius: 10px; box-shadow: inset 0 0 0 3px #2a180b; }
.sd-th-tavern .sd-b-store_hours::before { display: none; } .sd-th-tavern .sd-b-store_hours .sd-lbl { color: #F0C86A; }
.sd-th-tavern .sd-hrs { font-family: 'IM Fell English SC',serif; font-size: calc(24px * var(--sd-scale)); } .sd-th-tavern .sd-today { font-family: 'IM Fell English SC',serif; font-size: calc(26px * var(--sd-scale)); }
.sd-th-tavern .sd-st { font-size: calc(32px * var(--sd-scale)); border-bottom: 1px solid rgba(90,55,25,.35); } .sd-th-tavern .sd-st .sd-rk { font-family: 'IM Fell English SC',serif; color: #6b4423; } .sd-th-tavern .sd-st .sd-rec { font-size: calc(26px * var(--sd-scale)); } .sd-th-tavern .sd-st.sd-first { color: #8b1a1a; font-weight: 700; }
.sd-th-tavern .sd-pr { font-size: calc(30px * var(--sd-scale)); border-bottom: 1px solid rgba(90,55,25,.35); } .sd-th-tavern .sd-pr .sd-tb { font-family: 'IM Fell English SC',serif; font-size: calc(22px * var(--sd-scale)); color: #8b1a1a; } .sd-th-tavern .sd-pr .sd-vs { text-align: center; font-style: italic; color: #6b4423; }
.sd-th-tavern .sd-tstat { font-style: italic; font-size: calc(20px * var(--sd-scale)); color: #6b4423; justify-content: center; }

/* =================== TEXT SIZE + ORIENTATION =================== */
.sd-ts-s { --sd-scale: .85; } .sd-ts-m { --sd-scale: 1; } .sd-ts-l { --sd-scale: 1.2; }
.sd-o-portrait { width: 900px; height: 1600px; }

/* =================== ENGINE ADDITIONS (feed-driven content) =================== */
.sd-ad-img { display: block; width: 100%; height: 100%; object-fit: contain; }
.sd-slide.sd-slide-img { padding: 0; }
.sd-empty { flex: 1; display: flex; align-items: center; font-size: calc(24px * var(--sd-scale)); line-height: 1.25; opacity: .72; font-style: italic; min-width: 0; overflow: hidden; }
.sd-th-marquee .sd-b-event_list .sd-empty, .sd-th-marquee .sd-b-standings .sd-empty, .sd-th-marquee .sd-b-pairings .sd-empty, .sd-th-marquee .sd-b-bracket .sd-empty { color: #141414; font-family: 'Bebas Neue',sans-serif; font-style: normal; font-size: calc(38px * var(--sd-scale)); letter-spacing: .04em; text-transform: uppercase; opacity: .8; }
.sd-an-b { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; font-size: calc(18px * var(--sd-scale)); font-weight: 500; font-style: normal; font-family: inherit; line-height: 1.2; margin-top: 2px; opacity: .85; letter-spacing: 0; text-transform: none; }
.sd-stage .sd-sm .sd-ann-hb .sd-an-t { -webkit-line-clamp: 1; }
.sd-stage .sd-sm .sd-ann-hb .sd-an-b { -webkit-line-clamp: 1; }
.sd-rel { display: flex; flex-direction: column; min-width: 0; }
.sd-rel + .sd-rel { margin-top: 6px; }
.sd-rel-img { position: absolute; right: 22px; top: 18px; width: 72px; height: 72px; object-fit: contain; border-radius: 8px; }
.sd-has-img .sd-body { padding-right: 88px; }
.sd-b-filler { align-items: center; justify-content: center; text-align: center; }
.sd-b-filler > * + * { margin-top: 8px; }
.sd-fn { font-size: calc(40px * var(--sd-scale)); font-weight: 800; line-height: 1.1; max-width: 100%; overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.sd-ft { font-size: calc(24px * var(--sd-scale)); opacity: .8; max-width: 100%; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.sd-th-marquee .sd-b-filler { background: rgba(20,2,3,.7); border: 2px solid #c79a3a; border-radius: 10px; }
.sd-th-marquee .sd-fn { font-family: 'Bebas Neue',sans-serif; letter-spacing: .05em; font-weight: 400; }
.sd-th-tavern .sd-b-filler { color: #3b2412; }
.sd-pr .sd-rs { text-align: center; font-size: calc(22px * var(--sd-scale)); color: var(--sd-accent, currentColor); }
.sd-pr .sd-won { color: var(--sd-accent, currentColor); font-weight: 900; }
.sd-pr .sd-lost { opacity: .5; }
.sd-st.sd-top .sd-rk, .sd-st.sd-top .sd-pts { color: var(--sd-accent, currentColor); }
.sd-st.sd-top { font-weight: 900; }

/* theme tokens used by the takeover tables and bracket */
.sd-th-neon { --sd-ink: #F2F6FA; --sd-dim: #8c9ab0; --sd-line: #24314B; --sd-card: rgba(10,15,30,.6); --sd-accent: #FFC000; --sd-win-ink: #0A0F1E; --sd-live: #FF00A6; }
.sd-th-gallery { --sd-ink: #EFE8DA; --sd-dim: #9a917f; --sd-line: rgba(201,165,92,.4); --sd-card: rgba(255,255,255,.03); --sd-accent: #E7CF96; --sd-win-ink: #131210; --sd-live: #C9A55C; }
.sd-th-marquee { --sd-ink: #141414; --sd-dim: #777; --sd-line: #cfc8b4; --sd-card: #fffdf4; --sd-accent: #B3121E; --sd-win-ink: #FFE9A8; --sd-live: #B3121E; }
.sd-th-light { --sd-ink: #16181D; --sd-dim: #6B6F78; --sd-line: #E3DFD6; --sd-card: #F7F5F0; --sd-accent: #A3134A; --sd-win-ink: #FFFFFF; --sd-live: #A3134A; }
.sd-th-cork { --sd-ink: #2b2420; --sd-dim: #8a7a68; --sd-line: #d9e6f2; --sd-card: #fffdf6; --sd-accent: #B3121E; --sd-win-ink: #FFFFFF; --sd-live: #E0334C; }
.sd-th-tavern { --sd-ink: #3b2412; --sd-dim: #7a5a38; --sd-line: rgba(90,55,25,.4); --sd-card: rgba(255,250,235,.45); --sd-accent: #8b1a1a; --sd-win-ink: #F3E6C4; --sd-live: #8b1a1a; }

/* dense takeover tables: 16 rows fit, the rest clip inside the panel */
.sd-stage .sd-dense .sd-pr, .sd-stage .sd-dense .sd-st { flex: 0 0 auto; height: calc(32px * var(--sd-scale)); min-height: 0; max-height: none; margin-bottom: 4px; padding-top: 0; padding-bottom: 0; font-size: calc(20px * var(--sd-scale)); border-radius: 8px; grid-gap: 10px; gap: 10px; }
.sd-stage .sd-dense .sd-pr > span, .sd-stage .sd-dense .sd-st > span { font-size: inherit; letter-spacing: 0; line-height: 1; }
.sd-stage .sd-dense .sd-pr { grid-template-columns: 84px minmax(0,1fr) 34px minmax(0,1fr) 30px; }
.sd-stage .sd-dense .sd-st { grid-template-columns: 44px minmax(0,1fr) 84px 56px; }
.sd-stage .sd-body.sd-dense { background-image: none; padding-top: 6px; padding-bottom: 6px; }

/* =================== TAKEOVER GRIDS =================== */
.sd-t-takeover { grid-template-columns: minmax(0,1fr); grid-template-rows: 96px minmax(0,1fr); grid-template-areas: "head" "a"; }
.sd-t-break { grid-template-columns: 1.35fr 1fr; grid-template-rows: 96px minmax(0,1fr); grid-template-areas: "head head" "a b"; }

/* =================== BRACKET / GROUPS (shared renderer, bracket.css) ===================
   .sd-br-host fills the takeover main area. The board is laid out in a box 1.2x the host and scaled
   back to 5/6, so the renderer's TV sizes (made for a 1080-high screen) fit the 900-high stage; the
   same box gives the board the definite height it needs. Each theme maps onto the --br-* variables
   here (theme values only; the renderer markup carries no colour). Same element as the renderer's
   defaults block, so the two-class selector wins. */
.sd-br-host { position: relative; flex: 1 1 auto; min-height: 0; overflow: hidden; }
.sd-br-host > .tdtt-br, .sd-br-host > .tdtt-gr { position: absolute; top: 0; left: 0; width: 120%; height: 120%; max-height: none; -webkit-transform: scale(.8333); transform: scale(.8333); -webkit-transform-origin: 0 0; transform-origin: 0 0; }
.sd-br-host > .tdtt-br-empty, .sd-br-host > .tdtt-gr-empty { position: static; width: auto; height: auto; -webkit-transform: none; transform: none; font-size: calc(24px * var(--sd-scale)); }
/* bracket.css sizes the TV boards from the REAL viewport (--br-conn 1.2vw, a min-width:2400px media rule with
   font-size 1.2vw / side min-height 2vw). Inside the transformed stage that would double-count the stage scale
   on a 4K display, so the stage pins the 1080p values in px and lets the stage scale do the rest. */
.sd-br-host > .tdtt-br--tv-landscape, .sd-br-host > .tdtt-br--tv-portrait { font-size: calc(28px * var(--sd-scale)); --br-conn: 23px; }
.sd-br-host > .tdtt-br--tv-landscape .tdtt-br-side, .sd-br-host > .tdtt-br--tv-portrait .tdtt-br-side { min-height: 48px; }
/* Bracket/groups takeover: a slim one-line header band (logo + name + status/timer, 48px = 5.3% of the
   stage) and a tight panel give the board almost the whole stage: host about 810 stage px landscape,
   about 1510 portrait. Every rule is (0,3,0)+ to beat the theme skins. */
.sd-stage.sd-tk-bracket .sd-grid { padding: 12px 24px; grid-gap: 8px; gap: 8px; }
.sd-stage.sd-tk-bracket .sd-grid.sd-t-takeover { grid-template-rows: 48px minmax(0,1fr); }
.sd-stage.sd-tk-bracket .sd-head .sd-nm { font-size: calc(26px * var(--sd-scale)); line-height: 1; }
.sd-stage.sd-tk-bracket .sd-head .sd-tag { display: none; }
.sd-stage.sd-tk-bracket .sd-head .sd-badge { width: 36px; height: 36px; font-size: calc(14px * var(--sd-scale)); }
.sd-stage.sd-tk-bracket .sd-head .sd-open { font-size: calc(14px * var(--sd-scale)); padding: 2px 12px; }
.sd-stage.sd-tk-bracket .sd-ar-head { position: relative; padding-top: 0; padding-bottom: 0; }
.sd-stage.sd-tk-bracket .sd-ar-head .sd-br-stat { position: absolute; top: 50%; left: 50%; width: 38%; margin-top: -14px; margin-left: -19%; height: 28px; overflow: hidden; }
.sd-stage.sd-tk-bracket .sd-ar-head .sd-tstat { margin: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: calc(15px * var(--sd-scale)); line-height: 28px; }
.sd-stage.sd-tk-bracket .sd-ar-head .sd-tstat b { font-size: calc(17px * var(--sd-scale)); }
.sd-stage.sd-tk-bracket .sd-ar-head .sd-tstat .sd-tm { font-size: calc(18px * var(--sd-scale)); }
.sd-stage.sd-tk-bracket .sd-b-bracket { padding: 4px 8px; }
.sd-stage.sd-tk-bracket .sd-b-bracket .sd-lbl { display: none; }
/* Round-0 match pitch is 113 layout px (2 x 48px sides + seam + borders + slot padding). The default board
   box is 120% of the host (scale .8333): a 48px row is 40 stage px = 48 real px at 1080p, and 16 entrants
   need 40 + 8 x 113 = 944 layout px <= 810 x 1.2 = 972. Larger fields (c6 = 32 entrants and up) shrink as a
   whole so the pitch fits the host (box = 100/s %), never overlapping. */
.sd-o-landscape .sd-br-host > .tdtt-br-c6 { width: 238.1%; height: 238.1%; -webkit-transform: scale(.42); transform: scale(.42); }
.sd-o-landscape .sd-br-host > .tdtt-br-c7 { width: 476.2%; height: 476.2%; -webkit-transform: scale(.21); transform: scale(.21); }
.sd-o-landscape .sd-br-host > .tdtt-br-c8, .sd-o-landscape .sd-br-host > .tdtt-br-c9 { width: 1000%; height: 1000%; -webkit-transform: scale(.1); transform: scale(.1); }
.sd-th-neon .tdtt-br, .sd-th-neon .tdtt-gr { --br-text: var(--sd-ink); --br-dim: var(--sd-dim); --br-line: var(--sd-line); --br-accent: var(--sd-accent); --br-live: var(--sd-live); --br-surface: #101830; --br-surface-hi: #1a2744; --br-gold: #FFC000; }
.sd-th-gallery .tdtt-br, .sd-th-gallery .tdtt-gr { --br-text: var(--sd-ink); --br-dim: var(--sd-dim); --br-line: #6b5d3c; --br-accent: var(--sd-accent); --br-live: var(--sd-live); --br-surface: #1c1a16; --br-surface-hi: #2a2620; --br-gold: #E7CF96; }
.sd-th-marquee .tdtt-br, .sd-th-marquee .tdtt-gr { --br-text: var(--sd-ink); --br-dim: var(--sd-dim); --br-line: var(--sd-line); --br-accent: var(--sd-accent); --br-live: var(--sd-live); --br-surface: #FFFDF4; --br-surface-hi: #EFE7CF; --br-gold: #C79A3A; }
.sd-th-light .tdtt-br, .sd-th-light .tdtt-gr { --br-text: var(--sd-ink); --br-dim: var(--sd-dim); --br-line: #CFC9BB; --br-accent: var(--sd-accent); --br-live: var(--sd-live); --br-surface: #F7F5F0; --br-surface-hi: #ECE8DF; --br-gold: #C58A00; }
.sd-th-cork .tdtt-br, .sd-th-cork .tdtt-gr { --br-text: var(--sd-ink); --br-dim: var(--sd-dim); --br-line: #B9A78A; --br-accent: var(--sd-accent); --br-live: var(--sd-live); --br-surface: #FFFDF6; --br-surface-hi: #F1E8D0; --br-gold: #B3121E; }
.sd-th-tavern .tdtt-br, .sd-th-tavern .tdtt-gr { --br-text: var(--sd-ink); --br-dim: var(--sd-dim); --br-line: #9A7A4C; --br-accent: var(--sd-accent); --br-live: var(--sd-live); --br-surface: #F3E6C4; --br-surface-hi: #E3CFA0; --br-gold: #8B1A1A; }

/* =================== PORTRAIT (900x1600): stacked single column, header then areas in reading order =================== */
.sd-stage.sd-o-portrait .sd-grid { padding: 44px 40px 48px; grid-gap: 22px; gap: 22px; }
.sd-o-portrait .sd-t-feature { grid-template-columns: minmax(0,1fr); grid-template-rows: 120px minmax(0,1.1fr) minmax(0,1.35fr) repeat(3, minmax(0,.42fr)); grid-template-areas: "head" "a" "b" "c" "d" "e"; }
.sd-o-portrait .sd-t-spotlight { grid-template-columns: minmax(0,1fr); grid-template-rows: 120px minmax(0,1.2fr) minmax(0,1fr) repeat(2, minmax(0,.45fr)); grid-template-areas: "head" "a" "b" "c" "d"; }
.sd-o-portrait .sd-t-three { grid-template-columns: minmax(0,1fr); grid-template-rows: 120px minmax(0,1.2fr) minmax(0,1.1fr) minmax(0,1fr) repeat(2, minmax(0,.42fr)); grid-template-areas: "head" "a" "b" "c" "d" "e"; }
.sd-o-portrait .sd-t-hero { grid-template-columns: minmax(0,1fr); grid-template-rows: 120px minmax(0,1.2fr) minmax(0,1fr) repeat(3, minmax(0,.45fr)); grid-template-areas: "head" "a" "b" "c" "d" "e"; }
.sd-o-portrait .sd-t-notices { grid-template-columns: minmax(0,1fr); grid-template-rows: 120px minmax(0,.9fr) minmax(0,1.2fr) minmax(0,1fr) repeat(2, minmax(0,.8fr)); grid-template-areas: "head" "a" "b" "c" "d" "e"; }
.sd-o-portrait .sd-t-calendar { grid-template-columns: minmax(0,1fr); grid-template-rows: 120px minmax(0,1.5fr) minmax(0,.8fr) minmax(0,.6fr) minmax(0,.5fr); grid-template-areas: "head" "a" "b" "c" "d"; }
.sd-o-portrait .sd-t-takeover { grid-template-columns: minmax(0,1fr); grid-template-rows: 120px minmax(0,1fr); grid-template-areas: "head" "a"; }
.sd-o-portrait .sd-t-break { grid-template-columns: minmax(0,1fr); grid-template-rows: 120px minmax(0,1.3fr) minmax(0,1fr); grid-template-areas: "head" "a" "b"; }
.sd-stage.sd-th-cork.sd-o-portrait .sd-grid { grid-gap: 26px; gap: 26px; }
.sd-th-light .sd-t-calendar { grid-template-columns: 1.85fr 1fr; }
.sd-th-light .sd-cal .sd-e { padding: 5px 4px; }
.sd-o-portrait.sd-th-light .sd-t-calendar { grid-template-columns: minmax(0,1fr); }
.sd-th-light .sd-cal .sd-day { padding: 12px 4px; }
.sd-th-light .sd-cal .sd-e { font-weight: 700; letter-spacing: -.02em; padding: 5px 3px; }
.sd-o-portrait.sd-th-neon .sd-head .sd-nm { font-size: calc(38px * var(--sd-scale)); }
.sd-o-portrait.sd-th-neon .sd-head .sd-open { font-size: calc(16px * var(--sd-scale)); padding: 6px 14px; }
.sd-o-portrait.sd-th-light .sd-cal { grid-template-columns: minmax(0,1fr); grid-template-rows: repeat(7, minmax(0,1fr)); grid-gap: 6px; gap: 6px; }
.sd-o-portrait.sd-th-light .sd-cal .sd-day { flex-direction: row; align-items: center; padding: 4px 12px; }
.sd-o-portrait.sd-th-light .sd-cal .sd-day > * + * { margin-top: 0; margin-left: 10px; }
.sd-o-portrait.sd-th-light .sd-cal .sd-dn { flex: none; width: 76px; }
.sd-o-portrait.sd-th-light .sd-cal .sd-dd { flex: none; width: 64px; }
.sd-o-portrait.sd-th-light .sd-cal .sd-tdy { display: none; }
.sd-o-portrait.sd-th-light .sd-cal .sd-e, .sd-o-portrait.sd-th-light .sd-cal .sd-none { flex: 1 1 0; min-width: 0; }
