:root {
    --bg: #17143a;
    --bg-deep: #0e0c27;
    --panel: rgba(43, 35, 96, .78);
    --panel-solid: #2a225e;
    --line: rgba(211, 201, 255, .24);
    --text: #f7f5ff;
    --muted: #c4bddc;
    --muted-strong: #e2def2;
    --purple: #b56aff;
    --violet: #756cff;
    --blue: #5bd5ff;
    --cyan: #8ceaff;
    --pink: #f28bf4;
    --green: #67f7c0;
    --radius-lg: 30px;
    --radius-md: 18px;
    --shadow: 0 26px 80px rgba(7, 5, 30, .28);
    --max: 1240px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    background: linear-gradient(180deg, #211b50 0%, #191642 48%, #12102f 100%);
    color: var(--text);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 16px;
    line-height: 1.5;
    overflow-x: hidden;
}
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { color: inherit; }
img { display: block; max-width: 100%; }

.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.page-noise { position: fixed; inset: 0; z-index: -2; opacity: .015; pointer-events: none; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E"); }
.page-glow { position: fixed; z-index: -1; pointer-events: none; border-radius: 50%; filter: blur(10px); opacity: .46; }
.page-glow--one { width: 520px; height: 520px; top: -250px; right: -120px; background: radial-gradient(circle, rgba(150, 96, 255, .42), transparent 68%); }
.page-glow--two { width: 600px; height: 600px; left: -300px; top: 900px; background: radial-gradient(circle, rgba(52, 187, 255, .22), transparent 67%); }
.site-shell { position: relative; width: min(100%, 1500px); margin: 0 auto; }
.site-header { position: relative; z-index: 10; display: flex; align-items: center; justify-content: space-between; gap: 34px; width: min(calc(100% - 64px), var(--max)); margin: 0 auto; padding: 23px 0 12px; }
.brand { display: inline-flex; align-items: center; gap: 12px; flex-shrink: 0; }
.brand-copy { display: flex; flex-direction: column; line-height: 1; }
.brand-copy strong { color: #edb4ff; font-size: 18px; letter-spacing: .08em; text-shadow: 0 0 22px rgba(194, 89, 255, .25); }
.brand-copy strong span { color: #a8dcff; }
.brand-copy small { margin-top: 6px; color: var(--muted); font-size: 7px; font-weight: 700; letter-spacing: .22em; }
.main-nav { display: flex; align-items: center; gap: 31px; margin-left: auto; }
.main-nav a { position: relative; color: var(--muted-strong); font-size: 13px; font-weight: 600; transition: color .2s ease; }
.main-nav a::after { position: absolute; right: 0; bottom: -9px; left: 0; height: 2px; content: ""; transform: scaleX(0); transform-origin: right; transition: transform .2s ease; background: linear-gradient(90deg, var(--blue), var(--purple)); }
.main-nav a:hover, .main-nav a:focus-visible { color: var(--text); }
.main-nav a:hover::after, .main-nav a:focus-visible::after { transform: scaleX(1); transform-origin: left; }
.header-actions { display: flex; align-items: center; gap: 12px; }
.header-social { display: inline-flex; align-items: center; gap: 7px; color: var(--muted-strong); font-size: 12px; font-weight: 700; }
.social-icon { display: grid; place-items: center; width: 25px; height: 25px; border: 1px solid var(--line); border-radius: 8px; color: var(--purple); font-size: 14px; }
.button { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 44px; padding: 0 19px; border: 1px solid transparent; border-radius: 12px; color: inherit; font-size: 12px; font-weight: 800; letter-spacing: .01em; cursor: pointer !important; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease, background .2s ease; }
.button:hover, .button:focus-visible { transform: translateY(-2px); }
.button--small { min-height: 35px; padding: 0 14px; border-radius: 10px; font-size: 11px; }
.button--solid, .button--primary { color: white; background: linear-gradient(120deg, #8d4dff, #5368ff); box-shadow: 0 9px 24px rgba(98, 63, 255, .23); }
.button--primary { min-height: 52px; padding: 0 23px; border-radius: 14px; }
.button--primary:hover, .button--solid:hover { box-shadow: 0 13px 30px rgba(98, 63, 255, .38); }
.button--ghost { border-color: var(--line); color: var(--muted-strong); background: rgba(255,255,255,.025); }
.button--ghost:hover { border-color: rgba(135, 105, 255, .55); color: white; background: rgba(125, 71, 255, .11); }
.button-play { display: grid; place-items: center; width: 21px; height: 21px; border-radius: 50%; color: #8f52ff; background: white; font-size: 8px; }
.nav-toggle { display: none; width: 42px; height: 38px; padding: 8px; border: 1px solid var(--line); border-radius: 10px; background: rgba(255,255,255,.04); cursor: pointer; }
.nav-toggle span:not(.sr-only) { display: block; width: 100%; height: 2px; margin: 4px 0; background: var(--muted-strong); }

.section-pad { width: min(calc(100% - 64px), var(--max)); margin: 0 auto; }
.hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(430px, .9fr); align-items: center; min-height: 650px; padding-top: 55px; padding-bottom: 85px; }
.hero-copy { position: relative; z-index: 1; max-width: 620px; }
.eyebrow, .section-index, .mini-label, .card-kicker { color: var(--cyan); font-size: 10px; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; }
.eyebrow { display: inline-flex; align-items: center; gap: 9px; padding: 8px 12px; border: 1px solid rgba(66, 202, 255, .2); border-radius: 999px; background: rgba(44, 139, 255, .08); }
.live-dot { display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 4px rgba(103, 247, 192, .11), 0 0 14px rgba(103, 247, 192, .8); }
.hero h1 { max-width: 620px; margin: 0 0 23px; font-size: clamp(2.9rem, 5.6vw, 5.4rem); font-weight: 750; letter-spacing: -.045em; line-height: 1.04; }
.hero h1::first-line { color: white; }
.hero-description { max-width: 520px; margin: 0; color: var(--muted); font-size: 17px; line-height: 1.7; }
.hero-actions { display: flex; flex-wrap: wrap; gap: 11px; margin-top: 30px; }
.hero-visual { position: relative; display: flex; align-items: center; justify-content: center; min-height: 550px; }
.hero-dashboard { position: relative; width: min(100%, 545px); overflow: hidden; border: 1px solid rgba(205, 192, 255, .32); border-radius: 26px; background: linear-gradient(150deg, rgba(65, 54, 137, .92), rgba(34, 29, 83, .95)); box-shadow: 0 28px 70px rgba(9, 7, 35, .34); }
.hero-dashboard::before { position: absolute; top: -100px; right: -100px; width: 300px; height: 300px; content: ""; border-radius: 50%; background: radial-gradient(circle, rgba(107, 216, 255, .2), transparent 68%); }
.hero-dashboard::after { position: absolute; bottom: -125px; left: -80px; width: 270px; height: 270px; content: ""; border-radius: 50%; background: radial-gradient(circle, rgba(226, 115, 255, .18), transparent 68%); }
.hero-dashboard-top { position: relative; z-index: 1; display: flex; align-items: center; gap: 12px; padding: 15px 18px; border-bottom: 1px solid rgba(220, 210, 255, .18); background: rgba(255, 255, 255, .06); }
.dashboard-caption { color: #d0c9ec; font-size: 9px; font-weight: 800; letter-spacing: .16em; }.dashboard-status { display: inline-flex; align-items: center; gap: 7px; margin-left: auto; color: #b8f3db; font-size: 8px; font-weight: 800; letter-spacing: .13em; }
.hero-dashboard-main { position: relative; z-index: 1; padding: 30px 30px 25px; }.dashboard-kicker { color: var(--cyan); font-size: 9px; font-weight: 800; letter-spacing: .18em; }.dashboard-date { margin-top: 14px; color: #e9e4fb; font-size: 13px; font-weight: 700; }.dashboard-date span { margin: 0 4px; color: var(--purple); }.hero-dashboard-main h2 { max-width: 400px; margin: 13px 0 8px; color: white; font-size: clamp(1.8rem, 4vw, 2.75rem); letter-spacing: -.065em; line-height: 1.02; }.hero-dashboard-main p { max-width: 380px; margin: 0; color: #c6bfdf; font-size: 12px; line-height: 1.65; }.stream-links--dashboard { margin-top: 20px; }
.hero-agenda { position: relative; z-index: 1; margin: 0 18px 18px; padding: 14px 15px 8px; border: 1px solid rgba(215, 205, 255, .2); border-radius: 16px; background: rgba(16, 13, 47, .28); }.hero-agenda-heading { display: flex; justify-content: space-between; padding: 0 1px 10px; color: #a9a0ca; font-size: 8px; font-weight: 800; letter-spacing: .14em; }.hero-agenda-heading span:last-child { color: #d2c9e9; font-weight: 600; letter-spacing: .02em; text-transform: none; }.hero-agenda-row { display: grid; grid-template-columns: 32px minmax(0, 1fr) 20px; align-items: center; gap: 10px; padding: 10px 1px; border-top: 1px solid rgba(215, 205, 255, .12); }.agenda-day { display: grid; place-items: center; width: 29px; height: 29px; border-radius: 9px; color: #e8c8ff; background: rgba(177, 101, 255, .17); font-size: 11px; font-weight: 800; }.agenda-copy { min-width: 0; }.agenda-copy strong, .agenda-copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.agenda-copy strong { color: #f8f5ff; font-size: 11px; }.agenda-copy small { margin-top: 3px; color: #a9a1c5; font-size: 9px; }.agenda-arrow { color: var(--cyan); font-size: 14px; text-align: right; }.hero-agenda-empty { padding: 12px 0 6px; color: #aaa1c8; font-size: 11px; }

.signal-strip { position: relative; display: flex; align-items: center; gap: clamp(20px, 5vw, 80px); width: min(calc(100% - 64px), var(--max)); margin: 0 auto 115px; padding: 23px 27px; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.signal-strip::before { position: absolute; top: -1px; left: 0; width: 90px; height: 1px; content: ""; background: var(--cyan); box-shadow: 0 0 20px var(--cyan); }
.signal-item { display: flex; align-items: center; gap: 11px; min-width: max-content; }
.signal-symbol { color: var(--purple); font-size: 11px; font-weight: 900; letter-spacing: .09em; }
.signal-item small, .signal-item strong { display: block; }
.signal-item small { color: #726a98; font-size: 8px; font-weight: 800; letter-spacing: .15em; }
.signal-item strong { margin-top: 3px; color: var(--muted-strong); font-size: 11px; }
.signal-line { flex: 1; height: 1px; min-width: 25px; background: linear-gradient(90deg, var(--line), transparent); }

.section-block { padding-bottom: 125px; }
.section-block--events { padding-top: 8px; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 40px; margin-bottom: 36px; }
.section-heading h2, .about-copy h2 { margin: 9px 0 0; font-size: clamp(2.4rem, 5vw, 4.4rem); letter-spacing: -.07em; line-height: .95; }
.section-heading p { max-width: 345px; margin: 0 0 3px; color: var(--muted); font-size: 13px; line-height: 1.7; }
.schedule-layout { display: grid; grid-template-columns: .73fr 1.27fr; gap: 18px; }
.next-stream-card { position: relative; min-height: 405px; overflow: hidden; padding: 29px; border: 1px solid rgba(204, 183, 255, .32); border-radius: var(--radius-lg); background: radial-gradient(circle at 90% 8%, rgba(196, 103, 255, .28), transparent 33%), linear-gradient(155deg, rgba(70, 51, 145, .94), rgba(35, 29, 84, .95)); box-shadow: var(--shadow); }
.next-stream-card::after { position: absolute; right: -50px; bottom: -80px; width: 260px; height: 260px; content: ""; border: 1px solid rgba(99, 217, 255, .17); border-radius: 50%; box-shadow: 0 0 0 25px rgba(97, 94, 255, .03), 0 0 0 50px rgba(97, 94, 255, .03), 0 0 0 75px rgba(97, 94, 255, .03); }
.card-kicker { display: flex; align-items: center; gap: 8px; color: var(--green); letter-spacing: .14em; }
.next-date { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; margin-top: 57px; }
.next-date span { color: var(--muted-strong); font-size: 13px; }
.next-date strong { color: var(--cyan); font-size: 29px; letter-spacing: -.05em; }
.next-stream-card h3 { max-width: 330px; margin: 15px 0 8px; font-size: clamp(1.65rem, 3vw, 2.35rem); letter-spacing: -.05em; line-height: 1.03; }
.next-stream-card p { position: relative; z-index: 1; max-width: 300px; margin: 0; color: var(--muted); font-size: 12px; line-height: 1.65; }
.next-meta { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 21px; }
.next-meta span { padding: 5px 8px; border: 1px solid rgba(153, 138, 255, .22); border-radius: 6px; color: #cac3e9; background: rgba(255,255,255,.05); font-size: 9px; font-weight: 800; }
.countdown { position: absolute; right: 26px; bottom: 28px; z-index: 2; display: flex; flex-direction: column; align-items: end; }
.countdown span { color: var(--cyan); font-size: 18px; font-weight: 800; letter-spacing: -.04em; font-variant-numeric: tabular-nums; }
.countdown small { color: #827aa5; font-size: 9px; text-transform: uppercase; letter-spacing: .13em; }
.countdown.is-live span { color: var(--green); }
.text-link { position: relative; z-index: 2; display: inline-flex; align-items: center; gap: 7px; margin-top: 24px; color: var(--cyan); font-size: 11px; font-weight: 800; }
.text-link:hover { color: white; }
.stream-links { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.stream-links--next { position: relative; z-index: 2; margin-top: 21px; }
.stream-link { display: inline-flex; align-items: center; gap: 5px; padding: 5px 8px; border: 1px solid var(--line); border-radius: 7px; font-size: 9px; font-weight: 800; transition: border-color .2s ease, background .2s ease, transform .2s ease; }
.stream-link:hover { transform: translateY(-1px); color: white; }
.stream-link--youtube { border-color: rgba(255, 104, 151, .28); color: #ffabc4; background: rgba(255, 72, 116, .09); }
.stream-link--youtube:hover { border-color: rgba(255, 104, 151, .65); background: rgba(255, 72, 116, .18); }
.stream-link--twitch { border-color: rgba(167, 106, 255, .33); color: #d6b8ff; background: rgba(145, 68, 255, .11); }
.stream-link--twitch:hover { border-color: rgba(167, 106, 255, .7); background: rgba(145, 68, 255, .2); }
.schedule-list { min-width: 0; padding: 21px 23px 12px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: rgba(40, 33, 89, .72); }
.list-topline { display: flex; align-items: center; justify-content: space-between; padding: 0 4px 15px; border-bottom: 1px solid var(--line); color: var(--muted); font-size: 10px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.list-topline span:last-child { color: #716a90; font-size: 9px; letter-spacing: .02em; text-transform: none; }
.schedule-month-controls { display: flex; align-items: center; justify-content: space-between; gap: 13px; padding: 15px 3px 12px; }
.schedule-month-toggle { display: inline-flex; align-items: center; gap: 8px; padding: 5px 9px; border: 1px solid transparent; border-radius: 9px; color: var(--muted-strong); background: transparent; font-size: 13px; font-weight: 700; letter-spacing: -.01em; text-transform: capitalize; cursor: pointer; transition: border-color .2s ease, background .2s ease, color .2s ease; }
.schedule-month-toggle:hover, .schedule-month-toggle:focus-visible { border-color: var(--line); color: white; background: rgba(255, 255, 255, .05); outline: none; }
.schedule-month-toggle > span:last-child { color: var(--cyan); font-size: 15px; line-height: 1; transition: transform .2s ease; }
.schedule-list.is-calendar .schedule-month-toggle > span:last-child { transform: rotate(180deg); }
.schedule-month-toggle-label { padding: 3px 6px; border-radius: 5px; color: var(--cyan); background: rgba(91, 213, 255, .1); font-size: 8px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.month-button { display: grid; place-items: center; width: 29px; height: 29px; padding: 0; border: 1px solid var(--line); border-radius: 9px; color: var(--cyan); background: rgba(255, 255, 255, .035); cursor: pointer; transition: border-color .2s ease, background .2s ease, color .2s ease, opacity .2s ease; }
.month-button:hover:not(:disabled), .month-button:focus-visible:not(:disabled) { border-color: rgba(140, 234, 255, .6); color: white; background: rgba(91, 213, 255, .12); }
.month-button:disabled { cursor: not-allowed; opacity: .32; }
.schedule-row { position: relative; display: grid; grid-template-columns: 76px minmax(0, 1fr) 82px; align-items: center; gap: 14px; min-height: 116px; padding: 15px 3px; border-bottom: 1px solid rgba(166, 148, 255, .1); cursor: pointer; transition: background .2s ease, border-color .2s ease; }
.schedule-row:hover, .schedule-row:focus-visible { border-radius: 12px; outline: none; background: rgba(119, 91, 236, .1); }
.schedule-row[hidden] { display: none; }
.schedule-row:last-child { border-bottom: 0; }
.schedule-row--active { position: relative; }
.schedule-row--active::before { position: absolute; left: -23px; width: 2px; height: 49px; content: ""; border-radius: 0 3px 3px 0; background: linear-gradient(var(--purple), var(--blue)); box-shadow: 0 0 13px var(--purple); }
.schedule-date { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 62px; height: 68px; border: 1px solid rgba(130, 112, 244, .3); border-radius: 14px; background: rgba(106, 69, 244, .13); }
.schedule-date strong { color: white; font-size: 28px; line-height: 1; }.schedule-date span { margin-top: 6px; color: var(--cyan); font-size: 9px; font-weight: 800; }
.schedule-main { min-width: 0; }.schedule-title-line { display: flex; align-items: center; gap: 8px; min-width: 0; }.schedule-main h3 { overflow: hidden; margin: 0; font-size: 14px; letter-spacing: -.02em; text-overflow: ellipsis; white-space: nowrap; }.schedule-main p { overflow: hidden; margin: 5px 0 0; color: #8880a7; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.platform-badge { flex-shrink: 0; padding: 3px 6px; border-radius: 5px; font-size: 8px; font-weight: 800; }.platform-badge--twitch { color: #dcadff; background: rgba(145, 68, 255, .17); }.platform-badge--youtube { color: #ff9cbd; background: rgba(255, 72, 116, .13); }.platform-badge--other { color: var(--muted-strong); background: rgba(255,255,255,.09); }.platform-badge--dual { color: var(--cyan); background: rgba(53, 200, 255, .1); }
.schedule-time { text-align: right; }.schedule-time strong { display: block; color: var(--cyan); font-size: 13px; }.schedule-time small { display: block; margin-top: 2px; color: #726a98; font-size: 8px; white-space: nowrap; }
.schedule-month-empty { padding: 42px 12px; color: var(--muted); font-size: 12px; text-align: center; }
.schedule-calendar { padding-top: 2px; }
.calendar-weekdays, .calendar-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 5px; }
.calendar-weekdays { padding: 0 1px 7px; color: #9189b1; font-size: 8px; font-weight: 800; letter-spacing: .12em; text-align: center; text-transform: uppercase; }
.calendar-day { min-width: 0; min-height: 88px; padding: 7px 6px; overflow: hidden; border: 1px solid rgba(166, 148, 255, .14); border-radius: 10px; background: rgba(24, 20, 61, .42); }
.calendar-day--empty { border-color: transparent; background: rgba(255, 255, 255, .015); }
.calendar-day--today { border-color: rgba(140, 234, 255, .65); box-shadow: inset 0 0 0 1px rgba(140, 234, 255, .12); }
.calendar-day-number { display: block; color: var(--muted-strong); font-size: 11px; font-weight: 800; line-height: 1; }
.calendar-day--today .calendar-day-number { color: var(--cyan); }
.calendar-day-items { display: flex; flex-direction: column; gap: 3px; margin-top: 7px; }
.calendar-item { display: block; width: 100%; overflow: hidden; padding: 4px 5px; border: 1px solid transparent; border-radius: 5px; color: #d8d0f2; font-size: 8px; font-weight: 700; line-height: 1.25; text-align: left; text-overflow: ellipsis; white-space: nowrap; }
button.calendar-item { font: inherit; cursor: pointer; }
.calendar-item--stream { border-color: rgba(91, 213, 255, .2); color: #a9ecff; background: rgba(42, 151, 199, .13); }
.calendar-item--stream:hover, .calendar-item--stream:focus-visible { border-color: rgba(91, 213, 255, .65); background: rgba(42, 151, 199, .24); outline: none; }
.calendar-item--event { border-color: rgba(242, 139, 244, .22); color: #f2c8ff; background: rgba(177, 82, 200, .14); }
.calendar-legend { display: flex; flex-wrap: wrap; gap: 14px; padding: 12px 2px 2px; color: #a59cbe; font-size: 9px; font-weight: 700; }
.calendar-legend span { display: inline-flex; align-items: center; gap: 6px; }
.calendar-legend-dot { display: inline-block; width: 7px; height: 7px; border-radius: 50%; }
.calendar-legend-dot--stream { background: var(--cyan); box-shadow: 0 0 9px rgba(140, 234, 255, .6); }
.calendar-legend-dot--event { background: var(--pink); box-shadow: 0 0 9px rgba(242, 139, 244, .6); }
.empty-state { display: grid; place-items: center; min-height: 250px; color: var(--muted); text-align: center; }.empty-state span { display: block; color: var(--purple); font-size: 26px; }.empty-state p { font-size: 13px; }.empty-state--wide { grid-column: 1 / -1; border: 1px solid var(--line); border-radius: var(--radius-lg); }

.events-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }.event-card { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius-lg); background: rgba(34, 28, 78, .72); box-shadow: 0 22px 60px rgba(9, 7, 35, .18); transition: transform .2s ease, border-color .2s ease; }.event-card:hover { transform: translateY(-5px); border-color: rgba(171, 142, 255, .55); }.event-card--featured { grid-row: span 2; }.event-art { position: relative; display: flex; align-items: end; height: 184px; overflow: hidden; padding: 21px; background: radial-gradient(circle at 75% 15%, rgba(204, 105, 255, .85), transparent 24%), linear-gradient(135deg, #36217a, #7042b5 49%, #27225f); }.event-card--featured .event-art { height: 315px; }.event-art--blue { background: radial-gradient(circle at 30% 15%, rgba(39, 206, 255, .7), transparent 24%), linear-gradient(135deg, #1b5685, #4056b8 50%, #28245f); }.event-art::after { position: absolute; right: 8%; bottom: -55px; width: 210px; height: 210px; content: ""; border: 1px solid rgba(233, 227, 255, .38); border-radius: 50%; box-shadow: 0 0 0 23px rgba(233,227,255,.04), 0 0 0 47px rgba(233,227,255,.04), 0 0 0 71px rgba(233,227,255,.04); }.event-art span { position: relative; z-index: 1; color: rgba(255,255,255,.75); font-size: 10px; font-weight: 800; letter-spacing: .16em; }.event-art i { position: absolute; display: block; width: 8px; height: 8px; border-radius: 3px; background: var(--cyan); box-shadow: 0 0 20px var(--cyan); transform: rotate(45deg); }.event-art i:first-of-type { top: 26%; left: 31%; }.event-art i:last-of-type { top: 36%; right: 21%; width: 5px; height: 5px; background: var(--pink); box-shadow: 0 0 20px var(--pink); }.event-image { width: 100%; height: 184px; object-fit: cover; }.event-card--featured .event-image { height: 315px; }.event-content { display: grid; grid-template-columns: 60px minmax(0, 1fr); gap: 20px; padding: 25px 26px 27px; }.event-date { display: flex; flex-direction: column; align-items: start; border-right: 1px solid var(--line); }.event-date span:first-child { color: white; font-size: 30px; font-weight: 800; letter-spacing: -.07em; line-height: 1; }.event-date span:nth-child(2) { margin-top: 5px; color: var(--cyan); font-size: 9px; font-weight: 800; }.event-date small { margin-top: 9px; color: #9991b8; font-size: 9px; }.event-content h3 { margin: 7px 0 8px; font-size: 22px; letter-spacing: -.045em; line-height: 1.05; }.event-content p { margin: 0; color: var(--muted); font-size: 11px; line-height: 1.65; }.event-meta { display: flex; flex-wrap: wrap; gap: 11px; margin-top: 16px; color: #b4acd0; font-size: 10px; }.event-note { display: inline-block; margin-top: 21px; color: #aaa1c8; font-size: 10px; font-weight: 800; }

.about-section { display: grid; grid-template-columns: .8fr 1.2fr; align-items: center; gap: 80px; min-height: 420px; padding-top: 10px; padding-bottom: 120px; border-top: 1px solid var(--line); }.about-mark { position: relative; display: grid; place-items: center; width: min(100%, 370px); aspect-ratio: 1; overflow: hidden; border: 1px solid rgba(139, 119, 255, .36); border-radius: 35% 65% 56% 44% / 49% 40% 60% 51%; background: radial-gradient(circle at 38% 23%, rgba(70, 207, 255, .45), transparent 18%), radial-gradient(circle at 70% 65%, rgba(187, 57, 255, .48), transparent 26%), #29215f; box-shadow: 0 0 0 20px rgba(105, 79, 255, .045), 0 0 0 42px rgba(105, 79, 255, .035), 0 0 70px rgba(112, 81, 255, .18); transform: rotate(-8deg); }.about-mark::before, .about-mark::after { position: absolute; inset: 16%; content: ""; border: 1px solid rgba(112, 213, 255, .45); clip-path: polygon(25% 3%, 75% 3%, 98% 50%, 75% 97%, 25% 97%, 2% 50%); }.about-mark::after { inset: 26%; border-color: rgba(218, 120, 255, .4); }.about-mark span, .about-mark strong { position: relative; z-index: 1; display: block; transform: rotate(8deg); font-size: clamp(2.7rem, 7vw, 5rem); font-weight: 900; letter-spacing: -.12em; line-height: .74; text-shadow: 8px 10px 0 rgba(19, 15, 53, .45), 0 0 27px rgba(148, 85, 255, .65); }.about-mark span { margin-left: -25px; color: #f3c6ff; }.about-mark strong { margin-left: 30px; color: #aabfff; }.about-mark i { position: absolute; width: 45%; height: 1px; background: var(--cyan); box-shadow: 0 0 14px var(--cyan); transform: rotate(25deg); }.about-copy { max-width: 580px; }.about-copy h2 { margin-top: 13px; }.about-copy p { max-width: 510px; margin: 25px 0 0; color: var(--muted); font-size: 16px; line-height: 1.8; }.about-links { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }

.site-footer { display: grid; grid-template-columns: 1fr 1fr 1fr; align-items: center; gap: 20px; width: min(calc(100% - 64px), var(--max)); margin: 0 auto; padding: 25px 0 42px; border-top: 1px solid var(--line); }.brand--footer .brand-copy strong { font-size: 14px; }.footer-center { text-align: center; }.footer-center p { margin: 0; color: var(--muted-strong); font-size: 11px; font-weight: 700; }.footer-center small { display: block; margin-top: 4px; color: #6e668c; font-size: 9px; }.footer-links { display: flex; justify-content: end; gap: 15px; color: #8f87ae; font-size: 10px; font-weight: 700; }.footer-links a:hover { color: var(--cyan); }

@media (max-width: 980px) {
    .site-header, .section-pad, .signal-strip, .site-footer { width: min(calc(100% - 40px), var(--max)); }
    .hero { grid-template-columns: 1fr; padding-top: 42px; }.hero-copy { max-width: 730px; }.hero-visual { min-height: auto; margin: 15px auto 0; width: min(100%, 600px); }.hero h1 { font-size: clamp(3rem, 8vw, 5rem); }.signal-strip { gap: 25px; overflow-x: auto; margin-bottom: 85px; }.signal-line { display: none; }.schedule-layout { grid-template-columns: 1fr; }.next-stream-card { min-height: 360px; }.events-grid { grid-template-columns: 1fr 1fr; }.event-card--featured { grid-row: auto; }.event-card--featured .event-art, .event-card--featured .event-image { height: 220px; }.about-section { gap: 40px; }
}
@media (max-width: 720px) {
    .site-header { position: relative; padding-top: 17px; }.header-actions, .main-nav { display: none; }.nav-toggle { display: block; margin-left: auto; }.main-nav.is-open { position: absolute; top: 72px; right: 0; left: 0; display: flex; flex-direction: column; align-items: stretch; gap: 0; padding: 8px; border: 1px solid var(--line); border-radius: 16px; background: rgba(31, 25, 71, .98); box-shadow: var(--shadow); }.main-nav.is-open a { padding: 12px; }.main-nav.is-open a::after { display: none; }.hero { min-height: auto; padding-top: 55px; padding-bottom: 55px; }.hero h1 { font-size: clamp(2.85rem, 13vw, 5rem); letter-spacing: -.035em; line-height: 1.02; }.hero-description { font-size: 15px; }.hero-visual { min-height: auto; margin-top: 30px; }.hero-dashboard-main { padding: 25px 22px 20px; }.hero-agenda { margin-right: 12px; margin-left: 12px; }.signal-strip { width: 100%; margin-bottom: 70px; padding: 17px 20px; border-right: 0; border-left: 0; border-radius: 0; }.section-pad, .site-footer { width: min(calc(100% - 34px), var(--max)); }.section-heading { display: block; margin-bottom: 25px; }.section-heading p { margin-top: 18px; font-size: 12px; }.section-block { padding-bottom: 80px; }.next-stream-card { min-height: 390px; padding: 23px; }.next-date { margin-top: 45px; }.schedule-list { padding: 17px 15px 10px; }.schedule-month-toggle-label { display: none; }.schedule-row { grid-template-columns: 58px minmax(0, 1fr) 54px; gap: 10px; padding: 12px 0; }.schedule-row--active::before { left: -15px; }.schedule-date { width: 54px; height: 61px; }.schedule-date strong { font-size: 24px; }.schedule-main h3 { font-size: 12px; }.schedule-main p { display: none; }.schedule-time strong { font-size: 12px; }.schedule-time small { display: none; }.calendar-weekdays, .calendar-grid { gap: 3px; }.calendar-day { min-height: 72px; padding: 5px 3px; border-radius: 7px; }.calendar-day-number { font-size: 10px; }.calendar-day-items { gap: 2px; margin-top: 5px; }.calendar-item { padding: 3px; border-radius: 4px; font-size: 7px; }.stream-link { padding: 4px 5px; font-size: 8px; }.events-grid { grid-template-columns: 1fr; }.event-card--featured .event-art, .event-card--featured .event-image, .event-art, .event-image { height: 190px; }.event-content { grid-template-columns: 52px minmax(0,1fr); gap: 15px; padding: 21px 19px 22px; }.event-content h3 { font-size: 20px; }.about-section { grid-template-columns: 1fr; gap: 40px; padding-bottom: 85px; }.about-mark { width: min(100%, 290px); margin: 0 auto; }.about-copy p { font-size: 14px; }.site-footer { grid-template-columns: 1fr; gap: 22px; padding-bottom: 30px; }.footer-center { order: 3; text-align: left; }.footer-links { justify-content: start; }.brand--footer { order: 1; }
}

/* Modern graphite / mint treatment for the community upload page. */
body.video-submit-body {
    --submit-bg: #f2f7f9;
    --submit-bg-soft: #eaf3f6;
    --submit-surface: rgba(255, 255, 255, .96);
    --submit-surface-strong: #ffffff;
    --submit-line: rgba(35, 93, 116, .14);
    --submit-text: #173246;
    --submit-muted: #5d7380;
    --submit-muted-strong: #385360;
    --submit-accent: #258fb7;
    --submit-accent-dark: #ffffff;
    --submit-blue: #227fa5;
    color-scheme: light;
    color: var(--submit-text);
    background: radial-gradient(circle at 86% 0, rgba(91, 196, 231, .16), transparent 24%), linear-gradient(180deg, #ffffff 0%, var(--submit-bg) 48%, #e7f0f3 100%);
}
body.video-submit-body .page-noise { opacity: .018; }
body.video-submit-body .page-glow--one { background: radial-gradient(circle, rgba(79, 190, 228, .2), transparent 68%); }
body.video-submit-body .page-glow--two { background: radial-gradient(circle, rgba(102, 208, 232, .16), transparent 67%); }
body.video-submit-body .site-header {
    border-bottom-color: var(--submit-line);
    background: rgba(255, 255, 255, .86);
    box-shadow: 0 12px 35px rgba(35, 93, 116, .08);
}
body.video-submit-body .brand-copy strong { color: #173246; text-shadow: 0 0 24px rgba(37, 143, 183, .12); }
body.video-submit-body .brand-copy strong span { color: var(--submit-accent); }
body.video-submit-body .brand-copy small { color: #718793; }
body.video-submit-body .main-nav a { color: #496571; }
body.video-submit-body .main-nav a:hover, body.video-submit-body .main-nav a:focus-visible { color: #173246; }
body.video-submit-body .main-nav-link--accent { display: inline-flex; align-items: center; cursor: pointer; border-color: rgba(37, 143, 183, .3); color: var(--submit-accent) !important; background: rgba(37, 143, 183, .08); transition: color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease, background .2s ease; }
body.video-submit-body .main-nav-link--accent:hover, body.video-submit-body .main-nav-link--accent:focus-visible { transform: translateY(-1px); border-color: rgba(37, 143, 183, .7); background: rgba(37, 143, 183, .14); box-shadow: 0 8px 18px rgba(37, 143, 183, .18); }
body.video-submit-body .nav-toggle { border-color: var(--submit-line); color: var(--submit-muted-strong); background: rgba(255, 255, 255, .72); }
body.video-submit-body .nav-toggle span:not(.sr-only) { background: var(--submit-muted-strong); }
body.video-submit-body .main-nav.is-open { border-color: var(--submit-line); background: rgba(255, 255, 255, .98); box-shadow: 0 18px 45px rgba(35, 93, 116, .14); }
body.video-submit-body .main-nav.is-open a { color: #496571; }
body.video-submit-body .main-nav.is-open a:hover, body.video-submit-body .main-nav.is-open a:focus-visible { color: #173246; }
body.video-submit-body .button--ghost { border-color: var(--submit-line); color: var(--submit-muted-strong); background: rgba(255, 255, 255, .7); }
body.video-submit-body .button--ghost:hover, body.video-submit-body .button--ghost:focus-visible { border-color: rgba(37, 143, 183, .5); color: #1b6684; background: rgba(91, 196, 231, .12); }
body.video-submit-body .video-submit-page { padding-bottom: 82px; }
body.video-submit-body .video-submit-hero {
    position: relative;
    display: block;
    padding-top: 77px;
    padding-bottom: 58px;
}
body.video-submit-body .video-submit-hero::before { position: absolute; top: 37px; left: 0; width: 44px; height: 2px; content: ""; background: var(--submit-accent); box-shadow: 0 0 18px rgba(37, 143, 183, .4); }
body.video-submit-body .video-submit-hero .section-index { color: var(--submit-accent); }
body.video-submit-body .video-submit-hero h1 { max-width: 780px; margin: 17px 0 22px; color: var(--submit-text); font-size: clamp(3.4rem, 7vw, 7rem); font-weight: 720; letter-spacing: -.085em; line-height: .9; }
body.video-submit-body .video-submit-hero p { max-width: 625px; color: var(--submit-muted); font-size: 15px; line-height: 1.8; }
body.video-submit-body .video-submit-layout { grid-template-columns: minmax(0, 1fr) 338px; gap: 26px; }
body.video-submit-body .video-submit-card, body.video-submit-body .video-submit-info-card, body.video-submit-body .video-submit-rules-card { border-color: var(--submit-line); border-radius: 22px; background: var(--submit-surface); box-shadow: 0 28px 80px rgba(35, 93, 116, .12); }
body.video-submit-body .video-submit-card { padding: clamp(29px, 4vw, 47px); background: radial-gradient(circle at 100% 0, rgba(91, 196, 231, .1), transparent 33%), linear-gradient(145deg, #ffffff, #f4f9fb); }
body.video-submit-body .video-submit-card h2, body.video-submit-body .video-submit-info-card h2 { color: var(--submit-text); }
body.video-submit-body .video-submit-intro { color: var(--submit-muted); }
body.video-submit-body .card-kicker--selected { color: var(--submit-accent); }
body.video-submit-body .card-kicker--selected strong { border-color: rgba(37, 143, 183, .26); color: var(--submit-accent); background: rgba(37, 143, 183, .08); }
body.video-submit-body .video-submit-form { margin-top: 35px; }
body.video-submit-body .video-submit-field label { color: var(--submit-muted-strong); }
body.video-submit-body .video-submit-field label span { color: var(--submit-accent); }
body.video-submit-body .video-submit-field input { border-color: rgba(35, 93, 116, .2); color: var(--submit-text); background: #ffffff; }
body.video-submit-body .video-submit-field input:focus { border-color: rgba(37, 143, 183, .7); box-shadow: 0 0 0 3px rgba(37, 143, 183, .12); }
body.video-submit-body .video-submit-field input::placeholder { color: #8a9da6; }
body.video-submit-body .video-submit-field small { color: #6c818b; }
body.video-submit-body .video-submit-field--wide { margin-top: 28px; }
body.video-submit-body .video-submit-captcha { margin-top: 26px; padding-top: 23px; border-top: 1px solid var(--submit-line); }
body.video-submit-body .video-submit-bottom .video-submit-captcha { flex: 1 1 auto; margin-top: 0; padding-top: 0; border-top: 0; }
body.video-submit-body .video-submit-captcha cap-widget {
    display: block;
    width: min(100%, 380px);
    --cap-background: #ffffff;
    --cap-border-color: rgba(35, 93, 116, .2);
    --cap-border-radius: 12px;
    --cap-widget-height: 56px;
    --cap-widget-width: 100%;
    --cap-widget-padding: 13px;
    --cap-gap: 12px;
    --cap-color: var(--submit-text);
    --cap-checkbox-size: 24px;
    --cap-checkbox-border: 1px solid rgba(35, 93, 116, .28);
    --cap-checkbox-border-radius: 6px;
    --cap-checkbox-background: #f7fbfc;
    --cap-spinner-color: var(--submit-accent);
    --cap-spinner-background-color: #e5f0f3;
    --cap-font: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
body.video-submit-body .video-submit-captcha > small { display: block; margin-top: 9px; color: #6c818b; font-size: 11px; }
body.video-submit-body .video-submit-bottom { border-top-color: var(--submit-line); }
body.video-submit-body .video-submit-bottom p { color: #6c818b; }
body.video-submit-body .video-submit-bottom p i { color: var(--submit-accent); }
body.video-submit-body .button--primary { color: var(--submit-accent-dark); background: var(--submit-accent); box-shadow: 0 12px 30px rgba(37, 143, 183, .2); }
body.video-submit-body .button--primary:hover, body.video-submit-body .button--primary:focus-visible { color: var(--submit-accent-dark); background: #1b7fa5; box-shadow: 0 15px 35px rgba(37, 143, 183, .27); }
body.video-submit-body .video-submit-info-card { padding: 29px 27px 22px; background: rgba(255, 255, 255, .94); }
body.video-submit-body .video-submit-info-card .section-index { color: var(--submit-blue); }
body.video-submit-body .video-submit-info-card li { border-top-color: var(--submit-line); }
body.video-submit-body .video-submit-info-card li > span { color: var(--submit-accent); }
body.video-submit-body .video-submit-info-card li strong { color: var(--submit-text); }
body.video-submit-body .video-submit-info-card li p { color: #6b808a; }
body.video-submit-body .video-submit-rules-card { background: linear-gradient(145deg, rgba(215, 241, 248, .9), rgba(255, 255, 255, .96)); }
body.video-submit-body .video-submit-rules-card .card-kicker { color: var(--submit-accent); }
body.video-submit-body .video-submit-rules-card li { color: #46616e; }
body.video-submit-body .video-submit-rules-card li i { color: var(--submit-accent); }
body.video-submit-body .video-submit-card--closed .section-index { color: var(--submit-accent); }
body.video-submit-body .video-submit-card--closed p { color: var(--submit-muted); }
body.video-submit-body .video-submit-closed-icon { border-color: rgba(37, 143, 183, .25); color: var(--submit-accent); background: rgba(91, 196, 231, .1); }
body.video-submit-body .submit-alert { border-color: var(--submit-line); }
body.video-submit-body .submit-alert--success { border-color: rgba(37, 143, 183, .24); color: #236278; background: rgba(91, 196, 231, .1); }
body.video-submit-body .submit-alert--success i { color: var(--submit-accent); }
body.video-submit-body .submit-alert--error { border-color: rgba(202, 79, 88, .25); color: #9b3f4a; background: rgba(237, 111, 120, .09); }
body.video-submit-body .submit-alert--error i { color: #c64f5b; }
body.video-submit-body .site-footer { border-top-color: var(--submit-line); }
body.video-submit-body .footer-center p { color: var(--submit-muted-strong); }
body.video-submit-body .footer-center small, body.video-submit-body .footer-links { color: #6f858f; }
body.video-submit-body .footer-links a:hover { color: var(--submit-accent); }

@media (max-width: 980px) {
    body.video-submit-body .video-submit-hero { padding-top: 58px; }
    body.video-submit-body .video-submit-layout { grid-template-columns: 1fr; }
    body.video-submit-body .video-submit-aside { grid-template-columns: 1fr 1fr; gap: 18px; }
}
@media (max-width: 720px) {
    body.video-submit-body .video-submit-hero { display: block; min-height: auto; padding-top: 57px; }
    body.video-submit-body .video-submit-hero::before { top: 31px; }
    body.video-submit-body .video-submit-hero h1 { max-width: 560px; font-size: clamp(3.15rem, 15vw, 5rem); }
    body.video-submit-body .video-submit-hero p { font-size: 14px; }
    body.video-submit-body .video-submit-card { padding: 25px 20px; }
    body.video-submit-body .video-submit-aside { grid-template-columns: 1fr; }
    body.video-submit-body .video-submit-bottom { align-items: stretch; }
    body.video-submit-body .video-submit-bottom .button { width: 100%; }
}

/* Community video submission page. */
.main-nav-link--accent { padding: 8px 11px; border: 1px solid rgba(140, 234, 255, .28); border-radius: 9px; color: #397a92 !important; background: rgba(91, 213, 255, .08); cursor: pointer !important; }
.main-nav-link--accent::after { display: none; }
.main-nav-link--accent:hover, .main-nav-link--accent:focus-visible { border-color: rgba(140, 234, 255, .65); color: #245f76 !important; background: rgba(91, 213, 255, .16); }
.video-submit-page { padding-bottom: 55px; }
.video-submit-hero { display: flex; align-items: end; justify-content: space-between; gap: 40px; padding-top: 92px; padding-bottom: 57px; }
.video-submit-hero h1 { max-width: 760px; margin: 13px 0 17px; font-size: clamp(3rem, 7vw, 6.4rem); letter-spacing: -.07em; line-height: .95; }
.video-submit-hero p { max-width: 650px; margin: 0; color: var(--muted); font-size: 16px; line-height: 1.75; }
.video-submit-layout { display: grid; grid-template-columns: minmax(0, 1.36fr) minmax(280px, .64fr); align-items: start; gap: 18px; }
.video-submit-main, .video-submit-aside { min-width: 0; }
.video-submit-card, .video-submit-info-card, .video-submit-rules-card { border: 1px solid var(--line); border-radius: var(--radius-lg); background: rgba(43, 35, 96, .78); box-shadow: 0 22px 60px rgba(9, 7, 35, .12); }
.video-submit-card { padding: clamp(24px, 4vw, 42px); background: radial-gradient(circle at 100% 0, rgba(181, 106, 255, .18), transparent 33%), linear-gradient(145deg, rgba(65, 54, 137, .84), rgba(34, 29, 83, .9)); }
.video-submit-card h2, .video-submit-info-card h2 { margin: 17px 0 8px; font-size: clamp(1.75rem, 3vw, 2.5rem); letter-spacing: -.06em; line-height: 1; }
.video-submit-intro { margin: 0; color: var(--muted); font-size: 12px; }
.card-kicker--selected { display: flex; align-items: center; gap: 10px; }
.card-kicker--selected strong { display: grid; place-items: center; width: 23px; height: 23px; border: 1px solid rgba(140, 234, 255, .27); border-radius: 7px; color: var(--cyan); background: rgba(91, 213, 255, .1); font-size: 9px; }
.video-submit-form { margin-top: 31px; }
.video-submit-honeypot { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.video-submit-field label { display: block; margin: 0 0 8px; color: #e2def2; font-size: 11px; font-weight: 800; }
.video-submit-field label span { color: var(--cyan); }
.video-submit-field label em { color: #aaa1c8; font-size: 9px; font-style: normal; font-weight: 500; }
.video-submit-field input { width: 100%; height: 47px; padding: 0 13px; border: 1px solid rgba(211, 201, 255, .24); border-radius: 10px; outline: 0; color: var(--text); background: #211b50; font-size: 13px; transition: border-color .2s ease, box-shadow .2s ease; }
.video-submit-field input:focus { border-color: rgba(140, 234, 255, .7); box-shadow: 0 0 0 3px rgba(140, 234, 255, .12); }
.video-submit-field input::placeholder { color: #80769f; }
.video-submit-field small { display: block; margin-top: 7px; color: #aaa1c8; font-size: 9px; line-height: 1.45; }
.video-submit-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 21px 14px; margin-top: 21px; }
.video-submit-field--wide { margin-top: 25px; }
.video-submit-bottom { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-top: 28px; padding-top: 20px; border-top: 1px solid rgba(211, 201, 255, .14); }
.video-submit-bottom p { margin: 0; color: #aaa1c8; font-size: 10px; line-height: 1.55; }
.video-submit-bottom p i { margin-right: 5px; color: var(--green); }
.video-submit-bottom .button { flex-shrink: 0; }
.video-submit-info-card { padding: 28px 26px 21px; }
.video-submit-info-card h2 { font-size: 29px; }
.video-submit-info-card ol { display: grid; gap: 0; margin: 26px 0 0; padding: 0; list-style: none; }
.video-submit-info-card li { display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 11px; padding: 16px 0; border-top: 1px solid rgba(211, 201, 255, .14); }
.video-submit-info-card li > span { color: var(--cyan); font-size: 9px; font-weight: 900; letter-spacing: .1em; }
.video-submit-info-card li strong { display: block; color: #f7f5ff; font-size: 12px; }
.video-submit-info-card li p { margin: 5px 0 0; color: #aaa1c8; font-size: 10px; line-height: 1.55; }
.video-submit-rules-card { margin-top: 18px; padding: 23px 25px; background: linear-gradient(145deg, rgba(34, 101, 143, .5), rgba(43, 35, 96, .78)); }
.video-submit-rules-card .card-kicker { color: var(--cyan); }
.video-submit-rules-card ul { display: grid; gap: 11px; margin: 18px 0 0; padding: 0; list-style: none; }
.video-submit-rules-card li { color: #d0c9e8; font-size: 10px; line-height: 1.45; }
.video-submit-rules-card li i { width: 16px; color: var(--green); }
.submit-alert { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 17px; padding: 13px 16px; border: 1px solid var(--line); border-radius: 12px; font-size: 11px; line-height: 1.5; }
.submit-alert i { margin-top: 2px; }
.submit-alert--success { border-color: rgba(103, 247, 192, .3); color: #b1f3d9; background: rgba(103, 247, 192, .08); }
.submit-alert--success i { color: var(--green); }
.submit-alert--error { border-color: rgba(255, 141, 175, .32); color: #ffc4d4; background: rgba(255, 87, 122, .08); }
.submit-alert--error i { color: #ff9eb8; }
.video-submit-card--closed { padding: clamp(28px, 5vw, 50px); }
.video-submit-card--closed h2 { max-width: 510px; font-size: clamp(2rem, 4vw, 3.4rem); }
.video-submit-card--closed p { max-width: 520px; margin: 0 0 24px; color: var(--muted); line-height: 1.7; }
.video-submit-closed-icon { display: grid; place-items: center; width: 52px; height: 52px; margin-bottom: 28px; border: 1px solid rgba(242, 139, 244, .34); border-radius: 15px; color: var(--pink); background: rgba(242, 139, 244, .1); }

@media (max-width: 980px) {
    .video-submit-hero { align-items: start; padding-top: 58px; }
    .video-submit-layout { grid-template-columns: 1fr; }
    .video-submit-aside { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
    .video-submit-rules-card { margin-top: 0; }
}
@media (max-width: 720px) {
    .main-nav-link--accent { border: 0; background: transparent; }
    .video-submit-hero { padding-top: 55px; padding-bottom: 38px; }
    .video-submit-hero h1 { font-size: clamp(2.7rem, 13vw, 4.6rem); }
    .video-submit-hero p { font-size: 14px; }
    .video-submit-card { padding: 24px 20px; border-radius: 21px; }
    .video-submit-fields, .video-submit-aside { grid-template-columns: 1fr; }
    .video-submit-rules-card { margin-top: 18px; }
    .video-submit-bottom { align-items: stretch; flex-direction: column; }
    .video-submit-bottom .button { width: 100%; }
}

/* Shared confirmation modal for public-page actions. */
body.playhub-confirm-modal-open { overflow: hidden; }
.playhub-confirm-modal { position: fixed; inset: 0; z-index: 1100; display: grid; place-items: center; padding: 22px; }
.playhub-confirm-modal[hidden] { display: none; }
.playhub-confirm-modal__backdrop { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: rgba(18, 52, 67, .34); backdrop-filter: blur(8px); cursor: pointer; }
.playhub-confirm-modal__dialog { position: relative; width: min(100%, 460px); padding: 31px; border: 1px solid rgba(37, 143, 183, .24); border-radius: 24px; color: var(--submit-text, #173246); background: rgba(255, 255, 255, .98); box-shadow: 0 28px 90px rgba(35, 93, 116, .25); }
.playhub-confirm-modal__close { position: absolute; top: 17px; right: 17px; display: grid; place-items: center; width: 34px; height: 34px; padding: 0; border: 1px solid rgba(35, 93, 116, .14); border-radius: 10px; color: #6c818b; background: transparent; font: inherit; cursor: pointer; }
.playhub-confirm-modal__close:hover, .playhub-confirm-modal__close:focus-visible { border-color: rgba(37, 143, 183, .4); color: #1b6684; background: rgba(91, 196, 231, .1); outline: none; }
.playhub-confirm-modal__kicker { display: flex; align-items: center; gap: 9px; color: var(--submit-accent, #258fb7); font-size: 10px; font-weight: 850; letter-spacing: .16em; }
.playhub-confirm-modal__kicker i { font-size: 14px; }
.playhub-confirm-modal__dialog h2 { max-width: calc(100% - 32px); margin: 18px 0 9px; color: var(--submit-text, #173246); font-size: clamp(1.55rem, 4vw, 2rem); letter-spacing: -.06em; line-height: 1.05; }
.playhub-confirm-modal__dialog p { margin: 0; color: #617984; font-size: 13px; line-height: 1.7; }
.playhub-confirm-modal__actions { display: flex; justify-content: flex-end; gap: 9px; margin-top: 25px; }
.playhub-confirm-modal__button { min-height: 42px; padding: 0 16px; border: 1px solid rgba(35, 93, 116, .18); border-radius: 10px; color: #46616e; background: #f4f9fb; font: inherit; font-size: 11px; font-weight: 800; cursor: pointer; transition: background .2s, border-color .2s, color .2s, transform .2s; }
.playhub-confirm-modal__button:hover, .playhub-confirm-modal__button:focus-visible { border-color: rgba(37, 143, 183, .4); color: #1b6684; background: #e7f4f7; outline: none; transform: translateY(-1px); }
.playhub-confirm-modal__button--confirm { border-color: transparent; color: #fff; background: var(--submit-accent, #258fb7); box-shadow: 0 10px 23px rgba(37, 143, 183, .22); }
.playhub-confirm-modal__button--confirm:hover, .playhub-confirm-modal__button--confirm:focus-visible { border-color: transparent; color: #fff; background: #1b7fa5; }
@media (max-width: 520px) {
    .playhub-confirm-modal { padding: 14px; }
    .playhub-confirm-modal__dialog { padding: 25px 20px 20px; border-radius: 20px; }
    .playhub-confirm-modal__actions { flex-direction: column-reverse; }
    .playhub-confirm-modal__button { width: 100%; }
}

/* The public shell stays mounted while a route is fetched. */
body.public-spa-loading { cursor: progress; }
body.public-spa-loading::after {
    position: fixed;
    z-index: 1200;
    top: 0;
    left: 0;
    width: 100%;
    height: 3px;
    content: '';
    background: linear-gradient(90deg, var(--cyan, #5bc4e7), var(--purple, #9b7cff), var(--cyan, #5bc4e7));
    background-size: 200% 100%;
    animation: public-spa-progress 1.1s linear infinite;
    pointer-events: none;
}
@keyframes public-spa-progress {
    from { background-position: 0 0; }
    to { background-position: 200% 0; }
}
