:root{color-scheme:light;--ink:#123b2b;--cream:#fff9df;--yellow:#ffda47;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px)}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none;background:#163b2c;font-family:Arial,Helvetica,sans-serif;color:var(--ink);user-select:none;-webkit-user-select:none}button{font:inherit;cursor:pointer;touch-action:manipulation}button:focus-visible{outline:3px solid white;outline-offset:6px}[hidden]{display:none!important}#game{position:relative;isolation:isolate;width:100%;height:100%;height:100dvh;overflow:hidden;touch-action:none}canvas#world{position:absolute;width:100%;height:100%;inset:0;display:block;touch-action:none}.vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(15,63,40,.1),transparent 30%,transparent 65%,rgba(13,46,29,.28));z-index:1}#impact{position:absolute;inset:0;pointer-events:none;z-index:8;box-shadow:inset 0 0 150px 45px #ff4c34;opacity:0;transition:opacity .13s}.hud{position:absolute;z-index:5;top:calc(20px + var(--safe-top));left:28px;right:28px;display:grid;grid-template-columns:1fr minmax(120px,240px) 1fr;align-items:start;gap:16px;color:var(--cream);text-shadow:0 2px 10px #17442e77}.eyebrow{font-size:12px;letter-spacing:2px;font-weight:800;display:block}.score-block strong{display:block;font-size:36px;line-height:1.1;letter-spacing:-1px;font-weight:900;font-variant-numeric:tabular-nums}.score-block{justify-self:start;background:#16462de8;padding:13px 20px;border-radius:20px;border:1px solid #ffffff25;min-width:125px;box-shadow:0 5px 14px #153d351c}.coin-count{display:flex;gap:7px;align-items:center;font-size:14px;margin-top:5px;color:#ffe175}.coin-icon{display:inline-block;width:15px;height:18px;border-radius:50%;background:#ffc52a;border:2px solid #fff18b;box-shadow:inset -3px 0 #d89408;vertical-align:middle;transform:rotate(15deg)}.progress-block{padding:14px 0;text-align:center;color:var(--ink);font-size:13px;font-weight:800;text-shadow:none}.progress-track{height:8px;background:#24604440;border:1px solid #eafaaf70;border-radius:20px;margin:8px 0;position:relative;box-shadow:0 2px 4px #14332912}.progress-track i{display:block;height:100%;width:0;background:#f8bb25;border-radius:inherit;transition:width .1s linear}.progress-track span{position:absolute;right:-4px;top:-9px;font-size:23px}.progress-block #zone{font-size:10px;letter-spacing:1.6px}.lives-block{justify-self:end;text-align:right;color:#fffce4;background:#16462de8;padding:13px 17px;border-radius:20px;border:1px solid #ffffff25}.lives-block .eyebrow{font-size:10px}#hearts{display:flex;gap:4px;font-size:29px;color:#ff8b84;line-height:1.25;filter:drop-shadow(0 2px 0 #811e32)}#hearts span{transition:transform .2s,opacity .2s}#hearts .lost{opacity:.18;filter:grayscale(1);transform:scale(.8)}.small-button{background:none;border:0;color:var(--cream);font-size:21px;margin:1px -3px -6px;padding:0 6px;line-height:1.1}.screen{position:absolute;inset:0;z-index:4}.start-screen{display:flex;flex-direction:column;align-items:center;pointer-events:none}.edition{position:absolute;top:calc(27px + var(--safe-top));left:30px;display:flex;gap:9px;align-items:center;font-size:20px;letter-spacing:.5px;font-weight:900}.edition-mark{background:var(--ink);color:var(--yellow);height:42px;width:42px;display:grid;place-items:center;border-radius:13px;font-size:28px;font-style:italic}.edition-sub{display:block;font-size:8px;letter-spacing:1.3px;margin-top:2px}.title-wrap{text-align:center;margin-top:clamp(86px,12vh,132px);filter:drop-shadow(0 3px 2px #173d211c)}.kicker{font-size:11px;letter-spacing:2.5px;font-weight:900;margin:0 0 14px}h1{font-family:Impact,Haettenschweiler,'Arial Narrow Bold',Arial,sans-serif;font-size:clamp(62px,11vh,106px);font-weight:900;font-style:italic;line-height:.87;letter-spacing:-2px;margin:0;transform:rotate(-3deg);color:var(--cream);-webkit-text-stroke:2px var(--ink);paint-order:stroke fill;text-shadow:2px 5px 0 var(--ink),0 8px 0 #15462d1a}h1 span{display:block;white-space:nowrap}h1 span:last-child{color:var(--yellow);font-size:1.06em;letter-spacing:-3px}.subtitle{font-size:14px;letter-spacing:.2px;font-weight:700;margin:21px 0 0}.start-bottom{position:absolute;bottom:calc(27px + var(--safe-bottom));width:min(340px,calc(100% - 52px));text-align:center;pointer-events:auto}.level-tag{font-size:10px;letter-spacing:1.1px;display:flex;align-items:center;justify-content:space-between;background:var(--cream);padding:10px 15px;border-radius:12px 12px 0 0;margin:0 13px;font-weight:900}.level-tag span{background:var(--ink);color:var(--cream);border-radius:4px;padding:3px 5px;font-size:10px}.level-tag i{font-style:normal;font-size:9px;opacity:.6}.primary-button{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:65px;padding:8px 23px;border-radius:17px;border:2px solid #193d22;background:var(--yellow);color:var(--ink);font-size:24px;letter-spacing:1px;font-weight:900;box-shadow:0 6px 0 #183e29,0 12px 25px #153e3533;transition:transform .12s,box-shadow .12s}.primary-button span{flex:1}.primary-button b{font-size:29px}.primary-button:hover{background:#ffe475;transform:translateY(-2px);box-shadow:0 8px 0 #183e29,0 15px 25px #153e3533}.primary-button:active{transform:translateY(4px);box-shadow:0 2px 0 #183e29}.primary-button:disabled{opacity:.6;cursor:wait}.touch-instruction{font-size:11px;font-weight:900;letter-spacing:.8px;color:var(--cream);margin:20px -10px 0;text-shadow:0 1px 5px #183d26}.touch-instruction i{font-style:normal;margin:0 5px;color:#ffe15c}.keyboard-instruction{font-size:11px;color:#fffde6;margin:11px 0 0;font-weight:600;text-shadow:0 1px 5px #183d26}.keyboard-instruction span{margin:0 9px}kbd{display:inline-block;padding:2px 5px;border-radius:4px;border:1px solid #fffa;border-bottom:2px solid #fff8;background:#16462d70;font-size:10px;margin-right:4px}.tools{position:absolute;bottom:calc(25px + var(--safe-bottom));right:26px;z-index:7;display:flex}.tools button{width:40px;height:40px;border:1px solid #ffffff30;background:#16462dd6;color:var(--cream);border-radius:50%;padding:10px}.tools svg{width:100%;height:100%}.tools .muted .sound-waves{opacity:.2}#toast{position:absolute;top:25%;left:50%;transform:translate(-50%,-15px) rotate(-2deg);background:#fffce9;color:var(--ink);padding:13px 23px;font-size:18px;font-weight:900;border-radius:14px;box-shadow:0 4px 0 #174d36;z-index:6;opacity:0;pointer-events:none;white-space:nowrap;transition:opacity .16s,transform .2s}#toast.visible{opacity:1;transform:translate(-50%,0) rotate(-2deg)}#jump-hint{position:absolute;bottom:34%;left:50%;transform:translateX(-50%);white-space:nowrap;background:#16462df0;color:#fff5af;z-index:3;font-weight:900;font-size:14px;letter-spacing:1px;padding:12px 19px;border-radius:12px;animation:bob .6s infinite alternate}#boost-status{position:absolute;top:calc(134px + var(--safe-top));left:50%;transform:translateX(-50%);min-width:150px;font-size:11px;font-weight:900;letter-spacing:1.2px;text-align:center;color:#153f29}#boost-status i{display:block;height:4px;background:#ffd231;border-radius:4px;margin-top:8px;transform-origin:left center}.touch-controls{position:absolute;bottom:calc(21px + var(--safe-bottom));left:50%;transform:translateX(-50%);z-index:4;display:flex;gap:14px;align-items:center;pointer-events:auto}.touch-controls button{width:58px;height:53px;border-radius:18px;border:1px solid #fffa;background:#16462d8f;color:#fffce3;font-size:28px;box-shadow:0 3px 0 #14362760;backdrop-filter:blur(5px)}.touch-controls button:active{transform:translateY(3px);background:#3d704f}.touch-controls .jump-control{width:75px;height:61px;background:#ffdb48;color:#173e28;border-color:#fff6;font-weight:900;font-size:24px}.jump-control span{display:block;font-size:9px;letter-spacing:1px;line-height:1}.result-screen,.pause-screen{display:grid;place-items:center;background:#0e352a5c;backdrop-filter:blur(7px);padding:24px;z-index:10}.result-card,.pause-card{width:min(410px,100%);text-align:center;background:var(--cream);border:2px solid #16472b;border-radius:30px;padding:28px 25px 32px;box-shadow:0 9px 0 #17462b,0 25px 80px #0d392450;animation:pop .35s cubic-bezier(.2,1.5,.7,1)}.result-icon{margin:-61px auto 24px;width:82px;height:82px;border-radius:25px;background:#ffd33b;border:3px solid #15442e;box-shadow:0 5px 0 #15442e;display:grid;place-items:center;font-size:47px;transform:rotate(-9deg);color:#fffbe6;text-shadow:0 3px #ad731b}.result-card .kicker{font-size:10px;margin-bottom:9px}h2{font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;font-size:48px;font-style:italic;line-height:1;letter-spacing:-1px;margin:0;color:#16462d}#result-message{font-size:13px;margin:12px 0 24px}.result-stats{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #16462d25;border-bottom:1px solid #16462d25;padding:20px 0}.result-stats>div+div{border-left:1px solid #16462d25}.result-stats span{display:block;font-size:9px;font-weight:900;letter-spacing:1px}.result-stats strong{display:flex;justify-content:center;align-items:center;gap:6px;margin-top:7px;font-size:32px;font-weight:900}#result-details{font-size:12px;margin:17px 0 22px}.result-card .primary-button{min-height:57px;font-size:20px}.pause-card h2{font-size:40px;margin:15px 0 30px}.pause-card .primary-button{font-size:18px}#load-error{position:absolute;inset:0;z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:30px;background:var(--cream)}#load-error p{line-height:1.6;max-width:400px}#load-error button{padding:20px;border:0;background:var(--yellow);border-radius:12px;font-weight:900}.float-score{position:absolute;z-index:6;color:#fff6b7;font-size:22px;font-weight:900;pointer-events:none;text-shadow:0 2px 0 #b7761c;animation:fly 700ms ease-out forwards}@keyframes fly{to{transform:translateY(-65px) scale(.75);opacity:0}}@keyframes bob{to{margin-bottom:7px}}@keyframes pop{from{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}
@media(max-width:600px){.hud{top:calc(14px + var(--safe-top));left:13px;right:13px;grid-template-columns:92px minmax(90px,1fr) 85px;gap:12px}.score-block{min-width:0;padding:11px 12px;border-radius:16px}.score-block strong{font-size:28px}.eyebrow{font-size:9px}.coin-count{font-size:12px}.lives-block{padding:10px 10px;border-radius:16px}#hearts{font-size:23px;gap:3px}.progress-block{font-size:11px;padding-top:13px}.progress-block #zone{font-size:8px;letter-spacing:.8px}.edition{top:calc(21px + var(--safe-top));left:22px;font-size:16px}.edition-mark{width:34px;height:34px;font-size:23px;border-radius:10px}.edition-sub{font-size:7px}.title-wrap{margin-top:clamp(100px,15vh,132px)}h1{font-size:clamp(50px,17vw,78px)}.kicker{font-size:9px;letter-spacing:2px}.subtitle{font-size:13px;margin-top:18px}.start-bottom{bottom:calc(30px + var(--safe-bottom));max-width:300px}.tools{right:14px;bottom:calc(20px + var(--safe-bottom))}.tools button{width:33px;height:33px;padding:8px}.keyboard-instruction{display:none}.touch-instruction{font-size:9px;letter-spacing:.5px}.primary-button{min-height:61px}.level-tag{font-size:8px}.level-tag i{font-size:8px}.result-card{padding:26px 20px}h2{font-size:41px}}
@media(min-width:850px){.start-bottom{bottom:35px}.touch-controls{opacity:.72}.edition{left:36px}.title-wrap{margin-top:10vh}}
@media(max-height:590px){.title-wrap{margin-top:70px}h1{font-size:53px}.subtitle{display:none}.start-bottom{bottom:17px}.primary-button{min-height:48px;font-size:20px}.touch-instruction{margin-top:13px}.keyboard-instruction{display:none}.level-tag{padding:6px 10px}.result-card{padding:16px 25px}.result-icon{width:50px;height:50px;font-size:28px;margin:-34px auto 16px}.result-stats{padding:12px 0}#result-message{margin:10px 0}.result-card h2{font-size:34px}.result-card .primary-button{min-height:47px}#result-details{margin:12px 0}.touch-controls button{height:42px}.touch-controls .jump-control{height:49px}}
@media(prefers-reduced-motion:reduce){.primary-button,#toast{transition:none}#jump-hint{animation:none}}

/* The supplied opening artwork stays intact; real controls align with its buttons. */
.start-screen{z-index:9;background:#162518;pointer-events:auto;display:grid;place-items:center}.opening-art{position:relative;width:min(100vw,94.9495dvh);height:min(105.319vw,100dvh);flex:none}.opening-art img{display:block;width:100%;height:100%;object-fit:contain}.image-play,.image-music{position:absolute;border:0;background:transparent;border-radius:28%;color:transparent}.image-play{left:35.2%;top:84.6%;width:29%;height:9.5%;transition:box-shadow .16s,transform .16s}.image-play:not(:disabled):hover{box-shadow:0 0 25px #ffe181b0;transform:scale(1.025)}.image-play:not(:disabled):active{transform:scale(.97)}.image-play:disabled{background:#23412a55;cursor:wait}.image-music{left:91.1%;top:1.2%;width:6.6%;height:5.9%;border-radius:50%}.start-screen~.tools{z-index:11}body:has(#start:not([hidden])) .tools{position:absolute;inset:0;pointer-events:none;display:grid;place-items:center}body:has(#start:not([hidden])) .tools #sound{position:absolute;left:calc(50% + min(100vw,94.9495dvh)*.337);top:calc(50% - min(105.319vw,100dvh)*.488);width:calc(min(100vw,94.9495dvh)*.064);height:calc(min(105.319vw,100dvh)*.059);background:transparent;border:0;pointer-events:auto}body:has(#start:not([hidden])) .tools svg{visibility:hidden}.coin-icon{width:19px;height:12px;border-radius:65% 35% 48% 45%;border:1px solid #ffe9a3;background:linear-gradient(155deg,#ffed92,#f7b62f);box-shadow:inset -2px -2px #db941b;transform:rotate(-22deg)}
@media(max-width:600px){.start-screen{background:linear-gradient(#20361d,#6b6037)}.image-play{border-radius:30px}}
/* Warm, cinematic in-game interface. */
.hud{top:calc(20px + var(--safe-top));color:#ffedbc}.score-block,.lives-block{background:linear-gradient(150deg,#322c20e8,#14241ecf);border-color:#ddbf783c;box-shadow:0 8px 30px #0003;backdrop-filter:blur(12px)}.score-block strong{color:#fff0bc}.progress-block{color:#fff1bf;text-shadow:0 2px 10px #1a210f,0 0 20px #182a18}.progress-track{background:#171e16aa;border-color:#eed39855;box-shadow:0 2px 8px #0003}.progress-track i{background:linear-gradient(90deg,#b3822e,#ffe4a1)}.vignette{background:linear-gradient(180deg,#14221777,transparent 29%,transparent 60%,#1d281450),radial-gradient(ellipse at center,transparent 50%,#111b1230)}.touch-controls button{background:#302e238c;border-color:#dec89055;color:#fff0bf;box-shadow:0 4px 15px #0003}.touch-controls .jump-control{background:linear-gradient(#ffe29a,#dcad48);border-color:#fff1ab;color:#47351b}.tools button{background:#292d21bb;border-color:#e7ca6d44}.primary-button{background:linear-gradient(#ffe692,#f5c443);border-color:#715320;color:#3c2b13;box-shadow:0 5px 0 #7c5825,0 12px 25px #18251033}.result-card,.pause-card{background:linear-gradient(140deg,#fff5d5,#f0ddb0);border-color:#ac8845;box-shadow:0 7px 0 #694b2a,0 25px 80px #0006}.result-card h2,.pause-card h2{color:#3a3e28}.result-icon{border-color:#8c6830;box-shadow:0 5px 0 #785527}.result-card{max-height:90dvh;overflow-y:auto}.result-icon{margin:0 auto 18px;width:60px;height:60px;font-size:34px}.result-card .kicker{color:#817045}#toast{font-size:14px;line-height:1.6;white-space:normal;width:max-content;max-width:calc(100% - 48px);text-align:center;background:#fff1cbeF;color:#3c3522;border:1px solid #be984e;box-shadow:0 3px 0 #654b29;backdrop-filter:blur(8px);top:27%}#ability-ribbon{position:absolute;top:calc(132px + var(--safe-top));left:50%;transform:translateX(-50%);display:flex;flex-wrap:wrap;justify-content:center;gap:6px;z-index:5;max-width:90%;width:max-content}#ability-ribbon span{font-size:11px;padding:8px 12px;background:#19271cea;border:1px solid var(--ability-color);color:var(--ability-color);border-radius:30px;box-shadow:0 4px 15px #0003;font-weight:700}#ability-ribbon b{font-size:15px;margin-right:4px}#ability-ribbon i{font-style:normal;margin-left:5px;color:#fff2ca}#discovery{position:absolute;bottom:calc(28px + var(--safe-bottom));left:22px;z-index:5;font-size:9px;letter-spacing:1.4px;color:#e4d5a8;text-shadow:0 2px 10px #000}#discovery b{display:block;font-size:19px;letter-spacing:2px;margin-top:4px;color:#ffdc81}.reward-button{width:100%;margin:0 0 14px;border:1px solid #916c36;border-radius:13px;padding:14px 10px;background:#253b2d;color:#ffdf90;font-weight:800;font-size:13px;letter-spacing:.6px}#voucher{width:min(420px,calc(100vw - 32px));max-height:92dvh;overflow:auto;border:1px solid #d8b566;border-radius:26px;padding:30px 26px;background:radial-gradient(ellipse at top right,#4c5535,#152a20 80%);color:#f7df9c;box-shadow:0 25px 100px #0008;text-align:center}#voucher::backdrop{background:#09180dc9;backdrop-filter:blur(9px)}#voucher-close{position:absolute;right:12px;top:10px;border:0;background:transparent;color:#e9ce8a;font-size:28px;width:40px;height:40px}.voucher-brand{display:flex;flex-direction:column;font-size:34px;line-height:1.1}.voucher-brand strong{font-size:29px;letter-spacing:3px}.voucher-brand span{font-size:8px;letter-spacing:1.4px;margin-top:6px}.voucher-eyebrow{font-size:9px;letter-spacing:2px;margin-top:29px}#voucher h2{font-family:Georgia,serif;font-style:normal;color:#fff0c0;font-weight:500;font-size:43px;line-height:1.08;letter-spacing:-1px}.voucher-offer{margin:22px 0 12px;font-size:14px;letter-spacing:1.6px;font-weight:800;border-top:1px solid #d8b56655;padding-top:20px}.voucher-offer small{display:block;font-size:13px;letter-spacing:0;font-weight:400;margin-top:7px}#voucher-stats{font-size:11px;color:#d4d0ad}#voucher-code{padding:12px 5px;border:1px dashed #c6a45d88;border-radius:7px;font:700 17px monospace;letter-spacing:2px}.voucher-preview{font-size:10px;letter-spacing:1.2px;margin-top:17px;color:#f2cd77}.voucher-terms{font-size:11px;line-height:1.6;color:#c5c4a7;margin:7px 0 22px}#voucher-save{font-size:12px;letter-spacing:.5px;min-height:49px}.image-play{min-height:44px}.small-button{min-width:40px;min-height:28px}@media(max-width:600px){#discovery{left:15px;bottom:calc(21px + var(--safe-bottom));font-size:7px}#discovery b{font-size:15px}#ability-ribbon{top:calc(124px + var(--safe-top))}.touch-controls{gap:9px}.touch-controls button{width:49px;height:47px}.touch-controls .jump-control{width:63px;height:55px}.result-card{padding:20px}.result-stats{padding:14px 0}.result-card #result-message{margin:10px 0 16px}}@media(max-height:680px){#voucher{padding:22px}.voucher-brand{font-size:23px}.voucher-brand strong{font-size:24px}.voucher-eyebrow{margin-top:18px}#voucher h2{font-size:34px}.voucher-offer{margin:15px 0 10px;padding-top:15px}.voucher-terms{margin-bottom:15px}.result-icon{width:42px;height:42px;font-size:27px;margin-bottom:12px}}

#voucher-image-wrap{margin-top:22px}#voucher-image{width:100%;height:auto;border-radius:8px;user-select:auto;-webkit-touch-callout:default}#voucher-file{display:block;margin-top:12px;padding:15px;background:#f2d080;color:#293523;border-radius:9px;font-weight:800;font-size:12px;text-decoration:none}#voucher-image-wrap p{font-size:11px;line-height:1.5;color:#dad1b2}

#gauntlet-status{position:absolute;top:calc(119px + var(--safe-top));left:50%;transform:translateX(-50%);z-index:5;width:max-content;max-width:94%;text-align:center;color:#ffe4a0;background:linear-gradient(140deg,#544023ef,#19281cef);border:1px solid #d9aa48;border-radius:12px;padding:9px 16px;box-shadow:0 4px 22px #21190666;pointer-events:none}#gauntlet-status b{font-size:14px;letter-spacing:1.5px}#gauntlet-status span{font-size:12px;margin-left:12px;color:#fff1cb;font-weight:800}#gauntlet-status small{display:block;font-size:10px;letter-spacing:.6px;margin-top:7px}body:has(#gauntlet-status:not([hidden])) #toast{top:34%}body:has(#gauntlet-status:not([hidden])) #ability-ribbon{top:190px}@media(max-width:400px){#gauntlet-status{padding:8px 11px}#gauntlet-status b{font-size:12px}#gauntlet-status span{font-size:11px}}
/* KLDEX reward collection: exhibition light, carved gold and lush foliage. */
.result-screen,.pause-screen{background:#071c13b3;backdrop-filter:blur(9px)}
.cinematic-card{position:relative;border:2px solid #b18c48;border-radius:25px;background:radial-gradient(ellipse at 50% 10%,#fffbe5,#f7e9be 65%,#e2c68e);box-shadow:0 7px 0 #674424,0 25px 90px #0008,inset 0 0 0 4px #fff6d47a;color:#263b22;text-align:center;overflow:hidden}
.result-card{width:min(410px,calc(100% - 32px));padding:0 25px 24px;max-height:94dvh;overflow-y:auto}
.card-canopy{height:88px;position:relative;margin:0 -25px;background:linear-gradient(#102e16a6,#224222b8),url('./art/hall.webp') center 15%/cover;border-bottom:2px solid #c6a44a;overflow:hidden;display:grid;place-items:center}
.card-brand{position:relative;z-index:1;display:block;font-weight:900;letter-spacing:2px;font-size:25px;color:#ffe5a0;text-shadow:0 2px 0 #775923,0 5px 12px #0008}.card-brand small{display:block;font-size:8px;letter-spacing:1.5px;margin-top:5px;color:#fff0be}
.card-leaf{position:absolute;width:120px;height:120px;object-fit:contain;bottom:-38px;pointer-events:none}.leaf-left{left:-42px;transform:rotate(30deg)}.leaf-right{right:-42px;transform:rotate(-30deg) scaleX(-1)}
.result-hero{height:156px;margin:15px auto 7px;display:grid;place-items:center}.result-hero img{height:100%;max-width:210px;object-fit:contain;border-radius:16px;filter:drop-shadow(0 8px 7px #69522b38)}
.cinematic-card .kicker{font-size:10px;letter-spacing:1.7px;color:#74703e;margin:13px 0 9px;font-weight:900}.cinematic-card h2{font-family:Impact,'Arial Narrow',Arial,sans-serif;font-size:43px;font-weight:900;letter-spacing:.4px;color:#23431e;line-height:1.04;margin:0;text-shadow:0 2px #fff6cb}
#result-message{font-size:13px;line-height:1.5;margin:10px auto 14px;max-width:285px;color:#69704a}.result-stats{padding:13px 0;border-color:#b18b4644}.result-stats strong{font-size:28px;color:#25451e}.result-stats span{font-size:10px;letter-spacing:.6px}#result-details{font-size:11px;line-height:1.5;margin:12px 0;color:#6d714b}
.prize-promise{font-size:12px;font-weight:900;letter-spacing:.5px;margin:11px 0 7px}.quota-pill{display:inline-block;background:#234522;color:#ffe6a0;border:1px solid #9f924a;font-size:11px;font-weight:700;border-radius:30px;padding:7px 13px;line-height:1.4}
#winner-prize{margin:0 0 14px}.reward-button,.cinematic-card .primary-button{border:2px solid #845a24;background:linear-gradient(#ffea88,#ffc737);color:#483414;border-radius:15px;box-shadow:0 4px 0 #875b24,0 7px 16px #78532422;min-height:52px;font-size:16px;padding:12px 16px;font-weight:900;letter-spacing:.5px;display:flex;justify-content:center;gap:12px;align-items:center;text-decoration:none}.reward-button:hover,.cinematic-card .primary-button:hover{background:linear-gradient(#fff0a1,#ffd257);transform:translateY(-1px)}.reward-button:active,.cinematic-card .primary-button:active{transform:translateY(3px);box-shadow:0 1px 0 #875b24}
.result-screen[data-outcome=won] #restart{background:transparent;border-color:#9e985a;color:#4d6039;box-shadow:none;font-size:13px;min-height:43px;margin-top:2px}.result-screen[data-outcome=over] .result-hero{height:120px}.result-screen[data-outcome=over] .result-hero img{max-width:240px}.result-screen[data-outcome=over] #restart{margin-top:20px}
.pause-card{width:min(390px,calc(100% - 34px));padding:0 25px 27px;max-height:92dvh;overflow:auto}.pause-fruit{height:155px;margin:15px auto 0;filter:drop-shadow(0 10px 7px #74552233)}.pause-card h2{font-size:42px;margin:0}.pause-copy{font-size:13px;line-height:1.5;color:#647247;margin:11px 0}#pause-distance{display:inline-block;font-size:12px;padding:9px 15px;border-top:1px solid #bda16266;border-bottom:1px solid #bda16266;color:#737043;margin:4px 0 22px}.pause-card .primary-button{font-size:16px}
#prize-dialog{width:min(410px,calc(100vw - 28px));padding:0 25px 22px;max-height:94dvh;overflow-y:auto}#prize-dialog::backdrop{background:#071b10d6;backdrop-filter:blur(12px)}.modal-close{position:absolute;top:11px;right:11px;z-index:4;width:40px;height:40px;border:1px solid #ead29566;border-radius:50%;background:#182c19c9;color:#fff0b9;font-size:28px}.prize-product{height:187px;margin:17px auto 4px}.prize-product img{height:100%;max-width:100%;object-fit:contain;border-radius:17px;box-shadow:0 8px 22px #5e492b26}#prize-title{font-size:37px}.prize-copy{font-size:13px;line-height:1.5;margin:10px 0 14px;color:#5d6c3c}#prize-status{font-size:13px;line-height:1.5;margin:14px 0;color:#55603c}#prize-claim{font-size:14px;min-height:53px}#prize-claim:disabled{opacity:.6;cursor:default;transform:none}#prize-pass{border:1px dashed #8c8b43;border-radius:12px;background:#fff8dca8;padding:12px 8px;margin:15px 0}.pass-label{display:block;font-size:9px;letter-spacing:1.4px;color:#7d7545}#prize-code{display:block;font:800 17px monospace;margin:9px 0;color:#27482b}#prize-pass-state{font-size:10px;letter-spacing:1px;font-weight:900;color:#717034}.prize-footnote{font-size:10px;line-height:1.6;color:#7a7952;margin:16px 0 0}#redeem-confirm{padding:10px;border:1px solid #b39148;border-radius:12px;background:#fff7d9}#redeem-confirm p{font-size:12px;line-height:1.6;color:#5c623f}#redeem-yes{font-size:11px}.text-button{border:0;background:none;color:#5d6a3c;text-decoration:underline;font-size:12px;padding:15px}.prize-teaser{position:absolute;z-index:12;bottom:18px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:10px;border:1px solid #dfb958;border-radius:14px;background:#17351cef;color:#ffe392;padding:8px 13px;box-shadow:0 6px 25px #0005;max-width:90%;white-space:nowrap}.prize-teaser img{width:42px;height:42px;object-fit:cover;border-radius:7px}.prize-teaser span{font-size:11px;font-weight:900;letter-spacing:.4px}.prize-teaser small{display:block;font-size:10px;font-weight:400;margin-top:5px;color:#e1d6a2}.prize-teaser b{font-size:22px}body:has(#start[hidden]) .prize-teaser{display:none}#prize-dialog[data-state=collected] #prize-pass{border:2px solid #577e32;background:#e7eec9}#prize-dialog[data-state=collected] #prize-pass-state{color:#345b23}
@media(max-height:760px){.card-canopy{height:65px}.result-hero{height:115px;margin-top:12px}.result-card{padding-bottom:18px}.cinematic-card h2{font-size:35px}.result-stats{padding:9px 0}.result-stats strong{font-size:25px}#result-details{margin:8px 0}.result-card .kicker{margin:8px 0 6px}#result-message{margin:8px auto 10px}.prize-product{height:145px}#prize-title{font-size:31px}.pause-fruit{height:125px}}
/* Keep product art inside its frame at narrow portrait sizes. */
.result-screen,.pause-screen{padding:18px}.result-card,.pause-card{width:min(410px,100%)}.result-hero{position:relative;display:block}.result-hero img{position:absolute;inset:0;display:block;margin:auto;height:100%;max-height:100%;width:auto;max-width:100%}.cinematic-card h2{font-style:normal}#result-title{font-size:38px;letter-spacing:-.7px}.pause-card h2{font-size:37px;letter-spacing:-.7px}#prize-title{font-size:31px;letter-spacing:-.4px}.cinematic-card{scrollbar-width:thin;scrollbar-color:#a79550 transparent}.cinematic-card::-webkit-scrollbar{width:5px}.cinematic-card::-webkit-scrollbar-thumb{background:#a79550;border-radius:4px}
.prize-teaser{bottom:calc(18px + var(--safe-bottom))}@media(min-aspect-ratio:1/1){.prize-teaser{left:25px;transform:none;bottom:25px}}

/* Keep the supplied portrait artwork complete; give desktop its own composition. */
.desktop-welcome,#desktop-hint{display:none}
body:has(#start:not([hidden])) .opening-art .tools{position:absolute;inset:0;display:block;pointer-events:none}
body:has(#start:not([hidden])) .opening-art .tools #sound{left:84.3%;top:1.2%;width:6.6%;height:5.9%;min-width:0;min-height:0;pointer-events:auto}
@media(min-width:900px) and (min-aspect-ratio:6/5){
 .start-screen{display:grid;grid-template-columns:minmax(0,1fr) minmax(350px,440px);gap:clamp(24px,4vw,64px);padding:24px clamp(26px,4vw,70px);background:linear-gradient(90deg,#102519aa,#10251af5 68%),url('./art/hall.webp') center/cover}
 .opening-art{height:auto;width:min(calc((100dvh - 48px)*.949495),calc(100vw - 540px));aspect-ratio:1222/1287;max-width:100%;justify-self:center;box-shadow:0 24px 70px #0008;border-radius:20px;overflow:hidden}
 .desktop-welcome{display:block;align-self:center;width:100%;padding-bottom:80px;color:#fff0c1}
 .welcome-brand{font-size:29px;font-weight:900;letter-spacing:3px;color:#ffdc78}.welcome-brand small{display:block;font-size:9px;letter-spacing:2.2px;margin-top:5px}
 .welcome-kicker{font-size:11px;letter-spacing:2px;margin:34px 0 16px;color:#d3c58a;font-weight:800}
 .desktop-welcome h1{font:800 clamp(36px,3.5vw,58px)/1.06 Georgia,serif;font-style:normal;letter-spacing:-1.5px;transform:none;-webkit-text-stroke:0;text-shadow:none;color:#fff3ca}.desktop-welcome h1 em{color:#ffcf60;font-style:normal}
 .welcome-copy{font-size:15px;line-height:1.7;color:#c7d2b7;margin:20px 0}
 .welcome-facts{display:flex;justify-content:space-between;gap:14px;margin:27px 0 30px;padding:20px 0;border-block:1px solid #e1c27b33}.welcome-facts span{font-size:8px;letter-spacing:.7px;color:#bec8a9}.welcome-facts b{display:block;font-size:24px;color:#ffe098;margin-bottom:8px;letter-spacing:0}
 #desktop-play{font-size:19px;min-height:60px;letter-spacing:1px}.desktop-controls{font-size:11px;line-height:2.4;text-align:center;color:#c8cda8;margin-top:22px}.desktop-controls span{margin:0 5px}.desktop-controls kbd{font-size:10px;background:#fff1b912;border-color:#b6b58177}
 .prize-teaser{left:auto;right:clamp(26px,4vw,70px);bottom:36px;width:440px;max-width:calc(100vw - 570px);justify-content:center;background:#29452bd9}
 body:has(#start[hidden]) #desktop-hint{display:block;position:absolute;bottom:30px;left:50%;transform:translateX(-50%);color:#fff1bd;font-size:11px;font-weight:700;letter-spacing:1px;z-index:3;background:#183120b8;border:1px solid #e5c77944;padding:12px 20px;border-radius:30px;white-space:nowrap;pointer-events:none}
 body:has(#paused:not([hidden])) #desktop-hint,body:has(#result:not([hidden])) #desktop-hint{display:none}
 .touch-controls{left:auto;right:85px;transform:none;bottom:22px;gap:8px}.touch-controls button{width:43px;height:43px;font-size:21px}.touch-controls .jump-control{width:52px;height:49px}
 .hud{left:clamp(26px,4vw,70px);right:clamp(26px,4vw,70px);grid-template-columns:1fr minmax(220px,340px) 1fr}.progress-block{font-size:14px}.progress-block #zone{font-size:11px}
 #toast{top:23%}.result-card,.pause-card{max-height:94dvh}#ability-ribbon{top:125px}
}
@media(min-width:900px) and (max-height:740px){.welcome-brand{font-size:23px}.welcome-kicker{margin-top:20px}.desktop-welcome h1{font-size:38px}.welcome-copy{font-size:13px;margin:12px 0}.welcome-facts{margin:16px 0;padding:13px 0}.desktop-controls{margin-top:14px}.desktop-welcome{padding-bottom:62px}}
@media(max-width:380px){.hud{left:10px;right:10px;gap:8px;grid-template-columns:78px minmax(90px,1fr) 72px}.score-block{padding:10px}.lives-block{padding:10px 7px}#hearts{font-size:20px}.progress-block{font-size:10px}#ability-ribbon span{padding:6px 9px;font-size:10px}.prize-teaser{padding:7px 10px;max-width:94%;gap:7px}.prize-teaser span{font-size:10px}}
@media(max-height:520px) and (orientation:landscape){.result-screen,.pause-screen{align-items:start;overflow:auto;padding:12px}.cinematic-card{max-height:calc(100dvh - 24px)}.card-canopy{height:50px}.pause-fruit,.result-hero,.prize-product{height:85px}.hud{top:10px}#ability-ribbon{top:105px}.score-block strong{font-size:25px}}
@media(max-width:899px), (max-aspect-ratio:6/5){
 .start-screen{background:linear-gradient(#102719aa,#172b1be8),url('./art/hall.webp') center/cover}
 .opening-art{box-shadow:0 18px 70px #0006}
 .start-screen::after{content:'1,000m OF ADVENTURE · 7 VARIETY POWERS';position:absolute;bottom:calc(108px + var(--safe-bottom));font-size:10px;font-weight:800;letter-spacing:1.2px;color:#ffe7a4;text-align:center;pointer-events:none}
}
@media(max-height:680px){.start-screen::after{display:none}}

/* KLDEX exhibition welcome: disciplined typography and one aligned action column. */
@media(min-width:900px) and (min-aspect-ratio:6/5){
 .start-screen{grid-template-columns:minmax(0,1fr) minmax(360px,480px);gap:clamp(28px,4vw,72px);background:radial-gradient(ellipse at 15% 45%,#32462b55,transparent 60%),#10241c;padding:24px clamp(28px,4vw,72px)}
 .desktop-welcome{padding:clamp(22px,3vw,38px);max-height:calc(100dvh - 48px);overflow:auto;scrollbar-width:thin;scrollbar-color:#56714c transparent;border:1px solid #e5c78129;border-radius:20px;background:linear-gradient(145deg,#203b2deb,#12271fed);box-shadow:0 24px 70px #06130d44}
 .welcome-topline{display:flex;align-items:center;justify-content:space-between;padding-bottom:22px;border-bottom:1px solid #dcc58429;gap:16px}
 .welcome-brand{font-size:26px;line-height:1;letter-spacing:3px;font-weight:800;color:#e6c776}.welcome-brand small{font-size:7px;line-height:1.5;letter-spacing:1.5px;margin-top:8px}
 .edition-label{font-size:8px;line-height:1.65;letter-spacing:1.4px;color:#91a797;text-align:right}
 .welcome-kicker{font-size:9px;letter-spacing:2px;margin:27px 0 14px;color:#b7c5ac;font-weight:600}
 .desktop-welcome h1{font:650 clamp(34px,3.05vw,49px)/1.08 Arial,Helvetica,sans-serif;letter-spacing:-1.9px;margin:0;color:#f6f2db;text-align:left;white-space:nowrap}
 .desktop-welcome h1 em{display:inline;color:#e8c776;font-weight:650}
 .welcome-copy{font-size:13px;line-height:1.75;letter-spacing:0;margin:17px 0 0;color:#b8c6b8}.welcome-copy br{display:none}
 .welcome-facts{display:grid;grid-template-columns:1fr 1fr 1fr;margin:23px 0;padding:18px 0;border-block:1px solid #dcc58429;gap:0}
 .welcome-facts>span{font-size:7px;letter-spacing:1.1px;color:#94a997}.welcome-facts>span+span{border-left:1px solid #dcc58429;padding-left:18px}.welcome-facts b{font-size:25px;line-height:1.1;font-weight:500;color:#f3e7c0;margin:0 0 8px;font-variant-numeric:tabular-nums}.welcome-facts b span{font-size:13px;color:#b4c2af}
 #desktop-play{min-height:58px;padding:0 20px;font-size:12px;letter-spacing:1.6px;font-weight:800;border-radius:9px;border:1px solid #f5d786;background:linear-gradient(110deg,#f2d387,#deb356);color:#233023;box-shadow:0 5px 20px #050d0830;display:flex;align-items:center;justify-content:space-between}
 #desktop-play b{font-size:25px;font-weight:400}#desktop-play:hover{filter:brightness(1.08);transform:translateY(-1px)}#desktop-play:active{transform:translateY(1px)}
 .desktop-controls{display:flex;justify-content:space-between;gap:8px;text-align:left;font-size:9px;line-height:1;margin:16px 0 23px;color:#97ae9d}.desktop-controls span{margin:0;display:flex;align-items:center;gap:5px}.desktop-controls kbd{padding:5px;min-width:21px;font-size:9px;background:#ffffff06;border:1px solid #b7c9af33;border-radius:4px;color:#d7dfc8;box-shadow:none}
 .mascot-intro{display:flex;align-items:center;gap:10px;padding:13px 0;border-top:1px solid #dcc58429}.mascot-intro img{width:65px;height:73px;object-fit:contain;filter:drop-shadow(0 5px 6px #0004)}.mascot-intro small{font-size:7px;letter-spacing:1.6px;color:#b39e63}.mascot-intro strong{display:block;font-size:12px;font-weight:600;margin:6px 0;color:#e4e8d3}.mascot-intro p{font-size:10px;line-height:1.5;color:#94ab99;margin:0}
 #desktop-reward-slot .prize-teaser{position:static;transform:none;width:100%;max-width:none;margin:4px 0 0;padding:10px 12px;background:#10271c;border:1px solid #cdb87844;border-radius:9px;justify-content:flex-start;box-shadow:none}#desktop-reward-slot .prize-teaser img{width:36px;height:36px}#desktop-reward-slot .prize-teaser span{font-size:10px;letter-spacing:.35px;text-align:left}#desktop-reward-slot .prize-teaser small{font-size:9px;color:#98ae99}#desktop-reward-slot .prize-teaser>b{margin-left:auto}
}
@media(min-width:900px) and (min-aspect-ratio:6/5) and (max-height:780px){.desktop-welcome{padding:20px 25px}.welcome-topline{padding-bottom:14px}.welcome-kicker{margin-top:18px}.desktop-welcome h1{font-size:36px}.welcome-facts{padding:12px 0;margin:16px 0}.desktop-controls{margin:12px 0 16px}.mascot-intro{padding:8px 0}.mascot-intro img{height:56px;width:52px}.welcome-copy{font-size:12px}}
.result-mascot{display:none}.result-screen[data-outcome=won] .result-mascot{display:flex;align-items:center;justify-content:center;gap:8px;margin:8px 0 -4px;height:65px}.result-mascot>img{width:66px;height:65px;object-fit:contain;animation:rimba-cheer 2.3s ease-in-out infinite;transform-origin:bottom}.result-mascot span{text-align:left;color:#657049;font-size:8px;letter-spacing:1.3px}.result-mascot b{display:block;font-size:13px;letter-spacing:0;color:#334b2d;margin-top:4px}.result-mascot .result-flag{width:46px;height:23px;margin-left:12px;animation:none;box-shadow:0 1px 5px #20301022}.result-screen[data-outcome=won] .result-hero{height:118px;margin-top:6px}
@keyframes rimba-cheer{0%,100%{transform:rotate(-3deg) translateY(0)}50%{transform:rotate(3deg) translateY(-3px)}}
@media(prefers-reduced-motion:reduce){.result-mascot>img{animation:none}}
@media(max-height:740px){.result-screen[data-outcome=won] .result-mascot{height:46px;margin-top:5px}.result-mascot>img{width:48px;height:46px}.result-screen[data-outcome=won] .result-hero{height:90px}}

/* Reward-first victory: one hero image, one action, one compact score line. */
.result-screen[data-outcome=won] .result-card{position:relative;display:flex;flex-direction:column;align-items:stretch;width:min(430px,100%);padding:0 26px 16px;background:radial-gradient(ellipse at 50% 35%,#fffbea,#f4e4bf 78%);border-radius:25px}
.result-screen[data-outcome=won] .card-canopy{order:0;height:54px;min-height:54px;margin:0 -26px 20px;background:#24432c;border-bottom:1px solid #b99c57}.result-screen[data-outcome=won] .card-canopy .card-leaf{opacity:.35}.result-screen[data-outcome=won] .card-brand{font-size:20px;letter-spacing:2px}.result-screen[data-outcome=won] .card-brand small{display:none}
.result-screen[data-outcome=won] #result-title{order:1;font-size:31px;line-height:1.1;margin:0 0 15px;color:#27472e;letter-spacing:-.9px}
.result-screen[data-outcome=won] .result-hero{order:2;flex:none;height:clamp(210px,34dvh,300px);margin:0 0 16px;isolation:isolate}.result-screen[data-outcome=won] .result-hero::before{content:'';position:absolute;inset:8% 4%;z-index:-1;background:radial-gradient(ellipse,#ffd96955,transparent 70%)}.result-screen[data-outcome=won] .result-hero img{max-width:100%;width:auto;height:100%;border-radius:20px;filter:drop-shadow(0 12px 12px #72552c25)}
.result-screen[data-outcome=won] #result-kicker,.result-screen[data-outcome=won] #result-message,.result-screen[data-outcome=won] #result-details,.result-screen[data-outcome=won] .prize-promise{display:none}
.result-screen[data-outcome=won] .result-mascot{position:absolute;right:15px;top:8px;margin:0;height:37px;display:block;z-index:1}.result-screen[data-outcome=won] .result-mascot>img:first-child{width:37px;height:37px}.result-screen[data-outcome=won] .result-mascot span,.result-screen[data-outcome=won] .result-mascot .result-flag{display:none}
.result-screen[data-outcome=won] #winner-prize{order:3;margin:0 0 15px}.result-screen[data-outcome=won] #result-quota{font-size:11px;font-weight:600;letter-spacing:.15px;background:transparent;border:0;color:#64704b;padding:0;box-shadow:none}
.result-screen[data-outcome=won] .result-stats{order:4;display:flex;justify-content:center;align-items:center;gap:20px;border:0;padding:0;margin:0 0 21px}.result-screen[data-outcome=won] .result-stats>div{display:flex;align-items:baseline;gap:6px}.result-screen[data-outcome=won] .result-stats span{font-size:9px;letter-spacing:.8px;color:#7b8062}.result-screen[data-outcome=won] .result-stats strong{font-size:15px;font-weight:700;color:#3c5234}.result-screen[data-outcome=won] .result-stats .coin-icon{display:none}
.result-screen[data-outcome=won] #reward-open{order:5;margin:0;min-height:54px;border-radius:12px;font-size:14px;letter-spacing:.7px}.result-screen[data-outcome=won] #restart{order:6;min-height:38px;margin:13px 0 0;padding:7px;background:transparent;border:0;box-shadow:none;font-size:11px;color:#63734e;letter-spacing:.8px}.result-screen[data-outcome=won] #restart>b{display:none}
@media(max-height:690px){.result-screen[data-outcome=won] .card-canopy{height:44px;min-height:44px;margin-bottom:15px}.result-screen[data-outcome=won] #result-title{font-size:27px;margin-bottom:12px}.result-screen[data-outcome=won] .result-hero{height:clamp(140px,31dvh,215px);margin-bottom:12px}.result-screen[data-outcome=won] .result-stats{margin-bottom:15px}.result-screen[data-outcome=won] #winner-prize{margin-bottom:12px}}
