@import url('https://fonts.googleapis.com/css2?family=Bricolage+Grotesque:opsz,wght@12..96,500;12..96,700;12..96,800&family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--ink:#572533;--cream:#fff9eb;--pink:#efa9bd;--yellow:#ffcf32;--muted:#876772}*{box-sizing:border-box}body{margin:0;background:var(--ink);color:var(--ink);font:14px/1.5 'DM Sans',Arial,sans-serif}button,select{font:inherit;color:inherit}button{cursor:pointer;border:1px solid #57253330;border-radius:10px;background:var(--cream);padding:10px 14px;min-height:44px;font-weight:600}button:hover:not(:disabled){background:#ffe8b4}button:disabled{opacity:.45;cursor:default}button:focus-visible,select:focus-visible,a:focus-visible,canvas:focus-visible{outline:3px solid #126e91;outline-offset:3px}button[aria-pressed=true]{background:var(--yellow);border-color:var(--ink)}[hidden]{display:none!important}h1,h2,p{margin:0}h1,h2,strong{font-family:'Bricolage Grotesque',Arial,sans-serif}h2{letter-spacing:-.04em;line-height:1.07}em{font-family:Georgia,serif;font-weight:400}.game-app{height:100dvh;min-height:650px;display:flex;flex-direction:column;overflow:hidden}.topbar{height:78px;flex-shrink:0;display:flex;align-items:center;gap:22px;padding:10px 26px;background:var(--cream);border-bottom:1px solid #57253320}.topbar img{width:95px;height:56px;object-fit:contain}.game-title{border-left:1px solid #57253330;padding-left:22px;display:flex;flex-direction:column}.game-title strong{font-size:24px;letter-spacing:-.05em;line-height:1.1}.game-title span{font-size:9px;letter-spacing:.16em;margin-top:5px}.top-actions{margin-left:auto;display:flex;gap:7px}.top-actions button{font-size:12px;background:transparent}.game-body{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:0}.world{position:relative;min-width:0;overflow:hidden;background:#b9d9d6}canvas{display:block;width:100%;height:100%;touch-action:none}.world-top{position:absolute;left:22px;right:22px;top:20px;display:flex;justify-content:space-between;gap:8px;pointer-events:none;font-size:10px;letter-spacing:.09em;font-weight:700}.live-pill{background:#fff9ebed;border:1px solid #57253330;border-radius:30px;padding:9px 14px;font-size:9px}.live-pill i{display:inline-block;width:7px;height:7px;border-radius:50%;background:#679676;margin-right:6px}.world-top>span:last-child{background:#572533;color:var(--cream);border-radius:30px;padding:9px 13px}.world-stats{position:absolute;top:76px;left:22px;display:flex;gap:6px;pointer-events:none}.world-stats>div{background:#fff9ebe8;border-radius:12px;padding:10px 17px;box-shadow:0 3px 12px #5725330b}.world-stats span{font-size:8px;letter-spacing:.08em;display:block}.world-stats strong{display:block;font-size:24px;letter-spacing:-.05em}.scene-hint{position:absolute;left:50%;bottom:115px;transform:translateX(-50%);background:#572533e8;color:var(--cream);padding:9px 19px;border-radius:30px;max-width:90%;text-align:center;font-size:12px;pointer-events:none;white-space:nowrap}.view-controls{position:absolute;bottom:42px;left:50%;transform:translateX(-50%);display:flex;gap:5px;background:#fff9ebef;border:1px solid #57253325;border-radius:18px;padding:6px;box-shadow:0 5px 18px #57253320;white-space:nowrap}.view-controls button{font-size:12px;border:0;background:transparent;padding:9px 13px}.view-controls button[aria-pressed=true]{background:var(--ink);color:var(--cream)}.world-help{position:absolute;bottom:16px;text-align:center;left:0;right:0;font-size:10px;font-weight:600;color:#572533}.loading{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;flex-direction:column;background:#ead5c7;gap:20px;z-index:4}.loading img{width:170px}.service-panel{background:var(--cream);overflow-y:auto;border-left:1px solid #57253325;padding:20px;scrollbar-width:thin}.ticket{background:#fff;border:1px solid #57253320;border-radius:15px;padding:16px;box-shadow:0 4px 0 #e8dacc}.ticket-top{display:flex;justify-content:space-between;font-size:9px;letter-spacing:.08em;font-weight:700;padding-bottom:14px;border-bottom:1px dashed #57253340}.customer-row{display:flex;gap:12px;align-items:center;margin:15px 0 12px}.customer-row>div:first-child{background:#e1e8b7;border-radius:50%;font-size:31px;width:48px;height:48px;text-align:center;flex-shrink:0}.customer-row h1{font-size:21px;letter-spacing:-.03em;line-height:1.15}.customer-row p{font-size:11px;color:var(--muted);margin-top:4px}.order{font-size:17px;line-height:1.5;font-weight:600}.queue-line{display:flex;justify-content:space-between;margin-top:15px;border-top:1px dashed #57253340;padding-top:12px;font-size:10px;color:var(--muted)}.recipe{padding:22px 0 0}.recipe-heading{display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:.06em;font-weight:700}.recipe-heading button{font-size:10px;border:0;background:transparent;padding:5px;min-height:32px;text-decoration:underline}.steps{display:flex;justify-content:space-between;list-style:none;padding:0;margin:16px 0 22px;gap:7px}.steps li{border-radius:9px;background:#eee7d9;text-align:center;flex:1;padding:7px 2px;font-weight:700;color:#947a79}.steps span{display:block;font-size:9px;font-weight:500}.steps li.current{background:var(--ink);color:var(--cream)}.steps li.done{background:#dbe6bd;color:var(--ink)}.recipe h2{font-size:27px}.recipe #step-help{font-size:12px;color:var(--muted);margin:8px 0 15px;min-height:36px}.flavours{display:grid;grid-template-columns:1fr 1fr;gap:8px}.flavours button{padding:5px 8px 10px;border-radius:12px;font-size:11px;background:#fff;border-color:#57253325;position:relative}.flavours img{width:100%;height:70px;object-fit:contain;display:block}.flavours button[aria-pressed=true]{background:#fff0b0;border:2px solid #572533;padding:4px 7px 9px}.finishes{display:flex;gap:7px;flex-wrap:wrap}.finishes button{font-size:12px;flex:1;padding:10px;white-space:nowrap}.tray{padding:12px 0;font-size:11px;color:var(--muted)}.primary{background:var(--ink);color:var(--cream);border:0;width:100%;font-size:14px;padding:15px 18px;border-radius:12px;box-shadow:0 4px 0 #35121b;font-weight:700}.primary:hover:not(:disabled){background:#7d394c;color:#fff}.primary:disabled{box-shadow:none}#status{font-size:12px;line-height:1.6;margin-top:17px;min-height:38px}.fine-print{font-size:10px;line-height:1.6;color:#8b7579;margin-top:20px;padding-top:14px;border-top:1px solid #57253320}.prep-meter{background:#e7ded0;border-radius:30px;overflow:hidden;height:9px;margin:18px 0}.prep-meter>div{height:100%;width:0;background:#81a587;transition:width .1s linear}.overlay{position:fixed;inset:78px 0 0;background:#44203166;backdrop-filter:blur(5px);z-index:10;display:flex;align-items:center;justify-content:center;padding:24px;overflow:auto}.intro-card,.small-card{background:var(--cream);border:2px solid var(--ink);border-radius:25px;padding:28px 36px;text-align:center;width:min(480px,100%);box-shadow:8px 8px 0 #57253338}.intro-card>img{width:125px;height:75px;object-fit:contain;margin:14px auto;display:block}.intro-tag{font-size:9px;letter-spacing:.18em;font-weight:700}.intro-card h2{font-size:39px}.intro-card>p{font-size:13px;line-height:1.7;margin:15px 0}.intro-features{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin:18px 0}.intro-features span{font-size:10px;background:#e4eacb;border-radius:30px;padding:6px 10px}.intro-card label{display:block;text-align:left;font-size:11px;margin:20px 0 6px;font-weight:700}select{width:100%;background:#fff;border:1px solid #57253345;padding:11px;border-radius:10px;min-height:44px}.intro-card .primary{margin-top:12px}.intro-card .intro-tip{font-size:10px;margin:15px 0 0;color:var(--muted)}.small-card h2{font-size:38px;margin:18px 0}.small-card p{margin:15px 0;line-height:1.7}.small-card .primary{margin-top:15px}.small-card>button:last-child:not(.primary){margin-top:14px;background:transparent;border:0;font-size:12px}.result-star{font-size:65px;color:#cc9e05;margin:12px 0}
@media(max-width:1050px){.game-body{grid-template-columns:minmax(0,1fr) 325px}.service-panel{padding:15px}.world-stats>div{padding:9px 12px}.world-stats strong{font-size:20px}.world-top{left:14px;right:14px}.world-stats{left:14px}.live-pill{font-size:7px}.topbar{padding:10px 18px}.game-title strong{font-size:21px}}
@media(max-width:740px){.game-app{height:auto;min-height:100dvh;overflow:visible}.topbar{height:68px;padding:6px 12px;gap:10px;position:sticky;top:0;z-index:6}.topbar img{width:70px;height:47px}.game-title{padding-left:10px}.game-title strong{font-size:18px}.game-title span{display:none}.top-actions{gap:1px}.top-actions button{font-size:10px;padding:8px;min-height:44px}#fullscreen{display:none}.game-body{display:flex;flex-direction:column}.world{height:51dvh;min-height:350px}.service-panel{overflow:visible;padding:18px;border-left:0}.ticket{padding:14px}.customer-row{margin:12px 0}.order{font-size:16px}.world-top{top:12px;left:12px;right:12px}.world-top .live-pill{max-width:70%;font-size:7px;padding:8px}.world-top>span:last-child{font-size:8px;padding:8px}.world-stats{top:55px;left:12px;gap:5px}.world-stats>div{padding:7px 10px}.world-stats span{font-size:7px}.world-stats strong{font-size:18px}.view-controls{bottom:28px;padding:4px;border-radius:12px}.view-controls button{font-size:10px;padding:7px 10px;min-height:36px}.world-help{bottom:7px;font-size:8px}.scene-hint{bottom:82px;font-size:10px;padding:7px 12px}.flavours{grid-template-columns:repeat(4,1fr);gap:6px}.flavours button{font-size:10px;padding:5px}.flavours img{height:52px}.recipe #step-help{min-height:0}.overlay{inset:68px 0 0;padding:16px}.intro-card{padding:20px 23px}.intro-card h2{font-size:33px}.intro-card>img{width:90px;height:50px;margin:10px auto}.intro-card>p{margin:10px 0;font-size:12px}.intro-features{margin:12px 0;gap:5px}.intro-features span{font-size:8px;padding:5px 8px}.intro-card label{margin-top:12px}.intro-card .intro-tip{font-size:9px}.fine-print{margin-top:16px}.steps{margin:12px 0 18px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

@media(max-width:740px){.world{position:sticky;top:68px;z-index:2;height:43dvh;min-height:290px;box-shadow:0 3px 12px #57253325}.service-panel{position:relative}.scene-hint{max-width:95%;white-space:normal;line-height:1.3}.world-help{background:#b9d9d6a0}}
