@font-face{font-family:"Knightle Quill";src:url("assets/fonts/quill-fine.woff") format("woff");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:"Knightle Quill";src:url("assets/fonts/quill-fine-bold.woff") format("woff");font-style:normal;font-weight:700;font-display:swap}
/* KNIGHTLE — a continuous, first-person medieval game stage. */
:root{--ink:#091311;--cream:#eee3c8;--muted:#b5b9a5;--gold:#d7b575;--gold-dark:#826735;--green:#91b795;--amber:#d3b472;--ad-space:calc(60px + env(safe-area-inset-bottom));color-scheme:dark;font-family:"Knightle Quill",Georgia,'Times New Roman',serif}
*{box-sizing:border-box}html{min-width:320px;background:#07100e}body{margin:0;padding:0 0 var(--ad-space);color:var(--cream);min-width:320px;background:#0b1412}button,input{font:inherit}button{cursor:pointer;touch-action:manipulation;color:inherit;-webkit-tap-highlight-color:transparent}button:disabled{cursor:default;opacity:.46}button:focus-visible,a:focus-visible,input:focus-visible{outline:2px solid #f4e5ae;outline-offset:5px}button{transition:filter .15s,transform .15s}button:not(:disabled):active{transform:translateY(2px)}a{color:#ddc38f}p{line-height:1.5}button,canvas{user-select:none}h1,h2,p{margin-top:0}h1,h2{font-weight:normal}
.shell.stage{position:relative;isolation:isolate;min-height:calc(100svh - var(--ad-space));width:100%;overflow:hidden}.gate-world{position:fixed;z-index:-3;inset:0 0 var(--ad-space);width:100%;height:calc(100dvh - var(--ad-space));image-rendering:pixelated;pointer-events:none}.shell.stage:before{content:'';position:fixed;z-index:-2;inset:0 0 var(--ad-space);background:linear-gradient(90deg,#06110ed9,transparent 50%,#07100f55),linear-gradient(#030b0e33,transparent 50%,#030a08b3);pointer-events:none}.stage-combat:before{background:linear-gradient(#05110f99,transparent 30%,transparent 44%,#06110f9e 66%,#060d0de6)!important}.stage-dust{display:none}.screen{position:relative;margin:0 auto;width:100%;max-width:1000px;padding:80px 26px 35px;min-height:calc(100svh - var(--ad-space))}.eyebrow{color:#d4c5a2;font:10px/1.4 "Knightle Quill",Georgia,serif;letter-spacing:3px;text-transform:uppercase}.stage-enter>.screen{animation:enter-room .45s ease-out both}@keyframes enter-room{from{opacity:.2;transform:translateY(8px)}to{opacity:1;transform:none}}
.menu-toggle,.stage-back{position:absolute;z-index:20;top:max(18px,env(safe-area-inset-top));width:40px;height:40px;background:#12201d88;border:1px solid #94856977;border-radius:50%;color:#d8c7a1;font-size:20px;box-shadow:inset 0 0 0 4px #07120e88;display:grid;place-items:center}.menu-toggle{right:max(22px,env(safe-area-inset-right))}.stage-back{left:max(22px,env(safe-area-inset-left))}.menu-toggle:hover,.stage-back:hover{background:#685338aa;filter:brightness(1.3)}
#advertisement-space{position:fixed;z-index:80;left:0;right:0;bottom:0;height:var(--ad-space);background:#08100e;border-top:1px solid #a88b3c22;display:flex;align-items:center;justify-content:center;pointer-events:none}#advertisement-space span{font:8px/1 system-ui,sans-serif;letter-spacing:2px;text-transform:uppercase;color:#566157;opacity:.7}
/* Readable ivory-and-gold wordmark; the blade passes behind the lettering. */
.home.screen{display:flex;flex-direction:column;align-items:center;justify-content:center;max-width:940px;padding:45px 30px 24px}.home-top{width:min(680px,100%);text-align:center;margin:0 auto 28px}.home-top h1{margin:0}.wordmark{display:block;width:100%;height:auto;filter:drop-shadow(0 7px 9px #020a08)}.home-oath{font:9px/1.5 "Knightle Quill",Georgia,serif;letter-spacing:3.6px;color:#a5b4a6;margin:0;text-shadow:0 2px 4px #000}.quest-menu-layout{display:grid;grid-template-columns:300px 230px;gap:75px;align-items:center;width:max-content;max-width:100%}.quest-choices{display:flex;flex-direction:column;gap:13px}.quest-choices .btn{position:relative;isolation:isolate;background:none;border:0;border-radius:0;box-shadow:none;text-align:left;font:22px/1.25 "Knightle Quill",Georgia,serif;letter-spacing:3px;color:#e9dbba;padding:14px 18px 14px 38px;min-height:54px;text-shadow:0 2px 5px #000}.quest-choices .btn:before{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#34483f99,#18292244,transparent);clip-path:polygon(0 12%,95% 0,100% 50%,95% 100%,0 88%);border-left:1px solid #8f9e7977}.quest-choices .btn:after{content:'';position:absolute;bottom:0;left:35px;right:10px;height:1px;background:linear-gradient(90deg,#c1a16466,transparent)}.quest-choices .btn:hover{color:#ffebba;background:none;transform:translateX(5px)}.quest-choices .embark{font-size:30px;color:#ffe7a7;letter-spacing:4px}.quest-choices .embark:before{background:linear-gradient(90deg,#75613fbb,#30423977,transparent)}.menu-roman{position:absolute;left:11px;top:50%;transform:translateY(-50%);font-size:9px;color:#baaa7a;letter-spacing:0}.quest-choices .btn small{display:block;font-size:8px;letter-spacing:1.6px;color:#a4aa92;padding-top:4px}.quest-choices .hard-entry{font-size:15px;color:#a8ad99;min-height:46px;padding-top:7px;padding-bottom:8px}.pixel-lock{display:inline-block;width:9px;height:8px;border:1px solid #ada88c;position:relative;margin:0 5px}.pixel-lock:before{content:'';position:absolute;width:5px;height:5px;border:1px solid #ada88c;border-bottom:0;left:1px;top:-6px;border-radius:3px 3px 0 0}
.knight-dossier{display:flex;flex-direction:column;align-items:stretch;gap:9px}.level-panel{text-align:center;color:#e3d2ab;font-size:10px;letter-spacing:1.8px}.level-panel small{font:9px/1.4 "Knightle Quill",Georgia;color:#a5aa92;letter-spacing:.5px}.meter{height:5px;background:#07100c;border:1px solid #806b45;overflow:hidden;margin:7px 0 5px}.meter i{display:block;height:100%;background:linear-gradient(90deg,#847143,#e4c883);transition:width .4s}.dossier-gold{border:0;background:none;color:#e5bc64;font:17px "Knightle Quill",Georgia;min-height:32px}.dossier-gold small{font-size:8px;letter-spacing:1.5px;margin-left:6px}.coin-icon{display:inline-block;width:10px;height:10px;border:2px solid #d5ad5d;border-radius:50%;background:#98733e;box-shadow:inset 0 0 0 1px #f3d18b;vertical-align:baseline;margin-right:7px}.portrait-button{padding:0;border:0;background:none;position:relative;text-align:center}.portrait-button .scene{position:relative;border:9px solid #3d281b;border-image:linear-gradient(135deg,#b18b50,#56391f 25%,#8b6137 50%,#32261c 70%,#a47b42) 9;box-shadow:inset 0 0 0 2px #d9b877,0 0 0 1px #141c16,0 15px 30px #0008;overflow:hidden;background:#0c1816}.portrait-button:hover{filter:brightness(1.12)}.portrait-button .pixel-scene{width:100%;height:auto;aspect-ratio:240/260;display:block;image-rendering:pixelated}.portrait-label{position:absolute;bottom:10px;left:10px;right:10px;font-size:9px;letter-spacing:2px;color:#ecdcac;padding:20px 2px 4px;background:linear-gradient(transparent,#07110ee6)}.portrait-label small{display:block;font-size:7px;letter-spacing:1.8px;color:#b0b89f;margin-top:4px}.quest-caption{text-align:center;margin:27px 0 0;color:#afb8a5;font-size:11px;text-shadow:0 2px 5px #000}.quest-caption p{margin:0 0 10px;color:#c3c7af;font-style:italic}.quest-caption>span{font-size:9px;letter-spacing:2px}.home-counter{margin-top:9px;font-size:8px;letter-spacing:1.5px;color:#9da58e}.home-counter strong{color:#cdbb91;font-size:10px;margin-left:6px}
/* A first-person view: the environment and enemy occupy the same stage as the runes. */
.combat.screen{max-width:650px;padding:28px 22px 12px;display:flex;flex-direction:column;height:calc(100svh - var(--ad-space));min-height:720px;gap:0}.delve-path{display:flex;justify-content:space-between;align-items:center;max-width:440px;margin:0 auto 15px;width:calc(100% - 70px);font-size:8px;letter-spacing:2px;color:#c5c5aa}.delve-path>div{display:flex;gap:7px;align-items:center}.delve-path i{display:block;width:5px;height:5px;transform:rotate(45deg);border:1px solid #9e957b}.delve-path i.here{background:#ebce8c;box-shadow:0 0 7px #ebce8c77}.delve-path i.passed{background:#899b77}.combat-head{text-align:center;text-shadow:0 2px 6px #000;flex:none}.combat-head .eyebrow{font-size:10px;letter-spacing:2px;color:#c7c4a9;margin:0 0 5px}.combat-head h1{font-size:28px;letter-spacing:5px;margin:0 0 10px;color:#f0e1bb}.enemy-frame{width:300px;max-width:90%;margin:auto}.enemy-health{height:9px;position:relative;background:#101713aa;border:1px solid #ad9664;clip-path:polygon(3% 0,97% 0,100% 50%,97% 100%,3% 100%,0 50%);box-shadow:0 2px 7px #000}.enemy-health-fill{height:100%;background:linear-gradient(#dcb37a,#ad6151 30%,#7d3c37 80%,#b17f54);transition:width .45s ease-out}.health-cuts{position:absolute;inset:0;background:repeating-linear-gradient(110deg,transparent 0 34px,#1d231873 35px,#d7b47d33 36px,transparent 37px)}.health-scars{position:absolute;inset:0;background:linear-gradient(175deg,transparent 0 45%,#151b1244 46% 48%,transparent 49%);opacity:.8}.enemy-vitals{display:flex;justify-content:space-between;font-size:8px;letter-spacing:1px;color:#d1c5a0;margin-top:6px}.threat{color:#bc9e87}.dragon-frame{width:390px}.boss-health{height:16px;border:2px solid #ddbd73;background:#321812}.boss-health .enemy-health-fill{background:linear-gradient(#f3d382,#c35732 28%,#843127 75%,#d99a57)}.boss-combat .combat-head h1{font-size:30px;color:#f3d598}.battle-wrap{position:relative;flex:1;min-height:170px;margin:0 auto;width:100%;max-width:600px;isolation:isolate}.battle-scene{border:0;box-shadow:none;position:absolute;inset:0;background:none}.battle-scene canvas{width:100%;height:100%;display:block;object-fit:contain;object-position:center bottom;image-rendering:pixelated}.battle-wrap:after{content:'';position:absolute;inset:auto 20% 0;height:8%;border-radius:50%;background:#07150f33;z-index:-1;filter:blur(6px)}
.combat-foot{flex:none;position:relative;text-align:center;padding:0 0 2px}.combat-foot:before{content:'';position:absolute;inset:-20px -80px -18px;z-index:-1;background:radial-gradient(ellipse at 50% 70%,#06130eba 20%,transparent 72%);pointer-events:none}.command-line{max-width:430px;margin:0 auto 12px;display:flex;align-items:center;justify-content:space-between;padding:7px 4px 9px;position:relative}.command-line:after{content:'';height:1px;background:linear-gradient(90deg,transparent,#b4a17677,transparent);position:absolute;bottom:0;left:0;right:0}.knight-status{display:flex;align-items:center;gap:10px}.heart-rack{display:flex;gap:2px}.heart-icon{width:23px;height:22px;image-rendering:pixelated}.knight-status>span{font-size:14px;color:#eed7bd}.knight-status small{color:#a1ad9a;font-size:10px}.attack-count{display:flex;align-items:center;gap:8px;color:#d9c89f}.attack-count b{font-size:23px;font-weight:normal;line-height:1}.attack-count span{font-size:7px;letter-spacing:1.5px;text-align:left;line-height:1.5}.elixir-label{font-size:9px;color:#c2d38f}
.guess-board{width:max-content;max-width:100%;margin:0 auto;display:flex;flex-direction:column;gap:4px;position:relative;padding-right:37px}.guess-row{display:flex;gap:5px;justify-content:center;height:27px;position:relative}.guess-row.current{height:41px;margin:2px 0}.tile{position:relative;display:flex;align-items:center;justify-content:center;width:37px;height:27px;font:bold 15px "Knightle Quill",Georgia,serif;color:#eee7cd;border:1px solid #a59a765c;background:linear-gradient(130deg,#5e6f5b35,#14231c55);border-radius:5px 2px 6px 2px;box-shadow:inset 0 1px #e3d3a518,inset 0 -2px #07120c55;backdrop-filter:blur(1px);text-shadow:1px 2px 2px #0007}.tile:before,.tile:after{content:'';position:absolute;width:4px;height:4px;opacity:.55;border-color:#d5bf84}.tile:before{top:2px;left:2px;border-left:1px solid;border-top:1px solid}.tile:after{bottom:2px;right:2px;border-bottom:1px solid;border-right:1px solid}.tile small{font:7px "Knightle Quill",Georgia;position:absolute;bottom:0;right:3px;opacity:.9}.guess-row.current .tile{height:41px;font-size:22px;border-color:#c9ad6a;background:linear-gradient(130deg,#928b605c,#273a2a55);box-shadow:inset 0 1px #e4c7804d,0 0 7px #c4a36618}.tile.typing{color:#ffedb2;text-shadow:0 0 12px #e4c38b66}.tile.crit{background:#47735599;border-color:#96c69b;color:#f0f5d8}.tile.hit{background:#987a3c99;border-color:#cdb16a;color:#fff1bd}.tile.miss{background:#17282288;border-color:#606d59;color:#8e9d8b}.row-damage{position:absolute;left:calc(100% + 7px);top:50%;transform:translateY(-50%);width:45px;font:8px "Knightle Quill",Georgia;color:#c8b88d;text-align:left;white-space:nowrap}.seven-runes .tile{width:35px}.seven-runes .guess-row{gap:4px}.inscription{display:flex;align-items:center;justify-content:center;gap:9px;margin:10px 0 8px}.inscription>span{width:35px;height:1px;background:linear-gradient(90deg,transparent,#a18e56)}.inscription>span:last-child{transform:rotate(180deg)}.combat-hint{font:italic 11px Georgia;color:#bebfa5;margin:0;text-shadow:0 2px 3px #000}
/* Leather-backed metal rune keys, with clipped tips and engraved letterforms. */
.keyboard{width:100%;max-width:550px;display:flex;flex-direction:column;gap:6px;margin:0 auto;background:none;padding:5px 0 0}.key-row{display:flex;justify-content:center;gap:5px}.key{position:relative;flex:1;max-width:48px;height:41px;padding:0;min-width:0;border:0;border-radius:0;color:#e1d4ad;font:bold 17px "Knightle Quill",Georgia;text-shadow:1px 2px #09100e;background:linear-gradient(120deg,#b9a37188 0 1%,#6c70504d 4%,#273a2bc7 40%,#142419dd 94%,#ad916b99 96%);clip-path:polygon(13% 0,88% 0,100% 15%,96% 86%,78% 100%,12% 96%,0 83%,0 13%);box-shadow:inset 0 0 0 1px #baaa785c;touch-action:manipulation}.key:before{content:'';position:absolute;inset:3px;border-top:1px solid #b3a1713b;border-bottom:1px solid #0c160b88}.key:hover{filter:brightness(1.4)}.key:active{filter:brightness(1.8)}.key.wide{flex:1.6;max-width:77px;font:10px "Knightle Quill",Georgia;letter-spacing:1px;background:linear-gradient(135deg,#b1945099,#644e2acc 50%,#302b1b);color:#f3dda4}.key.crit{background:linear-gradient(135deg,#8ead7499,#304f34dd);color:#f1f0ce}.key.hit{background:linear-gradient(135deg,#bda064aa,#68552bcc);color:#f9e3ad}.key.miss{background:#0d2016a6;color:#637b66;box-shadow:inset 0 0 0 1px #63765444}.combat-legend{display:flex;justify-content:center;gap:22px;margin-top:10px;font:7px "Knightle Quill",Georgia;letter-spacing:1px;color:#9faa94}.combat-legend span{display:flex;align-items:center;gap:6px}.combat-legend i{width:4px;height:4px;display:block;transform:rotate(45deg)}.crit-dot{background:#9dbd8f}.hit-dot{background:#d2b36b}
/* Attack choreography. */
.reveal .last-attack .tile{animation:rune-reveal .28s ease both;animation-delay:calc(var(--tile-index)*36ms)}@keyframes rune-reveal{0%{transform:rotateX(80deg);filter:brightness(2)}100%{transform:rotateX(0);filter:none}}
.heroAttack .battle-wrap:before{content:'';position:absolute;z-index:5;width:70%;height:22%;left:15%;top:35%;border-top:6px solid #fff4c9;border-radius:50%;box-shadow:0 -4px 1px #e1bd6977;animation:sword-cut .42s ease-out both;pointer-events:none}@keyframes sword-cut{0%{opacity:0;transform:translate(-100px,40px) rotate(-50deg) scaleX(.3)}20%{opacity:1}75%{opacity:1;transform:translate(20px,-15px) rotate(-23deg)}100%{opacity:0;transform:translate(70px,-60px) rotate(-18deg)}}.perfect-strike.heroAttack .battle-wrap:before{border-width:11px;box-shadow:0 -5px #d9bf7188,0 0 35px #efd291}.enemyAttack .combat-foot{animation:counter-hit .3s steps(3)}@keyframes counter-hit{25%{transform:translate(-4px,2px)}60%{transform:translate(4px,-1px)}90%{transform:translate(-2px,1px)}}.floating-damage{position:absolute;z-index:6;left:0;right:0;top:25%;text-align:center;color:#e9cf83;font:bold 32px "Knightle Quill",Georgia;text-shadow:0 3px #182319,0 0 16px #06110b;animation:damage-float .6s ease-out both;pointer-events:none}.floating-damage.critical{color:#cee5ac}.floating-damage.player-hit{color:#e9a186;top:75%;font-size:24px}@keyframes damage-float{0%{transform:translateY(10px) scale(.6);opacity:0}20%{opacity:1;transform:translateY(0) scale(1.12)}100%{opacity:0;transform:translateY(-25px)}}.battle-overlay{position:absolute;inset:10% 0 0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;background:radial-gradient(ellipse,#101b12ed 20%,#101b1299 50%,transparent 72%);text-align:center;z-index:7}.battle-overlay strong{font-size:27px;color:#ead29a;letter-spacing:1px}.battle-overlay>span:not(.eyebrow){font-size:11px;color:#c7c8aa}.battle-overlay .btn{min-height:35px;padding:7px 20px;font-size:10px}.battle-overlay.compact{inset:0}
.dragon-announcement{position:absolute;z-index:12;inset:10% -10% 0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:radial-gradient(ellipse,#22130ae8,transparent 72%);text-align:center;animation:dragon-words 3.6s both}.dragon-announcement>span{font-size:9px;letter-spacing:4px;color:#d5af6f}.dragon-announcement strong{font:24px/1.3 "Knightle Quill",Georgia;color:#ffe5a4;text-shadow:0 2px 7px #000}.dragon-announcement .btn{font-size:8px;min-height:28px}.dragon-awakening .battle-scene{animation:dragon-rise 2.6s both}.dragon-awakening .seven-runes{animation:expand-runes 2.5s cubic-bezier(.2,.7,.3,1)}.dragon-awakening .awakened-rune{animation:extra-rune 2.5s both}.dragon-awakening .keyboard{opacity:.35;pointer-events:none}@keyframes dragon-rise{0%{opacity:0;transform:scale(.5) translateY(-60px)}50%{opacity:.2}80%{opacity:1;transform:scale(1.15)}100%{transform:none;opacity:1}}@keyframes dragon-words{0%,15%{opacity:0;transform:translateY(15px)}30%,85%{opacity:1;transform:none}100%{opacity:0}}@keyframes expand-runes{0%,30%{transform:scaleX(.72)}75%{transform:scaleX(1.05)}100%{transform:scaleX(1)}}@keyframes extra-rune{0%,35%{opacity:0;transform:scale(0)}65%{opacity:1;transform:scale(1.3);box-shadow:0 0 20px #f5d17e}100%{transform:scale(1)}}
/* In-world menus: dark parchment, antique brass and wood. */
.btn{position:relative;border:1px solid #a48a59;border-radius:3px 10px 3px 10px;min-height:42px;padding:10px 18px;background:linear-gradient(120deg,#3a4935dd,#18291eee);color:#e9dab5;font:11px "Knightle Quill",Georgia;letter-spacing:1.3px;box-shadow:inset 0 0 0 3px #131e17,inset 0 0 0 4px #b5a16a22,0 4px 9px #06100744;text-transform:uppercase}.btn:hover{filter:brightness(1.17)}.btn.primary{background:linear-gradient(135deg,#bfa26a,#705831);color:#fff0bc;border-color:#d9c083;text-shadow:0 1px #392c14}.btn.small{min-height:32px;font-size:9px}.btn.full{width:100%}.btn.buy{white-space:nowrap;margin-left:auto;min-width:100px}.badge{display:inline-block;padding:7px 11px;border:1px solid #b5a26c88;color:#d9bd80;font-size:9px;letter-spacing:2px}.screen-title{text-align:center;margin-bottom:24px;text-shadow:0 3px 8px #000}.screen-title h1{font-size:37px;letter-spacing:4px;color:#f0dfb7;margin:7px 0 10px}.screen-title p:last-child{font-size:12px;color:#c0c5af;max-width:490px;margin:0 auto}.menu-screen{max-width:920px}.menu-screen:before{content:'';position:absolute;z-index:-1;inset:55px 0 0;background:radial-gradient(ellipse at 50% 30%,#0c1a13df,#0d1c1499 60%,transparent 90%);pointer-events:none}
.modal-backdrop,.game-menu-backdrop{position:fixed;inset:0 0 var(--ad-space);z-index:40;display:flex;align-items:center;justify-content:center;padding:22px;overflow:auto}.modal-backdrop{background:#06110dcc;backdrop-filter:blur(4px)}.menu-scrim{position:absolute;inset:0;border:0;background:#06110de8;backdrop-filter:blur(4px)}.dialog,.game-menu{position:relative;width:min(500px,100%);margin:auto;border:1px solid #ad965f;border-radius:5px 25px 5px 25px;background:linear-gradient(130deg,#263629fa,#13221bfa);box-shadow:inset 0 0 0 5px #0c1a12,inset 0 0 0 6px #9d895e55,0 20px 60px #0009;padding:32px;color:#dddbbd}.dialog h2,.game-menu h2{font:28px "Knightle Quill",Georgia;letter-spacing:3px;color:#efdab0;margin:12px 0}.dialog p,.game-menu p{font-size:12px;color:#bdc1ab}.dialog-close,.menu-heading button{border:0;background:none;font-size:27px;color:#c6b78e;min-width:36px;min-height:36px}.dialog-close{position:absolute;right:13px;top:9px}.menu-heading{display:flex;justify-content:space-between;align-items:center}.game-menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:20px 0}.game-menu-grid .btn{font-size:9px;min-height:47px;padding:8px}.difficulty-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0}.difficulty-options button{padding:15px 9px;border:1px solid #8a886255;background:#112319;color:#c8c6a8;border-radius:3px 12px 3px 12px}.difficulty-options .selected{border-color:#d3b675;background:#61603a66}.difficulty-options strong{display:block;font-size:12px;letter-spacing:2px}.difficulty-options small{display:block;font-size:9px;line-height:1.5;margin-top:8px}.elixir-option{min-height:30px}input{accent-color:#c1a267}
.wardrobe-layout{display:grid;grid-template-columns:270px 1fr;gap:28px}.preview-card{text-align:center;padding:16px;background:#0e2118bd;border:1px solid #9e8f5d55;border-radius:8px 25px 8px 25px}.preview-card .scene{border:6px solid #6b4b2b;box-shadow:0 0 0 1px #b59358;overflow:hidden}.wardrobe-scene .pixel-scene{width:100%;height:auto;aspect-ratio:240/260;display:block;image-rendering:pixelated}.preview-tag{font-size:8px;color:#c8bc8c;letter-spacing:1px;margin:14px 0 9px}.preview-card h2{font-size:20px;color:#e5d0a0}.preview-card p{font-size:11px;color:#b8c1aa;min-height:35px}.category-tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px}.category-tabs button{border:0;border-bottom:1px solid #7d805955;border-radius:3px;background:#15291dc9;min-height:36px;padding:8px 11px;color:#b5c1a5;font:10px "Knightle Quill",Georgia}.category-tabs button.selected{border-color:#d4b574;background:#5a5a3699;color:#f1e2b9}.item-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.item-card{min-width:0;border:1px solid #7b805e66;border-radius:5px 14px 5px 14px;background:#16291cbb;display:flex;flex-direction:column;align-items:center;padding:12px 5px;min-height:128px;gap:7px}.item-card canvas{width:58px;height:58px;image-rendering:pixelated}.item-card strong{font:11px "Knightle Quill",Georgia;color:#d1c4a0}.item-card span{font:8px "Knightle Quill",Georgia;letter-spacing:.5px;color:#a9b89a}.item-card.locked canvas{opacity:.65}.item-card.selected{border-color:#dbb675;background:#5e593066}.merchant-scene{display:none}.shop-bar{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;margin-bottom:23px;border-top:1px solid #ac945c66;border-bottom:1px solid #ac945c66;color:#e1c275;background:#142419bb;font-size:18px}.shop-bar small{font-size:9px;color:#abb798}.shop-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.shop-card{display:flex;gap:13px;align-items:center;background:linear-gradient(135deg,#293526ed,#15271de8);border:1px solid #aa8b4c55;border-radius:4px 18px 4px 18px;padding:18px;flex-wrap:wrap}.shop-icon{font:25px "Knightle Quill",Georgia;color:#dec385;text-shadow:0 0 12px #bea76555;width:32px}.shop-card>div:nth-child(2){flex:1;min-width:160px}.shop-card h2{font-size:17px;color:#e8d3a4;margin:0 0 6px}.shop-card p{font-size:11px;color:#bcc4ad;margin:0 0 8px}.shop-card small{font-size:9px;color:#a4af94}.shop-card .btn{width:100%;margin-top:4px}.stats-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:13px}.stat{text-align:center;padding:25px 10px 20px;border-bottom:1px solid #9b8d5c88;background:#10241ac7;border-radius:4px 14px 4px 14px}.stat strong{display:block;font:30px "Knightle Quill",Georgia;color:#ead3a2;margin-bottom:13px}.stat span{font:10px "Knightle Quill",Georgia;color:#b1bfa3}.footnote{font:11px/1.8 "Knightle Quill",Georgia;color:#a9b99e;margin:25px auto;max-width:700px}.settings-list{display:grid;gap:18px}.settings-list>div{padding:23px;background:#14281bd9;border:1px solid #9d8d5555;border-radius:4px 16px 4px 16px}.settings-list h2{font-size:20px;color:#e3cf9f}.settings-list p{font-size:12px;color:#b9c3aa;line-height:1.6}.button-pair{display:flex;gap:10px}
.feats-room{max-width:850px}.feats-board{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;padding:23px;border:12px solid #614725;border-image:linear-gradient(135deg,#b0955a,#4e3a23,#846333,#3c301f,#b79c65) 12;background:repeating-linear-gradient(0deg,#2d2f1fe8 0 45px,#101d13 46px,#4c432ae8 48px,#343221e8 51px);box-shadow:inset 0 0 25px #000c,0 10px 40px #0008;outline:1px solid #c8a969}.feat-seal{position:relative;border:1px solid transparent;min-width:0;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:7px 3px;min-height:78px}.feat-seal:before{content:'';position:absolute;top:0;left:calc(50% - 1px);width:3px;height:3px;background:#c5aa6e;box-shadow:1px 2px #10180f}.feat-seal canvas{width:36px;height:36px;image-rendering:pixelated;filter:sepia(.7);opacity:.55}.feat-seal span{font:9px/1.25 "Knightle Quill",Georgia;color:#a9b291;min-height:22px}.feat-seal.earned canvas{opacity:1;filter:none}.feat-seal.earned span{color:#e6d0a0}.feat-seal.selected{border-color:#c9b57588;background:#b9a06414;border-radius:7px}.feat-inscription{text-align:center;margin:24px auto 0;max-width:600px;min-height:100px;text-shadow:0 2px 5px #000}.feat-inscription h2{color:#efdab0;font:22px "Knightle Quill",Georgia;margin:0 0 10px}.feat-inscription p{font:13px "Knightle Quill",Georgia;color:#bcc6af;margin:0 0 12px}.feat-inscription>span{font-size:10px;color:#ccbc8c;letter-spacing:1px}
.tutorial-art{text-align:center;margin:35px auto;padding:30px;max-width:500px;background:#15291dd9;border-radius:6px 24px 6px 24px;border:1px solid #9f925a66}.tutorial-tiles{display:flex;gap:10px;justify-content:center;margin-bottom:20px}.tutorial-tiles>span{position:relative;width:50px;height:55px;border:1px solid #bda56b88;border-radius:5px 2px 7px 2px;display:grid;place-items:center;font:25px "Knightle Quill",Georgia;background:#283a2a}.tutorial-tiles .crit{background:#437452}.tutorial-tiles .hit{background:#8f793b}.tutorial-tiles .miss{background:#303e2f}.tutorial-tiles small{position:absolute;bottom:4px;right:6px;font-size:8px}.tutorial-art strong{color:#dec58c;font-size:18px}.tutorial-art p{font-size:11px;color:#b8c5a9}.tutorial-nav{display:flex;align-items:center;justify-content:space-between;max-width:500px;margin:auto}.tutorial-nav>span{font-size:10px;color:#bfae7d}.tutorial-nav .btn{margin-left:7px}
#toast,#achievement-toast{position:fixed;z-index:70;left:50%;top:70px;transform:translate(-50%,-15px);opacity:0;pointer-events:none;padding:12px 22px;max-width:calc(100vw - 38px);width:max-content;border:1px solid #bca065;border-radius:3px 13px 3px 13px;background:#192a1cef;box-shadow:0 8px 20px #0008;text-align:center;display:flex;flex-direction:column;gap:5px;transition:opacity .2s,transform .2s;color:#f0d69c;font-size:13px}#toast.show,#achievement-toast.show{transform:translate(-50%,0);opacity:1}#toast span{font-size:11px;color:#bcc7aa}#achievement-toast{top:auto;bottom:calc(var(--ad-space) + 15px);flex-direction:row;align-items:center;text-align:left;width:min(360px,calc(100vw - 30px));pointer-events:none}#achievement-toast.show{pointer-events:auto}#achievement-toast div{display:flex;flex-direction:column;gap:5px}#achievement-toast small{font-size:8px;letter-spacing:1.5px}#achievement-toast span{font-size:10px;color:#bcc7aa}#achievement-toast button{border:0;background:none;font-size:24px;min-width:35px}.result-screen{text-align:center;max-width:740px}.victory-scene{width:100%;max-width:490px;margin:auto}.victory-scene canvas{width:100%;height:auto;image-rendering:pixelated}.result-screen h1{font-size:37px;color:#eed2a0;letter-spacing:2px;margin:22px 0 12px}.result-sub{font-size:13px;color:#c2c7ac}.result-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:26px 0}.result-grid>div{padding:18px;background:#12251cbf;border-bottom:1px solid #b3a06c66}.result-grid b{display:block;font:29px "Knightle Quill",Georgia;color:#e4c992}.result-grid span{font-size:8px;letter-spacing:1px;color:#adba9c}.result-actions{display:flex;flex-wrap:wrap;gap:9px;justify-content:center;margin:22px 0}.result-breakdown{text-align:left;font-size:11px;padding:20px;background:#12251ceb}.result-breakdown>div{display:grid;grid-template-columns:1fr 1fr 1fr;padding:8px;border-bottom:1px solid #7b815244}.fallen-scene{height:120px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#a5a592;font-size:9px;letter-spacing:3px}.fallen-embers{font-size:25px;color:#a17a4b}.death-screen{position:fixed;inset:0 0 var(--ad-space);background:#050908;display:flex;align-items:center;justify-content:center;flex-direction:column}.death-scene{width:100%;max-width:750px}.death-scene canvas{width:100%;height:auto;image-rendering:pixelated}.death-veil{position:absolute;inset:0;background:#050908;animation:blackout 1s .9s forwards;opacity:0}.death-screen p{position:absolute;top:70%;color:#d5c6aa;letter-spacing:2px;font-size:20px;z-index:2}.death-skip{position:absolute;right:20px;bottom:20px;border:1px solid #9c8f6b;background:#172119;color:#d2c29c;padding:10px;z-index:3}@keyframes blackout{to{opacity:1}}.share-fallback{display:block;width:90%;max-width:500px;height:200px;margin:20px auto;background:#1c3021;border:1px solid #ac9b60;color:#dfd3b1;padding:15px}
@media(min-width:1300px){.home.screen{transform:translateX(-8%)}.home-top{margin-bottom:35px}.quest-menu-layout{gap:95px}.combat.screen{max-width:690px}.battle-wrap{min-height:220px}.guess-row{height:29px}.tile{height:29px;width:40px}.guess-row.current,.guess-row.current .tile{height:43px}.seven-runes .tile{width:38px}.key{height:43px}}
@media(max-width:700px){.screen{padding:70px 15px 20px}.menu-toggle,.stage-back{top:max(12px,env(safe-area-inset-top));width:35px;height:35px;font-size:19px}.menu-toggle{right:14px}.stage-back{left:14px}.home.screen{justify-content:flex-start;padding:65px 16px 20px}.home-top{margin-bottom:30px}.home-oath{font-size:7px;letter-spacing:2px;margin-top:6px}.quest-menu-layout{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:20px;width:100%;max-width:480px}.quest-choices{gap:12px}.quest-choices .btn{font-size:18px;letter-spacing:2px;padding:12px 9px 12px 28px}.quest-choices .embark{font-size:24px;letter-spacing:2px}.quest-choices .hard-entry{font-size:12px;letter-spacing:1.3px;min-height:40px}.quest-choices .btn small{font-size:6px;letter-spacing:.7px}.menu-roman{left:6px;font-size:8px}.level-panel{font-size:8px;letter-spacing:1px}.level-panel small{font-size:7px}.knight-dossier{gap:6px}.dossier-gold{font-size:15px;min-height:28px}.dossier-gold small{font-size:6px}.portrait-button .scene{border-width:7px}.portrait-label{font-size:7px;letter-spacing:1px;bottom:8px;left:8px;right:8px}.portrait-label small{font-size:6px}.quest-caption{margin-top:28px;font-size:10px;max-width:310px}.quest-caption p{font-size:11px}.quest-caption>span{font-size:8px;letter-spacing:1.4px}.combat.screen{padding:15px 12px 9px;min-height:670px}.delve-path{width:calc(100% - 70px);margin-bottom:15px;font-size:6px;letter-spacing:1px;gap:8px}.delve-path>div{gap:4px}.delve-path i{width:4px;height:4px}.combat-head .eyebrow{font-size:9px}.combat-head h1{font-size:23px;margin-bottom:8px;letter-spacing:3px}.enemy-frame{width:250px}.enemy-vitals{font-size:7px}.battle-wrap{min-height:160px}.boss-combat .combat-head h1{font-size:24px}.command-line{margin-bottom:9px;padding:6px 2px 8px}.heart-icon{width:22px;height:20px}.knight-status{gap:7px}.knight-status>span{font-size:12px}.knight-status small{font-size:8px}.attack-count b{font-size:21px}.attack-count span{font-size:6px}.guess-board{gap:3px;padding-right:27px}.guess-row{height:25px;gap:5px}.tile{width:33px;height:25px;font-size:14px}.guess-row.current,.guess-row.current .tile{height:37px}.guess-row.current .tile{font-size:20px}.seven-runes .tile{width:32px}.seven-runes .guess-row{gap:4px}.row-damage{font-size:7px;width:34px;left:calc(100% + 5px)}.keyboard{gap:5px}.key-row{gap:4px}.key{height:39px;font-size:16px}.key.wide{font-size:8px;letter-spacing:.3px}.combat-legend{margin-top:9px;gap:18px;font-size:6px}.inscription{margin:9px 0 6px}.combat-hint{font-size:10px}.inscription>span{width:20px}.screen-title h1{font-size:29px}.screen-title p:last-child{font-size:11px}.wardrobe-layout{grid-template-columns:1fr;gap:20px}.preview-card{display:grid;grid-template-columns:130px 1fr;gap:8px 15px;padding:12px}.preview-card .scene{grid-row:1/5;width:130px}.preview-tag{margin:0;font-size:7px}.preview-card h2{margin:0;font-size:17px;align-self:end}.preview-card p{font-size:10px;margin:0;min-height:0}.preview-card .btn{font-size:9px;min-height:32px;padding:7px}.item-card{min-height:115px}.item-card strong{font-size:10px}.shop-grid{grid-template-columns:1fr}.shop-bar{padding:12px;font-size:17px}.shop-bar small{font-size:8px;max-width:145px;text-align:right}.stats-grid{grid-template-columns:repeat(2,1fr)}.stat{padding:20px 8px}.stat strong{font-size:27px}.feats-room .screen-title{margin-bottom:18px}.feats-board{grid-template-columns:repeat(5,1fr);gap:7px;padding:13px 7px;border-width:8px}.feat-seal{min-height:65px;gap:4px;padding:4px 1px}.feat-seal canvas{width:30px;height:30px}.feat-seal span{font-size:7px;min-height:18px}.feat-inscription{margin-top:18px;min-height:105px}.feat-inscription h2{font-size:19px}.feat-inscription p{font-size:12px}.feat-inscription>span{font-size:9px}.dialog,.game-menu{padding:25px 20px}.dialog h2,.game-menu h2{font-size:24px}.game-menu-grid{gap:8px}.result-screen h1{font-size:28px}.result-grid>div{padding:12px 5px}.result-grid b{font-size:24px}.result-grid span{font-size:7px}.result-actions .btn{font-size:9px}.tutorial-tiles{gap:7px}.tutorial-tiles>span{width:42px;height:48px}}
@media(max-height:760px) and (max-width:700px){.home.screen{padding-top:45px}.home-top{margin-bottom:18px}.quest-choices{gap:6px}.quest-choices .btn{min-height:45px;padding-top:9px;padding-bottom:9px}.quest-caption{margin-top:18px}.combat.screen{min-height:620px;padding-top:13px}.battle-wrap{min-height:120px}.delve-path{margin-bottom:11px}.combat-head h1{font-size:21px}.command-line{margin-bottom:6px}.guess-row{height:22px}.tile{height:22px;font-size:13px}.guess-row.current,.guess-row.current .tile{height:34px}.key{height:35px}.inscription{margin:7px 0 4px}.combat-legend{margin-top:6px}.heart-icon{width:20px;height:19px}.feats-board{gap:4px}.feat-seal{min-height:57px}.feat-seal canvas{width:25px;height:25px}}
@media(max-width:360px){.quest-menu-layout{gap:12px}.quest-choices .embark{font-size:21px}.quest-choices .btn{font-size:16px}.quest-choices .hard-entry{font-size:11px}.key-row{gap:3px}.key{font-size:14px}.seven-runes .tile{width:29px}.guess-board{padding-right:24px}.heart-rack{gap:1px}.heart-icon{width:19px}.knight-status>span{font-size:10px}.attack-count{gap:5px}.combat-legend{gap:13px}.feat-seal span{font-size:6.5px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-delay:0ms!important;transition-duration:.01ms!important}.dragon-announcement{animation:none}.dragon-awakening .awakened-rune{opacity:1}.dragon-awakening .battle-scene{opacity:1}}
/* Final material and readability pass. */
.quest-choices .btn.primary{background:none;border:0;box-shadow:none;color:#ffe7ad;text-shadow:0 2px 6px #000}.quest-choices .btn.primary:before{background:linear-gradient(90deg,#746546bb,#3c4c3699,transparent)}.portrait-button .scene{border-image:none;border-color:#53381f;box-shadow:0 0 0 1px #a3814f,inset 0 0 0 2px #c4a366,3px 6px 0 #1d1a11,0 13px 24px #0009}.portrait-button:before,.portrait-button:after{content:'';position:absolute;z-index:3;width:6px;height:6px;background:#c3a56b;border:1px solid #362c19;top:2px;box-shadow:0 2px #1b1d13}.portrait-button:before{left:3px}.portrait-button:after{right:3px}.level-panel{font-size:12px;text-shadow:0 2px 4px #000}.level-panel small{font-size:10px;color:#bcc1a9}.dossier-gold{font-size:19px;text-shadow:0 2px 4px #000}.dossier-gold small{font-size:9px}.knight-dossier .level-panel,.knight-dossier .dossier-gold{background:linear-gradient(90deg,transparent,#102316bb,transparent);padding:5px 0}.combat-head .eyebrow{background:linear-gradient(90deg,transparent,#0c1c1477,transparent)}
@media(max-width:700px){.level-panel{font-size:9px}.level-panel small{font-size:8px}.dossier-gold{font-size:15px}.dossier-gold small{font-size:7px}.quest-choices .btn.primary{font-size:24px}}
.merchant-greeting{text-align:center;color:#d6bd86;padding:10px 0 18px}.merchant-greeting span{font-size:8px;letter-spacing:3px}.merchant-greeting p{font:italic 12px Georgia;color:#c5c6a8;margin:7px 0}.stage-shop:before{background:linear-gradient(90deg,#0d1a13bb,transparent 90%),linear-gradient(transparent,#0a150dcc)!important}.stage-shop .menu-screen:before{opacity:.6}.victory-scene{height:245px}.victory-scene canvas{height:100%;object-fit:contain}.death-scene canvas{height:340px;object-fit:contain}
@media(min-width:1100px){.stage-shop .menu-screen{max-width:760px;margin-left:8vw}.stage-shop .screen-title{max-width:600px}.stage-shop .shop-card{background:linear-gradient(135deg,#283121e8,#142319ed)}}
/* Legible vitals and comfortable touch controls over every chamber palette. */
.command-line{background:linear-gradient(90deg,#09140bc9,transparent 48%,#09140bc9);text-shadow:0 1px 3px #000,0 0 5px #000}
@media(max-width:700px){.key{height:44px}.knight-status>span{font-size:14px}.knight-status small{font-size:10px}.attack-count span{font-size:8px;letter-spacing:.7px}.enemy-vitals{font-size:8px}.combat-legend{font-size:8px;gap:15px}}
@media(max-height:760px) and (max-width:700px){.key{height:39px}}
.result-screen h1,.result-screen .eyebrow,.result-sub{text-shadow:0 2px 2px #090d08,0 0 12px #050b05,0 0 24px #040b05}
@media(max-width:700px){.victory-scene{height:220px}.result-screen .result-grid{margin:20px 0}.item-sprite{background:none!important;box-shadow:none!important}}
/* Living dungeon / equipment review update. */
.battle-scene canvas{object-fit:fill}.battle-wrap:after{display:none}.stage-combat .combat-head{position:relative;z-index:2}
.home-oath{line-height:1.7}.portrait-button .pixel-scene{aspect-ratio:216/240}.wardrobe-scene canvas{aspect-ratio:216/240}
.test-oracle{display:flex;align-items:center;justify-content:center;gap:9px;min-height:27px;margin:5px auto 0;color:#ddd0a4;font-size:10px;text-shadow:0 2px 3px #000;background:linear-gradient(90deg,transparent,#15261bcb,transparent);padding:2px 10px;border-bottom:1px solid #a38d5533}.test-oracle>span{font-size:7px;letter-spacing:1px;color:#b2b69a}.test-oracle strong{letter-spacing:2px}.test-step{border:1px solid #a38d5555;border-radius:50%;background:#17251ab3;font-size:18px;width:26px;height:25px;line-height:1}
.belt-pouch{display:flex;gap:9px;align-items:center;justify-content:center;margin:7px auto 0;min-height:24px}.potion-button{border:1px solid #aa8e5a55;border-radius:3px 9px 3px 9px;color:#d7bf8a;background:#192b1a88;font:8px "Knightle Quill",Georgia;padding:6px 12px;letter-spacing:.8px;min-height:28px}.potion-button:before{content:'✦';margin-right:6px;color:#b78b65}.belt-pouch>span{font-size:8px;color:#b5b198}.inscription{margin-top:6px}
.heart-unit{position:relative;display:inline-flex}.heart-unit>i{display:none}.heart-rack{align-items:center}.knight-status{position:relative}.heart-wounded canvas{animation:heart-damage .55s steps(5) both}.heart-wounded>i{display:block;position:absolute;width:4px;height:4px;background:#d6554b;left:45%;top:50%;animation:heart-chip .65s ease-out both}.heart-wounded>i:nth-of-type(2){--chip-x:-14px;--chip-y:15px}.heart-wounded>i:nth-of-type(3){--chip-x:8px;--chip-y:21px}.heart-loss{position:absolute;left:42%;top:-7px;color:#ff9079;font:18px "Knightle Quill",Georgia;text-shadow:1px 2px #260d0c;animation:heart-number .8s both;pointer-events:none;z-index:4}.enemyAttack:after{content:'';position:fixed;pointer-events:none;inset:0 0 var(--ad-space);z-index:18;box-shadow:inset 0 0 80px #b32f2f99;animation:wound-flash .5s ease-out both}.healing-pulse .heart-rack{animation:heart-heal .9s ease-out both}
@keyframes heart-damage{0%{transform:scale(1.3);filter:brightness(2)}20%{transform:translateX(-3px) rotate(-15deg)}45%{transform:translateX(3px) rotate(12deg);filter:brightness(1.8)}70%{transform:translateX(-2px)}100%{transform:none;filter:none}}@keyframes heart-chip{0%{transform:none;opacity:1}100%{transform:translate(var(--chip-x,13px),var(--chip-y,10px));opacity:0}}@keyframes heart-number{0%{opacity:1;transform:translateY(0) scale(1.3)}80%,100%{opacity:0;transform:translateY(-30px) scale(1)}}@keyframes wound-flash{from{opacity:1}to{opacity:0}}@keyframes heart-heal{15%{filter:brightness(1.8) drop-shadow(0 0 7px #acd791);transform:scale(1.1)}100%{filter:none;transform:none}}
.guess-row.last-attack,.guess-row.last-attack .tile{height:41px}.guess-row.last-attack .tile{font-size:22px}.sealed-rune{opacity:0;transform:translateY(-22px) rotate(-7deg)}.landed-rune{animation:rune-place .85s both;animation-delay:var(--impact-delay)}.landed-rune.hit{animation-name:rune-hit}.landed-rune.crit{animation-name:rune-critical}.tile .rune-damage{position:absolute;left:50%;top:-5px;color:#e8cf83;font:bold 22px "Knightle Quill",Georgia;text-shadow:1px 2px #182517,0 0 9px #d3bc6966;pointer-events:none;z-index:8;animation:letter-damage .85s ease-out both;animation-delay:var(--impact-delay)}.tile.crit .rune-damage{color:#bdedb2;font-size:25px}.rune-spark{position:absolute;top:0;left:50%;background:#e2f3b5;width:3px;height:3px;z-index:7;pointer-events:none;animation:rune-spark .6s ease-out both;animation-delay:var(--impact-delay)}.rune-spark.s1{--dx:-22px;--dy:-18px}.rune-spark.s2{--dx:24px;--dy:-10px}.rune-spark.s3{--dx:13px;--dy:18px}.rune-spark.s4{--dx:-17px;--dy:12px}
@keyframes rune-place{0%{opacity:0;transform:translateY(-24px) rotate(-8deg) scale(.8)}16%{opacity:1;transform:translateY(3px) scale(1.05)}28%,100%{opacity:1;transform:none}}
@keyframes rune-hit{0%{opacity:0;transform:translateY(-24px) rotate(-8deg)}15%{opacity:1;transform:translateY(3px)}23%{transform:translateX(-2px)}30%{transform:translateX(2px)}38%{transform:translateX(-1px)}48%,100%{transform:none;opacity:1}}
@keyframes rune-critical{0%{opacity:0;transform:translateY(-28px) rotate(9deg)}14%{opacity:1;transform:translateY(3px) scale(1.12);filter:brightness(2)}23%{transform:translate(-4px,-2px) rotate(-6deg)}30%{transform:translate(4px,2px) rotate(5deg);filter:brightness(1.6)}38%{transform:translate(-3px,0)}47%{transform:translate(2px,-1px)}60%,100%{transform:none;opacity:1;filter:none}}
@keyframes letter-damage{0%,10%{opacity:0;transform:translate(-50%,0) scale(.6)}25%{opacity:1;transform:translate(-50%,-22px) scale(1.2)}65%{opacity:1}100%{opacity:0;transform:translate(-50%,-65px) scale(.9)}}@keyframes rune-spark{0%,15%{opacity:0;transform:translate(0,0)}20%{opacity:1}100%{opacity:0;transform:translate(var(--dx),var(--dy))}}
.tavern-keeper{width:224px;height:200px;margin:0 auto;filter:drop-shadow(0 8px 7px #050b0577)}.tavern-keeper canvas{width:100%;height:100%;image-rendering:pixelated}.merchant-greeting{padding-top:5px}.shop-return{max-width:360px;margin:0 auto 15px;display:block}.stage-shop .screen-title{margin-bottom:12px}.stage-shop .menu-screen:before{opacity:.5}
@media(min-width:1100px){.stage-shop .menu-screen{max-width:690px;margin-left:4vw}.tavern-keeper{position:fixed;right:7vw;top:30vh;width:280px;height:250px}.stage-shop .merchant-greeting{position:fixed;right:5vw;top:calc(30vh + 260px);width:330px}.stage-shop .shop-bar{margin-top:30px}}
@media(max-width:700px){.test-oracle{font-size:10px;min-height:25px;margin-top:4px}.test-oracle>span{font-size:6px}.test-step{width:25px;height:24px}.guess-row.last-attack,.guess-row.last-attack .tile{height:37px}.guess-row.last-attack .tile{font-size:20px}.belt-pouch{margin-top:5px;min-height:24px}.potion-button{font-size:7px;padding:4px 8px;min-height:25px}.tavern-keeper{width:168px;height:150px}.stage-shop .screen-title{margin-bottom:7px}.stage-shop .merchant-greeting{padding-bottom:8px}.home-oath{font-size:7px}.combat-legend{margin-top:5px}.inscription{margin:5px 0 3px}.wardrobe-scene canvas{width:100%;height:auto}}
@media(max-height:760px) and (max-width:700px){.guess-row.last-attack,.guess-row.last-attack .tile{height:34px}.battle-wrap{min-height:100px}.combat.screen{padding-top:12px}.combat-head h1{font-size:20px;margin-bottom:5px}.delve-path{margin-bottom:9px}.test-oracle{min-height:21px}.belt-pouch{min-height:21px}.potion-button{min-height:22px}.key{height:38px}}
@media(min-width:1100px){.stage-shop .tavern-keeper{position:absolute;left:calc(100% + 4vw);right:auto;top:230px}.stage-shop .merchant-greeting{position:absolute;left:calc(100% + 3vw);right:auto;top:490px;width:310px}}

/* The gate opens as a scene, then reveals its controls. */
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.opening{position:fixed;inset:0;z-index:120;pointer-events:none}.opening[hidden]{display:none}.opening-black{position:absolute;inset:0;background:#030404;opacity:1;transition:opacity 1.1s ease}.opening-legend{position:absolute;inset:0 0 var(--ad-space);display:grid;place-items:center;margin:0;opacity:0;transition:opacity .7s ease}.opening-legend canvas{display:block;width:min(540px,90vw);height:auto;image-rendering:pixelated;filter:drop-shadow(0 0 3px #e7e7dc18)}.opening.show-legend .opening-legend{opacity:1}.opening.reveal-world .opening-black{opacity:0}.intro-skip{position:absolute;right:28px;bottom:calc(var(--ad-space) + 24px);pointer-events:auto;padding:10px 0 10px 16px;min-height:44px;border:0;border-bottom:1px solid #807c6633;background:none;font:italic 12px Georgia,serif;color:#b5b5a5;letter-spacing:.4px}.intro-skip span{margin-left:12px;font-style:normal}.intro-active #advertisement-space{visibility:hidden}.intro-active .stage-enter>.screen{animation:none}
.intro-active .home-info,.intro-active .home-top h1,.intro-active .home-oath,.intro-active .quest-choices,.intro-active .knight-dossier,.intro-active .quest-caption,.intro-active .stage-home .menu-toggle{opacity:0;transform:translateY(7px);transition:opacity .75s ease,transform .85s ease;pointer-events:none}
.intro-active .home-top h1{transition:opacity .18s ease-out,transform .45s ease-out;transform:translateY(3px)}
.intro-active.intro-menu .home-info,.intro-active.intro-logo .home-top h1,.intro-active.intro-menu .home-oath,.intro-active.intro-menu .quest-choices,.intro-active.intro-menu .knight-dossier,.intro-active.intro-menu .quest-caption,.intro-active.intro-menu .stage-home .menu-toggle{opacity:1;transform:none}
.opening-flash{position:absolute;inset:0 0 var(--ad-space);opacity:0;background:radial-gradient(ellipse at 58% 16%,#fffdf2 0%,#e5f1f3 36%,#abc5d5 100%)}
.opening-awaiting .intro-skip{left:50%;right:auto;top:50%;bottom:auto;transform:translate(-50%,-50%);padding:18px 28px;min-width:240px;border:1px solid #9a8453;background:#101915;color:#e6d5ac;font:16px var(--font-ui,Georgia,serif);letter-spacing:2px;box-shadow:0 0 0 5px #9a845314;white-space:nowrap}
.opening-lightning{position:absolute;inset:0 0 var(--ad-space);width:100%;height:calc(100dvh - var(--ad-space));opacity:0;filter:drop-shadow(0 0 8px #addfff)}
.lightning-halo{stroke:#90c9e5;stroke-width:5;opacity:.6}.lightning-core{stroke:#f5fcf7;stroke-width:1.5}
.lightning-reveal .opening-flash{animation:gate-lightning-flash .72s ease-out both}.lightning-reveal .opening-lightning{animation:gate-lightning-bolt .58s ease-out both}
.intro-impact .stage-home>.gate-world,.intro-impact .stage-home>.home{animation:gate-thunder-jolt .42s ease-out both!important}
@keyframes gate-lightning-flash{0%{opacity:0}12%{opacity:.92}29%{opacity:.67}62%{opacity:.12}100%{opacity:0}}
@keyframes gate-lightning-bolt{0%{opacity:0}8%,27%{opacity:1}100%{opacity:0}}
@keyframes gate-thunder-jolt{0%,100%{translate:0 0}16%{translate:-3px 2px}33%{translate:3px -2px}52%{translate:-2px 1px}72%{translate:1px 0}}
.opening-gentle .opening-lightning{display:none}.opening-gentle.lightning-reveal .opening-flash{animation:gate-soft-light .72s ease-in-out both}
@keyframes gate-soft-light{0%,100%{opacity:0}45%{opacity:.14}}

/* A compact heraldic portrait to the left of the menu. The right-hand torch is unobstructed. */
.home.screen{width:min(760px,66vw);max-width:none;margin-left:3.5vw;margin-right:auto;transform:none;padding:40px 24px 24px}.home-top{width:100%;max-width:660px;margin-bottom:34px}.quest-menu-layout{grid-template-columns:190px 300px;gap:45px;width:100%;max-width:560px}.knight-dossier{grid-column:1;grid-row:1;gap:6px}.quest-choices{grid-column:2;grid-row:1;gap:10px}.home .portrait-button{order:-1;margin-bottom:8px;filter:drop-shadow(0 8px 7px #0007)}.portrait-button:before,.portrait-button:after{display:none}.portrait-button .scene,.preview-card .scene{border:0;border-image:none;box-shadow:none;padding:6px;background:linear-gradient(120deg,#b4a281,#544b3e 16%,#a49574 33%,#514a3b 70%,#b5a17b);clip-path:polygon(15% 0,85% 0,100% 14%,100% 78%,91% 91%,50% 100%,9% 91%,0 78%,0 14%)}.portrait-button .pixel-scene,.preview-card .pixel-scene{clip-path:polygon(14% 0,86% 0,100% 14%,100% 77%,90% 90%,50% 100%,10% 90%,0 77%,0 14%);aspect-ratio:216/240}.portrait-label{position:relative;display:block;inset:auto;padding:10px 4px 0;background:none;color:#ded1b0;font-size:9px;letter-spacing:2.3px}.portrait-label small{font-size:7px;color:#acaa92}.knight-dossier .level-panel,.knight-dossier .dossier-gold{background:none;padding:1px 0}.level-panel{font-size:10px}.level-panel small{font-size:9px}.dossier-gold{font-size:17px}.meter.xp{height:4px;border-color:#82765c}.quest-caption{max-width:560px;width:100%;margin-top:24px}.home .portrait-button:hover{filter:brightness(1.12) drop-shadow(0 8px 7px #0007)}
/* A deliberately smaller collection: matched steel, changing heads and dyes. */
.stage-wardrobe .screen-title{margin-bottom:28px}.wardrobe-layout{max-width:800px;margin:0 auto;grid-template-columns:245px 1fr;gap:32px}.preview-card{border:0;border-radius:0;padding:14px 12px;background:linear-gradient(180deg,#10201b99,#0b1714bb);box-shadow:0 1px #bda47633}.preview-card .scene{padding:6px}.preview-card h2{font-size:21px}.preview-card p{line-height:1.65}.wardrobe-list .category-tabs{gap:24px;border-bottom:1px solid #a69b7155;padding-bottom:0}.wardrobe-list .category-tabs button{background:none;border-radius:0;font-size:13px;padding:12px 2px;letter-spacing:1px;min-height:44px}.wardrobe-list .category-tabs button.selected{color:#f1ddb0;border-bottom:2px solid #c6ac6c}.item-grid{gap:9px}.item-card{border-radius:2px;min-height:128px;background:linear-gradient(#1a2a21cc,#102019cc);border-color:#a59b6a44}.item-card.selected{background:linear-gradient(#4c503477,#283628bb);border-color:#c7af78}.item-card canvas{width:64px;height:64px}
/* The keeper lives behind the bar, composited into the room itself. */
.stage-shop .menu-screen{max-width:590px;margin-left:4vw;padding:78px 22px 35px}.stage-shop:before{background:linear-gradient(90deg,#0c1416d9,transparent 67%),linear-gradient(transparent 60%,#100e0ccc)!important}.stage-shop .menu-screen:before{opacity:.2}.stage-shop .screen-title{text-align:left;margin-bottom:24px;max-width:520px}.stage-shop .screen-title h1{letter-spacing:6px}.tavern-vista{position:absolute;left:calc(100% + 3vw);width:32vw;top:130px;height:300px;pointer-events:none}.stage-shop .merchant-greeting{position:absolute;left:calc(100% + 12vw);right:auto;top:63svh;width:32vw;text-align:center;text-shadow:0 2px 5px #000;background:radial-gradient(ellipse,#17180f77,transparent 70%);padding:12px}.merchant-greeting span{font-size:10px;letter-spacing:2px;color:#eed3a2}.merchant-greeting p{font:italic 14px Georgia;color:#e0c6a0}.stage-shop .shop-bar{margin-top:0;margin-bottom:22px;background:#1e211699}.shop-tabs{gap:14px;margin-bottom:14px}.shop-tabs button{font-size:12px;background:#261e16aa;min-height:42px;border-bottom-color:#aa8b5566}.shop-tabs button.selected{background:#614b2caa}.stage-shop .shop-grid{grid-template-columns:1fr;gap:12px}.stage-shop .shop-card{background:linear-gradient(110deg,#30291ee6,#1a1e17dc);border-color:#a1834d55;border-radius:2px 8px 2px 8px;padding:15px 18px;gap:12px}.stage-shop .shop-card>div:nth-child(2){min-width:210px}.stage-shop .shop-card .btn{width:auto;margin:4px 0 0 auto;font-size:10px;min-height:37px}.shop-card p{font-size:12px}.shop-card small{font-size:10px}.shop-return{margin-left:0}
@media(min-width:1600px){.home.screen{margin-left:8vw}.quest-menu-layout{max-width:610px;grid-template-columns:210px 320px;gap:65px}.home-top{max-width:730px}.stage-shop .menu-screen{margin-left:9vw;max-width:640px}}
@media(min-width:701px) and (max-width:1050px){.home.screen{width:64vw;margin-left:1vw;padding-left:15px;padding-right:10px}.quest-menu-layout{grid-template-columns:150px minmax(190px,1fr);gap:20px}.quest-choices .btn{font-size:19px}.quest-choices .embark{font-size:25px}.quest-choices .hard-entry{font-size:13px}.stage-shop .menu-screen{width:55vw;margin-left:1vw;padding-left:20px;padding-right:12px}.stage-shop .shop-card{padding:13px}.stage-shop .shop-card>div:nth-child(2){min-width:160px}.stage-shop .merchant-greeting{left:calc(100% + 2vw);right:auto;width:37vw}}
@media(max-width:700px){.home.screen{width:100%;margin:0;padding:55px 18px 22px;justify-content:flex-start;transform:none}.home-top{margin:0 auto 90px;max-width:430px}.quest-menu-layout{grid-template-columns:minmax(116px,.85fr) minmax(175px,1.15fr);gap:16px;max-width:440px;align-items:start}.knight-dossier{max-width:164px}.portrait-label{font-size:8px;padding-top:8px}.portrait-label small{font-size:6px}.quest-choices{gap:8px;padding-top:9px}.quest-choices .btn{font-size:18px;min-height:48px;padding:11px 6px 11px 27px;letter-spacing:2px}.quest-choices .embark{font-size:25px}.quest-choices .hard-entry{font-size:12px;min-height:41px}.quest-choices .btn small{font-size:7px;letter-spacing:.5px}.level-panel{font-size:8px;letter-spacing:.7px}.level-panel small{font-size:8px}.dossier-gold{font-size:16px}.quest-caption{margin-top:20px;max-width:340px}.home .portrait-button{margin-bottom:3px}.wardrobe-layout{grid-template-columns:1fr;gap:18px}.preview-card{grid-template-columns:125px 1fr;gap:8px 16px;padding:10px}.preview-card .scene{width:125px}.preview-card h2{font-size:18px}.preview-card p{font-size:10px}.wardrobe-list .category-tabs{margin-bottom:14px}.item-card{min-height:119px}.item-card canvas{width:60px;height:60px}.stage-shop .menu-screen{max-width:100%;width:100%;margin:0;padding:65px 15px 25px}.stage-shop:before{background:linear-gradient(#0e15152e,transparent 35%,#0e1513cc 56%,#0e1513e8)!important}.stage-shop .screen-title{margin-bottom:0;text-align:left;max-width:190px}.stage-shop .screen-title h1{font-size:27px;margin-bottom:6px}.stage-shop .screen-title p:last-child{display:none}.tavern-vista{position:relative;inset:auto;width:100%;height:230px}.stage-shop .merchant-greeting{position:relative;inset:auto;width:100%;padding:4px 0 14px;margin-top:0;background:none}.merchant-greeting span{font-size:9px}.merchant-greeting p{font-size:12px;margin:6px 0}.stage-shop .shop-bar{margin-bottom:15px;padding:12px 8px}.stage-shop .shop-tabs{gap:14px}.stage-shop .shop-tabs button{font-size:11px;padding:8px 10px}.stage-shop .shop-card>div:nth-child(2){min-width:210px}.stage-shop .shop-card h2{font-size:17px}.stage-shop .shop-card .btn{min-height:42px}.stage-shop .shop-return{margin-top:5px}.intro-skip{right:20px;bottom:calc(var(--ad-space) + 16px)}}
@media(max-width:370px){.home.screen{padding-left:12px;padding-right:12px}.quest-menu-layout{gap:10px;grid-template-columns:110px minmax(0,1fr)}.quest-choices .btn{font-size:17px}.quest-choices .embark{font-size:22px}.quest-choices .hard-entry{font-size:11px}.stage-shop .shop-card>div:nth-child(2){min-width:170px}}
@media(max-height:760px) and (max-width:700px){.home.screen{padding-top:43px}.home-top{margin-bottom:58px}.quest-choices{gap:4px}.quest-choices .btn{min-height:43px;padding-top:8px;padding-bottom:8px}.quest-caption{margin-top:15px}.tavern-vista{height:190px}}
@media(prefers-reduced-motion:reduce){.intro-active .opening-legend{transition:none}.intro-active .home-info,.intro-active .home-top h1,.intro-active .home-oath,.intro-active .quest-choices,.intro-active .knight-dossier,.intro-active .quest-caption,.intro-active .stage-home .menu-toggle{transform:none}.intro-impact .stage-home>.gate-world,.intro-impact .stage-home>.home{animation:none!important}.opening-lightning{display:none}.lightning-reveal .opening-flash{animation:gate-soft-light .72s ease-in-out both}}

/* A single floor, shared by scenery, shadows and creatures. */
.stage-combat:before{background:linear-gradient(#05110f77,transparent 25%,transparent 53%,#06110f77 70%,#060d0de0)!important}
.battle-wrap{min-height:180px;margin-bottom:10px}.combat.screen{min-height:740px}.battle-scene{pointer-events:none}.heroAttack .battle-wrap:before{animation-duration:.51s}.landed-rune{animation-duration:1s}.timing-rune{box-shadow:0 0 20px #9ce3a075;border-color:#d0f0a6}.super-rune{border-color:#d7efae!important;box-shadow:inset 0 0 12px #dcff8a44,0 0 9px #b1de7544}
/* Timing is a struck rune and a sword edge, not another word board. */
.critical-focus{position:fixed;inset:0 0 var(--ad-space);z-index:75;display:grid;place-items:center;padding:18px;isolation:isolate}.critical-shade{position:absolute;inset:0;background:#030b08a8;backdrop-filter:blur(2px);z-index:-1}.critical-window{position:relative;text-align:center;width:min(390px,95vw);padding:12px 12px 22px;animation:critical-appear .25s ease-out both}.critical-window:before{content:'';position:absolute;inset:0 -45px;z-index:-1;background:radial-gradient(ellipse,#1b4630aa,transparent 68%)}.critical-window .eyebrow{font-size:9px;letter-spacing:3px;color:#c7d1ac;margin:0 0 8px}.critical-window h2{font-size:22px;letter-spacing:2px;color:#e1eabc;margin-bottom:18px;text-shadow:0 2px 4px #000}.focus-rune{position:relative;width:122px;height:132px;display:grid;place-items:center;margin:0 auto;color:#eff8d1;font:bold 78px "Knightle Quill",Georgia;text-shadow:0 3px 0 #1b3121,0 0 24px #b5e39888;background:linear-gradient(135deg,#597e59bd,#24402cc7);border:2px solid #c6e2a2;clip-path:polygon(10% 0,90% 0,100% 9%,100% 88%,90% 100%,8% 100%,0 90%,0 12%);box-shadow:inset 0 0 18px #a9c57b88;animation:weakpoint .7s ease-out both}.focus-rune:before,.focus-rune:after{content:'✧';position:absolute;font-size:15px;top:7px;left:8px}.focus-rune:after{inset:auto 8px 7px auto}.strike-gauge{position:relative;width:100%;height:22px;margin:-55px 0 0;background:#0a0e0d;border:2px solid #a5a995;box-shadow:0 3px #080d08,0 0 0 4px #0a1711d9,0 0 28px #8dd09855;border-radius:2px;z-index:2}.gauge-zones{position:absolute;inset:2px;background:linear-gradient(90deg,#080b0c 0 16%,#697078 16% 32%,#d5b25a 32% 44%,#75cd80 44% 56%,#d5b25a 56% 68%,#697078 68% 84%,#080b0c 84% 100%)}.gauge-zones:after{content:'';position:absolute;inset:0;background:repeating-linear-gradient(90deg,transparent 0 11px,#080d0d55 11px 12px)}.gauge-center{position:absolute;width:2px;top:-7px;bottom:-7px;background:#c1f29a;left:50%;box-shadow:0 0 8px #b3f296}.gauge-cursor{position:absolute;top:-7px;bottom:-7px;width:3px;background:#fff9e9;box-shadow:0 0 3px #000,0 0 6px #fcfff4;transform:translateX(-50%);will-change:left}.gauge-cursor:before,.gauge-cursor:after{content:'';position:absolute;left:-3px;top:-4px;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid #fffae6}.gauge-cursor:after{top:auto;bottom:-4px;transform:rotate(180deg)}.gauge-values{display:grid;grid-template-columns:16fr 16fr 12fr 12fr 12fr 16fr 16fr;margin-top:14px;color:#c4c4b4;font:10px "Knightle Quill",Georgia;text-shadow:0 1px #000;position:relative;z-index:2}.gauge-values b{color:#ccf5ae}.timing-copy{margin:36px 0 14px;color:#d8dcc5;font:italic 12px Georgia}.timing-strike.btn{min-width:230px;min-height:49px;background:linear-gradient(#4d6848,#283c2d);border-color:#bed096;color:#f1ebc9;letter-spacing:2px;font-size:13px;box-shadow:0 3px #112217,inset 0 1px #dae6b655}.timing-controls{display:block;margin:11px 0 12px;font:8px "Knightle Quill",Georgia;letter-spacing:2px;color:#aeb99a}.steady-critical{background:none;border:0;border-bottom:1px solid #8b9b6d55;font:italic 11px Georgia;color:#b6bea5;padding:9px;min-height:37px}.critical-number{font:bold 48px "Knightle Quill",Georgia;color:#e9f7bd;animation:super-number .65s ease-out both;height:76px;text-shadow:0 0 20px #b9f2b3}.grade-perfect .focus-rune{filter:brightness(1.8);box-shadow:inset 0 0 30px #f8efb5}.grade-perfect .critical-window:before{background:radial-gradient(ellipse,#8bad424a,transparent 70%)}.grade-base .critical-number{color:#e1be72}.timing-locked .critical-window h2{animation:critical-appear .2s both}
@keyframes weakpoint{0%{transform:scale(.4) rotate(-15deg);opacity:0}65%{transform:scale(1.12) rotate(3deg);filter:brightness(1.6)}100%{transform:none;opacity:1}}@keyframes critical-appear{from{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:none}}@keyframes super-number{0%{transform:scale(.4);opacity:0}30%{transform:scale(1.35);opacity:1}100%{transform:translateY(-12px);opacity:1}}
/* Ink, worn vellum, a red route and a knight pacing into the unknown. */
.travel-veil{position:fixed;inset:0;z-index:110;background:#030505;opacity:0;transition:opacity .45s ease;display:grid;place-items:center;padding:30px 20px calc(var(--ad-space) + 20px);isolation:isolate}.travel-veil.darken{opacity:1}.travel-veil.arriving{opacity:0;pointer-events:none}.travel-inner{width:min(570px,100%);text-align:center;opacity:0;transition:opacity .5s ease;position:relative}.map-visible .travel-inner{opacity:1}.travel-kicker{color:#857e6a;font:9px "Knightle Quill",Georgia;letter-spacing:3px;margin:0 0 15px}.travel-inner h2{font:italic 36px Georgia;color:#d8d4c3;margin:0 0 18px;letter-spacing:1px}.travel-inner h2 span{color:#79624f}.descent-map{display:block;width:100%;height:auto;filter:drop-shadow(0 0 30px #6d503318)}.map-parchment{fill:#171816;stroke:#655740;stroke-width:.7}.map-rocks{fill:none;stroke:#585548;stroke-width:1;opacity:.42}.map-corridors{stroke:#716650;stroke-width:6;fill:none;opacity:.25;stroke-linejoin:bevel}.map-journey{fill:none;stroke:#99534c;stroke-width:1.8;stroke-linecap:round}.visited-route{opacity:.45}.current-route{stroke:#bc6c5b;stroke-dasharray:100;stroke-dashoffset:100;filter:drop-shadow(0 0 3px #b54b4b66)}.map-room{fill:#171a17;stroke:#837459;stroke-width:1.2}.map-room text{font:9px "Knightle Quill",Georgia;stroke:none;fill:#867f69;text-anchor:middle}.map-room.visited{stroke:#8c6860}.map-room.destination{stroke:#d19d73;fill:#32241c}.map-room.destination text{fill:#dab78c}.travel-knight{width:180px;height:auto;image-rendering:pixelated;margin:-18px auto 0;display:block;position:relative}.travel-destination small{display:block;font-size:8px;letter-spacing:3px;color:#817d6c;margin:8px 0}.travel-destination strong{font:italic 21px Georgia;letter-spacing:.6px;color:#cebea0}.travel-skip{position:absolute;bottom:calc(var(--ad-space) + 14px);right:26px;color:#96907d;background:none;border:0;min-height:44px;font:italic 12px Georgia;padding:10px}.travel-skip span{margin-left:12px}
/* Treasure opens in the world: anticipation, spectral light, tangible finds. */
.stage-loot:before{background:radial-gradient(ellipse at 50% 45%,#0a12093d,#040b09d9 80%)!important}.spoils-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:65px 24px 35px;max-width:800px;min-height:calc(100svh - var(--ad-space))}.spoils-screen>.eyebrow{font-size:9px;color:#bbb497;margin-bottom:15px}.spoils-screen h1{font-size:26px;letter-spacing:3px;color:#eddbab;text-shadow:0 2px #050a05;margin:0 0 15px}.loot-rarity{font-size:9px;letter-spacing:3px;color:#b6a47a;margin:0}.loot-wood .loot-rarity{color:#d0be83}.loot-iron .loot-rarity{color:#abbec9}.loot-mega .loot-rarity{color:#f2cd80}.loot-stage{position:relative;isolation:isolate;width:260px;height:214px;display:grid;place-items:center;margin:7px auto 0}.loot-stage:after{content:'';position:absolute;bottom:18px;left:12%;right:12%;height:22px;background:#050905c9;border-radius:50%;z-index:-1;filter:blur(5px)}.loot-container{width:200px;height:200px;image-rendering:pixelated;position:relative;z-index:2;animation:treasure-drop .7s cubic-bezier(.3,.1,.4,1) both}.spoils-screen h2{font-size:20px;color:#dbbd7d;margin:0 0 22px}.loot-open{min-width:230px;font-size:13px;min-height:48px;letter-spacing:2px}.loot-note{font:italic 12px Georgia;color:#bbb49b;margin:17px 0}.rainbow-burst,.loot-rays{position:absolute;inset:-60px;z-index:-1;pointer-events:none;opacity:0;mask-image:radial-gradient(circle,#000,transparent 69%)}.rainbow-burst{background:conic-gradient(from 0deg,#e9746466,#f6cc6b99,#a6d58d88,#79bdc988,#ae9bd288,#dba0bb77,#e9746466);filter:blur(5px)}.loot-rays{background:repeating-conic-gradient(from 10deg,transparent 0 18deg,#f4edc36b 19deg 23deg,transparent 24deg 46deg)}.loot-opening .rainbow-burst{animation:rainbow-open 1.5s ease-out both}.loot-opening .loot-rays{animation:chest-rays 1.5s ease-out both}.loot-opening .loot-container{animation:chest-unseal 1.5s ease-out both}.loot-bag .rainbow-burst,.loot-spoils .rainbow-burst{display:none}.loot-opening-text{font:italic 15px Georgia;color:#dbd1b4;margin:4px 0 28px}.loot-sparks{position:absolute;inset:0;pointer-events:none}.loot-sparks i{position:absolute;top:50%;left:50%;height:3px;width:3px;opacity:0;background:#ffe7a5;--angle:calc(var(--n)*22.5deg)}.loot-opening .loot-sparks i{animation:treasure-spark 1.5s ease-out both;animation-delay:calc(var(--n)*10ms)}.loot-revealed .rainbow-burst{opacity:.45;transform:scale(.85)}.loot-revealed .loot-stage{height:150px;margin-top:0}.loot-revealed .loot-container{width:145px;height:145px;animation:none}.loot-revealed h2{margin-bottom:10px;font-size:18px}.treasure-spread{display:flex;justify-content:center;gap:16px;width:100%;margin:8px 0 18px}.treasure-item{position:relative;width:120px;animation:treasure-reveal .65s ease-out both;animation-delay:calc(var(--order)*150ms)}.treasure-item:before{content:'';position:absolute;inset:-10px -15px 28px;background:radial-gradient(ellipse,#dfbb6540,transparent 67%);z-index:-1}.treasure-item canvas{display:block;width:96px;height:96px;image-rendering:pixelated;margin:0 auto 6px}.treasure-item strong{display:block;font:11px/1.4 "Knightle Quill",Georgia;color:#ded0ac;min-height:30px}.treasure-item>span{display:block;color:#eac97a;font-size:17px;margin-top:6px}.loot-total{display:flex;align-items:center;justify-content:center;font-size:12px;color:#bdb798;gap:4px;margin:5px 0 22px}.loot-total b{font:19px "Knightle Quill",Georgia;color:#ead29a;margin-right:4px}.loot-total .coin-icon{margin-right:3px}.loot-continue{font-size:12px;min-height:46px;letter-spacing:1px}.result-grid .coin-icon{width:19px;height:19px;vertical-align:middle}
@keyframes treasure-drop{0%{transform:translateY(-110px) rotate(-12deg) scale(.5);opacity:0}65%{transform:translateY(5px) rotate(3deg);opacity:1}80%{transform:translateY(-8px) rotate(-1deg)}100%{transform:none;opacity:1}}@keyframes chest-unseal{0%{transform:rotate(-2deg)}12%{transform:rotate(2deg)}22%{transform:rotate(-3deg)}32%{transform:rotate(3deg);filter:brightness(1.6)}48%{transform:scale(1.15);filter:brightness(2.2)}100%{transform:none;filter:none}}@keyframes rainbow-open{0%{opacity:0;transform:scale(.15) rotate(-40deg)}42%{opacity:1;transform:scale(1.15) rotate(0)}100%{opacity:.6;transform:scale(1.45) rotate(70deg)}}@keyframes chest-rays{0%{opacity:0;transform:scale(.2) rotate(-20deg)}45%{opacity:.9}100%{opacity:0;transform:scale(1.6) rotate(50deg)}}@keyframes treasure-spark{0%,20%{opacity:0;transform:rotate(var(--angle)) translateX(0)}35%{opacity:1}100%{opacity:0;transform:rotate(var(--angle)) translateX(180px)}}@keyframes treasure-reveal{0%{opacity:0;transform:translateY(25px) scale(.4)}65%{opacity:1;transform:translateY(-5px) scale(1.08)}100%{opacity:1;transform:none}}
@media(max-width:700px){.combat.screen{min-height:690px}.battle-wrap{min-height:160px}.critical-window{width:min(340px,94vw)}.critical-window h2{font-size:20px}.spoils-screen{padding:68px 14px 25px}.spoils-screen h1{font-size:20px;letter-spacing:2px}.loot-stage{width:230px;height:200px}.loot-container{width:185px;height:185px}.treasure-spread{gap:4px}.treasure-item{width:23%}.treasure-item canvas{width:70px;height:70px;max-width:100%}.treasure-item strong{font-size:10px;min-height:30px}.treasure-item>span{font-size:16px}.travel-inner h2{font-size:31px}.travel-knight{width:150px}.travel-destination strong{font-size:19px}}
@media(max-height:760px) and (max-width:700px){.combat.screen{min-height:630px}.battle-wrap{min-height:105px;margin-bottom:4px}.travel-veil{padding-top:20px}.travel-inner{max-width:420px}.travel-inner h2{margin-bottom:2px;font-size:28px}.travel-knight{width:130px;margin-top:-15px}.spoils-screen{padding-top:56px}.loot-stage{height:170px}.loot-container{width:165px;height:165px}.loot-revealed .loot-stage{height:115px}.loot-revealed .loot-container{width:115px;height:115px}.loot-revealed h1{margin-bottom:8px}.loot-total{margin-bottom:14px}.critical-window{transform:scale(.94)}}
@media(prefers-reduced-motion:reduce){.critical-window,.focus-rune,.critical-number,.loot-container,.treasure-item,.rainbow-burst,.loot-rays,.loot-sparks i{animation:none!important}.loot-opening .rainbow-burst{opacity:.3}.loot-rays,.loot-sparks{display:none}.travel-veil,.travel-inner{transition:none}}

/* Engraved, chipped materials. Italic narration retains its smooth book face. */
.quest-caption p{font-family:Georgia,serif}
.wordmark{image-rendering:pixelated;aspect-ratio:420/118}
.coin-icon,.result-grid .coin-icon{width:21px;height:21px;border:0;border-radius:0;background:url("assets/quest/gold-sovereign.webp") center/contain no-repeat;box-shadow:none;image-rendering:pixelated;vertical-align:-5px;margin-right:6px;flex-shrink:0}
.dossier-gold .coin-icon{width:23px;height:23px;vertical-align:-6px}
.tile,.guess-row.current .tile,.tile.crit,.tile.hit,.tile.miss{isolation:isolate;overflow:visible;border:0;border-radius:0;background:none;box-shadow:none;backdrop-filter:none;--rune-edge:#8c8c6559;--rune-fill:#17291ba3}
.tile:before,.tile:after{width:auto;height:auto;opacity:1;border:0;clip-path:polygon(3px 0,calc(100% - 5px) 0,calc(100% - 5px) 2px,100% 2px,100% calc(100% - 4px),calc(100% - 3px) calc(100% - 4px),calc(100% - 3px) 100%,4px 100%,4px calc(100% - 2px),0 calc(100% - 2px),0 3px,3px 3px)}
.tile:before{inset:0;z-index:-2;background:var(--rune-edge)}
.tile:after{inset:2px;z-index:-1;background:linear-gradient(124deg,transparent 0 13%,#e0cc8512 13% 17%,transparent 17% 81%,#020c0a55 81% 86%,transparent 86%),linear-gradient(0deg,#06140c44,transparent 30%),var(--rune-fill)}
.guess-row.current .tile{--rune-edge:#c3a168b5;--rune-fill:#3d482db3}
.tile.crit{--rune-edge:#9ebe8ec9;--rune-fill:#376245cf}
.tile.hit{--rune-edge:#c3a15bbf;--rune-fill:#776033cf}
.tile.miss{--rune-edge:#77806a70;--rune-fill:#16241dc7}
.tile small{font-size:8px;bottom:1px;right:4px}
.key{clip-path:polygon(4px 0,calc(100% - 4px) 0,calc(100% - 4px) 2px,100% 2px,100% calc(100% - 5px),calc(100% - 3px) calc(100% - 5px),calc(100% - 3px) 100%,3px 100%,3px calc(100% - 2px),0 calc(100% - 2px),0 4px,4px 4px);box-shadow:inset 0 2px #a0a17d55,inset 2px 0 #77856455,inset -2px 0 #0b140a,inset 0 -3px #06130ad9;background:repeating-linear-gradient(0deg,transparent 0 7px,#d8bf6810 7px 8px,transparent 8px 12px),linear-gradient(125deg,#4c573cb3,#1b2d20d9 65%);text-shadow:1px 2px #07100c}
.key:before{inset:5px 4px;border-top:1px solid #a7a77d2e;border-bottom:1px solid #0c160b88}
.key.wide{font-size:10px;letter-spacing:.4px}
.btn:not(.quest-choices .btn){border-radius:0;clip-path:polygon(4px 0,calc(100% - 7px) 0,calc(100% - 7px) 3px,100% 3px,100% calc(100% - 5px),calc(100% - 4px) calc(100% - 5px),calc(100% - 4px) 100%,4px 100%,4px calc(100% - 3px),0 calc(100% - 3px),0 5px,4px 5px)}
.key:focus-visible,.btn:focus-visible{outline-offset:-4px;outline-color:#ffe6a6;filter:brightness(1.3)}
.quest-choices .btn:before{clip-path:polygon(0 4px,84% 0,84% 2px,96% 2px,96% 5px,100% 5px,100% calc(100% - 5px),96% calc(100% - 5px),96% calc(100% - 2px),84% calc(100% - 2px),84% 100%,0 calc(100% - 4px))}
.quest-choices .btn small{font-size:9px;letter-spacing:.65px}
.map-sheet{position:relative;width:100%}
.map-head{position:absolute;transform:translate(-50%,-50%);width:44px;height:44px;filter:drop-shadow(1px 2px 0 #0b100ce0);opacity:.7}
.map-head canvas{width:100%;height:100%;image-rendering:pixelated;display:block;position:relative}
.map-head:before{content:"";position:absolute;inset:8px;background:#26281fe6;box-shadow:0 0 12px 7px #26281f}
.map-head small{position:absolute;left:0;right:0;bottom:-10px;font:10px "Knightle Quill",Georgia;text-align:center;color:#a2987b}
.map-head.destination{opacity:1;filter:drop-shadow(0 0 4px #b0996866)}
.map-head.destination:after{content:"";position:absolute;bottom:-14px;left:calc(50% - 2px);width:4px;height:2px;background:#aa5241}
.map-head.visited{opacity:.45}
.loot-stage>.loot-container{grid-area:1/1}
.loot-lid-open{opacity:0}
.loot-opening .loot-lid-closed{animation:chest-unseal 1.5s ease-out both,loot-close-hide 1.5s steps(1,end) both}
.loot-opening .loot-lid-open{animation:chest-unseal 1.5s ease-out both,loot-open-show 1.5s steps(1,end) both}
@keyframes loot-close-hide{0%,35%{opacity:1}36%,100%{opacity:0}}
@keyframes loot-open-show{0%,35%{opacity:0}36%,100%{opacity:1}}
@media(max-width:700px){.map-head{width:36px;height:36px}.quest-choices .btn small{font-size:8px}.key.wide{font-size:9px}.eyebrow{letter-spacing:2px}}
@media(prefers-reduced-motion:reduce){.loot-opening .loot-lid-closed{display:none}.loot-opening .loot-lid-open{opacity:1}}

.menu-toggle,.key[data-key="BACK"]{font-family:Arial,sans-serif}
