@import "https://fonts.googleapis.com/css2?family=VT323&display=swap";:root{--bg-color:#e1e1e1;--dot-color:#b8b8b8;--box-bg:#faf9f3;--text-color:#151515;--border-color:#111;--scene-bg:#303039;--snes-gray:#c9c9cf;--snes-gray-dark:#696972;--snes-gray-light:#efeff2;--lavender:#b9a7d9;--lavender-soft:#ded4f0;--purple:#5b4a8d;--screen:#171629;--screen-glow:#fff9d9;--shadow:#00000038;--bot-scale:1;--sprite-px:8px}*{box-sizing:border-box}html,body{background-color:var(--bg-color);color:var(--text-color);-webkit-font-smoothing:none;image-rendering:pixelated;justify-content:center;align-items:center;width:100vw;height:100dvh;margin:0;padding:0;font-family:VT323,monospace;display:flex;overflow:hidden}body:before{content:"";pointer-events:none;position:absolute;inset:0}body[data-bg=off]:before,body:not([data-bg]):before{background-image:radial-gradient(var(--dot-color) 1px, transparent 1px);opacity:1;background-size:20px 20px}body[data-bg=pan-dots]:before{background-image:radial-gradient(var(--dot-color) 1px, transparent 1px);pointer-events:none;background-size:20px 20px;animation:20s linear infinite panBg}body[data-bg=grid]:before{background:linear-gradient(45deg, transparent 48%, var(--dot-color) 49%, var(--dot-color) 51%, transparent 52%), linear-gradient(-45deg, transparent 48%, var(--dot-color) 49%, var(--dot-color) 51%, transparent 52%);opacity:.3;background-size:60px 60px;animation:15s linear infinite panBg}body[data-bg=dots]:before{background-image:radial-gradient(var(--dot-color) 20%, transparent 20%);opacity:.3;background-size:40px 40px;animation:20s linear infinite panBg}body[data-bg=scanlines]:before{background:repeating-linear-gradient(0deg, transparent, transparent 10px, var(--dot-color) 10px, var(--dot-color) 20px);opacity:.2;background-size:100% 40px;animation:5s linear infinite panScanlines}body[data-bg=hexagons]:before{background:linear-gradient(30deg, transparent 40%, var(--dot-color) 40%, var(--dot-color) 60%, transparent 60%) 0 0, linear-gradient(-30deg, transparent 40%, var(--dot-color) 40%, var(--dot-color) 60%, transparent 60%) 0 0;opacity:.15;background-size:40px 69.28px;animation:18s linear infinite panBg}body[data-bg=static]:before{background-image:repeating-radial-gradient(circle at 17% 32%, var(--dot-color), transparent .00085px), repeating-radial-gradient(circle at 72% 51%, var(--snes-gray-dark), transparent .00085px);opacity:.15;background-size:100% 100%;animation:.2s steps(2,end) infinite staticNoise}body[data-bg=stars]:before{background-image:radial-gradient(var(--lavender) 1px, transparent 1px), radial-gradient(var(--dot-color) 1px, transparent 1px);opacity:.3;background-position:0 0,40px 40px;background-size:80px 80px,120px 120px;animation:15s linear infinite panStars}body.theme-brutalist{--bg-color:#e6e6e6;--dot-color:#999;--box-bg:#fc0;--text-color:#111;--border-color:#111;--scene-bg:#2b2b2b;--snes-gray:#ccc;--snes-gray-dark:#888;--snes-gray-light:#fff;--lavender:#f05;--lavender-soft:#f8a;--purple:#f05;--screen:#111;--screen-glow:#fc0}body.theme-midnight{--bg-color:#0d0d12;--dot-color:#2a2a3a;--box-bg:#16161e;--text-color:#e0e0e0;--border-color:#445;--scene-bg:#050508;--snes-gray:#3a3a4a;--snes-gray-dark:#22222e;--snes-gray-light:#556;--lavender:#00e5ff;--lavender-soft:#88f0ff;--purple:#00e5ff;--screen:#000;--screen-glow:#00e5ff}body.theme-retro{--bg-color:#0d0d14;--dot-color:#1a1a24;--box-bg:linear-gradient(to bottom, #10103a, #00001a);--text-color:#f8f8f8;--border-color:#e0e0e0;--scene-bg:linear-gradient(to bottom, #3a2e5d, #1a152e);--snes-gray:#111;--snes-gray-dark:#000;--snes-gray-light:#222;--lavender:#20e060;--lavender-soft:#aaffc0;--purple:#88c0d0;--screen:#0d0d14;--screen-glow:#20e060}#game-container{background:var(--box-bg);border:6px solid var(--border-color);width:min(760px,100vw - 32px);height:min(820px,100dvh - 32px);min-height:680px;box-shadow:12px 12px 0 var(--lavender), 22px 22px 0 var(--border-color);isolation:isolate;flex-direction:column;display:flex;position:relative;overflow:hidden}#game-container.shake{animation:.22s steps(3,end) 2 screenShake}#character-scene{background:var(--scene-bg);border-bottom:6px solid var(--border-color);flex:auto;justify-content:center;align-items:center;min-height:260px;display:flex;position:relative;overflow:hidden}.scene-bg{opacity:.18;position:absolute;inset:0}.scene-bg:after{content:"";opacity:.35;z-index:2;background-image:radial-gradient(#ffffff1f 1px,#0000 1px);background-size:16px 16px;position:absolute;inset:0}#character-scene[data-bg=grid] .scene-bg{background:linear-gradient(45deg, transparent 48%, var(--lavender) 49%, var(--lavender) 51%, transparent 52%), linear-gradient(-45deg, transparent 48%, var(--lavender) 49%, var(--lavender) 51%, transparent 52%);background-size:60px 60px;animation:15s linear infinite panBg}#character-scene[data-bg=pan-dots] .scene-bg{background-image:radial-gradient(var(--lavender) 1px, transparent 1px);opacity:.8;background-size:20px 20px;animation:20s linear infinite panBg}#character-scene[data-bg=dots] .scene-bg{background-image:radial-gradient(var(--lavender) 20%, transparent 20%);background-position:0 0;background-size:40px 40px;animation:20s linear infinite panBg}#character-scene[data-bg=scanlines] .scene-bg{background:repeating-linear-gradient(0deg, transparent, transparent 10px, var(--lavender) 10px, var(--lavender) 20px);background-size:100% 40px;animation:5s linear infinite panScanlines}#character-scene[data-bg=hexagons] .scene-bg{background:linear-gradient(30deg, transparent 40%, var(--lavender) 40%, var(--lavender) 60%, transparent 60%) 0 0, linear-gradient(-30deg, transparent 40%, var(--lavender) 40%, var(--lavender) 60%, transparent 60%) 0 0;opacity:.12;background-size:40px 69.28px;animation:18s linear infinite panBg}#character-scene[data-bg=static] .scene-bg{background-image:repeating-radial-gradient(circle at 17% 32%, var(--lavender), transparent .00085px), repeating-radial-gradient(circle at 72% 51%, var(--border-color), transparent .00085px);opacity:.15;background-size:100% 100%;animation:.2s steps(2,end) infinite staticNoise}#character-scene[data-bg=stars] .scene-bg{background-image:radial-gradient(var(--screen-glow) 1px, transparent 1px), radial-gradient(var(--lavender) 1px, transparent 1px);opacity:.3;background-position:0 0,40px 40px;background-size:80px 80px,120px 120px;animation:15s linear infinite panStars}#pixel-layer{pointer-events:none;z-index:7;position:absolute;inset:0;overflow:hidden}.pixel-burst{background:var(--lavender);border:2px solid var(--border-color);width:10px;height:10px;animation:.68s steps(5,end) forwards burst;position:absolute}.ground-shadow{z-index:1;background:#0000005c;border:4px solid #0000008c;width:214px;height:24px;display:none;position:absolute;bottom:30px;transform:skew(-12deg)}#bot-button{z-index:4;width:min(310px,94%);height:calc(var(--sprite-px) * 38);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:flex-end;margin:0;padding:0;display:flex;position:relative}#bot-button:focus-visible{outline:5px solid var(--lavender);outline-offset:5px}.pixel-bot{transform-origin:bottom;filter:drop-shadow(calc(var(--sprite-px) * 1) calc(var(--sprite-px) * 1) 0 #0000006b);line-height:0;animation:2.5s ease-in-out infinite hover;display:inline-block;position:relative}.pixel-sprite{--cols:29;--rows:37;grid-template-columns:repeat(var(--cols), var(--sprite-px));grid-template-rows:repeat(var(--rows), var(--sprite-px));width:max-content;height:max-content;display:inline-grid;position:relative}.bot-pixel{width:calc(100% + .6px);height:calc(100% + .6px);margin:-.3px;display:block}.p-k{background:#11111b}.p-d{background:var(--screen)}.p-g{background:var(--snes-gray)}.p-l{background:var(--snes-gray-light)}.p-s{background:var(--snes-gray-dark)}.p-v{background:var(--lavender)}.p-p{background:var(--purple)}.p-e{background:var(--screen-glow)}.p-o{background:#d7a46f}.p-b{background:#2f3141}.p-h{background:var(--lavender-soft)}.bot-pixel.eye{background:var(--screen-glow);box-shadow:0 0 4px var(--screen-glow);transform-origin:50%;animation:5.7s step-end infinite pixelBlink}.pixel-mouth{opacity:0}.pixel-bot.talking .pixel-mouth{opacity:1;animation:.16s steps(2,end) infinite alternate pixelTalk}.pixel-bot.talking .bot-pixel.eye{box-shadow:0 0 7px var(--screen-glow)}.pixel-bot[data-character=luma32] .pixel-sprite{transform-origin:bottom;transform:scale(1.06)}#dialogue-container{background:var(--box-bg);flex:none;padding:18px 20px 12px;position:relative}#speaker-tab{background:var(--box-bg);border:5px solid var(--border-color);box-shadow:5px 5px 0 var(--lavender);z-index:5;padding:2px 10px;font-size:22px;line-height:1;position:absolute;top:-19px;left:24px}#speaker-tab .hint{color:var(--purple);margin-left:8px;font-size:18px}#dialogue-box{background:var(--bg-color);border:6px solid var(--border-color);height:260px;font-size:var(--dialogue-font-size,clamp(27px, 4.3vw, 33px));cursor:pointer;scrollbar-width:thin;scrollbar-color:var(--lavender) transparent;padding:16px 24px;line-height:1.14;position:relative;overflow-y:auto;box-shadow:inset 4px 4px #0000001a}#dialogue-box.mash{box-shadow:inset 4px 4px 0 #0000001a, 0 0 0 4px var(--lavender)}.word-wrapper{white-space:nowrap;display:inline-block}#choice-row{flex-wrap:wrap;align-items:center;gap:8px;min-height:38px;margin-top:10px;display:flex}.choice-chip{background:var(--bg-color);color:var(--text-color);border:4px solid var(--border-color);box-shadow:4px 4px 0 var(--border-color);cursor:pointer;text-transform:uppercase;flex:none;padding:5px 9px;font-family:VT323,monospace;font-size:21px;line-height:1}.choice-chip:hover:not(:disabled),.choice-chip:focus-visible{background:var(--lavender-soft);box-shadow:2px 2px 0 var(--border-color);color:#111;outline:none;transform:translate(2px,2px)}.choice-chip:disabled{opacity:.45;cursor:not-allowed}#input-area{border-top:6px solid var(--border-color);background:var(--bg-color);flex:none;min-height:74px;display:flex}.input-wrapper{flex:1;align-items:center;min-width:0;padding:0 15px;display:flex}.prompt-arrow{color:var(--purple);margin-right:10px;font-size:38px;font-weight:700}input[type=text]{min-width:0;color:var(--text-color);font-family:VT323,monospace;font-size:var(--dialogue-font-size,clamp(27px, 4.5vw, 32px));background:0 0;border:none;outline:none;flex:1;height:100%}input[type=text]::placeholder{color:var(--snes-gray-dark);opacity:.7}button#send-button{background:var(--lavender);border:none;border-left:6px solid var(--border-color);color:#111;cursor:pointer;text-transform:uppercase;padding:0 34px;font-family:VT323,monospace;font-size:29px;font-weight:700}button#send-button:disabled{background:var(--snes-gray-dark);cursor:not-allowed;color:#111;border-left-color:var(--border-color);opacity:.5}button#send-button:hover:not(:disabled),button#send-button:focus-visible{background:var(--text-color);color:var(--lavender-soft);outline:none}.top-btn{z-index:45;color:var(--text-color);background:var(--box-bg);border:4px solid var(--border-color);box-shadow:4px 4px 0 var(--lavender);cursor:pointer;text-transform:uppercase;letter-spacing:.03em;padding:5px 9px;font-family:VT323,monospace;font-size:19px;line-height:1;position:absolute}.top-btn:hover:not(:disabled),.top-btn:focus-visible:not(:disabled){background:var(--lavender-soft);box-shadow:3px 3px 0 var(--border-color);color:#111;outline:none;transform:translate(1px,1px)}#shader-button{top:10px;left:10px}#theme-button{top:46px;left:10px}#character-button{top:10px;right:10px}#sound-button{top:46px;right:10px}#fs-toggle{z-index:10000;border:2px solid var(--dot-color);color:var(--dot-color);cursor:pointer;opacity:.6;background:0 0;padding:2px 6px;font-family:VT323,monospace;font-size:16px;transition:all .2s;display:none;position:fixed;bottom:12px;right:12px}#fs-toggle:hover{opacity:1;border-color:var(--text-color);color:var(--text-color)}#start-screen{background:var(--box-bg);z-index:20;cursor:pointer;border:6px solid var(--border-color);box-shadow:inset 0 0 0 10px var(--bg-color), inset 0 0 0 20px #00000026;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:16px;padding:24px;font-size:clamp(38px,8vw,54px);font-weight:700;display:flex;position:absolute;inset:0}#start-screen .boot-subtitle{color:var(--purple);max-width:560px;margin-top:24px;font-size:clamp(22px,4vw,29px);line-height:1.05}#start-screen .boot-title{color:var(--text-color);letter-spacing:2px;margin-top:32px;font-size:clamp(32px,6vw,48px)}#start-screen .boot-robot{flex-direction:column;align-items:center;display:flex}#start-screen .boot-antenna{background:var(--snes-gray-dark);border:4px solid var(--border-color);border-bottom:none;width:6px;height:24px;position:relative}#start-screen .boot-antenna:before{content:"";background:var(--lavender);border:4px solid var(--border-color);border-radius:50%;width:14px;height:14px;animation:1.5s ease-in-out infinite antennaGlow;position:absolute;top:-14px;left:-10px}#start-screen .boot-head{background:var(--snes-gray);border:6px solid var(--border-color);width:130px;height:100px;box-shadow:8px 8px 0 var(--lavender);justify-content:center;align-items:center;display:flex}#start-screen .boot-screen{background:var(--screen);border:6px solid var(--border-color);width:84px;height:50px;position:relative;overflow:hidden}#start-screen .boot-eye{background:var(--screen-glow);width:12px;height:16px;position:absolute;top:12px}#start-screen .boot-eye.left{left:16px}#start-screen .boot-eye.right{right:16px}#start-screen .boot-mouth{background:var(--screen-glow);width:20px;height:6px;animation:.4s steps(2,end) infinite pixelTalk;position:absolute;bottom:2px;left:26px}#start-screen.hidden{display:none}#thinking-indicator{color:var(--purple);padding:4px 0;font-size:21px;animation:1.2s steps(3,end) infinite thinkingPulse;display:none}#thinking-indicator.visible{display:block}#settings-overlay{z-index:100;background:#0009;justify-content:center;align-items:center;display:none;position:absolute;inset:0}#settings-overlay.visible{display:flex}#settings-panel{background:var(--box-bg);border:6px solid var(--border-color);box-shadow:8px 8px 0 var(--lavender);width:min(420px,90%);max-height:80%;padding:20px;overflow-y:auto}#settings-panel h2{color:var(--text-color);margin:0 0 16px;font-family:VT323,monospace;font-size:28px}.settings-field{margin-bottom:14px}.settings-field label{color:var(--purple);margin-bottom:4px;font-family:VT323,monospace;font-size:24px;display:block}.settings-field input[type=text],.settings-field input[type=password]{background:var(--bg-color);border:4px solid var(--border-color);width:100%;color:var(--text-color);padding:6px 10px;font-family:VT323,monospace;font-size:24px}.settings-field input[type=range]{width:100%;accent-color:var(--lavender)}.settings-row{gap:8px;margin-top:16px;display:flex}.settings-btn{background:var(--lavender);color:#111;border:4px solid var(--border-color);box-shadow:4px 4px 0 var(--border-color);cursor:pointer;text-transform:uppercase;padding:5px 14px;font-family:VT323,monospace;font-size:22px}.settings-btn:hover{background:var(--lavender-soft);box-shadow:2px 2px 0 var(--border-color);transform:translate(2px,2px)}.settings-btn.pressed{background:var(--lavender-soft);box-shadow:0 0 0 var(--border-color);transform:translate(4px,4px)}.settings-btn.danger{background:var(--bg-color);color:var(--text-color)}.wavy{animation:.4s infinite wave;display:inline-block}.glitch{color:var(--purple);text-shadow:2px 0 var(--text-color), -2px 0 var(--lavender);animation:.18s steps(2,end) infinite glitch;display:inline-block}.rumble{animation:.12s steps(2,end) infinite rumble;display:inline-block}.big{color:var(--purple);font-size:1.18em}.tiny{opacity:.65;color:var(--text-color);vertical-align:baseline;transform-origin:bottom;font-size:.55em;animation:.2s steps(2,end) infinite tinyMumble;display:inline-block}@keyframes tinyMumble{0%,to{transform:translateY(0)}50%{transform:translateY(1px)}}.pop{animation:.28s steps(2,end) pop;display:inline-block}.spark{color:var(--purple);text-shadow:0 -2px var(--lavender-soft), 2px 0 var(--bg-color)}.ghost{opacity:.6}.royal{background:var(--lavender-soft);color:#111;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:0 2px}.chroma{color:var(--text-color);text-shadow:-2px 0 #ff0055b3,2px 0 #50ffe68c;animation:.28s steps(2,end) infinite chromaShimmy;display:inline-block}.dream{background:linear-gradient(90deg, var(--lavender-soft), var(--bg-color), var(--snes-gray-light));color:#111;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:0 2px;animation:.7s steps(3,end) infinite dreamLift;position:relative}.static{color:var(--bg-color);background:var(--text-color);text-shadow:1px 0 var(--lavender), -1px 0 var(--snes-gray-light);-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:0 2px;animation:.18s steps(2,end) infinite staticHop;position:relative}.crumb{color:var(--purple);box-shadow:inset 0 -6px 0 var(--lavender-soft)}.oracle{color:var(--screen);background:var(--screen-glow);box-shadow:3px 3px 0 var(--lavender);-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:0 3px}.cursor{background:var(--text-color);vertical-align:baseline;width:.5em;height:.85em;margin-left:4px;animation:1s step-end infinite blink;display:inline-block;transform:translateY(2px)}.rage{color:#f24;text-shadow:2px 0 red,-2px 0 #800;font-size:1.15em;animation:80ms steps(2,end) infinite rumble;display:inline-block}.whisper{opacity:.45;letter-spacing:.05em;vertical-align:baseline;font-size:.65em}.redact{background:var(--text-color);color:var(--text-color);cursor:pointer;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:0 2px;transition:color .3s}.redact:hover{color:var(--lavender)}.rainbow{background:linear-gradient(90deg,#f05,#fc0,#00e5ff,#b9a7d9,#f05);-webkit-text-fill-color:transparent;background-size:200% 100%;-webkit-background-clip:text;animation:1.2s linear infinite rainbowShift;display:inline-block}@keyframes rainbowShift{0%{background-position:0%}to{background-position:200%}}@keyframes panBg{0%{background-position:0 0}to{background-position:-60px 60px}}@keyframes panScanlines{0%{background-position:0 0}to{background-position:0 40px}}@keyframes panStars{0%{background-position:0 0,40px 40px}to{background-position:0 240px,40px 280px}}@keyframes staticNoise{0%,to{background-position:0 0}50%{background-position:10px 10px}}@keyframes hover{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes sleepyBob{0%,to{transform:translateY(0)rotate(-1deg)}50%{transform:translateY(5px)rotate(1deg)}}@keyframes wave{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes blink{50%{opacity:0}}@keyframes antennaGlow{0%,to{opacity:1;box-shadow:0 0 8px var(--lavender)}50%{opacity:.4;box-shadow:0 0 0px var(--lavender)}}@keyframes glitch{0%{transform:translate(0)}50%{transform:translate(1px,-1px)}to{transform:translate(-1px,1px)}}@keyframes rumble{0%{transform:translate(0)}50%{transform:translate(2px)}to{transform:translate(-2px)}}@keyframes pop{0%{transform:scale(1)}50%{transform:scale(1.25)}to{transform:scale(1)}}@keyframes screenShake{0%,to{transform:translate(0)}33%{transform:translate(3px,-3px)}66%{transform:translate(-3px,2px)}}@keyframes burst{0%{opacity:1;transform:translate(0)scale(1)}to{transform:translate(var(--dx), var(--dy)) scale(0);opacity:0}}@keyframes pixelBlink{0%,88%,to{transform:scaleY(1)}90%,93%{transform:scaleY(.12)}}@keyframes pixelTalk{0%{opacity:.35;transform:scaleY(.5)}to{opacity:1;transform:scaleY(1.2)}}@keyframes pixelWiggle{0%{transform:rotate(-2deg)}to{transform:rotate(2deg)}}@keyframes pixelNod{0%,to{translate:0}50%{translate:0 calc(var(--sprite-px) * .5)}}@keyframes dreamBob{0%,to{transform:translateY(0)}33%{transform:translateY(calc(var(--sprite-px) * -1))}66%{transform:translateY(calc(var(--sprite-px) * 1))}}@keyframes pixelDreamEye{0%,to{background:var(--screen-glow)}50%{background:var(--lavender-soft)}}@keyframes armSparkLeft{0%{filter:brightness()}to{filter:brightness(1.22)}}@keyframes armSparkRight{0%{filter:brightness(1.22)}to{filter:brightness()}}@keyframes chromaShimmy{0%,to{transform:translate(0)}50%{transform:translate(1px)}}@keyframes dreamLift{0%,to{top:0}50%{top:-3px}}@keyframes staticHop{0%,to{top:0;left:0}50%{top:-1px;left:1px}}@keyframes thinkingPulse{0%,to{opacity:1}50%{opacity:.3}}.pixel-bot.mood-dance{animation:.72s steps(3,end) infinite hover,.42s steps(2,end) infinite pixelWiggle}.pixel-bot.mood-suspicious{animation:2.5s steps(4,end) infinite hover,1.4s steps(2,end) infinite pixelNod}.pixel-bot.mood-sleepy{animation:2.4s steps(3,end) infinite sleepyBob}.pixel-bot.mood-dream{filter:drop-shadow(calc(var(--sprite-px) * 1) calc(var(--sprite-px) * 1) 0 #0000006b) drop-shadow(0 0 10px var(--lavender));animation:1.4s steps(4,end) infinite dreamBob}.pixel-bot.mood-angry{animation:.15s steps(2,end) infinite rumble}.pixel-bot.mood-panic{animation:.3s steps(2,end) infinite hover,.2s steps(2,end) infinite pixelWiggle}.pixel-bot.mood-smug{animation:3s steps(4,end) infinite hover}.pixel-bot.mood-pleased .bot-pixel.eye{transform:scaleY(.55)}.pixel-bot.mood-suspicious .bot-pixel.left-eye{transform:translateX(calc(var(--sprite-px) * -.55))}.pixel-bot.mood-suspicious .bot-pixel.right-eye{transform:translateX(calc(var(--sprite-px) * -.15))}.pixel-bot.mood-sleepy .bot-pixel.eye{animation:none;transform:scaleY(.22)}.pixel-bot.mood-dream .bot-pixel.eye{animation:.9s steps(2,end) infinite pixelDreamEye}.pixel-bot.mood-angry .bot-pixel.eye{box-shadow:0 0 8px #f00c}.pixel-bot.mood-smug .bot-pixel.eye{transform:scaleY(.7)scaleX(1.1)}.pixel-bot.mood-dance .bot-pixel.arm-left,.pixel-bot.mood-dance .bot-pixel.hand-left{animation:.32s steps(2,end) infinite armSparkLeft}.pixel-bot.mood-dance .bot-pixel.arm-right,.pixel-bot.mood-dance .bot-pixel.hand-right{animation:.32s steps(2,end) infinite armSparkRight}@keyframes idleLook{0%,80%,to{transform:translate(0)}20%{transform:translateX(calc(var(--sprite-px) * 1))}50%{transform:translateX(calc(var(--sprite-px) * -1))}}.pixel-bot.idle .bot-pixel.eye{animation:4s steps(3,end) infinite idleLook}@keyframes stormFlash{0%,90%,to{opacity:0}92%{opacity:.5}94%{opacity:0}96%{opacity:.3}}.storm-overlay{z-index:50;pointer-events:none;background:#ffffff26;animation:.8s steps(2,end) infinite stormFlash;position:absolute;inset:0}#crt-overlay{z-index:58;pointer-events:none;opacity:0;transition:opacity .16s steps(2,end);position:absolute;inset:0;overflow:hidden;box-shadow:inset 0 0 15vmin #000000e6}body.crt-fs #crt-overlay{z-index:9999;width:100vw;height:100dvh;position:fixed;top:0;left:0}#crt-overlay span{pointer-events:none;position:absolute;inset:0}body.crt-off #crt-overlay{display:none}body.crt-fs:not(.crt-off),body.crt-win:not(.crt-off) #game-container{text-shadow:1.2px 0 #f006,-1.2px 0 #0ff6}body:not(.crt-off) #crt-overlay{opacity:1;animation:.15s infinite crtFlicker}.crt-snes .crt-scan{background:linear-gradient(#fff0,#fff0 50%,#0000001f 50%,#0000001f) 0 0/100% 4px}.crt-snes .crt-glow{mix-blend-mode:screen;background:radial-gradient(circle,#ffffff14 0%,#0000 70%)}body.crt-fs.crt-trinitron,body.crt-win.crt-trinitron #game-container{filter:contrast(1.035)saturate(1.06)}.crt-trinitron .crt-scan{background:linear-gradient(#0000001a 50%,#0000 50%) 0 0/100% 3px}.crt-trinitron .crt-mask{mix-blend-mode:multiply;background:linear-gradient(90deg,#ff00000f,#00ff0005,#0000ff0f) 0 0/3px 100%}body.crt-fs.crt-slot,body.crt-win.crt-slot #game-container{filter:contrast(1.04)saturate(.98)}.crt-slot .crt-scan{background:linear-gradient(#0000 50%,#00000026 50%) 0 0/100% 4px}.crt-slot .crt-mask{background:radial-gradient(#0000004d 0 20%,#0000 25% 100%) 0 0/6px 4px}body.crt-fs.crt-rf,body.crt-win.crt-rf #game-container{filter:contrast(1.01)saturate(.94)}.crt-rf .crt-scan{background:linear-gradient(#0000000f 50%,#0000 50%) 0 0/100% 5px}.crt-rf .crt-noise{opacity:.15;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg viewBox=\"0 0 200 200\" xmlns=\"http://www.w3.org/2000/svg\"%3E%3Cfilter id=\"noiseFilter\"%3E%3CfeTurbulence type=\"fractalNoise\" baseFrequency=\"0.85\" numOctaves=\"3\" stitchTiles=\"stitch\"/%3E%3C/filter%3E%3Crect width=\"100%25\" height=\"100%25\" filter=\"url(%23noiseFilter)\"/%3E%3C/svg%3E")}.crt-rf .crt-roll{background:linear-gradient(#0000,#ffffff26,#0000);height:15%;animation:5s linear infinite crtRefresh;box-shadow:0 0 30px #ffffff1a}@keyframes crtRefresh{0%{transform:translateY(-100%)}to{transform:translateY(800%)}}@keyframes crtFlicker{0%{opacity:.98}50%{opacity:1}to{opacity:.99}}@media (width<=760px){#game-container{width:calc(100vw - 28px);height:calc(100dvh - 28px);min-height:640px;box-shadow:9px 9px 0 var(--lavender), 16px 16px 0 var(--border-color)}#character-scene{min-height:230px}:root{--sprite-px:7px}.top-btn{padding:4px 6px;font-size:16px}#theme-button,#sound-button{top:40px}#dialogue-container{padding:16px 14px 10px}#dialogue-box{height:240px;padding:14px 17px}#choice-row{flex-wrap:nowrap;min-height:42px;padding:0 3px 5px 0;overflow-x:auto}button#send-button{padding:0 24px}}@media (width<=520px){#game-container{border-width:5px;width:calc(100vw - 20px);height:calc(100dvh - 20px);min-height:600px}#character-scene{border-bottom-width:5px;min-height:196px}:root{--sprite-px:6px}#speaker-tab{border-width:4px;font-size:20px;top:-17px;left:14px}#speaker-tab .hint{display:none}#dialogue-box{border-width:5px;height:220px;font-size:clamp(25px,7vw,30px)}#input-area{border-top-width:5px;min-height:66px}.input-wrapper{padding:0 10px}.prompt-arrow{margin-right:6px;font-size:32px}button#send-button{border-left-width:5px;padding:0 17px;font-size:25px}}@media (height<=720px){#character-scene{min-height:168px}:root{--sprite-px:5px}#dialogue-box{height:180px}#choice-row{min-height:34px;margin-top:7px}#input-area{min-height:60px}}@media (prefers-reduced-motion:reduce){.pixel-bot,.pixel-burst,.wavy,.glitch,.rumble,.chroma,.dream,.static,.cursor,.pixel-bot.mood-dance,.pixel-bot.mood-suspicious,.pixel-bot.mood-sleepy,.pixel-bot.mood-dream,#game-container.shake{animation:none!important}}
