.setup-screen{justify-content:center;align-items:center;width:100%;height:100%;padding:1rem;display:flex}.setup-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-xl);width:100%;max-width:420px;max-height:100%;box-shadow:var(--shadow-lg);flex-direction:column;gap:1.25rem;padding:2.25rem 2rem;display:flex;overflow-y:auto}.setup-title{text-align:center;letter-spacing:-.03em;background:linear-gradient(135deg, var(--color-red), var(--color-blue));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:2.8rem;font-weight:800}.language-bar{justify-content:center;gap:.4rem;display:flex}.lang-btn{border-radius:var(--radius-md);background:var(--bg-tertiary);border:2px solid #0000;justify-content:center;align-items:center;width:44px;height:38px;display:flex}.lang-btn:hover{border-color:var(--border-hover);transform:scale(1.1)}.lang-btn.active{border-color:var(--accent);background:var(--accent-light);box-shadow:var(--shadow-sm)}.flag{font-size:1.4rem;line-height:1}.setup-subtitle{color:var(--text-secondary);text-align:center;text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;font-weight:600}.player-list{flex-direction:column;gap:.6rem;display:flex}.player-row{border-radius:var(--radius-md);background:var(--bg-tertiary);border:1px solid var(--border-color);flex-wrap:wrap;align-items:center;gap:.4rem;padding:.5rem;display:flex;overflow:hidden}.color-swatch{border-radius:var(--radius-full);width:28px;height:28px;box-shadow:var(--shadow-sm), inset 0 -2px 4px #00000026;flex-shrink:0}.color-select{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-secondary);width:78px;color:var(--text-primary);padding:.4rem .3rem;font-family:inherit;font-size:.8rem}.type-select{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-secondary);width:130px;color:var(--text-primary);padding:.4rem .3rem;font-family:inherit;font-size:.8rem}.ai-badge{text-overflow:ellipsis;white-space:nowrap;border-radius:var(--radius-sm);background:var(--accent-light);border:1px solid var(--accent);min-width:0;color:var(--accent);flex:1;padding:.45rem .65rem;font-size:.85rem;font-weight:600;overflow:hidden}.name-input{border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-secondary);min-width:0;color:var(--text-primary);outline:none;flex:1;padding:.45rem .65rem;font-family:inherit;font-size:.9rem}.name-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-light)}.remove-btn{border-radius:var(--radius-full);width:30px;height:30px;color:var(--text-secondary);justify-content:center;align-items:center;font-size:1.2rem;line-height:1;display:flex}.remove-btn:hover{color:var(--color-red);background:var(--color-red-light)}.add-btn{border-radius:var(--radius-md);border:1.5px dashed var(--border-color);color:var(--text-secondary);padding:.6rem;font-size:.85rem;font-weight:500}.add-btn:hover{color:var(--text-primary);border-color:var(--accent);background:var(--accent-light)}.start-btn{border-radius:var(--radius-md);background:linear-gradient(135deg, var(--color-green), color-mix(in srgb, var(--color-green) 80%, black));color:var(--text-on-color);letter-spacing:.03em;box-shadow:var(--shadow-md), 0 0 12px var(--color-green-glow);padding:.9rem;font-size:1.1rem;font-weight:700}.start-btn:hover{box-shadow:var(--shadow-lg), 0 0 20px var(--color-green-glow);transform:translateY(-2px)}.start-btn:active{transform:translateY(0)}.donate-wrapper{justify-content:center;display:flex}.setup-highscores{border-top:1px solid var(--border-color);flex-direction:column;gap:.3rem;padding-top:.75rem;display:flex}.setup-hs-title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);font-size:.75rem;font-weight:700}.setup-hs-row{align-items:center;gap:.4rem;font-size:.85rem;display:flex}.setup-hs-rank{width:1.5rem;color:var(--text-secondary);font-size:.75rem;font-weight:700}.setup-hs-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.setup-hs-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.setup-hs-moves{font-variant-numeric:tabular-nums;color:var(--text-secondary);font-weight:700}.dice-area{z-index:10;pointer-events:none;flex-direction:column;align-items:center;gap:.5rem;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.dice{touch-action:none;cursor:default;pointer-events:auto;will-change:transform;background:linear-gradient(145deg,#fafafa,#e8e8e8);border:none;border-radius:12px;justify-content:center;align-items:center;width:72px;height:72px;padding:12px;display:flex;position:relative;box-shadow:4px 4px 10px #00000040,-2px -2px 6px #fff9,inset 0 1px #fffc,inset 0 -1px 2px #0000000d}.dice:before{content:"";pointer-events:none;border:1px solid #ffffff80;border-color:#ffffff80 #0000000d #00000014 #ffffff80;border-radius:10px;position:absolute;inset:2px}.dice--highlight-on{border:3px solid var(--dice-player-color);box-shadow:4px 4px 10px #00000040, -2px -2px 6px #fff9, inset 0 1px 0 #fffc, 0 0 12px var(--dice-player-color);transition:none}.dice--highlight-off{border:3px solid #0000;transition:border-color 3s ease-out,box-shadow 3s ease-out}.dice--ready{cursor:grab}.dice--ready:hover{border-color:var(--dice-player-color);box-shadow:6px 6px 16px #0000004d, -2px -2px 8px #ffffffb3, inset 0 1px 0 #fffc, 0 0 20px var(--dice-player-color);animation:none}.dice--dragging{cursor:grabbing;animation:none;border-color:#0000!important;box-shadow:8px 8px 24px #00000059,-2px -2px 8px #ffffff80,inset 0 1px #fffc!important}.dice--rolling{animation:none;box-shadow:6px 6px 20px #0000004d,-2px -2px 8px #ffffff80,inset 0 1px #fffc}.dice--thrown{opacity:1}.dice-face{width:100%;height:100%;position:relative}.dice-dot{background:radial-gradient(circle at 40% 35%,#444,#1a1a1a);border-radius:50%;width:11px;height:11px;position:absolute;transform:translate(-50%,-50%);box-shadow:inset 0 1px 2px #00000080,0 .5px #ffffff4d}.dice-hint{color:var(--text-secondary);white-space:nowrap;text-align:center;letter-spacing:.02em;pointer-events:none;font-size:.7rem}[data-theme=dark] .dice{background:linear-gradient(145deg,#3a3850,#2a2840);box-shadow:4px 4px 12px #00000080,-2px -2px 6px #504b6e33,inset 0 1px #ffffff14,inset 0 -1px 2px #0003}[data-theme=dark] .dice:before{border-color:#ffffff14 #0000001a #00000026 #ffffff14}[data-theme=dark] .dice-dot{background:radial-gradient(circle at 40% 35%,#ddd,#bbb);box-shadow:inset 0 1px 2px #ffffff4d,0 .5px #0000004d}[data-theme=neon] .dice{background:linear-gradient(145deg,#181838,#101028);box-shadow:4px 4px 16px #0009,-2px -2px 8px #00c8ff0f,0 0 20px #00c8ff14,inset 0 1px #00ffff0f}[data-theme=neon] .dice:before{border-color:#00ffff1a #00ffff1a #0003}[data-theme=neon] .dice-dot{background:radial-gradient(circle at 40% 35%,#0ff,#0ac);box-shadow:0 0 6px #0ff9,inset 0 1px 2px #fff3}.player-hud{z-index:5;justify-content:center;align-items:center;min-width:0;padding:.25rem;display:flex}.hud-inner{border-radius:var(--radius-md);background:var(--bg-secondary);max-width:220px;box-shadow:var(--shadow-sm);border:2px solid #0000;align-items:center;gap:.5rem;padding:.55rem .8rem;display:flex}.player-hud--active .hud-inner{background:var(--hud-color);border-color:var(--hud-color);box-shadow:var(--shadow-md), 0 0 20px var(--hud-glow);color:var(--text-on-color)}.player-hud--active .hud-avatar{color:var(--hud-color);box-shadow:none;background:#ffffffe6!important}.player-hud--active .hud-name{color:var(--text-on-color)}.player-hud--active .hud-progress-bar{background:#ffffff40}.player-hud--active .hud-progress-fill{background:#ffffffe6!important}.hud-avatar{border-radius:var(--radius-full);width:42px;height:42px;color:var(--text-on-color);flex-shrink:0;justify-content:center;align-items:center;font-size:1.1rem;font-weight:700;display:flex;box-shadow:inset 0 -2px 4px #0003,0 1px 3px #0000001a}.hud-info{flex-direction:column;flex:1;gap:.25rem;min-width:0;display:flex}.hud-name{text-overflow:ellipsis;white-space:nowrap;font-size:1rem;font-weight:600;overflow:hidden}.hud-progress-bar{background:var(--border-color);border-radius:3px;width:80px;height:6px;overflow:hidden}.hud-progress-fill{border-radius:3px;min-width:0;height:100%;transition:width .4s}@media (height<=700px),(width<=500px){.hud-inner{gap:.3rem;max-width:140px;padding:.3rem .45rem}.hud-avatar{width:26px;height:26px;font-size:.7rem}.hud-name{font-size:.7rem}.hud-progress-bar{width:50px;height:4px}}.capture-vfx{pointer-events:none}.game-layout{justify-content:center;align-items:center;width:100%;height:100dvh;display:flex}.board-container{flex-shrink:0;width:min(90dvh,90vw);height:min(90dvh,90vw);position:relative}.board-svg{border-radius:var(--radius-md);width:100%;height:100%}.player-hud--red{position:absolute;bottom:.5rem;left:.5rem;transform:translate(-20%,20%)}.player-hud--green{position:absolute;top:.5rem;left:.5rem;transform:translate(-20%,-20%)}.player-hud--yellow{position:absolute;top:.5rem;right:.5rem;transform:translate(20%,-20%)}.player-hud--blue{position:absolute;bottom:.5rem;right:.5rem;transform:translate(20%,20%)}.hamburger-btn{z-index:50;border-radius:var(--radius-md);background:var(--bg-secondary);border:1px solid var(--border-color);width:44px;height:44px;box-shadow:var(--shadow-sm);transition:background var(--transition-fast);justify-content:center;align-items:center;display:flex;position:fixed;top:.75rem;right:.75rem}.hamburger-btn:hover{background:var(--border-color)}.hamburger-icon{flex-direction:column;gap:4px;width:20px;display:flex}.hamburger-icon span{background:var(--text-primary);border-radius:1px;width:100%;height:2px;display:block}.menu-backdrop{background:var(--bg-overlay);z-index:90;position:fixed;inset:0}.menu-panel{background:var(--bg-secondary);border-left:1px solid var(--border-color);z-index:100;flex-direction:column;gap:1rem;width:300px;max-width:85vw;height:100%;padding:1.5rem;animation:.2s ease-out menu-slide-in;display:flex;position:fixed;top:0;right:0;overflow-y:auto;box-shadow:-4px 0 24px #00000026}@keyframes menu-slide-in{0%{transform:translate(100%)}to{transform:translate(0)}}.menu-back{border-radius:var(--radius-sm);color:var(--text-secondary);align-self:flex-start;padding:.25rem .5rem;font-size:1.25rem}.menu-back:hover{color:var(--text-primary)}.menu-title{font-size:1.25rem;font-weight:700}.menu-item{border-radius:var(--radius-md);text-align:left;transition:background var(--transition-fast);padding:.75rem 1rem;font-size:1rem;font-weight:500}.menu-item:hover{background:var(--bg-primary)}.menu-item--danger{color:var(--color-red)}.setting-group{flex-direction:column;gap:.5rem;display:flex}.setting-row{flex-direction:row;justify-content:space-between;align-items:center}.setting-label{color:var(--text-secondary);font-size:.9rem;font-weight:600}.language-options{flex-direction:column;gap:.25rem;display:flex}.lang-option{border-radius:var(--radius-md);transition:background var(--transition-fast);align-items:center;gap:.5rem;padding:.4rem .6rem;font-size:.9rem;display:flex}.lang-option:hover{background:var(--bg-primary)}.lang-option.active{background:var(--bg-primary);border:1px solid var(--border-color);font-weight:600}.lang-option .flag{font-size:1.3rem}.lang-name{font-size:.85rem}.theme-options{gap:.5rem;display:flex}.theme-option{border-radius:var(--radius-md);border:1px solid var(--border-color);text-align:center;transition:all var(--transition-fast);flex:1;padding:.5rem;font-size:.8rem;font-weight:500}.theme-option:hover{background:var(--bg-primary)}.theme-option.active{background:var(--text-primary);color:var(--bg-primary);border-color:var(--text-primary)}.toggle{border-radius:var(--radius-md);border:1px solid var(--border-color);min-width:48px;transition:all var(--transition-fast);padding:.35rem .75rem;font-size:.8rem;font-weight:600}.toggle--on{background:var(--color-green);color:var(--text-on-color);border-color:var(--color-green)}.cheat-section{border-top:1px dashed var(--border-color);flex-direction:column;gap:.5rem;margin-top:.5rem;padding-top:.75rem;display:flex}.cheat-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:600}.cheat-buttons{flex-wrap:wrap;gap:.4rem;display:flex}.cheat-btn{border-radius:var(--radius-sm);color:var(--text-on-color);padding:.35rem .65rem;font-size:.8rem;font-weight:600}.cheat-btn:hover{opacity:.85}.about-text{color:var(--text-secondary);font-size:.9rem;line-height:1.6}.app{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.winner-overlay{background:var(--bg-overlay);-webkit-backdrop-filter:blur(8px);z-index:200;justify-content:center;align-items:center;animation:.4s ease-out fade-in;display:flex;position:fixed;inset:0}.winner-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);flex-direction:column;align-items:center;gap:1.5rem;padding:3rem 2.5rem;animation:.6s cubic-bezier(.34,1.56,.64,1) winner-pop;display:flex}.winner-avatar{border-radius:var(--radius-full);width:80px;height:80px;color:var(--text-on-color);justify-content:center;align-items:center;font-size:2.2rem;font-weight:800;display:flex;box-shadow:0 4px 16px #0003,inset 0 -3px 6px #0003}.winner-text{text-align:center;letter-spacing:-.01em;font-size:1.6rem;font-weight:700}.winner-moves{color:var(--text-secondary);align-items:center;gap:.5rem;font-size:1rem;display:flex}.new-record{color:var(--color-yellow);background:var(--color-yellow-light);border-radius:var(--radius-sm);letter-spacing:.05em;padding:.15rem .5rem;font-size:.7rem;font-weight:800;animation:1s ease-in-out infinite record-pulse}@keyframes record-pulse{0%,to{opacity:1}50%{opacity:.6}}.highscore-list{flex-direction:column;gap:.3rem;width:100%;display:flex}.highscore-title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary);margin-bottom:.15rem;font-size:.75rem;font-weight:700}.highscore-row{align-items:center;gap:.4rem;padding:.2rem 0;font-size:.85rem;display:flex}.highscore-rank{width:1.5rem;color:var(--text-secondary);font-size:.75rem;font-weight:700}.highscore-dot{border-radius:50%;flex-shrink:0;width:10px;height:10px}.highscore-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.highscore-moves{font-variant-numeric:tabular-nums;font-weight:700}.winner-btn{border-radius:var(--radius-md);background:linear-gradient(135deg, var(--color-green), color-mix(in srgb, var(--color-green) 80%, black));color:var(--text-on-color);box-shadow:var(--shadow-md), 0 0 12px var(--color-green-glow);letter-spacing:.02em;padding:.8rem 2.5rem;font-size:1rem;font-weight:700}.winner-btn:hover{box-shadow:var(--shadow-lg), 0 0 20px var(--color-green-glow);transform:translateY(-2px)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes winner-pop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}:root{--board-bg:linear-gradient(135deg, #f7f2e7 0%, #ede6d3 100%);--board-bg-flat:#f2ece0;--board-border:#b8a88a;--board-grid:#d8d0be;--square-bg:#faf6ee;--safe-square-marker:#999;--board-shadow:0 8px 32px #78643c33, 0 2px 8px #00000014;--board-inner-shadow:inset 0 1px 0 #ffffff80;--color-red:#dc3545;--color-red-light:#f8d0d4;--color-red-glow:#dc35454d;--color-blue:#3b7dd8;--color-blue-light:#c8ddf5;--color-blue-glow:#3b7dd84d;--color-green:#28a068;--color-green-light:#c2e8d5;--color-green-glow:#28a0684d;--color-yellow:#e8a820;--color-yellow-light:#f8eabd;--color-yellow-glow:#e8a8204d;--home-red:var(--color-red-light);--home-blue:var(--color-blue-light);--home-green:var(--color-green-light);--home-yellow:var(--color-yellow-light);--bg-primary:#faf8f4;--bg-secondary:#fff;--bg-tertiary:#f5f2eb;--bg-overlay:#1e190f73;--text-primary:#2c2416;--text-secondary:#7a7060;--text-on-color:#fff;--border-color:#e0d8c8;--border-hover:#c8bea8;--accent:#c87830;--accent-light:#f8e8d4;--shadow-sm:0 1px 2px #0000000f, 0 1px 3px #00000014;--shadow-md:0 4px 8px #00000014, 0 2px 4px #0000000f;--shadow-lg:0 12px 28px #0000001a, 0 4px 10px #0000000f;--shadow-glow:none;--dice-bg:#fff;--dice-border:#d8d0be;--dice-dots:#2c2416;--dice-shadow:0 3px 10px #0000001f, 0 1px 3px #00000014;--dice-active-shadow:0 6px 20px #00000026;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--radius-full:50%;--font-family:"Inter", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--transition-fast:.15s ease;--transition-normal:.3s ease;--transition-slow:.5s ease}[data-theme=dark]{--board-bg:linear-gradient(135deg, #1c1b2e 0%, #161525 100%);--board-bg-flat:#1a1928;--board-border:#3d3a58;--board-grid:#2a283e;--square-bg:#222038;--safe-square-marker:#666;--board-shadow:0 8px 32px #00000080, 0 2px 8px #503ca026;--board-inner-shadow:inset 0 1px 0 #ffffff0a;--color-red:#ff5c72;--color-red-light:#3a1828;--color-red-glow:#ff5c7259;--color-blue:#5aa8f0;--color-blue-light:#162840;--color-blue-glow:#5aa8f059;--color-green:#3dd98c;--color-green-light:#142e22;--color-green-glow:#3dd98c59;--color-yellow:#ffc44d;--color-yellow-light:#2e2818;--color-yellow-glow:#ffc44d59;--home-red:var(--color-red-light);--home-blue:var(--color-blue-light);--home-green:var(--color-green-light);--home-yellow:var(--color-yellow-light);--bg-primary:#0e0d18;--bg-secondary:#1a1928;--bg-tertiary:#222038;--bg-overlay:#000000b3;--text-primary:#e8e6f0;--text-secondary:#8884a8;--text-on-color:#fff;--border-color:#332f50;--border-hover:#4a4570;--accent:#9078f0;--accent-light:#2a2548;--shadow-sm:0 1px 3px #0006;--shadow-md:0 4px 12px #00000073, 0 0 1px #8c78f01a;--shadow-lg:0 12px 28px #00000080, 0 0 2px #8c78f026;--shadow-glow:0 0 20px #8c78f014;--dice-bg:#222038;--dice-border:#3d3a58;--dice-dots:#e8e6f0;--dice-shadow:0 3px 10px #00000080, 0 0 1px #8c78f033;--dice-active-shadow:0 6px 24px #0009, 0 0 12px #8c78f026}[data-theme=neon]{--board-bg:linear-gradient(135deg, #08081a 0%, #0c0c24 50%, #0a0818 100%);--board-bg-flat:#0a0a1c;--board-border:#00dcff40;--board-grid:#18183a;--square-bg:#101030;--safe-square-marker:#555;--board-shadow:0 0 40px #00b4ff1f, 0 0 80px #00b4ff0f, 0 8px 32px #0009;--board-inner-shadow:inset 0 1px 0 #00ffff0d;--color-red:#ff1a4a;--color-red-light:#28081a;--color-red-glow:#ff1a4a80;--color-blue:#00c8ff;--color-blue-light:#081828;--color-blue-glow:#00c8ff80;--color-green:#00ff80;--color-green-light:#082818;--color-green-glow:#00ff8080;--color-yellow:#ffe000;--color-yellow-light:#282808;--color-yellow-glow:#ffe00080;--home-red:var(--color-red-light);--home-blue:var(--color-blue-light);--home-green:var(--color-green-light);--home-yellow:var(--color-yellow-light);--bg-primary:#040410;--bg-secondary:#0a0a1c;--bg-tertiary:#101030;--bg-overlay:#000000d9;--text-primary:#e0e8ff;--text-secondary:#7080b0;--text-on-color:#000;--border-color:#00b4ff26;--border-hover:#00dcff59;--accent:#00dcff;--accent-light:#081828;--shadow-sm:0 0 4px #00c8ff26, 0 1px 2px #0006;--shadow-md:0 0 12px #00c8ff26, 0 4px 12px #00000080;--shadow-lg:0 0 24px #00c8ff26, 0 12px 28px #00000080;--shadow-glow:0 0 30px #00c8ff1a;--dice-bg:#101030;--dice-border:#00dcff4d;--dice-dots:#00dcff;--dice-shadow:0 0 12px #00c8ff40, 0 3px 10px #00000080;--dice-active-shadow:0 0 24px #00c8ff59, 0 6px 20px #0009}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}html,body,#root{width:100%;height:100dvh;overflow:hidden}body{font-family:var(--font-family);background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;touch-action:manipulation;-webkit-user-select:none;user-select:none;transition:background-color var(--transition-normal), color var(--transition-normal);line-height:1.5}#root{justify-content:center;align-items:center;display:flex}button{cursor:pointer;color:inherit;font-family:inherit;font-size:inherit;transition:all var(--transition-fast);background:0 0;border:none}button:disabled{opacity:.5;cursor:not-allowed}button:active:not(:disabled){transform:scale(.97)}.setup-card,.menu-panel,.hud-inner,.turn-badge,.dice,.winner-card{transition:background var(--transition-normal), border-color var(--transition-normal), box-shadow var(--transition-normal), color var(--transition-normal)}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;position:absolute;overflow:hidden}
