:root{--bg-0:#0e2a1f;--bg-1:#154031;--bg-2:#1f6f4a;--paper:#fbf3da;--paper-line:#e8d9ad;--ink:#2a2117;--ink-soft:#6a5c44;--lemon:#f4c430;--lemon-light:#ffe66d;--lemon-deep:#d99a16;--sky:#8fd0ee;--tomato:#e0533d;--leaf:#3fa34d;--shadow:#00000059;--pixel:4px;color:var(--ink);-webkit-font-smoothing:none;font-smooth:never;font-family:Silkscreen,Courier New,monospace}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:radial-gradient(120% 90% at 50% -10%, var(--bg-2) 0%, var(--bg-1) 45%, var(--bg-0) 100%);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;overflow:hidden}img,canvas{image-rendering:pixelated;image-rendering:crisp-edges}.app{background:linear-gradient(#ffffff0a,#0000 30%);flex-direction:column;width:100%;max-width:480px;height:100%;margin:0 auto;display:flex;position:relative;overflow:hidden}.font-head{font-family:"Press Start 2P",monospace;line-height:1.5}.panel{background:var(--paper);border:var(--pixel) solid var(--ink);box-shadow:0 6px 0 var(--shadow);padding:14px;position:relative}.panel--lined{background-image:repeating-linear-gradient(var(--paper) 0 26px, var(--paper-line) 26px 27px)}.btn{color:var(--ink);background:var(--lemon);border:var(--pixel) solid var(--ink);box-shadow:0 5px 0 var(--lemon-deep), 0 6px 0 var(--shadow);cursor:pointer;text-align:center;width:100%;padding:12px 14px;font-family:"Press Start 2P",monospace;font-size:11px;transition:transform 40ms,box-shadow 40ms}.btn:active{box-shadow:0 1px 0 var(--lemon-deep), 0 2px 0 var(--shadow);transform:translateY(4px)}.btn--ghost{color:var(--paper);border-color:var(--paper);box-shadow:none;background:0 0}.btn--ghost:active{transform:translateY(2px)}.btn:disabled{filter:grayscale(.6)brightness(.85);cursor:not-allowed}.btn-row{gap:10px;display:flex}.step{background:var(--paper);border:3px solid var(--ink);width:38px;height:38px;box-shadow:0 3px 0 var(--shadow);cursor:pointer;font-family:"Press Start 2P",monospace;font-size:12px}.step:active{box-shadow:none;transform:translateY(3px)}.step--buy{background:var(--leaf);color:#fff}.screen{flex-direction:column;flex:1;gap:12px;padding:14px;display:flex;overflow-y:auto}.row{justify-content:space-between;align-items:center;gap:10px;display:flex}.stack{flex-direction:column;gap:10px;display:flex}.muted{color:var(--ink-soft)}.center{text-align:center}.statusbar{color:var(--paper);border-bottom:var(--pixel) solid #0000004d;background:#0000002e;justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;font-size:13px;display:flex}.chip{white-space:nowrap;background:#00000040;border:2px solid #ffffff26;align-items:center;gap:6px;padding:5px 9px;display:inline-flex}.title-wrap{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:18px;padding:24px;display:flex}.logo{color:var(--lemon);text-shadow:0 var(--pixel) 0 var(--lemon-deep), 0 8px 0 var(--shadow);letter-spacing:1px;font-family:"Press Start 2P",monospace;font-size:30px}.tagline{color:var(--paper);letter-spacing:3px;text-transform:uppercase;font-size:13px}.lemon-emoji{filter:drop-shadow(0 6px 0 var(--shadow));font-size:64px}.forecast{align-items:center;gap:12px;display:flex}.thermo{color:var(--tomato);font-family:"Press Start 2P",monospace;font-size:22px}.line-item{border-bottom:2px dashed var(--paper-line);grid-template-columns:1fr auto;align-items:center;gap:8px;padding:8px 0;display:grid}.line-item:last-child{border-bottom:none}.qty{text-align:center;min-width:44px;font-family:"Press Start 2P",monospace;font-size:13px}.controls{align-items:center;gap:6px;display:flex}.section-title{color:var(--ink);margin-bottom:6px;font-family:"Press Start 2P",monospace;font-size:12px}.hint{color:var(--ink-soft);font-size:12px;line-height:1.5}.quality-bar,.meter{border:2px solid var(--ink);background:#0000001f;height:14px;overflow:hidden}.quality-bar>span{background:var(--leaf);height:100%;display:block}.serve-screen{flex-direction:column;flex:1;display:flex;position:relative}.awning{z-index:3;background:repeating-linear-gradient(90deg, var(--lemon) 0 22px, #fff6dd 22px 44px);border-bottom:3px solid #00000038;position:relative;box-shadow:0 3px 6px #00000040}.awning .serve-hud{text-shadow:0 1px #00000080;background:#1418128c}.awning .chip{color:#fff;background:#0a0c08b8;border-color:#ffffff59}.awning .muted{color:#e9e2cc}.awning-scallop{background:radial-gradient(circle at 11px 0, var(--lemon) 0 11px, transparent 11.5px) 0 0 / 44px 14px repeat-x, radial-gradient(circle at 33px 0, #fff6dd 0 11px, transparent 11.5px) 0 0 / 44px 14px repeat-x;height:14px}.serve-hud{color:var(--paper);justify-content:space-between;align-items:center;gap:8px;padding:10px 14px;font-size:13px;display:flex}.timebar{background:#0000004d;border:2px solid #fff3;flex:1;height:10px;margin:0 10px;overflow:hidden}.timebar>span{background:var(--lemon);height:100%;display:block}.serve-canvas{touch-action:manipulation;flex:1;width:100%;display:block}.stuck-overlay{z-index:8;background:#0a1610b8;justify-content:center;align-items:center;padding:24px;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.stuck-card{text-align:center;width:100%;max-width:320px}.toast{color:var(--paper);pointer-events:none;text-align:center;white-space:normal;background:#0000009e;border:2px solid #ffffff40;max-width:86%;padding:9px 13px;font-family:"Press Start 2P",monospace;font-size:11px;line-height:1.6;animation:.2s ease-out fade;position:absolute;top:10%;left:50%;transform:translate(-50%)}.ledger-sheet{padding:8px 14px}.ledger-line{border-bottom:1px solid var(--paper-line);justify-content:space-between;align-items:baseline;padding:9px 0;font-size:15px;display:flex}.ledger-line:last-child{border-bottom:none}.ledger-total{border-top:3px solid var(--ink);border-bottom:none;margin-top:4px;padding-top:12px;font-family:"Press Start 2P",monospace;font-size:15px}.profit-pos{color:var(--leaf)}.profit-neg{color:var(--tomato)}.stamp{color:var(--tomato);border:3px solid var(--tomato);opacity:.85;padding:6px 10px;font-family:"Press Start 2P",monospace;font-size:10px;display:inline-block;transform:rotate(-8deg)}.cutscene{cursor:pointer;background:#0e2a1f;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.letterbox{z-index:5;background:#000;height:7%;animation:.5s ease-out letterbox-in;position:absolute;left:0;right:0}.letterbox--top{top:0}.letterbox--bottom{bottom:0}@keyframes letterbox-in{0%{height:0}to{height:7%}}.cutscene-chapter{text-align:center;z-index:6;letter-spacing:1px;text-shadow:0 2px #0009;font-size:10px;position:absolute;top:9%;left:0;right:0}.cutscene-box{z-index:6;border:3px solid var(--paper);box-shadow:0 6px 0 var(--shadow);background:#0e1e16db;padding:14px 16px;animation:.4s ease-out fade;position:absolute;bottom:9%;left:12px;right:12px}.cutscene-title{margin-bottom:10px;font-size:12px;line-height:1.4}.cutscene-line{color:var(--paper);min-height:3.4em;font-size:15px;line-height:1.7}.cutscene-prompt{color:var(--paper);justify-content:space-between;align-items:center;margin-top:10px;font-family:"Press Start 2P",monospace;font-size:9px;display:flex}.era-intro-overlay{z-index:6;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;padding:48px 24px;display:flex;position:absolute;top:0;bottom:0;left:0;right:0;overflow-y:auto}.blink{animation:1s steps(2,start) infinite blink}@keyframes blink{to{opacity:.25}}.fade-in{animation:.25s ease-out fade}@keyframes fade{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
