:root{--surface:oklch(0.985 .005 250);--muted:oklch(.94 .014 250);--ink:oklch(.29 .09 255);--subtle:oklch(.5 .035 250);--line:oklch(.86 .02 250);--blue:oklch(.59 .22 255);--deep:oklch(.48 .19 255);--ease:cubic-bezier(.23,1,.32,1)}*{box-sizing:border-box}body{margin:0;background:oklch(.91 .035 250);color:var(--ink);font-family:ui-rounded,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;font-variant-numeric:tabular-nums}.game{width:min(100%,480px);height:100dvh;min-height:620px;max-height:1050px;margin:auto;display:flex;flex-direction:column;background:var(--surface);overflow:hidden}header{flex:none;display:flex;align-items:center;justify-content:space-between;padding:calc(12px + env(safe-area-inset-top)) 20px 12px;background:var(--blue);color:var(--surface)}.day{font-size:18px;font-weight:900;letter-spacing:.03em}.day span{display:block;font-size:14px;font-weight:600;letter-spacing:0;margin-top:3px}.cash{text-align:right}.cash span{font-size:12px}.cash strong{display:block;font-size:26px;font-weight:900}.quiet{padding:0;width:38px;height:38px;margin-left:12px;border:1px solid color-mix(in srgb,var(--surface),transparent 60%);background:transparent;color:var(--surface);font-size:20px}.goal{padding:12px 20px 10px;font-size:14px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px}.track{width:100%;height:5px;background:var(--line);border-radius:3px;overflow:hidden}.track div{height:100%;width:0;background:var(--blue);transition:width 300ms var(--ease)}.shop{position:relative;flex:1;min-height:0;background:oklch(.91 .012 250);overflow:hidden}canvas{display:block;width:100%;height:100%;object-fit:cover;object-position:center top}.intro{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:26px;text-align:center;background:color-mix(in srgb,var(--ink),transparent 20%);color:var(--surface);z-index:5;backdrop-filter:blur(3px)}[hidden]{display:none!important}h1,h2{font-size:30px;line-height:1.12;margin:12px 0;font-weight:900;letter-spacing:-.04em}p{font-size:16px;line-height:1.45;margin:0 0 22px;max-width:330px}.level{font-size:13px;letter-spacing:.14em;font-weight:800;color:oklch(.88 .12 90)}button{font:inherit;font-size:16px;font-weight:800;border:0;border-radius:10px;min-height:48px;padding:12px 20px;background:var(--blue);color:var(--surface);cursor:pointer;box-shadow:0 4px 0 var(--deep);transition:transform 110ms var(--ease),background 160ms var(--ease)}button:active{transform:translateY(2px) scale(.98)}button:focus{outline:none}button:focus-visible{outline:2px solid oklch(.85 .12 80)}button:disabled{opacity:.65;cursor:wait}.intro button{width:min(100%,290px)}small{font-size:12px;line-height:1.5;margin-top:18px;opacity:.8}.station{position:absolute;left:50%;top:34%;transform:translateX(-50%);background:var(--surface);padding:12px;min-width:230px;text-align:center;border-radius:12px;box-shadow:0 8px 25px oklch(.2 .05 250 / .15);z-index:4}.station span{display:block;font-size:12px;font-weight:800;letter-spacing:.08em;color:var(--subtle)}.station strong{display:block;font-size:16px;margin:4px 0 10px}.station button{font-size:15px;white-space:nowrap}.pointer{font-size:34px;position:absolute;bottom:-40px;left:45%;animation:point 1s var(--ease) infinite}@keyframes point{50%{transform:translateY(-8px)}}footer{flex:none;padding:12px 20px calc(52px + env(safe-area-inset-bottom));background:var(--surface)}.inventory{display:flex;justify-content:space-between;font-size:14px;padding-bottom:10px;border-bottom:1px solid var(--line)}.inventory b{font-size:17px;font-weight:900}#status{font-size:14px;line-height:1.4;min-height:40px;padding-top:9px}.collected{display:flex;justify-content:space-between;font-size:12px;color:var(--subtle);margin-top:5px}.collected strong{color:var(--ink)}.results{width:100%;max-width:320px;margin:10px 0 18px}.results>div{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid oklch(.9 .01 250 / .18);font-size:14px}.results strong{font-size:18px}.summary p{font-size:14px;margin-bottom:16px}.summary h2{font-size:28px}.summary small{max-width:260px}.secondary{margin-top:14px;background:transparent;box-shadow:none;border:1px solid oklch(.9 .01 250 / .4)}@media(min-width:650px){body{padding:20px}.game{height:calc(100dvh - 40px);border-radius:20px;box-shadow:0 12px 60px oklch(.3 .08 250 / .15)}}@media(max-height:700px){header{padding-top:8px;padding-bottom:8px}.goal{padding-top:8px;padding-bottom:8px}footer{padding-top:8px;padding-bottom:48px}h1,h2{font-size:26px}.results>div{padding:5px 0}.summary p{margin-bottom:12px}.summary small{margin-top:12px}}@media(prefers-reduced-motion:reduce){.pointer{animation:none}button,#fill{transition:none}}

