:root{color:#3d2b1f;background:#fff8f0;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{color:#3d2b1f;background:#fff8f0;min-width:320px;min-height:100vh;margin:0}button,input,select{font:inherit}#app{width:min(100%,800px);min-height:100vh;margin:0 auto;padding:32px 24px}.screen{width:100%}.screen-fade-in{animation:.18s ease-out fade-in}.app-title,.screen-title{color:#3d2b1f;margin:0;font-family:Georgia,Times New Roman,serif;font-size:44px;line-height:1.08}.screen-subtitle,.turn-summary{color:#5d4433;margin:8px 0 0;font-size:18px}.menu-screen,.game-over-screen{align-content:center;gap:24px;min-height:calc(100vh - 64px);display:grid}.menu-form{gap:18px;display:grid}.menu-field,.menu-player-field{gap:8px;display:grid}.menu-player-list{border:0;gap:14px;min-width:0;padding:0;display:grid}.ui-label{font-weight:700}.ui-input,.ui-select{color:#3d2b1f;background:#fff;border:2px solid #d7bfa8;border-radius:8px;width:100%;min-height:48px;padding:10px 12px}.ui-input:focus,.ui-select:focus,.ui-button:focus-visible{outline-offset:2px;outline:3px solid #e87878}.form-error{color:#f44336;margin:0;font-weight:700}.ui-button{cursor:pointer;border:0;border-radius:8px;min-height:48px;padding:12px 18px;font-weight:800;transition:transform .12s,opacity .12s,background-color .12s}.ui-button:hover:not(:disabled){transform:translateY(-1px)}.ui-button:disabled{cursor:not-allowed;opacity:.55}.ui-button-primary{color:#2d1f17;background:#e87878}.ui-button-secondary{color:#fff;background:#4caf50}.ui-button-ghost{color:#3d2b1f;background:0 0;border:2px solid #d7bfa8}.game-screen{gap:18px;display:grid}.game-header{gap:4px;display:grid}.game-header-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.mute-button{flex:none;min-width:48px;min-height:48px;padding:8px 12px;font-size:22px;line-height:1}.turn-summary.turn-changed{animation:.32s ease-out slide-in-right}.score-bar{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px;margin:0;padding:0;list-style:none;display:grid}.score-player{background:#fff;border:2px solid #d7bfa8;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;gap:4px 8px;min-height:64px;padding:10px;display:grid}.score-player.active{border-color:#e87878;animation:1.8s ease-in-out infinite pulse;box-shadow:0 0 0 3px #e878783d}.score-player.shake{animation:.42s ease-in-out shake}.score-player.leader{background:#fff2d7}.score-player.eliminated{opacity:.66}.score-player-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:800;overflow:hidden}.score-player-points{font-variant-numeric:tabular-nums;font-weight:900}.score-player-status{color:#f44336;grid-column:1/-1;font-weight:900}.game-play-area{gap:14px;display:grid}.animation-stage{position:relative}.animation-canvas{aspect-ratio:2;background:#f5e6d3;border:2px solid #d7bfa8;border-radius:12px;width:100%;display:block}.overlay-host{pointer-events:none;position:absolute;inset:0}.game-controls{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.roll-history{gap:10px;display:grid}.panel-title{margin:0;font-family:Georgia,Times New Roman,serif;font-size:24px;line-height:1.2}.roll-history-empty{color:#6e5543;margin:0}.roll-history-list{gap:10px;max-width:100%;margin:0;padding:0 0 6px;list-style:none;display:flex;overflow-x:auto}.roll-history-entry{background:#fff;border-radius:8px;flex:none;grid-template-columns:auto max-content;gap:2px 8px;min-width:140px;padding:10px;display:grid;box-shadow:0 1px #3d2b1f1a}.roll-history-icon{color:#2d1f17;text-align:center;background:#e87878;border-radius:999px;grid-row:1/3;align-self:center;width:24px;height:24px;font-weight:900;line-height:24px}.roll-history-label{font-weight:800}.roll-history-points{color:#5d4433;font-size:14px}.result-overlay{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#3d2b1f47;border-radius:12px;place-items:center;display:grid;position:absolute;inset:0}.result-overlay[hidden]{display:none}.result-overlay.visible{animation:.14s ease-out fade-in}.result-overlay.visible .result-overlay-panel{animation:.22s cubic-bezier(.18,.89,.32,1.28) scale-in}.result-overlay-panel{text-align:center;background:#fff8f0;border-radius:12px;gap:4px;min-width:min(76%,360px);padding:20px;display:grid;box-shadow:0 16px 42px #3d2b1f3d}.result-name,.result-points,.result-effect{margin:0}.result-name{font-family:Georgia,Times New Roman,serif;font-size:26px;font-weight:900}.result-points{font-size:34px;font-weight:900}.result-effect{color:#5d4433}.result-gain .result-points{color:#4caf50}.result-loss .result-points,.result-elimination .result-points{color:#f44336}.result-catastrophe{animation:.12s ease-out fade-in,.42s ease-out flash-red,.42s ease-in-out shake}.winner-block{background:#fff;border-radius:8px;gap:4px;padding:20px;animation:.26s ease-out slide-up;display:grid}.winner-label,.winner-name{margin:0}.winner-label{color:#5d4433;font-weight:800}.winner-name{color:#e87878;font-family:Georgia,Times New Roman,serif;font-size:40px;font-weight:900}.score-table{border-collapse:collapse;background:#fff;border-radius:8px;width:100%;overflow:hidden}.score-table th,.score-table td{text-align:left;border-bottom:1px solid #ead9c8;padding:12px}.score-table th{background:#f5e6d3;font-weight:900}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-in-right{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(.82)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{box-shadow:0 0 0 3px #e878783d}50%{box-shadow:0 0 0 7px #e878781f}}@keyframes shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-8px)}40%,80%{transform:translate(8px)}}@keyframes flash-red{0%,to{background:#3d2b1f47}50%{background:#f4433675}}@keyframes slide-up{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@media (width<=620px){#app{padding:20px 14px}.app-title,.screen-title{font-size:34px}.menu-screen,.game-over-screen{min-height:calc(100vh - 40px)}.game-controls{grid-template-columns:1fr}.score-bar{grid-template-columns:1fr 1fr}.score-table th,.score-table td{padding:10px 8px}}
