@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700;800;900&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--cream:#fff0d2;--orange:#ef8a48;--ink:#1d1424;--muted:#d0bda9;--gold:#f4b966}*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;overscroll-behavior:none;background:var(--ink);color:var(--cream);font-family:'DM Sans',sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit;font:inherit;border:0}button:focus-visible,a:focus-visible{outline:2px solid var(--cream);outline-offset:4px}[hidden]{display:none!important}#game{position:relative;margin:auto;width:100%;height:100dvh;overflow:hidden;background:#30243a}#world{width:100%;height:100%;display:block;image-rendering:auto;touch-action:none}.vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(#140f1eaa,transparent 20%,transparent 70%,#140d19b3),radial-gradient(ellipse at 50% 46%,transparent 45%,#160c1c45)}header{position:absolute;top:0;left:0;right:0;padding:calc(12px + env(safe-area-inset-top)) 18px 8px;display:flex;justify-content:space-between;align-items:center;z-index:5;pointer-events:none}header>*{pointer-events:auto}#brand{font-family:'Barlow Condensed',Impact,sans-serif;font-weight:800;letter-spacing:.1px;text-decoration:none;color:var(--cream);font-size:21px;line-height:1}#brand>span:first-child{color:var(--orange);font-size:14px}.edition{display:block;font-family:'DM Sans',sans-serif;font-size:7px;font-weight:500;letter-spacing:1.6px;margin-top:5px;color:#ecd1ab}.tools{display:flex;gap:6px}.tools button{background:#23192980;border:1px solid #e8c99f40;border-radius:50px;padding:0 11px;height:32px;font-size:8px;font-weight:700;letter-spacing:.5px;text-shadow:0 1px #0008}#pause{font-size:15px;min-width:32px;padding:0}.panel{position:absolute;z-index:3}.eyebrow{font-size:8px;font-weight:700;letter-spacing:2px;color:#ffce8c}#menu{inset:76px 22px calc(14px + env(safe-area-inset-bottom));display:flex;flex-direction:column;pointer-events:none}#menu>*{pointer-events:auto}.menu-story{align-self:flex-start;text-shadow:0 2px 14px #140b1bdd}.menu-story .eyebrow{margin-bottom:9px}h1{font-family:'Barlow Condensed',Impact,sans-serif;font-weight:900;font-size:clamp(58px,17vw,88px);line-height:.78;letter-spacing:-1.2px;margin:0 0 14px;transform:rotate(-3deg);transform-origin:left bottom;text-shadow:2px 3px 0 #713723,0 5px 22px #180c24a8}h1 em{font-style:normal;color:#ffad56}.intro{font-size:11px;line-height:1.45;color:#fff0d9;margin:0;max-width:260px}.menu-actions{margin-top:auto;position:relative;isolation:isolate}.menu-actions:before{content:'';position:absolute;z-index:-1;inset:-35px -22px -24px;background:linear-gradient(transparent,#1a1022d6 25%,#180e1ded);pointer-events:none}.selectLabel{font-size:8px;font-weight:700;letter-spacing:1.5px;color:#ecd2b1;margin:0 0 8px}.characters{display:flex;gap:9px;margin-bottom:11px}.character{flex:1;min-width:0;display:flex;align-items:center;text-align:left;position:relative;gap:2px;background:#2a1e2db8;border:1px solid #e3bc8755;border-radius:4px 10px 5px 8px;padding:4px 8px 4px 2px;min-height:65px;box-shadow:0 3px 0 #110b17a6;transition:border-color .15s,background .15s}.character.selected{border-color:#ffc976;background:#6e4325d9;box-shadow:0 3px 0 #3a201c,inset 0 1px #ffe6b633}.character canvas{display:block;flex-shrink:0;width:56px;height:51px;image-rendering:auto}.character strong{display:block;font-family:'Barlow Condensed',Impact,sans-serif;font-weight:800;font-size:22px;line-height:1;letter-spacing:.8px}.character span{display:block;font-size:7px;white-space:nowrap;color:#e3c9b1;margin-top:4px}.selection-mark{position:absolute;width:5px;height:5px;border-radius:50%;background:#6c5159;right:7px;top:7px}.selected .selection-mark{background:#ffd18b;box-shadow:0 0 6px #ffbf6e66}.primary{display:block;width:100%;min-height:49px;border-radius:6px 10px 7px 5px;background:linear-gradient(165deg,#ffd390,#ee994d 55%,#d67635);color:#35201e;padding:13px 10px;font-family:'Barlow Condensed',Impact,sans-serif;font-weight:800;letter-spacing:1.2px;font-size:21px;box-shadow:0 4px 0 #8b462b,inset 0 1px #fff0c8a1;text-shadow:0 1px #ffe0a970}.primary:hover{filter:brightness(1.07)}.primary:active{transform:translateY(2px);box-shadow:0 2px 0 #8b462b}.primary:disabled{opacity:.7;cursor:wait;font-family:'DM Sans',sans-serif;font-size:11px;letter-spacing:.6px}.menu-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:13px;font-size:8px;letter-spacing:.5px;color:#cdb297}.text{background:none;color:#edd2ae;font-size:9px;font-weight:700;letter-spacing:.6px;min-height:32px;padding:6px 0;text-decoration:underline;text-underline-offset:4px}.fine{font-size:7px;color:#ad8f7d;letter-spacing:1.1px;margin-top:2px}.secondary-actions{display:flex;justify-content:space-between;gap:12px;margin-top:9px}#hud{position:absolute;left:18px;right:18px;top:calc(63px + env(safe-area-inset-top));max-width:440px;margin:auto;z-index:2;pointer-events:none;filter:drop-shadow(0 2px 4px #130b19)}.meterrow{display:flex;gap:18px}.meterrow label{flex:1;font-size:8px;font-weight:700;letter-spacing:1px}.meterrow span:not(.food-name){float:right;color:#ffe4b7;font-size:8px;letter-spacing:0}.meterrow i{display:block;height:4px;background:#302033c9;border-radius:4px;margin-top:5px;box-shadow:0 0 0 1px #f3d3a733;overflow:hidden}.meterrow b{display:block;height:100%;background:#ffc270;transition:width .2s}#burrito{background:#d2b181}.route{display:flex;align-items:center;gap:8px;font-size:7px;font-weight:600;letter-spacing:.6px;margin-top:8px}.route>div{flex:1;height:2px;background:#302033aa;overflow:hidden}.route i{display:block;height:100%;background:#ffe2af}.route span{color:#e6c9aa}#toast{position:absolute;top:calc(125px + env(safe-area-inset-top));left:18px;right:18px;text-align:center;font-size:9px;font-weight:700;letter-spacing:.4px;color:#ffe2b5;text-shadow:0 2px 5px #120b1a;pointer-events:none;z-index:2}#controls{position:absolute;z-index:4;bottom:calc(19px + env(safe-area-inset-bottom));left:18px;right:18px;display:flex;justify-content:space-between;align-items:end;max-width:560px;margin:auto;touch-action:none}.steering{display:flex;gap:10px}#controls button{display:flex;align-items:center;justify-content:center;background:#2b1d30ac;border:1px solid #f1d2b185;border-radius:50%;height:62px;width:62px;box-shadow:0 3px 0 #120b1c80,inset 0 1px #fbe7c422;touch-action:none;user-select:none;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}#controls button:active{background:#795038cf;transform:translateY(2px)}#controls svg{width:25px;height:25px;fill:none;stroke:var(--cream);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}#controls #jump{border-radius:13px 17px 12px 16px;width:80px;height:64px;background:linear-gradient(150deg,#efb76edb,#bb703ddc);color:#30201e;border-color:#ffe2ac99;flex-direction:column;gap:2px;position:relative;overflow:hidden;box-shadow:0 4px 0 #743e2980,inset 0 1px #ffe8bc77}#jump svg{stroke:#36221f;width:24px;height:24px}#jump span{font-size:10px;font-weight:800;letter-spacing:1.2px}#jump i{position:absolute;bottom:0;left:0;height:3px;background:#ffe5b7}footer{position:absolute;bottom:8px;left:0;right:0;text-align:center;font-size:8px;color:#d9bca0;letter-spacing:1px;pointer-events:none}.compact{top:50%;left:50%;transform:translate(-50%,-50%) rotate(-1deg);width:min(350px,calc(100% - 38px));max-height:calc(100dvh - 100px);overflow:auto;padding:25px 24px 20px;text-align:center;background:linear-gradient(145deg,#3a2535f5,#251a2cf5);border:1px solid #bf8e6377;border-radius:8px 15px 9px 12px;box-shadow:0 15px 50px #130b1bb3,inset 0 1px #deb48e22;scrollbar-width:none}h2{font-family:'Barlow Condensed',Impact,sans-serif;font-weight:900;font-size:52px;line-height:.88;letter-spacing:-.7px;margin:15px 0;color:#ffb267;text-shadow:2px 3px #713c2d}.compact p{font-size:12px;line-height:1.55;color:#e2cbb6;margin:14px 0 18px}.compact p strong,.compact p b{color:var(--cream)}#endPortrait{display:block;margin:12px auto 0;width:88px;height:79px;image-rendering:auto}#stats{padding:0 0 19px;font-size:10px;font-weight:600;color:#f5c88e;line-height:1.7}.help-rules{text-align:left;margin:20px 0}.help-rules p{margin:0 0 16px;font-size:12px}.help-rules b{display:block;font-size:10px;letter-spacing:1.5px;margin-bottom:3px}.compact .keyboard-help{font-size:9px;color:#b59b8c}.compact>.text{margin-top:12px}body[data-mode="menu"] header #brand{opacity:.8}body[data-mode="playing"] .edition,body[data-mode="paused"] .edition{display:none}body[data-mode="playing"] header,body[data-mode="paused"] header{padding-top:calc(12px + env(safe-area-inset-top))}body[data-mode="playing"] .vignette{background:linear-gradient(#170e1eb0,transparent 17%,transparent 80%,#140d196b)}
@media(max-width:899px),(pointer:coarse){#desktopHint{display:none}.keyboard-help{display:none!important}}
@media(min-width:600px){#game{max-width:600px;box-shadow:0 0 100px #0b0716b3}body{background:radial-gradient(ellipse at 50% 40%,#3c263f,#100b18 75%)}header{padding-inline:24px}#menu{left:30px;right:30px}h1{font-size:88px}.intro{font-size:12px}.menu-actions:before{left:-30px;right:-30px}.character{min-height:72px}.character canvas{width:66px;height:60px}.character strong{font-size:25px}.character span{font-size:9px}.selectLabel{font-size:9px}.primary{min-height:54px;font-size:23px}.menu-bottom{font-size:9px}.fine{font-size:8px}#hud{left:24px;right:24px;max-width:none}#toast{font-size:10px}.compact{width:370px}.compact p{font-size:13px}#controls{left:24px;right:24px}#controls button{width:66px;height:66px}#controls #jump{width:88px;height:68px}}
@media(max-height:700px) and (max-width:799px){#menu{top:66px;bottom:calc(9px + env(safe-area-inset-bottom));left:18px;right:18px}h1{font-size:56px;margin-bottom:10px}.menu-story .eyebrow{font-size:7px;margin-bottom:7px}.intro{font-size:10px}.character{min-height:57px}.character canvas{width:48px;height:44px}.character strong{font-size:19px}.character span{font-size:6px}.primary{min-height:44px;font-size:19px;padding:10px}.menu-bottom{margin-top:8px}.fine{font-size:6px}.selectLabel{margin-bottom:6px;font-size:7px}.characters{margin-bottom:8px}.compact{padding:19px;max-height:calc(100dvh - 70px)}h2{font-size:45px}.compact p{font-size:11px}.help-rules{margin:15px 0}.help-rules p{margin-bottom:11px}#endPortrait{width:65px;height:59px;margin-top:8px}#stats{font-size:9px;padding-bottom:14px}}
@media(max-height:500px) and (min-width:600px){#menu{inset:56px 25px 14px;width:310px}.menu-story .eyebrow{font-size:7px}h1{font-size:51px;line-height:.79;margin-bottom:9px}.intro{font-size:10px}.characters{margin-bottom:8px}.character{min-height:46px;padding:2px}.character canvas{width:44px;height:40px}.character strong{font-size:18px}.character span{font-size:6px}.selectLabel{font-size:7px;margin-bottom:6px}.primary{min-height:38px;font-size:17px;padding:9px}.menu-bottom{font-size:7px;margin-top:6px}.fine{display:none}.text{font-size:8px;min-height:24px}.menu-actions{margin-top:12px}#hud{top:58px;left:auto;right:18px;width:240px}.compact{max-height:calc(100dvh - 55px);padding:17px}.compact h2{font-size:38px}.compact p{font-size:11px}.compact .eyebrow{font-size:7px}#endPortrait{width:52px;height:47px;margin-top:7px}#stats{padding-bottom:12px}#controls{bottom:14px;left:350px;right:16px}#controls button{width:50px;height:50px}#controls #jump{width:65px;height:53px}#toast{top:109px;font-size:8px;text-align:right;right:20px}footer{display:none}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

/* Keep the title clear of real device safe areas as well as browser chrome. */
#menu{top:calc(76px + env(safe-area-inset-top))}@media(max-height:700px) and (max-width:799px){#menu{top:calc(66px + env(safe-area-inset-top))}}

#pause svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;display:block;margin:auto}
/* Phone-readable status without enlarging the HUD footprint. */
.meterrow label,.meterrow span:not(.food-name){font-size:10px}.route{font-size:9px}#toast{font-size:10px}.character span{font-size:9px;letter-spacing:-.2px}@media(max-width:370px){.character span{font-size:8px}.character strong{font-size:20px}}
/* Two upbeat lines stay inside the compact phone character cards. */
.character>div{min-width:0}.character span{white-space:normal;line-height:1.25;max-width:130px}#jump span{white-space:nowrap;font-size:9px}

/* Lee's doorstep is the hero of the report, not a generic dashboard. */
#end{padding:16px 20px 15px;background:linear-gradient(145deg,#382134f7,#211726fa);width:min(370px,calc(100% - 28px));transform:translate(-50%,-50%)}
.end-stage{height:180px;margin:7px -8px 0;position:relative;overflow:hidden;background:radial-gradient(ellipse at center,#9c5a2e70,transparent 65%)}.end-stage img{height:230px;width:100%;object-fit:contain;object-position:center top;filter:drop-shadow(0 7px 12px #0007)}.end-stage span{position:absolute;bottom:3px;left:0;right:0;font-size:8px;letter-spacing:1.2px;text-shadow:0 2px 3px #000;background:#281b2dbb;padding:5px}#end[data-outcome="lost"] .end-stage{filter:saturate(.65)}
#end h2{font-size:36px;line-height:1;margin:12px 0 5px}#end p{margin:7px 0 10px;font-size:11px;line-height:1.4;min-height:30px}.rating-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin:10px 0 0}.rating-metrics div{border-top:1px solid #d6a36d70;padding:7px 0}.rating-metrics strong{font-family:'Barlow Condensed',Impact,sans-serif;font-size:25px;color:#ffd08e;display:block;min-width:0}.rating-metrics span{font-size:7px;letter-spacing:.3px}#skipRating{min-height:28px;font-size:8px;margin:0}#grade{font-family:'Barlow Condensed',Impact,sans-serif;color:#ffd08e;font-size:22px;padding:6px 0 7px;min-height:39px}#end #stats{font-size:9px;padding-bottom:11px}#end .primary{min-height:44px;font-size:20px;padding:10px}#end .secondary-actions{margin-top:7px}
@media(max-height:720px){.end-stage{height:125px}.end-stage img{height:180px}#end h2{font-size:28px;margin-top:8px}#end p{font-size:10px}.rating-metrics strong{font-size:21px}#end{padding:12px 16px}#grade{font-size:20px;min-height:32px;padding:3px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

.end-stage canvas{display:block;width:100%;height:100%;object-fit:contain}.end-stage{height:190px}@media(max-height:720px){.end-stage{height:140px}}
