@import"https://fonts.googleapis.com/css2?family=Sarabun:wght@300;400;500;600;700;800&display=swap";:root{--bg-primary: #0a0f1d;--bg-secondary: #0f172a;--bg-card: rgba(15, 23, 42, .82);--accent-gold: #f59e0b;--accent-gold-glow: rgba(245, 158, 11, .25);--accent-cyan: #38bdf8;--accent-emerald: #10b981;--accent-rose: #f43f5e;--text-primary: #f8fafc;--text-secondary: #cbd5e1;--text-muted: #64748b;--border-color: rgba(255, 255, 255, .09);--font-family: "Sarabun", sans-serif}*{box-sizing:border-box;margin:0;padding:0;font-family:var(--font-family);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}body{background-color:var(--bg-primary);color:var(--text-primary);min-height:100vh;width:100vw;overflow-x:hidden;display:flex;flex-direction:column}#app-root{width:100%;min-height:100vh;display:flex;flex-direction:column;position:relative}.loading-screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;background:radial-gradient(circle at center,#1b2845,#090d16);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;overflow:hidden}.loading-bg-glow{position:absolute;width:600px;height:600px;background:radial-gradient(circle,var(--accent-gold-glow) 0%,transparent 70%);filter:blur(80px);animation:pulseGlow 4s ease-in-out infinite alternate;pointer-events:none}.loading-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;max-width:680px;width:100%;text-align:center}.loading-logo-wrapper{margin-bottom:2rem;position:relative;display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:center;gap:.8rem;width:100%;padding:1.25rem 1.5rem;background:linear-gradient(135deg,#ffffff47,#ffffff26);border:1.5px solid rgba(255,255,255,.55);border-radius:1.25rem;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 8px 32px #00000059,inset 0 1px 2px #ffffffb3,inset 0 0 20px #ffffff26;animation:floatLogo 3s ease-in-out infinite alternate}.loading-logo{height:110px;max-height:130px;max-width:170px;width:auto;object-fit:contain;flex-shrink:1;min-width:0;filter:drop-shadow(0 0 12px rgba(251,191,36,.4)) drop-shadow(0 2px 8px rgba(0,0,0,.6));transition:transform .3s ease,filter .3s ease}.loading-logo.logo-img-3{height:135px;max-height:155px;max-width:220px;transform:scale(1.18)}.logo-x-divider{color:#fbbf24;font-size:1.6rem;font-weight:900;opacity:.9;-webkit-user-select:none;user-select:none;text-shadow:0 0 10px rgba(251,191,36,.8);margin:0 .25rem;flex-shrink:0}.loading-title{font-size:1.5rem;font-weight:800;color:var(--text-primary);margin-bottom:.5rem;letter-spacing:.05em;background:linear-gradient(135deg,#fff,#fbbf24);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.loading-status-text{font-size:.95rem;color:var(--text-secondary);margin-bottom:1.5rem;min-height:1.4em}.progress-container{width:100%;background:#ffffff14;border:1px solid var(--border-color);border-radius:999px;padding:4px;box-shadow:0 4px 20px #0006;position:relative;overflow:hidden}.progress-bar-fill{height:12px;background:linear-gradient(90deg,#f59e0b,#38bdf8);border-radius:999px;width:0%;transition:width .25s cubic-bezier(.4,0,.2,1);box-shadow:0 0 12px #fbbf2499;position:relative}.progress-bar-fill:after{content:"";position:absolute;top:0;left:0;bottom:0;right:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:shimmer 1.5s infinite}.progress-stats{display:flex;justify-content:space-between;width:100%;margin-top:.75rem;font-size:.9rem;color:var(--text-muted)}.progress-percentage{font-weight:700;color:var(--accent-gold)}.error-box{background:#f43f5e26;border:1px solid rgba(244,63,94,.4);border-radius:.75rem;padding:1rem;margin-top:1rem;color:#fecdd3;font-size:.9rem;width:100%}.btn-retry{margin-top:.75rem;background:var(--accent-rose);color:#fff;border:none;padding:.5rem 1.25rem;border-radius:.5rem;cursor:pointer;font-weight:600;transition:all .2s ease}.btn-retry:hover{transform:translateY(-2px);box-shadow:0 4px 12px #f43f5e66}.main-menu-container{min-height:100vh;width:100%;background:radial-gradient(circle at 50% 30%,#1e293b,#090d16 80%);display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;padding:2rem 1.5rem;overflow:hidden}.main-menu-bg-decoration{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:radial-gradient(circle at 20% 20%,rgba(56,189,248,.08) 0%,transparent 40%),radial-gradient(circle at 80% 80%,rgba(251,191,36,.08) 0%,transparent 40%)}.main-menu-card{position:relative;z-index:10;display:flex;flex-direction:column;align-items:center;max-width:680px;width:100%;background:var(--bg-card);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-color);border-radius:1.5rem;padding:2.5rem 2rem;box-shadow:0 20px 50px #0009,inset 0 1px #ffffff1a;animation:slideUpFade .8s cubic-bezier(.16,1,.3,1)}.main-menu-title-wrapper{text-align:center;margin-bottom:1.25rem;position:relative}.cyber-subtitle-tag{display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.18em;color:#38bdf8;background:#0ea5e926;border:1px solid rgba(56,189,248,.4);padding:.25rem .85rem;border-radius:9999px;margin-bottom:.5rem;box-shadow:0 0 12px #38bdf840;text-shadow:0 0 8px rgba(56,189,248,.6);animation:pulseTag 2.5s ease-in-out infinite alternate}@keyframes pulseTag{0%{box-shadow:0 0 8px #38bdf833;border-color:#38bdf84d}to{box-shadow:0 0 16px #38bdf880;border-color:#38bdf8b3}}.main-menu-game-title{font-size:clamp(2.2rem,5.5vw,3.4rem);font-weight:900;letter-spacing:.05em;text-transform:uppercase;margin:0;line-height:1.1;text-align:center;display:flex;align-items:center;justify-content:center;gap:.35em;flex-wrap:wrap}.main-menu-game-title .cyber-text{background:linear-gradient(135deg,#38bdf8,#818cf8,#c084fc);-webkit-background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 16px rgba(56,189,248,.75)) drop-shadow(0 4px 10px rgba(0,0,0,.8))}.main-menu-game-title .boardgame-text{background:linear-gradient(135deg,#fff,#fef08a 40%,#fbbf24 75%,#f59e0b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;filter:drop-shadow(0 0 18px rgba(251,191,36,.7)) drop-shadow(0 4px 10px rgba(0,0,0,.8))}.menu-logo-wrapper{margin-bottom:1.75rem;text-align:center;position:relative;display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:center;gap:.75rem;width:100%;padding:.85rem 1.25rem;background:#ffffff40;border:1.5px solid rgba(255,255,255,.5);border-radius:1.25rem;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);box-shadow:0 8px 25px #00000040,inset 0 1px 3px #fff,0 0 20px #fff6}.menu-logo-wrapper .logo-x-divider{color:#d97706;font-size:1.2rem;font-weight:900;text-shadow:0 0 6px rgba(217,119,6,.3)}.menu-logo-img{height:60px;max-height:72px;max-width:130px;width:auto;object-fit:contain;flex-shrink:1;min-width:0;filter:drop-shadow(0 2px 6px rgba(0,0,0,.25));transition:transform .3s ease,filter .3s ease}.menu-logo-img.logo-img-3{height:70px;max-height:80px;max-width:150px;transform:scale(1.05)}.menu-logo-img:hover{transform:scale(1.08);filter:drop-shadow(0 0 12px rgba(251,191,36,.6))}.menu-buttons-list{display:flex;flex-direction:column;gap:1rem;width:100%}.menu-btn{display:flex;align-items:center;justify-content:center;gap:.75rem;width:100%;padding:.95rem 1.5rem;font-size:1.15rem;font-weight:700;border-radius:.85rem;border:1px solid rgba(255,255,255,.12);color:var(--text-primary);cursor:pointer;position:relative;overflow:hidden;transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #0003}.menu-btn-icon{font-size:1.3rem;transition:transform .25s ease}.menu-btn-start{background:linear-gradient(135deg,#f59e0b,#d97706);border-color:#fbbf2480;color:#0f172a;box-shadow:0 4px 16px #f59e0b4d}.menu-btn-start:hover{background:linear-gradient(135deg,#fbbf24,#f59e0b);transform:translateY(-2px);box-shadow:0 8px 24px #f59e0b73}.menu-btn-multiplayer{background:linear-gradient(135deg,#2563eb,#1d4ed8);border-color:#60a5fa80;color:#fff;box-shadow:0 4px 16px #2563eb4d}.menu-btn-multiplayer:hover{background:linear-gradient(135deg,#3b82f6,#2563eb);transform:translateY(-2px);box-shadow:0 8px 24px #2563eb73}.menu-btn-manual{background:linear-gradient(135deg,#1e293bd9,#0f172ad9);border-color:#38bdf859}.menu-btn-manual:hover{border-color:var(--accent-cyan);background:#38bdf826;color:var(--accent-cyan);transform:translateY(-2px);box-shadow:0 6px 18px #38bdf833}.menu-btn-settings{background:linear-gradient(135deg,#1e293bd9,#0f172ad9);border-color:#ffffff1f}.menu-btn-settings:hover{border-color:#ffffff4d;background:#ffffff1a;transform:translateY(-2px);box-shadow:0 6px 18px #ffffff26}.menu-btn:active{transform:translateY(0) scale(.98)}.menu-footer{margin-top:2rem;font-size:.8rem;color:var(--text-muted);text-align:center}.hidden{display:none!important}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;background:#090d16d9;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:1.5rem;animation:fadeIn .25s ease-out}.modal-overlay.hidden{display:none!important}.modal-content{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:1.25rem;box-shadow:0 25px 60px #000000b3;width:100%;max-width:640px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;animation:scaleUp .3s cubic-bezier(.16,1,.3,1)}.modal-header{padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;background:#0003}.modal-title{font-size:1.25rem;font-weight:700;color:var(--accent-gold);display:flex;align-items:center;gap:.5rem}.btn-close-modal{background:transparent;border:none;color:var(--text-muted);font-size:1.5rem;cursor:pointer;padding:.25rem .5rem;border-radius:.375rem;transition:all .2s ease}.btn-close-modal:hover{color:var(--text-primary);background:#ffffff1a}.modal-body{padding:1.5rem;overflow-y:auto;flex:1}.manual-modal-content{max-width:900px;height:90vh}.manual-viewer-body{display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:1rem}.manual-image-container{flex:1;width:100%;display:flex;align-items:center;justify-content:center;background:#000;border-radius:.75rem;overflow:hidden;border:1px solid var(--border-color);position:relative;min-height:300px}.manual-image{max-width:100%;max-height:60vh;object-fit:contain;transition:opacity .2s ease}.manual-controls{display:flex;align-items:center;justify-content:space-between;width:100%;padding:.5rem 0;gap:1rem}.btn-manual-nav{background:#ffffff1a;border:1px solid var(--border-color);color:var(--text-primary);padding:.6rem 1.2rem;border-radius:.5rem;cursor:pointer;font-weight:600;display:flex;align-items:center;gap:.4rem;transition:all .2s ease}.btn-manual-nav:hover:not(:disabled){background:var(--accent-gold);color:#0f172a}.btn-manual-nav:disabled{opacity:.4;cursor:not-allowed}.manual-page-counter{font-size:.95rem;font-weight:600;color:var(--text-secondary)}.setting-item{display:flex;align-items:center;justify-content:space-between;padding:1rem 0;border-bottom:1px solid var(--border-color)}.setting-item:last-child{border-bottom:none}.setting-label{font-size:1rem;font-weight:600;color:var(--text-primary);display:flex;flex-direction:column;gap:.25rem}.setting-desc{font-size:.8rem;font-weight:400;color:var(--text-muted)}.slider-control{width:180px;accent-color:var(--accent-gold)}.switch-toggle{position:relative;display:inline-block;width:48px;height:26px}.switch-toggle input{opacity:0;width:0;height:0}.switch-slider{position:absolute;cursor:pointer;top:0;right:0;bottom:0;left:0;background-color:#fff3;transition:.3s;border-radius:26px}.switch-slider:before{position:absolute;content:"";height:20px;width:20px;left:3px;bottom:3px;background-color:#fff;transition:.3s;border-radius:50%}input:checked+.switch-slider{background-color:var(--accent-gold)}input:checked+.switch-slider:before{transform:translate(22px)}.exit-dialog-body{text-align:center;padding:2rem 1rem}.exit-icon{font-size:3rem;margin-bottom:1rem;display:block}.exit-title{font-size:1.3rem;font-weight:700;margin-bottom:.5rem}.exit-desc{color:var(--text-secondary);font-size:.95rem;margin-bottom:2rem}.exit-actions{display:flex;gap:1rem;justify-content:center}.btn-confirm-exit{background:var(--accent-rose);color:#fff;border:none;padding:.75rem 1.75rem;border-radius:.6rem;font-weight:700;cursor:pointer;transition:all .2s ease}.btn-confirm-exit:hover{background:#e11d48;box-shadow:0 4px 15px #f43f5e66}.btn-cancel-exit{background:#ffffff1a;color:var(--text-primary);border:1px solid var(--border-color);padding:.75rem 1.75rem;border-radius:.6rem;font-weight:700;cursor:pointer;transition:all .2s ease}.btn-cancel-exit:hover{background:#fff3}@keyframes pulseGlow{0%{opacity:.4;transform:scale(.95)}to{opacity:.8;transform:scale(1.05)}}@keyframes floatLogo{0%{transform:translateY(0)}to{transform:translateY(-8px)}}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes slideUpFade{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleUp{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}.player-select-container{min-height:100vh;width:100%;background:radial-gradient(circle at 50% 30%,#1e293b,#090d16 85%);display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;padding:2.5rem 1.5rem;overflow:hidden}.player-select-bg-glow{position:absolute;width:550px;height:550px;background:radial-gradient(circle,rgba(56,189,248,.15) 0%,transparent 70%);filter:blur(90px);pointer-events:none;animation:pulseGlow 5s ease-in-out infinite alternate}.player-select-card{position:relative;z-index:10;display:flex;flex-direction:column;align-items:center;max-width:680px;width:100%;background:var(--bg-card);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-color);border-radius:1.5rem;padding:2.5rem 2rem;box-shadow:0 20px 50px #0009;animation:slideUpFade .6s cubic-bezier(.16,1,.3,1)}.select-header{text-align:center;margin-bottom:2rem}.select-badge{display:inline-block;font-size:.75rem;font-weight:800;letter-spacing:.1em;color:var(--accent-cyan);background:#38bdf81f;border:1px solid rgba(56,189,248,.3);padding:.25rem .85rem;border-radius:999px;margin-bottom:.75rem}.select-title{font-size:1.8rem;font-weight:800;color:var(--text-primary);margin-bottom:.5rem;background:linear-gradient(135deg,#fff,#fbbf24);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.select-subtitle{font-size:.95rem;color:#cbd5e1;max-width:480px;margin:0 auto;line-height:1.4}.mode-section-title{font-size:1.05rem;font-weight:800;color:#fff;margin-bottom:.6rem;display:flex;align-items:center;gap:.5rem;text-shadow:0 1px 3px rgba(0,0,0,.8)}.player-options-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem;width:100%;margin-bottom:2rem}.player-option-card{background:#0f172abf;border:2px solid var(--border-color);border-radius:1.25rem;padding:1.25rem .75rem;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;color:#fff}.player-option-card:hover{border-color:#fbbf2480;background:#fbbf241a;transform:translateY(-4px);box-shadow:0 8px 20px #0000004d}.player-option-card.active{border-color:var(--accent-gold);background:linear-gradient(135deg,#fbbf2440,#f59e0b1f);box-shadow:0 0 25px #fbbf2459;transform:translateY(-4px) scale(1.03)}.player-count-number{font-size:2.2rem;font-weight:800;color:#fff;line-height:1;margin-bottom:.35rem}.player-option-card.active .player-count-number{color:#fef08a;text-shadow:0 0 10px rgba(251,191,36,.5)}.mode-options-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;width:100%}.mode-option-card{background:#0f172abf;border:1.5px solid rgba(255,255,255,.2);border-radius:.85rem;padding:.85rem 1rem;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;gap:.75rem;position:relative;color:#fff;text-align:left;width:100%}.mode-option-card:hover{border-color:#fbbf2499;background:#fbbf241f;transform:translateY(-2px)}.mode-option-card.active{border:2px solid #fbbf24;background:linear-gradient(135deg,#fbbf2438,#f59e0b1f);box-shadow:0 0 20px #fbbf2459;transform:translateY(-2px)}.mode-card-icon{font-size:1.5rem;flex-shrink:0;margin-top:.1rem}.mode-card-info{display:flex;flex-direction:column;gap:.2rem;width:100%}.mode-card-title,.mode-option-title{font-size:.95rem;font-weight:800;color:#fff!important;text-shadow:0 1px 2px rgba(0,0,0,.8)}.mode-option-card.active .mode-card-title,.mode-option-card.active .mode-option-title{color:#fef08a!important;text-shadow:0 0 12px rgba(251,191,36,.6)}.mode-card-desc,.mode-option-desc{font-size:.82rem;color:#e2e8f0!important;line-height:1.35;font-weight:400;margin-top:.15rem;text-shadow:0 1px 2px rgba(0,0,0,.8)}.mode-option-card.active .mode-card-desc,.mode-option-card.active .mode-option-desc{color:#fff!important;font-weight:500}.mode-check-badge{position:absolute;top:.6rem;right:.6rem;background:var(--accent-gold);color:#0f172a;font-size:.7rem;font-weight:800;width:18px;height:18px;border-radius:50%;display:flex;align-items:center;justify-content:center}.player-count-label{font-size:.85rem;font-weight:700;color:var(--text-secondary);margin-bottom:.75rem}.player-avatars-preview{display:flex;gap:4px;align-items:center;justify-content:center;flex-wrap:wrap;max-width:60px}.avatar-dot{width:8px;height:8px;border-radius:50%;box-shadow:0 0 6px #00000080}.avatar-color-1{background-color:#f59e0b}.avatar-color-2{background-color:#38bdf8}.avatar-color-3{background-color:#10b981}.avatar-color-4{background-color:#f43f5e}.avatar-color-5{background-color:#a855f7}.avatar-color-6{background-color:#ec4899}.gamestate-status-box{width:100%;background:#ffffff0a;border:1px solid var(--border-color);border-radius:1rem;padding:1rem 1.25rem;display:flex;align-items:center;gap:1rem;margin-bottom:1.75rem;transition:all .3s ease}.gamestate-status-box.saved{background:#10b9811f;border-color:#10b98166}.status-icon{font-size:1.5rem;flex-shrink:0}.status-info{display:flex;flex-direction:column;gap:.2rem}.status-title{font-size:.95rem;font-weight:700;color:var(--text-primary)}.gamestate-status-box.saved .status-title{color:#34d399}.status-desc{font-size:.8rem;color:var(--text-muted)}.select-actions{display:flex;gap:1rem;width:100%}.btn-action{flex:1;padding:.9rem 1.25rem;font-size:1.05rem;font-weight:700;border-radius:.85rem;border:1px solid transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:all .25s ease}.btn-save-gamestate{background:linear-gradient(135deg,#f59e0b,#d97706);color:#0f172a;box-shadow:0 4px 15px #f59e0b4d}.btn-save-gamestate:hover{background:linear-gradient(135deg,#fbbf24,#f59e0b);transform:translateY(-2px);box-shadow:0 8px 20px #f59e0b73}.btn-next-piece{background:linear-gradient(135deg,#38bdf8,#0284c7);color:#0f172a;box-shadow:0 4px 15px #38bdf84d}.btn-next-piece:hover{background:linear-gradient(135deg,#7dd3fc,#38bdf8);transform:translateY(-2px);box-shadow:0 8px 20px #38bdf873}.btn-back-menu{background:#ffffff14;border-color:var(--border-color);color:var(--text-primary)}.btn-back-menu:hover{background:#ffffff26;transform:translateY(-2px)}.piece-select-container{min-height:100vh;width:100%;background:radial-gradient(circle at 50% 20%,#1e1b4b,#090d16 85%);display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;padding:2.5rem 1.5rem;overflow:hidden}.piece-select-bg-glow{position:absolute;width:600px;height:600px;background:radial-gradient(circle,rgba(168,85,247,.15) 0%,transparent 70%);filter:blur(100px);pointer-events:none;animation:pulseGlow 6s ease-in-out infinite alternate}.piece-select-card{position:relative;z-index:10;display:flex;flex-direction:column;align-items:center;max-width:820px;width:100%;background:var(--bg-card);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-color);border-radius:1.5rem;padding:2.25rem 2rem;box-shadow:0 25px 60px #000000a6;animation:slideUpFade .6s cubic-bezier(.16,1,.3,1)}.selection-progress-box{width:100%;background:#1e293b80;border:1px solid var(--border-color);border-radius:1rem;padding:.85rem 1.25rem;margin-bottom:1.5rem;display:flex;flex-direction:column;gap:.5rem;transition:all .3s ease}.selection-progress-box.complete{background:#10b9811f;border-color:#10b98166}.progress-info{display:flex;justify-content:space-between;align-items:center;font-size:.9rem;font-weight:700;color:var(--text-primary)}.selection-progress-box.complete .progress-text{color:#34d399}.progress-percent-badge{font-size:.8rem;padding:.15rem .6rem;border-radius:999px;background:#ffffff1a;color:var(--text-secondary)}.selection-progress-box.complete .progress-percent-badge{background:#10b98140;color:#34d399}.progress-track{width:100%;height:8px;background:#ffffff14;border-radius:999px;overflow:hidden}.progress-bar-inner{height:100%;background:linear-gradient(90deg,#38bdf8,#f59e0b);border-radius:999px;transition:width .4s cubic-bezier(.4,0,.2,1)}.selection-progress-box.complete .progress-bar-inner{background:linear-gradient(90deg,#10b981,#34d399)}.players-piece-list{display:flex;flex-direction:column;gap:1.15rem;width:100%;max-height:480px;overflow-y:auto;padding-right:.25rem}.players-piece-list::-webkit-scrollbar{width:6px}.players-piece-list::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.player-piece-row{background:#1e293b66;border:1px solid var(--border-color);border-radius:1.15rem;padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.85rem;transition:all .25s ease}.player-piece-row.selected{background:#1e293bb3;border-color:#fbbf2459}.player-info-badge{display:flex;align-items:center;gap:.85rem}.player-avatar-preview{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.25rem;border:2px solid transparent;transition:all .3s ease}.player-name-text{display:flex;flex-direction:column}.player-title-label{font-size:1.05rem;font-weight:800;color:var(--text-primary)}.player-status-sub{font-size:.8rem;color:var(--text-secondary)}.player-piece-row.selected .player-status-sub{color:#fbbf24;font-weight:600}.color-picker-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:.6rem;width:100%}.color-chip-btn{background:#0f172a99;border:1.5px solid var(--border-color);border-radius:.75rem;padding:.5rem .35rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;cursor:pointer;transition:all .2s ease;position:relative}.color-chip-btn:hover:not([disabled]){border-color:#ffffff80;background:#ffffff14;transform:translateY(-2px)}.color-chip-btn.active-me{border-color:var(--accent-gold);background:#fbbf242e;box-shadow:0 0 12px #fbbf244d;transform:translateY(-2px) scale(1.02)}.color-chip-btn.taken-disabled{opacity:.35;cursor:not-allowed;border-color:#ffffff0d;filter:grayscale(.6)}.chip-color-dot{width:18px;height:18px;border-radius:50%;display:inline-block}.chip-color-name{font-size:.75rem;font-weight:700;color:var(--text-secondary)}.color-chip-btn.active-me .chip-color-name{color:var(--accent-gold)}.chip-check{position:absolute;top:2px;right:4px;font-size:.65rem;font-weight:900;color:var(--accent-gold)}.chip-taken-tag{font-size:.6rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:90%}.btn-start-game-final{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 4px 15px #10b9814d}.btn-start-game-final.ready{background:linear-gradient(135deg,#f59e0b,#d97706);color:#0f172a;box-shadow:0 0 25px #f59e0b80;animation:pulseGlow 2s ease-in-out infinite alternate}.btn-start-game-final.ready:hover{background:linear-gradient(135deg,#fbbf24,#f59e0b);transform:translateY(-2px) scale(1.01);box-shadow:0 0 35px #fbbf24b3}.btn-start-game-final.disabled-btn{background:#ffffff14;border-color:#ffffff1a;color:var(--text-muted);cursor:not-allowed;box-shadow:none;opacity:.6}.select-footer-note{margin-top:1.25rem;font-size:.75rem;color:var(--text-muted);text-align:center}.game-board-layout{min-height:100vh;width:100%;background:#090d16;color:var(--text-primary);display:flex;flex-direction:column;overflow-x:hidden}.game-header-bar{height:64px;background:#0f172ae6;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border-color);padding:0 1.5rem;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100}.header-left{display:flex;align-items:center;gap:1rem}.header-brand{display:flex;align-items:center;gap:.75rem}.header-logos-group{display:flex;align-items:center;gap:.6rem;flex-wrap:nowrap;background:linear-gradient(135deg,#ffffff40,#ffffff1f);padding:.35rem .85rem;border-radius:.85rem;border:1.5px solid rgba(255,255,255,.5);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 4px 16px #00000040,inset 0 1px 1px #fff9}.header-logo-img{height:44px;max-width:110px;width:auto;object-fit:contain;flex-shrink:1;filter:drop-shadow(0 0 8px rgba(251,191,36,.35))}.header-logo-img.logo-img-3{height:52px;max-width:140px;transform:scale(1.15)}.header-logo-x{color:#fbbf24;font-size:1.15rem;font-weight:900;opacity:.9;-webkit-user-select:none;user-select:none;text-shadow:0 0 8px rgba(251,191,36,.7);flex-shrink:0}.header-title-box{display:flex;flex-direction:column}.header-game-title{font-size:1.15rem;font-weight:800;color:var(--text-primary);background:linear-gradient(135deg,#fff,#fbbf24);-webkit-background-clip:text;-webkit-text-fill-color:transparent;line-height:1.2}.header-status-tag{font-size:.65rem;font-weight:700;letter-spacing:.08em;color:var(--accent-cyan)}.header-right-actions{display:flex;align-items:center;gap:.6rem}.header-btn{background:#ffffff14;border:1px solid var(--border-color);border-radius:.6rem;padding:.45rem .85rem;font-size:.85rem;font-weight:700;color:var(--text-primary);cursor:pointer;display:flex;align-items:center;gap:.4rem;transition:all .2s ease}.header-btn:hover{background:#ffffff29;border-color:#ffffff4d;transform:translateY(-1px)}.btn-header-menu{background:#ef444426;border-color:#ef444459;color:#fca5a5}.btn-header-menu:hover{background:#ef44444d;border-color:#ef4444;color:#fff}.game-main-content{flex:1;display:grid;grid-template-columns:1fr 380px;gap:1.25rem;padding:1.25rem;max-width:1700px;margin:0 auto;width:100%}.board-viewport-section{display:flex;flex-direction:column;gap:.85rem}.board-container-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:1.25rem;padding:1rem;display:flex;flex-direction:column;align-items:center;box-shadow:0 15px 35px #00000080;position:relative;transform:translateZ(0)}.board-image-wrapper{position:relative;width:100%;max-width:1000px;border-radius:1rem;overflow:hidden;box-shadow:0 8px 25px #0009;border:2px solid rgba(255,255,255,.1);background:#000;transform:translateZ(0)}.board-main-image,.board-image{width:100%;height:auto;display:block;image-rendering:-webkit-optimize-contrast;image-rendering:high-quality}.start-tile-overlay{position:absolute;bottom:12px;right:12px;background:#0f172ae0;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1.5px solid var(--accent-gold);border-radius:.85rem;padding:.6rem .85rem;display:flex;flex-direction:column;align-items:center;gap:.5rem;box-shadow:0 0 20px #f59e0b66}.start-tile-label{display:flex;align-items:center;gap:.35rem;font-size:.75rem;font-weight:800;color:var(--accent-gold)}.start-tokens-container{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;justify-content:center}.board-player-token{width:32px;height:32px;border-radius:50%;border:2px solid #ffffff;display:flex;align-items:center;justify-content:center;position:relative;transition:transform .25s ease;cursor:pointer}.board-player-token:hover{transform:scale(1.15) translateY(-2px);z-index:10}.token-icon{font-size:.85rem}.board-tokens-layer{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:10}.board-moving-token{position:absolute;transform:translate(-50%,-50%);width:36px;height:36px;border-radius:50%;border:2px solid #ffffff;display:flex;align-items:center;justify-content:center;font-size:1.1rem;transition:left .28s cubic-bezier(.34,1.56,.64,1),top .28s cubic-bezier(.34,1.56,.64,1),transform .2s ease;pointer-events:auto;cursor:pointer;z-index:20}.board-moving-token:hover{transform:translate(-50%,-50%) scale(1.25) translateY(-4px);z-index:40}.board-moving-token.token-stepping{transform:translate(-50%,-50%) scale(1.35) translateY(-10px);z-index:50;box-shadow:0 0 20px #fbbf24,0 10px 15px #00000080!important}.board-moving-token.active-turn-token{box-shadow:0 0 16px #f59e0be6,0 0 26px #f59e0b99!important;animation:active-token-pulse 1.4s infinite alternate}@keyframes active-token-pulse{0%{transform:translate(-50%,-50%) scale(1)}to{transform:translate(-50%,-50%) scale(1.18)}}.token-p-badge{position:absolute;bottom:-16px;left:50%;transform:translate(-50%);background:#0f172aeb;color:#fff;border:1px solid rgba(255,255,255,.25);border-radius:4px;padding:1px 5px;font-size:.65rem;font-weight:800;white-space:nowrap;box-shadow:0 2px 5px #0006}.board-footer-notice{margin-top:.85rem;font-size:.8rem;color:var(--text-muted);text-align:center}.game-sidebar-section{display:flex;flex-direction:column;gap:1rem}.sidebar-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:1.15rem;padding:1rem 1.15rem;box-shadow:0 10px 25px #0006}.card-header-bar{border-bottom:1px solid rgba(255,255,255,.08);padding-bottom:.6rem;margin-bottom:.85rem}.card-title{font-size:.95rem;font-weight:800;color:var(--text-primary)}.players-info-list{display:flex;flex-direction:column;gap:.75rem;max-height:280px;overflow-y:auto}.player-status-row{background:#1e293b80;border:1px solid var(--border-color);border-radius:.85rem;padding:.75rem;display:flex;flex-direction:column;gap:.5rem;transition:all .25s ease}.player-status-row.active-rolling-highlight{border-color:var(--accent-cyan);background:#38bdf81f;box-shadow:0 0 12px #38bdf840}.player-status-row.active-turn-highlight{border-color:var(--accent-gold);background:#f59e0b1f;box-shadow:0 0 15px #f59e0b4d}.player-row-top{display:flex;align-items:center;justify-content:space-between}.player-identity{display:flex;align-items:center;gap:.5rem}.player-color-dot{width:12px;height:12px;border-radius:50%;display:inline-block}.player-row-name{font-size:.9rem;font-weight:800;color:var(--text-primary)}.player-money-badge{font-size:.85rem;font-weight:800;color:#34d399;background:#10b9811f;padding:.15rem .5rem;border-radius:.5rem;border:1px solid rgba(16,185,129,.25)}.player-details-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.35rem .6rem;font-size:.75rem;background:#0f172a66;padding:.5rem .65rem;border-radius:.6rem}.detail-item{display:flex;align-items:center;justify-content:space-between;gap:.25rem}.detail-full-width{grid-column:span 2;border-top:1px dashed rgba(255,255,255,.1);padding-top:.3rem;margin-top:.2rem}.detail-label{color:var(--text-muted)}.detail-val{font-weight:600;color:var(--text-secondary)}.text-muted{color:var(--text-muted)}.text-success{color:#34d399}.text-gold{color:var(--accent-gold);font-weight:700}.sidebar-grid-two-cols{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}.dice-preview-box{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:.25rem 0}.dice-3d-scene{width:64px;height:64px;perspective:400px;margin:.5rem 0}.dice-3d-cube{width:100%;height:100%;position:relative;transform-style:preserve-3d;transition:transform .8s cubic-bezier(.2,.8,.2,1)}.cube-face{position:absolute;width:64px;height:64px;background:linear-gradient(135deg,#fbbf24,#d97706);border:2px solid #fef08a;border-radius:12px;box-shadow:inset 0 0 8px #0000004d,0 0 10px #f59e0b66;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);padding:6px;box-sizing:border-box}.cube-face.face-1{transform:translateZ(32px)}.cube-face.face-6{transform:rotateY(180deg) translateZ(32px)}.cube-face.face-2{transform:rotateY(-90deg) translateZ(32px)}.cube-face.face-5{transform:rotateY(90deg) translateZ(32px)}.cube-face.face-3{transform:rotateX(90deg) translateZ(32px)}.cube-face.face-4{transform:rotateX(-90deg) translateZ(32px)}.dot{width:10px;height:10px;background:#0f172a;border-radius:50%;align-self:center;justify-self:center;box-shadow:inset 0 1px 2px #fff6}.dot.center{grid-column:2;grid-row:2}.dot.top-left{grid-column:1;grid-row:1}.dot.top-right{grid-column:3;grid-row:1}.dot.mid-left{grid-column:1;grid-row:2}.dot.mid-right{grid-column:3;grid-row:2}.dot.bottom-left{grid-column:1;grid-row:3}.dot.bottom-right{grid-column:3;grid-row:3}.dice-3d-cube[data-side="1"]{transform:rotateX(0) rotateY(0)}.dice-3d-cube[data-side="2"]{transform:rotateX(0) rotateY(90deg)}.dice-3d-cube[data-side="3"]{transform:rotateX(-90deg) rotateY(0)}.dice-3d-cube[data-side="4"]{transform:rotateX(90deg) rotateY(0)}.dice-3d-cube[data-side="5"]{transform:rotateX(0) rotateY(-90deg)}.dice-3d-cube[data-side="6"]{transform:rotateX(180deg) rotateY(0)}.dice-3d-cube.rolling-3d{animation:diceRoll3D 1.2s ease-in-out infinite}@keyframes diceRoll3D{0%{transform:rotateX(0) rotateY(0) rotate(0) scale(1)}25%{transform:rotateX(180deg) rotateY(360deg) rotate(90deg) scale(1.15)}50%{transform:rotateX(360deg) rotateY(180deg) rotate(270deg) scale(.9)}75%{transform:rotateX(540deg) rotateY(540deg) rotate(180deg) scale(1.1)}to{transform:rotateX(720deg) rotateY(720deg) rotate(360deg) scale(1)}}.dice-status-badge{font-size:.85rem;font-weight:800;color:var(--text-primary);background:#1e293b99;border:1px solid var(--border-color);padding:.35rem .85rem;border-radius:999px;text-align:center;transition:all .3s ease}.dice-status-badge.rolling-active{color:var(--accent-cyan);border-color:#38bdf866;background:#38bdf81f;animation:pulseGlow 1s ease-in-out infinite alternate}.dice-status-badge.roll-completed{color:#fbbf24;border-color:#fbbf2480;background:#fbbf2426;box-shadow:0 0 12px #fbbf244d}.btn-roll-dice-active{width:100%;background:linear-gradient(135deg,#f59e0b,#d97706);color:#0f172a;border:none;border-radius:.75rem;padding:.6rem .85rem;font-size:.9rem;font-weight:800;box-shadow:0 4px 15px #f59e0b66;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.4rem;transition:all .25s ease}.btn-roll-dice-active:hover:not(:disabled){background:linear-gradient(135deg,#fbbf24,#f59e0b);transform:translateY(-2px);box-shadow:0 8px 22px #f59e0b99}.btn-roll-dice-active.rolling-disabled,.btn-roll-dice-active:disabled{background:#ffffff14;color:var(--text-muted);border:1px solid rgba(255,255,255,.1);box-shadow:none;cursor:not-allowed;opacity:.65;transform:none}.cards-preview-group{display:flex;justify-content:space-around;gap:.5rem}.card-deck-item{display:flex;flex-direction:column;align-items:center;gap:.35rem}.deck-image-wrap{width:48px;height:68px;border-radius:.4rem;overflow:hidden;border:1.5px solid var(--border-color);box-shadow:0 4px 10px #00000080;background:#1e293b;display:flex;align-items:center;justify-content:center}.deck-cover-img{width:100%;height:100%;object-fit:cover}.deck-label{font-size:.65rem;font-weight:700;color:var(--text-secondary);text-align:center}.card-status-note{font-size:.65rem;color:var(--text-muted);text-align:center;margin-top:.5rem}.log-messages-container{display:flex;flex-direction:column;gap:.4rem;max-height:150px;overflow-y:auto;font-size:.75rem;background:#0f172a99;padding:.6rem .75rem;border-radius:.75rem;border:1px solid var(--border-color)}.log-entry{display:flex;gap:.4rem;line-height:1.4}.log-time{color:var(--text-muted);font-weight:600;flex-shrink:0}.log-text{color:var(--text-secondary)}.log-system .log-text{color:var(--accent-cyan)}.log-info .log-text{color:#38bdf8}.log-warn .log-text{color:#fbbf24}@media(max-width:1100px){.game-main-content{grid-template-columns:1fr}.sidebar-grid-two-cols{grid-template-columns:1fr 1fr}}@media(max-width:640px){.game-header-bar{padding:0 .85rem}.header-game-title{font-size:.95rem}.header-btn span:not(.btn-icon){display:none}.sidebar-grid-two-cols{grid-template-columns:1fr}}@media(max-width:640px){.color-picker-grid{grid-template-columns:repeat(3,1fr)}.player-options-grid{grid-template-columns:repeat(3,1fr);gap:.75rem}.select-actions{flex-direction:column}.player-select-card{padding:1.75rem 1.25rem}.select-title{font-size:1.4rem}}.turn-banner-overlay{position:absolute;top:1rem;left:50%;transform:translate(-50%);z-index:999;display:flex;align-items:center;gap:.75rem;padding:.6rem 1.5rem;background:#0f172aeb;border:2px solid var(--accent-gold);border-radius:999px;box-shadow:0 10px 30px #000000b3,0 0 20px #f59e0b66;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);animation:turnBannerSlideIn .4s cubic-bezier(.175,.885,.32,1.275) forwards;pointer-events:none}@keyframes turnBannerSlideIn{0%{opacity:0;transform:translate(-50%,-30px) scale(.85)}to{opacity:1;transform:translate(-50%) scale(1)}}.turn-banner-badge{width:18px;height:18px;border-radius:50%;border:2px solid #ffffff;box-shadow:0 0 8px currentColor}.turn-banner-text{font-size:1.05rem;font-weight:800;color:#fff;letter-spacing:.02em;white-space:nowrap}.board-moving-token.token-stepping{animation:tokenStepBounce .28s ease-in-out infinite alternate;z-index:100!important}@keyframes tokenStepBounce{0%{transform:translateY(0) scale(1)}to{transform:translateY(-16px) scale(1.25) rotate(6deg)}}.board-moving-token.token-landing{animation:tokenLandingPulse .45s cubic-bezier(.175,.885,.32,1.275) forwards}@keyframes tokenLandingPulse{0%{transform:scale(1.4) translateY(-10px)}60%{transform:scale(.9) translateY(0)}to{transform:scale(1) translateY(0)}}.board-tile.tile-landed-green{animation:tileGlowGreen 1s ease-in-out 2}@keyframes tileGlowGreen{0%,to{box-shadow:none;border-color:#34d39966}50%{box-shadow:0 0 30px #10b981,inset 0 0 15px #34d399;border-color:#34d399}}.board-tile.tile-landed-red{animation:tileGlowRed 1s ease-in-out 2}@keyframes tileGlowRed{0%,to{box-shadow:none;border-color:#f8717166}50%{box-shadow:0 0 30px #ef4444,inset 0 0 15px #f87171;border-color:#f87171}}.board-tile.tile-landed-normal{animation:tileGlowNormal 1s ease-in-out 2}@keyframes tileGlowNormal{0%,to{box-shadow:none}50%{box-shadow:0 0 25px #38bdf8,inset 0 0 12px #7dd3fc;border-color:#38bdf8}}.debug-modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0f172ad9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10000;display:flex;align-items:center;justify-content:center;padding:1rem}.debug-modal-container{width:900px;max-width:95vw;max-height:90vh;background:#0f172a;border:2px solid #3b82f6;border-radius:12px;box-shadow:0 20px 50px #000000e6,0 0 30px #3b82f64d;display:flex;flex-direction:column;overflow:hidden}.debug-modal-header{padding:1rem 1.25rem;background:#1e293b;border-bottom:1px solid #334155;display:flex;align-items:center;justify-content:space-between}.debug-modal-body{padding:1.25rem;overflow-y:auto;flex:1}.debug-tabs{display:flex;gap:.5rem;border-bottom:1px solid #334155;margin-bottom:1rem;padding-bottom:.5rem}.debug-tab-btn{padding:.5rem 1rem;background:#1e293b;border:1px solid #334155;color:#cbd5e1;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .2s ease}.debug-tab-btn:hover{background:#334155;color:#fff}.debug-tab-btn.active{background:#2563eb;border-color:#3b82f6;color:#fff;box-shadow:0 0 10px #2563eb80}.debug-tab-content{display:none}.debug-tab-content.active{display:block}.debug-state-box{background:#1e293b;padding:1rem;border-radius:8px;border:1px solid #334155}.debug-stat-item{background:#0f172a;padding:.5rem .75rem;border-radius:6px;border:1px solid #334155;display:flex;flex-direction:column}.debug-stat-item .label{font-size:.75rem;color:#94a3b8}.debug-stat-item .value{font-size:.95rem;font-weight:700}.debug-table{width:100%;border-collapse:collapse;font-size:.82rem;color:#e2e8f0}.debug-table th{background:#0f172a;padding:.5rem;text-align:left;border-bottom:1px solid #334155;color:#94a3b8}.debug-table td{padding:.5rem;border-bottom:1px solid rgba(255,255,255,.05)}.debug-card{background:#1e293b;padding:.85rem;border-radius:8px;border:1px solid #334155}.debug-report-box{background:#1e293b;padding:1rem;border-radius:8px;border:1px solid #10b981}.tile-event-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172abf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:99999;display:flex;align-items:center;justify-content:center;padding:1rem;animation:modal-fade-in .25s cubic-bezier(.16,1,.3,1) forwards}.tile-event-modal-overlay.closing{animation:modal-fade-out .2s cubic-bezier(.7,0,.84,0) forwards}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-fade-out{0%{opacity:1}to{opacity:0}}.tile-event-modal-card{width:100%;max-width:480px;background:#0f172a;border-radius:20px;overflow:hidden;box-shadow:0 25px 50px -12px #00000080,0 0 30px #000c;border:2px solid rgba(255,255,255,.15);transform:scale(.9) translateY(10px);animation:card-pop-in .3s cubic-bezier(.34,1.56,.64,1) forwards}.tile-event-modal-card.green-card{border-color:#10b98180;box-shadow:0 20px 40px -10px #10b98140,0 0 30px #10b98133}.tile-event-modal-card.red-card{border-color:#ef444480;box-shadow:0 20px 40px -10px #ef444440,0 0 30px #ef444433}@keyframes card-pop-in{0%{opacity:0;transform:scale(.85) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.tile-event-modal-header{padding:1.25rem 1.5rem;display:flex;align-items:center;gap:.75rem;color:#fff;font-weight:700;font-size:1.15rem;text-shadow:0 2px 4px rgba(0,0,0,.3)}.tile-event-header-icon{font-size:1.75rem;line-height:1}.tile-event-modal-body{padding:1.5rem;display:flex;flex-direction:column;gap:1rem;color:#f8fafc}.tile-event-player-badge{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:#94a3b8;background:#1e293bcc;padding:.4rem .8rem;border-radius:9999px;width:fit-content;border:1px solid rgba(255,255,255,.1)}.player-dot{width:12px;height:12px;border-radius:50%;display:inline-block;box-shadow:0 0 6px currentColor}.tile-number-tag{background:#ffffff1a;color:#e2e8f0;padding:.1rem .5rem;border-radius:6px;font-size:.8rem;font-weight:600;margin-left:.25rem}.tile-event-title{font-size:1.35rem;font-weight:800;color:#fff;line-height:1.3;margin:0}.tile-event-desc{font-size:1rem;color:#cbd5e1;line-height:1.6;margin:0;background:#0f172a99;padding:.85rem 1rem;border-radius:12px;border-left:4px solid #64748b}.green-card .tile-event-desc{border-left-color:#10b981}.red-card .tile-event-desc{border-left-color:#ef4444}.tile-event-action-box{display:flex;align-items:center;gap:.85rem;padding:.85rem 1.1rem;border-radius:14px;margin-top:.25rem}.tile-event-action-box.green-action{background:#10b9811f;border:1px solid rgba(16,185,129,.35);color:#34d399}.tile-event-action-box.red-action{background:#ef44441f;border:1px solid rgba(239,68,68,.35);color:#f87171}.action-icon{font-size:1.5rem}.action-text-group{display:flex;flex-direction:column}.action-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;opacity:.85;font-weight:600}.action-value{font-size:1.15rem;font-weight:800;line-height:1.2}.tile-event-confirm-btn{width:100%;padding:.85rem 1.5rem;border-radius:12px;font-size:1.05rem;font-weight:700;color:#fff;border:none;cursor:pointer;transition:all .2s ease;margin-top:.5rem;box-shadow:0 4px 12px #00000040}.tile-event-confirm-btn.green-btn{background:linear-gradient(135deg,#10b981,#059669)}.tile-event-confirm-btn.green-btn:hover{background:linear-gradient(135deg,#34d399,#10b981);transform:translateY(-2px);box-shadow:0 6px 20px #10b98166}.tile-event-confirm-btn.red-btn{background:linear-gradient(135deg,#ef4444,#dc2626)}.tile-event-confirm-btn.red-btn:hover{background:linear-gradient(135deg,#f87171,#ef4444);transform:translateY(-2px);box-shadow:0 6px 20px #ef444466}.board-zoom-hud{position:absolute;top:1rem;right:1rem;z-index:35;display:flex;align-items:center;gap:.35rem;background:#0f172ae0;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);padding:.35rem .55rem;border-radius:999px;border:1px solid rgba(255,255,255,.15);box-shadow:0 8px 24px #0009;-webkit-user-select:none;user-select:none}.board-hud-btn{background:transparent;color:#f8fafc;border:none;padding:.35rem .65rem;border-radius:999px;font-size:.82rem;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:.3rem;transition:all .2s ease;min-height:36px}.board-hud-btn:hover{background:#ffffff26;color:var(--accent-cyan)}.board-hud-btn.highlight{background:#38bdf82e;color:#38bdf8;border:1px solid rgba(56,189,248,.4)}.board-viewport-pan-wrapper{width:100%;overflow:hidden;border-radius:1rem;position:relative;cursor:grab;touch-action:pan-x pan-y}.board-viewport-pan-wrapper:active{cursor:grabbing}@keyframes tokenFocusPulseAnim{0%{transform:translate(-50%,-50%) scale(1);filter:drop-shadow(0 0 6px #38bdf8)}50%{transform:translate(-50%,-50%) scale(1.4);filter:drop-shadow(0 0 20px #38bdf8)}to{transform:translate(-50%,-50%) scale(1);filter:drop-shadow(0 0 6px #38bdf8)}}.token-focus-pulse{animation:tokenFocusPulseAnim .75s ease-in-out infinite 2;z-index:50!important}.mobile-board-dock{display:none}.guide-modal-card{width:95vw;max-width:1060px;height:92vh;max-height:880px;background:#0f172a;border:1.5px solid rgba(59,130,246,.4);border-radius:20px;box-shadow:0 0 50px #000c,0 0 30px #3b82f640;display:flex;flex-direction:column;overflow:hidden;color:#f8fafc;animation:scaleUp .25s cubic-bezier(.16,1,.3,1)}.guide-modal-header{padding:1rem 1.4rem;background:linear-gradient(135deg,#1e293b,#0f172a);border-bottom:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-shrink:0}.guide-header-title-group{display:flex;align-items:center;gap:.85rem}.guide-header-icon{font-size:2rem;background:#3b82f626;border-radius:12px;padding:.2rem .5rem;border:1px solid rgba(59,130,246,.3)}.guide-header-title{margin:0;font-size:1.25rem;font-weight:800;color:#60a5fa;line-height:1.3}.guide-header-subtitle{margin:.15rem 0 0;font-size:.85rem;color:#94a3b8}.guide-header-actions{display:flex;align-items:center;gap:.65rem}.guide-pause-badge{background:#f59e0b33;border:1px solid #f59e0b;color:#fbbf24;font-size:.78rem;font-weight:700;padding:.3rem .65rem;border-radius:999px;display:flex;align-items:center;gap:.35rem;white-space:nowrap}.guide-close-btn{background:#ef444426;border:1px solid #ef4444;color:#fca5a5;width:38px;height:38px;border-radius:50%;font-size:1.2rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.guide-close-btn:hover{background:#ef4444;color:#fff;transform:scale(1.08)}.guide-tabs-bar{padding:.75rem 1.4rem;background:#1e293b;border-bottom:1px solid rgba(255,255,255,.08);display:flex;gap:.5rem;flex-shrink:0;overflow-x:auto}.guide-tab-btn{background:#0f172a;border:1px solid #334155;color:#cbd5e1;padding:.55rem 1.15rem;border-radius:10px;font-size:.9rem;font-weight:700;cursor:pointer;display:flex;align-items:center;gap:.45rem;transition:all .2s ease;white-space:nowrap}.guide-tab-btn.active{background:#3b82f6;border-color:#60a5fa;color:#fff;box-shadow:0 4px 14px #3b82f666}.guide-modal-body{flex:1;overflow-y:auto;padding:1.25rem 1.4rem;background:#0f172a}.guide-modal-footer{padding:.75rem 1.4rem;background:#1e293b;border-top:1px solid rgba(255,255,255,.08);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;gap:1rem}.guide-footer-hint{font-size:.85rem;color:#94a3b8;display:flex;align-items:center;gap:.4rem}.guide-footer-btn{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;padding:.6rem 1.4rem;border-radius:10px;font-weight:700;border:none;cursor:pointer;box-shadow:0 4px 12px #3b82f64d;transition:all .2s ease;white-space:nowrap}.guide-content-wrapper{display:flex;flex-direction:column;gap:1.25rem;max-width:900px;margin:0 auto}.guide-card{background:#1e293b;border-radius:14px;padding:1.25rem 1.4rem;border:1px solid rgba(255,255,255,.08);box-shadow:0 4px 16px #00000040}.guide-card.green-accent{border-left:4px solid #10b981}.guide-card.red-accent{border-left:4px solid #ef4444}.guide-card-header{display:flex;align-items:center;gap:.75rem;margin-bottom:.85rem;padding-bottom:.6rem;border-bottom:1px solid rgba(255,255,255,.08)}.guide-badge-num{background:#2563eb;color:#fff;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.9rem;flex-shrink:0}.guide-card-title{margin:0;color:#60a5fa;font-size:1.15rem;font-weight:800}.guide-card-subtitle{margin:.15rem 0 0;color:#94a3b8;font-size:.82rem}.guide-card-body p{line-height:1.6;color:#e2e8f0;font-size:.95rem}.guide-mode-pills{margin-top:.85rem;display:flex;flex-direction:column;gap:.5rem}.guide-mode-pill{background:#0f172a99;padding:.75rem 1rem;border-radius:10px;border:1px solid rgba(255,255,255,.08);font-size:.9rem;line-height:1.5;color:#cbd5e1}.guide-bullet-list{list-style:none;padding:0;display:flex;flex-direction:column;gap:.6rem}.guide-bullet-list li{padding:.5rem .75rem;background:#0f172a80;border-radius:8px;border:1px solid rgba(255,255,255,.05);font-size:.92rem;line-height:1.5;color:#cbd5e1}.guide-tile-types-grid,.guide-platforms-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.75rem;margin-top:.75rem}.tile-type-box,.platform-box{background:#0f172a99;border:1px solid rgba(255,255,255,.08);border-radius:10px;padding:1rem}.tile-type-box.green{border-color:#10b98166;background:#10b98114}.tile-type-box.red{border-color:#ef444466;background:#ef444414}.tile-type-header{font-weight:800;font-size:.95rem;margin-bottom:.4rem;color:#f8fafc}.tile-type-box.green .tile-type-header{color:#34d399}.tile-type-box.red .tile-type-header{color:#f87171}.tile-type-box p,.platform-box p{font-size:.88rem;line-height:1.5;color:#cbd5e1;margin:0}.platform-box h4{margin:0 0 .4rem;font-size:.95rem;font-weight:800;color:#38bdf8}.guide-tiles-group-title{margin:0 0 .85rem;font-size:1.1rem;font-weight:800}.guide-tiles-group-title.green{color:#34d399}.guide-tiles-group-title.red{color:#f87171}.guide-tiles-table{display:flex;flex-direction:column;gap:.55rem}.guide-tile-row{display:flex;align-items:center;gap:.85rem;background:#0f172a99;padding:.65rem .85rem;border-radius:10px;border:1px solid rgba(255,255,255,.06)}.tile-number-badge{font-size:.75rem;font-weight:800;padding:.25rem .55rem;border-radius:6px;white-space:nowrap;flex-shrink:0}.tile-number-badge.green{background:#10b98133;color:#34d399;border:1px solid #10b981}.tile-number-badge.red{background:#ef444433;color:#f87171;border:1px solid #ef4444}.tile-row-content{font-size:.88rem;line-height:1.45;color:#f1f5f9;flex:1;display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.tile-effect-tag{font-size:.75rem;font-weight:800;padding:.15rem .5rem;border-radius:999px;white-space:nowrap}.tile-effect-tag.bonus{background:#10b98140;color:#6ee7b7;border:1px solid #10b981}.tile-effect-tag.penalty{background:#ef444440;color:#fca5a5;border:1px solid #ef4444}.guide-manual-container{display:flex;flex-direction:column;align-items:center;gap:.85rem;width:100%;max-width:920px;margin:0 auto}.guide-manual-toolbar{width:100%;background:#1e293b;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:.6rem 1rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.guide-page-select-group{display:flex;align-items:center;gap:.5rem}.guide-select-label{font-size:.85rem;color:#94a3b8;font-weight:600}.guide-page-select{background:#0f172a;border:1px solid #3b82f6;color:#38bdf8;padding:.4rem .85rem;border-radius:8px;font-weight:700;font-size:.85rem;outline:none;cursor:pointer;max-width:260px}.guide-zoom-controls{display:flex;align-items:center;gap:.4rem}.manual-tool-btn{background:#334155;color:#f8fafc;border:none;padding:.4rem .75rem;border-radius:8px;font-size:.82rem;font-weight:700;cursor:pointer;transition:all .2s ease;min-height:34px}.manual-tool-btn:hover{background:#475569}.manual-tool-btn.primary{background:linear-gradient(135deg,#3b82f6,#1d4ed8);box-shadow:0 4px 10px #3b82f64d}.guide-manual-stage{position:relative;width:100%;max-width:780px;background:#020617;border:2px solid #334155;border-radius:14px;padding:.75rem;display:flex;align-items:center;justify-content:center;min-height:380px;overflow:hidden;box-shadow:0 10px 30px #0009;-webkit-user-select:none;user-select:none;touch-action:pan-y}.guide-manual-image-wrapper{width:100%;display:flex;align-items:center;justify-content:center;overflow:hidden}.guide-manual-image{max-width:100%;max-height:52vh;object-fit:contain;border-radius:8px;transition:transform .25s ease;cursor:zoom-in}.stage-nav-arrow{position:absolute;top:50%;transform:translateY(-50%);background:#0f172ad9;border:1.5px solid #3b82f6;color:#60a5fa;width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.1rem;font-weight:800;cursor:pointer;z-index:10;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:all .2s ease;box-shadow:0 4px 14px #0009}.stage-nav-arrow.left{left:.75rem}.stage-nav-arrow.right{right:.75rem}.stage-nav-arrow:hover{background:#3b82f6;color:#fff;transform:translateY(-50%) scale(1.1)}.guide-swipe-hint{position:absolute;bottom:.6rem;background:#0f172ad9;color:#94a3b8;font-size:.75rem;padding:.25rem .75rem;border-radius:999px;border:1px solid rgba(255,255,255,.1);pointer-events:none}.guide-manual-bottom-nav{display:flex;align-items:center;gap:.75rem;background:#1e293b;padding:.5rem 1rem;border-radius:999px;border:1px solid rgba(255,255,255,.1)}.guide-nav-btn{background:#334155;color:#fff;border:none;padding:.45rem 1.1rem;border-radius:999px;font-weight:700;font-size:.85rem;cursor:pointer;transition:all .2s;min-height:36px}.guide-nav-btn:hover:not(:disabled){background:#3b82f6}.guide-nav-btn:disabled{opacity:.4;cursor:not-allowed}.guide-page-counter-text{font-weight:800;color:#38bdf8;font-size:.92rem;min-width:65px;text-align:center}.guide-thumbs-container{width:100%}.guide-thumbs-scroll{display:flex;gap:.6rem;overflow-x:auto;padding:.4rem .25rem .75rem;scrollbar-width:thin;scrollbar-color:#3b82f6 #0f172a}.guide-thumb-card{width:68px;height:92px;flex-shrink:0;background:#0f172a;border:2px solid #334155;border-radius:8px;overflow:hidden;cursor:pointer;position:relative;transition:all .2s;padding:0}.guide-thumb-card:hover{border-color:#60a5fa;transform:scale(1.05)}.guide-thumb-card.active{border-color:#3b82f6;box-shadow:0 0 14px #3b82f699;transform:scale(1.06)}.guide-thumb-img{width:100%;height:100%;object-fit:cover}.guide-thumb-badge{position:absolute;bottom:2px;right:2px;background:#000000d9;color:#fff;font-size:.65rem;font-weight:800;padding:0 4px;border-radius:3px}.guide-lightbox-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100000;background:#000000f2;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:1rem}.lightbox-top-bar{width:100%;max-width:1200px;display:flex;align-items:center;justify-content:space-between;padding:.6rem 1rem;background:#1e293bcc;border-radius:12px;border:1px solid rgba(255,255,255,.1);color:#60a5fa;font-weight:800}.lightbox-top-actions{display:flex;align-items:center;gap:.6rem}.lightbox-btn{background:#334155;color:#fff;border:none;padding:.4rem .85rem;border-radius:8px;font-weight:700;cursor:pointer;font-size:.85rem}.lightbox-close-btn{background:#ef4444;color:#fff;border:none;width:36px;height:36px;border-radius:50%;font-size:1.2rem;font-weight:700;cursor:pointer}.lightbox-stage{flex:1;width:100%;max-width:1200px;display:flex;align-items:center;justify-content:center;position:relative;overflow:auto}.lightbox-image{max-width:95%;max-height:82vh;object-fit:contain;transition:transform .25s ease;border-radius:8px}.lightbox-nav-btn{position:absolute;top:50%;transform:translateY(-50%);background:#0f172ad9;border:2px solid #3b82f6;color:#60a5fa;width:48px;height:48px;border-radius:50%;font-size:1.2rem;font-weight:800;cursor:pointer;z-index:10;display:flex;align-items:center;justify-content:center}.lightbox-nav-btn.left{left:1rem}.lightbox-nav-btn.right{right:1rem}@media(max-width:1024px){.game-main-content{grid-template-columns:1fr 340px;gap:1rem;padding:1rem}}@media(max-width:860px){body{padding-bottom:90px}.game-main-content{grid-template-columns:1fr;gap:.85rem;padding:.65rem .65rem 5rem}.game-header-bar{padding:.5rem .75rem;height:auto;flex-wrap:wrap;gap:.5rem}.header-logo-img{height:30px!important}.header-game-title{font-size:.95rem}.header-status-tag{font-size:.72rem}.header-right-actions{gap:.35rem}.header-btn{padding:.4rem .65rem;font-size:.78rem}.board-container-card{padding:.5rem;border-radius:14px}.board-zoom-hud{top:.6rem;right:.6rem;padding:.25rem .4rem}.board-hud-btn{padding:.25rem .45rem;font-size:.75rem;min-height:32px}.mobile-board-dock{display:flex;flex-direction:column;position:fixed;bottom:0;left:0;right:0;z-index:900;background:#0f172af7;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid rgba(255,255,255,.15);box-shadow:0 -8px 30px #000000b3;padding-bottom:max(.5rem,env(safe-area-inset-bottom))}.mobile-dock-turn-bar{display:flex;align-items:center;justify-content:space-between;padding:.5rem .85rem;border-bottom:1px solid rgba(255,255,255,.08);gap:.65rem}.mobile-dock-turn-info{display:flex;align-items:center;gap:.45rem;font-size:.88rem;font-weight:800;color:#f8fafc;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mobile-turn-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.btn-mobile-roll-dice{background:linear-gradient(135deg,#f59e0b,#d97706);color:#0f172a;border:none;padding:.65rem 1.4rem;border-radius:999px;font-weight:900;font-size:.95rem;cursor:pointer;display:flex;align-items:center;gap:.4rem;box-shadow:0 4px 15px #f59e0b66;transition:all .2s ease;white-space:nowrap;min-height:44px}.btn-mobile-roll-dice.rolling-disabled{opacity:.5;filter:grayscale(.8);cursor:not-allowed}.mobile-dock-tabs{display:grid;grid-template-columns:repeat(3,1fr);padding:.35rem .5rem .25rem;gap:.35rem}.mobile-tab-btn{background:transparent;border:none;color:#94a3b8;padding:.5rem .2rem;border-radius:8px;font-size:.78rem;font-weight:700;display:flex;align-items:center;justify-content:center;gap:.35rem;cursor:pointer;transition:all .2s ease;min-height:40px}.mobile-tab-btn.active{background:#3b82f640;color:#60a5fa;border:1px solid rgba(59,130,246,.4)}#game-sidebar-section[data-mobile-active-tab=CONTROLS] #sidebar-dice-card{display:block!important}#game-sidebar-section[data-mobile-active-tab=CONTROLS] #sidebar-players-card,#game-sidebar-section[data-mobile-active-tab=CONTROLS] #sidebar-log-card,#game-sidebar-section[data-mobile-active-tab=PLAYERS] #sidebar-dice-card{display:none!important}#game-sidebar-section[data-mobile-active-tab=PLAYERS] #sidebar-players-card{display:block!important}#game-sidebar-section[data-mobile-active-tab=PLAYERS] #sidebar-log-card,#game-sidebar-section[data-mobile-active-tab=LOGS] #sidebar-dice-card,#game-sidebar-section[data-mobile-active-tab=LOGS] #sidebar-players-card{display:none!important}#game-sidebar-section[data-mobile-active-tab=LOGS] #sidebar-log-card{display:block!important}.guide-modal-card{width:100vw;height:100dvh;max-height:100dvh;border-radius:0;border:none}.guide-header-title{font-size:1.05rem}.guide-header-subtitle,.guide-footer-hint{display:none}.guide-modal-footer{justify-content:center;padding:.6rem 1rem}.guide-footer-btn{width:100%;min-height:44px;font-size:1rem}.lobby-container{padding:.75rem!important}.lobby-container>div{padding:1rem!important}.lobby-container div[style*="grid-template-columns: 1.2fr 1fr"]{grid-template-columns:1fr!important}}@media(max-width:480px){.menu-btn{font-size:1.05rem!important;padding:.85rem 1.25rem!important;min-height:48px}.select-title{font-size:1.35rem!important}.player-options-grid{grid-template-columns:repeat(3,1fr)!important;gap:.5rem!important}.color-picker-grid{grid-template-columns:repeat(3,1fr)!important;gap:.4rem!important}.color-chip-btn{padding:.5rem .25rem!important;font-size:.75rem!important}}
