:root{color:#eaf4ed;font-synthesis:none;background:#091720;font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(at 50% 0,#193b3c 0,#0000 60%),#091720;margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;color:inherit}button:focus-visible,a:focus-visible{outline-offset:4px;outline:3px solid #e7ca81}#app{max-width:1328px;margin:auto;padding:0 24px}header{align-items:center;gap:30px;height:78px;display:flex}.brand{letter-spacing:1px;color:#f5f4e6;font-size:23px;font-weight:900;text-decoration:none}.brand span{color:#a4d67a}.chapter{letter-spacing:2px;color:#92aaa8;align-items:center;gap:14px;font-size:10px;font-weight:700;display:flex}.chapter i{background:#5c7975;width:20px;height:1px}#pause{background:#1b3037;border:1px solid #36504d;border-radius:50%;width:34px;height:34px;margin-left:auto}main{aspect-ratio:16/9;background:#142d37;border:1px solid #40594e;border-radius:14px 14px 0 0;position:relative;overflow:hidden;box-shadow:0 28px 80px #0005}#game,#game canvas{width:100%;height:100%;display:block}.overlay{background:linear-gradient(90deg,#0b1c2bf2,#0b1c2b88 52%,#0000);align-items:center;padding:7%;display:flex;position:absolute;inset:0}.overlay.hidden{display:none}.intro{max-width:520px}.eyebrow{color:#b8ce92;letter-spacing:2px;font-size:10px;font-weight:800}.intro h1{letter-spacing:-2px;color:#f2f1df;margin:24px 0;font-size:clamp(30px,5.5vw,74px);line-height:.98}.intro h1 em{color:#b4d989;font-style:normal}.intro>p:not(.eyebrow){color:#becfc9;font-size:clamp(12px,1.3vw,16px);line-height:1.65}.primary{color:#1c3428;background:#c8df8c;border:0;border-radius:7px;margin-top:18px;padding:16px 22px;font-weight:800;box-shadow:0 4px #779f5b}.primary span{padding-left:26px}.small{font-size:11px!important}.dashboard{background:#12262a;border:1px solid #344b45;border-top:0;border-radius:0 0 14px 14px;gap:24px;padding:20px;display:flex}.team{flex:1;gap:8px;display:flex}.hero{text-align:left;background:#1b3034;border:1px solid #344a47;border-radius:9px;flex:1;min-width:100px;padding:10px;transition:background .2s}.hero.active{border-color:var(--hero);background:color-mix(in srgb,var(--hero) 13%,#14292c)}.hero-top{align-items:center;gap:8px;font-size:13px;font-weight:750;display:flex}.dot{background:var(--hero);width:10px;height:10px;box-shadow:0 0 10px color-mix(in srgb,var(--hero) 40%,transparent);border-radius:50%}.hero kbd{margin-left:auto;font-size:9px}.hero small{color:#96ada8;margin:7px 0 0 18px;font-size:10px;display:block}.quest{border-left:1px solid #385049;width:37%;padding:0 0 0 24px}.quest .eyebrow{font-size:9px}.quest p{color:#edf1de;margin:6px 0;font-size:13px}.quest>span:last-child{color:#99ada3;font-size:11px}footer{color:#8ba49e;flex-wrap:wrap;justify-content:space-between;gap:12px;margin:19px 0;font-size:10px;display:flex}kbd{color:#cbd9cc;background:#1b3234;border:1px solid #45615b;border-radius:3px;padding:2px 5px;font-family:inherit;font-size:10px}.note{text-align:center;color:#607d77;letter-spacing:.4px;margin:25px 0;font-size:10px}@media (width<=760px){#app{padding:0 8px}header{height:58px}.chapter{letter-spacing:1px;font-size:8px}.brand{font-size:18px}.dashboard{flex-direction:column;gap:12px;padding:10px}.hero{min-width:0;padding:8px}.hero-top{gap:4px;font-size:10px}.hero small{margin-left:0;font-size:8px}.quest{border-left:0;width:100%;padding:0}.intro h1{margin:10px 0}.intro .eyebrow{font-size:7px}.primary{margin:3px 0;padding:9px 15px}.intro>p:not(.eyebrow){line-height:1.3}.note{margin:18px}}#fullscreen{z-index:60;color:#eaf4ed;background:#12262ae8;border:1px solid #607e70;border-radius:7px;padding:8px 12px;font-size:12px;position:absolute;top:16px;right:16px}#fullscreen:hover{background:#294a40}#fullscreen:disabled{opacity:.5;cursor:default}#fullscreen-status{z-index:60;color:#eaf4ed;background:#12262a;border-radius:7px;max-width:360px;margin:0;padding:12px;font-size:13px;position:absolute;bottom:16px;right:16px}#fullscreen-status:empty{display:none}main:fullscreen{aspect-ratio:auto;width:100vw;max-width:none;height:100dvh;box-shadow:none;background:#091720;border:0;border-radius:0}main:focus{outline:none}main:fullscreen .overlay{padding:7%}@media (width<=760px){#fullscreen{padding:6px 8px;font-size:10px;top:8px;right:8px}}#game-controls{z-index:60;gap:8px;display:flex;position:absolute;top:16px;right:16px}#game-controls #fullscreen{position:static}#sound{color:#eaf4ed;background:#12262ae8;border:1px solid #607e70;border-radius:7px;padding:8px 12px;font-size:12px}#sound:hover{background:#294a40}@media (width<=760px){#game-controls{gap:4px;top:8px;right:8px}#sound{padding:6px 8px;font-size:10px}}.primary:disabled{cursor:wait;opacity:.65}kbd.xbox{color:#fff;border-color:#fff8;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;padding:0;font-weight:800;display:inline-flex}kbd.xbox.a{background:#21863b}kbd.xbox.b{background:#ba3338}kbd.xbox.x{background:#246cb5}.hero kbd:empty{display:none}#controller{color:#eaf4ed;background:#12262ae8;border:1px solid #607e70;border-radius:7px;padding:8px 12px;font-size:12px}#controller-panel{z-index:70;color:#eaf4ed;background:#0b2029f5;border:1px solid #607e70;border-radius:9px;width:min(450px,100% - 32px);max-height:65%;padding:16px;font-size:13px;position:absolute;top:65px;right:16px;overflow:auto;box-shadow:0 8px 30px #0008}#controller-panel[hidden]{display:none}#controller-diagnostics{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.5}#controller-panel small{color:#b6c8bc;line-height:1.5;display:block}#language{font:inherit;color:#eaf4ed;background:#12262a;border:1px solid #607e70;border-radius:7px;max-width:118px;padding:8px;font-size:12px}#language:focus-visible{outline-offset:2px;outline:3px solid #e7ca81}#game-controls{flex-wrap:wrap;justify-content:flex-end;max-width:calc(100% - 32px)}.hero-name{min-width:0}@media (width<=760px){#language{max-width:100px;padding:6px;font-size:10px}}#level{font:inherit;color:#eaf4ed;background:#12262a;border:1px solid #607e70;border-radius:7px;max-width:175px;padding:8px;font-size:12px}#level:focus-visible{outline-offset:2px;outline:3px solid #e7ca81}.secondary{color:#dcebc7;background:#1b3835;border:1px solid #92b778;border-radius:7px;margin:12px 0 0 12px;padding:15px 18px;font-weight:700}.secondary[hidden]{display:none}@media (width<=760px){#level{max-width:135px;padding:6px;font-size:10px}}#music{color:#eaf4ed;background:#12262ae8;border:1px solid #607e70;border-radius:7px;padding:8px 12px;font-size:12px}#music:hover{background:#294a40}@media (width<=760px){#music{padding:6px 8px;font-size:10px}}kbd.xbox.y{color:#18252c;background:#dfc53b}[hidden]{display:none!important}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;overflow:hidden;position:absolute!important}#team{z-index:55;flex:none;gap:6px;width:300px;display:flex;position:absolute;top:12px;left:18px}#shard-count{white-space:nowrap;color:#eaf4ed;text-shadow:0 2px 4px #0019;pointer-events:none;font-size:20px;font-weight:700;position:absolute;top:50%;left:calc(100% + 12px);transform:translateY(-50%)}#team .hero{text-align:center;background:#0a202be6;border:1px solid #527b72;border-radius:10px;flex:1;width:68px;min-width:0;padding:2px 4px 5px;position:relative}#team .hero-portrait{width:fit-content;margin:auto;display:block;position:relative}#team .hero-cooldown{background:conic-gradient(#07131dcc calc(var(--cooldown,0)*1turn),transparent 0);pointer-events:none;border-radius:50%;position:absolute;inset:0}#team .hero canvas{object-fit:contain;filter:drop-shadow(0 2px 3px #0008);width:52px;height:52px;margin:auto;display:block}#team .hero kbd{color:#f1f8eb;background:#102a32f5;border-color:#85aaa4;border-radius:5px;justify-content:center;align-items:center;width:27px;height:27px;margin-left:0;padding:0;font-size:17px;font-weight:700;line-height:1;display:flex;position:absolute;top:4px;left:3px}#team .hero-health{letter-spacing:2px;color:#d4e8b8;font-size:16px;line-height:18px;display:block}#team .hero.active{border:2px solid var(--hero);box-shadow:0 0 13px color-mix(in srgb,var(--hero) 35%,transparent);padding:1px 3px 4px}#team .hero:focus-visible{border-color:#e7ca81;outline:none}#team .hero.resting{filter:grayscale();opacity:.45;cursor:default}#game-controls{z-index:75;max-width:none}#game-controls button{color:#eaf4ed;background:#0b242ce8;border:1px solid #607e70;border-radius:9px;width:40px;height:40px;padding:0;font-size:25px}#game-controls button:hover{background:#294a40}.dashboard{padding:12px 20px}.quest{border:0;width:100%;padding:0}.quest #status{font-size:11px}.quest .eyebrow{display:none}.quest p{margin:0 0 4px}#settings-panel{z-index:90;background:#071924 url(/assets/controls-keyboard-DmC1YyBy.png) 50%/cover no-repeat;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}#settings-panel[data-input=gamepad]{background-image:url(/assets/controls-gamepad-D6ZeYCQa.png)}#settings-panel:before{content:"";pointer-events:none;background:#00101b44;position:absolute;inset:0}.settings-sheet{scrollbar-width:thin;background:#081b27f5;border:1px solid #779a9f;border-radius:12px;flex-direction:column;width:35%;max-height:65%;padding:12px 16px;display:flex;position:absolute;top:16%;left:32.5%;overflow:hidden;box-shadow:0 8px 30px #000a}.settings-sheet h2{color:#e7e6c9;margin:0 0 8px;font-size:22px}.setting-row{justify-content:space-between;align-items:center;gap:8px;margin:8px 0;font-size:12px;display:flex}.setting-row select,#settings-panel button{font:inherit;color:#eaf4ed;background:#16323c;border:1px solid #63847b;border-radius:6px;padding:6px 8px}.setting-row select{min-width:0;max-width:65%!important;font-size:12px!important}.settings-help{color:#b5c8c2;margin:2px 0 8px;font-size:10px;line-height:1.4}.audio-row label{grid-template-columns:1fr 36px;gap:3px;width:62%;font-size:10px;display:grid}.audio-row label>span{grid-column:1/3}.audio-row input{accent-color:#b9da85;width:100%}.audio-row output{text-align:right;align-self:center}.settings-actions{justify-content:space-between;gap:6px;margin-top:10px;font-size:11px;display:flex}#settings-close{background:#284633!important;border-color:#b9da85!important}#settings-panel #controller-panel{width:100%;max-height:none;margin-top:10px;padding:10px;font-size:11px;position:static}#gamepad-info{color:#b5c8c2;font-size:10px}#settings-controls{background:#071b27ed;border:1px solid #4b7773;border-radius:8px;padding:8px 12px;position:absolute;bottom:1.5%;left:3%;right:3%}#settings-controls footer{color:#e0e8d4;justify-content:center;gap:7px 15px;margin:0;font-size:10px}#settings-controls kbd{font-size:10px}#settings-panel :focus-visible{outline-offset:2px;outline:2px solid #ebcc73}@media (width<=900px){.settings-sheet{width:46%;max-height:71%;padding:8px 12px;top:9%;left:27%}.settings-sheet h2{font-size:17px}.setting-row{margin:5px 0;font-size:11px}.setting-row select,#settings-panel button{padding:4px 6px}.settings-help{font-size:9px}#settings-controls footer{gap:4px 9px;font-size:9px}#team{gap:4px;width:240px;top:8px;left:8px}#team .hero canvas{width:40px;height:40px}#team .hero-health{font-size:13px}#game-controls button{width:34px;height:34px}}@media (height<=500px){.settings-sheet{max-height:72%;top:5%}#settings-controls footer{gap:3px 10px;font-size:9px}}#settings-panel{background-size:contain;container-type:size}.binding-art-overlay{pointer-events:none;z-index:1;width:min(100cqw,200cqh);height:min(50cqw,100cqh);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.binding-magic{color:#eee9fa;background:#091722;border:2px solid #b86ce7;border-radius:12px;flex-direction:column;justify-content:space-evenly;width:19%;height:12.5%;padding:3px 10px;font-size:clamp(10px,1.5cqw,22px);display:flex;position:absolute;top:17%;left:52.2%;box-shadow:0 0 12px #ac35f1}.binding-magic span{justify-content:space-between;align-items:center;gap:6px;display:flex}.binding-magic kbd{font-size:inherit;text-align:center;border-color:#b999d3;min-width:28px}.settings-sheet,#settings-controls{z-index:2}#settings-panel[data-input=gamepad] .binding-magic{color:#ffe4ab;border-color:#e0ac4a;width:18%;height:13%;top:9.2%;left:78.5%;box-shadow:0 0 12px #bc7d25}#settings-panel[data-input=keyboard] .binding-magic{width:10.4%;padding:3px 7px;font-size:clamp(10px,1.05cqw,16px);left:67.5%}@media (width<=900px){#settings-panel[data-input=keyboard] .binding-magic{width:21%;height:13%;font-size:clamp(10px,1.5cqw,15px);top:1%;left:76%}}#touch-controls,#mobile-orientation-hint{display:none}body.mobile{overscroll-behavior:none;-webkit-user-select:none;user-select:none;touch-action:manipulation;overflow:hidden}body.mobile #app{max-width:none;padding:0}body.mobile header,body.mobile .dashboard,body.mobile #app>.note{display:none}body.mobile main{width:var(--view-width,100vw);height:var(--view-height,100dvh);aspect-ratio:auto;box-shadow:none;touch-action:manipulation;border:0;border-radius:0;container-type:size}body.mobile main.mobile-expanded{z-index:1000;background:#061720;position:fixed;inset:0}body.mobile main.mobile-rotated{width:var(--view-height);height:var(--view-width);transform-origin:50%;inset:50% auto auto 50%;transform:translate(-50%,-50%)rotate(90deg)}body.mobile #team{left:max(10px,var(--safe-left,0px));top:max(8px,var(--safe-top,0px));gap:6px;width:clamp(212px,32cqw,280px)}body.mobile #shard-count{font-size:clamp(14px,2.4cqw,20px);left:calc(100% + 8px)}body.mobile #team .hero{background:#06232bd9;border-width:2px;border-radius:12px;padding:2px 3px 4px}body.mobile #team .hero.active{box-shadow:0 0 12px var(--hero);padding:2px 3px 4px}body.mobile #team .hero-health{color:#ff5468;letter-spacing:1px;font-size:clamp(12px,1.8cqw,18px)}body.mobile #team kbd{display:none}body.mobile #game-controls{right:max(10px,var(--safe-right,0px));top:max(8px,var(--safe-top,0px));gap:10px}body.mobile #game-controls button{background:#082330d9;border-width:2px;width:44px;height:44px;font-size:28px}body.mobile #touch-controls{z-index:65;pointer-events:none;--action-size:clamp(50px,17cqh,78px);--stick-size:clamp(112px,36cqh,170px);position:absolute;inset:0}body.mobile main:not([data-playing=true]) #touch-controls{visibility:hidden}#touch-stick{left:max(16px,var(--safe-left,0px));bottom:max(16px,var(--safe-bottom,0px));width:var(--stick-size);height:var(--stick-size);pointer-events:auto;touch-action:none;background:radial-gradient(circle,#21434d8c,#071c26a8 72%);border:3px solid #83b6be88;border-radius:50%;position:absolute;box-shadow:0 0 0 6px #12334166,inset 0 0 25px #0008}.stick-knob{width:40%;height:40%;transform:translate(var(--stick-x,0px),var(--stick-y,0px));pointer-events:none;background:radial-gradient(circle at 35% 30%,#68c7a8,#26877d);border:3px solid #8bffcc;border-radius:50%;position:absolute;top:30%;left:30%;box-shadow:0 0 12px #59e5c777}.stick-arrow{color:#a5ddd3aa;pointer-events:none;font-size:26px;line-height:26px;position:absolute}.stick-arrow.up{top:5px;left:calc(50% - 8px)}.stick-arrow.down{bottom:5px;left:calc(50% - 8px)}.stick-arrow.left{top:calc(50% - 13px);left:6px}.stick-arrow.right{top:calc(50% - 13px);right:6px}#touch-actions{right:max(16px,var(--safe-right,0px));bottom:max(14px,var(--safe-bottom,0px));width:calc(var(--action-size)*3.9);height:calc(var(--action-size)*2.45);position:absolute}.touch-action{width:var(--action-size);height:var(--action-size);border:3px solid var(--glow);background:radial-gradient(circle at 40% 35%,color-mix(in srgb,var(--glow) 24%,#091622),#061320db 76%);box-shadow:0 0 0 5px #06172288,inset 0 0 20px color-mix(in srgb,var(--glow) 20%,transparent);pointer-events:auto;touch-action:none;color:var(--glow);-webkit-touch-callout:none;border-radius:50%;place-items:center;padding:12%;display:grid;position:absolute}.touch-action svg{fill:none;stroke:currentColor;stroke-width:5px;stroke-linecap:round;stroke-linejoin:round;width:64%;height:64%;filter:drop-shadow(0 0 5px var(--glow));pointer-events:none;position:absolute;top:15%;left:18%}.touch-action.ability svg{fill:currentColor;stroke-width:1px}.touch-action span{white-space:nowrap;color:#fff;text-transform:uppercase;text-shadow:0 0 5px var(--glow),0 2px 3px #000;pointer-events:none;font-size:clamp(10px,2.9cqh,14px);font-weight:900;position:absolute;top:86%;left:50%;transform:translate(-50%)}.touch-action.pressed{background:color-mix(in srgb,var(--glow) 45%,#091622);box-shadow:0 0 15px var(--glow);transform:scale(.94)}.touch-action.block{--glow:#b36bff;left:calc(var(--action-size)*.5);top:0}.touch-action.ability{--glow:#56f778;left:calc(var(--action-size)*1.75);top:0}.touch-action.dash{--glow:#ff416b;bottom:0;left:0}.touch-action.jump{--glow:#3abaff;left:calc(var(--action-size)*1.3);bottom:0}.touch-action.attack{--glow:#ffc557;width:calc(var(--action-size)*1.22);height:calc(var(--action-size)*1.22);bottom:0;right:0}body.mobile .overlay{z-index:70;padding:14% 8% 8%}.mobile .intro h1{margin:12px 0;font-size:clamp(24px,7cqh,52px)}.mobile .intro>p:not(.eyebrow){font-size:clamp(11px,3.3cqh,16px);line-height:1.35}.mobile .primary,.mobile .secondary{min-height:44px;padding:10px 17px}.mobile .intro{max-width:65%}body.mobile #settings-panel{z-index:90}.mobile #settings-panel[data-input=touch]{background:radial-gradient(at top,#204350,#061822 78%)}.mobile #settings-panel[data-input=touch] .binding-art-overlay{display:none}.mobile .settings-sheet{width:76%;max-height:76%;padding:10px 16px;top:4%;left:12%}.mobile .settings-sheet h2{font-size:18px}.mobile .setting-row{margin:5px 0;font-size:13px}.mobile .setting-row select,.mobile #settings-panel button{min-height:36px;font-size:12px!important}.mobile .settings-help{font-size:10px}.mobile .audio-row input{min-height:28px}.mobile #settings-controls{padding:7px;bottom:3%;left:6%;right:6%}.mobile #settings-controls footer{gap:4px 12px;font-size:10px}body.mobile #fullscreen-status{z-index:80;max-width:70%;font-size:12px;bottom:46%;right:15%}@media (orientation:portrait){body.mobile main:not(.mobile-expanded) #mobile-orientation-hint{text-align:center;color:#d9e9cf;z-index:69;pointer-events:none;font-size:13px;display:block;position:absolute;top:17%;left:10%;right:10%}body.mobile main:not(.mobile-expanded) .intro{max-width:100%}body.mobile main:not(.mobile-expanded) .overlay{align-items:center;padding:24% 8% 50%}body.mobile main:not(.mobile-expanded) #touch-actions{--action-size:54px}body.mobile main:not(.mobile-expanded) #touch-stick{--stick-size:112px}body.mobile main:not(.mobile-expanded) .settings-sheet{width:88%;max-height:66%;top:12%;left:6%}}body.mobile #touch-controls{display:block}body.mobile main{--safe-left:env(safe-area-inset-left);--safe-right:env(safe-area-inset-right);--safe-top:env(safe-area-inset-top);--safe-bottom:env(safe-area-inset-bottom)}body.mobile main.mobile-rotated{--safe-left:env(safe-area-inset-top);--safe-right:env(safe-area-inset-bottom);--safe-top:env(safe-area-inset-right);--safe-bottom:env(safe-area-inset-left)}body.mobile main[data-playing=true]{touch-action:none}.mobile .settings-sheet{touch-action:pan-y}body.mobile #game{justify-content:center;align-items:center;display:flex}body.mobile #game canvas{flex:none}@media (orientation:landscape){body.mobile #team,body.mobile #touch-stick{left:calc(var(--safe-left,0px) + 28px)}}body.mobile main.mobile-rotated #team,body.mobile main.mobile-rotated #touch-stick{left:calc(var(--safe-left,0px) + 28px)}#team .hero-detail{border:2px solid var(--hero);color:#eef9ff;pointer-events:none;background:#0a202bf2;border-top:0;border-radius:0 0 10px 10px;padding:3px 1px 4px;font-size:10px;line-height:1.2;display:none;position:absolute;top:100%;left:-2px;right:-2px}#team .hero.active{border-bottom-color:#0000;border-radius:10px 10px 0 0}#team .hero.active .hero-detail{display:block;top:calc(100% - 2px)}#team .hero:focus-visible .hero-detail{border-color:#e7ca81}#team .hero-detail strong,#team .hero-element{text-transform:uppercase;display:block}#team .hero-element{color:var(--hero);font-size:9px}#shard-count{align-items:center;gap:5px;font-size:18px;line-height:1;display:flex;top:8px;transform:none}#shard-count strong,#shard-count small{display:block}#shard-count small{color:#9fe6d0;letter-spacing:.5px;font-size:9px}.shard-icon{filter:drop-shadow(0 0 4px #28cfff65);transform-origin:50%;background:url(/assets/temple-crystal-7RfYfboV.webp) 0/500% 100% no-repeat;flex:none;width:22px;height:38px;position:relative}#shard-count small{color:#94dff2}#shard-count.shard-arrived .shard-icon{animation:.16s ease-out shard-arrival}#shard-count.shard-arrived strong{animation:.18s ease-out shard-count-arrival}#shard-count.shard-arrived .shard-icon:after{content:"✦";color:#d8fcff;font-size:13px;animation:.18s ease-out both shard-sparkle;position:absolute;top:-3px;right:-4px}@keyframes shard-arrival{0%{filter:brightness(1.8)drop-shadow(0 0 7px #4ddfff);transform:scale(1.28)}to{filter:drop-shadow(0 0 4px #28cfff65);transform:scale(1)}}@keyframes shard-count-arrival{0%{color:#9cf4ff;transform:scale(1.1)}to{color:inherit;transform:scale(1)}}@keyframes shard-sparkle{0%{opacity:1;transform:scale(.6)}40%{opacity:1;transform:scale(1.1)}to{opacity:0;transform:scale(.6)}}@media (prefers-reduced-motion:reduce){#shard-count.shard-arrived .shard-icon,#shard-count.shard-arrived strong{filter:brightness(1.2);animation:none}}#team .hero.hurt{animation:.35s ease-out portrait-hurt}@keyframes portrait-hurt{0%,to{transform:translate(0)}20%,60%{filter:brightness(1.8);transform:translate(-3px)}40%,80%{transform:translate(3px)}}@media (prefers-reduced-motion:reduce){#team .hero.hurt{outline:2px solid #fff;animation:none}}#game-controls #hints{font-size:24px;font-weight:800}#game-controls #hints[aria-pressed=false]{opacity:.55}.brand img{object-fit:contain;width:auto;max-width:40vw;height:64px;display:block}@media (width<=760px){.brand img{height:48px}}@container (aspect-ratio>=1){body.mobile #team{gap:3px;width:clamp(160px,24cqw,210px)}body.mobile #team .hero{border-width:1px;border-radius:8px;padding:2px}body.mobile #team .hero canvas{width:clamp(27px,4.4cqw,42px);height:clamp(27px,4.4cqw,42px)}body.mobile #team .hero-health{font-size:clamp(10px,1.5cqw,14px);line-height:1}body.mobile #team .hero.active .hero-detail{display:none}body.mobile #team .hero.active{border-bottom-color:var(--hero)}body.mobile #shard-count{font-size:clamp(13px,2cqw,18px)}body.mobile #game-controls{gap:4px}body.mobile #game-controls button{opacity:.75;width:40px;height:40px;font-size:23px}body.mobile #touch-controls{--hit:clamp(68px,19cqh,80px);--stick-size:clamp(140px,39cqh,160px)}body.mobile #touch-stick{box-shadow:none;opacity:1;background:0 0;border:0}body.mobile #touch-stick.pressed{opacity:1}body.mobile #touch-stick:before{content:"";pointer-events:none;background:radial-gradient(circle,#21434d7e,#071c2697 72%);border:2px solid #83b6be7a;border-radius:50%;position:absolute;inset:12%;box-shadow:inset 0 0 20px #0008}body.mobile .stick-knob{width:32%;height:32%;top:34%;left:34%}body.mobile .stick-arrow{font-size:18px;line-height:18px}body.mobile .stick-arrow.up{top:15%;left:calc(50% - 6px)}body.mobile .stick-arrow.down{bottom:15%;left:calc(50% - 6px)}body.mobile .stick-arrow.left{top:calc(50% - 9px);left:15%}body.mobile .stick-arrow.right{top:calc(50% - 9px);right:15%}body.mobile #touch-actions{width:calc(var(--hit)*3);height:calc(var(--hit)*3);right:max(4px,var(--safe-right,0px));bottom:max(2px,var(--safe-bottom,0px))}body.mobile .touch-action{width:var(--hit);height:var(--hit);box-shadow:none;background:0 0;border:0;padding:0}body.mobile .touch-action:before{content:"";inset:var(--inset,7px);border:2px solid var(--glow);background:radial-gradient(circle at 40% 35%,color-mix(in srgb,var(--glow) 24%,#091622),#061320c9 76%);box-shadow:inset 0 0 16px color-mix(in srgb,var(--glow) 20%,transparent);pointer-events:none;border-radius:50%;position:absolute}body.mobile .touch-action.pressed{box-shadow:none;background:0 0}body.mobile .touch-action.pressed:before{background:color-mix(in srgb,var(--glow) 45%,#091622);box-shadow:0 0 15px var(--glow)}body.mobile .touch-action svg{width:50%;height:50%;top:25%;left:25%}body.mobile .touch-action.ability svg,body.mobile .touch-action.dash svg,body.mobile .touch-action.block svg{width:44%;height:44%;top:28%;left:28%}body.mobile .touch-action span{display:none}body.mobile .touch-action.ability{left:var(--hit);--inset:12px;top:0}body.mobile .touch-action.dash{left:0;top:var(--hit);--inset:12px;bottom:auto}body.mobile .touch-action.attack{left:calc(var(--hit)*2);right:auto;top:var(--hit);width:var(--hit);height:var(--hit);--inset:6px;bottom:auto}body.mobile .touch-action.jump{left:var(--hit);top:calc(var(--hit)*2);--inset:3px;bottom:auto}body.mobile .touch-action.block{left:calc(var(--hit)*2);--inset:17px;top:0}}body.mobile #touch-controls{opacity:1;transition:opacity .2s}body.mobile #touch-controls.idle{opacity:.8}.touch-action.switchStyle{--glow:#b8f4cf;width:48px;height:48px;padding:0;top:0;right:0}.touch-action.switchStyle:after{content:attr(data-destination);pointer-events:none;font-size:16px;position:absolute;bottom:3px}.touch-action.switchStyle svg{width:45%;height:45%;top:8%;left:27%}.touch-action.switchStyle span,.touch-action.switchStyle[hidden]{display:none}@container (aspect-ratio>=1){body.mobile .touch-action.switchStyle{width:var(--hit);height:var(--hit);--inset:17px;top:0;left:0;right:auto}body.mobile .touch-action.switchStyle svg{width:30%;height:30%;top:25%;left:35%}body.mobile .touch-action.switchStyle:after{font-size:14px;bottom:22%}}.hero.style-flash .hero-element{animation:.65s ease-out style-flash}@keyframes style-flash{0%{filter:brightness(2);transform:translateY(-3px)}to{filter:brightness();transform:translateY(0)}}@container (aspect-ratio>=1){body.mobile #team .hero.active .hero-detail{background:#071b25dd;border:0;border-radius:4px;width:18px;height:18px;padding:0;display:block;top:1px;left:1px;right:auto}body.mobile #team .hero.active .hero-detail strong{display:none}body.mobile #team .hero.active .hero-element{white-space:nowrap;width:18px;height:18px;font-size:12px;line-height:18px;overflow:hidden}}.touch-action span{display:none}.touch-action.dash{--glow:#52cfff}.touch-action.jump{--glow:#66e2ff}.touch-action svg{fill:none;stroke:#e8fff9;stroke-width:4px;height:64%;filter:drop-shadow(0 0 4px var(--glow));transition:transform .12s cubic-bezier(.2,1.5,.4,1),filter 80ms;top:18%}.touch-action.jump svg{fill:currentColor;stroke:currentColor;stroke-width:2px}.touch-action.dash svg{stroke:currentColor;stroke-width:4px}.touch-action.dash svg path:first-child{fill:currentColor;stroke-width:1px}.touch-action.ability svg{fill:currentColor;stroke:currentColor;stroke-width:2px}.touch-action.block svg path:first-child{fill:color-mix(in srgb,var(--glow) 50%,#11112b);stroke:#eedaff;stroke-width:3px}.touch-action.pressed svg{filter:brightness(1.6) drop-shadow(0 0 7px var(--glow));transform:scale(.91)}.touch-action.dash.pressed svg{transform:translate(3px)scale(.91)}.touch-action.jump.pressed svg{transform:translateY(-3px)scale(.91)}.touch-action.block.blocking svg{filter:brightness(1.7) drop-shadow(0 0 7px var(--glow))}.touch-action.unavailable:not(.pressed){filter:saturate(.55)brightness(.7)}.touch-action.emphasis:before{animation:1s ease-in-out infinite alternate magic-emphasis}@keyframes magic-emphasis{to{box-shadow:0 0 14px var(--glow),inset 0 0 20px var(--glow)}}#touch-stick.pressed .stick-knob{filter:brightness(1.3);box-shadow:0 0 18px #65ffcfaa}@container (aspect-ratio>=1){body.mobile .touch-action:before{border:3px solid var(--glow);background:radial-gradient(circle at 42% 38%,color-mix(in srgb,var(--glow) 20%,#09121b),#04101bea 75%);box-shadow:0 0 5px color-mix(in srgb,var(--glow) 40%,transparent),inset 0 0 12px color-mix(in srgb,var(--glow) 25%,transparent);transition:transform .12s cubic-bezier(.2,1.5,.4,1),box-shadow 80ms,background 80ms,border-color .2s}body.mobile .touch-action.pressed{transform:none}body.mobile .touch-action.pressed:before,body.mobile .touch-action.block.blocking:before{background:radial-gradient(circle,color-mix(in srgb,var(--glow) 42%,#0a1520),#04101bf2 75%);box-shadow:0 0 14px color-mix(in srgb,var(--glow) 75%,transparent),inset 0 0 16px var(--glow);transform:scale(.92)}body.mobile .touch-action.block.blocking:before{border-width:4px}body.mobile .touch-action.ability svg,body.mobile .touch-action.dash svg,body.mobile .touch-action.block svg{width:50%;height:50%;top:25%;left:25%}}.touch-action.attack svg{fill:#ffe5a0;stroke:#fff0c0;stroke-width:2.5px}.touch-action.ability svg .dragon-detail{fill:none;stroke:#073a25;stroke-width:2.5px}body.mobile .touch-action:not(.switchStyle):after{content:"";inset:calc(var(--inset,7px) + 5px);border:1px solid color-mix(in srgb,var(--glow) 48%,transparent);pointer-events:none;opacity:.7;border-bottom-color:#0000;border-left-color:#0000;border-radius:50%;transition:transform .12s ease-out,opacity 90ms;position:absolute}body.mobile .touch-action.pressed:after{opacity:1;transform:scale(1.22)rotate(22deg)}body.mobile .touch-action.ability:after{box-shadow:3px -2px 5px color-mix(in srgb,var(--glow) 45%,transparent)}@container (aspect-ratio>=1){body.mobile .touch-action.ability svg{width:57%;height:57%;top:21.5%;left:21.5%}body.mobile .touch-action.attack svg{width:58%;height:58%;top:21%;left:21%}}body.mobile .touch-action{isolation:isolate}.touch-feedback{inset:var(--inset,0px);border:2px solid var(--glow);background:radial-gradient(circle,transparent 38%,color-mix(in srgb,var(--glow) 35%,transparent) 62%,transparent 74%);box-shadow:0 0 16px color-mix(in srgb,var(--glow) 65%,transparent);opacity:0;pointer-events:none;z-index:-1;border-radius:50%;position:absolute}.touch-feedback:before,.touch-feedback:after{content:"";pointer-events:none;position:absolute}.attack .touch-feedback:before{background:linear-gradient(125deg,transparent 42%,#fff4cf 49%,var(--glow) 52%,transparent 59%);clip-path:polygon(0 0,100% 0,100% 55%,0 100%);inset:8%}.attack .touch-feedback:after{width:3px;height:3px;box-shadow:-10px -7px 0 var(--glow),8px 12px 0 var(--glow);background:#fff1c5;top:15%;left:85%}.dash .touch-feedback:before{width:30%;height:3px;box-shadow:-4px 8px 0 var(--glow),2px 16px 0 var(--glow);background:#cbf7ff;top:34%;left:-12%}.jump .touch-feedback:before{filter:blur(3px);background:#9af4ff;border-radius:50%;height:16%;bottom:4%;left:20%;right:20%}.ability .touch-feedback:before{border:3px solid #0000;border-top-color:var(--glow);border-right-color:var(--glow);border-radius:50%;inset:-5%;transform:rotate(-35deg)}.ability .touch-feedback:after{width:3px;height:3px;box-shadow:42px 8px 0 var(--glow),12px 40px 0 var(--glow);background:#effff6;border-radius:50%;top:12%;left:8%}body.mobile .touch-action.pressed{transform:none}body.mobile .touch-action.pressed:before{box-shadow:0 0 19px color-mix(in srgb,var(--glow) 85%,transparent),inset 0 0 20px color-mix(in srgb,var(--glow) 70%,transparent);transition-duration:35ms;transform:scale(.9)}body.mobile .touch-action.block.blocking:after{border-top:3px solid #f6e6ff;border-right:3px solid var(--glow);opacity:1;transform:scale(1.15)}body.mobile .touch-action.block.blocking:before{box-shadow:0 0 15px #b36bffaa,inset 0 0 18px #b36bff99}#touch-move-zone{pointer-events:auto;touch-action:none;width:48%;position:absolute;top:56px;bottom:0;left:0}body.mobile #touch-stick{pointer-events:none}body.mobile .touch-action.block,body.mobile .touch-action.switchStyle{display:none}body.mobile #team,body.mobile main.mobile-rotated #team{left:auto;right:max(12px,var(--safe-right,0px));top:max(8px,var(--safe-top,0px));flex-direction:row;gap:4px;width:clamp(184px,26cqw,224px)}body.mobile #team .hero{border-radius:9px;flex:1;width:auto;min-height:44px;padding:2px}body.mobile #team .hero.active{padding:2px}body.mobile #team .hero canvas{width:clamp(27px,8cqh,40px);height:clamp(27px,8cqh,40px)}body.mobile #team .hero-health{letter-spacing:0;font-size:10px;line-height:10px}body.mobile #shard-count{font-size:16px;top:50%;left:auto;right:calc(100% + 12px)}body.mobile #game-controls{right:auto;left:max(12px,var(--safe-left,0px));top:max(8px,var(--safe-top,0px))}body.mobile #touch-controls{--hit:clamp(60px,19cqh,84px)}body.mobile #touch-actions{width:calc(var(--hit)*2.7);height:calc(var(--hit)*2.55);right:max(12px,var(--safe-right,0px));bottom:max(12px,var(--safe-bottom,0px))}body.mobile .touch-action.jump{width:calc(var(--hit)*1.3);height:calc(var(--hit)*1.3);--inset:5px;top:auto;bottom:0;left:0}body.mobile .touch-action.attack{left:calc(var(--hit)*1.4);width:calc(var(--hit)*1.3);height:calc(var(--hit)*1.3);--inset:5px;top:auto;bottom:0}body.mobile .touch-action.dash{left:calc(var(--hit)*.45);top:calc(var(--hit)*.1);width:var(--hit);height:var(--hit);--inset:6px;bottom:auto}body.mobile .touch-action.ability{left:calc(var(--hit)*1.5);width:calc(var(--hit)*1.2);height:calc(var(--hit)*1.2);--inset:5px;top:0;bottom:auto}body.mobile .touch-action.jump svg{width:60%;height:60%;top:20%;left:20%}.jump .touch-feedback:after{border:2px solid var(--glow);height:16%;box-shadow:0 0 8px var(--glow);border-radius:50%;bottom:-8%;left:8%;right:8%}@container (aspect-ratio<=1){body.mobile #shard-count{top:64px;left:12px;right:auto;transform:none}}body.mobile #game-controls{left:calc(max(12px,var(--safe-left,0px)) + 7cqw)}body.mobile #touch-stick,body.mobile main.mobile-rotated #touch-stick{left:calc(var(--safe-left,0px) + 28px + 7cqw)}.settings-heading{flex:none;justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px;display:flex}.settings-heading h2{margin:0}#settings-panel #settings-dismiss{background:#18343e;border-radius:10px;flex:none;place-items:center;width:44px;height:44px;padding:0;line-height:1;display:grid;font-size:30px!important}#settings-dismiss:hover{background:#2c5059!important}.settings-body{overscroll-behavior:contain;scrollbar-width:thin;touch-action:pan-y;min-height:0;overflow:auto}.settings-actions{background:#081b27;border-top:1px solid #45615b;flex:none;align-items:center;padding-top:8px}.mobile #settings-panel .settings-actions button{min-height:44px}.endless-arena #shard-count{display:none}#arena-score{z-index:55;pointer-events:none;text-shadow:0 2px 5px #00131e,0 0 12px #00131e;gap:20px;display:flex;position:absolute;top:14px;left:50%;transform:translate(-50%)}#arena-score span{flex-direction:column;align-items:center;min-width:48px;display:flex}#arena-score small{letter-spacing:1.5px;color:#ffdf54;font-size:10px;font-weight:900}#arena-score strong{color:#ffdf54;font-size:34px;font-weight:900;line-height:1.1}#arena-score b{color:#c1d9d3;font-size:20px;line-height:1.6}#arena-score span+span small{color:#b4cfc8}body.mobile #arena-score{top:max(8px,var(--safe-top,0px));gap:12px}body.mobile #arena-score strong{font-size:28px}#arena-wave{z-index:54;color:#e5e8c7;text-align:center;pointer-events:none;text-shadow:0 1px 3px #00131e;background:#09252ee6;border:1px solid #839a7d66;border-radius:14px;width:max-content;max-width:340px;padding:6px 12px;font-size:13px;font-weight:800;line-height:1.25;position:absolute;top:78px;left:50%;transform:translate(-50%)}#arena-wave[data-phase=serpents]{border-color:#54ffc188}#arena-wave[data-phase=air]{border-color:#9bcaff88}#arena-wave[data-phase=flames]{color:#ffe1a0;border-color:#ffa74d}#arena-wave[data-phase=escort]{border-color:#ffce8a88}#arena-wave[data-phase=crystal],#arena-wave[data-phase=rest]{color:#c4ffab;border-color:#81df9c88}body.mobile #arena-wave{top:max(58px,calc(var(--safe-top,0px) + 54px));max-width:34%;padding:5px 9px;font-size:11px}#arena-crystal-timer{z-index:54;color:#c4ffab;white-space:nowrap;pointer-events:none;text-shadow:0 1px 3px #00131e;font-variant-numeric:tabular-nums;background:#09252ee6;border:1px solid #81df9c88;border-radius:12px;padding:4px 10px;font-size:13px;font-weight:800;line-height:1.25;position:absolute;top:112px;left:50%;transform:translate(-50%)}body.mobile #arena-crystal-timer{top:max(108px,calc(var(--safe-top,0px) + 104px));padding:3px 8px;font-size:11px}@container (aspect-ratio<=1){body.mobile #arena-score{top:76px;left:auto;right:18px;transform:none}}.touch-button.fire-charging,[data-touch=ability].fire-charging{box-shadow:0 0 calc(8px + var(--fire-charge)*18px) #ff952e99,inset 0 0 calc(6px + var(--fire-charge)*12px) #ffb42a88;filter:brightness(calc(1 + var(--fire-charge)*.45));border-color:#ffce66}[data-touch=ability].fire-ready{outline-offset:3px;outline:2px solid #fff1ad}[data-touch=ability].wind-charge{box-shadow:0 0 calc(8px + var(--fire-charge)*18px) #65d8ff99,inset 0 0 12px #b6f2ff66;border-color:#a8eeff}[data-touch=ability].wind-charge.fire-ready{outline-color:#d3f8ff}#settings-panel .setting-row select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23eaf4ed' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;background-size:12px 8px;padding-right:28px}#boss-shield-hint{z-index:54;border:2px solid var(--shield-color);color:#effaff;text-align:center;pointer-events:none;background:#071b25f2;border-radius:10px;align-items:center;gap:12px;width:max-content;max-width:90%;padding:8px 14px;font-size:clamp(12px,1.6cqw,19px);font-weight:700;display:flex;position:absolute;top:19%;left:50%;transform:translate(-50%)}#boss-shield-hint[hidden]{display:none}#team .hero.shield-needed{outline-offset:3px;box-shadow:0 0 16px var(--hero);outline:3px solid #edffdb;animation:1s ease-in-out infinite alternate shield-coach}@keyframes shield-coach{to{outline-color:var(--hero);box-shadow:0 0 26px var(--hero)}}@media (prefers-reduced-motion:reduce){#team .hero.shield-needed{animation:none}}#boss-shield-hint .shield-hero,#boss-shield-hint .shield-magic{flex-direction:column;align-items:center;gap:3px;min-width:48px;display:flex}#boss-shield-hint canvas{border:1px solid var(--shield-color);background:#12303b;border-radius:9px;width:54px;height:54px}#boss-shield-hint svg{width:48px;height:48px;fill:var(--shield-color);stroke:var(--shield-color);stroke-width:1.5px;stroke-linejoin:round}#boss-shield-hint .dragon-detail{fill:none;stroke:#071b25;stroke-width:2px}#boss-shield-hint .shield-arrow{color:var(--shield-color);font-size:27px}#boss-shield-hint .shield-magic-keys{gap:5px;display:flex}#boss-shield-hint kbd{color:#effaff;box-sizing:border-box;background:#12303b;border:1px solid #a5c6ca;border-radius:4px;min-width:22px;margin:0;padding:0 4px;font:700 12px/18px system-ui}#boss-shield-hint kbd[hidden]{display:none}body.mobile #boss-shield-hint{gap:9px;padding:5px 10px}body.mobile #boss-shield-hint canvas{width:40px;height:40px}body.mobile #boss-shield-hint svg{width:38px;height:38px}#boss-shield-hint[data-magic=wind] svg{fill:none;stroke-width:4px;stroke-linecap:round}#boss-shield-hint[data-magic=earth] svg path+path{fill:none;stroke:#584220;stroke-width:2.5px}#arena-tools[hidden]{display:none}#settings-panel #arena-summon-dragon{background:#21453a;border-color:#87ae76;max-width:60%;min-height:44px}#settings-panel #arena-summon-dragon:disabled{opacity:.45;cursor:default}.start-choice-picker{color:#dcebc7;grid-template-columns:80px minmax(0,1fr);align-items:center;gap:10px;margin-top:14px;font-size:13px;display:grid}.start-choice-picker[hidden]{display:none}.start-choices{gap:7px;display:grid}.level-choices{grid-template-columns:repeat(3,minmax(0,1fr))}.difficulty-choices{grid-template-columns:repeat(2,minmax(0,1fr))}.start-choices button{color:#eaf4ed;min-height:48px;font:inherit;background:#102b2ee8;border:1px solid #638e7e;border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:9px 10px;line-height:1.2;transition:background .15s,border-color .15s;display:flex}.start-choices button:hover{background:#21443e;border-color:#c2db8b}.start-choices button[aria-pressed=true]{color:#1c3428;background:#c8df8c;border-color:#c8df8c;font-weight:800;box-shadow:inset 0 0 0 1px #c8df8c}.choice-number{opacity:.85;border:1px solid;border-radius:5px;flex-shrink:0;place-items:center;width:22px;height:22px;font-size:12px;display:grid}.choice-title{text-align:left}.mobile .start-choice-picker{grid-template-columns:72px minmax(0,1fr);gap:8px;margin-top:8px;font-size:12px}.mobile .start-choices{gap:5px}.mobile .start-choices button{gap:5px;min-height:44px;padding:6px}.mobile .choice-number{width:18px;height:20px;font-size:11px}@font-face{font-family:Neucha;src:url(/assets/Neucha-9fePpGJi.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}main[data-cinematic] #team,main[data-cinematic] #game-controls,main[data-cinematic] #touch-controls,main[data-cinematic] #mobile-orientation-hint,main[data-cinematic] #arena-score,main[data-cinematic] #arena-wave{visibility:hidden!important}body main[data-cinematic=comic],body.mobile main[data-cinematic=comic]{z-index:1000;aspect-ratio:auto;border:0;border-radius:0;width:100vw;max-width:none;height:100dvh;position:fixed;inset:0;transform:none!important}main[data-cinematic=comic] #game{display:block;overflow:hidden}main[data-cinematic=comic] #game canvas{width:100%!important;height:100%!important;margin:0!important}#comic-controls{z-index:95;pointer-events:none;color:#f2f1df;position:absolute;inset:0}#comic-skip{top:max(14px,var(--safe-top,0px));right:max(18px,var(--safe-right,0px));pointer-events:auto;min-width:60px;min-height:44px;color:inherit;opacity:.65;touch-action:manipulation;background:#07192466;border:1px solid #ffffff38;border-radius:8px;padding:6px 15px;font-size:13px;transition:opacity .2s,background .2s;position:absolute}#comic-skip:hover,#comic-skip:focus-visible{opacity:1;background:#071924b3}#comic-skip:focus-visible{outline-offset:3px;outline:2px solid #f3d997}#comic-controls[data-state=reveal]{visibility:hidden}body.mobile main[data-cinematic=comic][data-comic-portrait=true] #game,body.mobile main[data-cinematic=comic][data-comic-portrait=true] #comic-controls{width:var(--comic-width);height:var(--comic-height);transform-origin:50%;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)rotate(90deg)}#flight-hud{left:50%;top:max(18px,var(--safe-top,0px));color:#dff7dc;white-space:nowrap;pointer-events:none;background:#082333ce;border:1px solid #80b8a877;border-radius:20px;padding:7px 14px;font-size:14px;position:absolute;transform:translate(-50%)}.dragon-flight .touch-action.jump,.dragon-flight .touch-action.attack,.dragon-flight .touch-action.block,.dragon-flight .touch-action.switchStyle{display:none!important}body.mobile .dragon-flight #flight-hud{left:max(14px,var(--safe-left,0px));font-size:12px;top:68px;transform:none}body.mobile .dragon-flight .touch-action.ability{top:auto;bottom:0}.level-choices:has(button:nth-child(4)){grid-template-columns:repeat(2,minmax(0,1fr))}body.mobile .flight-landing #touch-controls{visibility:hidden}#flight-dev-speed{color:#ffdf86;white-space:nowrap;pointer-events:none;background:#071a24ed;border:1px solid #d7bd7088;border-radius:8px;max-width:calc(100% - 32px);padding:6px 10px;font-size:12px;position:absolute;bottom:60px;left:50%;transform:translate(-50%)}body.mobile #flight-dev-speed{bottom:max(12px,var(--safe-bottom,0px));font-size:11px}body:has(main:not([data-menu-view=game])){background:#061b25;overflow:hidden}body:has(main:not([data-menu-view=game])) #app{max-width:none;padding:0}body:has(main:not([data-menu-view=game])) header{display:none}body:has(main:not([data-menu-view=game])) .dashboard{display:none}body:has(main:not([data-menu-view=game])) #app>.note{display:none}main:not([data-menu-view=game]){aspect-ratio:auto;width:100%;height:100dvh;box-shadow:none;border:0;border-radius:0;container-type:size}main:not([data-menu-view=game]) #team,main:not([data-menu-view=game]) #hints,main:not([data-menu-view=game]) #settings,main:not([data-menu-view=game]) #arena-score,main:not([data-menu-view=game]) #arena-wave,main:not([data-menu-view=game]) #arena-crystal-timer,main:not([data-menu-view=game]) #mobile-orientation-hint{display:none!important}#home-screen{z-index:70;isolation:isolate;background:#061b25;position:absolute;inset:0;overflow:hidden}#home-screen:before{content:"";z-index:-2;filter:blur(30px)brightness(.45);pointer-events:none;background:url(/assets/start-screen-RclJykp8.jpg) 65%/cover no-repeat;display:none;position:absolute;inset:-40px}#home-screen:after{content:"";z-index:-1;pointer-events:none;background:linear-gradient(90deg,#03141d99,#0000 57%),linear-gradient(#0000 80%,#03141dba),url(/assets/start-screen-RclJykp8.jpg) 65%/cover no-repeat;position:absolute;inset:0}.home-content{width:34%;max-width:480px;position:absolute;top:50%;left:7%;transform:translateY(-52%)}.home-eyebrow{color:#c8dacc;letter-spacing:.12em;margin:0 0 24px;font-size:clamp(11px,1.05cqw,16px);font-weight:500}#home-title{color:#fff4d9;text-shadow:0 5px 24px #00141b88;letter-spacing:-.07em;margin:0;font-style:italic;font-weight:950;line-height:.86}#home-title span:first-child{font-size:clamp(60px,8.8cqw,150px);display:block}#home-title span:last-child{letter-spacing:.13em;color:#eed49b;margin-top:16px;font-size:clamp(25px,3.3cqw,56px);display:block}.home-rule{gap:7px;margin:28px 0 36px;display:flex}.home-rule i{background:#8dcf79;width:35px;height:3px;transform:skew(-25deg)}.home-rule i:nth-child(2){background:#ee8c58}.home-rule i:nth-child(3){background:#c6ae71}.home-rule i:nth-child(4){background:#65bcea}.home-actions{gap:12px;max-width:310px;display:grid}.home-button{color:#e6eadd;background:#071e2bd9;border:1px solid #b9cdb45c;border-radius:4px;align-items:center;gap:15px;width:100%;min-height:64px;padding:16px 22px;font-size:clamp(16px,1.4cqw,22px);font-weight:650;transition:background .18s,transform .18s,border-color .18s;display:flex;box-shadow:0 8px 22px #00101830}.home-button svg{fill:none;stroke:currentColor;stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round;opacity:.8;flex:none;width:22px;height:22px}.home-button b{margin-left:auto;font-size:24px;font-weight:400}.home-button:hover{background:#244637;border-color:#e9d396;transform:translate(4px)}.home-primary{color:#182e24;background:linear-gradient(110deg,#f6e5b4,#d5c183);border-color:#fff0bf;box-shadow:0 3px #7a724e,0 8px 30px #0b1c2933}.home-primary:hover{background:#fff0c5;border-color:#fff8de}.home-button:disabled{opacity:.5;cursor:wait}.home-footer{left:7%;right:4%;bottom:max(22px,var(--safe-bottom,0px));color:#d4dfd18c;letter-spacing:.18em;align-items:center;gap:16px;font-size:10px;font-weight:600;display:flex;position:absolute}.home-footer span:nth-child(2){color:#c8b47a;font-size:14px}main:not([data-menu-view=game]) #game-controls{top:max(20px,var(--safe-top,0px));right:max(24px,var(--safe-right,0px));left:auto}main:not([data-menu-view=game]) #fullscreen{background:#061b2577;border-color:#e7dcb44d;width:44px;height:44px;font-size:25px}.story-heading{display:none}.story-launch{display:contents}main[data-menu-view=story] #overlay{z-index:70;background:linear-gradient(120deg,#03151df5,#061b25e8 65%,#152d30de),url(/assets/start-screen-RclJykp8.jpg) 50%/cover no-repeat;align-items:center;padding:4% 7%;overflow:auto}main[data-menu-view=story] .intro{width:100%;max-width:1240px;margin:auto}.story-back{color:#d9d9b9;background:0 0;border:0;align-items:center;gap:10px;min-height:44px;margin:0 0 22px;padding:0 2px;font-size:13px;display:flex}.story-back span:first-child{font-size:22px}main[data-menu-view=story] .story-heading{margin-bottom:28px;display:block}#story-kicker{color:#d5c18c;text-transform:uppercase;letter-spacing:.22em;margin:0 0 9px;font-size:11px;font-weight:750}#story-title{color:#fff1d5;letter-spacing:-.04em;margin:0;font-size:clamp(30px,4cqw,60px);font-weight:800;line-height:1.05}main[data-menu-view=story] .intro>.eyebrow,main[data-menu-view=story] .intro>h1,main[data-menu-view=story] .intro>p{display:none}main[data-menu-view=story] #start-level-picker{margin:0;display:block}main[data-menu-view=story] #start-level-label{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}main[data-menu-view=story] .level-choices{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}main[data-menu-view=story] #start-level button{isolation:isolate;color:#fff1d5;text-align:left;background:#0b2531;border:1px solid #80958d55;border-radius:10px;height:clamp(250px,38cqh,400px);padding:24px;transition:border-color .18s,transform .18s;display:block;position:relative;overflow:hidden;box-shadow:0 16px 40px #0004}main[data-menu-view=story] #start-level button:before{content:"";z-index:-2;background-position:50%;background-size:cover;transition:transform .3s;position:absolute;inset:0}main[data-menu-view=story] #start-level button:after{content:"";z-index:-1;background:linear-gradient(#0000 35%,#03131e88 75%,#03131efc 100%),linear-gradient(#03131e77,#0000 35%);position:absolute;inset:0}main[data-menu-view=story] [data-level="0"]:before{background-image:url(/assets/temple-far-C8tGoDyX.png);background-position:72%!important}main[data-menu-view=story] [data-level="1"]:before{background-image:url(/assets/guardian-awakening-Vm59oH6d.png)}main[data-menu-view=story] [data-level="3"]:before{background-image:url(/assets/sky-islands-card-v1-DYIKu-e0.jpg)}main[data-menu-view=story] #start-level button:hover{border-color:#ead9a5;transform:translateY(-3px)}main[data-menu-view=story] #start-level button:hover:before{transform:scale(1.035)}main[data-menu-view=story] #start-level button[aria-pressed=true]{border:2px solid #e9d59c;padding:23px;box-shadow:0 0 0 3px #dfc88716,0 18px 40px #0004}main[data-menu-view=story] .choice-number{letter-spacing:-.05em;color:#ffedbe;opacity:1;border:0;width:auto;height:auto;font-size:28px;font-weight:300;line-height:1;display:inline;position:absolute;top:22px;left:24px}main[data-menu-view=story] .choice-tag{text-transform:uppercase;letter-spacing:.15em;color:#ebebd9;font-size:10px;font-weight:600;display:block;position:absolute;top:34px;left:62px}main[data-menu-view=story] .choice-copy{gap:8px;display:grid;position:absolute;bottom:26px;left:24px;right:24px}main[data-menu-view=story] .choice-title{letter-spacing:-.03em;font-size:clamp(19px,2cqw,29px);font-weight:750;line-height:1.1}main[data-menu-view=story] .choice-caption{color:#b2c5c2;font-size:12px;font-weight:450}main[data-menu-view=story] .choice-mark{color:#19362b;opacity:0;background:#eedba6;border-radius:50%;place-items:center;width:26px;height:26px;display:grid;position:absolute;top:22px;right:22px}main[data-menu-view=story] [aria-pressed=true] .choice-mark{opacity:1}main[data-menu-view=story] .story-launch{border-top:1px solid #b9cdb42b;grid-template-columns:minmax(240px,1fr) auto;align-items:end;gap:20px;margin-top:28px;padding-top:24px;display:grid}main[data-menu-view=story] #start-difficulty-picker{grid-template-columns:auto minmax(170px,300px);justify-content:start;gap:20px;margin:0;font-size:13px;display:grid}main[data-menu-view=story] #start-difficulty button{color:#cbdbd4;background:#0b2531;border-color:#7e96876b;border-radius:5px;min-height:48px;padding:9px 18px}main[data-menu-view=story] #start-difficulty button[aria-pressed=true]{color:#193329;box-shadow:none;background:#e5d199;border-color:#e5d199}main[data-menu-view=story] #start{color:#193329;background:linear-gradient(110deg,#f6e5b4,#d5c183);border:1px solid #f8e7b8;border-radius:5px;min-height:54px;margin:0;padding:15px 27px;font-size:16px;font-weight:800;box-shadow:0 3px #7a724e}main[data-menu-view=story] #saved{display:none}main[data-menu-view=story] #gamepad-menu{grid-column:1/-1;margin:0}main[data-menu-view=story] #gamepad-menu:empty{display:none}@container (aspect-ratio<=8/5){#home-screen:before{display:block}#home-screen:after{background-position:50%;background-size:100% 100%;width:135.039cqh;height:76%;inset:auto 0 0 auto;-webkit-mask-image:linear-gradient(90deg,#0000,#000 12%),linear-gradient(#0000,#000 16%);mask-image:linear-gradient(90deg,#0000,#000 12%),linear-gradient(#0000,#000 16%);-webkit-mask-composite:source-in;mask-composite:intersect}.home-content{width:50%;top:7%;left:7%;transform:none}.home-eyebrow{margin-bottom:18px}#home-title span:first-child{font-size:12cqw}#home-title span:last-child{margin-top:12px;font-size:4.5cqw}.home-rule{margin:20px 0}.home-actions{max-width:280px}}@container (height<=540px){.home-content{width:37%;top:48%;left:7%;transform:translateY(-50%)}.home-eyebrow{margin-bottom:16px;font-size:11px}#home-title span:first-child{font-size:16cqh}#home-title span:last-child{margin-top:9px;font-size:6.2cqh}.home-rule{margin:18px 0 22px}.home-actions{gap:10px;max-width:260px}.home-button{min-height:48px;padding:10px 16px;font-size:16px}.home-footer{gap:10px;font-size:8px;bottom:12px}main[data-menu-view=story] #overlay{align-items:flex-start;padding:16px 6%}main[data-menu-view=story] .story-back{min-height:32px;margin-bottom:7px;font-size:11px}main[data-menu-view=story] .story-heading{margin-bottom:14px}main[data-menu-view=story] #story-kicker{display:none}main[data-menu-view=story] #story-title{font-size:26px}main[data-menu-view=story] .level-choices{gap:10px}main[data-menu-view=story] #start-level button{border-radius:7px;height:clamp(124px,39cqh,185px);padding:13px}main[data-menu-view=story] #start-level button[aria-pressed=true]{padding:12px}main[data-menu-view=story] .choice-number{font-size:19px;top:13px;left:13px}main[data-menu-view=story] .choice-tag{letter-spacing:.08em;font-size:8px;top:19px;left:39px}main[data-menu-view=story] .choice-copy{gap:5px;bottom:13px;left:13px;right:12px}main[data-menu-view=story] .choice-title{font-size:clamp(14px,2.2cqw,21px)}main[data-menu-view=story] .choice-caption{display:none}main[data-menu-view=story] .choice-mark{width:18px;height:18px;font-size:11px;top:10px;right:10px}main[data-menu-view=story] .story-launch{gap:12px;margin-top:14px;padding-top:12px}main[data-menu-view=story] #start-difficulty-picker{grid-template-columns:auto minmax(140px,230px);gap:12px;font-size:11px}main[data-menu-view=story] #start-difficulty button{min-height:44px;padding:8px 13px}main[data-menu-view=story] #start{min-height:44px;padding:10px 18px;font-size:13px}main[data-menu-view=story] #gamepad-menu{display:none}}@media (prefers-reduced-motion:reduce){.home-button,main[data-menu-view=story] #start-level button,main[data-menu-view=story] #start-level button:before{transition:none}}body.mobile main[data-menu-view=story] #overlay .intro{width:100%;max-width:1240px}main:not([data-menu-view=game]) #fullscreen-status{z-index:85}#welcome-screen{z-index:80;isolation:isolate;background:#061b25;place-items:center;display:grid;position:absolute;inset:0;overflow:hidden}#welcome-screen:before{content:"";z-index:-1;filter:blur(32px)brightness(.5);pointer-events:none;background:url(/assets/start-screen-RclJykp8.jpg) 65%/cover no-repeat;position:absolute;inset:-70px;transform:scale(1.06)}#welcome-screen:after{content:"";z-index:-1;pointer-events:none;background:radial-gradient(#0000,#03131e88);position:absolute;inset:0}#welcome-play{color:#fae8b7;cursor:pointer;background:0 0;border:0;border-radius:24px;justify-items:center;gap:20px;padding:24px 40px;display:grid}.welcome-play-icon{filter:drop-shadow(0 12px 28px #0008);width:220px;height:220px;transition:transform .2s,filter .2s;display:block}.welcome-play-icon img{object-fit:contain;width:100%;height:100%;display:block}.welcome-play-label{letter-spacing:.2em;text-transform:uppercase;text-shadow:0 2px 12px #00131e;font-size:17px;font-weight:750}#welcome-play:hover .welcome-play-icon{filter:drop-shadow(0 0 18px #e9b45f55)drop-shadow(0 12px 28px #0008);transform:scale(1.06)}#welcome-play:active .welcome-play-icon{transform:scale(.97)}main[data-menu-view=welcome] #game-controls{visibility:hidden}@container (height<=540px){.welcome-play-icon{width:150px;height:150px}#welcome-play{gap:16px}.welcome-play-label{font-size:14px}}@media (prefers-reduced-motion:reduce){.welcome-play-icon{transition:none}}@container (height<=360px){.home-content{top:46%}.home-eyebrow{margin-bottom:8px;font-size:9px}.home-rule{margin:10px 0 12px}.home-actions{gap:6px}.home-button{min-height:44px;padding:8px 12px;font-size:14px}}
