:root{font-family:Inter,Segoe UI,system-ui,sans-serif;line-height:1.5;font-weight:400;color:#1f2937;background:#2c1810;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:repeating-linear-gradient(90deg,#3d2817,#4a3420,#3d2817 4px),linear-gradient(180deg,#4a3420,#3d2817,#2c1810);background-size:100% 100%}h1{margin:0;font-size:2.8rem;color:#f9fafb;text-shadow:2px 2px 4px rgba(0,0,0,.5);font-weight:800;letter-spacing:-.02em}h3{margin:0 0 .75rem;font-size:1rem;font-weight:700;color:#374151;text-transform:uppercase;letter-spacing:.05em}p{margin:0}button{cursor:pointer;border:none;background:none;color:inherit;font-family:inherit}button:disabled{cursor:not-allowed;opacity:.5}button:focus-visible{outline:3px solid rgba(59,130,246,.5);outline-offset:2px}#root{margin:0;padding:2rem 1rem;min-height:100vh;display:flex;align-items:center;justify-content:center}.app{width:100%;max-width:1400px;margin:0 auto}.table-surface{background:linear-gradient(135deg,#f9fafb,#e5e7eb);border-radius:30px;padding:2.5rem;box-shadow:0 20px 60px #0006,inset 0 1px #fffc,0 0 0 8px #3d2817,0 0 0 10px #6b5747}.game-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:3px solid #d1d5db}.reset-btn{background:#dc2626;color:#fff;padding:.75rem 1.5rem;border-radius:12px;font-weight:700;font-size:1rem;box-shadow:0 4px 12px #dc26264d;transition:all .2s}.reset-btn:hover:not(:disabled){background:#b91c1c;transform:translateY(-2px);box-shadow:0 6px 16px #dc262666}.game-container{display:grid;grid-template-columns:1fr 2fr 1fr;gap:2rem;align-items:start}.dice-area{background:#fff;border-radius:20px;padding:1.5rem;box-shadow:0 8px 24px #0000001a;display:flex;flex-direction:column;gap:1.5rem}.dice-section{display:flex;flex-direction:column;gap:.75rem}.dice-group{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.dice{aspect-ratio:1;background:#fff;border:3px solid #1f2937;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:900;transition:all .3s;position:relative;box-shadow:0 4px 8px #00000026,inset 0 -2px 4px #0000001a}.dice:not(:disabled):hover{transform:translateY(-3px);box-shadow:0 8px 16px #0003,inset 0 -2px 4px #0000001a}.dice.selected{border-color:#3b82f6;border-width:4px;box-shadow:0 0 0 3px #3b82f64d,0 4px 8px #00000026}.dice-placeholder{color:#9ca3af;font-size:1.5rem}.dice-dots{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:3px;width:70%;height:70%;padding:5px}.dot{background:#1f2937;border-radius:50%;width:100%;height:100%}.dice-dots:has(.dot:only-child) .dot{grid-column:2;grid-row:2}.dice-dots:has(.dot:nth-child(2):last-child) .dot:nth-child(1){grid-column:1;grid-row:1}.dice-dots:has(.dot:nth-child(2):last-child) .dot:nth-child(2){grid-column:3;grid-row:3}.dice-dots:has(.dot:nth-child(3):last-child) .dot:nth-child(1){grid-column:1;grid-row:1}.dice-dots:has(.dot:nth-child(3):last-child) .dot:nth-child(2){grid-column:2;grid-row:2}.dice-dots:has(.dot:nth-child(3):last-child) .dot:nth-child(3){grid-column:3;grid-row:3}.dice-dots:has(.dot:nth-child(4):last-child) .dot:nth-child(1){grid-column:1;grid-row:1}.dice-dots:has(.dot:nth-child(4):last-child) .dot:nth-child(2){grid-column:3;grid-row:1}.dice-dots:has(.dot:nth-child(4):last-child) .dot:nth-child(3){grid-column:1;grid-row:3}.dice-dots:has(.dot:nth-child(4):last-child) .dot:nth-child(4){grid-column:3;grid-row:3}.dice-dots:has(.dot:nth-child(5):last-child) .dot:nth-child(1){grid-column:1;grid-row:1}.dice-dots:has(.dot:nth-child(5):last-child) .dot:nth-child(2){grid-column:3;grid-row:1}.dice-dots:has(.dot:nth-child(5):last-child) .dot:nth-child(3){grid-column:2;grid-row:2}.dice-dots:has(.dot:nth-child(5):last-child) .dot:nth-child(4){grid-column:1;grid-row:3}.dice-dots:has(.dot:nth-child(5):last-child) .dot:nth-child(5){grid-column:3;grid-row:3}.dice-dots:has(.dot:nth-child(6):last-child) .dot:nth-child(1){grid-column:1;grid-row:1}.dice-dots:has(.dot:nth-child(6):last-child) .dot:nth-child(2){grid-column:3;grid-row:1}.dice-dots:has(.dot:nth-child(6):last-child) .dot:nth-child(3){grid-column:1;grid-row:2}.dice-dots:has(.dot:nth-child(6):last-child) .dot:nth-child(4){grid-column:3;grid-row:2}.dice-dots:has(.dot:nth-child(6):last-child) .dot:nth-child(5){grid-column:1;grid-row:3}.dice-dots:has(.dot:nth-child(6):last-child) .dot:nth-child(6){grid-column:3;grid-row:3}.color-dice .color-square{width:70%;height:70%;background:var(--dice-color, #ccc);border-radius:8px;box-shadow:inset 0 2px 6px #0003}.dice.rolling{animation:dice-roll 1.2s cubic-bezier(.68,-.55,.265,1.55)}@keyframes dice-roll{0%,to{transform:rotate(0) scale(1)}25%{transform:rotate(180deg) scale(.9)}50%{transform:rotate(360deg) scale(1.1)}75%{transform:rotate(540deg) scale(.95)}}.roll-btn{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;padding:1rem;border-radius:12px;font-weight:700;font-size:1.1rem;box-shadow:0 4px 12px #3b82f64d;transition:all .2s}.roll-btn:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);transform:translateY(-2px);box-shadow:0 6px 16px #3b82f666}.roll-btn:disabled{background:#9ca3af;box-shadow:none}.message-box{background:#fef3c7;border:2px solid #f59e0b;border-radius:12px;padding:1rem;text-align:center;font-weight:600;color:#92400e;min-height:60px;display:flex;align-items:center;justify-content:center}.board-area{display:flex;justify-content:center;align-items:center}.board{display:grid;grid-template-columns:repeat(11,1fr);gap:3px;background:#374151;padding:8px;border-radius:16px;box-shadow:inset 0 2px 8px #0000004d,0 8px 24px #00000026}.cell{aspect-ratio:1;background:var(--cell-color);border:none;border-radius:6px;position:relative;transition:all .2s;box-shadow:inset 0 1px 2px #ffffff4d,0 2px 4px #0000001a}.cell:not(:disabled):hover{transform:scale(1.1);z-index:10;box-shadow:inset 0 1px 2px #ffffff4d,0 4px 12px #00000040}.cell.center-row{box-shadow:inset 0 0 0 2px #ef444480,inset 0 1px 2px #ffffff4d,0 2px 4px #0000001a}.cell.can-mark:not(.filled){animation:pulse 1.5s ease-in-out infinite;box-shadow:0 0 0 3px #3b82f680,inset 0 1px 2px #ffffff4d,0 4px 12px #3b82f666}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.08)}}.cell.filled{background:#1f2937;box-shadow:inset 0 2px 6px #00000080,0 2px 4px #0003}.check-mark{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:1.2rem;color:#fff;font-weight:900}.score-area{background:#fff;border-radius:20px;padding:1.5rem;box-shadow:0 8px 24px #0000001a}.score-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0;border-bottom:1px solid #e5e7eb;color:#4b5563}.score-item strong{font-size:1.25rem;color:#1f2937}.score-total{display:flex;justify-content:space-between;align-items:center;padding:1rem 0 0;margin-top:1rem;border-top:3px solid #3b82f6;font-size:1.25rem;font-weight:700}.score-total strong{font-size:2rem;color:#3b82f6}@media(max-width:1200px){.game-container{grid-template-columns:1fr;gap:1.5rem}.dice-area,.score-area{max-width:600px;margin:0 auto}.board{max-width:600px}}@media(max-width:768px){.table-surface{padding:1.5rem;border-radius:20px}h1{font-size:2rem}.game-header{flex-direction:column;gap:1rem;align-items:stretch}.board{gap:2px;padding:6px}.dice-group{grid-template-columns:repeat(3,1fr);gap:.4rem}}@media(max-width:480px){#root{padding:1rem .5rem}.table-surface{padding:1rem}h1{font-size:1.5rem}.board{gap:1px;padding:4px}}
