:root {
  --color-bg: #010c16;
  --color-bg-raised: #04141f;
  --color-header: rgba(1, 13, 21, .94);
  --color-panel: rgba(6, 24, 36, .82);
  --color-field: rgba(0, 8, 14, .8);
  --color-line: rgba(79, 216, 224, .32);
  --color-line-soft: rgba(79, 216, 224, .12);
  --color-line-strong: rgba(95, 190, 240, .55);
  --color-field-line: rgba(94, 230, 208, .7);
  --color-text: #dcecf0;
  --color-text-dim: #8fa9b2;
  --color-text-link: #9ce4ff;
  --color-teal: #5ee6d0;
  --color-green: #5ef79b;
  --color-green-deep: #36c46f;
  --color-ink: #03150c;
  --color-danger: #ff9a9a;
  --tag-stream: #14754a;
  --tag-video: #14754a;
  --tag-community: #2a5cc0;
  --tag-news: #8a4b14;
  --tag-neutral: #37505c;
  --tag-twitch: #6a3fb0;
  --tag-youtube: #a42323;
  --tag-tiktok: #37505c;
  --tag-resonite: #0f6a73;
  --tag-discord: #2a5cc0;
  --tag-next: #14754a;
  --radius-sm: 6px;
  --radius-md: 14px;
  --radius-pill: 999px;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --text-xs: 12px;
  --text-sm: 13px;
  --text-md: 14px;
  --text-lg: 18px;
  --text-xl: 22px;
  --text-2xl: 30px;
  --font-body: "Inter", "Segoe UI", system-ui, -apple-system, sans-serif;
  --font-display: "Rajdhani", "Segoe UI", system-ui, sans-serif;
  --shadow-glow: 0 0 18px rgba(94, 230, 208, .28);
  --shadow-lift: 0 6px 30px rgba(94, 230, 208, .2);
  --shadow-pop: 0 14px 30px rgba(0, 0, 0, .5);
  --btn-height: 44px;
  --target-min: 44px;
  --page-width: 1214px;
  --header-height: 56px;
  --card-height: 215px;
  --btn-height-small: 34px;
  --color-title: #9be3ee;
  --color-btn-edge: #3fd0a4;
  --color-card-edge: #1d4f8a;
  --color-card-edge-light: #3aa6c9;
  --media-thumb-width: 102px;
  --media-thumb-height: 59px;
  --media-profile: 220px;
  --media-feature: 142px;
}

