:root{--ink: #0e1526;--panel: #16233f;--panel2: #1d3157;--cyan: #58c6e6;--gold: #ffcf3f;--green: #46d17a;--red: #ff4d5e;--violet: #7b6be0;--text: #eaf0ff;--muted: #9db0d6}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{margin:0;height:100%;width:100%;background:#0a0f1e;overflow:hidden;font-family:"Baloo 2",Segoe UI,system-ui,sans-serif;color:var(--text);user-select:none;-webkit-user-select:none}#root{position:fixed;top:0;right:0;bottom:0;left:0}.app{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(120% 90% at 50% 0%,#1a2545,#0a0f1e 70%)}.stage{position:relative;width:100%;height:100%;max-width:min(100vw,56vh);aspect-ratio:9 / 19.5;margin:auto;overflow:hidden;background:#0a0f1e;box-shadow:0 30px 90px #0009}@media (max-aspect-ratio: 3/5){.stage{max-width:100vw;height:100%;aspect-ratio:auto}}.fill{position:absolute;top:0;right:0;bottom:0;left:0}.center-col{display:flex;flex-direction:column;align-items:center}.btn{border:none;cursor:pointer;color:#1a1330;font-weight:800;font-size:22px;letter-spacing:.5px;padding:16px 30px;border-radius:18px;background:linear-gradient(#ffd85a,#f6b52c);box-shadow:0 6px #b9791a,0 10px 18px #00000059;transition:transform .06s ease,box-shadow .06s ease}.btn:active{transform:translateY(4px);box-shadow:0 2px #b9791a,0 6px 12px #00000059}.btn.blue{background:linear-gradient(#6c7cf3,#4658d8);color:#fff;box-shadow:0 6px #2e3aa0,0 10px 18px #00000059}.btn.green{background:linear-gradient(#5fe08d,#34bb63);color:#08351c;box-shadow:0 6px #1c7d3f,0 10px 18px #00000059}.btn.ghost{background:#ffffff14;color:var(--text);box-shadow:inset 0 0 0 2px #ffffff26}.btn.sm{font-size:15px;padding:10px 16px;border-radius:12px}.moneypill{display:inline-flex;align-items:center;gap:6px;font-weight:800;color:#eafff0;background:linear-gradient(#2c4a6b,#20344f);padding:8px 14px;border-radius:14px;box-shadow:inset 0 0 0 2px #78c8ff40}.moneypill .cash{width:18px;height:12px;border-radius:2px;background:#4fd07a;box-shadow:inset 0 0 0 1.5px #2c8a4e}.game-title{font-size:44px;font-weight:900;letter-spacing:3px;color:#fff;text-shadow:0 3px 0 #3a2fb0,0 6px 18px rgba(0,0,0,.5);-webkit-text-stroke:2px #241c66}.tag{color:var(--muted);font-weight:700;letter-spacing:2px;font-size:12px;text-transform:uppercase}.cardrow{display:flex;gap:12px;justify-content:center}.card{position:relative;width:108px;border-radius:18px;padding:10px;background:linear-gradient(#213b6b,#182a4d);box-shadow:inset 0 0 0 3px #78b4ff40,0 8px 16px #00000059;display:flex;flex-direction:column;align-items:center;gap:6px}.card.locked{filter:grayscale(.7) brightness(.7)}.card.sel{box-shadow:inset 0 0 0 3px var(--gold),0 0 0 3px #ffcf3f80,0 8px 16px #0006}.card .cap{font-size:12px;font-weight:800;letter-spacing:1px;color:#bcd2ff}.card .art{width:84px;height:84px;border-radius:14px;background:radial-gradient(circle at 50% 35%,#3aa0d8,#1f5f96);display:flex;align-items:center;justify-content:center}.card .desc{font-size:9px;color:#9fb6e0;text-align:center;min-height:22px;font-weight:700}.card .lock{position:absolute;right:8px;bottom:8px;font-size:18px}.hud-top{position:absolute;top:0;left:0;right:0;padding:12px;display:flex;justify-content:space-between;align-items:flex-start;pointer-events:none;z-index:5}.floor-badge{background:#101a30;color:#cfe0ff;font-weight:900;padding:8px 14px;border-radius:12px;box-shadow:inset 0 0 0 2px #78c8ff4d;display:flex;align-items:center;gap:8px}.floor-badge .arrow{color:var(--green)}.hp-wrap{pointer-events:none}.banner{position:absolute;top:22%;left:0;right:0;text-align:center;z-index:6;pointer-events:none}.banner .big{font-size:34px;font-weight:900;letter-spacing:1px;-webkit-text-stroke:2px #1a1030;text-shadow:0 3px 12px rgba(0,0,0,.6);animation:pop .4s ease}.banner .fail{color:var(--red)}.banner .ok{color:var(--green)}@keyframes pop{0%{transform:scale(.6);opacity:0}60%{transform:scale(1.1)}to{transform:scale(1);opacity:1}}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;background:#060a168c;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.overlay .skull{font-size:60px;filter:drop-shadow(0 4px 10px rgba(0,0,0,.6))}.joyzone{position:absolute;top:0;right:0;bottom:0;left:0;z-index:8;touch-action:none}.joy-base{position:absolute;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,#ffffff24,#ffffff0d);box-shadow:inset 0 0 0 3px #ffffff40;transform:translate(-50%,-50%);pointer-events:none}.joy-knob{position:absolute;width:58px;height:58px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#fff,#cfe0ff);box-shadow:0 4px 12px #0006;transform:translate(-50%,-50%);pointer-events:none}.ed-root{position:absolute;top:0;right:0;bottom:0;left:0;z-index:30;background:#0c1224;display:flex;flex-direction:column}.ed-top{display:flex;gap:6px;padding:8px;background:#111a30;align-items:center;flex-wrap:wrap}.ed-canvas-wrap{flex:1;position:relative;overflow:hidden}.ed-palette{display:flex;gap:6px;padding:8px;background:#111a30;overflow-x:auto}.ed-tool{min-width:58px;padding:8px 6px;border-radius:10px;background:#1c2c4d;color:#cfe0ff;font-size:11px;font-weight:800;text-align:center;border:2px solid transparent;cursor:pointer}.ed-tool.on{border-color:var(--gold);background:#24406f}.ed-title{font-weight:900;color:#cfe0ff;margin-right:auto;letter-spacing:1px}.hint{color:var(--muted);font-size:12px;font-weight:600;text-align:center;max-width:80%}.fade-up{position:absolute;top:0;right:0;bottom:0;left:0;z-index:15;background:#eaf2ff;pointer-events:none}.streaks{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;background-image:repeating-linear-gradient(0deg,#fff0,#b4c8ff80 2px,#fff0 40px);background-size:100% 120px;animation:streak .28s linear infinite}@keyframes streak{0%{background-position:0 0}to{background-position:0 120px}}
