@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;700&family=DM+Serif+Display:ital@0;1&display=swap');*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#120e1b;color:#fff8e9;font-family:'DM Sans',sans-serif;touch-action:none}button{font:inherit;cursor:pointer}main,#game,.vignette,.overlay{position:absolute;inset:0}canvas{display:block;width:100%;height:100%}.vignette{pointer-events:none;background:linear-gradient(90deg,rgba(21,13,24,.76),transparent 60%),linear-gradient(0deg,#110e1ad9,transparent 30%),linear-gradient(180deg,#100d1db8,transparent 28%)}header{position:absolute;top:0;left:0;right:0;padding:25px 4%;display:flex;align-items:center;justify-content:space-between;z-index:2}.brand{display:flex;gap:10px;align-items:center;letter-spacing:.22em;font-size:14px}.brand small{display:block;color:#df9e70;font-size:9px;letter-spacing:.48em;margin-top:3px}.emblem{border:1px solid #eab78b;border-radius:50%;width:34px;height:34px;display:grid;place-items:center;color:#f1bd89;font-size:21px}.tag{font-size:9px;letter-spacing:.2em;color:#e4cabc}.tag span{color:#e2a172}#pause{background:#fff1e31c;border:1px solid #fff7;border-radius:50%;width:40px;height:40px;color:white}.overlay{z-index:3;display:flex;align-items:center;padding:8%;background:linear-gradient(90deg,#17101be8,#25171a99 48%,transparent 85%)}[hidden]{display:none!important}.intro-content{max-width:500px}.eyebrow{font-size:10px;letter-spacing:.25em;color:#f3bb87;font-weight:bold}.eyebrow span{margin-right:10px}h1,h2{font-family:'DM Serif Display',Georgia,serif;font-weight:400;line-height:.9;letter-spacing:-.04em;margin:25px 0}h1{font-size:clamp(64px,10vw,132px)}h1 em{color:#e9a86f;font-weight:400}p{line-height:1.7;font-size:15px;color:#e0cdc4;max-width:360px}.primary{border:0;border-radius:4px;background:#f1ba86;color:#261a1a;font-size:11px;letter-spacing:.16em;font-weight:bold;padding:19px 23px;min-width:220px;text-align:left;margin-top:20px}.primary span{float:right;font-size:17px}.intro-foot{display:flex;gap:20px;margin-top:40px;font-size:9px;letter-spacing:.12em;color:#bc9d91}.intro-side{position:absolute;right:5%;bottom:14%;display:flex;align-items:end;gap:15px;color:#f8c8a4}.intro-side span{font-size:45px}.intro-side small{line-height:1.6;letter-spacing:.15em;font-size:9px}#hud{position:absolute;inset:92px 4% auto;z-index:2;pointer-events:none}.hud-row{display:flex;align-items:start;gap:30px;justify-content:space-between}.fighter-info{width:min(30%,290px)}.label{display:flex;justify-content:space-between;font-size:10px;letter-spacing:.14em;font-weight:bold}.bar{height:8px;background:#ffffff2e;margin:9px 0 6px;border-radius:5px;overflow:hidden}.bar i{display:block;width:100%;height:100%;background:linear-gradient(90deg,#dc7048,#ffd19a);transition:width .2s}.enemy .bar i{background:linear-gradient(90deg,#bd4c5d,#f19681)}.fighter-info small,.round small{font-size:9px;letter-spacing:.15em;color:#d8b3a5}.round{text-align:center}.round small{display:block}.round strong{font-family:Georgia;font-size:30px;color:#f4ccaa}#notice{text-align:center;margin-top:15px;color:#ffd7a1;font-size:12px;letter-spacing:.1em;height:20px}.result{justify-content:center;text-align:center;background:#140f1ddd}.result p{margin:auto}.result h2{font-size:clamp(48px,8vw,90px)}#controls{position:absolute;z-index:4;bottom:47px;left:4%;right:4%;display:flex;align-items:end;justify-content:space-between;pointer-events:none}#controls button,#stick{pointer-events:auto;touch-action:none}.joystick{text-align:center;color:#e5c1ab}.joystick small{font-size:9px;letter-spacing:.2em}#stick{width:120px;height:120px;border-radius:50%;border:1px solid #f4d2b266;background:#251b2a88;display:grid;place-items:center;margin-bottom:8px}#knob{width:52px;height:52px;border-radius:50%;border:2px solid #ffdbb9;background:radial-gradient(circle at 30% 20%,#fbe4cc,#c57d5f);box-shadow:0 0 20px #eb966366}.actions{display:flex;align-items:end;gap:14px}.actions button{border-radius:50%;color:#fff6e7;display:grid;place-content:center;text-align:center}.actions b{font-size:28px;line-height:1}.actions small{font-size:9px;letter-spacing:.15em;margin-top:6px}#fire{width:110px;height:110px;border:2px solid #ffe0be;background:radial-gradient(circle at 30% 20%,#ffd09d,#d26543 70%);box-shadow:0 0 30px #f77a4d66}#dodge{width:74px;height:74px;border:1px solid #d9bea9;background:#4d394d}footer{position:absolute;bottom:14px;left:4%;right:4%;display:flex;gap:25px;font-size:9px;letter-spacing:.13em;color:#d6b5a4;z-index:2;pointer-events:none}.foot-right{margin-left:auto}@media(max-width:600px){header{padding:16px 5%}.tag{display:none}#hud{top:75px}.fighter-info{width:38%}.intro-foot{gap:8px;font-size:7px}.intro-side{display:none}footer span:not(.foot-right){display:none}#stick{width:94px;height:94px}#fire{width:90px;height:90px}#dodge{width:65px;height:65px}}@media(max-height:600px){header{padding-top:12px}#hud{top:58px}.overlay{padding:5% 8%}h1{font-size:65px;margin:12px 0}.intro-foot{margin-top:12px}.primary{padding:12px;margin-top:5px}#controls{bottom:25px}#stick{width:78px;height:78px}#knob{width:40px;height:40px}#fire{width:78px;height:78px}#dodge{width:60px;height:60px}footer{bottom:5px}}

