@font-face{font-family:Grace;src:url('fonts/serif.ttf') format('truetype');font-weight:400;font-display:block}@font-face{font-family:Grace;src:url('fonts/serif-bold.ttf') format('truetype');font-weight:700;font-display:block}
:root{color-scheme:dark;--gold:#c8ae72;--ivory:#eee3c7;--edge:#85754f;--ink:#101a19}*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0;overflow:hidden;overscroll-behavior:none;touch-action:none}body{background:var(--ink);color:var(--ivory);font-family:Grace,Georgia,serif}button,a{font:inherit;-webkit-tap-highlight-color:transparent}button{color:inherit;cursor:pointer}a{cursor:pointer;color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid #ffdf9b;outline-offset:4px}[hidden]{display:none!important}#world{position:fixed;inset:0;width:100%;height:100%;display:block;outline:0}#shade{position:fixed;inset:0;background:linear-gradient(90deg,rgba(5,14,14,.94),rgba(5,14,14,.62) 36%,transparent 70%);pointer-events:none}#shade.ingame{background:rgba(5,12,12,.67)}#branding{position:fixed;z-index:4;left:max(28px,env(safe-area-inset-left));top:max(24px,env(safe-area-inset-top));display:flex;align-items:center;gap:12px;font-size:20px;letter-spacing:.01em;white-space:nowrap}#branding i{font-size:15px;font-style:normal;color:#756e54}#branding span{font-size:10px;letter-spacing:.15em;color:#c6bea4}#utilities{position:fixed;z-index:8;right:max(25px,env(safe-area-inset-right));top:max(20px,env(safe-area-inset-top));display:flex;gap:7px}#utilities button{width:38px;height:38px;border:1px solid #877a525e;background:#111b1ca6;font-size:20px;line-height:1}#utilities button:hover{border-color:var(--gold);background:#384033}.menu{position:fixed;inset:0;z-index:3;display:flex;align-items:center;padding:80px 8% 76px;pointer-events:none}.panel{width:420px;max-width:100%;pointer-events:auto}.eyebrow{text-transform:uppercase;letter-spacing:.28em;font-size:12px;color:var(--gold);margin-bottom:17px;display:flex;align-items:center;gap:14px}.eyebrow:before{content:'';height:1px;width:30px;background:var(--gold)}h1{font-weight:400;letter-spacing:.045em;line-height:.91;font-size:clamp(62px,8.4vw,116px);color:#e4c78b;margin:0;text-shadow:0 2px 28px #0008}.subtitle{border-top:1px solid #ac8b525e;letter-spacing:.46em;font-size:18px;color:#dfc68d;padding-top:16px;margin-top:21px;max-width:330px}.intro{font-size:16px;line-height:1.7;color:#c3c4b3;margin:23px 0 25px}.actions{display:grid;gap:9px;width:min(100%,330px)}.primary,.more{height:52px;width:100%;border:1px solid var(--gold);padding:0 19px;display:flex;align-items:center;justify-content:space-between;text-align:left;font-size:13px;font-weight:700;letter-spacing:.1em;position:relative}.primary{background:#c5aa6e;color:#131a17;isolation:isolate}.primary:disabled{cursor:wait;color:#b4ac94;background:#25302a}.primary:disabled:hover{background:#25302a}.primary:hover{background:#e3c98b}.more{background:#14231fe6;color:#e5dbc1;border-color:#8c81595e}.more:hover{background:#293d32;border-color:var(--gold)}#loading-bar{position:absolute;bottom:0;left:0;height:3px;width:0;background:#d8bd79;z-index:-1}.secondary{display:flex;gap:20px;flex-wrap:wrap;margin-top:9px;align-items:center}.secondary button{background:transparent;border:0;padding:9px 0;text-transform:uppercase;font-size:10px;letter-spacing:.12em;color:#c7c3ac;min-height:33px}.secondary button:hover{color:#ffe5a9}.menu footer{position:absolute;bottom:24px;left:28px;right:28px;border-top:1px solid #ddd3ad25;padding-top:16px;display:flex;justify-content:space-between;letter-spacing:.16em;font-size:9px;color:#c0b997}h2{font-weight:400;font-size:clamp(35px,4.9vw,64px);line-height:1.05;letter-spacing:.025em;margin:0 0 20px;color:#e2c487}#menu-body{font-size:14px;line-height:1.65;color:#c4c5b7;margin:0 0 24px}#menu-body p{margin:0 0 12px}#menu-body strong{color:#e9d399}#menu-body .stats{display:flex;gap:25px;margin:20px 0}#menu-body .stats span{display:block;font-size:24px;color:#e9d399}.controls{display:grid;grid-template-columns:90px 1fr;gap:7px 14px;margin-bottom:16px}.controls dt{color:#edcb85}.controls dd{margin:0}.help-panel{width:520px}.help-panel h2{font-size:40px}.help-panel #menu-body{font-size:13px}
#hud{position:fixed;z-index:2;inset:22px 24px auto;pointer-events:none;display:flex;justify-content:space-between;text-shadow:0 2px 4px #000}.vitals{width:230px}.player-name{display:flex;justify-content:space-between;font-size:11px;letter-spacing:.09em;margin-bottom:7px}.player-name span{color:#d7cbb0;font-size:10px}.meter{height:8px;margin:4px 0;border:1px solid #aaa0757a;background:#111813c9;padding:1px}.meter i{height:100%;display:block;transition:width .12s linear}.hp i{background:#a3433e}.fp i{background:#4a86a1}.stamina i{background:#88964a}.fp{width:86%}.stamina{width:94%}.supplies{display:flex;gap:21px;letter-spacing:.06em;font-size:9px;color:#d6c391;margin-top:8px}.objective{position:absolute;left:50%;transform:translateX(-50%);text-align:center;min-width:235px;max-width:40vw}.objective div{font-size:9px;letter-spacing:.19em;color:#dfc688}.objective strong{font-size:16px;display:block;margin:6px 0 4px;font-weight:400;letter-spacing:.035em}.objective span{font-size:10px;color:#cbd0c0}.runes{margin-right:160px;text-align:right}.runes small{display:block;letter-spacing:.16em;font-size:9px;color:#d3bd88}.runes strong{font-size:21px;display:block;margin-top:4px;font-weight:400}#boss-hud{position:fixed;z-index:2;left:27%;right:27%;bottom:64px;color:#f5dfb4;text-shadow:0 1px 3px #000;font-size:11px;letter-spacing:.08em}#boss-hud>div:first-child{display:flex;justify-content:space-between;gap:12px;margin-bottom:6px}.boss-meter{height:10px;background:#171716;border:1px solid #b69c635e;padding:2px}.boss-meter i{display:block;height:100%;background:#8b332f;transition:width .12s linear}#notice{position:fixed;z-index:2;top:20%;left:50%;transform:translateX(-50%);font-size:15px;letter-spacing:.14em;text-align:center;text-shadow:0 2px 8px #000;background:linear-gradient(90deg,transparent,#07140ec2,transparent);padding:12px 35px;max-width:90%;width:max-content;pointer-events:none;transition:opacity .4s;opacity:0}#combo{position:fixed;right:29px;top:115px;text-align:right;color:#ebc978;font-size:20px;text-shadow:0 2px 3px #000}#keyboard-guide{position:fixed;bottom:21px;left:50%;transform:translateX(-50%);display:flex;gap:22px;white-space:nowrap;font-size:10px;letter-spacing:.04em;color:#dec993;text-shadow:0 1px 5px #000;pointer-events:none}#keyboard-guide b{font-weight:400;color:#bbc0ad;margin-left:5px}#touch{position:fixed;inset:0;z-index:5;pointer-events:none}#joystick{position:absolute;left:max(20px,env(safe-area-inset-left));bottom:max(24px,env(safe-area-inset-bottom));width:112px;height:112px;border:1px solid #cfbd8a75;background:#0b181e88;border-radius:50%;pointer-events:auto;touch-action:none}#joystick:after{content:'MOVE';position:absolute;inset:auto 0 10px;text-align:center;font-size:8px;letter-spacing:.12em;color:#c9c5a7;pointer-events:none}#stick{position:absolute;left:34px;top:34px;width:44px;height:44px;border:1px solid #f0d39b7a;border-radius:50%;background:#cab16a55;pointer-events:none}.touch-actions{position:absolute;right:max(14px,env(safe-area-inset-right));bottom:max(22px,env(safe-area-inset-bottom));display:grid;grid-template-columns:repeat(3,54px);grid-template-rows:48px 56px;gap:7px;pointer-events:auto}.touch-actions button{border:1px solid #b9a27496;background:#112222bf;border-radius:6px;font-size:9px;letter-spacing:.025em;padding:2px;touch-action:none}.touch-actions button:active,.touch-actions button.pressed{background:#857344c9;border-color:#ffe0a0}.touch-actions .wide{grid-column:span 2}.touch-actions .sword{background:#967b43d9;border-color:#dcc08a;color:#fff1cc}#transition{position:fixed;inset:0;z-index:10;background:#050b0a;opacity:0;pointer-events:none;transition:opacity .4s}#transition.active{opacity:1;pointer-events:auto}
@media(max-width:900px){.menu{padding-left:6%}.panel{width:360px}.runes{display:none}.vitals{width:190px}.objective{left:55%}#keyboard-guide{gap:12px;font-size:9px}#branding{font-size:18px}#branding span{font-size:8px}#boss-hud{left:26%;right:24%}}
@media(max-width:600px) and (min-height:501px){.menu{align-items:flex-start;padding:112px 25px 65px}.panel{width:100%}h1{font-size:76px}.eyebrow{font-size:10px}.subtitle{font-size:13px;letter-spacing:.4em;max-width:270px;margin-top:16px;padding-top:12px}.intro{font-size:13px;margin:17px 0}.actions{width:min(280px,100%)}.primary,.more{height:46px;font-size:11px}.menu footer{left:24px;right:24px;font-size:7px}.menu footer span:last-child{display:none}#branding{left:19px;top:21px;font-size:16px;gap:8px}#branding span{font-size:7px;letter-spacing:.05em}#utilities{right:16px;top:54px}#utilities button{width:31px;height:31px;font-size:17px}#hud{top:20px;left:17px;right:17px}.vitals{width:176px}.objective{top:94px;left:50%;max-width:95vw;min-width:300px}.objective strong{font-size:17px}.objective div{font-size:8px}.player-name{font-size:10px}#combo{top:177px;right:20px;font-size:16px}#notice{top:25%;font-size:11px;padding:10px 18px}#boss-hud{left:22px;right:22px;bottom:162px;font-size:9px}.help-panel h2{font-size:34px}.help-panel #menu-body{font-size:12px}.controls{gap:8px 10px;grid-template-columns:90px 1fr}h2{font-size:43px}.help-panel .actions{max-width:290px}#other-panel{padding-top:7px}}
@media(max-height:600px){.menu{padding-top:68px;padding-bottom:50px}.panel{width:350px}.eyebrow{font-size:9px;margin-bottom:10px}h1{font-size:60px}.subtitle{font-size:13px;margin-top:12px;padding-top:10px}.intro{font-size:12px;margin:12px 0}.primary,.more{height:42px;font-size:11px}.actions{gap:7px;max-width:285px}.secondary{gap:14px;margin-top:5px}.secondary button{font-size:9px;min-height:25px;padding:6px 0}.menu footer{bottom:17px;padding-top:10px;font-size:7px}.controls{gap:3px 10px;font-size:11px}.help-panel h2{font-size:30px;margin-bottom:9px}.help-panel #menu-body{margin-bottom:12px;font-size:11px;line-height:1.4}.help-panel .controls{grid-template-columns:85px 1fr}.help-panel{width:430px}#menu-body .stats{margin:10px 0}h2{font-size:38px;margin-bottom:13px}#menu-body{margin-bottom:15px}#hud{top:13px;left:16px}.vitals{width:175px}.objective{top:0;left:53%}.objective strong{font-size:13px}.objective div,.objective span{font-size:8px}#utilities{top:12px;right:12px}#utilities button{height:30px;width:30px;font-size:17px}#branding{top:18px;font-size:15px}#branding span{font-size:8px}#joystick{width:90px;height:90px;left:16px;bottom:14px}#stick{width:36px;height:36px;left:27px;top:27px}.touch-actions{grid-template-columns:repeat(3,46px);grid-template-rows:38px 42px;gap:5px;bottom:13px;right:12px}.touch-actions button{font-size:8px}#boss-hud{left:25%;right:31%;bottom:18px;font-size:8px}#notice{top:24%;font-size:11px}#keyboard-guide{bottom:13px;font-size:8px;gap:13px}#combo{top:82px;font-size:16px}}
@media(max-height:410px){.menu{padding:57px 6% 30px;align-items:flex-start}.panel{width:300px}h1{font-size:46px;line-height:.88}.eyebrow{font-size:8px;letter-spacing:.16em;margin-bottom:8px}.subtitle{font-size:10px;letter-spacing:.35em;max-width:200px;margin-top:10px;padding-top:8px}.intro{font-size:10px;line-height:1.4;margin:9px 0 10px}.actions{max-width:230px;gap:5px}.primary,.more{height:32px;font-size:9px;padding:0 12px}.secondary{margin-top:1px;gap:15px}.secondary button{font-size:8px;padding:6px 0;min-height:23px}.menu footer{display:none}#branding{left:20px;top:16px;font-size:14px;gap:8px}#branding span{font-size:7px}.help-panel{width:500px;max-width:85vw}.help-panel h2{font-size:24px;margin:0 0 8px}.help-panel .eyebrow{display:none}.help-panel .controls{grid-template-columns:67px 110px 68px 120px;gap:4px 6px;font-size:10px;margin:0 0 9px}.help-panel #menu-body{font-size:10px;line-height:1.35;margin-bottom:8px}.help-panel #menu-body p{margin-bottom:5px}.help-panel .actions{max-width:260px}.help-panel .primary,.help-panel .more{height:31px}h2{font-size:30px;margin-bottom:12px}#menu-body{font-size:11px;line-height:1.45;margin-bottom:13px}#hud{left:13px;top:10px}.vitals{width:147px}.player-name{font-size:8px}.player-name span{font-size:8px}.meter{height:6px;margin:3px 0}.supplies{font-size:7px;margin-top:4px}.objective{left:51%;min-width:190px}.objective strong{font-size:11px;margin:4px 0}.objective div{font-size:7px;letter-spacing:.08em}#utilities{top:10px;right:10px;gap:4px}#utilities button{width:27px;height:27px;font-size:15px}#notice{font-size:9px;top:25%;padding:6px 16px}#combo{top:64px;right:15px;font-size:12px}}

#boss-hud{padding:7px 10px;background:#08100edb;border:1px solid #a38d4b40}
