:root{color:#f9f2df;font-synthesis:none;background:#15111a;font-family:Trebuchet MS,Avenir Next,ui-rounded,system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;min-height:100%;margin:0}body{background:#15111a;min-height:100dvh;overflow-x:hidden}button{font:inherit;-webkit-tap-highlight-color:transparent}.game-shell{--ink:#17121d;--paper:#fff6de;--coral:#ff5c89;--mint:#2ee5d1;--sun:#ffdb6a;isolation:isolate;background:radial-gradient(circle at 50% 10%,#30274c 0,#17121d 49%,#0c0a10 100%);min-height:100dvh;position:relative;overflow:hidden}.grain{z-index:-1;pointer-events:none;opacity:.22;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.36'/%3E%3C/svg%3E");position:absolute;inset:0}.top-bar{z-index:5;inset:max(14px, env(safe-area-inset-top)) 18px auto;pointer-events:none;justify-content:space-between;align-items:flex-start;gap:16px;display:flex;position:absolute}.brand{color:var(--paper);text-shadow:0 2px 10px #0d0914;align-items:center;gap:10px;display:flex}.brand-badge{color:#2a1830;background:var(--sun);border:2px solid #fff1aa;border-radius:13px;place-items:center;width:42px;height:42px;font:15px/1 Archivo Black,sans-serif;display:grid;transform:rotate(-7deg);box-shadow:0 5px #b27635,0 0 22px #ffce55a8}.brand b{letter-spacing:.06em;font:15px/1 Archivo Black,sans-serif;display:block}.brand small,.score-strip small{color:#d3c9e6;letter-spacing:.12em;margin-top:4px;font:9px/1 DM Mono,monospace;display:block}.score-strip{-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#201a2ddc;border:1px solid #6d608c;border-radius:14px;align-items:stretch;min-width:171px;display:flex;overflow:hidden;box-shadow:0 8px 28px #08060e7a}.score-strip>div{min-width:82px;padding:8px 11px 9px}.score-strip i{background:#615676;width:1px}.score-strip b{color:#fff2ba;margin-top:4px;font:16px/1 Archivo Black,sans-serif;display:block}.score-strip b.danger{color:#ff759e;animation:.72s ease-in-out infinite alternate alert}.score-strip em{color:#c8bddc;font:9px/1 DM Mono,monospace}.order-card{z-index:4;color:#2b2432;background:var(--paper);clip-path:polygon(0 0,100% 0,100% 95%,93% 100%,0 98%);border-radius:4px 4px 17px;width:min(275px,100vw - 36px);padding:14px 15px 13px;position:absolute;top:89px;left:18px;transform:rotate(-1.3deg);box-shadow:0 15px 30px #08060e80}.ticket-pins{justify-content:space-between;display:flex;position:absolute;inset:-7px 18px auto}.ticket-pins i{background:#ff5c89;border:2px solid #ffe5ac;border-radius:50%;width:12px;height:12px;box-shadow:0 2px 2px #6a3048}.ticket-top{letter-spacing:.11em;border-bottom:2px dashed #d8c9a7;justify-content:space-between;align-items:center;padding-bottom:9px;font:10px/1 DM Mono,monospace;display:flex}.ticket-top b{color:#fff;background:var(--coral);padding:4px 6px;font:10px/1 Archivo Black,sans-serif;transform:rotate(3deg)}.customer{align-items:center;gap:9px;margin:10px 0;display:flex}.customer>span{background:#2a2433;border-radius:50%;place-items:center;width:36px;height:36px;font-size:21px;display:grid}.customer small{color:#82758c;font:9px/1 DM Mono,monospace;display:block}.customer b{margin-top:3px;font:13px/1 Archivo Black,sans-serif;display:block}.ticket-items{grid-template-columns:repeat(3,1fr);gap:6px;display:grid}.ticket-items>div{text-align:center;background:#fffbeed0;border:1px dashed #b5a682;border-radius:8px;min-height:51px;padding:6px 3px;position:relative}.ticket-items span{filter:drop-shadow(0 2px 1px #a6773e54);font-size:18px;display:block}.ticket-items b{color:#5f5264;text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font:8px/1.15 DM Mono,monospace;display:block;overflow:hidden}.ticket-items .done{color:#78976f;opacity:.74;background:#e3f0d8;border-color:#7aaf7a}.ticket-items i{color:#43804f;font:14px/1 Archivo Black,sans-serif;position:absolute;top:2px;right:3px}.game-stage{width:100%;height:min(68dvh,715px);min-height:550px;position:relative}.kitchen-canvas{touch-action:none;inset:0;width:100%!important;height:100%!important;position:absolute!important}.location-pill,.held-card,.status-message,.kitchen-key{z-index:3;position:absolute}.location-pill{color:#f2ecff;letter-spacing:.07em;white-space:nowrap;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#211a2cdd;border:1px solid #625777;border-radius:999px;align-items:center;gap:7px;max-width:calc(100% - 36px);padding:8px 12px;font:10px/1 DM Mono,monospace;display:flex;bottom:13px;left:50%;transform:translate(-50%);box-shadow:0 6px 18px #07040c70}.location-pill span{border-radius:50%;width:8px;height:8px;box-shadow:0 0 10px}.held-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#211a2cdd;border:1px solid #726688;border-radius:13px;align-items:center;gap:7px;min-width:152px;padding:7px 10px 7px 7px;display:flex;bottom:20px;right:18px;box-shadow:0 6px 18px #07040c70}.held-card>span{background:#392e4b;border-radius:9px;place-items:center;width:34px;height:34px;font-size:20px;display:grid}.held-card small{color:#bfb3d0;letter-spacing:.09em;font:8px/1 DM Mono,monospace;display:block}.held-card b{color:#fff0bd;text-transform:capitalize;margin-top:4px;font-size:11px;display:block}.status-message{color:#fff7e6;text-align:center;background:#17111dd5;border-radius:10px;max-width:min(420px,100% - 38px);padding:8px 11px;font-size:11px;font-weight:700;bottom:52px;left:50%;transform:translate(-50%);box-shadow:0 4px 20px #05030ba6}.kitchen-key{color:#c6b8d8;letter-spacing:.06em;background:#20192bc9;border:1px solid #5d5471;border-radius:9px;align-items:center;gap:6px;padding:7px 9px;font:8px/1 DM Mono,monospace;display:flex;top:88px;right:18px}.kitchen-key b{color:#ffedb6;font-weight:500}.kitchen-key i{background:#655a74;width:1px;height:10px}.touch-controls{z-index:7;right:0;bottom:max(15px, env(safe-area-inset-bottom));pointer-events:none;justify-content:space-between;align-items:end;padding:0 20px;display:flex;position:absolute;left:0}.d-pad,.action-button{pointer-events:auto}.d-pad{-webkit-user-select:none;user-select:none;justify-items:center;gap:2px;display:grid}.d-pad>div{align-items:center;gap:2px;display:flex}.d-pad-center{color:#baabce;place-items:center;width:41px;height:41px;font-size:16px;display:grid}.move-button{color:#fff0bd;touch-action:none;background:linear-gradient(145deg,#423754,#251d32);border:1px solid #8e7ca7;border-radius:12px;place-items:center;width:42px;height:42px;padding:0;font-size:15px;display:grid;box-shadow:0 5px #130d1b,0 9px 17px #07040c85}.move-button:active{background:#5a486e;transform:translateY(4px);box-shadow:0 1px #130d1b}.action-button{color:#251d24;text-align:left;cursor:pointer;touch-action:manipulation;background:linear-gradient(135deg,#ffdf65,#ff9d4e);border:2px solid #fff2b2;border-radius:19px 19px 8px;width:min(182px,44vw);min-height:75px;padding:9px 13px 10px;box-shadow:0 6px #b65742,0 13px 23px #07040c86,0 0 24px #ffbe5b7d}.action-button:active{transform:translateY(4px);box-shadow:0 2px #b65742,0 6px 13px #07040c86}.action-button small{color:#875035;letter-spacing:.09em;font:9px/1 DM Mono,monospace;display:block}.action-button b{text-transform:uppercase;margin:6px 28px 0 0;font:13px/1.05 Archivo Black,sans-serif;display:block}.action-button>span{font:22px/1 Archivo Black,sans-serif;position:absolute;bottom:16px;right:17px}.start-overlay{z-index:20;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:radial-gradient(circle at 50% 35%,#3a2d54c4,#100b17e8 72%);place-items:center;padding:22px;display:grid;position:fixed;inset:0}.start-panel{text-align:center;background:linear-gradient(145deg,#302640,#1d1728);border:1px solid #7d6a91;border-radius:26px 26px 4px;width:min(530px,100%);padding:29px clamp(21px,5vw,44px) 25px;box-shadow:0 30px 80px #000000a8,inset 0 1px #ffffff18}.order-stamp{color:#f6efff;letter-spacing:.18em;border:2px solid #ff7da5;margin-bottom:14px;padding:7px 10px;font:10px/1 DM Mono,monospace;display:inline-block;transform:rotate(-3deg)}.start-panel h1{color:#fff0bd;letter-spacing:-.05em;text-wrap:balance;max-width:440px;margin:0 auto;font:clamp(29px,6vw,54px)/.98 Archivo Black,sans-serif}.start-panel p{color:#d0c5df;max-width:420px;margin:16px auto 19px;font-size:13px;line-height:1.65}.mini-tutorial{color:#cdc1dd;letter-spacing:.08em;justify-content:center;gap:12px;margin-bottom:22px;font:9px/1 DM Mono,monospace;display:flex}.mini-tutorial span{align-items:center;gap:5px;display:flex}.mini-tutorial b{color:#2a1d2d;background:#2ee5d1;border-radius:50%;place-items:center;width:19px;height:19px;font-size:10px;display:grid}.start-button{color:#321d28;cursor:pointer;background:#ff5c89;border:2px solid #fff5bc;border-radius:14px;padding:14px 16px;font:14px/1 Archivo Black,sans-serif;box-shadow:0 5px #9b3958,0 10px 20px #08040e6e}.start-button:active{transform:translateY(3px);box-shadow:0 2px #9b3958}.start-button span{margin-left:11px}.start-panel>small{color:#9688a9;letter-spacing:.06em;margin-top:16px;font:9px/1 DM Mono,monospace;display:block}@keyframes alert{0%{transform:scale(1)}to{text-shadow:0 0 12px #ff4a86;transform:scale(1.08)}}@media (width<=700px){.top-bar{inset-right:12px;inset-left:12px}.brand b{font-size:12px}.brand-badge{width:35px;height:35px;font-size:13px}.score-strip{min-width:145px}.score-strip>div{min-width:70px;padding:7px 8px}.score-strip b{font-size:14px}.order-card{width:min(228px,100vw - 24px);padding:11px 11px 10px;top:66px;left:12px}.customer{margin:7px 0}.customer>span{width:30px;height:30px;font-size:17px}.ticket-items>div{min-height:44px}.ticket-items span{font-size:16px}.game-stage{height:73dvh;min-height:520px}.kitchen-key{display:none}.status-message{font-size:10px;bottom:62px}.held-card{min-width:128px;bottom:12px;right:10px}.held-card>span{width:30px;height:30px;font-size:17px}.touch-controls{padding:0 12px}.action-button{width:min(164px,45vw);min-height:67px}.action-button b{font-size:11px}.move-button{width:39px;height:39px}.d-pad-center{width:38px;height:38px}.start-panel{padding:25px 22px 21px}.start-panel p{font-size:12px}.mini-tutorial{gap:8px}}@media (height<=700px) and (orientation:landscape){.game-stage{height:100dvh;min-height:440px}.order-card{transform-origin:0 0;top:64px;transform:scale(.85)rotate(-1.3deg)}.top-bar{transform-origin:0 0;transform:scale(.9)}.touch-controls{bottom:10px}.start-panel{max-width:570px;padding:18px 28px}.start-panel h1{font-size:32px}.start-panel p{margin:8px auto 11px}.mini-tutorial{margin-bottom:12px}}
