@font-face{font-family:Barlow;src:url(../fonts/Barlow-Regular.ttf)format("truetype");font-display:swap;font-weight:400}@font-face{font-family:Barlow;src:url(../fonts/Barlow-SemiBold.ttf)format("truetype");font-display:swap;font-weight:600}@font-face{font-family:BarlowCondensed;src:url(../fonts/BarlowCondensed-Bold.ttf)format("truetype");font-display:swap;font-weight:700}:root{color:#f3ead5;--gold:#e7c488;--muted:#c2c9c3;--ui-scale:1;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-synthesis:none;background:#13252b;font-family:Barlow,sans-serif}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input,select{font:inherit}button{color:inherit;cursor:pointer;background:#20343bcc;border:1px solid #73817b;border-radius:3px;min-height:46px;padding:12px 20px;transition:background .16s,border-color .16s}button:disabled{opacity:.4;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible{outline-offset:4px;outline:3px solid #f1d7a5}::selection{color:#14252d;background:#e7c488}input,select{color:#f4ecd8;caret-color:#e7c488;background:#182f36;border:1px solid #84978d;border-radius:3px;min-height:44px;padding:12px}svg{vertical-align:middle;flex-shrink:0;width:23px;height:23px}h1,h2,p{margin-top:0}p{color:#cbd1cb;line-height:1.55}h1,h2{font-family:BarlowCondensed,Barlow,sans-serif;font-weight:700}h1{letter-spacing:-.015em;font-size:clamp(2.4rem,4vw,4rem);line-height:1.04}h2{margin-bottom:12px;font-size:1.8rem}#app,#world,#ui{width:100%;height:100%;position:fixed;inset:0}#world{touch-action:none;display:block}#ui{pointer-events:none}#ui button,#ui input,#ui select,#ui article,#stick{pointer-events:auto}.boot{padding:10vw;font-size:24px}.title-screen{background:linear-gradient(90deg,#0a1c26ed 0%,#102a32b3 34%,#102a3200 75%);flex-direction:column;height:100%;padding:30px 4.5vw;display:flex}.brand{letter-spacing:.22em;align-items:center;gap:10px;font-size:15px;font-weight:600;display:flex}.brand-mark{color:var(--gold)}.brand .quiet{letter-spacing:0;margin-left:auto;font-size:14px}.quiet,.menu-links button,.back{background:0 0;border:0;padding:10px}.title-copy h1{text-wrap:balance;max-width:600px;margin-bottom:24px;font-size:clamp(3rem,5.8vw,6rem)}.title-copy em{color:#e8c58c;font-style:normal}.title-copy p{max-width:400px;font-size:18px}.hero-picker{width:min(540px,49vw);margin-top:auto}.hero-detail{margin-bottom:20px}.hero-detail h2{margin:6px 0;font-size:30px}.hero-detail p{margin:0;font-size:14px}.hero-role{color:var(--gold);font-size:13px}.hero-tabs{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.hero-tab{text-align:left;background:#142a3299;border-color:#6a807359;padding:12px 14px;position:relative}.hero-tab span{color:#a9b6b2;font-size:11px;display:block}.hero-tab strong{margin:6px 0;font-size:17px;display:block}.hero-tab small{color:#b9c7c4;font-size:12px}.hero-tab.selected{border-color:var(--hero-color);color:#fff3d9;background:#39514d}.begin-row{gap:10px;margin-top:20px;display:flex}.begin-row .primary{flex:1}.primary{color:#172e33;background:#e7c488;border-color:#e7c488;justify-content:center;align-items:center;gap:22px;min-height:52px;font-weight:600;display:inline-flex}.primary:hover{background:#f5d9a7;border-color:#f5d9a7}.menu-links{gap:12px;margin-top:8px;display:flex}.menu-links button{color:#cbd0c5;font-size:13px}.title-footer{color:#c1c8c1;justify-content:space-between;gap:10px;margin-top:26px;font-size:12px;display:flex}.panel-screen{background:#0b2029b8;justify-content:center;align-items:center;height:100%;padding:24px;display:flex}.panel{scrollbar-color:#a89977 #152b32;background:#142b32;border-top:2px solid #d8b77f;width:min(680px,100%);max-height:calc(100dvh - 48px);padding:30px 38px;overflow:auto;box-shadow:0 22px 60px #0006}.panel>button:not(.back){margin:8px 8px 8px 0}.back{color:#d6bf92;margin-bottom:18px;margin-left:-10px;display:block}.panel label{justify-content:space-between;align-items:center;gap:16px;margin:16px 0;display:flex}.panel input:not([type=checkbox]):not([type=range]){width:100%;min-width:0}.panel p{max-width:65ch;font-size:16px}.divider{border-top:1px solid #5a6c646e;margin:26px 0}.roster{padding:0;list-style:none}.roster li{border-bottom:1px solid #53655f;justify-content:space-between;gap:20px;padding:14px 0;display:flex}.roster span{color:#b0ccb6}.chapter-list{gap:6px;display:grid}.chapter-list button{text-align:left;align-items:center;gap:15px;display:flex}.chapter-list button span{color:#a8baad}.chapter-list button small{margin-left:auto}.settings label{border-bottom:1px solid #4a625d;padding-bottom:12px}.settings input[type=checkbox]{accent-color:#e7c488;width:22px;height:22px}.settings input[type=range]{accent-color:#e7c488;max-width:210px}.file-label{flex-direction:column;align-items:flex-start!important}.instructions p{margin-bottom:20px}.game-ui{height:100%;font-size:calc(14px * var(--ui-scale));background:linear-gradient(#10252a99,#0000 22% 75%,#10252a77)}.hud-top{top:max(20px,env(safe-area-inset-top));justify-content:space-between;align-items:flex-start;gap:20px;display:flex;position:absolute;left:24px;right:24px}.players{flex-wrap:wrap;gap:20px;display:flex}.player-hud{text-shadow:0 2px 4px #102125;width:160px}.player-label{align-items:center;gap:8px;display:flex}.player-label b{background:var(--hero-color);color:#182c30;border-radius:50%;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;display:flex}.player-label strong{font-size:16px}.player-label span{color:#e0d9c6;margin-left:auto;font-size:12px}.health i{background:var(--hero-color);height:100%;transition:width .15s;display:block}.energy{background:#16302d;height:3px;margin:4px 0}.energy i{background:#bcd9dd;height:100%;display:block}.player-hud small{color:#d4d8ce;font-size:10px}.icon-button{background:#183039d9;min-width:44px;padding:10px}.stage-heading{text-shadow:0 2px 5px #11252b;max-width:300px;position:absolute;top:115px;left:24px}.stage-heading span{color:#e4c184;font-size:12px;display:block}.stage-heading strong{margin:3px 0;font-family:BarlowCondensed;font-size:27px;display:block}.stage-heading p{color:#dde2d8;font-size:12px}.inventory{white-space:nowrap;color:#eddbb3;background:#102930c7;border-radius:3px;gap:20px;padding:12px 18px;font-size:13px;display:flex;position:absolute;bottom:26px;left:50%;transform:translate(-50%)}.control-hint{white-space:nowrap;color:#e2e5d6;text-shadow:0 2px 4px #132e31;font-size:11px;position:absolute;bottom:76px;left:50%;transform:translate(-50%)}#minimap{background:#102b30b8;border:1px solid #83928355;border-radius:50%;width:140px;height:140px;position:absolute;top:86px;right:24px}.touch-controls{pointer-events:none;position:absolute;inset:0}#stick{touch-action:none;background:#1c394c55;border:1px solid #b4c4ba88;border-radius:50%;justify-content:center;align-items:center;width:112px;height:112px;display:flex;position:absolute;bottom:30px;left:30px}#stick i{background:#dce7db55;border:1px solid #dae5d4aa;border-radius:50%;width:45px;height:45px;display:block}.action-controls{grid-template-columns:repeat(3,59px);align-items:center;gap:8px;display:grid;position:absolute;bottom:25px;right:28px}.action-controls button{touch-action:none;background:#17343de6;border-color:#a0ac9a88;border-radius:10px;min-height:55px;padding:7px 4px}.action-controls button span{padding-top:4px;font-size:10px;display:block}.action-controls .small-action{grid-row:1;min-height:30px;font-size:10px}.action-controls .attack-action{color:#213338;background:#e5c38ce8;grid-area:2/3/4;min-height:100px}.action-controls button[data-action=magic],.action-controls button[data-action=turbo]{grid-row:2}.action-controls button[data-action=interact]{grid-area:3/1/auto/3;min-height:36px}.action-controls button[data-action=interact] span{padding-left:5px;display:inline}#notifications{pointer-events:none;text-align:center;color:#f5dfb6;opacity:0;z-index:10;background:#112a33eb;border:1px solid #e6c48a77;max-width:min(520px,85vw);padding:14px 24px;font-size:15px;transition:opacity .2s,transform .2s;position:fixed;top:42%;left:50%;transform:translate(-50%,-50%)translateY(8px)}#notifications.visible{opacity:1;transform:translate(-50%,-50%)}#fallen{flex-direction:column;gap:12px;display:flex;position:absolute;inset:40% 20% auto}.continue{color:#17323b;background:#e7c488;font-weight:600}.shop{grid-template-columns:1fr 1fr;gap:10px;margin:18px 0;display:grid}.shop button{text-align:left}.shop strong,.shop span,.shop b{display:block}.shop span{color:#c6d4ca;margin:5px 0;font-size:12px}.shop b{color:#edce98;font-size:13px}.reward-summary{color:#dcc697;margin:22px 0;font-size:20px}@media (height<=800px) and (width>=701px){.title-screen{padding-top:20px;padding-bottom:18px}.title-copy{margin-top:28px}.title-copy h1{margin-bottom:16px;font-size:4rem}.title-copy p{font-size:16px}.hero-detail{margin-bottom:12px}.title-footer{margin-top:12px}.hero-picker{width:500px}.hero-tab{padding:8px 12px}.hero-detail h2{font-size:26px}.begin-row{margin-top:14px}}@media (width<=700px){.title-screen{background:linear-gradient(#0b2029bd,#102a3222 33%,#0c232bd9 54%,#102a32 100%);padding:20px}.brand{letter-spacing:.16em;font-size:12px}.brand .quiet{padding:8px;font-size:12px}.title-copy{margin-top:28px}.title-copy h1{margin-bottom:12px;font-size:3.3rem}.title-copy p{font-size:14px}.hero-picker{width:100%;margin-top:auto}.hero-detail h2{font-size:27px}.hero-detail p{font-size:12px}.hero-tab{padding:9px}.hero-tab strong{font-size:15px}.hero-tab small{font-size:10px}.begin-row{margin-top:15px}.begin-row button{padding:10px 14px}.menu-links{justify-content:space-between;gap:0}.menu-links button{padding:9px;font-size:11px}.title-footer{margin-top:12px;font-size:10px}.title-footer span:last-child{display:none}.panel-screen{padding:14px}.panel{max-height:calc(100dvh - 28px);padding:22px}.panel h1{font-size:2.6rem}.panel p{font-size:14px}.hud-top{gap:8px;top:14px;left:14px;right:14px}.player-hud{width:125px}.players{gap:8px;max-width:calc(100% - 30px)}.player-label strong{font-size:13px}.player-label span{font-size:10px}.stage-heading{max-width:230px;top:108px;left:14px}.stage-heading strong{font-size:23px}#minimap{width:82px;height:82px;top:115px;right:12px}.inventory{gap:12px;padding:8px;font-size:11px;bottom:190px}.control-hint{display:none}#stick{left:18px;bottom:max(30px,env(safe-area-inset-bottom));width:106px;height:106px}.action-controls{right:15px;bottom:max(26px,env(safe-area-inset-bottom));grid-template-columns:repeat(3,48px);gap:6px}.action-controls button{min-height:51px}.shop{grid-template-columns:1fr 1fr}.chapter-list button{flex-wrap:wrap}.chapter-list button small{width:100%;margin-left:30px}.stage-heading p{max-width:200px}}@media (height<=600px){.title-copy{margin-top:12px}.title-copy h1{margin-bottom:8px;font-size:2.6rem}.title-copy p,.hero-detail p{display:none}.hero-picker{max-width:500px}.hero-detail{margin-bottom:8px}.hero-tab{padding:6px 10px}.title-footer{display:none}.title-screen{padding-top:12px;padding-bottom:10px}.title-copy{margin-bottom:12px}.hero-detail h2{margin:2px 0;font-size:22px}.hero-role{font-size:11px}.menu-links{margin:0}.begin-row{margin-top:10px}.begin-row button{min-height:42px;padding:8px 12px}.title-screen .brand{font-size:12px}.hero-tab span{display:none}.stage-heading{top:91px}.inventory{bottom:12px}.control-hint{display:none}#stick{bottom:15px}.action-controls{bottom:12px}#minimap{width:90px;height:90px;top:75px}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}#notifications{width:max-content;max-width:min(520px,100vw - 32px)}@media (width<=700px){.game-ui[data-party="3"] .stage-heading,.game-ui[data-party="4"] .stage-heading{top:185px}.game-ui[data-party="3"] #minimap,.game-ui[data-party="4"] #minimap{top:182px}}.hero-tab.selected small{color:#f0e7cf}.game-ui .player-label strong{font-size:calc(16px * var(--ui-scale))}.game-ui .player-label span,.game-ui .stage-heading span,.game-ui .stage-heading p{font-size:calc(12px * var(--ui-scale))}.game-ui .player-hud small{font-size:calc(11px * var(--ui-scale))}.game-ui .stage-heading strong{font-size:calc(27px * var(--ui-scale))}.game-ui .inventory{font-size:calc(13px * var(--ui-scale))}.game-ui .control-hint,.game-ui .action-controls button span,.game-ui .action-controls .small-action{font-size:calc(11px * var(--ui-scale))}@media (width<=700px){.game-ui .player-label strong{font-size:calc(13px * var(--ui-scale))}.game-ui .player-label span{font-size:calc(10px * var(--ui-scale))}.game-ui .stage-heading strong{font-size:calc(23px * var(--ui-scale))}.game-ui .inventory{font-size:calc(11px * var(--ui-scale))}#notifications{font-size:13px;top:auto;bottom:240px;transform:translate(-50%)}#notifications.visible{transform:translate(-50%)}}@media (height<=520px){#notifications{max-width:48vw;padding:9px 14px;font-size:12px;top:auto;bottom:72px;transform:translate(-50%)}#notifications.visible{transform:translate(-50%)}}.energy.turbo-meter{background:0 0;gap:3px;height:6px;display:flex;overflow:visible}.turbo-meter .turbo-segment{background:#29251c;border:1px solid #524b36;flex:1;display:block;overflow:hidden}.turbo-meter .turbo-segment i{background:#8ebc55;height:100%;display:block}.turbo-meter .tier-2 i{background:#edca58}.turbo-meter .tier-3 i{background:#df7353}.turbo-label{color:#e8d99c;letter-spacing:.04em;margin-top:3px;font-size:9px;line-height:1.2;display:block}@font-face{font-family:Cinzel;src:url(../fonts/Cinzel-Latin.woff2)format("woff2");font-display:swap}@font-face{font-family:CinzelDecorative;src:url(../fonts/CinzelDecorative-Bold-Latin.woff2)format("woff2");font-weight:700;font-display:swap}:root{color:#eee3b5;--gold:#d8b35c;--muted:#c2b99d;background:#11130e}#world{image-rendering:pixelated;image-rendering:crisp-edges}h1,h2,.brand,.stage-heading strong,.player-label strong{font-family:Cinzel,serif}button,input,select{color:#eee3b5;background:#201c14;border-color:#7e714a;border-radius:0}button:hover{background:#3e3523;border-color:#e6c976}.primary{color:#fff0bb;background:#514021;border:2px solid #c6a65a;box-shadow:inset 0 0 0 2px #221d13}.primary:hover{color:#fff3c8;background:#70552a}.title-screen{background:linear-gradient(90deg,#090b08f0,#14150ab0 40%,#12140b15 70%);border:8px ridge #665634;padding:28px 4vw}.brand{letter-spacing:.18em;color:#c6b77e;font-size:13px}.brand-mark{display:none}.title-copy{margin-top:36px}.title-copy h1{text-transform:uppercase;color:#e1bd63;text-shadow:0 3px #4e2a0b,2px 0 #24190b,-2px 0 #24190b;margin-bottom:18px;font-family:CinzelDecorative,Cinzel,serif;font-size:clamp(3.5rem,6vw,6rem);line-height:1.1}.title-copy p{color:#e9dcab;text-transform:uppercase;letter-spacing:.1em;font-family:Cinzel,serif;font-size:17px}.hero-detail h2{color:#f1d383;font-size:25px}.hero-detail p{color:#d4c8a6}.hero-role{color:#c6b98f}.hero-tabs{gap:4px}.hero-tab{background:#12120e;border:2px ridge #736243;padding:10px}.hero-tab.selected{border-color:var(--hero-color);background:#463b23;box-shadow:inset 0 0 0 2px #17160f}.hero-tab strong{font-family:Cinzel,serif;font-size:15px}.hero-tab span{display:none}.hero-tab small,.hero-tab.selected small{color:#eee0b6}.title-footer{color:#a99b78}.panel{background:#171810;border:5px ridge #8a7443;box-shadow:0 12px 50px #0009}.panel-screen{background:#080b08b8}.panel h1{color:#e1c776}.panel p{color:#d7d0ba}.game-ui{background:0 0}.hud-top{background:#11100cf5;border-top:5px ridge #998052;gap:0;min-height:92px;padding:8px 18px;display:block;inset:auto 0 0}.players{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;width:100%;max-width:none;display:grid}.player-hud{text-shadow:1px 2px #000;border-right:1px solid #615235;width:auto;min-width:0;max-width:255px;padding:0 12px 0 8px}.idle-slot{text-align:center;color:#a2997a;border-right:1px solid #615235;align-self:center;font-family:Cinzel,serif;font-size:13px;line-height:1.6}.idle-slot strong,.idle-slot span{display:block}.idle-slot span{letter-spacing:.12em;color:#968d73;font-family:Barlow,sans-serif;font-size:10px}.player-label{gap:7px}.player-label b{border:1px solid var(--hero-color);color:var(--hero-color);background:0 0;border-radius:0;font-family:Barlow,sans-serif}.game-ui .player-label strong{font-size:calc(15px * var(--ui-scale));text-transform:uppercase;letter-spacing:.04em;color:var(--hero-color)}.game-ui .player-label span{font-size:calc(11px * var(--ui-scale));color:#d3c393}.health{background:#270d08;border:1px solid #a2905f;height:9px;margin-top:5px}.health i{background:#9e2319}.energy{background:#1b1a12;height:4px;margin-top:3px}.energy i{background:#c6aa4c}.game-ui .player-hud small{font-size:calc(12px * var(--ui-scale));color:#efe1aa;letter-spacing:.05em;margin-top:3px;display:block}.hud-top #pause{background:#16170ecf;border:2px ridge #947e48;position:fixed;top:16px;right:16px}.stage-heading{text-shadow:2px 2px #000;max-width:60vw;top:20px;left:22px}.game-ui .stage-heading span{display:none}.game-ui .stage-heading strong{font-size:calc(23px * var(--ui-scale));color:#f0e6bd}.stage-heading p{color:#e0d5ad;max-width:340px;font-size:12px}#minimap{background:#15170dbb;border:2px ridge #786a40;border-radius:0;width:94px;height:94px;top:82px;right:20px}.game-ui .inventory{font-size:calc(12px * var(--ui-scale));background:#12140abf;border:1px solid #635933;gap:13px;padding:6px 9px;top:96px;bottom:auto;left:22px;transform:none}.control-hint{color:#eee0b4;text-shadow:1px 2px #000;bottom:103px}#stick{background:#17180c77;border:2px solid #9b895d77;border-radius:50%;bottom:115px}#stick i{background:#9c8d6677;border-color:#b8a87b}.action-controls{bottom:110px}.action-controls button{color:#fff0be;background:#1a1c12b8;border:1px solid #998655;border-radius:0}.action-controls .attack-action{color:#fff0bc;background:#645029d9;border:2px ridge #d3b569}#notifications,#notifications.visible{color:#fff0b0;background:#17180dd9;border:2px ridge #8e7945;max-width:min(540px,85vw);font-family:Cinzel,serif;font-size:14px;top:72px;bottom:auto;left:50%;transform:translate(-50%)}@media (width<=700px){.title-screen{background:linear-gradient(#0d0f0bd9,#181a0b20 38%,#11140ce8 57%,#0e100b);border-width:5px;padding:16px}.title-copy{margin-top:20px}.title-copy h1{max-width:100%;margin-bottom:8px;font-size:2.8rem}.title-copy p{font-size:12px}.hero-detail h2{font-size:23px}.hero-detail p,.hero-tab strong{font-size:12px}.hero-tab{padding:8px 5px}.title-footer{font-size:10px}.hud-top{min-height:86px;padding:7px 4px}.players{gap:2px}.player-hud{border:0;padding:0 3px}.player-label{flex-wrap:wrap;gap:3px}.player-label b{display:none}.game-ui .player-label strong{font-size:calc(10px * var(--ui-scale))}.game-ui .player-label span{font-size:calc(9px * var(--ui-scale))}.game-ui .player-hud small{font-size:calc(10px * var(--ui-scale))}.idle-slot{font-size:9px}.idle-slot span{letter-spacing:0;font-size:8px}.stage-heading,.game-ui[data-party="3"] .stage-heading,.game-ui[data-party="4"] .stage-heading{max-width:270px;top:18px;left:12px}.game-ui .stage-heading strong{font-size:calc(19px * var(--ui-scale))}.stage-heading p{max-width:230px;font-size:11px}#minimap,.game-ui[data-party="3"] #minimap,.game-ui[data-party="4"] #minimap{width:64px;height:64px;top:100px;right:12px}.game-ui .inventory{gap:8px;max-width:265px;font-size:10px;top:90px;left:12px}#stick{width:94px;height:94px;bottom:110px;left:14px}.action-controls{grid-template-columns:repeat(3,46px);gap:5px;bottom:105px;right:12px}.action-controls button{min-height:48px}#notifications,#notifications.visible{max-width:88vw;padding:7px 9px;font-size:11px;top:180px;bottom:auto}}@media (height<=520px){.title-screen{padding:10px 26px}.brand{font-size:11px}.title-copy{margin-top:6px}.title-copy h1{margin-bottom:4px;font-size:2.4rem}.title-copy p{display:none}.hero-detail{margin-bottom:4px}.hero-detail h2{font-size:18px}.hero-tabs{gap:4px}.hero-tab{padding:5px 9px}.hero-tab strong{font-size:12px}.hero-tab small{font-size:10px}.begin-row{margin-top:7px}.menu-links button{padding:5px}.title-footer{display:none}.hud-top{min-height:65px;padding:4px 14px}.game-ui .player-label strong{font-size:calc(12px * var(--ui-scale))}.health{height:6px}.game-ui .player-hud small{font-size:10px}.energy{height:3px}.stage-heading{top:12px;left:12px}.game-ui .stage-heading strong{font-size:19px}.stage-heading p{margin:4px 0;font-size:11px}#minimap{width:56px;height:56px;top:72px}.game-ui .inventory{font-size:10px;top:66px}#stick{width:85px;height:85px;bottom:76px}.action-controls{grid-template-columns:repeat(3,44px);gap:4px;bottom:73px}.action-controls button{min-height:40px}.action-controls button svg{width:18px;height:18px}.control-hint{display:none}#notifications,#notifications.visible{max-width:48vw;padding:6px 9px;font-size:11px;top:68px;bottom:auto}}