html,body{overscroll-behavior:none;-webkit-text-size-adjust:100%}main{position:fixed;width:100%;height:100%;height:100dvh;overflow:hidden}#controls,#stick,#fire,#dodge{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}

.dragon-picker{display:flex;gap:8px;margin:12px 0}.dragon-picker button{padding:9px 12px;border:1px solid #ffffff55;border-radius:4px;background:#211b2bbd;color:#e8d9d3;font-weight:bold;font-size:10px;letter-spacing:.1em}.dragon-picker button[aria-pressed="true"]{border-color:#98e6f8;background:#2a6178;color:#eaffff}.dragon-picker small{display:block;font-size:8px;margin-top:4px;opacity:.75}#beam{width:86px;height:86px;border:1px solid #cff5ff;background:radial-gradient(circle at 30% 20%,#a5eaff,#3189b4);box-shadow:0 0 20px #66cbf766;touch-action:none}#fire.ice{background:radial-gradient(circle at 30% 20%,#d8faff,#69b6d6 70%);border-color:#e0faff;box-shadow:0 0 30px #80d8f566}@media(max-height:600px){.dragon-picker{margin:4px 0}.dragon-picker button{padding:5px 8px}#beam{width:65px;height:65px}}

#beam.flame{border-color:#ffd1aa;background:radial-gradient(circle at 30% 20%,#ffd18c,#bd4c32);box-shadow:0 0 20px #ff925966}

.dragon-picker{flex-wrap:wrap}#beam.undead,#fire.undead{border-color:#c9f4a5;background:radial-gradient(circle at 30% 20%,#caff98,#47683d);box-shadow:0 0 22px #a9f56477}

.survival-button{display:block;width:100%;max-width:300px;margin-top:10px;padding:14px 16px;text-align:left;border:1px solid #e1a57688;border-radius:4px;background:#231a2acc;color:#f9d2b5;font-weight:bold;font-size:10px;letter-spacing:.13em}.survival-button span{float:right;font-size:8px;color:#dbad91}@media(max-height:600px){.survival-button{padding:8px 12px;margin-top:5px}.intro-foot{margin-top:7px}}

#minimap{position:absolute;z-index:3;width:120px;height:120px;right:4%;top:165px;border:1px solid #f4d4ae88;border-radius:50%;background:#1d2926bd;pointer-events:none}@media(max-height:600px){#minimap{width:80px;height:80px;top:120px}}

.hunger-label{margin-top:12px;color:#f6db98}.hunger-bar{height:6px;margin:6px 0}.hunger-bar i{background:linear-gradient(90deg,#df9b49,#fce39b)}#homeHint{color:#f1d2a0;font-size:8px;letter-spacing:.08em}@media(max-height:600px){.hunger-label{margin-top:5px}#homeHint{font-size:7px}}

#foodControls{display:flex;gap:6px;margin-top:6px;pointer-events:auto}#foodControls[hidden]{display:none}#foodControls button{border:1px solid #e9c78c99;border-radius:4px;background:#302638e8;color:#fff0d6;font-size:9px;font-weight:bold;padding:8px;touch-action:manipulation}#foodControls button:disabled{opacity:.45}#foodControls span{color:#ffe098;margin-left:3px}@media(max-height:600px){#foodControls{margin-top:2px}#foodControls button{padding:4px;font-size:8px}}

.energy-label{margin-top:8px;color:#b6e8ff}.energy-bar{height:6px;margin:6px 0}.energy-bar i{background:linear-gradient(90deg,#458bd4,#a6f4ff)}@media(max-height:600px){.energy-label{margin-top:3px}.energy-bar{margin:3px 0}}

.coin-count{color:#ffd881;font-size:10px;font-weight:bold;letter-spacing:.12em;margin-top:8px}#foodControls{flex-wrap:wrap;max-width:290px}.chest-prompt{position:absolute;z-index:5;bottom:185px;right:4%;border:1px solid #ffde9d;border-radius:5px;padding:10px 16px;color:#fff5d8;background:#5f3d23eF;font-weight:bold;letter-spacing:.1em;font-size:10px;touch-action:manipulation}.chest-prompt small{display:block;margin-top:4px;font-size:8px;color:#ffd58c}@media(max-height:600px){.chest-prompt{bottom:100px}.coin-count{margin-top:3px}}

#statueShop{display:flex;flex-wrap:wrap;gap:4px;width:100%}#statueShop small{width:100%;font-size:8px;color:#e5ccaa;letter-spacing:.08em}#statueShop button{font-size:8px;padding:6px;border-color:#c9b0e6;color:#e9d9ff}@media(max-height:600px){#statueShop button{padding:4px;font-size:7px}}

#teleport{width:74px;height:74px;border:1px solid #dfc6ff;background:radial-gradient(circle at 30% 20%,#a381bb,#493462);box-shadow:0 0 20px #ae7cff55;touch-action:none}#beam.shadow,#fire.shadow{border-color:#e4cfff;background:radial-gradient(circle at 30% 20%,#ba9ada,#55346f);box-shadow:0 0 22px #b286f577}@media(max-width:600px){.actions{gap:4px}#stick{width:78px;height:78px}#beam,#teleport,#dodge{width:53px;height:53px}#fire{width:70px;height:70px}.actions b{font-size:20px}.actions small{font-size:7px}}@media(max-height:600px){#teleport{width:55px;height:55px}}

#poke{width:74px;height:74px;border:1px solid #dfc6ff;background:radial-gradient(circle at 30% 20%,#aa8ac5,#48305e);box-shadow:0 0 16px #ac81ef55;touch-action:none}@media(max-width:600px){#poke{width:49px;height:49px}.actions{gap:3px}#beam,#teleport,#dodge{width:49px;height:49px}#fire{width:64px;height:64px}#stick{width:70px;height:70px}}@media(max-height:600px){#poke{width:53px;height:53px}}

#apocalypse{width:82px;height:82px;border:1px solid #e7c8ff;background:radial-gradient(circle at 30% 20%,#aa71cb,#342046);box-shadow:0 0 22px #aa72ef88;touch-action:none}#apocalypse small{font-size:7px}@media(max-width:600px){.actions.shadow-controls{display:grid;grid-template-columns:repeat(3,50px);gap:4px;align-items:center}.actions.shadow-controls button,.actions.shadow-controls #fire,.actions.shadow-controls #beam,.actions.shadow-controls #dodge,.actions.shadow-controls #teleport,.actions.shadow-controls #poke,.actions.shadow-controls #apocalypse{width:50px;height:50px}.actions.shadow-controls b{font-size:18px}.actions.shadow-controls small{font-size:6px;margin-top:2px}}@media(max-height:600px){#apocalypse{width:57px;height:57px}}

.header-actions{display:flex;align-items:center;gap:9px}#mainMenu,.result-menu{border:1px solid #fff8;background:#211a27bb;color:#fff5e6;border-radius:20px;padding:10px 14px;font-size:10px;letter-spacing:.12em;touch-action:manipulation}#mainMenu{min-height:40px}.result-menu{display:block;margin:14px auto 0}@media(max-width:600px){#mainMenu{padding:8px 10px;min-height:36px}#mainMenu span{font-size:9px}}

#portalControls{pointer-events:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end;max-width:370px}#portalControls span{width:100%;text-align:right;color:#ead1ff;font-size:9px;letter-spacing:.13em}#portalControls button{border:1px solid #e5d1ff;border-radius:7px;background:#7951ad;color:white;padding:15px;font-size:10px;font-weight:bold;letter-spacing:.09em;touch-action:manipulation}#portalControls #portalCancel{background:#46335d}@media(max-width:600px){#portalControls{max-width:235px;gap:4px}#portalControls button{padding:10px;font-size:9px}}

#rain{width:76px;height:76px;border:1px solid #fff4c5;background:radial-gradient(circle at 30% 20%,#fff1b6,#b28c4d);color:#352711;box-shadow:0 0 22px #f9df7c88;touch-action:none}#beam.heaven,#fire.heaven{border-color:#fff5cb;background:radial-gradient(circle at 30% 20%,#fff6d1,#d6ae60);color:#47351d;box-shadow:0 0 24px #ffdf7b77}@media(max-width:600px){#rain{width:49px;height:49px}}@media(max-height:600px){#rain{width:55px;height:55px}}

#earthquake{width:76px;height:76px;border:1px solid #dfd99f;background:radial-gradient(circle at 30% 20%,#c9b67d,#6d633e);color:#fff8db;box-shadow:0 0 22px #9e945777;touch-action:none}#beam.earth,#fire.earth{border-color:#ded3a6;background:radial-gradient(circle at 30% 20%,#c4b68a,#6b6648);color:#fffce7;box-shadow:0 0 24px #9a945c66}@media(max-width:600px){#earthquake{width:49px;height:49px}}@media(max-height:600px){#earthquake{width:55px;height:55px}}

#tsunami{width:76px;height:76px;border:1px solid #d3faff;background:radial-gradient(circle at 30% 20%,#b3f6ff,#3383ab);color:#f4ffff;box-shadow:0 0 25px #74ddff99;touch-action:none}@media(max-width:600px){#tsunami{width:49px;height:49px}}@media(max-height:600px){#tsunami{width:55px;height:55px}}
