*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--green-dark: #0d2b14;--green-mid: #1a4d22;--green-light: #2ecc71;--gold: #f1c40f;--text: #d4f5d4;--text-dim: #8bc9a0;--glass-bg: rgba(5, 25, 10, .72);--glass-border: rgba(46, 204, 113, .25);--radius: 14px;--font: "Segoe UI", "Helvetica Neue", Arial, sans-serif}html,body{width:100%;height:100%;overflow:hidden;background:#0a1a0e;font-family:var(--font);color:var(--text)}#canvas-container{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0}#canvas-container canvas{display:block;width:100%!important;height:100%!important}#ui-root{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;pointer-events:none}.glass-card{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 8px 32px #0000008c,inset 0 0 0 1px #ffffff0a}.btn-glow{pointer-events:all;cursor:pointer;border:2px solid var(--green-light);border-radius:50px;background:transparent;color:var(--green-light);font-size:1rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:.55em 1.6em;transition:background .2s,box-shadow .2s,transform .1s}.btn-glow:hover:not(:disabled){background:#2ecc711f;box-shadow:0 0 18px #2ecc718c;transform:translateY(-1px)}.btn-glow:active:not(:disabled){transform:translateY(1px)}.btn-glow:disabled{opacity:.4;cursor:not-allowed}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:all;background:#051208b3}.overlay.hidden{display:none}.setup-card{text-align:center;padding:3rem 4rem;max-width:440px;width:90%}.game-title{font-size:clamp(1.8rem,4vw,2.8rem);font-weight:900;color:var(--green-light);text-shadow:0 0 22px rgba(46,204,113,.7);margin-bottom:.5rem;letter-spacing:-.02em}.subtitle{color:var(--text-dim);font-size:1rem;margin-bottom:1rem}.player-btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.player-count-btn{padding:.65em 1.8em;font-size:1.05rem}.hud{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.hud.hidden{display:none}.dice-panel{position:absolute;bottom:1.2rem;right:1.2rem;padding:.9rem 1.4rem 1.1rem;display:flex;flex-direction:column;align-items:center;gap:.65rem;pointer-events:all;min-width:180px}.dice-player-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.1rem}.turn-label{font-size:.65rem;letter-spacing:.15em;color:var(--text-dim);font-weight:700}.player-name{font-size:1.15rem;font-weight:800;letter-spacing:-.01em}.dice-face{font-size:3.6rem;line-height:1;display:inline-block;will-change:transform}@keyframes diceSpin{0%{transform:rotateX(0) rotateY(0) scale(1)}25%{transform:rotateX(180deg) rotateY(90deg) scale(1.25)}50%{transform:rotateX(360deg) rotateY(180deg) scale(.85)}75%{transform:rotateX(180deg) rotateY(270deg) scale(1.15)}to{transform:rotateX(0) rotateY(360deg) scale(1)}}@keyframes diceLand{0%{transform:scale(1.5) rotate(-8deg);opacity:.5}55%{transform:scale(.88) rotate(4deg);opacity:1}75%{transform:scale(1.12) rotate(-2deg)}to{transform:scale(1) rotate(0);opacity:1}}.dice-face.dice-spin{animation:diceSpin .12s linear}.dice-face.dice-land{animation:diceLand .5s cubic-bezier(.22,1,.36,1)}.roll-btn{font-size:1.05rem;min-width:140px}.end-game-btn{font-size:.78rem;padding:.35em 1.1em;border-color:#c0392b;color:#c0392b;opacity:.75;min-width:100px}.end-game-btn:hover:not(:disabled){background:#c0392b26;box-shadow:0 0 14px #c0392b80;opacity:1}.mute-btn{font-size:.9rem;padding:.28em .9em;border-color:var(--text-dim);color:var(--text-dim);opacity:.65;min-width:60px}.mute-btn:hover{opacity:1;border-color:var(--green-light);color:var(--green-light)}.status-msg{font-size:.88rem;font-weight:600;letter-spacing:.04em;color:var(--text-dim);text-shadow:0 2px 8px rgba(0,0,0,.7);white-space:nowrap;min-height:1.2em}.scoreboard{position:absolute;top:1.2rem;right:1.2rem;padding:1rem 1.2rem;min-width:160px;pointer-events:none}.score-title{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--text-dim);margin-bottom:.6rem}#score-list{list-style:none;display:flex;flex-direction:column;gap:.42rem}#score-list li{display:flex;align-items:center;gap:.5rem;font-size:.88rem}.score-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.score-label{flex:1;font-weight:600}.score-pos{color:var(--text-dim);font-size:.8rem}.log-panel{position:absolute;top:1.2rem;left:1.2rem;padding:1rem 1.2rem;min-width:180px;max-width:220px;pointer-events:none}.log-title{font-size:.7rem;text-transform:uppercase;letter-spacing:.12em;color:var(--text-dim);margin-bottom:.6rem}#event-log{list-style:none;display:flex;flex-direction:column;gap:.3rem}#event-log li{font-size:.8rem;color:var(--text-dim);line-height:1.35;border-left:2px solid var(--glass-border);padding-left:.5rem}#event-log li:first-child{color:var(--text)}.win-card{text-align:center;padding:3rem 4rem;animation:fadeScaleIn .5s cubic-bezier(.22,1,.36,1)}@keyframes fadeScaleIn{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.winner-name{font-size:clamp(1.8rem,4vw,2.6rem);font-weight:900;text-shadow:0 0 28px currentColor;margin-bottom:.5rem}.win-sub{color:var(--text-dim);margin-bottom:2rem}.restart-btn{font-size:1.1rem;padding:.7em 2.5em}#overlay-step2{align-items:flex-start;overflow-y:auto;padding:1.5rem 0}#overlay-step2 .setup-card{padding:1.4rem 1.8rem;max-width:580px;width:94%;margin:auto}.step2-header{display:flex;align-items:center;gap:1rem;margin-bottom:.3rem}.step2-header .game-title{margin:0;flex:1}.back-btn{font-size:.85rem;padding:.45em 1.1em;white-space:nowrap;flex-shrink:0}.start-btn{display:block;margin:1.4rem auto 0;font-size:1.1rem;padding:.7em 2.2em}.animal-slot{background:#ffffff0a;border:1px solid var(--glass-border);border-radius:10px;padding:.5rem .75rem;margin-bottom:.55rem}.slot-header{display:flex;align-items:center;gap:.3rem;margin-bottom:.55rem;font-size:.9rem}.chosen-animal{margin-left:auto;font-size:1.3rem;line-height:1}.animal-grid{display:flex;flex-wrap:wrap;gap:.35rem}.animal-btn{pointer-events:all;cursor:pointer;background:#ffffff0f;border:2px solid transparent;border-radius:8px;font-size:1.25rem;line-height:1;padding:.22em .28em;transition:background .15s,border-color .15s,transform .1s}.animal-btn:hover{background:#2ecc7126;border-color:var(--green-light);transform:scale(1.12)}.animal-btn.selected{background:#2ecc7138;border-color:var(--green-light);box-shadow:0 0 10px #2ecc7180}.score-animal{font-size:1.1rem;line-height:1;flex-shrink:0}@media (max-width: 600px){.scoreboard,.log-panel{display:none}.dice-panel{bottom:1rem;right:50%;transform:translate(50%)}}
