*{box-sizing:border-box;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}html,body{margin:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none;background:#101718;color:#f2e6cd;font-family:Georgia,'Times New Roman',serif}body{display:flex;align-items:center;justify-content:center;position:fixed;inset:0}button{font:inherit;color:inherit;cursor:pointer;border:1px solid #82704a;background:linear-gradient(#33372c,#1b2522);min-height:46px;padding:12px 22px;transition:background .15s,transform .15s}button:hover{background:#444935;border-color:#d5b477}button:active{transform:translateY(1px)}button:focus-visible{outline:2px solid #f4d79a;outline-offset:3px}button:disabled{opacity:.45;cursor:default}#game{position:relative;width:100vw;height:100vh;height:100dvh;max-width:none;max-height:none;overflow:hidden;background:#253632}canvas{width:100%;height:100%;display:block}#hud{position:absolute;top:max(14px,env(safe-area-inset-top));left:22px;right:22px;display:flex;gap:20px;align-items:center;pointer-events:none;text-shadow:0 2px 4px #000}#hud button{pointer-events:auto}.crest{font-size:40px;color:#e7c48c}.meter{width:185px;font:12px system-ui;letter-spacing:1px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}.meter b{font-size:11px;letter-spacing:0}.track{width:100%;height:6px;background:#0b1115;border:1px solid #7a6b4b}.track i{height:100%;display:block;background:linear-gradient(90deg,#8d763e,#e9c987);transition:width .15s}.hero-meter{width:145px}.hero-meter i{background:linear-gradient(90deg,#675342,#cf7855)}.wave{margin-left:auto;display:flex;gap:12px;align-items:center}.wave small{font:10px system-ui;letter-spacing:2px}.wave strong{font-weight:400;font-size:36px}.icon{min-width:46px;padding:8px;font-family:system-ui;font-size:18px;background:#111c20b8}#bottom{position:absolute;bottom:max(22px,env(safe-area-inset-bottom));left:24px;right:24px;display:flex;align-items:center;gap:20px;font:12px system-ui;pointer-events:none}#bottom button{pointer-events:auto}#hint{color:#c9c6ad;flex:1;text-align:center;text-shadow:0 2px 3px #000}#score{color:#e5c88c;min-width:110px}#skill{max-width:180px;border-color:#6d998b;background:#152d2ddd;font:12px system-ui}#overlay{position:absolute;inset:0;background:linear-gradient(90deg,#091216d9,#0b151750);display:flex;align-items:center;justify-content:center;padding:24px;overflow:hidden}#overlay:empty{display:none}.panel{width:min(720px,100%);padding:34px 40px;background:linear-gradient(140deg,#172326f7,#10191df5);border:1px solid #766b4e;box-shadow:0 30px 100px #0008;text-align:center;max-height:100%;overflow:auto;touch-action:pan-y}.panel.menu{background:linear-gradient(90deg,#0e191deb,#122023ce);width:min(580px,100%)}.eyebrow{font:10px system-ui;letter-spacing:4px;color:#c9a86b;text-transform:uppercase}.ornament{font-size:32px;color:#dcbd7f;margin:10px}h1{font-weight:400;font-size:clamp(34px,5vw,62px);line-height:1.05;margin:18px 0;color:#f3dfb4}h2{font-weight:400;font-size:30px;margin:16px 0}p{font:14px/1.7 system-ui;color:#bbc6bf;margin:14px 0 22px}.primary{background:linear-gradient(#b79960,#806333);color:#fff4d9;border-color:#e4c18a;min-width:210px;font-size:17px}.primary:hover{background:#b69454}.actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.subactions{display:flex;justify-content:center;gap:9px;margin-top:15px}.subactions button{font:12px system-ui;padding:9px 14px;background:transparent;border-color:#526057}.meta{font:11px system-ui;color:#8c9d94;letter-spacing:1px;margin-top:24px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:24px 0}.card{padding:20px 12px;min-height:175px;text-align:left}.card .symbol{font-size:32px;display:block;color:#dfbe7e;margin-bottom:12px}.card b{display:block;font-size:17px;font-weight:400}.card span:last-child{display:block;font:12px/1.5 system-ui;color:#b9c7bd;margin-top:10px}.stats{display:flex;justify-content:center;gap:35px;margin:25px 0}.stats strong{display:block;font-size:32px;font-weight:400;color:#e1bb77}.stats span{font:11px system-ui;color:#a7b5ac}.help{text-align:left;font:14px/1.7 system-ui;color:#bac6bf}.help li{margin:10px 0}#toast{position:absolute;top:110px;left:15%;right:15%;text-align:center;font-size:25px;color:#f6db9b;pointer-events:none;text-shadow:0 2px 10px #000;transition:opacity .3s}#bossbar{position:absolute;top:82px;width:36%;left:32%;font:11px system-ui;text-align:center;color:#e8bba3}#bossbar .track{margin-top:7px}#bossbar i{background:#bd6349}#joystick{position:absolute;width:100px;height:100px;border-radius:50%;border:1px solid #e5ce8a66;background:#10232466;pointer-events:none}#joystick i{position:absolute;width:36px;height:36px;left:31px;top:31px;border-radius:50%;background:#d8bf7977;border:1px solid #e5ce8a99}.notice{font:12px system-ui;color:#dcb77f} @media(max-width:600px){#hud{left:12px;right:12px;gap:10px}.crest{display:none}.meter{width:116px;font-size:9px;letter-spacing:0}.hero-meter{width:88px}.wave{gap:5px}.wave strong{font-size:25px}.wave small{font-size:8px;letter-spacing:0}.icon{min-width:40px;min-height:42px}#bottom{left:12px;right:12px;bottom:14px;gap:8px}#hint{font-size:10px}#score{min-width:65px;font-size:10px}#skill{max-width:118px;font-size:10px;padding:10px}.panel{padding:22px 18px}.cards{gap:7px;margin:16px 0}.card{min-height:160px;padding:12px 8px}.card b{font-size:14px}.card span:last-child{font-size:11px}.card .symbol{font-size:25px}p{font-size:12px}.meta{font-size:10px}#bossbar{width:60%;left:20%}#toast{font-size:20px;top:115px}}@media(max-height:500px){.panel{padding:16px 24px}h1{font-size:36px;margin:8px 0}h2{font-size:24px;margin:8px 0}.ornament{display:none}p{margin:8px 0 12px}.meta{margin-top:10px}.cards{margin:10px 0}.card{min-height:120px;padding:10px}.card .symbol{font-size:22px;margin-bottom:5px}#hud{top:8px}#bottom{bottom:10px}.subactions{margin-top:8px}}

#toast{z-index:5}
@media(pointer:coarse){#game{max-height:none;max-width:none}}
/* Version 1.1 — carved bronze, hammered iron and ember lighting. */
html,body{background:#141513;color:#e8ddc5}
#game{background:#171a18}
button{position:relative;border:1px solid #77664c;background:linear-gradient(100deg,#ffffff05,transparent 35%,#0003),repeating-linear-gradient(0deg,#0000 0px,#0000 2px,#0002 3px),linear-gradient(#383830,#181b19);box-shadow:inset 0 1px #c2ae7660,inset 0 -3px #080a08,0 3px 8px #0007;text-shadow:0 2px 2px #000;letter-spacing:.2px}
button:before,button:after{content:'';position:absolute;width:3px;height:3px;top:5px;background:#c4aa73;box-shadow:0 1px 2px #000}
button:before{left:5px}button:after{right:5px}
button:hover{background:linear-gradient(#535044,#292c27);box-shadow:inset 0 1px #e2cf9e99,inset 0 -3px #0a0b09,0 0 18px #b58d3a25}
#hud{top:max(16px,env(safe-area-inset-top));left:24px;right:24px;gap:18px;filter:drop-shadow(0 3px 6px #000)}
#hud:before{content:'';position:absolute;z-index:-1;top:-24px;left:-30px;right:-30px;height:105px;background:linear-gradient(#090b0cf5,#0a0c0ab0 60%,transparent);pointer-events:none}
.crest{width:48px;height:54px;display:flex;align-items:center;justify-content:center;font-size:31px;color:#d6bd84;text-shadow:0 2px #040403;background:linear-gradient(135deg,#544b39,#1b211f 48%,#49432f);clip-path:polygon(0 0,100% 0,94% 73%,50% 100%,6% 73%);border-top:2px solid #a28d62}
.meter{width:200px;gap:9px;font-size:10px;color:#c8b48a;letter-spacing:1.5px}.meter b{font-size:11px;color:#f1dfba;font-weight:500}
.track{height:10px;border:1px solid #a08b5d;outline:2px solid #141611;box-shadow:0 2px 3px #000,inset 0 1px 3px #000}
.track i{background:linear-gradient(#d1b97e,#9b7439 45%,#715024 50%,#c2a063);box-shadow:inset 0 1px #fff3a080,inset 0 -1px #231b13}
.hero-meter{width:160px}.hero-meter i{background:linear-gradient(#e97453,#a43129 45%,#5a1818 50%,#c54831);box-shadow:inset 0 1px #ffb6a060,inset 0 -1px #390c0c}
.wave{gap:12px;color:#e5c38c}.wave strong{font-size:39px;text-shadow:0 2px #000,0 0 14px #e5ae4933}.wave small{letter-spacing:2px;color:#c2ae88}
.icon{border-color:#77674c;background:linear-gradient(#363c37,#141a18);box-shadow:inset 0 0 0 3px #101611,0 2px 5px #000}
#bottom{bottom:max(18px,env(safe-area-inset-bottom));left:25px;right:25px;font-size:11px}
#bottom:before{content:'';position:absolute;z-index:-1;bottom:-24px;left:-30px;right:-30px;height:100px;background:linear-gradient(transparent,#080b0cde);pointer-events:none}
#score{padding:12px 16px;border-left:2px solid #b29964;background:linear-gradient(90deg,#121611cc,transparent);color:#dcc49a;font-size:11px;letter-spacing:.7px}
#hint{color:#cbc1a7;text-shadow:0 2px 3px #000;font-size:11px}
#skill{min-height:54px;max-width:220px;padding:12px 24px;border:1px solid #af9d70;box-shadow:inset 0 0 0 3px #1a2421,inset 0 0 16px #adcbba22,0 0 0 2px #080b08,0 3px 12px #000;background:radial-gradient(ellipse at 50% 0,#5a766c88,transparent 70%),linear-gradient(#24312c,#101917);color:#e6d5aa;text-shadow:0 1px 2px #000;letter-spacing:1px}
#skill:disabled{opacity:.6}
#overlay{background:radial-gradient(ellipse at center,#06080975,#080c0fe0);padding:32px}
#overlay.menu{justify-content:flex-start;padding-left:7%;background:linear-gradient(90deg,#070b0ffa,#0b0e11c4 38%,#0b111630 68%,#07090c30)}
.panel{position:relative;background:repeating-linear-gradient(0deg,#ffffff02 0,#ffffff02 1px,transparent 1px,transparent 4px),radial-gradient(ellipse at 50% 0,#55513e25,transparent 60%),linear-gradient(120deg,#252821fa,#101512fa);border:1px solid #ac9562;outline:3px solid #141811;box-shadow:inset 0 0 0 5px #0004,inset 0 0 0 6px #99845b40,0 24px 90px #000c;padding:36px 40px}
.panel:before,.panel:after{content:'◆';position:absolute;left:50%;transform:translateX(-50%);color:#bf9c5c;background:#1d221b;padding:0 14px;font-size:13px;line-height:10px;text-shadow:0 2px #000}
.panel:before{top:1px}.panel:after{bottom:1px}
.panel.menu{width:min(490px,100%);padding:36px 32px;background:repeating-linear-gradient(0deg,#fff1 0,transparent 1px,transparent 4px),linear-gradient(140deg,#23271dec,#0b1011ed);box-shadow:inset 0 0 0 5px #10160ba0,inset 0 0 0 6px #a8935333,0 25px 80px #0008}
.eyebrow{font-size:10px;letter-spacing:3px;color:#c8ad71;text-shadow:0 2px #000}
.ornament{font-size:32px;color:#dfbf76;text-shadow:0 0 20px #c5934860;margin:14px auto}
h1{font-size:clamp(36px,4.8vw,61px);line-height:1.04;color:#ead4a1;text-shadow:0 3px 0 #1a130a,0 0 22px #b3763133;font-variant:small-caps;letter-spacing:-1px}
h2{font-size:31px;color:#e8d3a4;text-shadow:0 3px 3px #000}
p{color:#bfb9a7;font-size:13px;line-height:1.8}
.primary{background:repeating-linear-gradient(0deg,#0000 0px,#0000 2px,#0001 3px),linear-gradient(#b39254,#7f5b2e 49%,#694620 50%,#9e7640);border-color:#d3b978;box-shadow:inset 0 0 0 3px #624822,inset 0 0 0 4px #dabd6f70,0 3px 8px #000;color:#fff0c8;min-height:52px;letter-spacing:.4px}
.primary:hover{background:linear-gradient(#c0a165,#8e6633)}
.subactions button{border-color:#696047;background:linear-gradient(#232b2455,#10171299);color:#c7c0aa}
.meta{font-size:10px;line-height:1.5;color:#a79c82;border-top:1px solid #75644360;padding-top:17px;margin-top:22px}
.cards{gap:16px;margin:25px 0}
.card{min-height:196px;padding:24px 16px;background:radial-gradient(ellipse at 50% 15%,#8c74332b,transparent 68%),linear-gradient(150deg,#343a2f,#171d19);box-shadow:inset 0 0 0 3px #151911,0 4px 9px #0008}
.card .symbol{width:56px;height:56px;text-align:center;line-height:54px;font-size:36px;margin:0 auto 18px;border:1px solid #81734b;background:radial-gradient(#615741,#1a211a 72%);box-shadow:inset 0 0 0 3px #171c15,0 2px 5px #000;color:#e0c28b;text-shadow:0 0 15px #daa15655}
.card b{text-align:center;color:#e3d0a6;font-size:17px}.card span:last-child{color:#bfbba8;font-size:12px;text-align:center;line-height:1.6}
#bossbar{top:90px;padding:9px 22px 12px;background:linear-gradient(90deg,transparent,#160d0cde 15%,#160d0cde 85%,transparent);color:#e6b98c;letter-spacing:1px}#bossbar .track{height:8px}#bossbar i{background:linear-gradient(#d5714c,#742a21,#b85135)}
#toast{font-variant:small-caps;color:#f0d39a;top:115px;text-shadow:0 2px 4px #000,0 0 20px #000;font-size:28px}
.loading-ember{height:4px;width:120px;margin:30px auto;background:linear-gradient(90deg,transparent,#f1bc5f,transparent);animation:ember-pulse 1.4s ease-in-out infinite}@keyframes ember-pulse{50%{opacity:.3;transform:scaleX(.65)}}
@media(max-width:600px){#hud{top:12px;left:12px;right:12px;gap:10px}.crest{display:none}.meter{width:112px;font-size:9px;letter-spacing:.3px;gap:7px}.meter b{font-size:10px}.hero-meter{width:87px}.track{height:8px}.wave{gap:5px}.wave small{font-size:8px;letter-spacing:0}.wave strong{font-size:28px}.icon{min-width:38px}#bottom{left:12px;right:12px;bottom:18px;gap:7px}#score{padding:8px;font-size:9px;min-width:75px;max-width:130px}#hint{font-size:9px;line-height:1.4}#skill{padding:10px;max-width:124px;min-height:52px;font-size:10px;letter-spacing:.2px}#overlay,#overlay.menu{padding:20px;justify-content:center}.panel,.panel.menu{padding:26px 20px}.eyebrow{font-size:9px;letter-spacing:2px}.ornament{margin:8px auto}h1{font-size:43px}h2{font-size:27px}p{font-size:12px}.subactions{gap:6px}.subactions button{padding:8px 11px;font-size:11px}.cards{gap:8px}.card{padding:16px 8px;min-height:193px}.card .symbol{width:40px;height:42px;line-height:40px;font-size:27px;margin-bottom:12px}.card b{font-size:14px}.card span:last-child{font-size:11px;line-height:1.5}#bossbar{top:78px;width:74%;left:13%;font-size:10px}.meta{padding-top:13px}#toast{font-size:22px}}
@media(max-height:500px){#overlay,#overlay.menu{padding:14px;justify-content:center}.panel,.panel.menu{padding:18px 25px;max-width:670px}h1{font-size:36px;margin:10px 0}.ornament{display:none}.meta{padding-top:8px;margin-top:12px}.card{min-height:130px;padding:10px}.card .symbol{width:34px;height:34px;line-height:32px;font-size:24px;margin-bottom:7px}.cards{margin:12px 0}.primary{min-height:46px}.subactions{margin-top:10px}h2{font-size:26px}.wave strong{font-size:28px}#hud{top:8px}#bossbar{top:65px}}