.motion-panel{position:fixed;z-index:20;left:50%;transform:translateX(-50%);bottom:max(8px,env(safe-area-inset-bottom));width:min(350px,calc(100vw - 16px));background:#f8fbff;color:#16436f;border:1px solid #a7c6e7;border-radius:12px;box-shadow:0 4px 18px #16385933;font-size:12px}.motion-panel summary{padding:10px 12px;cursor:pointer;font-weight:750}.motion-controls{padding:0 12px 12px;display:grid;gap:8px}.motion-controls label{display:grid;gap:4px;font-weight:650}.motion-controls input{width:100%;accent-color:#087af5}.motion-controls small{font-size:11px;line-height:1.35}.motion-buttons{display:flex;gap:5px}.motion-buttons button{font-size:11px;padding:9px 6px;min-height:36px;flex:1}.motion-panel output{font-variant-numeric:tabular-nums}
/* Three focused lessons. Financial terms remain in the HUD; guides live in cards. */
header{gap:12px;padding-left:16px;padding-right:16px}.day{flex:1;min-width:0}.day b{font-size:15px}.day span{font-size:12px;line-height:1.35}.capital{display:grid;gap:5px;text-align:right;white-space:nowrap}.capital>div{display:flex;align-items:baseline;justify-content:flex-end;gap:7px}.capital span{font-size:11px;opacity:.85}.capital strong{font-size:22px;font-weight:900;letter-spacing:-.03em}.capital .mrr strong{font-size:17px}.header-actions{display:grid;gap:5px}.quiet{width:32px;height:30px;min-height:30px;margin:0;font-size:17px;box-shadow:none;border-radius:7px}.goal{font-size:13px;gap:7px;padding-left:16px;padding-right:16px}.goal>strong{max-width:80%;font-weight:850}.inventory{font-size:13px}.inventory b{font-size:16px}footer{padding-left:16px;padding-right:16px}#status{font-size:13px;min-height:38px}
.intro{display:block;padding:20px;overflow:auto;overscroll-behavior:contain;backdrop-filter:blur(2px)}.modal-content{width:min(100%,350px);margin:auto;min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0}.intro h1,.intro h2{font-size:27px;line-height:1.1;margin:10px 0 12px}.intro p{font-size:14px;line-height:1.45;margin:0 0 16px}.intro small{font-size:11px;margin-top:12px;line-height:1.4}.intro button{flex:none}.level{font-size:11px;line-height:1.35;letter-spacing:.1em}.receipt-note{width:100%;margin-bottom:12px;border:1px solid #bdecd166;background:#205b4055;border-radius:10px;padding:9px;font-size:12px;line-height:1.4;color:#dcffe7}.price-card,.purchase-card{width:100%;background:#f6f9ff;color:#16436f;border-radius:12px;padding:12px;margin-bottom:14px;text-align:left}.price-card>label{font-size:12px;font-weight:750}.price-entry{display:flex;align-items:center;gap:8px;margin-top:7px}.price-entry>span{font-size:22px;font-weight:900}.price-entry input{font:inherit;font-size:22px;font-weight:850;min-width:0;width:85px;flex:1;border:1px solid #abc7e0;border-radius:8px;padding:7px;background:white;color:#16436f;min-height:42px}.price-entry .small-button{font-size:12px;padding:9px 10px;width:auto;min-height:40px;box-shadow:none}.demand-curve{display:block;width:100%;height:59px;margin-top:5px}.demand-curve text{font-size:9px;fill:#577289}.price-card small{display:block;margin-top:7px;font-size:11px;opacity:1}.purchase-card>div{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:7px 0;border-bottom:1px solid #d7e3ee;font-size:13px}.purchase-card strong{font-size:18px;font-weight:900;white-space:nowrap}.purchase-card>small{display:block;margin-top:9px;font-size:12px;opacity:1;color:#3e6d56}.summary .results{margin:6px 0 14px;max-width:100%}.summary .results>div{padding:6px 0;align-items:baseline;gap:12px;font-size:12px}.summary .results strong{font-size:16px;white-space:nowrap}.summary p{font-size:13px;margin-bottom:13px}.summary h2{font-size:26px}.secondary{font-size:13px;min-height:38px;padding:9px 12px;margin-top:10px}.station{min-width:260px;max-width:85%;top:28%}.station strong{font-size:15px}.station small{display:block;font-size:11px;margin-top:9px;color:#58738f;opacity:1}.station span{font-size:10px;letter-spacing:.06em}.station .pointer{left:44%}.lesson-note{margin:14px 0 4px!important;font-size:12px!important}.text-button{background:none;box-shadow:none;font-size:12px!important;font-weight:600;min-height:32px;padding:9px!important;text-decoration:underline;opacity:.85}.motion-controls small{margin:0}.motion-panel{width:min(350px,calc(100vw - 16px))}
@media(max-height:740px){.intro{padding:15px}.intro h1,.intro h2{font-size:24px}.intro p{font-size:13px;margin-bottom:12px}.intro small{margin-top:8px}.price-card,.purchase-card{padding:10px;margin-bottom:11px}.summary .results>div{padding:4px 0}.summary .results strong{font-size:15px}.summary p{font-size:12px}.summary .secondary{margin-top:7px}.demand-curve{height:45px}.station{top:24%}}
@media(max-width:360px){header{gap:8px;padding-left:12px;padding-right:12px}.capital span{font-size:10px}.capital strong{font-size:20px}.capital .mrr strong{font-size:16px}.day span{font-size:11px}.goal{font-size:12px}.intro{padding:14px}.inventory{font-size:12px}}
.summary .level::before{content:'★ ';color:#ffd272}.summary .results>div:nth-child(1) strong{color:#bcf5c9}.summary .results>div:nth-child(3){background:#ffffff0a;border-radius:7px;padding-left:7px;padding-right:7px}
/* Scrollable summaries keep accounting assumptions and costs readable. */
.summary { overflow-y: auto; -webkit-overflow-scrolling: touch; }
.summary .modal-content {
  min-height: 0;
  height: auto;
  justify-content: flex-start;
  padding-bottom: 20px;
}
.summary .modal-content > * { flex-shrink: 0; }
/* A lesson-end panel uses the viewport, not the shop's clipped scene area. */
.summary{position:fixed;inset:max(8px,env(safe-area-inset-top)) 8px calc(52px + env(safe-area-inset-bottom));width:min(calc(100vw - 16px),480px);margin:0 auto;z-index:25;padding:18px 20px;border-radius:14px;box-shadow:0 10px 45px #09234455;background:color-mix(in srgb,var(--ink),transparent 3%);overflow-y:auto}
.summary .modal-content{width:100%;max-width:350px;min-height:0;height:auto;justify-content:flex-start;padding-bottom:0}.summary h2{font-size:26px;margin:9px 0 12px}.summary .results{margin:5px 0 12px}.summary .results>div{padding:5px 0;font-size:12px}.summary .results strong{font-size:16px}.summary p{font-size:13px;line-height:1.4;margin-bottom:0}.summary #summaryNote{font-size:12px;line-height:1.4;max-width:100%;margin:10px 0 12px;opacity:.9}
.summary-actions{display:flex;width:100%;gap:8px;align-items:stretch}.summary-actions button{width:auto;min-width:0;flex:1.4;min-height:48px;padding:10px 8px;font-size:14px;line-height:1.25}.summary-actions .secondary{flex:1;margin:0;box-shadow:none;font-size:13px}
body:has(#summary:not([hidden])) .game>header,body:has(#summary:not([hidden])) .game>.goal,body:has(#summary:not([hidden])) .game>footer{visibility:hidden}.motion-panel{z-index:30}
@media(max-height:700px){.summary{padding:12px 16px}.summary h2{font-size:23px;margin:7px 0 9px}.summary .level{font-size:10px}.summary .results{margin:3px 0 8px}.summary .results>div{padding:2px 0}.summary p{font-size:12px}.summary #summaryNote{margin:8px 0 9px}.summary-actions button{min-height:44px;padding:8px 7px}}
/* Income is the early lesson. Cash enters with August's inventory decision. */
.game{min-height:0}header{padding:calc(12px + env(safe-area-inset-top)) 18px 12px;align-items:flex-start}.income{flex:1}.income>b{font-size:13px;letter-spacing:.08em;text-transform:uppercase;opacity:.85}.income>span{display:block;margin-top:7px;font-size:12px;font-weight:650}.income>strong{display:block;font-size:34px;line-height:1.2;letter-spacing:-.04em;font-weight:900}#cashContext{font-size:13px;margin-top:7px;opacity:.92}#cashContext b{margin-left:6px}.header-actions{display:flex}.quiet{width:36px;height:36px;min-height:36px}.goal{padding:10px 18px 9px;display:block}.calendar{display:flex;justify-content:space-between;font-size:12px;font-weight:750;margin-bottom:8px;color:#8b9bab}.calendar [data-state=current]{color:#087af5}.calendar [data-state=complete]{color:#426887}.track{height:4px}.rack-stock{position:absolute;right:12px;top:12px;background:#f8fbffe8;border:1px solid #b8cddd;border-radius:20px;color:#16436f;font-size:12px;font-weight:750;padding:5px 10px;pointer-events:none}footer{padding:9px 18px calc(10px + env(safe-area-inset-bottom))}#status{padding:0;min-height:20px;font-size:12px;text-align:center}.intro .modal-content>p{font-size:16px;line-height:1.4;margin-bottom:22px}.intro h1,.intro h2{font-size:30px;margin:12px 0 16px}.intro .level{text-transform:uppercase}.price-card{padding:13px}.price-card small{font-size:12px}.purchase-card{text-align:center;padding:18px 14px}.purchase-card>strong{display:block;font-size:20px}.purchase-card>small{font-size:13px;line-height:1.4}.station{top:28%;padding:15px;min-width:255px}.station strong{font-size:16px;margin:7px 0 13px}.intro button{width:100%}.text-button{margin-top:9px;border:0;text-decoration:none;font-size:13px!important;opacity:.85;min-height:40px!important}.summary,.settings{position:fixed;inset:max(8px,env(safe-area-inset-top)) 8px max(8px,env(safe-area-inset-bottom));width:min(calc(100vw - 16px),480px);margin:0 auto;border-radius:16px;padding:24px;background:#123354f7;z-index:25;overflow:auto}.summary .modal-content{min-height:100%;justify-content:center;max-width:340px}.summary h2{font-size:32px;line-height:1.12}.income-result{margin:18px 0 24px;width:100%}.income-result span{display:block;font-size:13px;opacity:.85}.income-result strong{display:block;font-size:42px;letter-spacing:-.04em;font-weight:900;margin-top:6px;color:#c6f1d3}.summary .modal-content>p{font-size:15px;line-height:1.45;margin-bottom:24px}.summary-actions{display:flex;flex-direction:column;gap:0;width:100%}.summary-actions button{width:100%;flex:none;min-height:48px;font-size:16px;padding:12px 16px}.summary-actions .text-button{min-height:40px;font-size:13px!important}.settings-link{font-size:11px!important;margin-top:18px}.settings{z-index:30}.settings .modal-content{min-height:100%;justify-content:center}.settings .secondary{margin-top:10px}.motion-panel{position:static;transform:none;left:auto;bottom:auto;width:100%;margin-top:22px;background:#f8fbff;text-align:left;box-shadow:none;z-index:auto}.motion-panel summary{padding:12px}.motion-controls small{font-size:11px}.motion-buttons button{width:auto;min-height:38px;font-size:11px}.motion-controls label{font-size:12px}.summary .level::before{content:'★ ';color:#ffd272}button{touch-action:manipulation}.price-entry input{touch-action:manipulation}
@media(max-height:700px){header{padding-top:calc(8px + env(safe-area-inset-top));padding-bottom:8px}.income>strong{font-size:30px}.income>span{margin-top:4px}.goal{padding-top:7px;padding-bottom:7px}footer{padding-bottom:calc(8px + env(safe-area-inset-bottom))}.intro h1,.intro h2{font-size:26px}.intro .modal-content>p{font-size:14px;margin-bottom:16px}.summary,.settings{padding:18px}.summary h2{font-size:28px}.income-result{margin:12px 0 18px}.income-result strong{font-size:38px}.summary .modal-content>p{margin-bottom:18px}.settings .modal-content{justify-content:flex-start}.motion-panel{margin-top:14px}}
/* All play controls float over the map; the shop occupies the whole screen. */
.game{position:relative;min-height:0}.game>header{position:absolute;top:0;left:0;right:0;z-index:3;background:none;padding:calc(12px + env(safe-area-inset-top)) 14px 0;pointer-events:none;color:#16436f}.income{flex:none;padding:9px 13px;border-radius:14px;background:#f9fcfff0;box-shadow:0 3px 12px #1233541a;pointer-events:auto}.income>b{display:none}.income>span{margin:0;font-size:11px}.income>strong{font-size:25px;line-height:1.2}.header-actions{margin-left:auto;pointer-events:auto}.quiet{background:#f9fcfff2;color:#16436f;border:1px solid #adc6df;box-shadow:0 3px 10px #1233541a}.game>.goal{position:absolute;bottom:calc(14px + env(safe-area-inset-bottom));left:14px;z-index:3;background:#f9fcfff0;border-radius:12px;width:162px;padding:9px 12px;pointer-events:none;box-shadow:0 3px 12px #1233541a}.calendar{font-size:10px;margin-bottom:6px;gap:12px}.track{height:3px}.shop{flex:1;height:100%;width:100%}.rack-stock{top:26%;right:8px;font-size:11px;padding:4px 8px;z-index:2}.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap;border:0!important}.milestone-reward{background:#e8ffec;color:#126136;border-radius:12px;padding:13px 18px;font-size:17px;font-weight:850;margin:0 0 18px;box-shadow:0 4px 0 #72aa81}.price-results{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%;margin:0 0 16px}.price-results>div{padding:12px 8px;border-radius:10px;background:#ffffff10}.price-results span,.price-results b,.price-results strong{display:block}.price-results span{font-size:12px;opacity:.85}.price-results b{font-size:14px;margin:6px 0}.price-results strong{font-size:17px;color:#c6f1d3}.price-results small{grid-column:1/-1;margin-top:0;max-width:100%;font-size:12px;line-height:1.4}.month-comparison{margin:0 0 18px;font-size:15px;font-weight:750}.summary .income-result{margin:8px 0 16px}.summary .modal-content>p{font-size:13px;margin-bottom:18px}.station{top:37%}.intro{z-index:5}#cashContext{font-size:11px;margin-top:5px}@media(max-height:700px){.game>header{padding-top:calc(8px + env(safe-area-inset-top))}.income>strong{font-size:23px}.summary h2{font-size:25px}.summary .income-result strong{font-size:32px}.summary .income-result{margin:8px 0 12px}.price-results>div{padding:8px}.price-results{margin-bottom:10px}.month-comparison{font-size:13px;margin-bottom:10px}.summary .modal-content{justify-content:center}.settings-link{margin-top:8px}.rack-stock{top:28%}}
/* The full map stays visible; controls live beyond its logo and work area. */
.game>header{inset:0;padding:0;pointer-events:none}.income{position:absolute;left:14px;bottom:calc(70px + env(safe-area-inset-bottom));pointer-events:auto}.header-actions{position:absolute;inset:0;margin:0;pointer-events:none}.header-actions .quiet{position:absolute;right:14px;pointer-events:auto}#lessons{top:calc(12px + env(safe-area-inset-top))}#pause{top:auto;bottom:calc(16px + env(safe-area-inset-bottom));width:44px;height:44px;min-height:44px}.shop canvas{position:absolute;top:calc(62px + env(safe-area-inset-top));left:0;width:100%;height:calc(100% - 192px - env(safe-area-inset-top) - env(safe-area-inset-bottom));object-fit:contain;object-position:center top}.shop{background:#d5dce2}.rack-stock{right:auto;transform:translateX(-50%);white-space:nowrap;font-size:10px;top:27%;left:50%;background:#f9fcfff2}.game>.goal{width:190px}.calendar{font-size:11px;gap:10px}.calendar #currentMonth{color:#087af5}.calendar #monthProgress{font-size:9px;font-weight:600;color:#64778a}.first-action{position:relative;padding-top:38px}.station .pointer{font-size:48px;line-height:1;left:50%;bottom:auto;top:-12px;transform:translateX(-50%);animation:point-down 950ms ease-in-out infinite;pointer-events:none}@keyframes point-down{50%{transform:translate(-50%,6px)}}.slider-price{margin-top:9px}.slider-price output{display:block;font-size:26px;font-weight:900}.slider-price input{width:100%;height:44px;accent-color:#087af5;cursor:grab;touch-action:pan-y}.slider-cue{font-size:12px;color:#52728f;margin-top:8px;font-weight:700}.price-card label{font-size:12px}.station{min-width:245px;padding:12px}.station strong{margin:6px 0}.station button{min-height:44px;font-size:14px}.income>strong{font-size:25px}@media(prefers-reduced-motion:reduce){.station .pointer{animation:none}}@media(max-height:700px){.shop canvas{top:calc(52px + env(safe-area-inset-top));height:calc(100% - 172px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.income{bottom:calc(65px + env(safe-area-inset-bottom));padding:7px 10px}.income>strong{font-size:23px}}
.checkpoint .modal-content{background:#f8fbff;color:#16436f;border-radius:16px;padding:20px;min-height:0;width:min(100%,320px);margin:20vh auto 0;box-shadow:0 12px 40px #09234455}.checkpoint{background:#12335466;backdrop-filter:none}.checkpoint .level{color:#416582}.checkpoint h2{font-size:24px;margin:10px 0}.checkpoint p{font-size:14px;margin-bottom:8px}.checkpoint small{display:block;margin:7px 0;opacity:1;font-size:12px}.checkpoint button{margin-top:14px}.checkpoint .milestone-reward{margin-bottom:12px;font-size:22px}.exception-note{font-size:12px!important;line-height:1.4!important;margin-bottom:14px!important}.equation-block{padding:16px 10px;border-bottom:1px solid #ffffff25;text-align:center}.equation-block span{display:block;font-size:12px;opacity:.8}.equation-block strong{display:block;font-size:19px;margin:7px 0}.equation-block b{display:block;font-size:25px;color:#c6f1d3}.total-equation{margin:20px 0;font-size:14px}.total-equation strong{display:block;font-size:27px;margin-top:7px}.tradeoffs{display:grid;grid-template-columns:1fr 1fr;gap:14px;text-align:left;margin:16px 0}.tradeoffs>div{padding:12px;background:#ffffff10;border-radius:10px}.tradeoffs b{display:block;margin-bottom:10px;font-size:18px}.tradeoffs span{display:block;font-size:12px;line-height:1.5;margin-top:4px}.elasticity,.tradeoff-note{font-size:13px!important;line-height:1.45!important;margin-bottom:15px!important}.cash-arrival{font-size:13px;background:#d8f5df;color:#126136;padding:10px 12px;border-radius:9px;margin-bottom:14px}.cash-source{margin-bottom:16px}.cash-source strong{display:block;font-size:22px}.cash-source small{display:block;margin-top:6px;font-size:12px}#basicResult>p{font-size:16px;line-height:1.5;margin:0 0 20px}#augustCash{text-align:left;background:#ffffff10;padding:11px;border-radius:10px;margin-bottom:18px;font-size:12px}#augustCash p{font-size:12px;margin:10px 0 0}.summary .modal-content{width:100%}#julyEquations,#julyTradeoffs,#basicResult{width:100%}@media(max-height:700px){.checkpoint .modal-content{margin-top:10vh;padding:16px}.equation-block{padding:10px 8px}.equation-block strong{font-size:17px}.equation-block b{font-size:22px}.total-equation{margin:12px 0}.tradeoffs{margin:10px 0}.summary h2{font-size:24px}.intro .modal-content>p{font-size:13px}.cash-source{margin-bottom:12px}.purchase-card{padding:12px}}

/* Stock label sits beside the rack, above and clear of the cashier. */
.rack-stock{transform:none;white-space:normal;text-align:center;font-size:9px;line-height:1.25;padding:4px 3px;border-radius:9px}
/* Level 4: monthly plan card and quiet-months summary. */
.plan-flow{padding:12px 14px}.plan-flow>div{font-size:13px}.plan-flow strong{font-size:17px}#planIn{color:#126136}#planWages{color:#8c2a1f}#plan .cash-arrival{width:100%}#plan .price-card small{margin-top:6px}#quietResult{width:100%}.quiet-lines{width:100%;margin:0 0 16px;text-align:left}.quiet-lines>div{display:flex;justify-content:space-between;align-items:baseline;padding:7px 0;border-bottom:1px solid #ffffff22;font-size:14px}.quiet-lines strong{font-size:17px}.quiet-lines .quiet-net{border-bottom:0}.quiet-lines .quiet-net strong{color:#c6f1d3;font-size:20px}#quietResult p{font-size:14px;line-height:1.45;margin:0 0 12px}#quietResult .quiet-next{font-size:12px;opacity:.85}#quietCash{font-size:34px}@media(max-height:700px){.plan-flow{padding:8px 12px}.plan-flow>div{padding:4px 0}.quiet-lines>div{padding:4px 0}#quietCash{font-size:28px}}
/* Phaser stage: the shop fills the whole screen; HUD floats over it. */
.game{position:relative}.shop{position:absolute;inset:0;flex:none}#stage{position:absolute;inset:0;overflow:hidden;background:#d5dce2;touch-action:manipulation}.shop #stage canvas{position:static;display:block;top:auto;left:auto;object-fit:initial}.rack-stock{transform:translateY(-50%)}#station{transform:translateX(-50%)}
/* Edge to edge on phones at any Safari page zoom; the 480px column is for desktops only.
   In the Home Screen app the shop starts below the status bar, over a band of wall blue. */
html,body{height:100%;overflow:hidden;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{background:#d5dce2}
.game{position:fixed;inset:0;width:100%;height:auto;min-height:0;max-height:none;margin:0;border-radius:0;box-shadow:none;background:#1685fd}
.game>.shop{top:env(safe-area-inset-top)}
@media (min-width:700px) and (min-height:600px){body{background:oklch(.91 .035 250)}.game{left:50%;right:auto;width:480px;top:20px;bottom:20px;transform:translateX(-50%);border-radius:20px;overflow:hidden;box-shadow:0 12px 60px oklch(.3 .08 250 / .15)}}
.first-action{padding-top:54px}.station .pointer{top:0}
/* Setup level and computed money lines. */
.intro-flow{font-size:13px!important;opacity:.85;margin-top:-8px!important}#setupResult{width:100%}#setupResult p{font-size:14px;line-height:1.45;margin:0 0 12px}#setupCash{font-size:34px}#bundleTitle{font-size:18px!important}
#bundleTitle{white-space:normal!important;line-height:1.25}
