:root{--white: #ffffff;--gray-50: #f8fafc;--gray-100: #f1f5f9;--gray-200: #e2e8f0;--gray-300: #cbd5e1;--gray-400: #94a3b8;--gray-500: #64748b;--gray-600: #475569;--gray-700: #334155;--gray-800: #1e293b;--gray-900: #0f172a;--primary-50: #eff6ff;--primary-100: #dbeafe;--primary-200: #bfdbfe;--primary-300: #93c5fd;--primary-400: #60a5fa;--primary-500: #3b82f6;--primary-600: #2563eb;--primary-700: #1d4ed8;--primary-800: #1e40af;--primary-900: #1e3a8a;--accent-50: #f0f9ff;--accent-100: #e0f2fe;--accent-200: #bae6fd;--accent-300: #7dd3fc;--accent-400: #38bdf8;--accent-500: #0ea5e9;--accent-600: #0284c7;--accent-700: #0369a1;--accent-800: #075985;--accent-900: #0c4a6e;--success-50: #f0fdf4;--success-100: #dcfce7;--success-200: #bbf7d0;--success-300: #86efac;--success-400: #4ade80;--success-500: #22c55e;--success-600: #16a34a;--success-700: #15803d;--success-800: #166534;--success-900: #14532d;--warning-50: #fffbeb;--warning-100: #fef3c7;--warning-200: #fde68a;--warning-300: #fcd34d;--warning-400: #fbbf24;--warning-500: #f59e0b;--warning-600: #d97706;--warning-700: #b45309;--warning-800: #92400e;--warning-900: #78350f;--error-50: #fef2f2;--error-100: #fee2e2;--error-200: #fecaca;--error-300: #fca5a5;--error-400: #f87171;--error-500: #ef4444;--error-600: #dc2626;--error-700: #b91c1c;--error-800: #991b1b;--error-900: #7f1d1d}:root{--color-background: var(--gray-50);--color-background-soft: var(--white);--color-background-mute: var(--gray-100);--color-background-card: var(--white);--color-border: var(--gray-200);--color-border-hover: var(--gray-300);--color-text: var(--gray-900);--color-text-soft: var(--gray-600);--color-text-muted: var(--gray-500);--color-heading: var(--gray-900);--color-primary: var(--primary-600);--color-primary-hover: var(--primary-700);--color-primary-soft: var(--primary-50);--color-accent: var(--accent-500);--color-accent-hover: var(--accent-600);--color-success: var(--success-600);--color-warning: var(--warning-500);--color-error: var(--error-600);--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--radius-sm: .375rem;--radius: .5rem;--radius-md: .75rem;--radius-lg: 1rem;--radius-xl: 1.5rem}@media (prefers-color-scheme: dark){:root{--color-background: var(--gray-900);--color-background-soft: var(--gray-800);--color-background-mute: var(--gray-700);--color-background-card: var(--gray-800);--color-border: var(--gray-700);--color-border-hover: var(--gray-600);--color-text: var(--gray-100);--color-text-soft: var(--gray-300);--color-text-muted: var(--gray-400);--color-heading: var(--white);--color-primary: var(--primary-500);--color-primary-hover: var(--primary-400);--color-primary-soft: var(--primary-900);--color-accent: var(--accent-400);--color-accent-hover: var(--accent-300);--color-success: var(--success-500);--color-warning: var(--warning-400);--color-error: var(--error-500);--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .3);--shadow: 0 1px 3px 0 rgb(0 0 0 / .4), 0 1px 2px -1px rgb(0 0 0 / .4);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .4), 0 2px 4px -2px rgb(0 0 0 / .4);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .4), 0 4px 6px -4px rgb(0 0 0 / .4);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .4), 0 8px 10px -6px rgb(0 0 0 / .4)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{min-height:100vh;color:var(--color-text);background:var(--color-background);transition:all .3s cubic-bezier(.4,0,.2,1);line-height:1.6;font-family:Inter,SF Pro Display,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;font-size:16px;font-weight:400;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:-.01em}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2;color:var(--color-heading);margin-bottom:.5em}h1{font-size:2.5rem;font-weight:700;letter-spacing:-.02em}h2{font-size:2rem;letter-spacing:-.015em}h3{font-size:1.5rem;letter-spacing:-.01em}h4{font-size:1.25rem}h5{font-size:1.125rem}h6{font-size:1rem}p{margin-bottom:1rem;color:var(--color-text)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}::selection{background-color:var(--color-primary);color:var(--white)}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--color-background-mute)}::-webkit-scrollbar-thumb{background:var(--color-border-hover);border-radius:var(--radius)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 1rem}@media (min-width: 640px){.container{padding:0 1.5rem}}@media (min-width: 1024px){.container{padding:0 2rem}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes bounce{0%,20%,53%,80%,to{animation-timing-function:cubic-bezier(.215,.61,.355,1);transform:translateZ(0)}40%,43%{animation-timing-function:cubic-bezier(.755,.05,.855,.06);transform:translate3d(0,-8px,0)}70%{animation-timing-function:cubic-bezier(.755,.05,.855,.06);transform:translate3d(0,-4px,0)}90%{transform:translate3d(0,-2px,0)}}.animate-fadeIn{animation:fadeIn .5s ease-out}.animate-slideIn{animation:slideIn .5s ease-out}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-bounce{animation:bounce 1s infinite}.transition-all{transition:all .3s cubic-bezier(.4,0,.2,1)}.transition-colors{transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,text-decoration-color .15s ease-in-out,fill .15s ease-in-out,stroke .15s ease-in-out}.transition-transform{transition:transform .15s ease-in-out}.card{background:var(--color-background-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow);transition:all .3s cubic-bezier(.4,0,.2,1)}.card:hover{box-shadow:var(--shadow-md);border-color:var(--color-border-hover)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.875rem;font-weight:500;line-height:1;border:none;border-radius:var(--radius);cursor:pointer;text-decoration:none;transition:all .15s ease-in-out;white-space:nowrap;-webkit-user-select:none;user-select:none;min-height:2.5rem}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-primary{background:var(--color-primary);color:var(--white)}.btn-primary:hover:not(:disabled){background:var(--color-primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-secondary{background:var(--color-background-soft);color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){background:var(--color-background-mute);border-color:var(--color-border-hover)}.btn-success{background:var(--color-success);color:var(--white)}.btn-success:hover:not(:disabled){background:var(--success-700);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-sm{padding:.5rem 1rem;font-size:.8125rem;min-height:2rem}.btn-lg{padding:1rem 2rem;font-size:1rem;min-height:3rem}.input{display:block;width:100%;padding:.75rem 1rem;font-size:.875rem;line-height:1.5;color:var(--color-text);background:var(--color-background-soft);border:1px solid var(--color-border);border-radius:var(--radius);transition:all .15s ease-in-out}.input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.input::placeholder{color:var(--color-text-muted)}.select{display:block;width:100%;padding:.75rem 2.5rem .75rem 1rem;font-size:.875rem;line-height:1.5;color:var(--color-text);background:var(--color-background-soft) url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e") no-repeat right .75rem center/1.25em 1.25em;border:1px solid var(--color-border);border-radius:var(--radius);transition:all .15s ease-in-out;-webkit-appearance:none;-moz-appearance:none;appearance:none}.select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.checkbox{width:1.125rem;height:1.125rem;color:var(--color-primary);background:var(--color-background-soft);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:all .15s ease-in-out}.checkbox:checked{background:var(--color-primary);border-color:var(--color-primary)}.checkbox:focus{outline:none;box-shadow:0 0 0 3px var(--color-primary-soft)}.badge{display:inline-flex;align-items:center;padding:.25rem .75rem;font-size:.75rem;font-weight:500;line-height:1;border-radius:var(--radius);white-space:nowrap}.badge-primary{background:var(--color-primary-soft);color:var(--color-primary)}.badge-success{background:var(--success-50);color:var(--success-700)}.badge-warning{background:var(--warning-50);color:var(--warning-700)}.badge-error{background:var(--error-50);color:var(--error-700)}@media (prefers-color-scheme: dark){.badge-success{background:var(--success-900);color:var(--success-300)}.badge-warning{background:var(--warning-900);color:var(--warning-300)}.badge-error{background:var(--error-900);color:var(--error-300)}}#app{min-height:100vh;padding:2rem 1rem}a{color:var(--color-primary);text-decoration:none;transition:var(--transition-colors);border-radius:var(--radius-sm);padding:.25rem .5rem;margin:-.25rem -.5rem}a:hover{color:var(--color-primary-hover);background-color:var(--color-primary-soft)}a:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.game-container{max-width:1200px;margin:0 auto}.game-header{text-align:center;margin-bottom:2rem}.game-setup{display:grid;gap:2rem;margin-bottom:2rem}@media (min-width: 768px){.game-setup{grid-template-columns:1fr 1fr;max-width:800px;margin:0 auto 2rem}}.game-board{max-width:800px;margin:0 auto}.players-grid{display:grid;gap:1rem;margin-bottom:2rem}@media (min-width: 640px){.players-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}}.dice-container{display:grid;gap:1rem;margin:2rem 0}.dice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(60px,1fr));gap:1rem;max-width:400px;margin:0 auto}.dice-item{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1rem;background:var(--color-background-card);border:2px solid var(--color-border);border-radius:var(--radius-lg);transition:all .2s ease-in-out}.dice-item:hover{border-color:var(--color-primary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.dice-value{font-size:1.5rem;font-weight:700;color:var(--color-primary);background:var(--color-primary-soft);width:2.5rem;height:2.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center}.form-group{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}.form-group label{font-weight:500;color:var(--color-text-soft);font-size:.875rem}.form-row{display:flex;gap:.75rem;align-items:center}.player-list{list-style:none;display:flex;flex-direction:column;gap:.75rem}.player-item{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--color-background-mute);border-radius:var(--radius)}.player-number{font-weight:600;color:var(--color-text-soft);min-width:5rem}.current-player{background:var(--color-primary-soft);border:2px solid var(--color-primary)}.game-status{text-align:center;padding:1rem;margin:2rem 0;background:var(--color-background-card);border-radius:var(--radius-lg);border:1px solid var(--color-border)}.roll-info{display:flex;justify-content:center;align-items:center;gap:1rem;margin:1rem 0;flex-wrap:wrap}.booking-section{text-align:center;padding:2rem;background:var(--color-background-card);border-radius:var(--radius-lg);border:1px solid var(--color-border);margin:2rem 0}.final-dice{display:flex;justify-content:center;align-items:center;gap:.5rem;margin:1rem 0;flex-wrap:wrap}.final-dice-value{background:var(--color-success);color:var(--white);font-weight:700;font-size:1.25rem;width:2.5rem;height:2.5rem;border-radius:50%;display:flex;align-items:center;justify-content:center}.available-types{margin:1rem 0;padding:1rem;background:var(--color-background-mute);border-radius:var(--radius);font-size:.875rem;color:var(--color-text-soft)}.game-ended{text-align:center;padding:3rem 2rem;background:linear-gradient(135deg,var(--color-success) 0%,var(--success-600) 100%);color:var(--white);border-radius:var(--radius-xl);margin:2rem 0;box-shadow:var(--shadow-lg)}.game-ended h1{color:var(--white);margin-bottom:1rem}@media (max-width: 640px){#app{padding:1rem .5rem}.dice-grid{grid-template-columns:repeat(5,1fr);gap:.5rem}.dice-item{padding:.75rem .5rem}.dice-value{width:2rem;height:2rem;font-size:1.25rem}.roll-info{flex-direction:column;gap:.5rem}}.text-lg[data-v-8c67b163]{font-size:1.125rem;line-height:1.75rem}.text-soft[data-v-8c67b163]{color:var(--color-text-soft)}.text-center[data-v-8c67b163]{text-align:center}.dice-selected[data-v-8c67b163]{border-color:var(--color-success)!important;background:var(--success-50);transform:translateY(-4px);box-shadow:var(--shadow-lg)}.dice-selected .dice-value[data-v-8c67b163]{background:var(--color-success);color:var(--white);animation:bounce .5s ease-in-out}@media (prefers-color-scheme: dark){.dice-selected[data-v-8c67b163]{background:var(--success-900)}}.dice-item[data-v-8c67b163]{cursor:pointer;position:relative}.dice-item input[type=checkbox][data-v-8c67b163]{position:absolute;opacity:0;cursor:pointer}.dice-item[data-v-8c67b163]:hover{transform:translateY(-2px) scale(1.02)}.dice-item[data-v-8c67b163]:active{transform:translateY(0) scale(.98)}.btn[data-v-8c67b163]:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.current-player[data-v-8c67b163]{animation:pulse 2s infinite;border-color:var(--color-primary)!important}.current-player .badge-success[data-v-8c67b163]{animation:bounce 1s infinite}@media (max-width: 640px){.text-lg[data-v-8c67b163]{font-size:1rem;line-height:1.5rem}h1[data-v-8c67b163]{font-size:2rem}h2[data-v-8c67b163]{font-size:1.5rem}h3[data-v-8c67b163]{font-size:1.25rem}}@media (max-width: 480px){.game-header h1[data-v-8c67b163]{font-size:1.75rem}.card[data-v-8c67b163]{padding:1rem}.btn-lg[data-v-8c67b163]{padding:.75rem 1.5rem;font-size:.875rem}}
