@font-face{font-family:Runes;src:local('Georgia')}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#071319;color:#ece5cf;font-family:Arial,sans-serif;overscroll-behavior:none;touch-action:none}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;border:1px solid #bfa56755;background:#0b2027bd;cursor:pointer;border-radius:5px;min-height:40px;transition:background .15s,border-color .15s,transform .15s}button:hover{background:#23424b;border-color:#d3b97b}button:active{transform:translateY(1px)}button:focus-visible,a:focus-visible{outline:2px solid #9cecdf;outline-offset:3px}button:disabled{opacity:.45;cursor:wait}[hidden]{display:none!important}#world,#vignette{position:fixed;inset:0;width:100%;height:100%}#vignette{pointer-events:none;background:linear-gradient(90deg,#06141bea 0%,#07171b79 48%,#061419ca 100%),linear-gradient(0deg,#061319 0%,transparent 35%)}body.playing #vignette{background:radial-gradient(ellipse,transparent 45%,#06131966)}#topbar{position:fixed;z-index:5;left:4%;right:4%;top:max(18px,env(safe-area-inset-top));display:flex;justify-content:space-between;align-items:center}.brand{color:#d6be83;letter-spacing:3px;font-size:25px;display:flex;align-items:center;gap:12px}.brand span{font-size:10px;letter-spacing:2px}.top-actions{display:flex;gap:9px}.top-actions button{font-size:11px;padding:0 13px;min-height:34px}#install{color:#ead69d;border-color:#bfa56799}.screen{position:relative;height:100%;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:90px 7% 55px;gap:6%}.intro{width:45%;max-width:580px}.eyebrow{font-size:10px;letter-spacing:3px;color:#b6d1cd;font-weight:700}.intro h1{font:700 clamp(36px,5.4vw,78px)/.92 Georgia,serif;letter-spacing:-2px;color:#f1e5be;text-shadow:0 3px 28px #0008;margin:23px 0 14px}.intro h1 span{display:block}.intro h1 small{display:block;font:400 .29em/2.1 Arial,sans-serif;letter-spacing:.67em;margin-top:8px;color:#d5bb79}.ornament{font-size:13px;color:#b89e60;letter-spacing:2px;opacity:.8}.tagline{font:24px/1.3 Georgia,serif;color:#ede9d9}.story{font-size:12px;line-height:1.9;color:#a7b9bc;max-width:330px}.text-button{border:0;background:none;padding:4px 0;color:#d4bd83;font-size:12px}.menu-status{display:flex;gap:7px;align-items:center;margin-top:24px;color:#7e9b9e;font-size:10px}.status-dot{width:5px;height:5px;background:#7acbb4;border-radius:100%;box-shadow:0 0 8px #67f4ce}.selection{width:49%;max-width:500px;background:linear-gradient(135deg,#0c202bde,#071319e8);border:1px solid #c5b47835;border-radius:10px;padding:25px;box-shadow:0 15px 70px #0006;backdrop-filter:blur(8px)}.section-heading{display:flex;justify-content:space-between;font-size:9px;letter-spacing:2px;color:#c6bc97}.section-heading span:last-child:not(:first-child){color:#5f8589;letter-spacing:1px}#heroes{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:16px 0 12px}.hero-card{height:133px;position:relative;overflow:hidden;border:1px solid #71909635;background:linear-gradient(#18303c88,#0a161d);padding:0}.hero-card.selected{border-color:#d9ba6d;background:linear-gradient(#42636c99,#142c32);box-shadow:0 0 18px #be9f4e18}.hero-card img{height:111px;width:100%;object-fit:contain;filter:drop-shadow(0 3px 5px #0008);transition:transform .2s}.hero-card.selected img{transform:scale(1.06)}.hero-card span{position:absolute;bottom:0;left:0;right:0;padding:8px 0 6px;background:linear-gradient(transparent,#07151df0);font-size:11px}.hero-card .check{position:absolute;right:5px;top:4px;color:#efcf7c;font-size:10px}.hero-title{display:flex;align-items:center;gap:10px;margin-bottom:6px}.hero-title strong{font:21px Georgia,serif;color:#ead6a0}.hero-title small{font-size:9px;letter-spacing:1px;color:#69c6c5}#heroInfo{min-height:82px}#heroInfo p{font-size:11px;color:#a5b8ba;line-height:1.7;margin:0}.difficulty-heading{border-top:1px solid #bba15d22;padding-top:16px;margin-top:12px}#difficulties{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}#difficulties button{font-size:11px;min-height:33px}#difficulties button.selected{background:#66573455;border-color:#c5a35c;color:#efd89c}#difficultyInfo{font-size:10px;color:#7f9c9f;min-height:24px;line-height:1.5;margin:9px 0 13px}.start-row{display:flex;gap:10px}.primary{background:linear-gradient(110deg,#d6bc7c,#a98b4c);border:1px solid #e5c986;color:#162426;padding:13px 23px;letter-spacing:1px;text-transform:uppercase;font-size:11px;font-weight:bold;box-shadow:0 0 25px #bd9c4820}.primary:hover{background:#e4ca8e;color:#07191d}.start-row .primary{flex:1;display:flex;justify-content:space-between;align-items:center}.primary b{font-size:20px}.secondary{padding:8px 14px;font-size:12px}.controls-hint{color:#587b80;text-align:center;font-size:9px;margin:12px 0 0;letter-spacing:1px}footer{position:fixed;z-index:100;bottom:max(6px,env(safe-area-inset-bottom));left:0;right:0;text-align:center;font-size:10px;letter-spacing:1px;color:#c1c6bd;pointer-events:none;text-shadow:0 1px 5px #000,0 0 4px #000}footer a{color:inherit;text-decoration:none;pointer-events:auto}body.playing #topbar{display:none}#hud{position:fixed;inset:0;z-index:3;pointer-events:none;padding:20px max(25px,env(safe-area-inset-left))}.player-hud{position:absolute;top:20px;left:max(24px,env(safe-area-inset-left));width:190px;padding:12px;background:#07141cbb;border:1px solid #bda56944;border-radius:6px}.player-hud strong{font:16px Georgia,serif;color:#f2ddb0}.meter{height:7px;background:#18282e;margin-top:7px;border-radius:3px;overflow:hidden}.meter i{height:100%;display:block;background:linear-gradient(90deg,#7b3e44,#e68d79);width:100%;transition:width .1s}.meter.mana{height:4px}.mana i{background:linear-gradient(90deg,#2d6d84,#85d7db)}#hpText{display:block;color:#a4b8b9;font-size:9px;margin-top:6px}.quest{position:absolute;left:50%;transform:translateX(-50%);top:22px;text-align:center;text-shadow:0 2px 5px #000;width:40%}.quest small{display:block;font-size:9px;letter-spacing:3px;color:#d2b67c}.quest strong{display:block;font:23px Georgia,serif;margin:4px}.quest span{font-size:11px;color:#c4d5d4}.hud-right{position:absolute;right:25px;top:22px;display:flex;align-items:center;gap:15px;font-size:12px;color:#f2d587}.hud-right button{pointer-events:auto;width:42px}#bossHud{position:absolute;top:100px;left:32%;width:36%;text-align:center;font-size:11px;color:#ecd4ae;text-shadow:0 1px 3px #000}#bossHud .meter{height:6px;background:#0c1722;border:1px solid #bd9f5f77}#bossBar{background:linear-gradient(90deg,#8c2948,#e77480)}#notice{position:absolute;top:31%;width:70%;left:15%;text-align:center;font:24px Georgia,serif;color:#fff0c3;text-shadow:0 2px 5px #000;opacity:0;transition:opacity .2s}#combo{position:absolute;right:25px;top:90px;font:italic 25px Georgia,serif;color:#fff2a6;text-shadow:0 2px 5px #000}#touchControls{position:fixed;inset:0;z-index:4;pointer-events:none}#dpad{position:absolute;left:max(23px,env(safe-area-inset-left));bottom:35px;width:145px;height:145px;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);pointer-events:auto;border-radius:50%;background:#05151e40;touch-action:none;user-select:none}#dpad button{padding:0;border-color:#a7c5cc55;background:#16313f9c;color:#c9dfe4;font-size:18px;min-height:0;border-radius:6px;pointer-events:none}#dpad button[data-dir=up]{grid-area:1/2}#dpad button[data-dir=left]{grid-area:2/1}#dpad button[data-dir=right]{grid-area:2/3}#dpad button[data-dir=down]{grid-area:3/2}#dpad span{grid-area:2/2;display:grid;place-items:center;color:#bba66b;background:#16313f88}#dpad button.active{background:#699caa99}.action-pad{position:absolute;right:max(23px,env(safe-area-inset-right));bottom:38px;display:flex;gap:14px;align-items:flex-end;pointer-events:auto}.action{border-radius:50%;width:70px;height:70px;background:#0f2935be;border:1px solid #9fd0d399;display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:inset 0 0 18px #6db7c81a;user-select:none;touch-action:none}.action b{font-size:25px;font-family:Georgia,serif;font-weight:normal}.action span{font-size:9px;text-transform:uppercase;letter-spacing:1px}.action.small{width:53px;height:53px;font-size:10px;color:#c6d6d8}.action.rune{margin-bottom:55px;color:#8af0ed}.action.attack{width:82px;height:82px;border-color:#d9bb74;color:#ead296;background:#342f25c9}.action.active{background:#6b896ca8}.action.cooldown{opacity:.45}.modal{position:fixed;inset:0;z-index:15;display:grid;place-items:center;background:#020c15c9;backdrop-filter:blur(10px);padding:30px}.modal-card{width:min(570px,92vw);max-height:calc(100dvh - 70px);overflow:auto;background:linear-gradient(130deg,#112c36,#08171f);border:1px solid #bda46877;padding:30px;border-radius:10px;box-shadow:0 20px 80px #0009;touch-action:pan-y}.modal h2{font:34px Georgia,serif;margin:13px 0;color:#ead5a0}.modal p{font-size:13px;line-height:1.8;color:#b4c8c9}.modal .eyebrow{font-size:9px;color:#73c6c0;letter-spacing:2px}#modalButtons{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}#modalButtons button{flex:1}#modalBody .upgrade{display:block;width:100%;padding:12px 15px;text-align:left;margin:9px 0;font-size:13px}#modalBody .upgrade small{display:block;color:#88a9af;font-size:11px;margin-top:5px}.codex-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.codex-grid p{font-size:11px;margin:0}.codex-grid strong{color:#e4c989}.settings-row{display:flex;align-items:center;gap:12px;margin:10px 0;color:#bfd0ce;font-size:12px}.settings-row input{accent-color:#c4ac72;width:140px}#rotate{display:none;position:fixed;inset:0;z-index:50;background:radial-gradient(ellipse at top,#1e434c,#05121c 75%);align-items:center;justify-content:center;flex-direction:column;padding:30px;text-align:center}#rotate h2{font:30px Georgia,serif;color:#ead7a6}.rotate-icon{font-size:70px;color:#97d9d6}#rotate p{font-size:14px;color:#91abad}@media (orientation:portrait) and (max-width:950px){#rotate{display:flex}}@media(max-height:650px) and (orientation:landscape){#topbar{top:12px}.screen{padding:59px 5% 27px;gap:5%}.intro h1{font-size:clamp(34px,6vw,65px);margin:12px 0 8px}.intro .eyebrow{font-size:8px;letter-spacing:2px}.tagline{font-size:19px;margin:10px 0}.story{font-size:10px;line-height:1.6;max-width:300px}.menu-status{margin-top:10px;font-size:8px}.selection{padding:15px 18px}.hero-card{height:94px}.hero-card img{height:82px}#heroes{margin:10px 0;gap:6px}.hero-title strong{font-size:18px}#heroInfo{min-height:54px}#heroInfo p{font-size:9px;line-height:1.5}.difficulty-heading{padding-top:10px;margin-top:6px}.section-heading{font-size:8px;letter-spacing:1.5px}#difficulties{margin-top:7px;gap:6px}#difficulties button{min-height:28px;font-size:10px}#difficultyInfo{margin:6px 0 8px;min-height:15px;font-size:9px}.primary{padding:7px 14px;font-size:10px;min-height:35px}.controls-hint{font-size:8px;margin-top:8px}.hero-title{margin-bottom:4px}#dpad{width:123px;height:123px;left:16px;bottom:27px}.action-pad{right:17px;bottom:28px;gap:10px}.action{width:60px;height:60px}.action.attack{width:72px;height:72px}.action.small{width:47px;height:47px}.action.rune{margin-bottom:38px}.player-hud{top:12px;left:16px;width:160px;padding:8px}.quest{top:13px}.quest strong{font-size:20px}.quest small{font-size:8px}.quest span{font-size:10px}.hud-right{top:12px;right:16px}#bossHud{top:80px}.modal-card{padding:20px}.modal h2{font-size:27px}.modal p{font-size:12px}.modal-card .eyebrow{margin:0}#modalButtons{margin-top:13px}footer{font-size:9px;bottom:5px}}
@media(max-height:410px) and (orientation:landscape){.screen{padding-top:48px}.intro .story{display:none}.selection{padding:12px 15px}.hero-card{height:74px}.hero-card img{height:66px}.hero-card span{font-size:9px}.hero-title strong{font-size:16px}#heroInfo{min-height:44px}#heroes{margin:7px 0}.difficulty-heading{padding-top:7px;margin-top:4px}#difficultyInfo{min-height:0;margin:4px 0}.controls-hint{display:none}.intro h1{font-size:44px}.tagline{font-size:17px}.top-actions button{min-height:28px}.brand span{font-size:8px}.menu-status{display:none}#topbar{top:8px}.primary{min-height:31px}#dpad{width:108px;height:108px}.action.rune{margin-bottom:28px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

.action-pad .mount{position:absolute;right:0;bottom:105px;border-color:#d5b576;color:#e7d4a1;width:65px;height:40px;border-radius:9px;font-size:10px;background:#252e27d9}.action-pad .mount:disabled{opacity:.35;cursor:default}@media(max-height:650px){.action-pad .mount{bottom:91px;height:34px;width:60px}}

/* Journey UI and five independent multi-touch actions, release 1.1. */
.journey{height:3px;max-width:300px;margin:8px auto 5px;background:#142b32;border-radius:4px;overflow:hidden}.journey i{display:block;height:100%;background:#d5bd80;width:0}.quest #areaName{font-size:9px;letter-spacing:.6px;color:#c4c8b5;margin-top:5px}.quest{width:46%}#bossHud{top:136px}#bossState{display:block;font-size:10px;margin-top:7px;color:#e7b19c}#bossHud.exposed #bossState{color:#ffdda3}#bossHud.exposed #bossBar{background:linear-gradient(90deg,#bca55d,#ffdf9d)}.action.jump{color:#c6e3bc;border-color:#b8d39b88}.action.charged{border-color:#f9d57a;box-shadow:0 0 20px #e3c45a50}.action-pad{gap:12px}.action-pad .mount{bottom:113px}.player-hud strong{font-size:14px}.quest span{display:block;line-height:1.4}.action:disabled{cursor:default}body.playing #notice{pointer-events:none;font-size:22px;top:37%}
@media(max-height:650px){#bossHud{top:112px}.quest #areaName{font-size:8px}.action-pad{gap:9px}.action-pad .mount{bottom:103px}.quest{width:45%}.player-hud{width:164px}.player-hud strong{font-size:12px}.quest strong{font-size:18px}.quest span{font-size:9px}.action.jump{width:49px;height:49px}.action.jump b{font-size:20px}body.playing #notice{font-size:18px}.hud-right{gap:8px}}
@media(max-height:410px){#bossHud{top:104px;left:34%;width:32%}.action-pad{gap:7px}.action.small{width:44px;height:44px}.action.jump{width:44px;height:44px}.action-pad .mount{bottom:94px}.quest #areaName{font-size:7px}.quest span{font-size:8px}.quest{width:43%}#bossState{font-size:8px}.player-hud{width:147px}.hud-right{font-size:10px}.quest strong{font-size:17px}}
