@font-face{font-family:CherryBombOne;src:url(/assets/CherryBombOne-Regular-DtN-sr22.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#213547;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:block;min-width:320px;min-height:100vh;background:#fff}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.menu-root{position:relative;height:100vh;height:100dvh;background:#fff;overflow:hidden}.menu-background{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;opacity:.3}.menu-background-kitchen{width:100%;height:100%;object-fit:cover;object-position:center}.music-toggle{position:fixed;top:16px;right:16px;z-index:100;background:transparent;border:none;cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;gap:8px;transition:transform .2s ease}.music-toggle-text{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:16px;font-weight:700;color:#1f2328}.music-toggle:hover{transform:scale(1.1)}.music-toggle:active{transform:scale(.95)}.menu-stage{position:relative;z-index:1;height:100vh;height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px}.menu-title{text-align:center;margin-top:16px;margin-bottom:25px}.menu-title-row{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:8px}.menu-title-icon{color:#000}.menu-title-text{font-family:CherryBombOne,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";color:#000;font-weight:800;font-size:clamp(78px,8vw,96px);transform:rotate(-2deg);margin:0}.menu-playfield{position:relative}.menu-faces{position:absolute;width:min(800px,70vw,80vh);height:min(925px,81vw,92.5vh);left:50%;top:35%;transform:translate(-50%,-50%);pointer-events:none;padding:min(80px,6vw)}.face{position:absolute;width:min(138px,11vw);height:auto;object-fit:contain;object-position:center}.face-top{top:0;left:50%;transform:translate(-50%)}.face-top-right{top:32px;right:32px;transform:rotate(45deg)}.face-right{right:0;top:50%;transform:translateY(-50%)}.face-bottom-right{bottom:32px;right:32px;transform:rotate(-45deg)}.face-bottom{bottom:0;left:50%;transform:translate(-50%)}.face-bottom-left{bottom:32px;left:32px;transform:rotate(45deg)}.face-left{left:0;top:50%;transform:translateY(-50%)}.face-top-left{top:32px;left:32px;transform:rotate(-45deg)}.menu-pot{position:relative;display:flex;align-items:center;justify-content:center}.pot-img{width:clamp(320px,50vw,600px);height:clamp(320px,50vw,600px)}.menu-buttons{position:absolute;top:-25px;left:50%;transform:translate(-50%) rotate(-2deg);display:flex;flex-direction:row;align-items:center;justify-content:center;gap:20px;width:max-content}.menu-btn-stack{display:flex;flex-direction:row;gap:20px}.menu-btn{position:relative;border:4px solid #000;padding:12px 24px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:18px;font-weight:800;transition:transform .2s ease,box-shadow .2s ease;box-shadow:0 0 #0000;cursor:pointer}.menu-btn:hover{transform:rotate(2deg);box-shadow:0 8px 24px #00000026}.menu-btn:active{transform:scale(.95)}.btn-light{background:#fff;color:#000}.btn-dark{background:#000;color:#fff}.btn-content{display:inline-flex;align-items:center;justify-content:center;gap:8px}.btn-icon{margin-right:8px}.btn-corner{position:absolute;width:12px;height:12px;background:#fff;border:2px solid #000;transform:rotate(45deg)}.btn-corner.alt{background:#000;border-color:#fff}.corner-tr{top:-8px;right:-8px}.corner-bl{bottom:-8px;left:-8px}.music-container{position:absolute;top:25px;left:25%;transform:translate(-50%) rotate(-2deg);display:flex;flex-direction:row;align-items:center;justify-content:center;gap:20px;width:max-content}.corner.deco{position:absolute}.corner.deco.tl{top:16px;left:16px}.corner.deco.tr{top:16px;right:16px}.corner.deco.bl{bottom:16px;left:16px}.corner.deco.br{bottom:16px;right:16px}.corner-svg{stroke:#000;stroke-width:2;fill:none}.modal-backdrop{position:fixed;inset:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:10}.modal-label{display:block;font-weight:700;margin-top:8px;margin-bottom:6px}.modal-input{width:95%;border:2px solid #000;padding:10px;font-size:16px}.modal-radio{display:flex;gap:14px;align-items:center}.modal-error{color:#d00;font-weight:700;margin-top:8px}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:14px}@media(max-width:768px){.menu-root{overflow:hidden;position:fixed;width:100%;height:100%;top:0;left:0;touch-action:none}.menu-stage{justify-content:flex-start;padding-top:8px;overflow:hidden}.menu-title{position:fixed;top:8px;left:0;right:0;margin-bottom:8px;margin-top:8px;z-index:3}.menu-title-text{font-size:clamp(48px,12vw,78px)}.menu-faces{width:min(86vw,54vh);height:min(86vw,54vh);padding:min(48px,8vw)}.face{width:clamp(56px,12vw,90px);height:auto;object-fit:contain;object-position:center}.menu-pot{position:fixed;left:0;right:0;bottom:0;display:flex;justify-content:center;z-index:1}.pot-img{width:clamp(200px,60vw,320px);height:clamp(200px,60vw,320px)}.menu-buttons{position:fixed;inset:50% auto auto 50%;transform:translate(-50%,-50%);margin-top:0;z-index:2;flex-direction:column;gap:16px}.menu-btn-stack{flex-direction:column;gap:12px}.menu-faces{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);z-index:0}}.lobby-root{min-height:100vh;background:#fff;padding:20px;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";position:relative;overflow:hidden}.lobby-title-wrap{text-align:center;margin-bottom:30px;position:relative;z-index:1}.lobby-title{font-size:48px;font-weight:900;margin:0 0 10px;letter-spacing:2px;text-transform:uppercase;-webkit-text-stroke:2px black;color:#fff;text-shadow:4px 4px 0px black}.room-code{display:inline-block;background:#fff;border:3px solid black;padding:15px 40px;font-size:36px;font-weight:900;letter-spacing:6px;box-shadow:6px 6px #000;transform:rotate(-2deg);position:relative}.rc-dot{position:absolute;width:16px;height:16px;background:#000;border-radius:50%}.rc-dot.tl{top:-8px;left:-8px}.rc-dot.tr{top:-8px;right:-8px}.rc-dot.bl{bottom:-8px;left:-8px}.rc-dot.br{bottom:-8px;right:-8px}.players-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;max-width:500px;margin:0 auto 30px;position:relative;z-index:1}@media(min-width:769px){.players-grid{grid-template-columns:repeat(4,1fr);max-width:1000px;gap:20px}}.player-card{background:#fff;border:3px solid black;border-radius:15px;padding:15px;position:relative;box-shadow:4px 4px #000}.player-card.rot-neg{transform:rotate(-1deg)}.player-card.rot-pos{transform:rotate(1deg)}.player-card.empty{background:#f5f5f5;border-style:dashed;box-shadow:none}.player-card.you{border-color:#22c55e;box-shadow:0 0 0 4px #22c55e66,4px 4px #000}.avatar{width:80px;height:80px;margin:0 auto 8px;display:flex;align-items:center;justify-content:center}.avatar.empty{filter:grayscale(100%) opacity(.3)}.avatar-img{width:100%;height:100%;object-fit:contain}.avatar-placeholder{font-size:50px;color:#ccc}.player-name{font-size:16px;font-weight:700;text-align:center;margin-bottom:8px;color:#000;height:40px;display:flex;align-items:center;justify-content:center}.player-name.empty{color:#999;font-style:italic}.host-badge{position:absolute;top:-10px;right:-10px;background:#000;color:#fff;padding:5px 10px;font-size:12px;font-weight:700;border-radius:20px;border:2px solid white;box-shadow:0 2px 4px #0000004d;transform:rotate(15deg)}.status-bar{background:#000;color:#fff;padding:15px;border-radius:15px;text-align:center;font-weight:700;max-width:500px;margin:0 auto 20px;font-size:16px;position:relative;z-index:1}.actions{display:flex;flex-direction:column;gap:15px;max-width:500px;margin:0 auto;position:relative;z-index:1}.start-btn{background:#000;color:#fff;border:4px solid black;padding:20px;font-size:20px;font-weight:900;cursor:pointer;box-shadow:6px 6px #000;transform:rotate(1deg);transition:all .1s}.start-btn:disabled{opacity:.5;cursor:not-allowed}.leave-btn{background:#fff;border:3px solid #e74c3c;color:#e74c3c;padding:15px;font-size:16px;font-weight:700;cursor:pointer;border-radius:10px;transform:rotate(-1deg)}.lobby-corner{position:fixed;top:12px;padding:8px 12px;background:#fff;border:2px solid #000;font-weight:800;box-shadow:3px 3px #000;transform:rotate(-1deg);z-index:2}.lobby-corner.left{left:12px}.lobby-corner.right{right:12px}.modal-backdrop{position:fixed;inset:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:50}.modal{background:#fff;border:3px solid #000;box-shadow:8px 8px #000;padding:20px;width:90%;max-width:420px;transform:rotate(-1deg)}.modal-title{margin:0 0 12px;font-weight:900;font-size:22px}.modal-actions{display:flex;gap:12px;justify-content:center;margin-top:14px}.lobby-modal-btn{background:#000;color:#fff;border:4px solid #000;padding:12px 24px;font-weight:800;cursor:pointer;box-shadow:6px 6px #000;transform:rotate(1deg)}@media(max-width:640px){.lobby-root{padding:10px}.lobby-title{font-size:32px}.lobby-title-wrap{margin-bottom:20px}.room-code{font-size:24px;padding:10px 20px;letter-spacing:4px;box-shadow:4px 4px #000}.players-grid{gap:2px;margin-bottom:20px}.player-card{padding:8px;border-radius:12px;box-shadow:3px 3px #000;box-sizing:border-box}.player-card.empty{margin:0}.avatar{width:50px;height:50px;margin-bottom:6px}.avatar-placeholder{font-size:32px}.player-name{font-size:13px;margin-bottom:6px;height:30px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}.host-badge{top:-8px;right:-8px;padding:4px 8px;font-size:10px}.status-bar{padding:12px;font-size:14px;margin-bottom:15px}.actions{gap:12px}.start-btn{padding:15px;font-size:18px;box-shadow:4px 4px #000}.leave-btn{padding:12px;font-size:14px}.lobby-corner.right{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 10px}}@font-face{font-family:Cherry Bomb;src:url(/assets/CherryBombOne-Regular-DtN-sr22.ttf) format("truetype");font-weight:400;font-style:normal}.game-root{min-height:100vh;max-height:100vh;background:#fafafa;padding:20px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;position:relative;overflow-y:auto;box-sizing:border-box}.game-background{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:100%;height:100%;z-index:0;pointer-events:none;overflow:hidden}.game-background-soup{position:absolute;top:100%;left:50%;transform:translate(-50%,-50%);width:100vw;height:100vw;object-fit:contain;opacity:.08}.game-loading{display:flex;align-items:center;justify-content:center;height:100vh;font-size:24px;font-weight:700}.game-header{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;background:#fff;border:3px solid black;margin-bottom:20px;box-shadow:5px 5px #000;position:relative;z-index:1;opacity:.85}.game-header-left{display:flex;gap:20px;align-items:center}.game-title{font-size:24px;font-weight:700;text-transform:uppercase}.game-role{font-size:20px;display:flex;align-items:center;gap:12px}.role-chef{color:#2d7d2d;font-weight:700}.role-impasta{color:#c92a2a;font-weight:700}.game-timer{font-size:32px;font-weight:700;min-width:80px;text-align:center;padding:5px 15px;background:#000;color:#fff;border-radius:8px}.round-tracker{display:flex;justify-content:center;gap:20px;margin-bottom:30px;position:relative;z-index:1}.round-dot-container{position:relative;cursor:pointer}.round-dot{width:50px;height:50px;border:3px solid black;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;background:#fff;position:relative;opacity:.85}.round-dot.current{background:#fff59d;animation:pulse 1s infinite}.round-dot.success{background:#a5d6a7}.round-dot.failure{background:#ef9a9a}.threshold-marker{position:absolute;top:-5px;right:-5px;background:#000;color:#fff;font-size:12px;font-weight:700;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid white}.threshold-tooltip{position:absolute;bottom:-45px;left:50%;transform:translate(-50%);background:#000;color:#fff;padding:8px 12px;border-radius:4px;font-size:12px;white-space:nowrap;z-index:10000;pointer-events:none;animation:tooltipFadeIn .2s ease-out}.threshold-tooltip:before{content:"";position:absolute;top:-5px;left:50%;transform:translate(-50%);width:0;height:0;border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:6px solid black}@keyframes tooltipFadeIn{0%{opacity:0;transform:translate(-50%) translateY(-5px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.round-result-popup{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:9999;animation:popIn .5s cubic-bezier(.68,-.55,.265,1.55),fadeOut .8s ease-in 3.2s forwards;pointer-events:none}@keyframes popIn{0%{transform:translate(-50%,-50%) scale(0) rotate(-15deg);opacity:0}60%{transform:translate(-50%,-50%) scale(1.2) rotate(5deg)}to{transform:translate(-50%,-50%) scale(1) rotate(0);opacity:1}}@keyframes fadeOut{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-50%) scale(.8)}}.ambience-toggle{background:transparent;border:none;cursor:pointer;padding:4px 8px;display:flex;align-items:center;justify-content:center;gap:6px;transition:transform .2s ease}.ambience-toggle:hover{transform:scale(1.1)}.ambience-toggle:active{transform:scale(.95)}.music-toggle-text{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:14px;font-weight:700;color:#1f2328}.round-result{background:#fff;border:5px solid black;padding:50px 70px;font-size:72px;font-weight:700;text-align:center;box-shadow:10px 10px #000;font-family:Cherry Bomb,-apple-system,BlinkMacSystemFont,sans-serif;text-transform:uppercase}.round-result.success{background:#a5d6a7}.round-result.failure{background:#ef9a9a}.rotten-count{font-size:18px;margin-top:15px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-weight:400}.game-layout-wrapper{display:grid;grid-template-columns:1fr 2fr 1fr;gap:20px;position:relative;z-index:1;height:calc(100vh - 220px)}@media(max-width:1200px){.game-layout-wrapper{grid-template-columns:1fr;height:auto}}.game-info-panels{display:contents}.info-panel{background:#fff;border:3px solid black;padding:15px;box-shadow:4px 4px #000;opacity:.85;overflow-y:auto;display:flex;flex-direction:column}.info-panel-title{font-size:18px;font-weight:700;margin-bottom:15px;padding-bottom:10px;border-bottom:2px solid black;flex-shrink:0}.proponent-list{display:flex;flex-direction:column;gap:8px}.proponent-item{display:flex;align-items:center;gap:10px;padding:8px;background:#f5f5f5;border:2px solid black}.proponent-item.current{background:#fff59d;border-width:3px}.proponent-number{font-weight:700;min-width:25px;text-align:center;background:#000;color:#fff;padding:2px 8px}.proponent-name{flex:1;font-weight:700}.current-indicator{color:#2196f3;font-weight:700;font-size:14px}.no-history{text-align:center;padding:20px;color:#999;font-style:italic}.history-list{display:flex;flex-direction:column;gap:15px;flex:1;overflow-y:auto;min-height:0}.history-item{border:3px solid black;padding:12px;background:#fff}.history-item.success{border-left:8px solid #a5d6a7}.history-item.failure{border-left:8px solid #ef9a9a}.history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;padding-bottom:8px;border-bottom:2px solid #e0e0e0}.history-round{font-weight:700;font-size:16px}.history-result{font-weight:700;font-size:14px}.history-result.success{color:#2d7d2d}.history-result.failure{color:#c92a2a}.history-content{display:flex;gap:15px}.history-left,.history-right{flex:1;min-width:0}.history-proponent{margin-bottom:10px;font-size:14px}.history-proposal{margin-bottom:0}.proposal-label{font-size:13px;font-weight:700;margin-bottom:5px}.proposal-chefs{display:flex;gap:10px;flex-wrap:wrap}.mini-chef{display:flex;flex-direction:column;align-items:center;gap:5px}.mini-chef-avatar{width:75px;height:75px;object-fit:contain;border:2px solid black}.mini-chef-name{font-size:15px;font-weight:700}.history-votes{margin-top:0}.votes-label{font-size:24px;font-weight:700;margin-bottom:10px}.votes-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.vote-item{display:flex;justify-content:space-between;align-items:center;padding:0 9px;font-size:18px;border:2px solid black}.vote-item.approve{background:#c8e6c9}.vote-item.reject{background:#ffcdd2}.vote-item.pending{background:#f5f5f5}.vote-player{font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.vote-choice{font-size:24px;font-weight:700}.game-content{position:relative;z-index:1;overflow-y:auto;display:flex;flex-direction:column}.phase-container{background:#fff;border:3px solid black;padding:12px;box-shadow:6px 6px #000;opacity:.85;display:flex;flex-direction:column;flex:1;overflow:hidden}.phase-title{font-size:18px;font-weight:700;text-align:center;margin-bottom:12px;padding-bottom:8px;border-bottom:2px solid black;flex-shrink:0}.phase-title-with-rounds{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:12px;border-bottom:2px solid black;flex-shrink:0;gap:20px}.phase-title-text{font-size:22px;font-weight:700;flex:1;text-align:left}.phase-rounds{flex-shrink:0}.phase-rounds .round-tracker{margin-bottom:0;gap:12px}.players-selection-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-auto-rows:minmax(0,1fr);gap:8px;margin-bottom:10px;align-content:start;width:100%;max-width:100%;box-sizing:border-box;flex:1;min-height:0;overflow:hidden}@media(max-width:768px){.players-selection-grid{grid-template-columns:repeat(3,1fr);gap:10px}}@media(min-width:769px){.players-selection-grid{gap:6px}.player-select-card{padding:2px;border-width:2px}.player-select-card.selected{border-width:2px}.player-avatar{width:55%;margin-bottom:1px}.player-name{font-size:25px;line-height:1;padding:0}.player-name.impasta-name{font-size:25px}}.player-select-card{background:#fff;border:2px solid black;padding:3px;cursor:pointer;text-align:center;position:relative;transition:transform .2s;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;max-width:100%;max-height:100%;box-sizing:border-box;aspect-ratio:.9;overflow:hidden;min-width:0;min-height:0}.player-select-card:hover:not(.disabled){transform:translate(-1px,-1px);box-shadow:2px 2px #000;z-index:1}.player-select-card.selected{background:#fff59d;border-width:3px}.player-select-card.disabled{cursor:not-allowed;opacity:.6}.player-select-card.you{border-color:#2196f3}.player-avatar{width:60%;max-width:100%;height:auto;aspect-ratio:1;object-fit:contain;margin:0 auto 2px;flex-shrink:1}.player-name{font-size:25px;font-weight:700;word-wrap:break-word;line-height:1.05;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 1px;flex-shrink:1;min-height:0}.player-name.impasta-name{color:#c92a2a}.bottom-controls{display:flex;flex-direction:column;gap:8px;flex-shrink:0}@media(min-width:769px){.bottom-controls{flex-direction:row;align-items:stretch;gap:16px}.bottom-controls .rejection-counter{flex:1;max-width:50%}.bottom-controls .action-buttons{flex:1;margin-bottom:0;gap:12px}.bottom-controls .game-btn{flex:1;padding:12px 20px;font-size:15px;font-weight:900}}.action-buttons{display:flex;gap:8px;justify-content:center;margin-bottom:8px;flex-shrink:0}.game-btn{padding:8px 16px;font-size:13px;font-weight:700;font-family:inherit;border:2px solid black;background:#fff;cursor:pointer;text-transform:uppercase;transition:all .2s}.game-btn:hover:not(:disabled){transform:translate(-2px,-2px);box-shadow:4px 4px #000}.game-btn:active:not(:disabled){transform:translate(0);box-shadow:2px 2px #000}.game-btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:#fff59d}.btn-secondary{background:#e0e0e0}.vote-yes{background:#a5d6a7}.vote-no{background:#ef9a9a}.ingredient-healthy{background:#a5d6a7}.ingredient-rotten{background:#ef9a9a}.rejection-counter{padding:8px;background:#f5f5f5;border:2px solid black;flex-shrink:0}.rejection-label{text-align:center;font-size:14px;font-weight:700;margin-bottom:6px}.rejection-bar{position:relative;width:100%;height:24px;background:#fff;border:2px solid black;overflow:hidden}.rejection-fill{position:absolute;top:0;right:0;height:100%;background:#ef4444;transition:width .3s ease}.rejection-stop-icon{position:absolute;left:0;top:50%;transform:translateY(-50%);width:24px;height:24px;z-index:10;animation:rejectionFlash 1s ease-in-out infinite}.rejection-stop-icon svg{width:100%;height:100%}@keyframes rejectionFlash{0%,to{color:#fca5a5}50%{color:#dc2626}}.rejection-stop-icon svg path{fill:currentColor}.voting-layout{display:flex;flex-direction:row;gap:60px;margin-bottom:30px;align-items:flex-start;flex-wrap:nowrap}.voting-left{flex:1 1 auto;display:flex;flex-direction:column;gap:40px;min-width:0}.voting-right{flex:0 0 auto;width:400px;min-width:400px}.proponent-section{display:flex;flex-direction:column;align-items:center;gap:10px}.proponent-label{font-size:18px;font-weight:700}.proponent-chef{text-align:center}.proposed-chefs{display:flex;flex-direction:column;gap:20px;flex:1;min-height:0}.proposed-label{font-size:28px;font-weight:700;text-align:center}.proposed-chefs-list{display:flex;justify-content:center;align-items:flex-start;gap:40px;flex-wrap:wrap}.proposed-chef{text-align:center;display:flex;flex-direction:column;align-items:center}.chef-avatar{width:140px;height:140px;object-fit:contain;margin-bottom:10px}.chef-name{font-size:32px;font-weight:700;word-wrap:break-word;line-height:1.2;max-width:180px}.chef-name.impasta-name{color:#c92a2a}.vote-buttons{display:flex;gap:50px;justify-content:center;margin-bottom:30px}.vote-buttons .game-btn{min-width:300px;font-size:32px;padding:25px 50px}.waiting-message{text-align:center;font-size:28px;padding:50px;background:#f5f5f5;border:2px dashed black;margin-bottom:20px}.redemption-message{text-align:center;font-size:18px;padding:20px;margin-bottom:20px;background:#ff6b6b;color:#fff;border:3px solid black;font-weight:700}.redemption-confirm-btn{width:100%;max-width:500px;margin:0 auto;display:block;font-size:24px!important;padding:20px 30px!important}.vote-count{text-align:center;font-size:24px;font-weight:700}.ingredient-selection{text-align:center}.ingredient-prompt{font-size:42px;font-weight:700;margin-bottom:50px}.ingredient-buttons{display:flex;gap:50px;justify-content:center;margin-bottom:40px}.ingredient-buttons .game-btn{min-width:350px;font-size:38px;padding:30px 60px}.cooking-progress{text-align:center;font-size:18px;font-weight:700;padding:15px;background:#f5f5f5;border:2px solid black}.game-over-screen{max-width:800px;margin:0 auto;text-align:center}.game-over-title{font-size:64px;font-weight:700;margin-bottom:20px;text-transform:uppercase}.game-over-title.victory{color:#22c55e}.game-over-title.defeat{color:#ef4444}.game-over-timer{font-size:18px;font-weight:700;margin:20px 0;padding:10px;background:#f5f5f5;border:2px solid black}.winner-announcement{font-size:48px;font-weight:700;padding:30px;background:#fff;border:5px solid black;box-shadow:8px 8px #000;margin-bottom:40px}.impasta-reveal{background:#fff;border:4px solid black;padding:30px;margin-bottom:40px;box-shadow:6px 6px #000}.reveal-title{font-size:28px;font-weight:700;margin-bottom:20px}.impasta-list{display:flex;justify-content:center;gap:30px;flex-wrap:wrap}.impasta-card{text-align:center;position:relative}.impasta-avatar{width:100px;height:100px;object-fit:contain;margin-bottom:10px}.impasta-name{font-size:27px;font-weight:700}.badge{background:#ffd54f;border:2px solid black;padding:5px 10px;font-size:12px;font-weight:700;margin-top:5px}.modal-backdrop{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:#fff;border:4px solid black;padding:40px;max-width:500px;box-shadow:10px 10px #000;text-align:center}.modal-title{font-size:32px;font-weight:700;margin-bottom:20px}.modal p{margin-bottom:20px;font-size:18px}@media(max-width:768px){.game-root{padding:10px}.game-info-panels{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:15px}.info-panel{padding:12px}.info-panel-title{font-size:16px;margin-bottom:12px}.voting-layout{flex-direction:column;gap:20px}.voting-right{flex:1;width:100%}.proponent-item{padding:6px;gap:8px;font-size:14px}.history-list{flex:1;min-height:0}.history-item{padding:10px}.phase-title-with-rounds{flex-direction:column;align-items:flex-start;gap:12px}.phase-title-text{font-size:18px}.phase-rounds .round-tracker{gap:8px}.mini-chef-avatar{width:80px;height:80px;object-fit:contain}.mini-chef-name{font-size:17px}.votes-grid{grid-template-columns:repeat(2,1fr)}.vote-item{font-size:11px;padding:3px 6px}.game-header{padding:10px 15px;align-items:stretch}.game-header-left{flex-direction:column;gap:5px;align-items:flex-start}.game-title{font-size:18px}.game-role{font-size:22px}.game-timer{font-size:32px;min-width:80px;padding:0;display:flex;align-items:center;justify-content:center}.round-tracker{gap:10px;margin-bottom:20px}.round-dot{width:40px;height:40px;font-size:18px}.threshold-marker{width:16px;height:16px;font-size:10px;top:-4px;right:-4px}.threshold-tooltip{font-size:11px;padding:6px 10px;bottom:-40px}.phase-container{padding:20px 15px}.phase-title{font-size:22px;margin-bottom:20px}.player-select-card{padding:8px}.player-name{font-size:25px}.proposed-chefs{gap:20px;margin-bottom:30px}.proposed-label{font-size:22px}.proposed-chefs-list{justify-content:center;gap:30px}.chef-avatar{width:90px;height:90px}.chef-name{font-size:22px;max-width:120px}.vote-buttons{flex-direction:column;align-items:stretch;gap:15px}.vote-buttons .game-btn{min-width:0;width:100%}.ingredient-prompt{font-size:28px;margin-bottom:30px}.ingredient-buttons{flex-direction:column;align-items:stretch;gap:15px}.ingredient-buttons .game-btn{min-width:0;width:100%;font-size:24px;padding:20px 30px}.action-buttons{flex-direction:column;gap:10px}.game-btn{padding:12px 20px;font-size:16px}.round-result{padding:40px 50px;font-size:56px}.rotten-count{font-size:16px;margin-top:12px}.game-over-title{font-size:48px}.winner-announcement{font-size:36px;padding:20px}.reveal-title{font-size:24px}.impasta-list{gap:20px}.impasta-avatar{width:80px;height:80px}.impasta-name{font-size:24px}}.tutorial-page{min-height:100vh;background:#fff;padding:24px;display:flex;justify-content:center;align-items:flex-start}.tutorial-container{max-width:1200px;width:100%}.tutorial-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:32px}.tutorial-title{font-family:CherryBombOne,system-ui,sans-serif;font-size:clamp(48px,6vw,64px);color:#000;margin:0;transform:rotate(-2deg)}.tutorial-back-btn{background:transparent;border:2px solid #000000;padding:12px 24px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:16px;font-weight:700;color:#000;cursor:pointer;transition:all .2s ease}.tutorial-back-btn:hover{background:#000;color:#fff;transform:translateY(-2px)}.tutorial-back-btn:active{transform:translateY(0)}.tutorial-tabs{display:flex;gap:16px;margin-bottom:32px;border-bottom:2px solid #000000}.tutorial-tab{background:transparent;border:none;border-bottom:3px solid transparent;padding:16px 24px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:18px;font-weight:700;color:#666;cursor:pointer;transition:all .2s ease;position:relative;top:2px}.tutorial-tab:hover{color:#000}.tutorial-tab.active{color:#000;border-bottom-color:#000}.tutorial-content{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start}.tutorial-media-section{display:flex;flex-direction:column;gap:24px}.tutorial-static-image-container{width:100%;cursor:pointer;transition:transform .2s ease}.tutorial-static-image-container:hover{transform:scale(1.02)}.tutorial-static-image{width:100%;border:2px solid #000000;border-radius:8px;display:block}.tutorial-image-hint{margin-top:8px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:14px;color:#666;text-align:center;font-style:italic}.tutorial-video-container{width:100%;aspect-ratio:16 / 9;background:#f5f5f5;border:2px solid #000000;border-radius:8px;overflow:hidden;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .2s ease}.tutorial-video-container:hover{transform:scale(1.02)}.tutorial-video{width:100%;height:100%;object-fit:contain;pointer-events:none;cursor:pointer}.tutorial-video-placeholder{text-align:center;padding:48px;color:#999}.tutorial-video-placeholder p{margin:8px 0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:18px;font-weight:700}.tutorial-video-placeholder-sub{font-size:14px;font-weight:400;color:#666}.tutorial-text{display:flex;flex-direction:column;gap:24px}.tutorial-mode-title{font-family:CherryBombOne,system-ui,sans-serif;font-size:clamp(32px,4vw,48px);color:#000;margin:0;transform:rotate(-1deg)}.tutorial-section{display:flex;flex-direction:column;gap:12px}.tutorial-section-title{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:20px;font-weight:700;color:#000;margin:0}.tutorial-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.tutorial-list li{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:16px;line-height:1.6;color:#333;padding-left:24px;position:relative}.tutorial-list li:before{content:"•";position:absolute;left:0;color:#000;font-weight:700;font-size:20px}.tutorial-zoom-overlay{position:fixed;inset:0;background:#000000e6;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px;cursor:pointer}.tutorial-zoom-container{position:relative;max-width:90vw;max-height:90vh;cursor:default}.tutorial-zoom-close{position:absolute;top:-40px;right:0;background:transparent;border:2px solid #ffffff;color:#fff;width:40px;height:40px;border-radius:50%;font-size:28px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;transition:all .2s ease;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.tutorial-zoom-close:hover{background:#fff;color:#000}.tutorial-zoom-image,.tutorial-zoom-video{max-width:100%;max-height:90vh;object-fit:contain;border:2px solid #ffffff;border-radius:8px}@media(max-width:768px){.tutorial-content{grid-template-columns:1fr}.tutorial-header{flex-direction:column;align-items:flex-start;gap:16px}.tutorial-tabs{flex-wrap:wrap}.tutorial-zoom-container{max-width:95vw;max-height:95vh}.tutorial-zoom-close{top:-50px;right:0}}
