@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600&family=Inter:wght@400;500;600;700&display=swap');
:root{--cream:#f7f4df;--mint:#b7e3c0;--gold:#e6d89a}*{box-sizing:border-box}body{margin:0;background:#8bc2c2;color:var(--cream);font-family:Inter,Arial,sans-serif;overflow:hidden}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}#game{position:fixed;inset:0}#game canvas{display:block;width:100%;height:100%}.vignette{position:fixed;inset:0;pointer-events:none;background:linear-gradient(180deg,#092a263e,transparent 23%,transparent 65%,#08251d91)}header{position:absolute;left:42px;right:42px;top:29px;display:flex;justify-content:space-between;align-items:center}.brand{color:var(--cream);text-decoration:none;display:flex;gap:12px;align-items:center;font-family:Georgia,serif;letter-spacing:5px;font-size:25px}.brandmark{font-size:49px;font-weight:normal}.brand small{display:block;font:8px Inter,Arial,sans-serif;letter-spacing:3.2px;margin-top:5px}nav{display:flex;gap:10px}nav button{border:1px solid #e7ead52e;background:#183e3445;border-radius:5px;padding:10px 13px;font-size:11px;backdrop-filter:blur(12px)}kbd{font:9px Inter,Arial,sans-serif;border:1px solid #ffffff45;border-radius:3px;padding:4px 5px;margin-left:8px;color:#fff9}#hud{position:absolute;left:44px;top:132px;pointer-events:none}#hearts{color:#ffebc5;font-size:20px;letter-spacing:4px;text-shadow:0 2px 10px #2e5146}.stamina{margin-top:9px;height:4px;background:#ecf7e838;width:154px;border-radius:4px;overflow:hidden}.stamina i{display:block;height:100%;background:#b5eeb9;width:100%}.region{margin-top:31px}.tiny{font-size:9px;letter-spacing:2px;color:#e3ebd4b0}.region h2{font-family:Georgia,serif;font-weight:normal;font-size:22px;margin:9px 0}.region p{font-size:9px;letter-spacing:3px;color:#e2edd3a6}#quest{position:absolute;right:43px;top:137px;width:236px;padding:20px 22px;border:1px solid #eaf1d224;border-radius:3px;background:linear-gradient(120deg,#153c326b,#153c322a);backdrop-filter:blur(10px)}#quest h3{font:20px Georgia,serif;line-height:1.3;margin:12px 0}#quest p{font-size:11px;line-height:1.8;color:#e6edddad}.seals{display:flex;justify-content:space-between;margin:19px 0 12px}.seal{width:29px;height:29px;display:grid;place-items:center;border:1px solid #e3e7c839;transform:rotate(45deg);color:#e3e7c872}.seal span{transform:rotate(-45deg);font-size:15px}.seal.done{color:#133c30;background:#e3d9a7}.questCount{font-size:9px;letter-spacing:1px;color:#e6edddad}#intro{position:absolute;top:38%;left:7%;text-shadow:0 2px 30px #18352d55}.eyebrow{font-size:9px;letter-spacing:4px;color:#e6efd6}h1{font:normal clamp(40px,5.4vw,80px)/1.02 'Cormorant Garamond',Georgia,serif;letter-spacing:-2px;margin:20px 0}#intro p{font-size:12px;line-height:1.9;color:#f1f2dfc2}.primary{background:#f0ebcf;border:0;color:#284b3c;padding:16px 24px;font-size:11px;letter-spacing:.5px;margin-top:17px;min-width:220px;text-align:left;border-radius:2px}.primary span{float:right;margin-left:30px}.primary:hover{background:white}.introNote{font-size:8px;letter-spacing:1.4px;color:#eff6dc89;margin-top:17px}footer{position:absolute;bottom:29px;left:42px;right:42px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.weapon{display:flex;gap:14px;align-items:center}.weaponIcon{border:1px solid #e4edd43a;background:#204f3750;width:52px;height:57px;display:grid;place-items:center;font-size:27px}.weapon strong{display:block;font:19px Georgia,serif;margin:5px 0}.weapon #weaponInfo{font-size:8px;letter-spacing:1.5px;color:#e6ebd49c}.controls{display:flex;gap:14px;padding-bottom:10px;font-size:9px;color:#f3f3dcc2}.controls kbd{margin:0 4px 0 0}.controls span{white-space:nowrap}#miniMap{width:146px;height:146px;border-radius:50%;border:1px solid #e9e9cb66;position:relative;background:#1c453cc4;padding:3px;box-shadow:0 0 0 6px #d7e6c511;flex-shrink:0}#radar{width:100%;height:100%;border-radius:50%}#miniMap span{position:absolute;top:-17px;left:47%;font-size:10px;color:#ece0b5}#crosshair{position:absolute;top:50%;left:50%;font-size:23px;pointer-events:none;opacity:0}body.playing #intro{display:none}body.playing #crosshair{opacity:.8}body.playing .region{opacity:.85}#toast{position:absolute;top:105px;left:50%;transform:translateX(-50%);padding:12px 24px;background:#143c30e8;border:1px solid #c2d5a65e;border-radius:4px;font-size:12px;opacity:0;transition:opacity .2s;text-align:center;max-width:500px;pointer-events:none}#prompt{position:absolute;bottom:150px;left:50%;transform:translateX(-50%);font-size:13px;text-shadow:0 2px 5px #000;background:#10372ba8;border-radius:4px;padding:12px 20px;display:none}#bossHud{position:absolute;top:112px;left:50%;transform:translateX(-50%);width:350px;text-align:center}#bossHud h2{font:26px Georgia,serif;margin:8px}.bossTrack{height:6px;background:#131f25b5}.bossTrack i{display:block;height:100%;width:100%;background:#da8b66}#modal{position:fixed;inset:0;background:#08271cd0;backdrop-filter:blur(12px);display:grid;place-items:center;z-index:10}#modal[hidden],#bossHud[hidden]{display:none}.panel{width:min(860px,92vw);max-height:86vh;overflow:auto;background:#163d32;border:1px solid #b3c79c55;padding:36px;position:relative;box-shadow:0 30px 100px #0005}.panel h2{font:38px Georgia,serif;margin:12px 0}.panel p{font-size:12px;color:#c9d8bc;line-height:1.8}#closeModal{position:absolute;right:15px;top:10px;background:none;border:0;font-size:29px}.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:24px}.item{background:#ffffff06;border:1px solid #d5dfb429;padding:18px 12px;text-align:left;min-height:95px;border-radius:3px}.item:hover,.item.active{background:#dfe6b51c;border-color:#dfe6b5}.item b{display:block;font:16px Georgia,serif;margin:8px 0}.item small{font-size:9px;color:#b5cda8}.mapGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.mapCard{background:#ffffff06;padding:20px;border:1px solid #d5dfb433;text-align:left}.mapCard b{display:block;font:22px Georgia,serif;margin:8px 0}.mapCard small{color:#b9c8a8;line-height:1.7}.helpGrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.helpGrid p{border-bottom:1px solid #d5dfb41a;padding-bottom:10px}#damage{position:fixed;inset:0;box-shadow:inset 0 0 150px #d12d24;opacity:0;pointer-events:none;transition:opacity .15s}.mobileControls{display:none}@media(max-width:900px){header{left:20px;right:20px}.brand{font-size:18px;letter-spacing:3px}nav button{padding:8px}nav span,nav kbd{display:none}#hud{left:23px}#quest{right:20px;width:195px;padding:15px}footer{left:20px;right:20px}.controls{display:none}#intro{left:7%;top:39%}#miniMap{width:110px;height:110px}.grid{grid-template-columns:repeat(2,1fr)}.panel{padding:25px}#bossHud{top:92px;width:240px}body.playing #quest{top:220px}}@media(max-height:650px){#intro{top:31%}#intro h1{font-size:48px}#quest{top:114px}#hud{top:110px}.region{margin-top:15px}}

body:not(.playing) .vignette{background:linear-gradient(90deg,#123c354d,transparent 65%),linear-gradient(180deg,#092a263e,transparent 23%,transparent 65%,#08251d91)}

#hearts{display:grid;grid-template-columns:repeat(20,14px);gap:3px 2px;font-size:16px;line-height:18px;letter-spacing:0;color:#752f30;filter:drop-shadow(0 1px 2px #182720)}.heart{position:relative;display:block;width:14px}.heart>span{position:absolute;left:0;top:0;overflow:hidden;color:#f06458;white-space:nowrap}#bossHud{top:210px}#toast{top:85px}@media(max-width:600px){#hearts{grid-template-columns:repeat(20,10px);font-size:14px;gap:2px 1px}.heart{width:10px}#quest{display:none}#bossHud{top:220px}}

#bossHud{top:112px;width:min(460px,50vw);pointer-events:none;text-shadow:0 2px 8px #000;transition:width 1.4s ease}#bossHud.demon{width:min(780px,64vw)}#bossHud h2{font-size:30px;letter-spacing:1px}.bossTrack{height:9px;border:1px solid #dbb89b66;background:#21191fe6;box-shadow:0 3px 18px #0005}.bossTrack i{background:linear-gradient(90deg,#9c273e,#ed695c);transition:width .18s}.bossMeta{display:flex;justify-content:space-between;margin-top:9px;font-size:9px;letter-spacing:1.8px;color:#eed4c4}#bossStatus{font-size:11px;line-height:1.6;color:#f3dfbf;background:#1f222c99;padding:7px 12px;border-radius:3px}body.boss-fight #quest{display:none}body.boss-fight .region{opacity:0}.heart.gloom{color:#af729e}.heart.gloom>span{color:#53404f}@media(max-width:900px){#bossHud{top:215px;width:min(450px,80vw)}#bossHud.demon{width:85vw}#bossHud h2{font-size:24px}}