*, *::before, *::after { box-sizing: border-box; }
[hidden] { display: none !important; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--header-height) + var(--space-2)); }
body { margin: 0; background: var(--color-bg); color: var(--color-text); font: var(--text-md)/1.55 var(--font-body); -webkit-font-smoothing: antialiased; display: flex; flex-direction: column; min-height: 100dvh; overflow-wrap: anywhere; }
body > main { flex: 1 0 auto; width: 100%; }
img { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
ul { margin: 0; padding: 0; list-style: none; }
h1, h2, h3, p { margin: 0; }
:focus-visible { outline: 2px solid var(--color-teal); outline-offset: 3px; border-radius: var(--radius-sm); }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.sprite { position: absolute; width: 0; height: 0; overflow: hidden; }
.icon { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.icon .solid { fill: currentColor; stroke: none; }
.mark { fill: rgba(94, 230, 208, .15); stroke: var(--color-teal); stroke-width: 1.3; stroke-linejoin: round; flex: none; }
.stack { display: flex; flex-direction: column; gap: var(--space-3); }
.page-grid > *, .card-grid > *, .stack > *, .admin > * { min-width: 0; }
.skip-link { position: absolute; left: var(--space-3); top: -60px; z-index: 50; padding: var(--space-3) var(--space-4); border-radius: var(--radius-sm); background: var(--color-green); color: var(--color-ink); font: 600 var(--text-sm) var(--font-body); transition: top .15s; }
.skip-link:focus { top: var(--space-2); }

.btn { display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2); min-height: var(--btn-height); padding: 0 var(--space-5); border: 1px solid var(--color-line-strong); border-radius: var(--radius-pill); background: rgba(2, 14, 22, .6); color: var(--color-text); font: 600 var(--text-sm)/1 var(--font-body); cursor: pointer; transition: transform .15s, box-shadow .15s, background .15s; }
.btn:hover { transform: translateY(-1px); box-shadow: var(--shadow-glow); background: rgba(10, 40, 50, .8); }
.btn--primary { border-color: transparent; background: linear-gradient(90deg, var(--color-green-deep), var(--color-green)); color: var(--color-ink); }
.btn--primary:hover { background: linear-gradient(90deg, var(--color-green-deep), var(--color-green)); }
.btn--small { min-height: var(--btn-height-small); padding: 0 var(--space-4); font-size: var(--text-xs); }
.btn--cut { position: relative; isolation: isolate; border: 0; border-radius: 0; background: none; }
.btn--cut::before, .btn--cut::after { content: ""; position: absolute; z-index: -1; clip-path: polygon(10px 0, calc(100% - 10px) 0, 100% 50%, calc(100% - 10px) 100%, 10px 100%, 0 50%); }
.btn--cut::before { inset: 0; background: var(--color-btn-edge); }
.btn--cut::after { inset: 1.5px; background: rgba(2, 14, 22, .92); }
.btn--cut:hover { background: none; box-shadow: none; filter: drop-shadow(0 0 8px rgba(94, 230, 208, .45)); }
.btn--cut:hover::after { background: rgba(10, 40, 50, .95); }
.btn--cut span[aria-hidden="true"] { color: var(--color-green); }
.btn--danger { border-color: var(--color-danger); color: var(--color-danger); }
.btn--block { width: 100%; }
.btn[disabled] { opacity: .55; cursor: not-allowed; transform: none; box-shadow: none; }
.link-accent { color: var(--color-green); font-size: var(--text-xs); }
.link-accent:hover { text-decoration: underline; }

.panel { padding: var(--space-4); border: 1px solid var(--color-line); border-radius: var(--radius-md); background: var(--color-panel); }
.panel--flush { display: flex; flex-direction: column; padding: 0; overflow: hidden; }
.panel__body { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-2); padding: var(--space-4); }
.panel__header { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-3); margin-bottom: var(--space-2); }
.panel__title { font: 500 var(--text-lg)/1.3 var(--font-body); }
.panel__copy { font-size: var(--text-sm); line-height: 1.7; max-width: 52ch; }

.media { overflow: hidden; background: var(--color-bg-raised); }
.media img { width: 100%; height: 100%; object-fit: cover; }
.media--card { position: absolute; inset: 1.5px; z-index: -1; --cut: 12px; }
.media--feature { height: var(--media-feature); }
.media--thumb { flex: none; width: var(--media-thumb-width); height: var(--media-thumb-height); border: 1px solid var(--color-line); border-radius: var(--radius-sm); }
.media--profile { flex: none; width: var(--media-profile); height: var(--media-profile); border: 1px solid var(--color-teal); border-radius: var(--radius-md); box-shadow: var(--shadow-glow); }

