@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--bg:#0c0d10;--panel:#131419;--line:#292b33;--text:#f4f3f7;--muted:#9696a6;--accent:#bba2ff}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:'DM Sans',sans-serif}button,a,input{ -webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:4px}header{height:86px;margin:0 32px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.brand{display:flex;gap:12px;align-items:center;font-size:28px;font-weight:800;letter-spacing:-1px}.mark{background:var(--accent);color:#13101b;width:36px;height:36px;display:grid;place-items:center;position:relative;font-style:italic}.mark span{position:absolute;right:1px;top:-8px;font-size:22px}.brand small{font-size:10px;letter-spacing:2px;color:var(--muted);font-weight:600}.divider{height:24px;background:var(--line);width:1px;margin:0 8px}.outline{border:1px solid #3b3b46;background:transparent;color:#dedde6;border-radius:6px;padding:10px 15px;font-size:12px}.outline:hover{background:#222129}main{padding:0 32px}.intro{display:flex;align-items:center;justify-content:space-between;padding:33px 0 30px}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--accent);font-weight:700}h1{font-family:'Barlow Condensed',sans-serif;font-size:48px;letter-spacing:-.7px;text-transform:uppercase;margin:7px 0 0;line-height:1.05}h1 span{color:var(--muted)}.intro p{color:var(--muted);font-size:12px;line-height:1.8;margin:0}.mobile{display:none}.room{display:grid;grid-template-columns:minmax(400px,1fr) 310px minmax(400px,1fr);gap:18px;align-items:stretch}.stream-column{display:flex;flex-direction:column;gap:20px}.stream-card{border:1px solid var(--line);border-radius:9px;overflow:hidden;background:#060609}.banner{height:94px;position:relative;display:flex;align-items:center;padding:18px 20px;gap:13px;background:radial-gradient(ellipse at 90% 0%,color-mix(in srgb,var(--color) 40%,transparent),transparent 70%),linear-gradient(120deg,#25232c,#14151b);overflow:hidden}.banner:after{content:'';position:absolute;right:16px;width:120px;height:180px;border:16px solid #ffffff07;transform:rotate(30deg);pointer-events:none}.banner-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.banner.has-image:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#09090ee6,#09090e40);z-index:1}.avatar{height:42px;width:42px;flex-shrink:0;display:grid;place-items:center;background:#1010159e;border:1px solid color-mix(in srgb,var(--color) 50%,transparent);color:var(--color);font-size:15px;font-weight:700;border-radius:9px;z-index:2}.banner-info{z-index:2;min-width:0}.banner-info small{font-size:9px;letter-spacing:1.8px;color:#bcbac8}.banner h2{font-family:'Barlow Condensed',sans-serif;font-size:26px;margin:2px 0 0;font-weight:600;overflow-wrap:anywhere}.stream-number{margin-left:auto;font-size:10px;color:#ccc7db;z-index:2}.player{width:100%;height:300px;display:block;border:0;background:#08080b}.card-foot{display:flex;justify-content:space-between;align-items:center;padding:11px 16px;border-top:1px solid #202127;font-size:11px;color:var(--muted)}.chat-button{background:transparent;border:0;color:var(--color);font-size:11px;padding:4px 0}.card-foot a:hover{color:#fff}.chat{border:1px solid var(--line);border-radius:9px;overflow:hidden;background:var(--panel);display:flex;flex-direction:column;min-height:700px}.chat-heading{display:flex;gap:12px;align-items:center;padding:22px 16px 17px}.chat-icon{font-size:26px;color:var(--accent)}.chat h2{font-size:14px;margin:0 0 5px}.chat-heading p{font-size:10px;color:var(--muted);margin:0}.tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:0 12px 16px}.tab{font-size:10px;border:1px solid #303039;border-radius:5px;background:#1a1b22;padding:10px 4px;color:#b0aebd}.tab[aria-pressed=true]{border-color:var(--accent);background:#bba2ff1c;color:#ddceff}.chat-current{display:flex;align-items:center;gap:7px;font-size:11px;padding:13px 15px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.dot{width:6px;height:6px;border-radius:100%;background:var(--accent)}.chat-current a{margin-left:auto;font-size:16px;color:var(--muted)}#chat-frame{width:100%;flex:1;min-height:480px;border:0;background:#18181b}.chat-foot{text-align:center;font-size:10px;color:var(--muted);padding:12px;border-top:1px solid var(--line)}footer{display:flex;justify-content:space-between;padding:23px 0;font-size:10px;color:#777887}footer b{letter-spacing:1px;color:#c2c0cb}dialog{width:min(520px,calc(100% - 32px));background:#18191f;color:var(--text);border:1px solid #41404c;border-radius:12px;padding:24px}dialog::backdrop{background:#000a;backdrop-filter:blur(5px)}.dialog-title{display:flex;justify-content:space-between;align-items:center}.dialog-title h2{margin:6px 0}.close{border:0;background:none;color:white;font-size:30px}dialog p{font-size:12px;line-height:1.7;color:var(--muted)}.upload-row{padding:14px 0;border-top:1px solid var(--line);display:grid;gap:10px}.upload-row label{font-weight:600;font-size:13px}.upload-controls{display:flex;gap:8px;align-items:center}.upload-controls input{min-width:0;width:100%;font-size:11px}.remove{font-size:10px;background:transparent;color:#aaa4bb;border:1px solid #45414e;border-radius:4px;padding:6px}.done{width:100%;background:var(--accent);color:#191323;border:0;border-radius:6px;padding:11px;font-weight:700}@media(min-width:1650px){.player{height:auto;aspect-ratio:16/9;min-height:300px}}@media(max-width:1200px){header{margin:0 18px}main{padding:0 18px}.room{grid-template-columns:minmax(400px,1fr) 290px;gap:16px}.stream-column{grid-column:1}.chat{grid-column:2;grid-row:1 / 3;position:sticky;top:12px;max-height:calc(100vh - 24px)}#right{grid-row:2}.intro p{display:none}}@media(max-width:740px){header{height:75px}.brand small,.divider{display:none}.outline{font-size:10px;padding:9px}.intro{padding:27px 0}h1{font-size:40px}.mobile{display:block}.room{display:flex;flex-direction:column}.chat{position:static;min-height:620px;height:700px;max-height:none;order:3}#right{order:2}.stream-card{min-width:400px}.stream-column{overflow-x:auto;padding-bottom:2px}.banner{height:88px}footer{gap:15px;line-height:1.8;align-items:flex-start}footer span:last-child{max-width:150px;text-align:right}}

