@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;--crt-tv-width-px:880px;--crt-tv-height-px:980px;--crt-shell-radius-x:6%;--crt-shell-radius-y:6%;--crt-frame-radius-x:6.5%;--crt-frame-radius-y:6%;--crt-surface-radius-x:6%;--crt-surface-radius-y:5.5%}*{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:34s 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)}.pixel-bot[data-character=slime16v2] .pixel-sprite{transform-origin:bottom;transform:scale(1.02)}.pixel-bot[data-character=slime16v2] .goo-orb{animation:1.4s steps(2,end) infinite pop}.pixel-bot[data-character=nova24] .orbit-ring{animation:.9s steps(2,end) infinite chromaShimmy}.pixel-bot[data-character=nova24] .spark-left{animation:1.2s steps(2,end) infinite pop}.pixel-bot[data-character=nova24] .spark-right{animation:1.2s steps(2,end) infinite reverse pop}#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)}#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}:root{--crt-geom-strength:.38;--crt-glass-highlight:.26;--crt-glass-vignette:.24;--crt-face-shadow:.25}#crt-shell,#crt-screen-frame,#crt-warp-surface{min-width:0;min-height:0;position:relative}body.crt-geometry-off #crt-shell,body:not(.crt-geometry-on):not(.crt-geometry-off) #crt-shell,body.crt-geometry-off #crt-screen-frame,body:not(.crt-geometry-on):not(.crt-geometry-off) #crt-screen-frame,body.crt-geometry-off #crt-warp-surface,body:not(.crt-geometry-on):not(.crt-geometry-off) #crt-warp-surface{display:contents}body.crt-geometry-off #crt-geometry-glass,body.crt-geometry-off .crt-case-label,body.crt-geometry-off .crt-case-vents,body.crt-geometry-off .crt-power-led,body:not(.crt-geometry-on):not(.crt-geometry-off) #crt-geometry-glass,body:not(.crt-geometry-on):not(.crt-geometry-off) .crt-case-label,body:not(.crt-geometry-on):not(.crt-geometry-off) .crt-case-vents,body:not(.crt-geometry-on):not(.crt-geometry-off) .crt-power-led{display:none}body.crt-geometry-on #crt-shell{--crt-bezel-x:clamp(14px, 3.2vmin, 38px);--crt-bezel-top:clamp(18px, 3.8vmin, 44px);--crt-bezel-bottom:clamp(28px, 5vmin, 58px);width:min(var(--crt-tv-width-px), calc(100vw - clamp(6px, 1.4vmin, 18px)));height:min(var(--crt-tv-height-px), calc(100dvh - clamp(6px, 1.4vmin, 18px)));padding:var(--crt-bezel-top) var(--crt-bezel-x) var(--crt-bezel-bottom);isolation:isolate;border-radius:var(--crt-shell-radius-x) / var(--crt-shell-radius-y);background:radial-gradient(130% 60% at 50% -6%,#ffffff21 0%,#ffffff06 30%,#0000 55%),radial-gradient(120% 84% at 50% 112%,#020202 0%,#101010 48%,#0000 72%),linear-gradient(145deg,#292929 0%,#101010 22%,#050505 43%,#1a1a1a 67%,#030303 100%);border:1px solid #020202;display:flex;overflow:hidden;transform:translateZ(0);box-shadow:0 0 0 2px #ffffff06,0 0 0 5px #010101,0 28px 80px #000000bd,0 0 0 100vmax #00000094,inset 0 2px 1px #ffffff1f,inset 0 -3px 3px #000000e6,inset 10px 0 22px #ffffff05,inset -14px 0 28px #0000009e}body.crt-geometry-on #crt-shell:before{content:"";z-index:0;border-radius:inherit;pointer-events:none;opacity:.24;mix-blend-mode:soft-light;background-image:radial-gradient(circle at 18% 22%,#ffffff3d 0 .7px,#0000 1px),radial-gradient(circle at 74% 63%,#ffffff1f 0 .55px,#0000 .9px),linear-gradient(104deg,#0000 0 45%,#ffffff09 48%,#0000 52% 100%);background-size:7px 7px,11px 11px,100% 100%;position:absolute;inset:0}body.crt-geometry-on #crt-shell:after{content:"";z-index:1;pointer-events:none;opacity:.72;background:linear-gradient(#ffffff0b,#000000bf);border-radius:50%;height:clamp(7px,1.5vmin,16px);position:absolute;bottom:clamp(6px,1.4vmin,14px);left:9%;right:9%;box-shadow:inset 0 1px 1px #ffffff0f,0 -1px #000000e6}body.crt-geometry-on #crt-screen-frame{z-index:2;isolation:isolate;border-radius:var(--crt-frame-radius-x) / var(--crt-frame-radius-y);transform-origin:50% 54%;backface-visibility:hidden;clip-path:none;background:radial-gradient(92% 88% at 50% 48%,#111 0%,#060606 67%,#000 100%),linear-gradient(145deg,#020202 0%,#252525 15%,#080808 38%,#020202 62%,#1c1c1c 84%,#000 100%);flex:auto;padding:clamp(6px,1.2vmin,14px);display:flex;overflow:hidden;transform:perspective(1600px)rotateX(.3deg)scale(.998);box-shadow:0 0 0 1px #ffffff0e,0 0 0 3px #000,inset 0 0 0 2px #ffffff09,inset 0 0 clamp(16px,3.4vmin,38px) #000000fa,0 clamp(5px,1.2vmin,12px) clamp(12px,2.8vmin,30px) #000000eb}body.crt-geometry-on #crt-screen-frame:after{content:"";z-index:64;pointer-events:none;box-sizing:border-box;border-radius:var(--crt-surface-radius-x) / var(--crt-surface-radius-y);border:clamp(5px,.75vmin,8px) solid #000000f7;position:absolute;inset:clamp(6px,1.2vmin,14px);box-shadow:0 0 0 100px #020202fe,inset 0 0 clamp(10px,2vmin,20px) #0000009e,0 0 0 1px #ffffff06}body.crt-geometry-on #crt-warp-surface{isolation:isolate;border-radius:var(--crt-surface-radius-x) / var(--crt-surface-radius-y);-webkit-filter:url(#crt-barrel-warp);will-change:filter;backface-visibility:hidden;clip-path:none;background:radial-gradient(116% 92% at 50% 46%,#ffffff08 0%,#ffffff03 30%,#0000 61%),radial-gradient(130% 118% at 50% 52%,#ffffff03 0%,#ffffff01 42%,#0000 68%),#010103;flex:auto;width:100%;height:100%;overflow:hidden;transform:translateZ(0)}body.crt-geometry-on #game-container{clip-path:none;width:auto;max-width:none;height:auto;min-height:0;max-height:none;box-shadow:none;border:0;border-radius:0;position:absolute;inset:clamp(2px,.35vmin,4px);transform:translateZ(0)}body.crt-geometry-on #crt-overlay,body.crt-geometry-on.crt-fs #crt-overlay,body.crt-geometry-on.crt-win #crt-overlay{z-index:58;border-radius:inherit;clip-path:none;overflow:hidden;width:auto!important;height:auto!important;position:absolute!important;inset:clamp(2px,.35vmin,4px)!important}body.crt-geometry-on #crt-geometry-glass{z-index:60;pointer-events:none;border-radius:var(--crt-surface-radius-x) / var(--crt-surface-radius-y);background:radial-gradient(ellipse 72% 48% at 50% 41%, #ffffff07 0%, #ffffff03 24%, transparent 52%), radial-gradient(ellipse 128% 118% at 50% 47%, transparent 0 51%, #00000007 67%, rgba(0,0,0,var(--crt-glass-vignette)) 100%), linear-gradient(102deg, #ffffff16 0%, #ffffff05 6%, #ffffff02 12%, transparent 20% 81%, #ffffff06 89%, transparent 100%);box-shadow:inset 0 0 0 1px #ffffff1a, inset 0 1px 0 #ffffff12, inset 0 0 clamp(18px, 4.2vmin, 48px) #ffffff02, inset clamp(8px, 1.6vmin, 18px) 0 clamp(14px, 3.2vmin, 36px) #ffffff05, inset clamp(-24px, -2.8vmin, -8px) 0 clamp(24px, 4.8vmin, 52px) rgba(0,0,0,var(--crt-face-shadow)), inset 0 clamp(-24px, -3vmin, -10px) clamp(22px, 4.6vmin, 50px) #0000003b, 0 0 0 1px #ffffff05;display:block;position:absolute;inset:clamp(5px,1.1vmin,13px);overflow:hidden}body.crt-geometry-on #crt-geometry-glass:before,body.crt-geometry-on #crt-geometry-glass:after{content:"";pointer-events:none;border-radius:inherit;position:absolute;inset:0}body.crt-geometry-on #crt-geometry-glass:before{opacity:var(--crt-glass-highlight);filter:blur(.35px);background:radial-gradient(48% 12% at 79% 8%,#fff6 0%,#ffffff24 16%,#ffffff08 31%,#0000 64%),radial-gradient(18% 48% at 10% 26%,#ffffff1c 0%,#ffffff08 18%,#0000 55%),linear-gradient(99deg,#ffffff04 0%,#0000 16% 74%,#ffffff07 85%,#0000 100%)}body.crt-geometry-on #crt-geometry-glass:after{background:radial-gradient(118% 110%,#0000 0 57%,#00000012 76%,#00000057 100%);box-shadow:inset 0 0 clamp(20px,4.8vmin,56px) #0000003d,inset 0 0 clamp(8px,1.8vmin,14px) #ffffff06,inset 0 -1px #ffffff09}body.crt-glass-off.crt-geometry-on #crt-geometry-glass{display:none}body.crt-geometry-on .crt-case-label,body.crt-geometry-on .crt-case-vents,body.crt-geometry-on .crt-power-led{z-index:3;pointer-events:none;display:block;position:absolute}body.crt-geometry-on .crt-case-label{color:#ffffff3d;letter-spacing:.14em;text-shadow:0 1px #000;font-family:VT323,monospace;font-size:clamp(11px,1.5vmin,15px);bottom:clamp(7px,1.5vmin,15px);left:clamp(24px,7%,64px)}body.crt-geometry-on .crt-case-vents{opacity:.62;background:repeating-linear-gradient(90deg,#000 0 2px,#0000 2px 7px);border-radius:999px;width:min(24%,160px);height:clamp(5px,1vmin,10px);bottom:clamp(8px,1.6vmin,16px);left:50%;transform:translate(-50%);box-shadow:inset 0 1px #ffffff06}body.crt-geometry-on .crt-power-led{aspect-ratio:1;background:var(--lavender);width:clamp(5px,.8vmin,8px);box-shadow:0 0 0 2px #050505, 0 0 8px color-mix(in srgb, var(--lavender) 70%, transparent);opacity:.82;border-radius:50%;bottom:clamp(9px,1.7vmin,17px);right:clamp(24px,7%,64px)}@supports not (color:color-mix(in srgb, white 50%, black)){body.crt-geometry-on .crt-power-led{box-shadow:0 0 0 2px #050505,0 0 8px #b9a7d9b8}}@supports not (filter:url("#crt-barrel-warp")){body.crt-geometry-on #crt-warp-surface{-webkit-filter:none;border-radius:8%/6%;overflow:hidden}}@media (width<=520px){body.crt-geometry-on #crt-shell{--crt-bezel-x:clamp(9px, 3.5vw, 14px);--crt-bezel-top:clamp(12px, 4vw, 18px);--crt-bezel-bottom:clamp(22px, 7vw, 32px);width:min(var(--crt-tv-width-px), calc(100vw - 4px));height:min(var(--crt-tv-height-px), calc(100dvh - 4px));border-radius:clamp(24px,8vw,38px)}body.crt-geometry-on #crt-screen-frame{border-radius:clamp(20px,7vw,32px)/clamp(18px,6vw,29px);padding:5px;transform:none}body.crt-geometry-on #crt-geometry-glass{border-radius:clamp(16px,6vw,27px)/clamp(14px,5vw,24px);inset:5px}body.crt-geometry-on .crt-case-label{display:none}body.crt-geometry-on .crt-case-vents{width:27%}}@media (height<=700px){body.crt-geometry-on #crt-shell{--crt-bezel-top:clamp(10px, 2.4vmin, 18px);--crt-bezel-bottom:clamp(20px, 3.4vmin, 30px)}body.crt-geometry-on #crt-screen-frame{padding:5px;transform:none}body.crt-geometry-on #crt-geometry-glass{inset:5px}body.crt-geometry-on .crt-case-label{display:none}}@media (height<=560px) and (orientation:landscape){body.crt-geometry-on #character-scene{min-height:104px}body.crt-geometry-on #dialogue-container{padding:10px 12px 6px}body.crt-geometry-on #dialogue-box{height:104px;padding:9px 13px}body.crt-geometry-on #choice-row{min-height:28px;margin-top:5px}body.crt-geometry-on #input-area{min-height:46px}}#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}}