.card { position: relative; isolation: isolate; display: flex; flex-direction: column; justify-content: flex-end; min-height: var(--card-height); transition: transform .2s, filter .2s; }
.card::before, .card::after, .media--card { clip-path: polygon(var(--cut) 0, calc(100% - var(--cut)) 0, 100% var(--cut), 100% calc(100% - var(--cut)), calc(100% - var(--cut)) 100%, var(--cut) 100%, 0 calc(100% - var(--cut)), 0 var(--cut)); }
.card::before { content: ""; position: absolute; inset: 0; z-index: -3; --cut: 13px; background: linear-gradient(135deg, var(--color-card-edge-light), var(--color-card-edge) 45%, var(--color-card-edge-light)); }
.card::after { content: ""; position: absolute; inset: 1.5px; z-index: -2; --cut: 12px; background: radial-gradient(ellipse at 25% 0, rgba(94, 230, 208, .16), transparent 60%), linear-gradient(180deg, #07202f, #020c14); }
.card:hover { transform: translateY(-4px); filter: drop-shadow(0 6px 16px rgba(94, 230, 208, .28)); }
.card__body { display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-2); padding: var(--space-5) var(--space-4) var(--space-4); background: linear-gradient(180deg, transparent, rgba(1, 10, 18, .94) 42%); }
.card__badge { margin-bottom: var(--space-1); }
.card__title { font: 400 var(--text-xl)/1.2 var(--font-body); color: var(--color-title); }
.card__blurb { font-size: var(--text-xs); line-height: 1.5; }
.tag { align-self: flex-start; padding: 0 var(--space-2); border-radius: var(--space-1); background: var(--tag-neutral); color: #fff; font: 700 var(--text-xs)/18px var(--font-body); letter-spacing: .06em; text-transform: uppercase; }
.tag--stream { background: var(--tag-stream); }
.tag--video { background: var(--tag-video); }
.tag--community { background: var(--tag-community); }
.tag--news { background: var(--tag-news); }
.tag--twitch { background: var(--tag-twitch); }
.tag--youtube { background: var(--tag-youtube); }
.tag--tiktok { background: var(--tag-tiktok); }
.tag--resonite { background: var(--tag-resonite); }
.tag--discord { background: var(--tag-discord); }
.tag--next { background: var(--tag-next); }

.list-row { display: flex; align-items: flex-start; gap: var(--space-3); padding: var(--space-3) 0; border-top: 1px solid var(--color-line-soft); font-size: var(--text-sm); }
.list-row:first-child { border-top: 0; }
.list-row__body { display: flex; flex-direction: column; align-items: flex-start; flex: 1; gap: var(--space-1); min-width: 0; }
.list-row__title { color: var(--color-text-link); overflow-wrap: anywhere; }
a.list-row__title { display: inline-flex; align-items: center; min-height: var(--target-min); }
a.list-row__title:hover { text-decoration: underline; }
.list-row__meta { color: var(--color-text-dim); font-size: var(--text-xs); }
.list-row--event { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; align-items: center; }
.list-row--event .list-row__title { color: var(--color-text); }
.list-row__date { color: var(--color-green); }
.list-row--stream { align-items: center; }
.list-row--next { margin: 0 calc(var(--space-3) * -1); padding-left: var(--space-3); padding-right: var(--space-3); border-left: 3px solid var(--color-green); border-radius: var(--radius-sm); background: rgba(94, 247, 155, .07); }
.list-row__tags { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.list-row__headline { font-size: var(--text-md); font-weight: 600; overflow-wrap: anywhere; }
.panel--wide { grid-column: span 2; }
.feed-state { padding: var(--space-3) 0; color: var(--color-text-dim); font-size: var(--text-sm); }
.feed-state--error { color: var(--color-danger); }

.field { display: flex; flex-direction: column; gap: var(--space-1); }
.field__label { font-size: var(--text-xs); color: var(--color-text-dim); }
.field__input { width: 100%; min-width: 0; min-height: var(--btn-height); padding: var(--space-2) var(--space-3); border: 1px solid var(--color-field-line); border-radius: var(--radius-sm); background: var(--color-field); color: var(--color-text); font: var(--text-sm) var(--font-body); }
.field__input::placeholder { color: #9fb6bd; opacity: 1; }
textarea.field__input { min-height: 84px; resize: vertical; }
.form-row { display: flex; gap: var(--space-2); align-items: stretch; }
.form-row .field { flex: 1; min-width: 0; }
.form-status { min-height: 1.4em; margin-top: var(--space-2); font-size: var(--text-xs); color: var(--color-green); }
.form-status--error { color: var(--color-danger); }
.eyebrow { font: 500 var(--text-xs) var(--font-body); letter-spacing: .28em; text-transform: uppercase; color: var(--color-teal); }

.hexicon { position: relative; display: grid; place-items: center; width: 34px; height: 37px; color: #8fe9f2; transition: filter .15s, color .15s; }
.hexicon::before, .hexicon::after { content: ""; position: absolute; clip-path: polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%); }
.hexicon::before { inset: 0; background: rgba(79, 216, 224, .55); }
.hexicon::after { inset: 1.5px; background: #06202c; }
.hexicon .icon { position: relative; z-index: 1; width: 17px; height: 17px; }
.social-link { display: flex; align-items: center; gap: var(--space-3); padding: var(--space-2) var(--space-1); font: 600 var(--text-xs) var(--font-body); color: #b7e9ff; }
.social-link:hover { color: #fff; }
.social-link:hover .hexicon { color: #fff; filter: drop-shadow(0 0 7px var(--color-teal)); }
.social-link--bare { padding: 0; width: var(--btn-height); height: var(--btn-height); justify-content: center; color: var(--color-teal); opacity: .85; transition: opacity .15s, transform .15s; }
.social-link--bare:hover { opacity: 1; transform: translateY(-2px); }

.site-header { position: sticky; top: 0; z-index: 20; height: var(--header-height); border-bottom: 1px solid var(--color-line-soft); background: var(--color-header); backdrop-filter: blur(8px); }
.site-header__inner { display: flex; align-items: center; gap: var(--space-5); max-width: var(--page-width); height: 100%; margin: 0 auto; padding: 0 var(--space-4); }
.brand { display: flex; align-items: center; min-width: 0; min-height: var(--target-min); gap: var(--space-3); font: 500 19px var(--font-display); letter-spacing: .16em; color: #bfeff4; }
.site-nav { display: flex; gap: var(--space-5); margin: 0 auto; font-size: var(--text-xs); color: var(--color-teal); }
.site-nav a { display: inline-flex; align-items: center; min-height: var(--target-min); padding: var(--space-3) 0; transition: color .15s; }
.site-nav a:hover, .site-nav a.active { color: #fff; }
.site-nav a.active { font-weight: 600; }
.site-header__actions { display: flex; flex: none; align-items: center; gap: var(--space-3); }
.chevron { width: 6px; height: 6px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg) translate(-1px, -1px); transition: transform .2s; }
[aria-expanded="true"] > .chevron { transform: rotate(-135deg) translate(-1px, -1px); }
.menu-button { display: none; flex: none; position: relative; width: 44px; height: var(--btn-height); margin-left: auto; border: 1px solid var(--color-line); border-radius: var(--radius-sm); background: none; cursor: pointer; }
.menu-button span, .menu-button span::before, .menu-button span::after { position: absolute; left: 12px; width: 18px; height: 2px; background: var(--color-teal); content: ""; }
.menu-button span { top: 21px; }
.menu-button span::before { top: -6px; left: 0; }
.menu-button span::after { top: 6px; left: 0; }
.follow-drawer { position: absolute; top: 100%; left: 0; right: 0; border-bottom: 1px solid var(--color-line-strong); background: rgba(1, 13, 21, .97); box-shadow: var(--shadow-pop); }
.follow-drawer ul { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--space-2) var(--space-6); max-width: var(--page-width); margin: 0 auto; padding: var(--space-4); }

.hero { position: relative; overflow: hidden; border-bottom: 1px solid var(--color-line); background: radial-gradient(ellipse at 85% 20%, rgba(94, 230, 208, .16), transparent 55%), radial-gradient(ellipse at 10% 100%, rgba(74, 143, 224, .14), transparent 55%); }
.hero__media { position: absolute; inset: 0 0 0 40%; }
.hero__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, var(--color-bg), rgba(1, 12, 22, .5) 40%, transparent); }
.hero__copy { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: flex-start; gap: var(--space-4); max-width: var(--page-width); margin: 0 auto; padding: var(--space-7) var(--space-6) var(--space-7); }
.hero__lede { max-width: 30ch; font: 400 var(--text-2xl)/1.3 var(--font-display); letter-spacing: .02em; }
.hero__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); }

.page { display: grid; gap: var(--space-4); max-width: var(--page-width); margin: 0 auto; padding: var(--space-5) var(--space-4); }
.page-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); align-items: start; }
.profile { display: flex; align-items: flex-start; gap: var(--space-6); }
.profile__text { flex: 1; display: flex; flex-direction: column; gap: var(--space-4); min-width: 0; }
.profile__heading { font: 400 var(--text-2xl) var(--font-display); letter-spacing: .08em; color: #c5f4f7; }
.profile__roles { display: block; margin-top: var(--space-1); font: 600 var(--text-xs) var(--font-body); letter-spacing: .2em; text-transform: uppercase; color: var(--color-green); }
.profile__body { max-width: 62ch; font-size: var(--text-md); line-height: 1.8; }
.profile__quote { margin: 0; padding-left: var(--space-4); border-left: 2px solid var(--color-green); font: 400 var(--text-xl)/1.3 var(--font-display); }
.profile__cite { display: block; margin-top: var(--space-1); font: var(--text-xs) var(--font-body); color: var(--color-green); font-style: normal; }
.link-row { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-5); }
.card-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--space-4); }

