@font-face{font-family:Barlow;src:url("fonts/barlow.ttf") format("truetype");font-display:swap}
@font-face{font-family:Cinzel;src:url("fonts/cinzel.ttf") format("truetype");font-display:swap}
:root{--red:#ff1239;--wine:#850d26;--ivory:#f6ede4;--name-size:13px;--message-size:16px;--time-size:8px;--inline-emote:1.85em;--emote-only-size:54px}
*{box-sizing:border-box}
html,body{width:100%;height:100%;margin:0;overflow:hidden;background:transparent}
body{font-family:Barlow,"Arial Narrow",sans-serif;color:var(--ivory)}
body[data-preview="1"]{background:#030103}
button{font:inherit}
#chat-stage,#transmission{position:relative;width:100%;height:100%;margin:0;overflow:hidden}
#transmission{display:flex;flex-direction:column;justify-content:flex-end;isolation:isolate;background:transparent}
#audio-unlock,#connection-state{position:absolute;z-index:20;left:50%;bottom:22px;transform:translateX(-50%);width:max-content;max-width:calc(100% - 24px);margin:0;padding:9px 13px;border:1px solid var(--red);color:var(--ivory);background:#13080df0;font:700 12px/1.2 Barlow,sans-serif;letter-spacing:.02em;box-shadow:0 7px 22px #000b;clip-path:polygon(7px 0,100% 0,calc(100% - 7px) 100%,0 100%)}
#audio-unlock{cursor:pointer}
#audio-unlock:focus-visible{outline:2px solid var(--ivory);outline-offset:3px}
#audio-unlock[hidden],#connection-state[hidden]{display:none}
.feed-viewport{position:relative;display:flex;flex:1 1 auto;flex-direction:column;justify-content:flex-end;width:100%;height:100%;padding:8px 6px 16px;overflow:hidden;mask-image:linear-gradient(to bottom,transparent 0,#000 7%,#000 100%)}
.message-list{position:relative;display:flex;flex:0 0 auto;flex-direction:column;justify-content:flex-end;width:100%;max-width:100%;gap:clamp(4px,1.25vh,6px);margin:0;padding:0}
.chat-entry{position:relative;display:block;min-height:max(70px,calc(var(--message-size) * 2.4 + 32px));flex:none;filter:drop-shadow(7px 9px 8px #000b);transform-origin:left center}
.chat-entry:nth-last-child(even){margin-left:5px;margin-right:1px}.chat-entry:nth-last-child(3n){margin-left:1px;margin-right:5px}
.entry-card{position:relative;min-width:0;margin:3px 0;padding:8px 12px 10px 14px;background:linear-gradient(98deg,#100207f2,#100b0eec 74%,#080104cf);clip-path:polygon(7px 0,96% 1px,100% 10px,99% 89%,89% 100%,0 94%,4px 10px)}
.entry-card::before{content:"";position:absolute;inset:0;box-shadow:inset 0 0 0 1px var(--wine);clip-path:inherit;pointer-events:none}.entry-card::after{content:"";position:absolute;left:12px;right:17px;bottom:5px;height:1px;background:linear-gradient(90deg,var(--red),#681a30 43%,transparent);pointer-events:none}
.entry-head{display:flex;align-items:center;gap:5px;min-width:0;height:max(19px,calc(var(--name-size) + 6px))}.entry-name{min-width:0;max-width:62%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ivory);font-family:Cinzel,serif;font-size:var(--name-size);font-weight:600;line-height:1;letter-spacing:-.02em;text-shadow:0 3px 8px #000}.entry-badges{display:flex;flex:none;align-items:center;gap:3px}.entry-badges img{display:block;width:15px;height:15px;object-fit:contain;filter:drop-shadow(0 3px 4px #000)}.entry-time{margin-left:auto;color:#c3aeb2;font-size:var(--time-size);font-weight:700;letter-spacing:.08em;white-space:nowrap;font-variant-numeric:tabular-nums}
.entry-message{min-height:24px;margin-top:3px;color:#e2d8d6;font-size:var(--message-size);font-weight:600;line-height:1.16;overflow-wrap:anywhere;text-shadow:0 2px 6px #000}.entry-message img.emote{position:relative;z-index:4;height:var(--inline-emote);width:auto;max-width:45%;vertical-align:-.25em;margin:0 .1em;object-fit:contain;filter:saturate(1.24) contrast(1.08) drop-shadow(0 5px 5px #000e) drop-shadow(0 0 7px #ff799045)}
.chat-entry.emote-only{min-height:calc(var(--emote-only-size) + 47px)}.chat-entry.emote-only .entry-message{height:calc(var(--emote-only-size) + 7px);margin-top:0;display:flex;align-items:center;gap:5px;overflow:visible}.chat-entry.emote-only .entry-message img.emote{height:var(--emote-only-size);max-width:72%;margin:0;vertical-align:middle;filter:saturate(1.28) contrast(1.08) drop-shadow(0 8px 7px #000e) drop-shadow(0 0 11px #ff79905c)}
.chat-entry.is-new{animation:signal-arrive .58s cubic-bezier(.16,1,.3,1) both}.chat-entry.is-new .entry-card{animation:copy-cut .58s cubic-bezier(.16,1,.3,1) .05s both}.chat-entry.is-new::after{content:"";position:absolute;z-index:6;left:3px;right:1px;top:51%;height:1px;background:linear-gradient(90deg,transparent,#ff7990 27% 70%,transparent);animation:trace-pass .62s ease-out .04s both}
.signal-flash{position:absolute;inset:0;z-index:6;pointer-events:none}.signal-flash i{position:absolute;opacity:0;background:var(--red)}.signal-flash i:nth-child(1),.signal-flash i:nth-child(2){left:0;right:0;height:2px}.signal-flash i:nth-child(1){top:0}.signal-flash i:nth-child(2){bottom:0}.signal-flash i:nth-child(3),.signal-flash i:nth-child(4){top:0;bottom:0;width:2px}.signal-flash i:nth-child(3){left:0}.signal-flash i:nth-child(4){right:0}.is-pulsing .signal-flash i{animation:frame-answer .66s ease-out both}.is-pulsing .signal-flash i:nth-child(2){animation-delay:.04s}.is-pulsing .signal-flash i:nth-child(3){animation-delay:.08s}.is-pulsing .signal-flash i:nth-child(4){animation-delay:.12s}
.live-rail{position:absolute;left:11px;right:11px;bottom:5px;height:9px;display:flex;align-items:center;gap:6px}.live-rail span{height:1px;flex:1;background:linear-gradient(90deg,#681a30,#ff123972,transparent);background-size:200% 100%;animation:edge 14s ease-in-out infinite}.live-rail i{width:4px;height:4px;background:var(--red);transform:rotate(45deg)}.live-rail b{font:600 7px/1 Cinzel,serif;color:#c74758;letter-spacing:.08em}
body[data-layout=compact] .message-list{gap:3px}body[data-layout=compact] .chat-entry{min-height:max(42px,calc(var(--message-size) + 24px));filter:drop-shadow(4px 6px 6px #000a)}body[data-layout=compact] .entry-card{display:grid;grid-template-columns:minmax(88px,auto) minmax(0,1fr);align-items:center;gap:7px;margin:1px 0;padding:7px 10px;background:linear-gradient(90deg,#14070cf5,#0b0709e8);clip-path:polygon(5px 0,100% 0,calc(100% - 6px) 100%,0 100%)}body[data-layout=compact] .entry-card::after{left:8px;right:10px;bottom:2px}body[data-layout=compact] .entry-name{max-width:95px}body[data-layout=compact] .entry-time{display:none}body[data-layout=compact] .entry-message{min-height:0;margin:0;line-height:1.08}body[data-layout=compact] .chat-entry.emote-only{min-height:calc(var(--emote-only-size) + 17px)}body[data-layout=compact] .chat-entry.emote-only .entry-message{height:var(--emote-only-size)}
body[data-layout=runes] .chat-entry:nth-last-child(even){margin-left:8px}body[data-layout=runes] .entry-card{padding-left:22px;background:linear-gradient(102deg,#1a050bf5,#100b0eef 68%,#080104d8);clip-path:polygon(0 12px,10px 4px,91% 0,100% 9px,97% 100%,9px 95%,0 calc(100% - 12px))}body[data-layout=runes] .entry-card::after{left:22px;background:linear-gradient(90deg,var(--red),transparent 72%)}body[data-layout=runes] .entry-card::before{box-shadow:inset 2px 0 0 var(--red),inset 0 0 0 1px #5e1223}body[data-layout=runes] .chat-entry::before{content:"";position:absolute;z-index:4;left:3px;top:50%;width:8px;height:8px;background:var(--red);transform:translateY(-50%) rotate(45deg);box-shadow:0 0 10px var(--red)}
::selection{background:#9b253b;color:#fff}
@keyframes signal-arrive{from{opacity:0;filter:contrast(2) blur(3px);transform:translateX(-21px) scale(.98)}to{opacity:1;filter:none;transform:none}}@keyframes copy-cut{from{opacity:0;transform:translateX(23px);clip-path:inset(0 100% 0 0);filter:blur(3px)}to{opacity:1;transform:none;clip-path:inset(0);filter:none}}@keyframes trace-pass{from{opacity:0;transform:translateY(-28px)}35%{opacity:.85}to{opacity:0;transform:translateY(31px)}}@keyframes frame-answer{0%{opacity:0;filter:brightness(1)}26%{opacity:1;filter:brightness(2.6)}100%{opacity:0;filter:brightness(1)}}@keyframes edge{50%{background-position:100% 0}}
@media(max-height:490px){.feed-viewport{padding-top:5px}.message-list{gap:3px}.chat-entry{min-height:max(58px,calc(var(--message-size) * 2.15 + 26px))}.entry-card{padding:5px 9px 8px 10px}.entry-message{min-height:19px;margin-top:2px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-delay:0s!important;animation-iteration-count:1!important}.signal-flash{display:none}}