/* Keep the streams at the top after removing the masthead. */
main{padding-top:18px}

/* Use the available desktop viewport, including when browser toolbars reduce it. */
@media (min-width:1201px) and (min-height:810px){
  main{height:100vh;height:100dvh;padding:4px;display:grid;grid-template-rows:minmax(0,1fr);}
  .room{min-height:0;grid-template-columns:minmax(400px,1fr) 310px minmax(400px,1fr);gap:8px;}
  .stream-column{min-height:0;display:grid;grid-template-rows:repeat(2,minmax(0,1fr));gap:8px;}
  .stream-card{min-height:0;display:grid;grid-template-rows:54px minmax(300px,1fr) 30px;}
  .banner{height:auto;padding:6px 14px;gap:10px;}
  .avatar{width:34px;height:34px;font-size:12px;}
  .banner h2{font-size:22px;margin:0;}
  .banner-info small{font-size:8px;letter-spacing:1.3px;}
  .player{height:100%;min-height:300px;aspect-ratio:auto;}
  .card-foot{padding:3px 12px;}
  .chat{height:100%;min-height:0;}
  .chat-heading,.tabs,.chat-current,.chat-foot{flex-shrink:0;}
  #chat-frame{min-height:0;height:0;flex:1 1 0;}
  footer{min-height:0;padding:0;align-items:center;gap:12px;}
  footer .outline{padding:6px 10px;font-size:10px;}
}
/* Bright green outlines and lettering on a dark canvas. */
:root{--bg:#050805;--panel:#090e09;--line:#39ff14;--text:#65ff45;--muted:#8bdf78;--accent:#39ff14;}
.stream-card{background:#030603;}
.banner{background:radial-gradient(ellipse at 90% 0%,#153513,transparent 70%),linear-gradient(120deg,#101a10,#070b07);}
.banner:after{border-color:#39ff1412;}
.banner.has-image:before{background:linear-gradient(90deg,#030803ed,#03080370);}
.avatar{background:#071107;color:var(--accent);border-color:var(--accent);}
.banner-info small,.stream-number,.card-foot,.card-foot a,.card-foot a:hover,.chat-button,.chat-heading p,.chat-current a,.chat-foot,footer,footer b,dialog p,.remove{color:var(--text);}
.outline,.tab,.remove{color:var(--text);border-color:var(--accent);background:#091009;}
.outline:hover,.tab:hover,.remove:hover{background:#142714;}
.tab[aria-pressed=true]{color:var(--accent);border-color:var(--accent);background:#173117;box-shadow:inset 0 0 0 1px var(--accent);}
.card-foot,.chat-current,.chat-foot,.upload-row{border-color:var(--accent);}
.chat,.stream-card{border-color:var(--accent);}
.player,#chat-frame{background:#030603;}
.chat-icon,.close,.eyebrow{color:var(--accent);}
.chat-current strong,.chat-heading h2,.banner h2{color:var(--text);}
.banner h2,.banner-info small,.stream-number{text-shadow:0 1px 3px #000,0 0 8px #000;}
.dialog-title h2,.upload-row label,#upload-status{color:var(--text);}
 dialog{background:#080e08;border-color:var(--accent);color:var(--text);}
.done{background:#122912;color:var(--accent);border:1px solid var(--accent);}
.done:hover{background:#1c3c1c;}
input{color:var(--text);accent-color:var(--accent);}
input::file-selector-button{background:#101e10;color:var(--text);border:1px solid var(--accent);border-radius:4px;padding:6px 8px;margin-right:8px;cursor:pointer;}
/* Uppercase all site-owned labels, including form controls and status messages. */
body,body *{text-transform:uppercase;}
input::file-selector-button{ text-transform:uppercase; }

.tabs{padding-top:12px}
/* Plain black site background; embeds stay opaque. */
body{background:#000;}
.stream-card{background:transparent;}
.banner{background:linear-gradient(90deg,#030a03b3,#030a0366);}
.card-foot{background:#030a03bd;}
.chat{background:#030a03a6;}
.tabs,.chat-current,.chat-foot{background:#030a0340;}
.stream-card,.chat{box-shadow:0 2px 12px #0008;}
/* Channel colors also follow the selected central chat. */
.stream-card,.chat{--accent:var(--color);--text:var(--color);--muted:var(--color);--line:var(--color);color:var(--color);border-color:var(--color);}
.chat{--color:#ff5050;}
.tab[aria-pressed=true]{background:color-mix(in srgb,var(--color) 18%,#050805);}
.tab:hover{background:color-mix(in srgb,var(--color) 12%,#050805);}
.banner:after{border-color:color-mix(in srgb,var(--color) 8%,transparent);}
.offline-player{position:relative;overflow:hidden;background:#000;}
.live-player,.live-player iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.offline-art{position:absolute;inset:0;background:#000;}
.offline-art[hidden]{display:none;}
.offline-art img{width:100%;height:100%;display:block;object-fit:cover;object-position:center;}
.show-player{position:absolute;bottom:10px;right:10px;padding:6px 9px;border:1px solid var(--color);border-radius:4px;background:#000d;color:var(--color);font-size:10px;}
.southern-banner .banner-image{object-fit:cover;object-position:center;}
.southern-banner.has-image:before{background:linear-gradient(90deg,#000c 0%,#0008 24%,#0000 55%);}
.southern-banner:after{display:none;}
.pops-banner .banner-image{object-fit:cover;object-position:center;}
.pops-banner.has-image:before{background:linear-gradient(90deg,#000c 0%,#0008 24%,#0000 55%);}
.pops-banner:after{display:none;}
.offline-notice{position:absolute;bottom:0;left:0;right:0;z-index:2;padding:9px 12px;background:#000e;color:var(--color);border-top:1px solid var(--color);text-align:center;font-size:12px;font-weight:700;letter-spacing:1.5px;pointer-events:none;}
.offline-notice[hidden]{display:none;}
.show-player{bottom:46px;}
.dolfin-banner .banner-image{object-fit:cover;object-position:center;}
.dolfin-banner.has-image:before{background:linear-gradient(90deg,#000c 0%,#0008 24%,#0000 55%);}
.dolfin-banner:after{display:none;}
.monk-avatar{width:64px;height:64px;overflow:hidden;border:2px solid var(--color);background:#000;}
.monk-avatar img{display:block;width:100%;height:100%;object-fit:contain;}
@media(min-width:1201px) and (min-height:810px){
  .monk-banner{padding-top:3px;padding-bottom:3px;}
  .monk-avatar{width:48px;height:48px;}
}
.southern-avatar{width:64px;height:64px;overflow:hidden;border:2px solid var(--color);background:#000;}
.southern-avatar img{display:block;width:100%;height:100%;object-fit:contain;}
@media(min-width:1201px) and (min-height:810px){
  .southern-banner{padding-top:3px;padding-bottom:3px;}
  .southern-avatar{width:48px;height:48px;}
}
.dolfin-avatar{width:64px;height:64px;overflow:hidden;border:2px solid var(--color);background:#000;}
.dolfin-avatar img{display:block;width:100%;height:100%;object-fit:contain;}
@media(min-width:1201px) and (min-height:810px){
  .dolfin-banner{padding-top:3px;padding-bottom:3px;}
  .dolfin-avatar{width:48px;height:48px;}
}
.pops-avatar{width:64px;height:64px;overflow:hidden;border:2px solid var(--color);background:#000;}
.pops-avatar img{display:block;width:100%;height:100%;object-fit:contain;}
@media(min-width:1201px) and (min-height:810px){
  .pops-banner{padding-top:3px;padding-bottom:3px;}
  .pops-avatar{width:48px;height:48px;}
}
/* Give each streamer name the full header text area. */
.banner h2{font-size:32px;line-height:1.1;font-weight:700;margin:0;}
/* Match the header-to-player divider to each channel's outline. */
.stream-card .banner{border-bottom:2px solid var(--color);}
/* Compact offline badges leave the artwork visible. */
.offline-notice{left:auto;right:10px;bottom:10px;width:max-content;max-width:calc(100% - 20px);padding:5px 8px;border:1px solid var(--color);border-radius:4px;font-size:10px;line-height:1.2;letter-spacing:.6px;}
.show-player{left:10px;right:auto;bottom:10px;}
.monk-banner .banner-image{object-fit:cover;object-position:center;}
.monk-banner.has-image:before{background:linear-gradient(90deg,#000c 0%,#0008 24%,#0000 55%);}
.monk-banner:after{display:none;}
