:root{--color-bg-primary: #0f172a;--color-bg-secondary: #000000;--color-bg-card: rgba(30, 41, 59, .7);--color-text-primary: #f8fafc;--color-text-secondary: #94a3b8;--color-accent: #38bdf8;--color-accent-glow: rgba(56, 189, 248, .5);--color-success: #4ade80;--color-danger: #f87171;--color-border: #334155;--font-sans: "Inter", system-ui, -apple-system, sans-serif;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 1.5rem;--spacing-lg: 2rem;--spacing-xl: 3rem;--radius-sm: .5rem;--radius-md: .75rem;--radius-lg: 1rem;--transition-fast: .2s ease;--transition-medium: .3s ease}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);background-color:var(--color-bg-primary);background:radial-gradient(circle at top right,#1e293b,#0f172a);color:var(--color-text-primary);min-height:100vh;line-height:1.6;-webkit-font-smoothing:antialiased}button{font-family:inherit;cursor:pointer;border:none;background:none}a{color:inherit;text-decoration:none}.glass-panel{background:var(--color-bg-card);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.container{width:100%;max-width:600px;margin:0 auto;padding:var(--spacing-sm)}h1,h2,h3{line-height:1.2;font-weight:700;letter-spacing:-.02em}html{font-size:clamp(12px,3.5vw,16px)}.app-container{padding:0;max-width:100%;overflow-x:hidden}.main-content{width:100%;max-width:600px;margin:0 auto;min-height:100vh;display:flex;flex-direction:column}.view-container{flex:1;display:flex;flex-direction:column;padding:var(--spacing-md)}.fade-in{animation:fadeIn .3s ease-out}.slide-in{animation:slideIn .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{transform:translate(20px);opacity:0}to{transform:translate(0);opacity:1}}button:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-accent);color:var(--color-bg-primary);font-weight:700;padding:1rem;border-radius:var(--radius-md);font-size:1rem;letter-spacing:.05em;width:100%;transition:var(--transition-medium)}.btn-primary:not(:disabled):hover{box-shadow:0 0 15px var(--color-accent-glow);transform:translateY(-2px)}.btn-secondary{background:#ffffff1a;color:#fff;padding:.8rem;border-radius:var(--radius-md);font-weight:600}.btn-success{background:var(--color-success);color:#000;font-weight:700;padding:.8rem 1.2rem;border-radius:var(--radius-md);width:100%}.full-width{width:100%}.btn-outline-accent{background:transparent;border:2px solid var(--color-accent);color:var(--color-accent);font-weight:700;padding:.8rem;border-radius:var(--radius-md);transition:all .2s ease}.btn-outline-accent:hover:not(:disabled){background:#38bdf81a;box-shadow:0 0 10px #38bdf833}.home-view{justify-content:center;align-items:center;text-align:center;background:radial-gradient(circle,#1e293b,#000)}.logo-section{margin-bottom:3rem}.game-title{font-size:4rem;font-weight:900;letter-spacing:-.05em;background:linear-gradient(to bottom right,#fff,#94a3b8);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.subtitle{color:var(--color-accent);letter-spacing:.2em;text-transform:uppercase}.menu-buttons{display:flex;flex-direction:column;gap:1rem;width:100%;max-width:300px}.btn-menu{padding:1rem;border:1px solid rgba(255,255,255,.2);border-radius:30px;color:#fff;font-weight:600;background:#00000080;font-size:1rem}.home-footer{margin-top:3rem;color:var(--color-text-secondary);font-size:.8rem;opacity:.5}.setup-view h2{text-align:center;margin-bottom:var(--spacing-lg)}.add-player-form{display:flex;gap:.5rem;margin-bottom:2rem}.input-premium{flex:1;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);padding:.8rem;border-radius:var(--radius-md);color:#fff;font-size:1rem}.player-list{display:flex;flex-direction:column;gap:.5rem;margin-bottom:2rem}.player-list-item{display:flex;justify-content:space-between;align-items:center;background:#ffffff0d;padding:1rem;border-radius:var(--radius-md)}.player-number{color:var(--color-text-secondary);font-family:monospace}.btn-icon{font-size:1.5rem;color:var(--color-danger);padding:0 .5rem}.scoreboard-actions{margin-top:1rem;display:flex;flex-direction:column;gap:1rem}.game-controls{width:100%}.primary-actions-row{display:flex;gap:1rem;width:100%}.primary-actions-row button{flex:1}.system-actions-row{width:100%}.end-game-btn-full{width:100%;color:var(--color-danger);font-size:.9rem;border:1px solid rgba(248,113,113,.3);background:#f871710d;font-weight:600;transition:all .2s}.end-game-btn-full:hover{background:#f8717126;border-color:var(--color-danger);box-shadow:0 0 10px #f8717133}.winner-display-large{font-size:1.5rem;font-weight:700;color:#4ade80;text-align:center;padding:1rem;background:#4ade801a;border-radius:var(--radius-md);border:1px solid rgba(74,222,128,.3);text-shadow:0 0 10px rgba(74,222,128,.5)}.grid-container{display:flex;flex-direction:column;height:100%;overflow:hidden}.grid-header-row{display:flex;padding-bottom:.5rem;border-bottom:2px solid var(--color-border)}.grid-cell{flex:1;display:flex;justify-content:center;align-items:center;padding:.5rem}.round-col{flex:0 0 50px;color:var(--color-text-secondary);font-family:monospace;border-right:1px solid var(--color-border)}.player-col{flex-direction:column;gap:.2rem}.vertical-text{font-size:.8rem;color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60px}.total-score-small{font-weight:800;color:#fff}.grid-scroll-area{flex:1;overflow-y:auto}.grid-row{display:flex;border-bottom:1px solid rgba(255,255,255,.05);min-height:40px}.active-row{background:#38bdf81a;border-left:3px solid var(--color-accent)}.score-cell{font-family:monospace;font-size:1rem}.prediction-preview{color:var(--color-accent);opacity:.8;font-size:.9rem}.wizard-header{text-align:center;margin-bottom:2rem}.step-indicator{color:var(--color-text-secondary);font-size:.9rem}.player-focus-card{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#ffffff08;border-radius:var(--radius-lg);padding:2rem;margin-bottom:2rem}.input-controls{display:flex;align-items:center;gap:2rem;margin:3rem 0}.btn-circle{width:60px;height:60px;border-radius:50%;background:#ffffff1a;font-size:2rem;display:flex;align-items:center;justify-content:center}.big-value{font-size:5rem;font-weight:900;color:#fff;width:100px;text-align:center}.double-section{display:flex;align-items:center;gap:1rem}.toggle-switch{position:relative;display:inline-block;width:60px;height:34px}.toggle-switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;inset:0;background-color:var(--color-danger);transition:.4s}.slider:before{position:absolute;content:"";height:26px;width:26px;left:4px;bottom:4px;background-color:#fff;transition:.4s}input:checked+.slider{background-color:var(--color-success)}input:checked+.slider:before{transform:translate(26px)}.slider.round{border-radius:34px}.slider.round:before{border-radius:50%}.toggle-switch.disabled{opacity:.5;pointer-events:none}.toggle-switch-container{display:flex;align-items:center;gap:.8rem}.toggle-label-side{font-size:.9rem;font-weight:600;color:var(--color-text-secondary);opacity:.5;transition:all .2s}.toggle-label-side.active-no{color:var(--color-danger);opacity:1}.toggle-label-side.active-yes{color:var(--color-success);opacity:1}.wizard-nav{display:flex;gap:1rem}.btn-nav{flex:1;padding:1rem;border-radius:var(--radius-md);font-weight:700}.score-view .view-header{text-align:center;margin-bottom:2rem}.results-list{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.result-row{display:flex;justify-content:space-between;align-items:center;padding:1rem}.player-details{display:flex;flex-direction:column}.prediction-badge{font-size:.8rem;color:var(--color-accent)}.toggle-group{display:flex;gap:.5rem}.btn-toggle{width:50px;height:50px;border-radius:50%;font-size:1.5rem;background:#ffffff0d;border:2px solid transparent;opacity:.5;transition:all .2s}.btn-toggle-rect{min-width:60px;padding:.5rem 1rem;border-radius:var(--radius-md);font-weight:700;font-size:.9rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:var(--color-text-secondary);transition:all .2s}.btn-toggle-rect.btn-fail.active{background:#f8717133;border-color:var(--color-danger);color:var(--color-danger);box-shadow:0 0 10px #f8717133}.btn-toggle-rect.btn-success.active{background:#4ade8033;border-color:var(--color-success);color:var(--color-success);box-shadow:0 0 10px #4ade8033}.game-logo{max-width:320px;height:auto;margin-bottom:1rem;filter:drop-shadow(0 0 10px rgba(0,0,0,.3))}.rules-view{text-align:left}.rules-content{overflow-y:auto;flex:1;background:#0003;padding:1rem;border-radius:var(--radius-lg);margin-bottom:2rem}.rules-content h3{color:var(--color-accent);margin-top:1.5rem;margin-bottom:.5rem;border-bottom:1px solid rgba(255,255,255,.1);padding-bottom:.5rem}.rules-content h4{color:#fff;margin-top:1rem;margin-bottom:.5rem}.rules-content p,.rules-content li{color:var(--color-text-secondary);font-size:.95rem;line-height:1.6;margin-bottom:.5rem}.rules-content ul,.rules-content ol{padding-left:2rem;margin-bottom:1rem}.card-info{display:flex;flex-direction:column;align-items:center;background:#ffffff0d;margin:1rem 0;padding:1rem;border-radius:var(--radius-md)}.card-info img{max-width:150px;border-radius:var(--radius-sm);margin-bottom:.5rem;border:1px solid rgba(255,255,255,.2)}.navbar{display:flex;justify-content:space-between;align-items:center;padding:.8rem 1rem;background:#14141ecc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.1);position:sticky;top:0;z-index:100;height:60px;margin:var(--spacing-md) var(--spacing-md) 0 var(--spacing-md);border-radius:var(--radius-lg)}.navbar-left,.navbar-right{flex:1;display:flex;align-items:center}.navbar-center{flex:2;display:flex;justify-content:center;align-items:center}.navbar-title{font-weight:800;font-size:.95rem;text-transform:uppercase;letter-spacing:.05em;color:#fff;white-space:nowrap}.btn-icon-nav{background:transparent;border:none;color:#fff;cursor:pointer;padding:.5rem;border-radius:50%;transition:background .2s;display:flex;align-items:center;justify-content:center}.btn-icon-nav:hover{background:#ffffff1a}.race-chart-container{flex:1;display:flex;flex-direction:column;background:#0003;border-radius:var(--radius-lg);padding:1rem;position:relative;overflow:hidden}.race-track-area{flex:1;display:flex;flex-direction:column;gap:.5rem;overflow-y:auto}.player-race-row{display:flex;align-items:center;height:45px;padding:.2rem 0}.race-player-info{width:80px;display:flex;flex-direction:column;justify-content:center;padding-right:.5rem;text-align:right;border-right:1px solid rgba(255,255,255,.1);margin-right:.5rem}.race-player-name{font-size:.75rem;color:#fff;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative}.dealer-badge{color:var(--color-accent);font-size:.6rem;margin-right:.3rem;vertical-align:middle}.race-stats{display:flex;justify-content:flex-end;gap:.3rem;font-size:.7rem}.stat-score{color:var(--color-success);font-weight:800}.stat-pred{color:var(--color-danger)}.race-bar-track{flex:1;display:flex;background:#ffffff05;border-radius:4px;overflow:hidden;height:100%;position:relative}.race-block{width:5%;height:100%;border-right:1px solid rgba(0,0,0,.1);transition:background .3s ease}.race-block:last-child{border-right:none}.race-block.block-score{background:var(--color-success);box-shadow:inset 0 0 5px #0003}.race-block.block-prediction{background:var(--color-danger);opacity:.7}.race-block.block-double{background:var(--color-accent);opacity:.8;box-shadow:0 0 5px var(--color-accent-glow)}.modal-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);display:flex;justify-content:center;align-items:center;z-index:1000;padding:2rem}.modal-content{background:#1e293be6;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);padding:2rem;max-width:400px;width:100%;text-align:center;box-shadow:0 10px 25px #00000080}.modal-content h3{margin-bottom:1rem;color:#fff}.modal-content p{margin-bottom:2rem;color:var(--color-text-secondary)}.modal-actions{display:flex;gap:1rem;justify-content:center}.modal-actions button{flex:1}.winner-view{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;height:100%}.winner-content{margin-bottom:3rem;background:#ffffff0d;padding:2rem;border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.1);width:100%}.winner-title{font-size:2.5rem;font-weight:800;color:#fff;margin-bottom:1rem;text-transform:uppercase}.trophy-icon{font-size:5rem;margin:1rem 0;animation:bounce 2s infinite}.winner-name{font-size:2rem;font-weight:900;color:var(--color-success);margin-bottom:.5rem;text-shadow:0 0 20px rgba(74,222,128,.5)}.winner-subtitle{color:var(--color-text-secondary);font-size:1.1rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:1.5rem}.winner-score{font-size:1.5rem;color:#fff}.score-highlight{font-weight:800;color:var(--color-accent)}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}
