@import url('https://fonts.googleapis.com/css2?family=Jua&family=Press+Start+2P&display=swap');
:root{color-scheme:dark;--night:#10194f;--ink:#101642;--blue:#5278ff;--ice:#dffcff;--pink:#ff9fda;--gold:#ffe585;--mint:#92f9cb;--glass:rgba(18,27,78,.79)}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--night);color:#fff;font-family:'Jua',system-ui,sans-serif;touch-action:none}
#game{position:relative;width:100vw;height:100dvh;overflow:hidden;background:linear-gradient(145deg,#223a9c,#10194f);user-select:none;isolation:isolate}
canvas{position:absolute;inset:0;z-index:0;display:block;width:100%;height:100%;image-rendering:pixelated;touch-action:none}
#game:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(ellipse at 50% 46%,transparent 45%,rgba(12,19,70,.15) 100%)}
#hud{position:absolute;z-index:4;inset:0 0 auto 0;padding:max(13px,env(safe-area-inset-top)) max(15px,env(safe-area-inset-right)) 0 max(15px,env(safe-area-inset-left));display:flex;align-items:flex-start;gap:11px;pointer-events:none}
.brand,.vitals,.menus button,.actions button{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.brand{display:flex;align-items:center;gap:10px;padding:8px 15px 8px 9px;border:1px solid rgba(224,250,255,.8);border-radius:15px;background:linear-gradient(135deg,rgba(53,72,177,.88),rgba(18,25,78,.82));box-shadow:0 8px 24px #10174b4d,inset 0 1px #ffffff52;pointer-events:auto}
.brandmark{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:linear-gradient(145deg,#668bff,#394ed2);border:1px solid #b8f7ff;color:var(--gold);font-size:22px;text-shadow:0 2px 0 #713d90;box-shadow:0 0 18px #91c1ff52}
.brand b{display:block;font-size:18px;letter-spacing:.02em;text-shadow:0 2px 10px #0a123e}.brand small{font-size:11px;color:#c5f4ff}
.vitals{margin-top:1px;padding:8px 12px;min-width:142px;border:1px solid #d7f4ff88;border-radius:13px;background:var(--glass);box-shadow:0 8px 22px #0c174848,inset 0 1px #ffffff32}
.level{color:var(--gold);font-size:13px}.xp{height:7px;border:1px solid #fff7;background:#111847;border-radius:99px;margin:6px 0;overflow:hidden}.xp i{display:block;width:0;height:100%;border-radius:99px;background:linear-gradient(90deg,#6cf3c0,#91e6ff);box-shadow:0 0 10px #7affd4}
.coins{display:flex;gap:11px;font-size:12px}.coins span{padding:2px 7px;border-radius:99px;background:#ffffff12}
.menus{margin-left:auto;display:flex;gap:8px;pointer-events:auto}.menus button,.actions button{font-family:'Jua',sans-serif;cursor:pointer;color:#fff;text-shadow:0 1px 5px #121746}
.menus button{min-width:58px;min-height:49px;padding:5px 10px;border:1px solid #e1faffb0;border-radius:13px;background:linear-gradient(145deg,#526de9e8,#283995e8);box-shadow:0 5px 0 #111a59,0 9px 22px #10194f42,inset 0 1px #ffffff66;font-size:13px;line-height:1.2;transition:transform .14s,filter .14s}
.menus button:active,.actions button:active{transform:translateY(3px) scale(.97);filter:brightness(1.15)}
#stick-zone{position:absolute;z-index:3;left:0;bottom:0;width:50vw;height:54vh;min-width:170px;touch-action:none;pointer-events:auto;overflow:visible}
#stick-zone:before,#stick-zone:after{content:"";position:absolute;left:24px;bottom:24px;border-radius:50%;pointer-events:none;transition:opacity .2s}
#stick-zone:before{width:112px;height:112px;border:1px solid #e4faff87;background:radial-gradient(circle,#5c79e42e 0 26%,#273a8b36 27% 100%);box-shadow:0 0 0 7px #b7e5ff0d,inset 0 0 20px #bfdcff22;opacity:.58}
#stick-zone:after{left:58px;bottom:58px;width:44px;height:44px;border:2px solid #ffffff9c;background:linear-gradient(145deg,#a0dcff9c,#5677ed9c);box-shadow:0 4px 0 #32458c88;opacity:.58}
#stick-zone.active:before,#stick-zone.active:after{opacity:0}
#stick-hint{position:absolute;left:23px;bottom:155px;padding:7px 11px;border:1px solid #d5f8ff5e;border-radius:99px;background:#11194f79;color:#e8faffd9;font-size:13px;letter-spacing:.01em;text-shadow:0 1px 5px #121746;pointer-events:none;transition:opacity .25s}
#stick-zone.active #stick-hint{opacity:0}
#stick-base{display:none;position:absolute;width:126px;height:126px;border:1px solid #e4faffbd;border-radius:50%;background:radial-gradient(circle,#5c79e475 0 26%,#273a8b70 27% 100%);box-shadow:0 0 0 8px #b7e5ff15,inset 0 0 22px #bfdcff3b,0 12px 35px #10184966;transform:translate(-50%,-50%);pointer-events:none}
#stick-knob{position:absolute;width:52px;height:52px;left:50%;top:50%;transform:translate(-50%,-50%);border:2px solid #fff;border-radius:50%;background:linear-gradient(145deg,#a0dcff,#5677ed);box-shadow:0 5px 0 #32458c,0 0 22px #99deff84}
.actions{position:absolute;z-index:5;right:max(23px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));display:flex;align-items:flex-end;gap:14px;pointer-events:auto}
.actions button{border:1px solid #ffffffde;box-shadow:0 6px 0 #121b57,0 11px 25px #10194f60,inset 0 1px #ffffff85}
.actions #dash{width:68px;height:61px;border-radius:18px;background:linear-gradient(145deg,#6688f5,#3548b8);font-size:15px}
.actions #attack{width:88px;height:88px;border-radius:50%;background:radial-gradient(circle at 35% 26%,#ffcae8,#ff75bb 48%,#e34b9b);box-shadow:0 7px 0 #7e2f71,0 0 0 5px #ffdbef47,0 10px 30px #611f6580,inset 0 2px #fff9;font-size:31px;display:flex;flex-direction:column;justify-content:center;align-items:center}
.actions small{font-size:14px;line-height:1}
#panel{position:absolute;z-index:10;inset:0;display:grid;place-items:center;padding:18px;background:rgba(6,11,43,.55);backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);touch-action:auto}
.hidden{display:none!important}
.panel-card{position:relative;width:min(470px,90vw);max-height:80dvh;overflow:auto;padding:22px;color:#fff;background:linear-gradient(145deg,rgba(50,68,161,.97),rgba(19,26,77,.98));border:1px solid #e2fcff;border-radius:22px;box-shadow:0 20px 70px #050a327d,inset 0 1px #ffffff6b;touch-action:pan-y}
.panel-card h2{margin:0 0 15px;color:#ffc1e4;text-shadow:0 2px 10px #ec5ab45e;font-size:23px}.panel-card h3{margin:14px 0 7px;color:#bfeeff;font-size:16px}
.close{position:absolute;right:12px;top:10px;width:36px;height:36px;border:1px solid #ffffff55;border-radius:12px;color:#fff;background:#ffffff16;font-size:25px}
.item-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.item{min-height:63px;text-align:left;padding:10px 12px;color:white;background:linear-gradient(145deg,#ffffff16,#ffffff08);border:1px solid #a9eaff99;border-radius:13px;font:15px 'Jua',sans-serif;box-shadow:inset 0 1px #ffffff21}.item small{display:block;color:#c5f1ff;font-size:12px;margin-top:4px}.item.equipped{border-color:#ffe67a;background:linear-gradient(145deg,#ffdf7931,#ffffff14);box-shadow:0 0 16px #ffde7230}
.statline{padding:10px 12px;margin:7px 0;background:#ffffff10;border:1px solid #b9e7ff47;border-radius:12px}
#toast{position:absolute;z-index:8;left:50%;top:20%;transform:translateX(-50%);max-width:88vw;padding:10px 17px;border:1px solid #e9fcffb8;border-radius:99px;background:rgba(16,24,75,.84);color:#fff0a0;box-shadow:0 9px 28px #060c3c55, inset 0 1px #ffffff48;opacity:0;transition:opacity .2s;pointer-events:none;white-space:nowrap;font-size:15px;text-shadow:0 1px 5px #07143d}#toast.show{opacity:1}
#connect{position:absolute;z-index:7;left:50%;top:52%;transform:translate(-50%,-50%);padding:10px 16px;color:#fff;background:rgba(18,27,78,.86);border:1px solid #d9faff;border-radius:99px;box-shadow:0 8px 28px #0b174e55;pointer-events:none;font-size:14px}#connect.ok{opacity:0;transition:opacity 1s}
#rotateHint{display:none;position:absolute;z-index:4;top:72px;left:50%;transform:translateX(-50%);padding:6px 12px;border:1px solid #dafaff6c;border-radius:99px;background:#11194f75;color:#e5faff;font-size:12px;white-space:nowrap;pointer-events:none}
@media(orientation:portrait){.vitals{min-width:95px;padding:6px 8px}.menus{gap:5px}.menus button{min-width:45px;min-height:44px;padding:4px 7px;font-size:11px}.brand{padding:6px 10px 6px 6px;gap:7px}.brandmark{width:33px;height:33px}.brand b{font-size:15px}.brand small{font-size:10px}.actions{gap:9px;right:17px;bottom:max(17px,env(safe-area-inset-bottom))}.actions #attack{width:75px;height:75px}.actions #dash{width:59px;height:54px}#stick-zone{width:50vw;height:47vh}#stick-hint{left:15px;bottom:150px;font-size:12px}#rotateHint{display:block}}
@media(max-height:430px) and (orientation:landscape){#hud{padding-top:max(8px,env(safe-area-inset-top))}.brand{padding:5px 11px 5px 6px}.brandmark{width:31px;height:31px}.vitals{padding:5px 9px}.menus button{min-height:42px}.actions{bottom:max(12px,env(safe-area-inset-bottom))}.actions #attack{width:70px;height:70px}.actions #dash{width:58px;height:52px}#stick-zone{height:60vh}}
@media(min-width:1000px){.brand b{font-size:20px}.menus button{min-width:66px;min-height:53px}.actions{right:30px;bottom:29px}}
