.pixel-scene { position:fixed; inset:0; z-index:-1; pointer-events:none; background:#142f3a url('/static/scenes/dragon.png') center bottom/cover no-repeat; image-rendering:pixelated; }
.pixel-scene[data-theme=pony] { background-image:url('/static/scenes/pony.png'); }
.pixel-scene::before { content:""; position:absolute; inset:0; background:linear-gradient(#06141b55,#06141b33 55%,#06141b55); }
.pixel-scene::after { content:""; position:absolute; inset:0; background:#dcecbf; opacity:0; animation:scene-breathe 18s steps(24) infinite alternate; }
.pixel-scene i { position:absolute; width:3px; height:3px; background:#f6dc87; bottom:18%; left:12%; box-shadow:170px 20px #f9dc9a,460px -40px #cee7ae,710px 30px #e4e8a1; animation:scene-fireflies 8s steps(12) infinite; }
.pixel-scene i:nth-child(2) { left:52%; bottom:25%; animation-delay:-3s; }
.pixel-scene i:nth-child(3) { left:30%; bottom:8%; animation-delay:-5s; }
.pixel-scene[hidden] { display:none!important; }
.pixel-scene[hidden] *, .pixel-scene[hidden]::after { animation:none; }
body.has-pixel-scene { background:transparent; isolation:isolate; }
body.has-pixel-scene .chat-pane { background:rgba(7,18,21,.84); }
body.has-pixel-scene .composer { background:rgba(7,18,21,.94); }
.scene-toggle { display:flex; align-items:center; gap:7px; font-size:12px; white-space:nowrap; cursor:pointer; }
.scene-toggle input { width:16px; height:16px; margin:0; accent-color:#dc8351; }
.verification-panel { padding:14px; border:1px solid #779485; border-radius:12px; margin-bottom:10px; background:#132d28; color:#f2f3ea; }
.verification-panel p { font-size:13px; margin:6px 0; }
.verification-panel form { display:flex; align-items:end; gap:10px; }
.verification-panel input { max-width:140px; }
.captcha-row { display:flex; align-items:center; gap:8px; margin:8px 0; }
.captcha-row img { border-radius:6px; max-width:65%; object-fit:contain; }
@keyframes scene-fireflies { 0%,100%{transform:translate(0,0);opacity:.15} 50%{transform:translate(10px,-14px);opacity:.85} }
@keyframes scene-breathe { to{opacity:.035} }
@media(prefers-reduced-motion:reduce) { .pixel-scene *, .pixel-scene::after { animation:none; } }
@media(max-width:600px) { .scene-toggle { font-size:11px; } .verification-panel form { flex-wrap:wrap; } }
