/* IrregularOdds v1.1 — Shared player + dark TikTok carousel.
   All existing hero, brand, animation, copy and section order preserved. */
#content { scroll-margin-top:76px; }
.media-theater[hidden] { display:none!important; }
.media-theater {scroll-margin-top:84px; border:1px solid #665080; background:linear-gradient(135deg,#10101d,#111827 62%,#0b0c13); color:#f1f1f7; padding:clamp(15px,3vw,28px);margin:12px 0 22px;box-shadow:0 30px 95px rgba(0,0,0,.26);position:relative;}
.media-theater::before {content:'';pointer-events:none;position:absolute;inset:0;background:radial-gradient(ellipse at 100% 0%,rgba(153,81,201,.14),transparent 38%)}
.theater-top,.theater-bottom {position:relative;display:flex;justify-content:space-between;align-items:flex-start;gap:20px;}
.theater-title-group {min-width:0;}
.theater-top h3 {font-size:clamp(24px,4.5vw,42px);line-height:1.05;overflow-wrap:anywhere;margin:7px 0 17px;}
.theater-close {border:1px solid rgba(198,181,218,.3);background:rgba(25,20,35,.85);color:#f4edf9;white-space:nowrap;cursor:pointer;padding:11px 16px;font:700 11px 'DM Sans',sans-serif;letter-spacing:.07em;display:flex;align-items:center;gap:8px;}
.theater-close:hover,.theater-close:focus-visible {border-color:#bb96d8;background:#282035;}
.theater-stage {position:relative;background:radial-gradient(circle at center,#1d1630,#070810 70%);min-height:320px;display:grid;place-items:center;border:1px solid rgba(174,157,197,.24);overflow:hidden;}
.theater-frame-holder {width:100%;display:grid;place-items:center;}
.theater-stage.type-twitch {min-height:clamp(320px,49vw,620px);}
.theater-frame-holder.is-twitch iframe {width:100%;height:clamp(320px,49vw,620px);border:0;display:block;}
.theater-stage.type-tiktok {min-height:clamp(500px,70vh,720px);}
.theater-frame-holder.is-tiktok iframe {width:min(390px,100%);height:clamp(500px,70vh,720px);border:0;display:block;background:#05060a;}
.theater-message {font-size:13px;color:#c9c0d6;text-align:center;max-width:450px;padding:30px;margin:0;}
.theater-message[hidden] {display:none;}
.theater-bottom {align-items:center;margin-top:14px;}
.theater-caption {font-size:12px;color:#c3bacf;}
.theater-source {font-size:11px;font-weight:800;letter-spacing:.07em;color:#d3a5ee;white-space:nowrap;border-bottom:1px solid currentColor;padding-bottom:4px;}
/* Custom TikTok cards and scroll rail: dark in either site theme. */
.tiktok-dark-carousel {display:flex;gap:14px;overflow-x:auto;scroll-behavior:smooth;scroll-snap-type:x mandatory;overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:#a67ecb #141623;padding:0 0 13px;outline-offset:4px;min-height:260px;}
.tiktok-dark-carousel:focus-visible {outline:2px solid var(--accent);}
.tiktok-waiting {display:flex;align-items:center;gap:26px;width:100%;min-height:260px;background:linear-gradient(120deg,#191325,#111627);border:1px dashed #60496d;padding:28px;color:#ede9f5;}
.tiktok-waiting > span {font-size:72px;color:#ae74cf;opacity:.7;line-height:1;}
.tiktok-waiting strong {display:block;font:800 clamp(22px,3vw,30px)/1.1 'Barlow Condensed',sans-serif;letter-spacing:.02em;}
.tiktok-waiting p {max-width:550px;color:#b9b2c4;font-size:13px;line-height:1.7;}
.tiktok-clip-card {cursor:pointer;flex:0 0 calc((100% - 42px)/4);border:1px solid #343147;background:#11111e;display:flex;flex-direction:column;padding:0;color:#f4f1fa;min-width:0;text-align:left;scroll-snap-align:start;transition:transform .2s,border-color .2s;}
.tiktok-clip-card:hover,.tiktok-clip-card:focus-visible {transform:translateY(-3px);border-color:#bc8bd8;}
.tiktok-clip-art {height:250px;position:relative;display:grid;place-items:center;background:radial-gradient(ellipse at 60% 28%,rgba(112,64,168,.45),transparent 47%),linear-gradient(145deg,#161321,#1c2738 55%,#0c0e19);border-bottom:1px solid #343147;}
.tiktok-clip-art::after {content:'';pointer-events:none;position:absolute;inset:10px;border:1px solid rgba(201,170,225,.10);}
.tiktok-clip-number {position:absolute;top:18px;left:17px;font-size:11px;font-weight:800;color:#b6a1d1;}
.tiktok-clip-icon {font-size:83px;line-height:1;color:#b391d6;opacity:.4;}
.tiktok-clip-play {position:absolute;bottom:15px;right:15px;font-size:14px;background:#2d2140;color:#fff;border:1px solid #866bb4;width:40px;height:40px;display:grid;place-items:center;padding-left:3px;}
.tiktok-clip-body {display:flex;flex-direction:column;align-items:flex-start;gap:9px;flex:1;padding:16px 18px 20px;}
.tiktok-clip-kicker {font-size:10px;letter-spacing:.13em;color:#c5a7df;font-weight:800;}
.tiktok-clip-title {font:800 23px/1.13 'Barlow Condensed',sans-serif;color:#f1edf6;overflow-wrap:anywhere;}
.tiktok-clip-cta {font-size:10px;color:#c9a4e8;letter-spacing:.11em;font-weight:800;margin-top:auto;padding-top:10px;}
.tiktok-extra {display:flex;align-items:flex-start;flex-wrap:wrap;justify-content:space-between;gap:14px;padding-top:9px;}
.legacy-tiktok-feed {flex:1 1 100%;border-top:1px solid var(--border);padding-top:13px;}
.legacy-tiktok-feed summary {display:flex;align-items:center;gap:10px;flex-wrap:wrap;cursor:pointer;font-size:12px;font-weight:700;color:var(--muted);padding:6px 0;}
.legacy-tiktok-feed summary:hover {color:var(--accent);}
.feed-note {font-size:10px;font-weight:500;color:var(--muted);opacity:.8;}
.legacy-tiktok-feed .tiktok-embed-stage {margin-top:12px;}
/* Non-interactive card buttons remain keyboard and screen-reader accessible. */
.vod-card {font:inherit;color:inherit;text-align:left;cursor:pointer;padding:0;}
.vod-card:focus-visible,.tiktok-clip-card:focus-visible {outline:2px solid var(--accent);outline-offset:2px;}
body.light .media-theater {background:linear-gradient(135deg,#151321,#1a1d2c);color:#f1f1f7;}
body.light .tiktok-collection .tiktok-dark-carousel,body.light .tiktok-collection .tiktok-clip-card {color:#f1edf6;}
@media(max-width:980px){.tiktok-clip-card {flex-basis:calc((100% - 28px)/3);}}
@media(max-width:740px){.tiktok-clip-card {flex-basis:calc((100% - 14px)/2);}.theater-top {align-items:flex-start;}}
@media(max-width:600px){.tiktok-clip-card {flex-basis:72%;}.tiktok-clip-art {height:230px;}.tiktok-waiting {padding:21px 17px;gap:18px;}.tiktok-waiting > span {font-size:45px;}.theater-top {flex-direction:column;}.theater-close {margin-bottom:15px;}.theater-bottom {flex-direction:column;align-items:flex-start;}.media-theater {padding:14px 10px;}}
@media(prefers-reduced-motion:reduce){.tiktok-dark-carousel {scroll-behavior:auto;}}
