@import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:opsz,wght@9..40,400;9..40,500;9..40,600;9..40,700&family=Playfair+Display:ital,wght@0,600;0,700;1,600&display=swap";:root{color-scheme:dark;--ink: #e9f2dd;--muted-ink: #afc2aa;--deep-forest: #07170f;--forest: #0e2b1b;--moss: #284f31;--moss-light: #77a950;--moss-bright: #b6d96b;--mist: #b9d7b8;--gold: #f4c76a;--gold-deep: #f1a85c;--danger: #e36551;--danger-dark: #8f2e2c;--panel: rgb(8 26 17 / 88%);--panel-solid: #0b2116;--line: rgb(182 217 107 / 25%);--line-strong: rgb(220 239 163 / 54%);--shadow: rgb(0 0 0 / 44%);--sans: "DM Sans", system-ui, sans-serif;--display: "Playfair Display", Georgia, serif;--mono: "DM Mono", ui-monospace, monospace}*{box-sizing:border-box}html,body,#application{width:100%;min-width:100%;height:100%;min-height:100%;margin:0;overflow:hidden}body{background:var(--deep-forest);color:var(--ink);font-family:var(--sans)}button,input{font:inherit}button{border:0;cursor:pointer}button:focus-visible,input:focus-visible+.character-card{outline:3px solid var(--gold);outline-offset:4px}button:disabled{cursor:progress;opacity:.65}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;clip-path:inset(50%)}#game-canvas{display:block;width:100%;height:100%;outline:0;touch-action:none}@media(pointer:fine){#game-canvas[tabindex="0"]{cursor:crosshair}}#vignette{position:fixed;inset:0;z-index:2;pointer-events:none;background:radial-gradient(circle at 50% 48%,transparent 39%,rgb(1 14 8 / 22%) 100%)}.start-menu,.loading-screen,.game-over{position:fixed;inset:0;z-index:10;display:grid;place-items:center;padding:max(1.25rem,env(safe-area-inset-top)) max(1.25rem,env(safe-area-inset-right)) max(1.25rem,env(safe-area-inset-bottom)) max(1.25rem,env(safe-area-inset-left))}.start-menu{overflow-y:auto;background:linear-gradient(116deg,#020f09f2,#061c11d1 48%,#0b2c1d99),radial-gradient(ellipse at 80% 10%,rgb(141 184 84 / 24%),transparent 45%);transition:opacity .26s ease,visibility .26s ease}.start-menu.is-hidden{visibility:hidden;pointer-events:none;opacity:0}.menu-ambience{position:absolute;inset:0;overflow:hidden;pointer-events:none}.orb{position:absolute;width:23rem;aspect-ratio:1;border-radius:50%;filter:blur(2px);opacity:.44}.orb--one{top:-10rem;right:-4rem;background:radial-gradient(circle,rgb(146 202 89 / 55%),transparent 68%)}.orb--two{bottom:-14rem;left:-10rem;background:radial-gradient(circle,rgb(16 89 56 / 86%),transparent 69%)}.orb--three{right:29%;bottom:-16rem;background:radial-gradient(circle,rgb(201 161 66 / 19%),transparent 68%)}.menu-panel{position:relative;width:min(100%,50rem);min-width:0;max-width:100%;padding:clamp(1.5rem,5vw,3.2rem);border:1px solid var(--line);border-radius:1.5rem;background:linear-gradient(145deg,#0d2719eb,#05150deb);box-shadow:0 2rem 5rem var(--shadow),inset 0 1px #efffd812;backdrop-filter:blur(14px)}.eyebrow{margin:0 0 .65rem;color:var(--moss-bright);font-family:var(--mono);font-size:.68rem;font-weight:500;letter-spacing:.18em}h1,h2{margin:0;color:var(--ink);font-family:var(--display);font-weight:600;letter-spacing:-.04em}h1{max-width:9ch;font-size:clamp(2.7rem,7vw,5.3rem);line-height:.9}h1 span{color:var(--moss-bright)}.menu-intro{max-width:37rem;margin:1.25rem 0 2rem;color:var(--muted-ink);font-size:clamp(.95rem,2.3vw,1.08rem);line-height:1.55}.character-picker{min-width:0;margin:0;padding:0;border:0}.character-picker legend{margin-bottom:.75rem;color:var(--ink);font-size:.87rem;font-weight:600}.character-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}.character-option{min-width:0;cursor:pointer}.character-option input{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;clip-path:inset(50%)}.character-card{position:relative;display:grid;min-height:12.2rem;overflow:hidden;border:1px solid var(--line);border-radius:.9rem;background:#05180ead;transition:border-color .16s ease,background .16s ease,transform .16s ease,box-shadow .16s ease}.character-option:hover .character-card{border-color:var(--line-strong);background:#15381fcc;transform:translateY(-2px)}.character-option input:checked+.character-card{border-color:var(--moss-bright);background:linear-gradient(150deg,#325e2fd9,#0c2a16eb);box-shadow:0 0 0 1px #b6d96b33,0 .8rem 1.6rem #0000003d}.character-portrait{display:block;min-height:7.8rem;background-color:var(--forest);background-repeat:no-repeat;background-position:50% 64%;background-size:9rem;filter:drop-shadow(0 .7rem .5rem rgb(0 0 0 / 28%))}.character-portrait--luna{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAADAFBMVEVHcExIQVE2MUBTVb1URq93S9E6ND9oVs4/O0c2Lzpkh9SVUDujZ2y5rN1BQE1CQE04M0degtdRSbZ9RjtWWsBjh9Vkj9qwquPPx+FoPcfc1+g5M049OURAPU1ga2RCQU44Mz08N0h1hHY/OkU+O0tiZGGZUTs9OkVYVruFRzpXWMFWUbphhdVYU7mDSGSgb+Vui9mkcuV8T3K2veOCg681MT/f2OfQxt/Yz+BzmNy7w+iXp+GDU2CIirVtfM26wel1er6JTz6ghLPOxN9Yd9TLx+RhPcOcXmZjOsO7dmziknrgjm/NeGXUzuNpcMlDQk5CQk42M0A7OUVAP0oyMDw/O0VBQEw5ND04NkKiVT8+OUNBPUg7Nj6dVD6ZUDo8N0CaUz0+PUg8O0h9UNWiUzovLTilVTxnkds6OEI4Mjo2MDeESj6UUT5ljNleaMRgftVyRs80LTRab8+pWDtjf9Fedc2FVtlietBaaszipn+MTDp0RD2ldOdZYsO/x+qPX9zblXOgbeJ8R0CtWz1vUJdhhda7w+ajpdSwXD2ZZt+yt+OOTz5pQD6Rkb2hYbN7Ssrc1+idVXZfb8qtiKnhy8/eurbbi4Pfon/hhGHojWbKcFNcdtJqdMdTU1tBMDczLDJoVa6XeuNJMzaQodtSNzxrfctpidOlXleOa51VWceSUEGfbtLCyeypYmpxhtOfYXt9hL6PWtNKPEmEcbLin3qaZ9GoWk10dsOUYcNvQ8mNU7iWVaHg0t2dVoevZHnepZCaaJaGUsaoabPDe5/nkXO3aWjbmnmchbilcY/booVaPDtXOjxSPktcOUI7MUFgP2umdedgRIendeeRcN2MVG+iXqyNltOkZXOKWYSxXT2SXoakXZaeqd6DVoKrrtuIX4WHVWniwLujWotGWoViYL1ScaiGUs/Nk47hubFqSMlyVs57XdNvc7q4o7uouObagniPkMh6fbmGet6SWmfYz9/crKBtPLncfFbXelvWopHSr7SOdbV8d73WelvCmaKOa6JUliY0AAAAT3RSTlMAMigoFP7HCovL/bMKMsyVCmhBN8GauBR3s70egWTl71pGWqmzx9Hvn58yY8fli21Q5cdan9uLnzxtn/nl5cf55fmz2x7Hbb2VKO+MvYH5gHq4sgAAA0VJREFUWMNjYBgFo2AUDBHAyM/HIU2BfqbE4LCwMD5ZsvVnBCUlJgYHh6mQaUBgREZQUFBoaGi0Ihm6efjlAwMjIjIyMqKiomRI1y8g5+8fERIINCM+Jiaeg/Tgn+vv7x8QGBISEhgeHh5DsgFK/iD9AQFJQRHh8YlRmQok6ueYC9INBP5gEBbNSJr3Vf2h+iEmhEVHK5MU++phUA9ADAiLDg1lI8UAzqCk4LAAiBFAMhioP4okA0wjgoAJMDgM4n2g/qioeCIMEBQEUy5iuY9B6ScoCeQMoHag/viYcCIM4Gpd3FZXt+ZdevrTVGDkR4CdkQhMxiD9xBhQWnrtXlfX2w+5uetaFoGMAJmRER8P0n8qm5OwAbW1Dr29vR2b8/M/7cgOWpIKdkZ4eCZQf09xhxphA9iBmMW9Y9va9au3JmzalF09D2hESFZhTHhWVVpaCpERwB2Zlla8tTN2VVNOTk71ktR5i06HZ2Zlx8XFEWtAwucNHzfWT4yNTUhIqE46kxPXlJlVWF1VpUmsAd1v8ltfJ++OjO3pjs1pyk5IqMrKmn9WT5jYNCTsmFdR8Yq1fxvQhHPZsQmxKXGFhedWG+qzsxNrhMjKlS937vw2MRIIYmNTUlIK57dculBTs1DMQJxII1jcPCRZWHftTQMaAQzS8xcbgdrTgcDaUpTo7OC9gzX54O69Ex/d7iur72xsvNyanstVkstFtAle0w4VFCQnl5WVbUxOru+8unZ7ScnS8nV37Ig1wOfHzCOHDxawJic/6y8oq1/fvHzF9ZsrutbYE12kHzg6a8ZMkDP6d/WV5y5b3txcXHyrva7OilgTSvO3n5j1F+iMvmnvJ+WX349MS0m5saG9rc2YSAP8imbPnvMf6IwZ3/c9qXjyIAeYmu+K2LYvXqZDVIrgmf7veNGkOXP+nNh3IG9SaZ5Nd86qKwuYGUyWlpQyE2OA57HKypMnj/0ump1fXlI+KY/BqGWBrhAoneXVEmUA79QGIJj663hFRUVe3mYnBnZtFrCEloYQcWEg9WXKlD1SlZU/J0+e/PyhGRl1M6+ELy/D/unTK7dsmWJOdgNlwtSv+1/skSC/hSPuOmGCs8VoS3EUjAI6AAD0eUub3cPooQAAAABJRU5ErkJggg==)}.character-portrait--caio{background-image:url(data:image/png;base64,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)}.character-portrait--iris{background-image:url(data:image/png;base64,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)}.character-copy{display:grid;align-content:end;gap:.14rem;min-width:0;padding:.6rem .7rem .75rem;background:linear-gradient(transparent,#030f09c2)}.character-copy strong{overflow:hidden;color:var(--ink);font-size:clamp(.84rem,2vw,1rem);text-overflow:ellipsis;white-space:nowrap}.character-copy small{overflow:hidden;color:var(--muted-ink);font-size:.67rem;text-overflow:ellipsis;white-space:nowrap}.selection-mark{position:absolute;top:.55rem;right:.55rem;display:grid;width:1.4rem;aspect-ratio:1;place-items:center;border-radius:50%;color:var(--deep-forest);background:var(--moss-bright);font-size:.84rem;font-weight:700;opacity:0;transform:scale(.7);transition:opacity .15s ease,transform .15s ease}.character-option input:checked+.character-card .selection-mark{opacity:1;transform:scale(1)}.menu-actions{display:flex;flex-wrap:wrap-reverse;gap:.7rem;margin-top:1.65rem}.button{display:inline-flex;min-height:3rem;align-items:center;justify-content:center;gap:.7rem;padding:.8rem 1.05rem;border-radius:.65rem;font-size:.91rem;font-weight:700;transition:transform .15s ease,background .15s ease,border-color .15s ease,box-shadow .15s ease}.button:hover:not(:disabled){transform:translateY(-2px)}.button--primary{flex:1 1 13rem;color:var(--deep-forest);background:linear-gradient(135deg,var(--moss-bright),var(--gold));box-shadow:0 .65rem 1.4rem #67994833}.button--primary:hover:not(:disabled){box-shadow:0 .9rem 1.9rem #6799484f}.button--quiet{flex:1 1 11rem;border:1px solid var(--line-strong);color:var(--ink);background:#ffffff0a}.button--quiet:hover:not(:disabled){border-color:var(--moss-bright);background:#89b85d1f}.menu-status{min-height:1.1rem;margin:.8rem 0 0;color:var(--gold);font-size:.78rem}.menu-controls{margin:1.1rem 0 0;color:var(--muted-ink);font-size:.72rem}kbd,.keycap{display:inline-grid;min-width:1.3rem;min-height:1.3rem;place-items:center;margin:0 .08rem;padding:.08rem .25rem;border:1px solid rgb(233 242 221 / 28%);border-bottom-width:2px;border-radius:.25rem;color:var(--ink);background:#ffffff12;font-family:var(--mono);font-size:.63rem;font-weight:500}.loading-screen{z-index:20;gap:.85rem;align-content:center;color:var(--ink);background:#03120ae3;backdrop-filter:blur(8px)}.loading-screen p{margin:0;color:var(--muted-ink);font-size:.9rem}.loading-mark{display:flex;gap:.28rem;align-items:end;height:1.9rem}.loading-mark span{display:block;width:.4rem;border-radius:99px;background:var(--moss-bright);animation:pulse-load .85s ease-in-out infinite alternate}.loading-mark span:nth-child(1){height:.7rem}.loading-mark span:nth-child(2){height:1.45rem;animation-delay:.2s}.loading-mark span:nth-child(3){height:.95rem;animation-delay:.4s}@keyframes pulse-load{0%{transform:scaleY(.55);opacity:.44}to{transform:scaleY(1);opacity:1}}.game-ui{position:fixed;inset:0;z-index:3;pointer-events:none}.hud-top{display:flex;width:min(100% - 2rem,42rem);align-items:flex-start;justify-content:space-between;gap:1rem;padding:max(1.1rem,env(safe-area-inset-top)) 1rem 0 max(1rem,env(safe-area-inset-left))}.player-status{width:min(13.5rem,47vw);padding:.75rem;border:1px solid rgb(226 242 190 / 19%);border-radius:.65rem;background:#04140ca8;box-shadow:0 .6rem 1.8rem #0000002e;backdrop-filter:blur(8px);transition:transform .1s ease}.player-status.is-hurt{transform:translate(4px)}.status-label-row{display:flex;justify-content:space-between;gap:.5rem;margin-bottom:.38rem;color:var(--mist);font-family:var(--mono);font-size:.61rem;letter-spacing:.08em}.status-label-row strong{color:var(--ink);font-size:.64rem;font-weight:500}.health-bar{height:.48rem;overflow:hidden;border-radius:99px;background:#00000069;box-shadow:inset 0 1px 2px #0000005e}.health-fill{display:block;width:100%;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--moss-bright),var(--gold));box-shadow:0 0 .7rem #b6d96b75;transition:width .18s ease,background .18s ease}.health-fill.is-critical{background:linear-gradient(90deg,var(--danger-dark),var(--danger));box-shadow:0 0 .7rem #e3655175}.game-message{max-width:17rem;margin:.25rem 0 0 auto;color:var(--mist);font-size:.76rem;line-height:1.35;text-align:right;text-shadow:0 1px 5px rgb(0 0 0 / 55%)}.game-hint{position:fixed;bottom:1.2rem;left:50%;display:flex;align-items:center;color:var(--mist);font-size:.66rem;opacity:.85;transform:translate(-50%)}.keycap.wide{min-width:3.6rem}.hint-divider{width:1px;height:1.25rem;margin:0 .6rem;background:#e9f2dd3b}.attack-button{position:fixed;right:max(1rem,env(safe-area-inset-right));bottom:max(1rem,env(safe-area-inset-bottom));display:inline-grid;min-width:7rem;min-height:3.3rem;grid-template-columns:auto 1fr;align-items:center;gap:.1rem .48rem;padding:.5rem .75rem;border:1px solid rgb(244 199 106 / 51%);border-radius:.7rem;color:var(--deep-forest);background:linear-gradient(135deg,var(--gold),var(--gold-deep));box-shadow:0 .8rem 1.8rem #00000040;pointer-events:auto;transition:transform .1s ease,filter .1s ease}.attack-button:hover{filter:brightness(1.07)}.attack-button:active,.touch-key:active{transform:scale(.95)}.attack-button__icon{grid-row:span 2;font-size:1.3rem}.attack-button span:not(.attack-button__icon){align-self:end;font-size:.76rem;font-weight:800;line-height:1}.attack-button small{align-self:start;color:#07170da8;font-family:var(--mono);font-size:.58rem}.enemy-bars{position:fixed;inset:0;pointer-events:none}.enemy-health{position:fixed;top:0;left:0;width:2.75rem;height:.23rem;overflow:hidden;border:1px solid rgb(0 0 0 / 36%);border-radius:99px;background:#070c08c4;box-shadow:0 1px 2px #0000008c;opacity:0;contain:layout style;will-change:transform,opacity;transition:opacity .13s ease}.enemy-health.is-visible{opacity:1}.enemy-health span{display:block;width:100%;height:100%;border-radius:inherit;background:var(--danger);transition:width .13s linear}.touch-controls{position:fixed;bottom:max(1rem,env(safe-area-inset-bottom));left:max(1rem,env(safe-area-inset-left));display:none;pointer-events:auto}.touch-sprint{position:absolute;top:-3.5rem;left:0;min-width:5.2rem;min-height:2.8rem;padding:.6rem .8rem;border:1px solid rgb(244 199 106 / 51%);border-radius:.65rem;color:var(--ink);background:#061c11b8;box-shadow:0 .4rem 1rem #0000002e;font-family:var(--mono);font-size:.72rem;font-weight:700;touch-action:none}.touch-sprint:active{color:var(--deep-forest);background:var(--gold)}.direction-pad{position:relative;width:9.15rem;height:9.15rem}.touch-key{position:absolute;display:grid;width:2.8rem;height:2.8rem;place-items:center;border:1px solid rgb(230 243 202 / 31%);border-radius:.65rem;color:var(--ink);background:#061c119e;box-shadow:0 .4rem 1rem #0000002e;font-family:var(--mono);font-size:.78rem;font-weight:500;touch-action:none}.touch-key--up{top:0;left:3.15rem}.touch-key--left{top:3.15rem;left:0}.touch-key--down{bottom:0;left:3.15rem}.touch-key--right{top:3.15rem;right:0}.game-over{z-index:15;background:#010d07c2;backdrop-filter:blur(10px)}.game-over__card{width:min(100%,31rem);padding:clamp(1.7rem,6vw,3rem);border:1px solid rgb(244 199 106 / 22%);border-radius:1.2rem;background:linear-gradient(145deg,#1d1812f2,#0c1c11f2);box-shadow:0 2rem 5rem var(--shadow)}.game-over h2{margin-top:.35rem;font-size:clamp(2rem,7vw,3.2rem);line-height:.98}.game-over__card>p:not(.eyebrow){margin:1rem 0 0;color:var(--muted-ink);line-height:1.5}[hidden]{display:none!important}@media(max-width:37rem){.start-menu{align-items:start}.menu-panel{margin:auto 0;border-radius:1rem}.character-card{min-height:10.1rem}.character-portrait{min-height:5.8rem;background-size:7rem}.character-copy{padding:.45rem}.character-copy small{font-size:.59rem}.hud-top{width:100%}.game-message{position:fixed;top:max(5.2rem,calc(env(safe-area-inset-top) + 4.2rem));left:max(1rem,env(safe-area-inset-left));max-width:14rem;margin:0;padding:.3rem .45rem;border-radius:.35rem;background:#04140c75;font-size:.67rem;text-align:left}.game-hint{display:none}.attack-button{right:max(1.1rem,env(safe-area-inset-right));bottom:max(2.3rem,env(safe-area-inset-bottom));min-width:5.7rem}}@media(pointer:coarse){.touch-controls{display:block}.game-hint{display:none}.attack-button{bottom:max(2.7rem,env(safe-area-inset-bottom))}}@media(max-width:22rem){.character-grid{gap:.4rem}.menu-panel{padding:1.15rem}.character-card{min-height:9.3rem}.character-copy strong{font-size:.75rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
