:root{color-scheme:dark;--cream:#fff6dc;--gold:#edc175;--green:#18362e}*{box-sizing:border-box}body{margin:0;background:#34483b;color:var(--cream);font-family:'DM Sans',sans-serif;overflow:hidden}canvas{position:fixed;inset:0;width:100%;height:100%;touch-action:none}.shade{position:fixed;inset:0;background:linear-gradient(90deg,rgba(12,32,29,.86),rgba(12,32,29,.32) 47%,transparent 75%),linear-gradient(0deg,rgba(13,33,29,.85),transparent 35%);pointer-events:none}header{position:fixed;top:0;left:0;width:100%;padding:30px 4%;display:flex;justify-content:space-between;align-items:center;z-index:3}.brand{font-family:Outfit,sans-serif;letter-spacing:2px;font-weight:700;color:var(--cream);text-decoration:none;font-size:19px;display:grid;grid-template-columns:40px auto;align-items:center}.mark{grid-row:span 2;font-size:40px;color:var(--gold)}.edition{font-size:8px;letter-spacing:4px;color:#c3c4ac;margin-top:4px}nav{display:flex;gap:10px}button{cursor:pointer;font-family:inherit;color:inherit;border:0;font-size:14px;transition:transform .2s,background .2s}button:hover{transform:translateY(-2px)}button:focus-visible{outline:3px solid var(--gold);outline-offset:4px}nav button{border:1px solid #ffffff30;background:#17362c85;backdrop-filter:blur(12px);border-radius:30px;padding:12px 17px}main{position:fixed;top:26%;left:6%;z-index:2}.eyebrow,.tiny{font-size:10px;letter-spacing:2.2px;font-weight:700;color:#d2c9a4}.eyebrow{display:flex;align-items:center;gap:10px}.eyebrow i{height:6px;width:6px;border-radius:50%;background:var(--gold);box-shadow:0 0 15px var(--gold)}h1{font-family:Outfit,sans-serif;font-size:clamp(40px,4.6vw,73px);font-weight:500;letter-spacing:-2.6px;line-height:1.1;margin:24px 0}h1 em{font-style:normal;color:var(--gold)}.intro{font-size:15px;line-height:1.9;color:#d5dacb}.actions{display:flex;gap:12px;margin:30px 0 24px}.primary{background:var(--gold);color:#20352b;padding:18px 24px;border-radius:9px;font-weight:700;box-shadow:0 8px 35px #e4ac4c22}.primary b{margin-left:30px}.secondary{background:#fff9df0a;border:1px solid #ffffff30;border-radius:9px;padding:17px 21px;backdrop-filter:blur(12px)}.details{display:flex;gap:22px;font-size:11px;color:#c8cbb7}.details span:first-child{color:var(--gold)}.hint{margin-top:45px;font-size:10px;color:#acb5a4;display:flex;gap:10px;align-items:center}.hint span{border:1px solid #ffffff30;border-radius:4px;padding:3px 7px;margin-left:8px}aside{position:fixed;right:5%;bottom:24%;width:300px;border:1px solid #f8e1a834;border-radius:16px;padding:24px;background:linear-gradient(120deg,#254b3de8,#17352cc9);backdrop-filter:blur(20px);box-shadow:0 20px 70px #071c2844;z-index:2;overflow:hidden}.journeytitle{display:flex;align-items:center;justify-content:space-between;gap:10px;font-family:Outfit;font-size:21px;margin:17px 0}.badge{font-family:'DM Sans';font-size:8px;white-space:nowrap;padding:5px 7px;border-radius:4px;border:1px solid #ffffff30;color:var(--gold)}.journeyline{font-size:10px;display:flex;justify-content:space-between;color:#d7d8be}.progress,.track{height:3px;background:#ffffff20;margin-top:15px;border-radius:10px;overflow:hidden}.progress i,.track i{display:block;height:100%;background:var(--gold);width:0}aside p{font-size:10px;color:#a9bda8;margin:13px 0 0}.leaficon{position:absolute;font-size:100px;right:-10px;bottom:-40px;opacity:.07;transform:rotate(-30deg)}footer{position:fixed;bottom:30px;left:6%;right:5%;display:flex;justify-content:space-between;align-items:end;z-index:2}#regions{display:flex;gap:9px;margin-top:17px}.region{width:105px;text-align:left;border:1px solid #ffffff20;background:#1b352d80;border-radius:8px;padding:11px 10px;font-size:9px;color:#c6cbb8}.region.active{border-color:#e7bc6c;background:#e7bc6c18;color:var(--gold)}.region i{display:block;font-style:normal;font-size:20px;margin-bottom:8px}.footnote{font-size:10px;text-align:right;line-height:1.8;color:#afbaa8}dialog{border:1px solid #e6c27660;border-radius:22px;background:#17382ff5;color:var(--cream);padding:38px;width:min(650px,92vw);box-shadow:0 20px 100px #0009}dialog::backdrop{background:#091e1acc;backdrop-filter:blur(8px)}h2{font-family:Outfit;font-size:30px;font-weight:500}.close{position:absolute;right:20px;top:15px;background:transparent;font-size:30px}#worldTabs{display:flex;gap:6px;flex-wrap:wrap;margin:20px 0}#worldTabs button{font-size:10px;padding:9px;border-radius:6px;background:#ffffff10}#worldTabs .selected{background:var(--gold);color:var(--green)}#levelGrid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}#levelGrid button{height:65px;border-radius:9px;background:#ffffff0c;border:1px solid #ffffff20;font-size:18px}#levelGrid button small{display:block;font-size:9px;color:var(--gold);margin-top:6px}#levelGrid button:disabled{opacity:.3;cursor:default}.modalnote{font-size:12px;color:#b5c6b5}#result{text-align:center;max-width:480px}#resultStars{font-size:48px;color:var(--gold);margin:25px}#result p{color:#c9d4bf;line-height:1.8}#result button{margin:8px}#hud{position:fixed;inset:110px 6% 25px;pointer-events:none}.hudtop{display:flex;justify-content:space-between;font-size:13px;letter-spacing:1px}#lives{color:#f4be8e;letter-spacing:7px}.track{margin-top:15px}.score{margin-top:25px;display:flex;flex-direction:column}.score span{font-size:9px;letter-spacing:2px}.score b{font-family:Outfit;font-size:50px;color:var(--gold)}.score small{color:var(--gold)}#tip{position:absolute;bottom:25px;left:50%;transform:translateX(-50%);font-size:12px;background:#12352ca0;padding:15px 24px;border-radius:30px;text-align:center}#jump{position:absolute;right:0;bottom:15px;width:80px;height:80px;border-radius:50%;background:#e8bf7680;border:1px solid #ffe1a7;font-size:28px;pointer-events:auto;touch-action:none}#jump small{display:block;font-size:8px;letter-spacing:1px}.steer{position:absolute;bottom:15px;width:60px;height:60px;border-radius:50%;background:#244937a0;border:1px solid #ffffff40;font-size:35px;pointer-events:auto;touch-action:none}#left{left:0}#right{left:75px}#toast{position:fixed;top:110px;left:50%;transform:translateX(-50%);background:#1b392ee8;border-radius:9px;padding:12px 20px;color:var(--gold);opacity:0;pointer-events:none;transition:opacity .3s;font-size:13px}body.playing .shade{background:linear-gradient(0deg,#122d2540,transparent 30%)}[hidden]{display:none!important}@media(max-width:800px){header{padding:20px 5%}.brand{font-size:15px}.edition{font-size:6px}nav button{padding:10px 13px}nav span{display:none}main{top:21%;left:7%;right:5%}h1{font-size:48px;letter-spacing:-1.8px}.intro{font-size:13px}.details{gap:15px;font-size:9px}.hint{margin-top:23px}aside{display:none}footer{left:7%;bottom:23px;right:7%}.footnote{display:none}#regions{gap:6px;width:86vw}.region{width:calc(100% / 6);padding:10px 5px;font-size:7px}.region i{font-size:18px}footer .tiny{font-size:8px}.actions{margin-top:25px}.primary,.secondary{padding:16px;font-size:12px}.primary b{margin-left:10px}#hud{inset:95px 5% 20px}#tip{bottom:115px;font-size:10px;width:85%}dialog{padding:28px 20px}#levelGrid{gap:7px}#levelGrid button{height:58px}h2{font-size:25px}}@media(max-height:650px){main{top:21%}h1{font-size:42px;margin:16px 0}.intro{margin:8px 0}.actions{margin:18px 0}.hint{margin-top:18px}footer{bottom:15px}.region{padding:7px}.region i{display:none}aside{bottom:23%}}

.collectibleIntro{font-size:11px;color:#e6c995;margin:0 0 16px}.score small{font-size:11px;max-width:280px;line-height:1.8;background:#19382c99;border-radius:6px;padding:4px 8px;width:fit-content}#toast{top:160px;z-index:5}@media(max-width:800px){.collectibleIntro{font-size:9px;max-width:290px}.hint{margin-top:17px}.score small{max-width:200px;font-size:9px}#toast{top:140px;font-size:11px}}

#introCue{position:fixed;bottom:9%;left:50%;transform:translateX(-50%);z-index:4;text-align:center;background:#18392de0;border:1px solid #efc67955;border-radius:16px;padding:20px 32px;backdrop-filter:blur(12px);min-width:250px}#introCue span{display:block;font-family:Outfit,sans-serif;font-size:24px;color:var(--gold)}#introCue small{display:block;font-size:11px;color:#d0dac3;margin:8px 0 16px}#skipIntro{background:var(--gold);color:var(--green);padding:10px 18px;border-radius:7px;font-weight:700}

#glideHud{position:fixed;top:155px;left:50%;transform:translateX(-50%);width:230px;padding:14px 18px;border:1px solid #e5d67588;border-radius:12px;background:#254c34de;backdrop-filter:blur(12px);z-index:3;color:#efe8b5}#glideHud span{font-size:11px;letter-spacing:2px}#glideTime{float:right;color:var(--gold);font-size:12px}#glideHud div{height:3px;background:#ffffff20;margin:12px 0 8px}#glideBar{display:block;height:100%;background:#d8d575;width:100%}#glideHud small{font-size:9px;color:#c9d6b7}#jump:disabled{opacity:.65;cursor:default}@media(max-width:800px){#glideHud{top:145px;width:205px}#glideHud small{font-size:8px}}

body.gliding #toast{top:245px}#musicTitle{font-size:10px;color:#b9c4aa;margin:15px 0 0}.hint{margin-top:22px}@media(max-width:800px){#musicTitle{font-size:9px}.hint{margin-top:15px}}@media(max-height:720px){main{top:18%;max-height:calc(100dvh - 235px);overflow-y:auto;padding:8px 8px 15px 0;scrollbar-width:thin}.hint{margin-top:14px}}

.goalbox{margin:8px 0 9px;padding:9px 11px;border-left:2px solid #edc175;background:#19382ca6;border-radius:0 7px 7px 0;max-width:190px}.score .goalbox>span{font-size:8px;letter-spacing:1.5px}.score #harvestCount{display:block;font-size:21px;line-height:1.5}.score #goalDetail{display:block;font-size:9px;line-height:1.4;padding:0;background:none}.goalbox em{display:block;font-size:10px;color:#ffac85;font-style:normal;line-height:1.6}.goalbox em:empty{display:none}@media(max-width:800px){.goalbox{max-width:160px;padding:7px 9px}.score #harvestCount{font-size:18px}.score #goalDetail{font-size:8px}}

/* Mobile: reserve the top strip for information; keep the runner and controls clear. */
@media(max-width:800px),(pointer:coarse) and (max-width:1100px){
 body.playing header{padding:calc(12px + env(safe-area-inset-top,0px)) 4% 8px}
 body.playing .brand{font-size:13px;grid-template-columns:32px auto}.mark{font-size:32px}
 body.playing nav{gap:7px}body.playing nav button{padding:9px 12px}
 #hud{inset:calc(82px + env(safe-area-inset-top,0px)) 4% calc(14px + env(safe-area-inset-bottom,0px))}
 .hudtop{font-size:10px;gap:12px;align-items:center}.hudtop>#runTitle{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:70%}#lives{white-space:nowrap;letter-spacing:3px;font-size:12px}
 .track{margin-top:8px;height:3px}.score{position:relative;margin-top:8px;min-height:58px;padding-right:160px}.score>span{font-size:8px;letter-spacing:1.4px}.score>b{font-size:30px;line-height:1.25}.score #combo{display:none}
 .goalbox{position:absolute;right:0;top:0;margin:0;width:150px;max-width:none;padding:5px 8px}.score .goalbox>span{font-size:7px}.score #harvestCount{font-size:17px;line-height:1.25}.score #goalDetail{font-size:8px}.goalbox em{font-size:8px;line-height:1.3}
 #tip{position:fixed;top:calc(180px + env(safe-area-inset-top,0px));bottom:auto;left:4%;right:4%;transform:none;width:auto;max-height:34px;margin:0;padding:7px 10px;border-radius:7px;font-size:10px;line-height:1.4;overflow:hidden;background:#12352cbd;pointer-events:none}
 #toast,body.gliding #toast{top:calc(222px + env(safe-area-inset-top,0px));max-width:88vw;width:max-content;padding:7px 11px;font-size:10px;line-height:1.4;border-radius:7px;text-align:center;pointer-events:none}
 #glideHud{display:none}body.gliding #toast{display:none}
 body.recovering #tip,body.recovering #toast{display:none}
 #introCue{top:calc(84px + env(safe-area-inset-top,0px));bottom:auto;display:grid;grid-template-columns:1fr auto;column-gap:12px;text-align:left;min-width:0;width:92%;max-width:420px;padding:10px 13px;border-radius:10px;pointer-events:none}
 #introCue span{font-size:17px}#introCue small{font-size:9px;margin:4px 0 0}#skipIntro{grid-column:2;grid-row:1/3;align-self:center;font-size:11px;padding:11px 13px;pointer-events:auto}
 #jump{bottom:6px}#left,#right{bottom:8px}
}
@media(max-height:500px) and (max-width:1100px){
 body.playing header{padding:calc(6px + env(safe-area-inset-top,0px)) 4% 5px}body.playing .brand{font-size:11px;grid-template-columns:26px auto}body.playing .brand .mark{font-size:26px}body.playing .edition{display:none}body.playing nav button{padding:6px 11px}
 #hud{top:calc(51px + env(safe-area-inset-top,0px))}.hudtop{font-size:9px}.track{margin-top:6px}.score{margin-top:6px;min-height:43px}.score>b{font-size:24px}.goalbox{padding:3px 8px}.score #harvestCount{font-size:15px}.score #goalDetail{font-size:7px}
 #tip{top:calc(131px + env(safe-area-inset-top,0px));font-size:9px;padding:5px 9px;max-height:27px}#toast,body.gliding #toast{top:calc(166px + env(safe-area-inset-top,0px));font-size:9px;padding:5px 9px}
 #introCue{top:calc(57px + env(safe-area-inset-top,0px));padding:7px 12px}#introCue span{font-size:15px}#introCue small{display:none}#skipIntro{padding:8px 12px}
 #jump{width:65px;height:65px;font-size:25px}.steer{width:50px;height:50px}#right{left:65px}
}

body.opening #home,body.opening #journey,body.opening #footer,body.opening #levelsBtn{display:none}body.opening .shade{background:linear-gradient(0deg,#112f2630,transparent 35%)}#skipOpening{position:fixed;right:5%;bottom:30px;z-index:5;border:1px solid #efce8855;border-radius:25px;padding:12px 18px;font-size:12px;background:#18392dd9;backdrop-filter:blur(10px);color:#f1d397}body:not(.opening) #skipOpening{display:none}@media(max-width:800px),(pointer:coarse) and (max-width:1100px){#skipOpening{top:calc(82px + env(safe-area-inset-top,0px));bottom:auto;right:4%;font-size:10px;padding:10px 13px}}@media(max-height:500px) and (max-width:1100px){#skipOpening{top:calc(57px + env(safe-area-inset-top,0px))}}

body.menu-flight #journey{top:110px;bottom:auto}body.menu-flight .shade{background:linear-gradient(90deg,#102e28e6,#102e2855 49%,transparent 78%),linear-gradient(0deg,#0f2b2688,transparent 25%)}
@media(max-width:800px) and (orientation:portrait){body.menu-flight main{top:auto;bottom:130px;max-height:none;overflow:visible;padding:0}body.menu-flight h1{font-size:34px;line-height:1.05;letter-spacing:-1px;margin:10px 0 16px}body.menu-flight .eyebrow,body.menu-flight .intro,body.menu-flight .collectibleIntro,body.menu-flight .details,body.menu-flight .hint{display:none}body.menu-flight .actions{margin:12px 0 15px}body.menu-flight #musicTitle{margin:8px 0 0}body.menu-flight .shade{background:linear-gradient(0deg,#102e28f5,transparent 66%)}body.menu-flight footer{bottom:20px}}
@media(max-width:800px) and (max-height:720px) and (orientation:portrait){body.menu-flight main{bottom:105px}body.menu-flight h1{font-size:25px;margin:8px 0}body.menu-flight .actions{margin:8px 0 10px}body.menu-flight .primary,body.menu-flight .secondary{padding:13px 14px}body.menu-flight #musicTitle{display:none}}
@media(max-height:500px) and (orientation:landscape){body.menu-flight main{top:22%;left:5%;right:auto;bottom:auto;max-height:65vh;width:46%;overflow-y:auto}body.menu-flight h1{font-size:28px;margin:8px 0}body.menu-flight .intro,body.menu-flight .eyebrow,body.menu-flight .collectibleIntro,body.menu-flight .details,body.menu-flight .hint,body.menu-flight #musicTitle{display:none}body.menu-flight .actions{margin:12px 0}body.menu-flight #journey{display:none}}

.item-icon{width:26px;height:28px;flex:none;filter:drop-shadow(0 2px 2px #0003)}.score #combo{display:flex;flex-wrap:wrap;gap:5px;max-width:240px;width:auto;padding:0;margin-top:5px;background:none}.score #combo .inventoryChip{display:inline-flex;align-items:center;gap:4px;background:#17392bba;border:1px solid #e8d6a12b;border-radius:7px;padding:4px 6px;letter-spacing:0}.score #combo .inventoryChip.empty{opacity:.45}.score #combo .item-icon{width:20px;height:21px}.score #combo b{font:600 12px 'DM Sans',sans-serif;color:#fff1c8;line-height:1}.inventoryChip.pop{animation:inventoryPop .24s ease-out}@keyframes inventoryPop{0%{transform:scale(.82)}60%{transform:scale(1.16)}100%{transform:scale(1)}}
#result{max-width:520px;max-height:calc(100dvh - 36px);overflow-y:auto;padding:28px}#result h2{margin:12px 0}#resultStars{font-size:35px;margin:12px 0 18px}#tallyRows{display:grid;gap:6px;text-align:left}.tally-row{display:grid;grid-template-columns:38px 1fr 54px 26px;gap:9px;align-items:center;min-height:49px;padding:7px 11px;border:1px solid #e8d6a122;border-radius:9px;background:#ffffff05;transition:opacity .17s,transform .17s,background .17s}.tally-row.waiting{opacity:.23;transform:translateY(5px)}.tally-row.active{opacity:1;transform:none;background:#e3bf7412}.tally-row.complete{opacity:1;transform:none}.tally-row .item-icon{width:32px;height:34px}.tally-label{font-size:13px;color:#f4e9cc}.tally-label small{display:block;font-size:9px;color:#aebfa2;margin-top:4px}.tally-count{font:600 22px Outfit,sans-serif;text-align:right;font-variant-numeric:tabular-nums;color:#efc777}.tally-check{width:24px;height:24px;overflow:visible;fill:none;stroke:#bbd99b;stroke-width:2.8;stroke-linecap:round;stroke-linejoin:round}.tally-check path{stroke-dasharray:25;stroke-dashoffset:25;transition:stroke-dashoffset .2s ease-out}.complete .tally-check path{stroke-dashoffset:0}.complete .tally-check{animation:checkPop .23s ease-out}@keyframes checkPop{0%{transform:scale(.6)}65%{transform:scale(1.18)}100%{transform:scale(1)}}.tally-total{display:grid;grid-template-columns:1fr auto 26px;gap:12px;align-items:center;text-align:left;margin:14px 0 0;padding:13px 12px;border-top:1px solid #e4c17b55;color:#ebd3a2;transition:opacity .2s}.tally-total.waiting{opacity:.25}.tally-total b{font:600 28px Outfit,sans-serif;font-variant-numeric:tabular-nums;color:#f3cf84}.tally-total span{font-size:12px}#result #resultText{font-size:10px;line-height:1.6;margin:10px 0 16px;color:#aec1a6}.resultActions{display:flex;gap:9px}.resultActions button{flex:1;min-width:0}#result .resultActions button{margin:0;padding:13px 10px;font-size:12px}.emptyHarvest{text-align:center;font-size:12px!important;color:#bdcba9!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:800px),(pointer:coarse) and (max-width:1100px){.score{min-height:87px}.score #combo{display:flex;position:absolute;top:65px;left:0;right:0;flex-wrap:nowrap;gap:4px;width:100%;max-width:none;margin:0}.score #combo .inventoryChip{padding:2px 5px;gap:3px}.score #combo .item-icon{width:17px;height:19px}.score #combo b{font-size:11px}#tip{top:calc(210px + env(safe-area-inset-top,0px))}#toast,body.gliding #toast{top:calc(250px + env(safe-area-inset-top,0px))}#result{padding:21px 18px}#result h2{font-size:24px}#resultStars{font-size:29px;margin:9px 0 13px}.tally-row{grid-template-columns:31px 1fr 42px 23px;gap:7px;min-height:44px;padding:6px 9px}.tally-row .item-icon{width:28px;height:30px}.tally-label{font-size:12px}.tally-count{font-size:20px}.tally-check{width:21px;height:21px}.tally-total{padding:10px 9px;margin-top:10px}.tally-total b{font-size:25px}}
@media(max-height:500px) and (max-width:1100px){.score{min-height:65px}.score #combo{top:47px}.score #combo .item-icon{width:15px;height:16px}.score #combo .inventoryChip{padding:1px 5px}#tip{top:calc(151px + env(safe-area-inset-top,0px));max-height:23px}#toast,body.gliding #toast{top:calc(185px + env(safe-area-inset-top,0px))}}
@media(prefers-reduced-motion:reduce){.inventoryChip.pop,.complete .tally-check{animation:none}.tally-row,.tally-check path{transition:none}}

/* Compact, evenly aligned touch controls with jump at the screen center. */
#hud #left,#hud #jump,#hud #right{width:52px;height:52px;bottom:max(8px,env(safe-area-inset-bottom,0px));padding:0;display:flex;align-items:center;justify-content:center;font-size:28px;line-height:1;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}
#hud #left{left:0;right:auto}#hud #right{left:auto;right:0}#hud #jump{left:50%;right:auto;transform:translateX(-50%);flex-direction:column;gap:3px;font-size:23px}#hud #jump small{font-size:6px;letter-spacing:.3px}#hud #jump:hover{transform:translateX(-50%)}
@media(max-width:800px),(pointer:coarse) and (max-width:1100px){#hud #left,#hud #jump,#hud #right{width:48px;height:48px}#hud #left,#hud #right{font-size:27px}#hud #jump{font-size:22px}}

/* Short result sheet; gross minus losses equals the final score. */
#result{padding:20px 22px}#resultStars{font-size:25px;margin:6px 0 8px}#tallyRows{gap:3px}.tally-caption{font-size:8px;letter-spacing:1.5px;text-align:left;color:#afc1a4;margin:0 0 5px}.tally-row{min-height:34px;padding:4px 9px;grid-template-columns:27px 1fr 42px 22px;gap:7px}.tally-row .item-icon{width:25px;height:27px}.tally-label{font-size:11px}.tally-label small{display:inline;font-size:8px;margin-left:7px;margin-top:0}.tally-count{font-size:19px}.tally-check{width:20px;height:20px}.tally-calculation{margin-top:9px;padding:7px 9px 0;border-top:1px solid #e4c17b33;transition:opacity .2s}.tally-calculation.waiting{opacity:.25}.tally-calculation>div{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:10px;line-height:1.6}.tally-calculation b{font:600 16px Outfit,sans-serif;font-variant-numeric:tabular-nums}.lost-line{color:#e6a18a}.tally-total{margin-top:5px;padding:7px 9px}.tally-total b{font-size:23px}#result #resultText{font-size:9px;line-height:1.4;margin:6px 0 10px}#result .resultActions button{padding:11px 8px;font-size:11px}
@media(max-width:800px),(pointer:coarse) and (max-width:1100px){#result{padding:16px 15px}#resultStars{font-size:23px;margin:5px 0 7px}.tally-row{min-height:32px;padding:3px 7px}.tally-row .item-icon{width:24px;height:25px}.tally-label small{font-size:7px;margin-left:5px}}

/* Shared compact HUD for phone and desktop. */

 body.playing header{padding:calc(7px + env(safe-area-inset-top,0px)) 4% 5px}body.playing .brand{font-size:11px;grid-template-columns:26px auto}body.playing .brand .mark{font-size:26px}body.playing .edition{display:none}body.playing nav{gap:5px}body.playing nav button{padding:7px 10px}
 #hud{top:calc(57px + env(safe-area-inset-top,0px))}.hudtop{font-size:8px;letter-spacing:.4px;gap:8px;min-height:12px}.hudtop>#runTitle{max-width:73%}#lives{font-size:10px;letter-spacing:2px}
 #hud .track{height:5px;margin-top:5px;background:#0c261fd9;border:1px solid #edd4944d;box-shadow:0 1px 6px #10231b66}#hud .track i{box-shadow:0 0 7px #efc36c80;min-width:2px}
 #hud .score{margin-top:6px;min-height:43px;padding-right:0}#hud .score>span{font-size:6px;letter-spacing:.8px}#hud .score>b{font-size:25px;line-height:1.15}
 #hud .goalbox{left:70px;right:auto;top:0;width:91px;max-width:none;padding:3px 6px;margin:0}#hud .goalbox>span{font-size:6px;letter-spacing:.5px}#hud #harvestCount{font-size:16px;line-height:1.3}#hud #goalDetail,#hud #lostHint{display:none}
 #hud .score #combo{position:absolute;top:0;left:auto;right:0;width:114px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;max-width:none;margin:0}#hud .score #combo .inventoryChip{min-width:0;padding:2px 3px;gap:2px;justify-content:center}#hud .score #combo .item-icon{width:14px;height:16px;flex:none}#hud .score #combo b{font-size:10px;line-height:1.2;letter-spacing:0}
 #tip{top:calc(132px + env(safe-area-inset-top,0px));left:4%;right:4%;max-width:440px;width:auto;max-height:22px;padding:4px 7px;font-size:9px;line-height:1.4;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;border-radius:5px;text-align:left;background:#12352c9e}
 #toast,body.gliding #toast{top:calc(158px + env(safe-area-inset-top,0px));left:4%;right:auto;transform:none;max-width:86vw;width:max-content;max-height:23px;padding:4px 7px;font-size:9px;line-height:1.4;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;border-radius:5px;text-align:left}
 #introCue{top:calc(59px + env(safe-area-inset-top,0px));bottom:auto;height:fit-content}#introCue span{font-size:14px}#introCue small{font-size:8px}

@media(max-height:500px) and (max-width:1100px){
 body.playing header{padding-top:calc(4px + env(safe-area-inset-top,0px))}body.playing nav button{padding:5px 10px}#hud{top:calc(43px + env(safe-area-inset-top,0px))}#hud .score{min-height:39px}#hud .score>b{font-size:22px}#tip{top:calc(113px + env(safe-area-inset-top,0px))}#toast,body.gliding #toast{top:calc(138px + env(safe-area-inset-top,0px))}#introCue{top:calc(45px + env(safe-area-inset-top,0px))}
}


 #hud .track{position:absolute;top:auto;bottom:74px;left:0;right:0;margin:0;height:5px}
 #hud .score{margin-top:16px}
 #hud .score::before{content:'';position:absolute;left:0;top:0;width:67px;height:38px;border-left:2px solid #edc175;border-radius:0 6px 6px 0;background:#19382ca6;pointer-events:none}
 #hud .score>span{position:absolute;left:7px;top:4px;font-size:6px;line-height:9px;letter-spacing:.5px;color:#d2c9a4}
 #hud .score>b{position:absolute;left:7px;top:13px;font-size:16px;line-height:21px}
 #hud .goalbox{height:38px;padding:4px 6px;border-radius:0 6px 6px 0;background:#19382ca6;border-left:2px solid #edc175}
 #hud .goalbox>span{display:block;font-size:6px;line-height:9px;letter-spacing:.5px;color:#d2c9a4}#hud #harvestCount{font-size:16px;line-height:21px}
 #tip{top:calc(42px + env(safe-area-inset-top,0px));padding:2px 6px;max-height:14px;font-size:8px;line-height:1.25}
 #toast,body.gliding #toast{top:calc(70px + env(safe-area-inset-top,0px));padding:2px 6px;max-height:14px;font-size:8px;line-height:1.25}

@media(max-height:500px) and (max-width:1100px){
 #hud .track{bottom:70px}#tip{top:calc(29px + env(safe-area-inset-top,0px))}#toast,body.gliding #toast{top:calc(56px + env(safe-area-inset-top,0px))}#hud .score>b{font-size:16px}
}

/* Translucent, beveled progress rail. */
#hud .track{height:10px;margin-top:12px;border:1px solid #f1d69b99;border-radius:8px;background:linear-gradient(180deg,#0a211da6,#39574866 48%,#102c2680);box-shadow:inset 0 2px 3px #041b1b99,inset 0 -1px 1px #fff5d938,0 2px 5px #061e2459;overflow:hidden;backdrop-filter:blur(3px)}
#hud .track i{height:100%;min-width:2px;border-radius:6px;background:linear-gradient(180deg,#fff0b7dd 0%,#efca7dcc 36%,#cf973bc9 58%,#e6b65bcc 100%);box-shadow:inset 0 1px 1px #fffce6b3,inset 0 -1px 2px #7a531380,1px 0 5px #f1c76680}
#hud .track{position:absolute;top:16px;bottom:auto;left:0;right:0;height:6px;margin:0}
@media(max-height:500px) and (max-width:1100px){#hud .track{top:16px;bottom:auto;height:6px}}

/* Share the top notice line so messages never overlap the progress rail. */
#toast,body.gliding #toast{top:calc(42px + env(safe-area-inset-top,0px));left:4%;right:4%;width:auto;max-width:none;z-index:4;background:#1b392ef5}
@media(max-height:500px) and (max-width:1100px){#toast,body.gliding #toast{top:calc(29px + env(safe-area-inset-top,0px))}}

/* The compact HUD also supplies positioning formerly limited to mobile. */
#hud{left:4%;right:4%}.hudtop{align-items:center}.hudtop>#runTitle{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#lives{white-space:nowrap}#hud .score{position:relative}#hud .goalbox{position:absolute}#tip{position:fixed;bottom:auto;transform:none;pointer-events:none}body.recovering #tip,body.recovering #toast{display:none}#glideHud{display:none}body.gliding #toast{display:none}

/* Desktop keeps the compact arrangement with readable text sizes. */
@media(min-width:801px) and (pointer:fine){
 body.playing header{padding:12px 4% 6px}body.playing .brand{font-size:15px;grid-template-columns:32px auto}body.playing .brand .mark{font-size:32px}body.playing nav button{padding:9px 13px}
 #hud{top:calc(92px + env(safe-area-inset-top,0px))}.hudtop{font-size:13px;min-height:18px;letter-spacing:.6px}#lives{font-size:15px;letter-spacing:4px}
 #hud .track{top:24px;left:25%;right:auto;width:50%;height:8px;margin:0}
 #hud .score{margin-top:22px;min-height:60px}#hud .score::before{width:110px;height:57px}#hud .score>span{left:10px;top:6px;font-size:10px;line-height:14px;letter-spacing:.5px}#hud .score>b{left:10px;top:22px;font-size:25px;line-height:29px}
 #hud .goalbox{left:122px;width:150px;height:57px;padding:6px 10px}#hud .goalbox>span{font-size:10px;line-height:14px}#hud #harvestCount{font-size:25px;line-height:29px}
 #hud .score #combo{width:204px;gap:4px}#hud .score #combo .inventoryChip{padding:4px 6px;gap:5px}#hud .score #combo .item-icon{width:21px;height:23px}#hud .score #combo b{font-size:14px}
 #tip,#toast,body.gliding #toast{top:calc(59px + env(safe-area-inset-top,0px));padding:4px 9px;max-height:25px;font-size:13px;line-height:1.3;max-width:680px;color:#fff0cc;background:#18392def;text-shadow:0 1px 2px #0008}#tip{width:calc(92% - 18px)}#toast,body.gliding #toast{right:auto;width:max-content;max-width:90vw}
 #introCue{top:calc(92px + env(safe-area-inset-top,0px))}#introCue span{font-size:21px}#introCue small{font-size:12px}#skipIntro{font-size:14px}
 #result .tiny{font-size:12px}.tally-caption{font-size:11px}.tally-label{font-size:14px}.tally-label small{font-size:10px}.tally-row{min-height:39px}.tally-count{font-size:22px}.tally-calculation>div{font-size:13px}.tally-total span{font-size:14px}#result #resultText{font-size:12px;line-height:1.5}#result .resultActions button{font-size:14px}
}

/* Keep the upcoming level visible even on short landscape screens. */
#introCue #introLevel{display:block}

/* Seven collectible types fit in two compact inventory rows. */
#hud .score #combo{width:132px;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px}#hud .score #combo .inventoryChip{padding:2px;gap:2px}#hud .score #combo .item-icon{width:12px;height:16px}#hud .score #combo b{font-size:9px}
@media(min-width:801px) and (pointer:fine){#hud .score #combo{width:272px;gap:4px}#hud .score #combo .inventoryChip{padding:4px 6px;gap:5px}#hud .score #combo .item-icon{width:21px;height:23px}#hud .score #combo b{font-size:14px}}

/* Icon-only fullscreen switch stays at the far right of the header. */
nav #fullscreen{display:inline-flex;align-items:center;justify-content:center;padding:10px;min-width:36px;flex-shrink:0}#fullscreen svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}#fullscreen[aria-pressed="true"]{color:var(--gold);border-color:#edc17588}body.playing nav #fullscreen{padding:7px}html:fullscreen,html:-webkit-full-screen{width:100%;height:100%;background:#34483b}

/* Flat title logo replaces the large text heading without adding a new panel. */
#home .gameTitle,body.menu-flight #home .gameTitle{width:min(440px,80vw);height:auto;aspect-ratio:3.35;overflow:hidden;margin:14px 0 18px;line-height:0;padding:0;letter-spacing:0}#home .gameTitle img{display:block;width:100%;height:100%;object-fit:cover;object-position:center;filter:drop-shadow(0 3px 9px #091e1a55)}.brand .brandName{white-space:nowrap;font-size:14px;letter-spacing:1.2px}.brand .edition{letter-spacing:1.5px}body.playing .brand .brandName{font-size:10px;letter-spacing:.6px}
@media(max-width:800px){.brand{grid-template-columns:28px auto}.brand .mark{font-size:28px}.brand .brandName{font-size:11px;letter-spacing:.6px}.brand .edition{font-size:5px;letter-spacing:1.1px}#home .gameTitle,body.menu-flight #home .gameTitle{width:min(300px,80vw);margin:0 0 10px}body.playing .brand .brandName{font-size:9px}nav{gap:6px}}
@media(max-width:800px) and (max-height:720px) and (orientation:portrait){#home .gameTitle,body.menu-flight #home .gameTitle{width:min(260px,75vw);margin:0 0 7px}}
@media(max-height:500px) and (orientation:landscape){#home .gameTitle,body.menu-flight #home .gameTitle{width:min(280px,40vw);margin:0 0 8px}}

/* The actual illustrated logo stays compact in the upper-left game header. */
#gameBrand{display:block;width:196px;height:auto;aspect-ratio:3.35;overflow:hidden;flex:none;line-height:0}#gameBrand img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}body.playing #gameBrand{width:144px}
@media(max-width:800px),(pointer:coarse) and (max-width:1100px){#gameBrand,body.playing #gameBrand{width:116px}}
@media(max-width:360px){#gameBrand,body.playing #gameBrand{width:108px}}
@media(max-height:500px) and (max-width:1100px){body.playing #gameBrand{width:80px}body.playing nav #fullscreen{padding:3px 7px}}

/* Show every multiplication and the complete gross-minus-loss equation. */
#result #resultTag{font:500 20px Outfit,sans-serif;letter-spacing:0;color:#ffe5a8}.tally-row{grid-template-columns:27px minmax(0,1fr) 120px 20px;gap:7px}.tally-equation{display:grid;grid-template-columns:minmax(20px,1fr) auto minmax(28px,1fr);align-items:center;gap:5px;font-variant-numeric:tabular-nums;white-space:nowrap}.tally-equation small{font-size:11px;color:#c9d4bf}.tally-equation .tally-count,.tally-row-points{font:600 19px Outfit,sans-serif;text-align:right;color:#efc777}.tally-row-points{color:#fff0c5}#tallyLossRows{display:grid;gap:3px;margin:6px 0;line-height:1.3}#tallyLossRows .loss-detail{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;color:#e6b09b;font-size:11px}#tallyLossRows .loss-detail>span:first-child{display:flex;align-items:center;gap:5px}#tallyLossRows .item-icon{width:16px;height:18px}#tallyLossRows .loss-detail>span:last-child{white-space:nowrap;font-variant-numeric:tabular-nums}.lost-line{border-top:1px solid #e3a38b33;margin-top:5px;padding-top:4px}#result #tallyFormula{font-size:13px;font-weight:600;color:#ffe4a0;margin:2px 0 8px;line-height:1.4;font-variant-numeric:tabular-nums}
@media(max-width:800px),(pointer:coarse) and (max-width:1100px){#result #resultTag{font-size:18px}.tally-row{grid-template-columns:24px minmax(0,1fr) 106px 18px;gap:5px;padding:3px 6px}.tally-equation{gap:3px}.tally-equation .tally-count,.tally-row-points{font-size:17px}.tally-equation small{font-size:10px}.tally-label{font-size:10px}#result #tallyFormula{font-size:12px}#tallyLossRows .loss-detail{font-size:10px}}
#tallyLossRows b{font:600 11px Outfit,sans-serif;color:#f1b19c}

/* Only the tally scrolls; the next-level button stays visible in the dialog. */
#result[open]{display:flex;flex-direction:column;max-height:calc(100dvh - 24px);overflow:hidden}#result #resultTag{flex:none}#result .resultDetails{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;margin-top:9px;padding:0 2px;scrollbar-width:thin}#result .resultActions{flex:none;margin-top:8px;padding-top:9px;border-top:1px solid #e4c17b33;background:#17382f}#result .resultActions button{min-height:44px}#result #resultText:empty{display:none}
@media(max-width:800px),(pointer:coarse) and (max-width:1100px){#result{padding:13px 13px 12px}#result .resultDetails{margin-top:7px}#result .resultActions{margin-top:6px;padding-top:7px}}

nav #language{font-size:11px;font-weight:700;min-width:34px;padding:8px;border-radius:20px}#languageChoices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}#languageChoices button{min-height:44px;border:1px solid #edc17555;background:#254c3b;border-radius:8px;color:#fff1d1;font-size:14px}#languageChoices button[aria-pressed=true]{background:#edc175;color:#17382f}#languageDialog{max-width:430px}html:not([lang=de]) #hud .score>span,html:not([lang=de]) #hud .goalbox>span{letter-spacing:0;font-size:6px}html:not([lang=de]) #result .tally-label{overflow-wrap:anywhere}
@media(max-width:800px){body.playing #gameBrand{width:90px}body.playing nav{gap:3px}body.playing nav button{padding:7px 8px}body.playing nav #language{padding:7px 5px;min-width:30px}}
@media(min-width:801px) and (pointer:fine){html:not([lang=de]) #hud .score>span,html:not([lang=de]) #hud .goalbox>span{font-size:9px}}
