@font-face{font-family:Broken15;src:url(/fonts/broken_15.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:CuteNotes;src:url(/fonts/Cute%20Notes.ttf) format("truetype");font-weight:400;font-style:normal}*{margin:0;padding:0;box-sizing:border-box}:root{--text: #f4f3f7;--dim: rgba(244, 243, 247, .55);--faint: rgba(244, 243, 247, .32);--accent: #ff375f;--accent2: #bf5af2;--glass-hi: rgba(255, 255, 255, .14);--glass-lo: rgba(255, 255, 255, .05);--stroke: rgba(255, 255, 255, .14);--stroke-soft: rgba(255, 255, 255, .08)}html,body{height:100%;overflow:hidden}body{background:#0a0a0e;color:var(--text);font-family:CuteNotes,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:20px;letter-spacing:1.1px;text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000;-webkit-user-select:none;user-select:none;-webkit-font-smoothing:antialiased}#app{position:relative;width:100vw;height:100vh}#viewport{position:absolute;top:0;right:0;bottom:0;left:0}#viewport canvas{display:block;outline:none}.glass{position:absolute;background:linear-gradient(160deg,var(--glass-hi),var(--glass-lo) 42%,rgba(255,255,255,.08));-webkit-backdrop-filter:blur(30px) saturate(180%);backdrop-filter:blur(30px) saturate(180%);border:1px solid var(--stroke-soft);border-radius:24px;box-shadow:0 24px 60px #00000080,0 2px 8px #00000040,inset 0 1px #ffffff38,inset 0 -1px #ffffff0a;overflow:hidden}.glass:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:radial-gradient(120% 60% at 20% -10%,rgba(255,255,255,.16),transparent 60%);pointer-events:none}#topbar{top:18px;left:18px;right:18px;height:64px;display:flex;align-items:center;gap:18px;padding:0 22px;z-index:10}.play-active #topbar{display:none!important}#logo{display:flex;align-items:center;gap:14px;z-index:1}.logo-img{height:48px;width:48px;border-radius:50%;border:2px solid rgba(255,255,255,.25);box-shadow:0 4px 10px #0006;object-fit:cover}.logo-text{display:flex;flex-direction:column;line-height:1.15}.logo-main{font-family:Broken15,sans-serif;font-weight:700;font-size:20px;letter-spacing:3.5px;white-space:nowrap;text-shadow:none}.logo-main em{font-style:normal;background:linear-gradient(90deg,var(--accent),var(--accent2));-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:none}.logo-sub{font-size:11px;font-weight:500;color:var(--faint);letter-spacing:1.4px}#charname{z-index:1;background:#ffffff12;border:1px solid var(--stroke-soft);color:var(--text);border-radius:12px;padding:10px 16px;font-size:15px;font-weight:500;letter-spacing:.5px;width:210px;outline:none;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;transition:border-color .2s,background .2s;text-shadow:none}#charname:focus{border-color:#ffffff59;background:#ffffff1c}#topbtns{margin-left:auto;display:flex;gap:10px;z-index:1}#topbtns button{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#ffffff14;color:var(--text);border:1px solid var(--stroke-soft);border-radius:999px;padding:10px 20px;font-size:17px;font-weight:600;letter-spacing:1.4px;font-family:inherit;cursor:pointer;transition:background .18s,transform .18s,box-shadow .18s;box-shadow:inset 0 1px #ffffff1f;text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000}#topbtns button:hover{background:#ffffff26;transform:translateY(-1px)}#topbtns button:active{transform:translateY(0) scale(.97)}#presets{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#ffffff14;color:var(--text);border:1px solid var(--stroke-soft);border-radius:999px;padding:10px 20px;font-size:15px;font-weight:600;letter-spacing:.5px;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;cursor:pointer;transition:background .18s,transform .18s,box-shadow .18s;box-shadow:inset 0 1px #ffffff1f;text-shadow:none}#presets:hover{background:#ffffff26;transform:translateY(-1px)}#topbtns button.primary{background:linear-gradient(135deg,var(--accent),var(--accent2));border-color:transparent;box-shadow:0 6px 18px #df408a66,inset 0 1px #ffffff4d}#topbtns button.primary:hover{box-shadow:0 8px 24px #df408a8c,inset 0 1px #ffffff4d}#presets{padding-right:14px;color:var(--dim)}#presets option{background:#1b1b22;color:#f4f3f7}#panel{top:100px;left:18px;bottom:18px;width:340px;display:flex;flex-direction:column;z-index:9;transition:transform .4s cubic-bezier(.25,1,.5,1)}#tabs{display:grid;grid-template-columns:repeat(6,1fr);gap:2px;margin:14px 14px 10px;padding:3px;background:#00000047;border-radius:14px;border:1px solid rgba(255,255,255,.05);position:relative;z-index:1}#tabs button{background:none;border:none;color:var(--dim);font-family:inherit;padding:8px 4px;cursor:pointer;border-radius:11px;display:flex;justify-content:center;align-items:center;transition:background .18s,color .18s,box-shadow .18s}#tabs button .ico{font-size:20px;filter:saturate(.85);line-height:1}#tabs button.active{color:var(--text);background:linear-gradient(160deg,#ffffff2e,#ffffff14);box-shadow:0 3px 10px #00000059,inset 0 1px #ffffff38;text-shadow:none!important}#tabs button:hover:not(.active){color:var(--text)}#controls{flex:1;overflow-y:auto;padding:6px 20px 30px;position:relative;z-index:1}#controls::-webkit-scrollbar{width:5px}#controls::-webkit-scrollbar-thumb{background:#ffffff29;border-radius:3px}#controls::-webkit-scrollbar-track{background:transparent}.ctl-heading{font-size:15px;font-weight:700;text-transform:uppercase;letter-spacing:2.2px;color:var(--faint);margin:22px 0 12px;text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000}.ctl-heading:first-child{margin-top:8px}.ctl-row{margin-bottom:14px}.ctl-label{display:flex;justify-content:space-between;align-items:baseline;font-size:17px;font-weight:500;color:var(--dim);letter-spacing:1.2px;margin-bottom:7px;text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000}.ctl-label .val{color:var(--faint);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-variant-numeric:tabular-nums;font-size:14px;letter-spacing:.5px;text-shadow:none}input[type=range]{width:100%;-webkit-appearance:none;height:22px;background:transparent;cursor:pointer}input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:#ffffff2e;box-shadow:inset 0 1px 2px #0000004d}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:19px;height:19px;border-radius:50%;background:#fff;margin-top:-7.5px;box-shadow:0 2px 7px #00000073,0 0 0 .5px #00000026;transition:transform .15s}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.12)}.chips{display:flex;flex-wrap:wrap;gap:7px}.chips button{background:#ffffff12;border:1px solid var(--stroke-soft);color:var(--dim);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;border-radius:999px;padding:8px 16px;font-size:13px;font-weight:600;letter-spacing:.5px;cursor:pointer;transition:background .16s,color .16s,border-color .16s,transform .16s;box-shadow:inset 0 1px #ffffff14;text-shadow:none}.chips button:hover{background:#ffffff21;color:var(--text)}.chips button:active{transform:scale(.96)}.chips button.on{background:linear-gradient(160deg,#ffffffeb,#ffffffc7);border-color:transparent;color:#17171d;box-shadow:0 4px 12px #00000059,inset 0 1px #ffffffe6;text-shadow:none!important}.swatches{display:flex;flex-wrap:wrap;gap:9px;align-items:center}.swatch{width:27px;height:27px;border-radius:50%;cursor:pointer;border:none;box-shadow:inset 0 0 0 1px #ffffff2e,inset 0 2px 4px #ffffff40,inset 0 -2px 4px #00000040,0 2px 5px #00000059;transition:transform .15s,box-shadow .15s}.swatch:hover{transform:scale(1.16)}.swatch.on{box-shadow:0 0 0 2px #0a0a0e,0 0 0 4px #ffffffe6,inset 0 2px 4px #ffffff40,inset 0 -2px 4px #00000040}.swatches input[type=color]{width:29px;height:29px;border:1px dashed rgba(255,255,255,.3);background:transparent;cursor:pointer;border-radius:50%;padding:2px}.toggle-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px;font-size:16px;font-weight:500;color:var(--dim);letter-spacing:1.2px;text-shadow:-1px -1px 0 #000,1px -1px 0 #000,-1px 1px 0 #000,1px 1px 0 #000}.tswitch{position:relative;width:42px;height:25px;border-radius:999px;background:#ffffff24;box-shadow:inset 0 1px 3px #00000059;cursor:pointer;transition:background .2s;flex-shrink:0}.tswitch:after{content:"";position:absolute;top:2.5px;left:2.5px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 2px 5px #0006;transition:left .2s cubic-bezier(.3,1.4,.6,1)}.tswitch.on{background:linear-gradient(135deg,var(--accent),var(--accent2))}.tswitch.on:after{left:19.5px}#hint{position:absolute;bottom:18px;left:50%;transform:translate(-50%);font-size:11px;font-weight:500;letter-spacing:1px;color:#ffffff80;background:#14141a66;-webkit-backdrop-filter:blur(20px) saturate(160%);backdrop-filter:blur(20px) saturate(160%);border:1px solid rgba(255,255,255,.08);box-shadow:inset 0 1px #ffffff1f,0 8px 24px #00000059;padding:8px 20px;border-radius:999px;pointer-events:none;z-index:8}.play-active #panel{transform:translate(-380px)}.play-active #charname,.play-active #presets,.play-active #btn-random,.play-active #btn-reset,.play-active #btn-shot{display:none!important}#btn-play-game{position:absolute;bottom:24px;right:24px;z-index:110;background:linear-gradient(135deg,var(--accent),var(--accent2));color:var(--text);border:none;border-radius:999px;padding:12px 28px;font-size:13px;font-weight:700;cursor:pointer;box-shadow:0 8px 24px #df408a66,inset 0 1px #ffffff4d;transition:transform .2s,box-shadow .2s,background .2s;text-transform:uppercase;letter-spacing:1px;outline:none}#btn-play-game:hover{transform:translateY(-2px);box-shadow:0 12px 28px #df408a8c}#btn-play-game:active{transform:translateY(0) scale(.97)}#btn-play-game.active{background:#ffffff1f;border:1px solid var(--stroke-soft);color:var(--text);box-shadow:inset 0 1px #ffffff14}#btn-play-game.active:hover{background:#ffffff2e;transform:none;box-shadow:none}#hud{position:absolute;bottom:24px;left:24px;z-index:100;display:none;flex-direction:column;gap:8px;pointer-events:none}.play-active #hud{display:flex}.hud-bar-container{display:flex;align-items:center;gap:12px;background:#0a0a0f8c;-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);padding:8px 16px;border-radius:14px;border:1px solid rgba(255,255,255,.08);box-shadow:0 12px 30px #0006,inset 0 1px #ffffff1f;width:240px}.hud-label{font-size:10px;font-weight:800;color:var(--dim);width:32px;letter-spacing:.5px}.hud-bar{flex:1;height:8px;background:#ffffff1f;border-radius:999px;overflow:hidden;box-shadow:inset 0 1px 2px #0006}#hp-fill{height:100%;width:100%;background:linear-gradient(90deg,#ff3b30,#ff2d55);border-radius:999px;transition:width .15s cubic-bezier(.25,1,.5,1)}#stm-fill{height:100%;width:100%;background:linear-gradient(90deg,#fc0,#ff9500);border-radius:999px;transition:width .15s cubic-bezier(.25,1,.5,1)}#start-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:radial-gradient(circle at center,#1b1024,#06050a);display:flex;align-items:center;justify-content:center;transition:opacity .5s ease,visibility .5s ease}#start-screen.start-fade-out{opacity:0;visibility:hidden;pointer-events:none}.start-content{display:flex;flex-direction:column;align-items:center;padding:56px 64px;width:500px;text-align:center;gap:32px;border-radius:36px;animation:startBounce 1s cubic-bezier(.25,1,.5,1) forwards}.start-logo{height:240px;width:240px;border-radius:50%;border:4px solid rgba(255,255,255,.35);box-shadow:0 12px 36px #0009;object-fit:cover;margin-bottom:12px}.start-title{font-family:Broken15,sans-serif;font-size:64px;letter-spacing:4px;font-weight:400;background:linear-gradient(135deg,#ff375f,#bf5af2);-webkit-background-clip:text;background-clip:text;color:transparent;margin:0}.start-subtitle{font-size:16px;color:var(--dim);letter-spacing:2px;text-transform:uppercase;margin-bottom:12px}.start-buttons{display:flex;flex-direction:column;width:100%;gap:12px}.start-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#ffffff14;color:var(--text);border:1px solid var(--stroke);border-radius:16px;padding:14px 28px;font-size:18px;font-weight:600;font-family:inherit;letter-spacing:3.5px;cursor:pointer;width:100%;transition:background .2s,transform .2s,box-shadow .2s;box-shadow:inset 0 1px #ffffff1a}.start-btn:hover{background:#ffffff29;transform:translateY(-2px)}.start-btn:active{transform:translateY(0)}.start-btn.primary{background:linear-gradient(135deg,var(--accent),var(--accent2));border-color:transparent;box-shadow:0 10px 24px #df408a59,inset 0 1px #fff3}.start-btn.primary:hover{box-shadow:0 12px 30px #df408a80,inset 0 1px #fff3}#options-panel{position:absolute;width:400px;padding:36px;border-radius:28px;display:flex;flex-direction:column;gap:20px;transition:transform .4s cubic-bezier(.25,1,.5,1),opacity .4s ease;z-index:10000}#options-panel.options-hidden{transform:scale(.9) translateY(20px);opacity:0;pointer-events:none}.options-title{font-family:Broken15,sans-serif;font-size:34px;letter-spacing:2px;margin-bottom:8px;text-align:center}.options-row{display:flex;justify-content:space-between;align-items:center;gap:16px}.options-row label{font-size:16px;color:var(--dim)}.options-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:6px;background:#ffffff1f;border-radius:999px;outline:none}.options-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--accent);cursor:pointer;transition:transform .1s}.options-slider::-webkit-slider-thumb:hover{transform:scale(1.25)}.options-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#ffffff14;color:var(--text);border:1px solid var(--stroke);border-radius:10px;padding:8px 16px;font-family:inherit;outline:none}.options-checkbox{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border:1px solid var(--stroke);border-radius:6px;background:#ffffff14;cursor:pointer;position:relative}.options-checkbox:checked{background:var(--accent);border-color:transparent}.options-checkbox:checked:after{content:"✓";position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:12px;color:#fff}@keyframes startBounce{0%{transform:scale(.92) translateY(20px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}#pause-menu{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9998;background:#0a0a0fa6;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);display:flex;align-items:center;justify-content:center;transition:opacity .4s ease,visibility .4s ease}#pause-menu.pause-hidden{opacity:0;visibility:hidden;pointer-events:none}.pause-content{display:flex;flex-direction:column;align-items:center;padding:40px 48px;width:380px;text-align:center;gap:24px;border-radius:28px}.pause-title{font-family:Broken15,sans-serif;font-size:36px;letter-spacing:2px;margin:0}.pause-buttons{display:flex;flex-direction:column;width:100%;gap:12px}.pause-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#ffffff14;color:var(--text);border:1px solid var(--stroke);border-radius:14px;padding:12px 24px;font-size:16px;font-weight:600;font-family:inherit;cursor:pointer;width:100%;transition:background .2s,transform .2s,box-shadow .2s;box-shadow:inset 0 1px #ffffff1a}.pause-btn:hover{background:#ffffff29;transform:translateY(-2px)}.pause-btn:active{transform:translateY(0)}.pause-btn.primary{background:linear-gradient(135deg,var(--accent),var(--accent2));border-color:transparent;box-shadow:0 8px 20px #df408a59,inset 0 1px #fff3}.pause-btn.primary:hover{box-shadow:0 10px 24px #df408a80,inset 0 1px #fff3}#editor-panel,#editor-panel *{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif!important;text-shadow:none!important;letter-spacing:normal!important}#editor-panel{position:absolute;top:80px;right:24px;width:320px;max-height:calc(100vh - 120px);overflow-y:auto;padding:24px;border-radius:20px;z-index:99;display:flex;flex-direction:column;transition:transform .4s cubic-bezier(.25,1,.5,1),opacity .4s ease}#editor-panel.editor-hidden{transform:translate(360px);opacity:0;pointer-events:none}.editor-mode-btn.active{background:var(--accent)!important;border-color:transparent!important;color:#17171d!important}.editor-active #panel{transform:translate(-420px);opacity:0;pointer-events:none}.editor-active #topbar{transform:translateY(-80px);opacity:0;pointer-events:none}.editor-active #btn-play-game{transform:translateY(80px);opacity:0;pointer-events:none}
