@import url('https://fonts.googleapis.com/css2?family=Cinzel:wght@500;700;900&family=UnifrakturMaguntia&family=Inter:wght@400;500;600&display=swap');
*{box-sizing:border-box}body{margin:0;overflow:hidden;background:#131222;color:#e8e0ce;font-family:Inter,Arial,sans-serif}canvas{display:block;width:100vw;height:100vh;touch-action:none;outline:none}.vignette{position:fixed;inset:0;pointer-events:none;box-shadow:inset 0 0 140px 30px #080916a0}header{position:fixed;top:26px;left:32px;right:32px;display:flex;justify-content:space-between;align-items:start;pointer-events:none}.brand{font:900 25px Cinzel,Georgia,serif;letter-spacing:5px}.brand span{display:block;font:9px Inter,sans-serif;letter-spacing:3px;color:#a59eb8;margin-top:8px}button{font:600 10px Inter,sans-serif;letter-spacing:2px;border:1px solid #817b9760;color:#dfd5c4;background:#151324b8;padding:13px 18px;cursor:pointer;pointer-events:auto}button:hover{background:#39304e}small{display:block;font-size:9px;letter-spacing:2px;color:#ada3ba}#hud{position:fixed;top:112px;left:32px;right:32px;display:flex;align-items:start;justify-content:space-between;pointer-events:none}.vitals strong{display:block;font-size:26px;letter-spacing:8px;color:#c9a96c;margin:5px 0}.vitals strong.bare{color:#b75d61}.journey{width:30%;text-align:center}.track{height:3px;background:#ffffff1c;margin:12px 0}.track i{display:block;height:100%;width:0;background:#bd9b63;transition:width .2s linear}.journey span{font-size:8px;letter-spacing:1.5px;color:#91869e}.bounty{text-align:right}.bounty strong{display:block;font:26px Cinzel,serif;margin-top:8px;color:#dcc699}footer{position:fixed;bottom:22px;left:32px;right:32px;display:flex;justify-content:space-between;gap:20px;color:#b3a6b8;font-size:8px;letter-spacing:1.5px;pointer-events:none}#announcement{position:fixed;top:25%;left:10%;width:80%;text-align:center;font:700 clamp(15px,2.7vw,28px) Cinzel,serif;color:#e6c38b;text-shadow:0 3px 12px #000;pointer-events:none;opacity:0;transition:opacity .25s}#announcement.visible{opacity:1}#menu{position:fixed;inset:0;display:grid;place-items:center;background:linear-gradient(90deg,#100f20e8,#1310229c,#100f20c9);backdrop-filter:blur(4px);overflow:auto}article{text-align:center;padding:35px 22px;max-width:800px}.chapter{font-size:9px;letter-spacing:3px;color:#bd9f6c}h1{font:700 clamp(38px,6vw,74px)/1.12 Cinzel,Georgia,serif;letter-spacing:-2px;margin:24px 0;color:#ece2cf}p{font-size:14px;line-height:1.9;color:#aaa1b5}.rules{display:flex;justify-content:center;gap:40px;text-align:left;margin:27px 0}.rules>div{display:flex;gap:13px;align-items:start}.rules b{font:20px Cinzel,serif;color:#bd9b63}.rules span{font-size:10px;line-height:1.8;color:#b9afc2}#start{margin:12px 0;background:#c5a16a;color:#15111e;border:none;padding:19px 27px;font-size:11px}#start:hover{background:#e2c18b}#start span{margin-left:35px}.fine{font-size:10px;color:#827990}#impact{position:fixed;inset:0;pointer-events:none;background:#bd3441;opacity:0;transition:opacity .2s}#bossHud{position:fixed;bottom:66px;left:30%;width:40%;text-align:center}#bossHud>div{height:6px;background:#2b1b2d;margin-top:9px;border:1px solid #ac727655}#bossHealth{display:block;height:100%;width:100%;background:#bb6371;transition:width .15s}#touch{display:none;position:fixed;bottom:20px;left:15px;right:15px;gap:9px;justify-content:center}#touch button{padding:17px 14px;touch-action:none;user-select:none}@media(pointer:coarse){#touch{display:flex}footer{display:none}#bossHud{bottom:95px}}@media(max-width:650px){header{left:18px;right:18px;top:20px}.brand{font-size:19px;letter-spacing:3px}.brand span{font-size:7px;letter-spacing:1px}#hud{left:18px;right:18px;top:93px}.journey{width:35%}.bounty strong{font-size:20px}.rules{gap:15px}.rules>div{gap:7px}.rules span{font-size:9px}article{padding-top:100px}.chapter{font-size:8px;letter-spacing:2px}footer{left:18px;right:18px;font-size:7px}}

#weapon{margin-top:12px;color:#e6bf75;font-size:9px;letter-spacing:1px}

body.playing #world{cursor:none}

#performance{position:fixed;bottom:47px;left:32px;font:10px monospace;color:#b5c8b3;background:#10151dc9;padding:6px 8px;pointer-events:none}

.audioButtons{display:flex;gap:6px;pointer-events:auto}#wave{position:fixed;top:222px;left:32px;color:#b6b2c8;font-size:9px;letter-spacing:2px;pointer-events:none}#graveHelp{position:fixed;bottom:92px;left:50%;transform:translateX(-50%);padding:10px 16px;background:#251b13dd;border:1px solid #c29b60;color:#ffe1a6;font-size:11px;letter-spacing:1px;pointer-events:none;white-space:nowrap}body.blocked .vignette{border:2px solid #c29b6080}#enemyWarning{position:fixed;transform:translate(-50%,-100%);padding:5px 8px;background:#2f1321d9;color:#ffc39c;border:1px solid #d17a68;font-size:9px;letter-spacing:1px;pointer-events:none}@media(max-width:650px){.audioButtons{flex-direction:column;gap:4px}.audioButtons button{padding:8px;font-size:8px}#wave{left:18px;top:224px;font-size:8px}#graveHelp{font-size:9px;bottom:100px;white-space:normal;width:80%;text-align:center}}

.brand{font-family:"UnifrakturMaguntia",Georgia,serif;font-size:33px;font-weight:400;letter-spacing:3px;text-shadow:0 2px 3px #000,0 0 14px #88719c40}h1{font-family:"UnifrakturMaguntia",Georgia,serif;font-weight:400;letter-spacing:0;text-shadow:0 3px 12px #0008}@media(max-width:650px){.brand{font-size:27px;letter-spacing:2px}}

#deathNotice{position:fixed;z-index:20;top:36%;left:50%;transform:translateX(-50%);width:min(84%,760px);box-sizing:border-box;text-align:center;pointer-events:none;color:#fff4df;font:700 clamp(21px,3vw,36px)/1.5 Inter,Arial,sans-serif;letter-spacing:.025em;white-space:pre-line;text-shadow:0 2px 3px #000;background:#120f1bf2;border:1px solid #c7a16a88;border-radius:8px;box-shadow:0 8px 36px #0009;padding:24px 18px;}
#menu[data-mode="lost"] h1{font-family:Cinzel,Georgia,serif;font-size:clamp(30px,5vw,56px);line-height:1.35;letter-spacing:0;color:#fff4df}
#menu[data-mode="lost"] p{color:#e0d8e7;font-size:clamp(16px,2vw,19px);line-height:1.7}
#deathNotice[hidden]{display:none}@keyframes deathArrival{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}

/* Engraved metal frames, drawn entirely in CSS. */
button{position:relative;isolation:isolate;font-family:Cinzel,Georgia,serif;font-weight:700;border:1px solid #a48651;border-radius:2px;color:#f0dfb8;background:linear-gradient(180deg,#393040,#181322 48%,#241b2b);box-shadow:inset 0 0 0 2px #17121e,inset 0 0 0 3px #80633c80,inset 0 1px 12px #c9a16a15,0 3px 8px #0006;text-shadow:0 1px 2px #000;transition:background .15s,border-color .15s,box-shadow .15s}
button::before,button::after{content:"";position:absolute;inset:5px;pointer-events:none;border:solid #d9ba7e;border-width:1px 0;opacity:.65}
button::after{inset:3px;border-width:0 2px;clip-path:polygon(0 0,18% 0,18% 18%,82% 18%,82% 0,100% 0,100% 100%,82% 100%,82% 82%,18% 82%,18% 100%,0 100%)}
button:hover{color:#fff2cf;background:linear-gradient(180deg,#514251,#251c30 55%,#392a3f);border-color:#e8c889;box-shadow:inset 0 0 0 2px #17121e,inset 0 0 0 3px #b6925e,0 3px 10px #0008}
button:focus-visible{outline:2px solid #fff0bf;outline-offset:4px}
button:active{box-shadow:inset 0 2px 8px #000b,inset 0 0 0 3px #80633c80}
#start{border:1px solid #e1bd78;background:linear-gradient(180deg,#e0c18b,#b38a50 48%,#ceab70);color:#211725;text-shadow:0 1px #ffe5b366;padding:21px 34px;box-shadow:inset 0 0 0 3px #624627,inset 0 0 0 4px #f2d69b,0 5px 18px #0008}
#start::before{inset:7px;border-color:#644625}#start::after{border-color:#51361e}
#start:hover{background:linear-gradient(180deg,#f2d69d,#cba367 48%,#e8c78e);border-color:#ffe4ab}
#start span{color:#5f3d26;text-shadow:none}
@media(prefers-reduced-motion:reduce){button{transition:none}}
