@import"https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap";:root{--bg-dark: #1a1c2c;--bg-medium: #2c3e50;--table-green: #2d5a27;--pixel-dark: #1a1c2c;--pixel-light: #f4f4f4;--pixel-gray: #6a6a6a;--pixel-red: #e74c3c;--pixel-green: #27ae60;--pixel-blue: #3498db;--pixel-yellow: #f1c40f;--pixel-orange: #e67e22;--card-bg: #fff}*,*:before,*:after{box-sizing:border-box}html{font-size:16px}body{margin:0;padding:0;font-family:"Press Start 2P",monospace;background:var(--bg-dark);color:var(--pixel-light);min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:none;-moz-osx-font-smoothing:none;image-rendering:pixelated}#root{min-height:100vh;width:100%}h1,h2,h3,h4,h5,h6{font-family:"Press Start 2P",monospace;line-height:1.4}p{line-height:1.6}button{font-family:"Press Start 2P",monospace}:focus-visible{outline:3px solid var(--pixel-yellow);outline-offset:2px}::-webkit-scrollbar{width:12px}::-webkit-scrollbar-track{background:var(--bg-dark)}::-webkit-scrollbar-thumb{background:var(--pixel-gray);border:2px solid var(--bg-dark)}::-webkit-scrollbar-thumb:hover{background:var(--pixel-light)}@media(max-width:480px){html{font-size:14px}}.screen{user-select:none;-webkit-user-select:none}@supports (padding: env(safe-area-inset-bottom)){.screen{padding-bottom:calc(20px + env(safe-area-inset-bottom))}}.pixel-btn{font-family:"Press Start 2P",monospace;border:3px solid var(--pixel-dark);cursor:pointer;text-transform:uppercase;transition:transform .1s,box-shadow .1s;box-shadow:4px 4px 0 var(--pixel-dark)}.pixel-btn:active{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--pixel-dark)}.pixel-btn:disabled{opacity:.5;cursor:not-allowed}.pixel-btn-small{padding:8px 12px;font-size:8px}.pixel-btn-medium{padding:12px 20px;font-size:10px}.pixel-btn-large{padding:16px 32px;font-size:12px}.pixel-btn-primary{background:var(--pixel-yellow);color:var(--pixel-dark)}.pixel-btn-secondary{background:var(--pixel-light);color:var(--pixel-dark)}.pixel-btn-danger{background:var(--pixel-red);color:var(--pixel-light)}.screen{min-height:100vh;padding:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;text-align:center}.title-screen{background:linear-gradient(180deg,var(--bg-dark) 0%,var(--bg-medium) 100%);justify-content:flex-start;padding-top:50px;gap:18px}.title-logo{display:flex;align-items:center;gap:12px;flex-wrap:wrap;justify-content:center}.title-logo h1{font-size:clamp(16px,5vw,28px);color:var(--pixel-yellow);text-shadow:3px 3px 0 var(--pixel-dark);margin:0}.title-emoji{font-size:clamp(32px,10vw,48px)}.title-subtitle{font-size:10px;color:var(--pixel-light);max-width:280px}.title-meal{font-size:48px;display:flex;gap:16px}.mode-screen h2{color:var(--pixel-yellow)}.mode-options{display:flex;gap:16px;flex-wrap:wrap;justify-content:center}.mode-card{background:var(--pixel-light);border:3px solid var(--pixel-dark);padding:20px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:8px;box-shadow:4px 4px 0 var(--pixel-dark);transition:transform .1s,box-shadow .1s;font-family:"Press Start 2P",monospace}.mode-card:active{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--pixel-dark)}.mode-icon{font-size:32px}.mode-title{font-size:10px;color:var(--pixel-dark)}.mode-desc{font-size:8px;color:var(--pixel-gray)}.setup-screen h2{color:var(--pixel-yellow)}.player-inputs{display:flex;flex-direction:column;gap:12px;width:100%;max-width:280px}.player-input-row{display:flex;gap:8px;align-items:center}.pixel-input{flex:1;padding:12px;font-family:"Press Start 2P",monospace;font-size:10px;border:3px solid var(--pixel-dark);background:var(--pixel-light);box-shadow:inset 2px 2px 0 var(--pixel-gray)}.pixel-input:focus{outline:none;border-color:var(--pixel-yellow)}.remove-btn{width:36px;height:36px;background:var(--pixel-red);color:var(--pixel-light);border:2px solid var(--pixel-dark);font-size:14px;cursor:pointer}.setup-buttons{display:flex;gap:12px}.ingredient-screen{justify-content:flex-start;padding-top:16px}.player-header{display:flex;justify-content:space-between;width:100%;max-width:360px;padding:12px;background:var(--bg-dark);border:2px solid var(--pixel-dark)}.player-name{color:var(--pixel-yellow);font-size:12px}.token-count{color:var(--pixel-light);font-size:12px}.ingredient-screen h2{color:var(--pixel-yellow);margin:8px 0;font-size:14px}.ingredient-hint{font-size:8px;color:var(--pixel-light);margin:0}.ingredient-categories{width:100%;max-width:360px;display:flex;flex-direction:column;gap:16px}.ingredient-category h3{font-size:10px;color:var(--pixel-light);text-align:left;margin:0 0 8px;text-transform:capitalize}.ingredient-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.ingredient-btn{background:var(--pixel-light);border:2px solid var(--pixel-dark);padding:8px 4px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;font-family:"Press Start 2P",monospace;position:relative;box-shadow:2px 2px 0 var(--pixel-dark)}.ingredient-btn:not(.owned):active{transform:translate(1px,1px);box-shadow:1px 1px 0 var(--pixel-dark)}.ingredient-btn.owned{background:var(--pixel-green);cursor:default}.ingredient-emoji{font-size:24px}.ingredient-name{font-size:6px;color:var(--pixel-dark)}.owned-check{position:absolute;top:2px;right:2px;font-size:10px;color:var(--pixel-dark)}.wager-screen h2{color:var(--pixel-yellow)}.wager-prize{background:var(--bg-dark);padding:16px;border:2px solid var(--pixel-dark)}.wager-prize p{margin:0 0 8px;font-size:10px;color:var(--pixel-light)}.prize-display{display:flex;align-items:center;gap:12px;justify-content:center}.prize-emoji{font-size:40px}.prize-name{font-size:14px;color:var(--pixel-yellow)}.wager-control{display:flex;flex-direction:column;align-items:center;gap:12px}.wager-control>p{margin:0;font-size:10px;color:var(--pixel-light)}.wager-buttons{display:flex;align-items:center;gap:16px}.wager-adjust{width:48px;height:48px;font-size:24px;background:var(--pixel-light);border:3px solid var(--pixel-dark);cursor:pointer;font-family:"Press Start 2P",monospace;box-shadow:3px 3px 0 var(--pixel-dark)}.wager-adjust:disabled{opacity:.5;cursor:not-allowed}.wager-adjust:not(:disabled):active{transform:translate(1px,1px);box-shadow:2px 2px 0 var(--pixel-dark)}.wager-amount{font-size:20px;color:var(--pixel-yellow);min-width:80px}.wager-hint{font-size:8px;color:var(--pixel-gray);line-height:1.8}.wager-actions{display:flex;gap:12px}.playing-screen{justify-content:flex-start;padding-top:14px;gap:10px}.game-header{display:flex;justify-content:space-between;width:100%;max-width:360px;padding:8px 12px;background:var(--bg-dark);border:2px solid var(--pixel-dark)}.wager-info{font-size:12px;color:var(--pixel-light)}.hands-container{display:flex;flex-direction:column;gap:16px;width:100%;max-width:360px}.hand{background:var(--table-green);padding:11px;border:3px solid var(--pixel-dark);border-radius:8px}.hand h3{margin:0 0 10px;font-size:12px;color:var(--pixel-light)}.cards{display:flex;gap:8px;justify-content:center;flex-wrap:wrap}.action-buttons{display:flex;gap:16px;margin-top:12px;padding-bottom:16px}.result-screen{gap:16px}.result-banner{padding:20px;width:100%;max-width:320px;border:3px solid var(--pixel-dark)}.result-banner.win{background:var(--pixel-green)}.result-banner.lose{background:var(--pixel-red)}.result-banner.push{background:var(--pixel-blue)}.result-emoji{font-size:48px}.result-banner h2{margin:8px 0 0;font-size:18px;color:var(--pixel-light);text-shadow:2px 2px 0 var(--pixel-dark)}.result-hands{display:flex;gap:16px;flex-wrap:wrap;justify-content:center}.result-hand{background:var(--table-green);padding:8px;border:2px solid var(--pixel-dark);font-size:10px;color:var(--pixel-light)}.cards-small{gap:4px;margin-top:8px}.result-outcome{font-size:12px;color:var(--pixel-yellow)}.result-outcome p{margin:0}.tokens-remaining{font-size:14px;color:var(--pixel-light)}.pass-screen{background:var(--bg-dark)}.pass-content{display:flex;flex-direction:column;align-items:center;gap:12px}.pass-emoji{font-size:64px;animation:shake .5s infinite}@keyframes shake{0%,to{transform:rotate(-5deg)}50%{transform:rotate(5deg)}}.pass-screen h2{font-size:14px;color:var(--pixel-light);margin:0}.next-player-name{font-size:20px;color:var(--pixel-yellow);margin:0}.pass-stats{display:flex;gap:16px;font-size:10px;color:var(--pixel-light)}.gameover-screen{background:linear-gradient(180deg,#1a0a0a,#2a1515)}.gameover-content{display:flex;flex-direction:column;align-items:center;gap:12px}.gameover-emoji{font-size:64px}.gameover-screen h2{font-size:24px;color:var(--pixel-red);margin:0;text-shadow:2px 2px 0 var(--pixel-dark)}.gameover-screen p{font-size:12px;color:var(--pixel-light);margin:0}.final-stats{font-size:10px;color:var(--pixel-gray)}.victory-screen{background:linear-gradient(180deg,#0a1a0a,#153015)}.victory-content{display:flex;flex-direction:column;align-items:center;gap:16px}.victory-meal{font-size:48px;display:flex;gap:16px;animation:bounce .5s infinite alternate}@keyframes bounce{0%{transform:translateY(0)}to{transform:translateY(-10px)}}.victory-screen h2{font-size:28px;color:var(--pixel-yellow);margin:0;text-shadow:3px 3px 0 var(--pixel-dark)}.winner-name{font-size:14px;color:var(--pixel-green);margin:0}.victory-ingredients{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;max-width:300px}.victory-ingredient{font-size:24px}.final-tokens{font-size:12px;color:var(--pixel-light)}.card{width:60px;height:84px;border:3px solid var(--pixel-dark);border-radius:4px;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:"Press Start 2P",monospace;font-size:14px;box-shadow:4px 4px 0 var(--pixel-dark)}.card-small{width:45px;height:63px;font-size:10px;box-shadow:2px 2px 0 var(--pixel-dark)}.card-front{background:var(--card-bg)}.card-front[data-color=red]{color:var(--pixel-red)}.card-front[data-color=black]{color:var(--pixel-dark)}.card-back{background:var(--pixel-blue);color:var(--pixel-light);font-size:24px}.card-small.card-back{font-size:18px}.card-rank{font-size:inherit}.card-suit{font-size:1.2em;margin-top:2px}.app{min-height:100vh;width:100%}
