:root{color-scheme:dark;--ink:#110f0d;--gold:#d2b078;--pale:#f2e3c7;--muted:#a99c85;--line:#8c6c3d;--red:#972721;--touch-scale:1;font-family:Georgia,'Times New Roman',serif;background:#100e0b;color:var(--pale)}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none}body{touch-action:none}button,input,select{font:inherit}button{color:var(--pale);cursor:pointer;touch-action:manipulation}button:disabled{cursor:default;opacity:.35}button:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid #f1cc88;outline-offset:5px}button{transition:background .2s,color .2s,transform .15s}button:hover:not(:disabled){color:#fff3cd}button:active:not(:disabled){transform:translateY(1px)}[hidden]{display:none!important}#backdrop,#game,#vignette,#damage-flash,#overlay,#rotate{position:fixed;inset:0}#backdrop{background-size:cover;background-position:center;filter:saturate(.86) brightness(.80);transform:scale(1.025)}#game{width:100%;height:100%;display:block;background:transparent}#vignette{pointer-events:none;background:radial-gradient(ellipse at 50% 42%,transparent 40%,#050605a6 110%);box-shadow:inset 0 0 8vw #0006}#damage-flash{pointer-events:none;box-shadow:inset 0 0 12vw #b10000;opacity:0;transition:opacity .15s}#damage-flash.flash{opacity:.65}#hud{position:absolute;top:max(25px,env(safe-area-inset-top));left:max(30px,env(safe-area-inset-left));right:max(30px,env(safe-area-inset-right));display:flex;justify-content:space-between;align-items:flex-start;pointer-events:none;text-shadow:0 2px 5px #000}#hud button{pointer-events:auto}.vitals{display:flex;align-items:center;gap:11px}.hero-seal{display:grid;place-items:center;width:50px;height:59px;color:var(--gold);font-size:39px;background:linear-gradient(110deg,#13120e,#373020,#13120e);border:1px solid #aa8950;outline:2px solid #21190f;clip-path:polygon(50% 0,100% 18%,94% 81%,50% 100%,6% 81%,0 18%)}.health-line{display:flex;justify-content:space-between;font:9px/1.8 Arial,sans-serif;letter-spacing:1.5px;color:#dbc8a5;gap:20px}.meter{position:relative;width:210px;height:14px;border:1px solid #9b7542;background:#1b120dd9;box-shadow:0 2px 7px #000,inset 0 1px 4px #000;padding:2px;transform:skewX(-8deg)}.meter i{display:block;width:100%;height:100%;background:linear-gradient(#c64b3a,#731817);box-shadow:inset 0 1px #f8a27666;transition:width .18s}.rage{width:165px;height:7px;margin-top:5px}.rage i{width:0;background:linear-gradient(#f4d280,#bd791e)}.wealth{display:flex;align-items:center;gap:10px;font-size:24px}.coin-seal{display:grid;place-items:center;width:30px;height:30px;border:2px solid #d0a352;border-radius:50%;color:#dfb655;background:#563814;font-size:22px;box-shadow:0 2px 5px #000}.wealth #relic-count{font:12px Arial,sans-serif;color:#c6b694;margin:0 10px}.icon-button{border:1px solid #8e754b;border-radius:50%;background:#171510cb;width:42px;height:42px;font-size:22px}#chapter-label{position:absolute;left:max(30px,env(safe-area-inset-left));top:108px;text-shadow:0 2px 6px #000;opacity:.88;pointer-events:none}#area-name{display:block;font-size:17px;letter-spacing:1px}#chapter-name{display:block;font:9px/2 Arial,sans-serif;letter-spacing:2px;text-transform:uppercase;color:#cfbf9d}#boss-hud{position:absolute;bottom:28px;left:50%;transform:translateX(-50%);width:min(450px,45vw);text-align:center;pointer-events:none;text-shadow:0 2px 3px #000}#boss-name{font-size:17px;letter-spacing:2px}.boss{width:100%;height:10px;margin-top:7px}.boss i{background:linear-gradient(#c25c40,#681c19)}#notice{position:absolute;top:19%;left:50%;transform:translateX(-50%);text-align:center;font-size:19px;letter-spacing:1px;text-shadow:0 2px 7px #000;opacity:0;transition:opacity .35s;pointer-events:none;width:80%}#notice.visible{opacity:1}#subtitle{position:absolute;bottom:15%;left:20%;width:60%;text-align:center;font-size:18px;line-height:1.5;text-shadow:0 2px 5px #000;background:#0b0b0870;padding:12px}#setpiece{position:absolute;top:9%;left:50%;transform:translateX(-50%);font:13px Arial,sans-serif;letter-spacing:2px;text-shadow:0 2px 4px #000;color:#f6c893}#interact-prompt{position:absolute;bottom:17%;left:50%;transform:translateX(-50%)}#interact-prompt button{border:1px solid #8a784a;background:#18180ede;padding:10px 16px;font-size:14px}kbd{font:11px Arial,sans-serif;border:1px solid #82755c;padding:3px 5px;margin-right:6px;background:#393427}
#overlay{display:grid;place-items:center;background:#080b0bd6;z-index:10;padding:30px;overflow:auto;touch-action:pan-y;backdrop-filter:blur(5px)}#overlay.title-screen{background:linear-gradient(90deg,#0a0b0bee 0%,#0c0d0aaf 30%,#080b0920 70%),url('./assets/art/title.webp') 70% center/cover;backdrop-filter:none;place-items:center start;padding:6vh 8vw}#panel{width:min(590px,92vw);text-align:center}#overlay.title-screen #panel{text-align:left;width:530px}.eyebrow{font:11px Arial,sans-serif;letter-spacing:4px;text-transform:uppercase;color:var(--gold);margin:0 0 23px}.brand{font-weight:normal;text-transform:uppercase;font-size:clamp(50px,6.6vw,104px);line-height:.85;letter-spacing:-3px;margin:0;color:#e5ce9f;text-shadow:0 2px 1px #4c3925,0 5px 18px #000}.brand span{display:block}.brand em{display:block;font-style:normal;font-size:.30em;letter-spacing:.28em;margin:17px 0 0 .15em;line-height:1.3;color:#d1b685}.title-rule{width:70px;border:0;border-top:1px solid var(--gold);margin:32px 0}.title-menu{display:grid;gap:9px;width:min(320px,100%);margin-top:34px}.menu-button{border:1px solid #887049;background:linear-gradient(90deg,#30271cce,#141411dd);min-height:47px;padding:12px 20px;text-align:left;text-transform:uppercase;letter-spacing:2px;font-size:13px}.menu-button.primary{border-color:#bb9761;background:linear-gradient(100deg,#725131d9,#382719da)}.menu-button:hover:not(:disabled){background:#665032c9}.title-menu .secondary-row{display:flex;gap:24px;margin-top:11px}.text-button{background:none;border:0;border-bottom:1px solid transparent;padding:5px 0;color:#bcb098;font-size:12px;letter-spacing:1px}.text-button:hover{border-bottom-color:#b7a788}.edition{position:absolute;bottom:25px;left:8vw;right:30px;display:flex;justify-content:space-between;font:9px Arial,sans-serif;color:#a39a86;letter-spacing:2px;text-transform:uppercase}.panel-title{font-size:36px;font-weight:normal;margin:8px 0 20px;color:#e1c79d}.panel-copy{font-size:18px;line-height:1.65;color:#c4baa8;max-width:530px;margin:15px auto 26px}.panel-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:26px}.panel-actions .menu-button{text-align:center;min-width:165px}.ornament{color:#9b7947;font-size:25px;letter-spacing:20px;margin-bottom:20px}.loading-track{height:3px;background:#443523;margin:28px 0;width:100%}.loading-track i{height:100%;display:block;background:var(--gold);width:0;transition:width .3s}.loading-label{font:11px Arial,sans-serif;color:var(--muted);letter-spacing:2px}.setting-list{max-height:54vh;overflow:auto;text-align:left;padding:5px 15px 5px 0;scrollbar-color:#806744 #1a1914}.setting{display:flex;align-items:center;justify-content:space-between;gap:22px;border-bottom:1px solid #76644044;min-height:47px;padding:9px 0;font:13px Arial,sans-serif;color:#d4c8af}.setting small{display:block;color:#948c79;max-width:290px;line-height:1.5;margin-top:4px;font-size:11px}select{max-width:155px;padding:7px;background:#28241a;color:var(--pale);border:1px solid #766440}input[type=range]{width:125px;accent-color:#b38d52}input[type=checkbox]{accent-color:#b38d52;width:18px;height:18px}.binding{padding:7px 13px;border:1px solid #776647;background:#242016;min-width:96px;font:12px Arial,sans-serif}.upgrade-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:25px 0}.upgrade{background:#26201685;border:1px solid #73603d;padding:20px 10px;text-align:center}.upgrade .sigil{display:block;font-size:30px;color:var(--gold);margin:0 0 14px}.upgrade strong{display:block;font-weight:normal;font-size:19px}.upgrade small{display:block;min-height:36px;font:11px/1.5 Arial,sans-serif;color:#afa38d;margin:10px 0}.upgrade button{background:#513d24;border:1px solid #8e7046;padding:9px;width:100%;font:12px Arial,sans-serif}.stat-row{display:flex;justify-content:space-around;gap:15px;border-top:1px solid #796340;border-bottom:1px solid #796340;padding:22px 0;margin:20px 0}.stat-row strong{display:block;font-size:28px;font-weight:normal;color:#e7cc98}.stat-row span{font:10px/2 Arial,sans-serif;letter-spacing:1px;color:#a49a83;text-transform:uppercase}.chapters{display:grid;gap:10px}.chapter-card{position:relative;min-height:91px;background-size:cover;background-position:center;border:1px solid #76603d;text-align:left;padding:18px 22px;overflow:hidden}.chapter-card:before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0b100ff0,#0b100f50)}.chapter-card>*{position:relative}.chapter-card strong{font-weight:normal;font-size:22px;display:block}.chapter-card small{color:#c6b899;font:11px/2 Arial,sans-serif}.footnote{color:#8f8775;font:10px/1.7 Arial,sans-serif;letter-spacing:.4px}
#touch{position:absolute;inset:0;pointer-events:none;z-index:5}#touch button{pointer-events:auto;touch-action:none;border:1px solid #b292598c;background:radial-gradient(circle at 35% 30%,#40372ad4,#141713c9);box-shadow:inset 0 0 0 3px #14171288,0 2px 8px #0007;color:#d7bf90;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;border-radius:50%;font-family:Georgia,serif}#touch button.pressed{background:#9b743bb8;box-shadow:0 0 20px #d7a44477}.movement{position:absolute;bottom:max(22px,env(safe-area-inset-bottom));left:max(24px,env(safe-area-inset-left));display:grid;grid-template-columns:65px 65px;gap:6px;transform:scale(var(--touch-scale));transform-origin:left bottom}.movement button{width:65px;height:65px;font-size:43px}.movement button:last-child{grid-column:1 / 3;justify-self:center;width:50px;height:35px;font-size:30px;border-radius:20px!important}.actions{position:absolute;right:max(25px,env(safe-area-inset-right));bottom:max(25px,env(safe-area-inset-bottom));width:205px;height:145px;transform:scale(var(--touch-scale));transform-origin:right bottom}.actions button{position:absolute;width:65px;height:65px;font-size:31px}.rage-button{left:0;bottom:0;width:48px!important;height:48px!important;font-size:26px!important}.dodge-button{left:47px;top:6px}.attack-button{right:34px;bottom:0;width:78px!important;height:78px!important}.jump-button{right:0;top:0}#rotate{display:grid;place-content:center;text-align:center;background:#11130ffa;z-index:30}#rotate>span{font-size:65px;color:var(--gold)}#rotate h2{font-size:28px;font-weight:normal;margin:15px}#rotate p{color:var(--muted)}@media(max-height:560px){#overlay{padding:18px}.brand{font-size:59px}.eyebrow{margin-bottom:15px}.title-rule{margin:20px 0}.title-menu{margin-top:23px;gap:7px}.menu-button{min-height:39px;padding:10px 16px}.edition{bottom:12px}.panel-title{font-size:28px;margin:6px 0 12px}.panel-copy{font-size:16px;margin:10px auto 15px}.ornament{margin:0;font-size:19px}.panel-actions{margin-top:15px}.setting-list{max-height:50vh}#hud{top:14px;left:max(18px,env(safe-area-inset-left));right:max(18px,env(safe-area-inset-right))}.hero-seal{width:36px;height:46px;font-size:27px}.meter{width:170px;height:11px}.rage{width:130px;height:6px}.health-line{font-size:8px}.wealth{font-size:19px}.wealth #relic-count{font-size:10px}.icon-button{height:34px;width:34px;font-size:17px}#chapter-label{top:76px;left:max(20px,env(safe-area-inset-left))}#area-name{font-size:14px}#chapter-name{font-size:8px}#boss-hud{bottom:15px;width:32vw}#boss-name{font-size:13px}#notice{top:22%;font-size:16px}#subtitle{font-size:14px;bottom:12%;left:25%;width:50%}.upgrade{padding:13px 8px}.upgrade-grid{margin:15px 0}.upgrade .sigil{margin-bottom:7px;font-size:25px}#interact-prompt{bottom:15%}#interact-prompt button{font-size:12px;padding:8px}.stat-row{padding:12px 0;margin:12px 0}}
@media(max-width:600px){#overlay.title-screen{padding:6vh 7vw;background-position:64% center}.brand{font-size:61px}.upgrade-grid{gap:7px}.upgrade strong{font-size:16px}.panel-title{font-size:29px}.panel-copy{font-size:16px}.setting{font-size:12px}.wealth #relic-count{display:none}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}

#encounter-status{position:fixed;bottom:calc(24px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);padding:9px 18px;border:1px solid #b67738;background:#1c130ee8;color:#f5cf94;letter-spacing:.07em;font-size:13px;pointer-events:none;z-index:9;white-space:nowrap} @media(pointer:coarse){#encounter-status{bottom:auto;top:83px;font-size:10px;padding:6px 10px}}
