@font-face { font-family:Inter; src:url('/fonts/inter-latin-wght-normal.woff2') format('woff2'); font-style:normal; font-weight:100 900; font-display:swap; }
:root { font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; color:#0B0E11; background:#0B0E11; }
* { box-sizing:border-box; }
html { scrollbar-color:#777 #0B0E11; }
body { margin:0; min-height:100vh; padding:40px 20px; -webkit-font-smoothing:antialiased; }
#snake-background { position:fixed; top:-48px; left:-48px; z-index:0; width:calc(100vw + 96px); height:calc(100vh + 96px); pointer-events:none; image-rendering:pixelated; }
.stream-page { position:relative; z-index:1; width:min(1200px,100%); margin:0 auto; }
.stream-card { min-height:calc(100vh - 80px); display:flex; flex-direction:column; background:#F5F5F5; border:1px solid rgba(11,14,17,.08); border-radius:32px; padding:40px; overflow:hidden; }
.stream-header { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:28px; }
.home-link { color:#0B0E11; font-size:14px; font-weight:800; letter-spacing:-.02em; text-decoration:none; cursor:pointer; }
.home-link:hover { text-decoration:underline; text-underline-offset:5px; }
.home-link:focus-visible { outline:2px solid #FCD535; outline-offset:5px; }
.stream-stage { flex:1; min-height:560px; display:flex; align-items:center; justify-content:center; overflow:hidden; background:#181A20; border-radius:16px; }
#stream-frame { display:block; max-width:100%; width:auto; max-height:calc(100vh - 190px); height:auto; pointer-events:none; user-select:none; }
#stream-frame[hidden],.stream-placeholder[hidden] { display:none; }
.stream-placeholder { width:100%; padding:32px; color:#F5F5F5; text-align:center; }
.stream-placeholder strong { display:block; font-size:clamp(22px,3vw,34px); line-height:1.15; letter-spacing:-.04em; font-weight:700; }
.stream-placeholder p { max-width:360px; margin:12px auto 0; color:#929AA5; font-size:13px; line-height:1.5; }
.stream-placeholder p:empty { display:none; }
@media (max-width:600px) { body { padding:16px 12px; } .stream-card { min-height:calc(100vh - 32px); padding:26px; border-radius:24px; } .stream-header { margin-bottom:22px; } .stream-stage { min-height:420px; } #stream-frame { max-height:none; width:100%; } }
@media (prefers-reduced-motion:reduce) { #snake-background { display:none; } }
