*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--font: "Fredoka", sans-serif;--bg: #FFF8E1;--text: #3E2723;--primary: #FF6B6B;--secondary: #4ECDC4;--accent: #FFD93D;--radius: 12px}html,body,#root{height:100%}body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.4;-webkit-font-smoothing:antialiased}.btn{font-family:var(--font);font-weight:600;font-size:1.1rem;border:none;border-radius:var(--radius);padding:12px 24px;cursor:pointer;transition:transform .1s,box-shadow .1s;-webkit-tap-highlight-color:transparent}.btn:active{transform:scale(.96)}.btn-start{background:var(--primary);color:#fff;font-size:1.3rem;padding:16px 40px;box-shadow:0 4px #c0392b;width:100%;margin-top:16px}.btn-start:active{box-shadow:0 2px #c0392b;transform:translateY(2px)}.btn-continue{background:var(--secondary);color:#fff;font-size:1.1rem;padding:14px 32px;box-shadow:0 4px #2eac9e;margin-bottom:20px}.btn-count{background:#fff;color:var(--text);font-size:1.3rem;width:56px;height:56px;border-radius:50%;border:3px solid #ddd}.btn-count.active{background:var(--accent);border-color:var(--accent);box-shadow:0 3px #e6b800}.btn-next{background:var(--secondary);color:#fff;font-size:1.1rem;padding:14px 28px;box-shadow:0 4px #2eac9e}.btn-bathroom{background:#8d6e63;color:#fff;font-size:1.1rem;padding:14px 28px;box-shadow:0 4px #5d4037}.btn-dismiss{background:var(--accent);color:var(--text);font-size:1.2rem;padding:14px 36px;box-shadow:0 4px #e6b800;margin-top:12px}.btn-play-again{background:var(--primary);color:#fff;font-size:1.3rem;padding:16px 40px;box-shadow:0 4px #c0392b;margin-top:20px}.setup-screen{display:flex;flex-direction:column;align-items:center;padding:32px 20px;min-height:100vh}.game-title{font-size:2.6rem;font-weight:700;color:var(--primary);text-shadow:2px 2px 0 rgba(0,0,0,.1)}.title-emoji{display:inline-block;animation:bounce 1s ease-in-out infinite alternate}.title-emoji:last-child{animation-delay:.3s}.subtitle{font-size:1.1rem;color:#795548;margin:8px 0 24px}.setup-card{background:#fff;border-radius:20px;padding:28px;width:100%;max-width:420px;box-shadow:0 8px 24px #0000001a}.setup-card h2{font-size:1.4rem;margin-bottom:16px;text-align:center}.player-count{margin-bottom:20px}.player-count label{display:block;font-weight:600;margin-bottom:8px}.count-buttons{display:flex;gap:12px;justify-content:center}.player-names{display:flex;flex-direction:column;gap:10px}.name-input-row{display:flex;align-items:center;gap:10px}.color-dot{width:28px;height:28px;border-radius:50%;flex-shrink:0}.name-input-row input{flex:1;font-family:var(--font);font-size:1rem;padding:10px 14px;border:2px solid #eee;border-radius:var(--radius);outline:none;transition:border-color .2s}.name-input-row input:focus{border-color:var(--secondary)}.game-screen{display:flex;flex-direction:column;height:100vh;padding:8px;gap:6px;overflow:hidden}.game-header{display:flex;align-items:center;justify-content:space-between;padding:4px 8px}.game-logo{font-size:1.4rem;font-weight:700;color:var(--primary)}.turn-indicator{display:flex;gap:6px}.turn-dot{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.8rem;opacity:.4;transition:opacity .2s,transform .2s}.turn-dot.active{opacity:1;transform:scale(1.2)}.board{background:#fff;border-radius:16px;padding:4px;box-shadow:0 4px 12px #00000014;flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center}.board-row{display:flex;flex:1;min-height:0}.cell{width:100%;height:100%;border-radius:0;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;font-size:.65rem;border:1px solid rgba(0,0,0,.1);transition:border-color .2s}.cell-current{border:2px solid var(--primary);box-shadow:0 0 8px #ff6b6b66}.cell-emoji{font-size:4rem;line-height:1}.cell-id{font-size:.5rem;color:#999;position:absolute;top:1px;left:3px}.cell-wrapper{flex:1;min-width:0;min-height:0;position:relative}.board-arrow{position:absolute;font-weight:900;font-size:1.4rem;color:#00000059;text-shadow:0 0 4px rgba(255,255,255,1);z-index:1;pointer-events:none;line-height:1}.board-arrow-right{right:-4px;top:50%;transform:translateY(-50%)}.board-arrow-left{left:-4px;top:50%;transform:translateY(-50%)}.board-arrow-bottom{bottom:-8px;left:50%;transform:translate(-50%)}.cell-tokens{display:flex;gap:2px;position:absolute;bottom:1px;z-index:3}.player-token{width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.55rem;font-weight:700;border:1px solid rgba(0,0,0,.2)}.game-controls{display:flex;gap:10px;align-items:center;flex-shrink:0}.action-area{display:flex;align-items:center;gap:8px;flex-shrink:0}.running-label{font-size:1.1rem;font-weight:600;color:#8d6e63;animation:running-pulse .4s ease-in-out infinite alternate}@keyframes running-pulse{0%{opacity:.5;transform:scale(1)}to{opacity:1;transform:scale(1.05)}}.bathroom-splash{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none;z-index:200;animation:splash-fade 1.2s ease-out forwards}.splash-emoji{font-size:8rem;animation:splash-grow 1.2s ease-out forwards}@keyframes splash-grow{0%{transform:scale(.5);opacity:1}30%{transform:scale(1.3);opacity:1}to{transform:scale(2.5);opacity:0}}@keyframes splash-fade{0%{background:#8b451326}50%{background:#8b451314}to{background:transparent}}.player-panel{flex:1;background:#fff;border-radius:12px;padding:8px 12px;border-left:5px solid;box-shadow:0 4px 12px #00000014;min-width:0}.panel-top-row{display:flex;align-items:center;gap:8px;margin-bottom:4px}.panel-token{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:.9rem;flex-shrink:0}.panel-name{font-size:1.1rem;font-weight:700}.panel-stats{display:flex;gap:10px;margin-left:auto;font-size:1.05rem;font-weight:700}.panel-items{display:flex;align-items:center;gap:4px;flex-shrink:0}.item-badge{font-size:1.1rem;cursor:default}.panel-message{font-size:.9rem;color:#795548;font-style:italic;line-height:1.3}.dice-btn{width:72px;height:72px;border-radius:16px;border:none;background:#fff;box-shadow:0 6px #ddd,0 8px 16px #0000001a;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;transition:transform .1s,box-shadow .1s;-webkit-tap-highlight-color:transparent}.dice-btn:active:not(.dice-disabled){transform:translateY(3px);box-shadow:0 3px #ddd,0 4px 8px #0000001a}.dice-disabled{opacity:.5;cursor:default}.dice-face{font-size:2rem;line-height:1}.dice-label{font-size:.65rem;font-weight:600;color:#999;font-family:var(--font)}.dice-rolling{animation:dice-shake .5s ease-in-out}@keyframes dice-shake{0%,to{transform:rotate(0)}20%{transform:rotate(-20deg) scale(1.1)}40%{transform:rotate(20deg) scale(1.1)}60%{transform:rotate(-15deg)}80%{transform:rotate(10deg)}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100;padding:20px;animation:fade-in .2s}.event-card{background:#fff;border-radius:24px;padding:32px 28px;max-width:340px;width:100%;text-align:center;box-shadow:0 16px 48px #0003;animation:card-pop .3s cubic-bezier(.175,.885,.32,1.275)}.card-emoji{font-size:4rem;margin-bottom:8px}.card-title{font-size:1.5rem;font-weight:700;margin-bottom:8px}.card-desc{font-size:1rem;color:#555;line-height:1.4;margin-bottom:8px}.card-keep{font-size:.9rem;color:var(--secondary);font-weight:600}@keyframes card-pop{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.gameover-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:20px;position:relative;overflow:hidden}.winner-card{background:#fff;border-radius:24px;padding:40px 32px;text-align:center;box-shadow:0 16px 48px #00000026;z-index:1;animation:card-pop .5s cubic-bezier(.175,.885,.32,1.275)}.winner-title{font-size:3rem;color:var(--accent);text-shadow:2px 2px 0 rgba(0,0,0,.1)}.winner-token{width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:2.5rem;font-weight:700;margin:16px auto;box-shadow:0 4px 12px #0003}.winner-name{font-size:2rem}.winner-subtitle{color:#795548;margin-top:8px;font-size:1rem}.confetti{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.confetti-piece{position:absolute;top:-40px;font-size:2rem;animation:confetti-fall 3s ease-in infinite}@keyframes confetti-fall{0%{transform:translateY(0) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}@keyframes bounce{0%{transform:translateY(0)}to{transform:translateY(-8px)}}@media (max-width: 600px){.game-title{font-size:2rem}.game-controls{flex-direction:column}.action-area{flex-direction:row;justify-content:center;width:100%}.cell-emoji{font-size:2.6rem}.dice-btn{width:72px;height:72px}.dice-face{font-size:2rem}}