.site-footer { margin-top: var(--space-3); border-top: 1px solid var(--color-line-strong); background: radial-gradient(ellipse at 50% 120%, rgba(94, 230, 208, .22), transparent 60%), var(--color-bg-raised); }
.site-footer__inner { display: flex; align-items: center; gap: var(--space-5); max-width: var(--page-width); margin: 0 auto; padding: var(--space-4) var(--space-5); }
.site-footer__tagline { font-size: var(--text-xs); color: var(--color-text-dim); }
.site-footer__social { display: flex; gap: var(--space-1); margin-left: auto; }

.edit-toggle { position: fixed; right: var(--space-4); bottom: var(--space-4); z-index: 40; background: var(--color-bg-raised); }
.edit-toggle[aria-pressed="true"] { border-color: var(--color-green); color: var(--color-green); }
.is-editing [data-edit] { outline: 1px dashed var(--color-teal); outline-offset: 3px; cursor: text; }
.is-editing [data-edit]:focus { outline: 2px solid var(--color-green); }
.edit-toolbar { position: absolute; z-index: 45; display: flex; align-items: center; gap: var(--space-2); padding: var(--space-2); border: 1px solid var(--color-line-strong); border-radius: var(--radius-md); background: var(--color-bg-raised); box-shadow: var(--shadow-pop); }
.edit-toolbar__status { font-size: var(--text-xs); color: var(--color-green); }
.edit-toolbar__status--error { color: var(--color-danger); }

