.stream-widget { display: block; min-width: 0; margin: 20px 0 32px; border: 1px solid #35353a; background: #0c0c0f; }
.stream-widget-body { display: grid; grid-template-columns: minmax(400px, 1.45fr) minmax(230px, .55fr); min-height: 310px; }
.stream-preview { position: relative; min-height: 310px; background: radial-gradient(circle at 50% 50%, #260c14, #08080a 70%); }
.stream-placeholder { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 12px; min-height: 310px; padding: 24px; text-align: center; }
.stream-placeholder strong { color: var(--paper); font: 900 clamp(19px, 3vw, 31px)/1 "Arial Black", Arial, sans-serif; letter-spacing: -.05em; }
.stream-placeholder small { color: var(--paper-dim); font: 11px/1.4 "Courier New", monospace; }
.stream-play-mark { display: grid; place-items: center; width: 54px; height: 54px; border: 1px solid var(--blood); color: var(--blood); font-size: 19px; }
.stream-load { min-height: 38px; padding: 10px 18px; border: 1px solid var(--blood); background: var(--blood); color: #fff; font: 800 11px/1 "Courier New", monospace; cursor: pointer; }
.stream-load:hover, .stream-load:focus-visible { border-color: #fff; background: #fff; color: #08080a; }
.stream-preview iframe { display: block; width: 100%; min-width: 400px; height: 310px; border: 0; }
.stream-nessie { display: flex; flex-direction: column; justify-content: center; gap: 10px; padding: 20px; border-left: 1px solid #35353a; }
.stream-nessie img { width: min(140px, 55%); height: auto; align-self: center; object-fit: contain; opacity: .35; filter: grayscale(1); transform-origin: 50% 85%; }
.stream-widget.is-active .stream-nessie img { opacity: 1; filter: none; animation: stream-nessie-sway 3.4s ease-in-out infinite; }
.stream-widget.is-egg .stream-nessie img { animation-duration: 1.8s; }
.stream-status-label { display: inline-flex; gap: 8px; align-items: center; color: var(--paper); font: 900 11px/1.2 "Courier New", monospace; letter-spacing: .08em; }
.stream-status-dot { display: inline-block; flex: 0 0 8px; width: 8px; height: 8px; background: #686870; }
.stream-widget.is-active .stream-status-dot { background: var(--blood); box-shadow: 0 0 10px var(--blood); }
.stream-nessie p { margin: 10px 0 17px; color: var(--paper-dim); font: 13px/1.45 "Courier New", monospace; }
.stream-nessie a { color: var(--paper); font: 800 10px/1.2 "Courier New", monospace; text-decoration-color: var(--blood); text-underline-offset: 4px; }
.stream-widget-compact { position: fixed; z-index: 25; right: 18px; bottom: 18px; width: min(430px, calc(100vw - 36px)); max-height: min(80vh, 620px); margin: 0; border: 0; background: transparent; }
.stream-widget-toggle { display: flex; gap: 10px; align-items: center; justify-content: center; width: 100%; min-height: 42px; border: 1px solid #4a4a50; background: #0c0c0f; color: var(--paper); font: 900 11px/1 "Courier New", monospace; letter-spacing: .08em; cursor: pointer; }
.stream-widget-compact .stream-widget-body { display: none; grid-template-columns: 1fr; min-height: 0; overflow: auto; border: 1px solid #4a4a50; background: #0c0c0f; }
.stream-widget-compact.is-open .stream-widget-body { display: grid; }
.stream-widget-compact .stream-preview, .stream-widget-compact .stream-placeholder { min-height: 300px; }
.stream-widget-compact .stream-preview iframe { height: 300px; }
.stream-widget-compact .stream-nessie { flex-direction: row; align-items: center; padding: 11px 15px; border-top: 1px solid #35353a; border-left: 0; }
.stream-widget-compact .stream-nessie img { width: 68px; flex: 0 0 68px; }
.stream-widget-compact .stream-nessie p { margin: 5px 0; }
@keyframes stream-nessie-sway { 0%,100% { transform: rotate(-3deg); } 50% { transform: rotate(3deg); } }
@media (max-width: 750px) { .stream-widget:not(.stream-widget-compact) .stream-widget-body { grid-template-columns: 1fr; } .stream-widget:not(.stream-widget-compact) .stream-nessie { flex-direction: row; align-items: center; border-top: 1px solid #35353a; border-left: 0; } .stream-widget:not(.stream-widget-compact) .stream-nessie img { width: 90px; } }
@media (max-width: 440px) { .stream-widget-body { grid-template-columns: 1fr; } .stream-preview iframe { min-width: 0; } .stream-widget-compact { right: 10px; bottom: 10px; width: calc(100vw - 20px); } .stream-widget-compact .stream-preview, .stream-widget-compact .stream-placeholder { min-height: 210px; } }
@media (prefers-reduced-motion: reduce) { .stream-widget.is-active .stream-nessie img { animation: none; } }
.stream-consent p { max-width:520px;margin:0;color:#ccc1c7;font:13px/1.6 Arial,sans-serif; }
.stream-consent a { color:#f4f4f5;font:11px/1.5 "Courier New",monospace;text-underline-offset:3px; }
.stream-consent strong { font-size:22px;line-height:1.2; }
.stream-decline { min-height:44px;padding:10px 14px;background:#141116;color:#f4f4f5;border:1px solid #82727c;font:700 11px/1.3 "Courier New",monospace;cursor:pointer; }
.stream-widget-compact:focus-within { z-index:40; }