.admin { max-width: 860px; margin: 0 auto; padding: var(--space-5) var(--space-4) var(--space-7); display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-4); }
.admin__bar { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3); }
.admin__bar .brand { margin-right: auto; }
.admin__login { max-width: 380px; margin: var(--space-7) auto; }
.tabs { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.tab { min-height: var(--btn-height); padding: 0 var(--space-4); border: 1px solid var(--color-line); border-radius: var(--radius-pill); background: none; color: var(--color-text); font: 600 var(--text-sm) var(--font-body); cursor: pointer; }
.tab[aria-selected="true"] { border-color: var(--color-green); color: var(--color-green); }
.admin-form { display: grid; gap: var(--space-3); }
.admin-form__actions { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.admin-row__actions { display: flex; gap: var(--space-2); }
.admin-row__actions .btn { min-height: var(--btn-height-small); padding: 0 var(--space-3); font-size: var(--text-xs); }

@media (max-width: 1100px) {
  .card-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .page-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-flow: dense; }
}
@media (max-width: 820px) {
  .menu-button { display: block; }
  .site-header__actions { margin-left: auto; }
  .site-header__actions .btn--primary { display: none; }
  .menu-button { margin-left: 0; }
  .site-header__inner { gap: var(--space-2); }
  .site-nav { position: absolute; top: 100%; left: 0; right: 0; display: none; flex-direction: column; gap: 0; margin: 0; padding: var(--space-2) var(--space-4) var(--space-3); border-bottom: 1px solid var(--color-line); background: rgba(1, 13, 21, .98); }
  .site-nav.is-open { display: flex; }
  .site-nav a { padding: var(--space-3) 0; font-size: var(--text-md); }
  .follow-drawer ul { justify-content: flex-start; }
  .hero__copy { padding: var(--space-6) var(--space-4); }
  .hero__media { inset: 0; opacity: .5; }
  .page-grid { grid-template-columns: minmax(0, 1fr); }
  .panel--wide { grid-column: auto; }
  .list-row--stream { flex-wrap: wrap; }
  .profile { flex-direction: column; }
  .site-footer__inner { flex-wrap: wrap; justify-content: center; }
  .site-footer__social { margin-left: 0; }
}
@media (max-width: 560px) {
  .card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3); }
  .form-row { flex-direction: column; }
  .list-row--event { grid-template-columns: 56px minmax(0, 1fr); }
  .list-row--event .list-row__meta { grid-column: 2; }
}
@media (max-width: 380px) {
  .card-grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 1024px) {
  :root { --btn-height-small: 44px; }
}
@media (max-width: 400px) {
  .site-header__inner { padding: 0 var(--space-3); }
  .brand { gap: var(--space-2); font-size: 16px; letter-spacing: .08em; }
  .follow-button { padding: 0 var(--space-3); }
}
@media (prefers-reduced-motion: reduce) {
  * { transition: none !important; scroll-behavior: auto !important; }
}
