:root,[data-theme=default],[data-theme=legacy]{--bg: #0d1117;--card: #161b22;--card-border: #21262d;--text: #f0f6fc;--muted: #8b949e;--muted-light: #283446;--accent: #3877d3;--accent-hover: #4a88e4;--accent-text: #ffffff;--secondary-accent: #2563eb;--highlight: #3877d3;--danger: #d9534f;--good: #3877d3;--shadow: 0 8px 24px rgba(0, 0, 0, .55);--radius: 14px;--key-bg: #121720;--key-border: #1f2937;--key-border-top: #374151;--key-shadow: #080c12;--key-active: #3877d3;--key-active-text: #ffffff;--btn-subtle: #1c2330;--btn-subtle-border: #2d3748;--row-bg: #111620}[data-theme=forest]{--bg: #121619;--card: #1c2620;--card-border: #2d4739;--text: #f0f4f1;--muted: #a3b2a8;--muted-light: #2d4739;--accent: #09814a;--accent-hover: #0cb35a;--accent-text: #ffffff;--secondary-accent: #bcb382;--highlight: #e5c687;--danger: #d9534f;--good: #09814a;--shadow: 0 8px 24px rgba(0, 0, 0, .45);--radius: 14px;--key-bg: #16201a;--key-border: #23372c;--key-border-top: #365444;--key-shadow: #0a110d;--key-active: #09814a;--key-active-text: #ffffff;--btn-subtle: #24352b;--btn-subtle-border: #2d4739;--row-bg: #151d18}[data-theme=kawai]{--bg: #1a1218;--card: #281a24;--card-border: #42293b;--text: #fdf2f7;--muted: #b898aa;--muted-light: #482e44;--accent: #ff6b9d;--accent-hover: #ff85b1;--accent-text: #ffffff;--secondary-accent: #f7aef8;--highlight: #ffd1dc;--danger: #ff4d6d;--good: #4cc9f0;--shadow: 0 8px 24px rgba(0, 0, 0, .45);--radius: 14px;--key-bg: #21151e;--key-border: #3b2432;--key-border-top: #543748;--key-shadow: #120b13;--key-active: #ff6b9d;--key-active-text: #ffffff;--btn-subtle: #332030;--btn-subtle-border: #482e44;--row-bg: #1c131a}[data-theme=blackout]{--bg: #080808;--card: #141414;--card-border: #262626;--text: #f5f5f5;--muted: #737373;--muted-light: #333333;--accent: #ff2a2a;--accent-hover: #ff4d4d;--accent-text: #ffffff;--secondary-accent: #e5e5e5;--highlight: #a3a3a3;--danger: #cc0000;--good: #22c55e;--shadow: 0 8px 24px rgba(0, 0, 0, .7);--radius: 14px;--key-bg: #121212;--key-border: #242424;--key-border-top: #3a3a3a;--key-shadow: #030303;--key-active: #ff2a2a;--key-active-text: #ffffff;--btn-subtle: #202020;--btn-subtle-border: #333333;--row-bg: #0f0f0f}[data-theme=fire]{--bg: #140d0b;--card: #211411;--card-border: #3b201a;--text: #fdf5f2;--muted: #aa8e86;--muted-light: #422620;--accent: #ff5500;--accent-hover: #ff7722;--accent-text: #ffffff;--secondary-accent: #ffaa00;--highlight: #ff3300;--danger: #d90429;--good: #2a9d8f;--shadow: 0 8px 24px rgba(0, 0, 0, .5);--radius: 14px;--key-bg: #1c100d;--key-border: #331d17;--key-border-top: #4d2b23;--key-shadow: #0d0705;--key-active: #ff5500;--key-active-text: #ffffff;--btn-subtle: #2d1914;--btn-subtle-border: #422620;--row-bg: #180d0a}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;scrollbar-width:thin;scrollbar-color:var(--muted-light) transparent}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background-color:var(--muted-light);border-radius:999px;border:1px solid transparent;background-clip:padding-box;transition:background-color .15s ease}::-webkit-scrollbar-thumb:hover{background-color:var(--accent)}::-webkit-scrollbar-thumb:active{background-color:var(--accent-hover, var(--accent))}::-webkit-scrollbar-corner{background:transparent}html,body{margin:0;height:100%;min-height:100dvh;background:var(--bg);color:var(--text);font-family:Plus Jakarta Sans,Outfit,system-ui,-apple-system,sans-serif;transition:background-color .3s ease,color .3s ease;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.app-header{position:relative;text-align:center;padding:12px 16px}.app-header h1{margin:0;font-size:44px;font-weight:800;font-family:Outfit,sans-serif;letter-spacing:-.5px;color:var(--accent)}.img-header{width:60px;height:64px;border-radius:12px;object-fit:cover;margin-bottom:6px}.btn-settings-header,.btn-language-header{position:absolute;top:12px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--btn-subtle-border);background:var(--btn-subtle);color:var(--text);width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease;box-shadow:0 2px 6px #0000004d}.btn-settings-header{right:16px}.btn-language-header{right:62px}.btn-settings-header:hover,.btn-language-header:hover{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent)}.screen{padding:12px;max-width:1000px;margin:0 auto}.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:12px;margin:12px;border:1px solid var(--card-border);transition:background-color .3s ease,border-color .3s ease}.setup-cards-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:12px}.setup-cards-row>.card{margin:0;height:100%;display:flex;flex-direction:column;justify-content:space-between}@media (max-width: 680px){.setup-cards-row{grid-template-columns:1fr;gap:12px}}.card-pwa-install{display:flex;flex-direction:column;gap:14px}.pwa-card-header{text-align:center}.pwa-card-title{margin:0;font-size:1.25rem;font-weight:800;font-family:Outfit,sans-serif;color:var(--text);letter-spacing:-.3px}.pwa-card-body{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}.pwa-app-icon-wrapper{display:flex;flex-direction:column;align-items:center;gap:6px}.pwa-app-icon{width:52px;height:52px;border-radius:14px;object-fit:cover;border:1px solid var(--btn-subtle-border);box-shadow:0 4px 10px #00000040}.pwa-app-label{font-size:.85rem;font-weight:800;color:var(--text)}.pwa-app-info{flex:1 1 0%}.pwa-app-desc{margin:0;font-size:.92rem;line-height:1.45;color:var(--text)}.pwa-card-actions{width:100%;display:flex;justify-content:center}.btn-install-pwa{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:auto;max-width:220px;padding:10px 22px;border-radius:10px;border:1px solid var(--btn-subtle-border);background:var(--btn-subtle);color:var(--text);font-size:.95rem;font-weight:800;font-family:Outfit,sans-serif;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:background .15s ease,border-color .15s ease,color .15s ease}.btn-install-pwa:hover{background:var(--card-border);border-color:var(--muted)}.btn-install-pwa:active{transform:scale(.98)}.btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;border-radius:999px;padding:12px 16px;background:var(--btn-subtle);color:var(--text);font-weight:700;cursor:pointer;box-shadow:0 2px 6px #0000004d;transition:background .15s,transform .1s,border-color .15s;border:1px solid var(--btn-subtle-border)}.btn.primary{background:var(--accent);color:var(--accent-text);font-weight:800;border:none}.btn.primary:hover{background:var(--accent-hover)}.btn.secondary{background:var(--btn-subtle);color:var(--text)}.btn.ghost{background:transparent;border:1px solid var(--btn-subtle-border)}.btn.danger{background:var(--danger);color:#fff;border:none}.btn:disabled{opacity:.5;cursor:not-allowed}.card-players-setup{display:flex;flex-direction:column;gap:14px}.players-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:2px}.players-title-group{display:flex;align-items:center;gap:8px}.players-card-title{margin:0;font-size:1.3rem;font-weight:800;font-family:Outfit,sans-serif;color:var(--text);letter-spacing:-.3px}.players-count-badge{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--btn-subtle);border:1px solid var(--card-border);color:var(--muted);font-size:.78rem;font-weight:800}.btn-shuffle-order{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--btn-subtle-border);background:var(--btn-subtle);color:var(--text);padding:6px 12px;border-radius:8px;font-size:.82rem;font-weight:700;font-family:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:background .15s ease,border-color .15s ease}.btn-shuffle-order:hover{background:var(--card-border);border-color:var(--muted)}.players-list{display:flex;flex-direction:column;gap:10px}.player-row{display:flex;align-items:center;gap:10px;background:var(--row-bg);border-radius:12px;padding:8px 12px;border:1px solid var(--card-border);transition:border-color .15s ease,background .15s ease,transform .15s ease;-webkit-user-select:none;user-select:none}.player-row:hover{border-color:var(--btn-subtle-border)}.player-row.dragging{opacity:.4;border-style:dashed;border-color:var(--accent)}.player-row.drag-over{border-color:var(--accent);background:#ffffff14;transform:translateY(2px)}.drag-handle{display:flex;align-items:center;justify-content:center;color:var(--muted);cursor:grab;padding:6px 4px;flex-shrink:0;transition:color .15s ease;touch-action:none;-webkit-user-select:none;user-select:none}.drag-handle:hover,.player-row:hover .drag-handle{color:var(--text)}.drag-handle:active{cursor:grabbing}.player-order-num{font-size:.82rem;font-weight:800;color:var(--muted);width:16px;text-align:center;flex-shrink:0;font-variant-numeric:tabular-nums}.btn-player-color-ball{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:32px;height:32px;min-width:32px;border-radius:50%;border:2px solid rgba(255,255,255,.25);cursor:pointer;flex-shrink:0;padding:0;margin:0;transition:transform .15s ease,border-color .15s ease}.btn-player-color-ball:hover{transform:scale(1.08);border-color:#fff9}.player-name-field{flex:1 1 0%;min-width:0;display:flex;align-items:center}.player-name-input{width:100%;padding:8px 10px;margin:0;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--text);font-size:.98rem;font-weight:700;outline:none;transition:border-color .15s ease,background .15s ease}.player-name-input:hover{background:#ffffff0a}.player-name-input:focus{background:var(--card);border-color:var(--accent)}.btn-remove-player{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:32px;height:32px;min-width:32px;flex-shrink:0;padding:0;margin:0;display:flex;align-items:center;justify-content:center;border-radius:8px;background:#d9534f1f;border:1px solid rgba(217,83,79,.25);color:#e55353;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease}.btn-remove-player:hover{background:#d9534f;border-color:#d9534f;color:#fff}.add-player-wrapper{margin-top:2px}.btn-add-player{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;padding:11px 16px;border-radius:10px;border:1px dashed var(--muted);background:var(--btn-subtle);color:var(--text);font-size:.95rem;font-weight:700;font-family:inherit;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:background .15s ease,border-color .15s ease}.btn-add-player:hover{background:var(--card-border);border-color:var(--text)}.btn-add-player .add-icon{font-size:1.1rem;line-height:1}.players-card-hint{color:var(--muted);font-size:.82rem;text-align:center;margin-top:-2px}.start-game-wrapper{margin-top:4px}.btn-start-game-primary{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;padding:13px 20px;border-radius:12px;border:none;background:var(--accent);color:var(--accent-text, #11151e);font-size:1.05rem;font-weight:800;font-family:Outfit,sans-serif;letter-spacing:-.2px;cursor:pointer;transition:transform .1s ease,filter .15s ease}.btn-start-game-primary:hover{filter:brightness(1.08)}.btn-start-game-primary:active{transform:scale(.98)}.img-app-icon{border-radius:12px;width:48px;height:48px;object-fit:cover}.div-app-icon{display:flex;flex-direction:column;justify-content:center;align-items:center}.molkky-board{display:flex;flex-direction:column;gap:12px}.molkky-title{margin:0;font-size:1.25rem;font-weight:800;font-family:Outfit,sans-serif;color:var(--text);letter-spacing:-.3px;text-align:center}.molkky-rows{display:flex;flex-direction:column;gap:10px;align-items:center}.molkky-row{display:flex;gap:12px;justify-content:center}.log{width:38px;height:38px;border-radius:50%;background-color:#dcb072!important;color:#2c1e0e!important;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.95rem;font-variant-numeric:tabular-nums;box-shadow:0 3px #9c7546!important;border:1px solid #f0cd94!important;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent!important;outline:none!important;cursor:pointer;transition:transform .6s cubic-bezier(.2,.8,.2,1),box-shadow .6s cubic-bezier(.2,.8,.2,1);touch-action:manipulation}.log:focus,.log:focus-visible,.log:active{outline:none!important;-webkit-tap-highlight-color:transparent!important}@media (hover: hover) and (pointer: fine){.log:hover{transform:translateY(-3px) scale(1.08);box-shadow:0 6px #9c7546!important;transition:none}}.log.popped,.log:active{transform:translateY(-5px) scale(1.22);box-shadow:0 8px #9c7546!important;transition:transform .05s ease-out,box-shadow .05s ease-out}.molkky-note{margin:4px 0 0;font-size:.85rem;color:var(--muted);text-align:center}.list-rules{align-content:center}#appFooter{bottom:0;left:0;right:0;z-index:10;text-align:center;padding:12px 16px;color:var(--muted)}#appFooter a{color:var(--accent);text-decoration:none}body.in-game{height:100%!important;height:100vh!important;height:100dvh!important;max-height:100%!important;max-height:100vh!important;max-height:100dvh!important;overflow:hidden!important;margin:0!important;padding:0!important}body.in-game .app-header,body.in-game #appFooter,body.in-game #setup{display:none!important}body.in-game #game.screen,#game.screen{display:flex!important;flex-direction:column!important;position:fixed!important;top:0!important;left:0!important;right:0!important;bottom:0!important;width:100%!important;height:100%!important;height:100vh!important;height:100dvh!important;max-height:100%!important;max-height:100vh!important;max-height:100dvh!important;padding:0!important;margin:0 auto;box-sizing:border-box;overflow:hidden;gap:0!important;background:var(--bg);z-index:1000!important}.current-player-card{flex:0 0 auto;background:var(--card);border-radius:0!important;padding:8px 14px;margin:0;box-shadow:0 2px 8px #0006;border:none;border-bottom:1px solid var(--card-border);z-index:60}.current-player-top{display:flex;align-items:center;justify-content:space-between;width:100%}.current-player-info{text-align:left}.current-player-info h3{margin:0;font-size:1.15rem;font-weight:800;font-family:Outfit,sans-serif}.current-player-info p{margin:0;font-size:.85rem;color:var(--muted)}.btn-exit-game{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--btn-subtle-border);background:var(--btn-subtle);color:var(--muted);width:38px;height:38px;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease;box-shadow:0 2px 4px #0000004d}.btn-exit-game:hover{background:#d9534f26;color:#d9534f;border-color:#d9534f66}.turn-progress-wrapper{position:relative;width:100%;margin-top:6px;display:flex;align-items:center;justify-content:center}.turn-progress-track{width:100%;height:16px;background:var(--row-bg);border-radius:8px;overflow:hidden;position:relative;border:1px solid var(--card-border)}.turn-progress-fill{height:100%;border-radius:0;transition:width .3s cubic-bezier(.2,.8,.2,1)}.turn-progress-text{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:800;font-variant-numeric:tabular-nums;color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.9);pointer-events:none;line-height:1}.score-scroll-container{flex:1 1 0%;min-height:0;overflow:auto;background:var(--card);border-radius:0!important;padding:0;margin:0;position:relative;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;border:none}#scoreTable{display:flex;flex-direction:column;gap:0!important;width:max-content;min-width:100%;padding:0}.score-row{display:flex;gap:2px;align-items:stretch;padding:0;box-sizing:border-box}.round-header,.round-number,.total-label{position:sticky;left:0;z-index:35;width:44px;min-width:44px;margin:0!important;box-sizing:border-box;text-align:center;font-weight:800;font-size:.85rem;font-variant-numeric:tabular-nums;background-color:var(--row-bg)!important;padding:9px 0;border-right:2px solid var(--card-border);border-bottom:1px solid var(--card-border);color:var(--muted);box-shadow:4px 0 10px #0009;display:flex;align-items:center;justify-content:center}.score-row.header-row{position:sticky;top:0;z-index:30;background-color:var(--row-bg)!important;padding:0;border-bottom:2px solid var(--card-border);box-shadow:0 4px 10px #0006}.score-row.header-row .round-header{z-index:50!important;background-color:var(--row-bg)!important;margin:0!important;padding:9px 0;border-bottom:none}.score-row.total-row{position:sticky;bottom:0;z-index:28;background-color:var(--row-bg)!important;padding:0;border-top:2px solid var(--card-border);box-shadow:0 -6px 14px #00000080}.score-row.total-row .total-label{z-index:45!important;background-color:var(--row-bg)!important;margin:0!important;padding:9px 0;border-bottom:none}.player-name-header{flex:1 1 80px;min-width:80px;box-sizing:border-box;color:#fff;padding:8px 4px;border-radius:0;border:1px solid var(--card-border);font-size:.85rem;font-weight:800;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 1px 2px rgba(0,0,0,.5);box-shadow:none}.player-name-header.active-player{outline:none;box-shadow:inset 0 0 0 2px var(--accent)}.score-cell{z-index:1;flex:1 1 80px;min-width:80px;box-sizing:border-box;text-align:center;padding:10px 0;border-radius:0;background-color:#ffffff0a;border:1px solid var(--card-border);font-weight:700;font-size:.95rem;font-variant-numeric:tabular-nums;cursor:pointer;transition:background .15s,transform .1s;box-shadow:none}.score-cell.current-player{background-color:var(--highlight)!important;color:var(--key-active-text)!important;font-weight:800;box-shadow:none}.score-cell.editing{background-color:#e68a3e!important;color:#fff!important;box-shadow:none}.editing-cell-content{display:inline-flex;align-items:center;justify-content:center;gap:3px}.edit-pen-icon{margin-left:1px;animation:penPulse 1.2s infinite ease-in-out}@keyframes penPulse{0%,to{transform:scale(1);opacity:.85}50%{transform:scale(1.25);opacity:1}}.total-cell{flex:1 1 80px;min-width:80px;box-sizing:border-box;text-align:center;padding:10px 0;border-radius:0;background-color:var(--card)!important;border:1px solid var(--card-border);font-weight:800;font-size:1.05rem;font-variant-numeric:tabular-nums;color:var(--text);box-shadow:none}.total-cell.active-total{background-color:var(--accent)!important;color:var(--accent-text)!important;border-color:var(--accent)!important;box-shadow:none}.player-name-header.eliminated,.score-cell.eliminated,.total-cell.eliminated{background-color:#0000004d!important;color:var(--muted)!important;border-color:var(--card-border)!important}.keypad.card{flex:0 0 auto;margin:0;padding:10px 12px 12px;background:var(--card);border-radius:0!important;box-shadow:0 -4px 14px #0009;border:none;border-top:1px solid var(--card-border);z-index:50;transition:border-color .3s ease}@keyframes subtleGreenPulse{0%,to{border-top-color:#2ecc7166;box-shadow:0 -4px 14px #0009,inset 0 0 0 1px #2ecc7140}50%{border-top-color:#2ecc71f2;box-shadow:0 -4px 14px #0009,inset 0 0 0 1px #2ecc71b3}}.keypad.card.editing-active{animation:subtleGreenPulse 1.8s infinite ease-in-out;border-top:2px solid #2ecc71!important}.keypad-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.key{padding:18px 0;min-height:60px;border-radius:10px;border:1px solid var(--key-border);border-top:1px solid var(--key-border-top);background:var(--key-bg);font-size:22px;font-weight:800;font-variant-numeric:tabular-nums;cursor:pointer;color:var(--text);position:relative;box-shadow:0 4px 0 var(--key-shadow);transition:transform .08s ease,background-color .12s,box-shadow .08s}.key:active{transform:translateY(3px);box-shadow:0 1px 0 var(--key-shadow);background:var(--key-active);color:var(--key-active-text)}.keypad-bottom-row{display:flex;gap:8px;margin-top:8px;width:100%}.btn-miss{flex:2 1 0%;padding:16px 0;min-height:56px;border-radius:10px;border:1px solid #b83f3f;border-top:1px solid #f07373;background:#d9534f;font-size:20px;font-weight:800;cursor:pointer;color:#fff;box-shadow:0 4px #7a2626;transition:transform .08s ease,box-shadow .08s}.btn-miss:active{transform:translateY(3px);box-shadow:0 1px #7a2626}.btn-undo{flex:1 1 0%;padding:16px 0;min-height:56px;border-radius:10px;border:1px solid var(--btn-subtle-border);border-top:1px solid var(--key-border-top);background:var(--btn-subtle);color:var(--text);font-size:16px;font-weight:800;cursor:pointer;box-shadow:0 4px 0 var(--key-shadow);display:flex;align-items:center;justify-content:center;gap:6px;transition:transform .08s ease,box-shadow .08s,background-color .12s}.btn-undo:active{transform:translateY(3px);box-shadow:0 1px 0 var(--key-shadow);background:var(--card-border)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000bf;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;opacity:1;pointer-events:auto;transition:opacity .2s ease-in-out;padding:16px}.modal-card{background:var(--card);border-radius:var(--radius);box-shadow:0 12px 32px #00000080;border:1px solid var(--card-border);padding:20px;max-width:420px;width:100%;color:var(--text)}.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.modal-header h2{margin:0;font-size:1.25rem;font-weight:800;font-family:Outfit,sans-serif}.modal-close-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;color:var(--muted);font-size:1.6rem;line-height:1;cursor:pointer;padding:0 4px}.modal-close-btn:hover{color:var(--text)}.modal-title{margin:0 0 12px;font-size:1.25rem;font-weight:700}.modal-body{font-size:.95rem;line-height:1.5;color:var(--text);margin-bottom:16px}.modal-actions{display:flex;gap:10px;justify-content:flex-end}.settings-modal-card{max-width:440px;width:92vw}.settings-section-title{margin:0 0 4px;font-size:1.05rem;font-weight:800;color:var(--text)}.settings-subtitle{margin:0 0 12px;font-size:.85rem;color:var(--muted)}.custom-dropdown-container{position:relative;margin-bottom:14px}.custom-dropdown-trigger{width:100%;display:flex;align-items:center;justify-content:space-between;padding:12px 14px;background:var(--btn-subtle);border:1px solid var(--btn-subtle-border);border-radius:12px;color:var(--text);cursor:pointer;transition:all .2s ease;text-align:left;box-shadow:0 2px 6px #0003}.custom-dropdown-trigger:hover,.custom-dropdown-trigger.open{border-color:var(--accent);background:var(--card)}.trigger-content{display:flex;align-items:center;gap:10px}.trigger-title{font-weight:800;font-size:.95rem}.trigger-swatches{display:flex;gap:4px}.swatch-dot.mini{width:12px;height:12px}.chevron-icon{transition:transform .2s ease;color:var(--muted);flex-shrink:0}.chevron-icon.open{transform:rotate(180deg);color:var(--accent)}.custom-dropdown-menu{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:200;background-color:var(--card)!important;opacity:1!important;border:1px solid var(--accent);border-radius:12px;box-shadow:0 16px 40px #000000f2;overflow:hidden;max-height:270px;overflow-y:auto;display:flex;flex-direction:column;padding:6px;gap:4px;animation:fadeInDropdown .15s ease-out}@keyframes fadeInDropdown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.custom-dropdown-item{padding:10px 12px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition:background-color .15s ease;border:1px solid transparent}.custom-dropdown-item:hover{background:var(--btn-subtle)}.custom-dropdown-item.selected{background:var(--btn-subtle);border-color:var(--accent)}.item-info{display:flex;flex-direction:column;gap:2px}.item-header{display:flex;align-items:center;gap:6px}.item-name{font-weight:800;font-size:.9rem;color:var(--text)}.item-check{font-weight:800;font-size:.85rem;color:var(--accent)}.item-desc{font-size:.75rem;color:var(--muted)}.item-swatches{display:flex;gap:4px}.swatch-dot{width:18px;height:18px;border-radius:50%;border:1px solid rgba(255,255,255,.2);box-shadow:0 1px 3px #0000004d}.settings-danger-zone{margin-top:18px;padding-top:14px;border-top:1px solid var(--card-border)}.danger-title{color:#f07373}.btn-clear-data{width:100%;margin-top:6px;background:#d9534f1f;border:1px solid rgba(217,83,79,.4);color:#f07373;font-size:.9rem;font-weight:700;padding:10px 14px;border-radius:10px;cursor:pointer;transition:all .15s ease}.btn-clear-data:hover{background:var(--danger);color:#fff;border-color:var(--danger)}.language-modal-card{max-width:400px}.language-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:12px 0 6px}.language-card{background:var(--btn-subtle);border:2px solid var(--btn-subtle-border);border-radius:14px;padding:16px 8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:all .2s ease;position:relative;-webkit-user-select:none;user-select:none}.language-card:hover{border-color:var(--accent);transform:translateY(-2px);background:var(--card)}.language-card.selected{border-color:var(--accent);background:var(--card);box-shadow:0 0 0 2px var(--accent)}.language-flag-wrapper{display:flex;align-items:center;justify-content:center;box-shadow:0 4px 10px #00000059;border-radius:50%;transition:transform .2s ease}.language-card:hover .language-flag-wrapper{transform:scale(1.08)}.language-card-name{font-weight:800;font-size:.88rem;color:var(--text)}.language-check-badge{position:absolute;top:6px;right:8px;font-size:.8rem;font-weight:800;color:var(--accent)}.btn-player-color-ball{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:32px;height:32px;min-width:32px;border-radius:50%;border:2px solid rgba(255,255,255,.4);box-shadow:inset 0 -3px 4px #0000004d,0 2px 6px #00000059;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;display:flex;align-items:center;justify-content:center;padding:0;position:relative;overflow:hidden}.btn-player-color-ball:hover{transform:scale(1.15);box-shadow:inset 0 -3px 4px #0000004d,0 4px 10px #00000080}.color-picker-modal-card{max-width:380px}.color-picker-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:16px 0 8px;justify-items:center}.color-ball-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;background:transparent;width:58px;height:58px;border-radius:50%;cursor:pointer;position:relative;display:flex;align-items:center;justify-content:center;padding:0;transition:transform .18s cubic-bezier(.34,1.56,.64,1),box-shadow .18s ease}.color-ball-inner{width:100%;height:100%;border-radius:50%;border:2.5px solid rgba(255,255,255,.45);box-shadow:inset -4px -6px 8px #0006,inset 3px 3px 6px #fff6,0 4px 12px #00000059;transition:all .15s ease}.color-ball-btn:hover{transform:scale(1.14)}.color-ball-btn.selected{transform:scale(1.12)}.color-ball-btn.selected .color-ball-inner{border-color:#fff;box-shadow:inset -4px -6px 8px #0006,0 0 0 3px var(--accent),0 6px 16px #00000080}.color-ball-check{position:absolute;color:#fff;font-size:1.2rem;font-weight:900;text-shadow:0 2px 4px rgba(0,0,0,.8);pointer-events:none}.rules-card{margin-top:12px}.rules-title,.rules-card h2{margin:0 0 12px;font-size:1.25rem;font-weight:800;font-family:Outfit,sans-serif;color:var(--text)}.rules-content{display:flex;flex-direction:column;gap:12px}.rule-item{display:flex;align-items:flex-start;gap:12px;font-size:.92rem;line-height:1.45;color:var(--text)}.rule-number{display:flex;align-items:center;justify-content:center;width:26px;height:26px;min-width:26px;border-radius:50%;background:var(--accent);color:var(--accent-text, #11151e);font-weight:800;font-size:.85rem;margin-top:2px}.rule-item ul{margin:6px 0 0;padding-left:18px}.rule-item li{margin-bottom:4px}.card-saved-games{display:flex;flex-direction:column;gap:12px}.saved-games-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:4px}.saved-games-title-group{display:flex;align-items:center;gap:10px}.saved-games-card-title{margin:0;font-size:1.25rem;font-weight:800;font-family:Outfit,sans-serif;color:var(--text);letter-spacing:-.3px}.saved-games-count-badge{background:var(--btn-subtle);border:1px solid var(--btn-subtle-border);color:var(--accent);font-size:.8rem;font-weight:800;padding:2px 9px;border-radius:12px}.card-no-games{padding:24px 16px;text-align:center}.no-games-content{display:flex;flex-direction:column;align-items:center;gap:10px}.no-games-icon-wrapper{width:64px;height:64px;border-radius:50%;background:var(--btn-subtle);border:1px solid var(--btn-subtle-border);display:flex;align-items:center;justify-content:center;color:var(--accent);margin-bottom:4px}.no-games-title{margin:0;font-size:1.15rem;font-weight:800;font-family:Outfit,sans-serif;color:var(--text)}.no-games-text{margin:0;font-size:.9rem;color:var(--muted);max-width:320px;line-height:1.45}.saved-games-list{display:flex;flex-direction:column;gap:12px}.saved-game-item{background:var(--btn-subtle);border:1px solid var(--btn-subtle-border);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:10px;transition:all .2s ease;position:relative}.saved-game-item:hover{border-color:var(--accent);box-shadow:0 4px 14px #00000040}.saved-game-item.latest-game-item{border-left:4px solid var(--accent);background:linear-gradient(135deg,var(--btn-subtle) 0%,var(--card) 100%)}.saved-game-item-top{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.item-meta-badges{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.badge-latest{background:#3877d32e;border:1px solid var(--accent);color:var(--accent);font-weight:800;font-size:.72rem;padding:2px 8px;border-radius:8px;letter-spacing:.2px}.badge-status{font-size:.75rem;font-weight:800;padding:3px 8px;border-radius:8px}.badge-status.status-finished{background:#27ae6026;color:#27ae60;border:1px solid rgba(39,174,96,.35)}.badge-status.badge-status-cancelled{background:#d9534f26;color:var(--danger);border:1px solid rgba(217,83,79,.35)}.saved-game-date{font-size:.8rem;color:var(--muted);font-weight:600}.item-actions{display:flex;align-items:center;gap:6px}.btn-delete-saved-game{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--btn-subtle-border);background:transparent;color:var(--muted);width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease}.btn-delete-saved-game:hover{color:var(--danger);border-color:var(--danger);background:#d9534f1f}.saved-game-winner-line{display:flex;align-items:center;gap:6px;font-weight:800;font-size:.95rem;color:var(--text)}.winner-trophy-icon{font-size:1.1rem}.winner-score{color:var(--accent);font-size:.85rem;font-weight:700}.saved-game-cancelled-line{font-size:.85rem;font-weight:700;color:var(--muted)}.saved-game-players-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.saved-player-chip{display:inline-flex;align-items:center;gap:5px;background:var(--card);border:1px solid var(--card-border);border-left-width:3px;padding:3px 8px;border-radius:6px;font-size:.82rem;font-weight:700;color:var(--text)}.chip-color-dot{width:8px;height:8px;border-radius:50%}.chip-name{color:var(--text)}.chip-score{color:var(--muted);font-size:.78rem}.chip-rank{background:var(--btn-subtle);border:1px solid var(--btn-subtle-border);color:var(--accent);font-size:.7rem;padding:0 4px;border-radius:4px}.saved-game-cta-wrapper,.saved-game-cta-row{display:flex;align-items:center;gap:8px;margin-top:2px;flex-wrap:wrap}.btn-resume-game-cta{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:1;min-width:130px;border:1px solid var(--accent);background:var(--accent);color:var(--accent-text, #ffffff);padding:8px 12px;border-radius:8px;font-size:.85rem;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;transition:all .18s ease;box-shadow:0 2px 8px #3877d340}.btn-resume-game-cta:hover{transform:translateY(-1px);box-shadow:0 4px 12px #3877d366;filter:brightness(1.1)}.btn-view-matrix-cta{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:1;min-width:140px;border:1px solid var(--accent);background:#3877d31f;color:var(--accent);padding:8px 12px;border-radius:8px;font-size:.85rem;font-weight:800;display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:all .18s ease}.btn-view-matrix-cta:hover{background:var(--accent);color:var(--accent-text, #ffffff);box-shadow:0 3px 10px #3877d359}.saved-games-expand-wrapper{display:flex;justify-content:center;padding-top:4px}.btn-expand-saved-games{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--btn-subtle-border);background:var(--btn-subtle);color:var(--text);padding:8px 18px;border-radius:20px;font-size:.85rem;font-weight:800;display:inline-flex;align-items:center;gap:8px;cursor:pointer;transition:all .15s ease}.btn-expand-saved-games:hover{border-color:var(--accent);color:var(--accent)}.saved-game-matrix-card{max-width:780px;width:94%;max-height:90vh;display:flex;flex-direction:column;padding:16px;gap:14px}.saved-matrix-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.saved-matrix-header .modal-title{margin:0;font-size:1.3rem;font-weight:800}.saved-matrix-date{font-size:.82rem;color:var(--muted);font-weight:600;display:block;margin-top:2px}.btn-close-modal{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--btn-subtle);border:1px solid var(--btn-subtle-border);color:var(--text);width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;cursor:pointer;transition:all .15s ease}.btn-close-modal:hover{border-color:var(--accent);color:var(--accent)}.saved-matrix-banner{background:var(--btn-subtle);border:1px solid var(--btn-subtle-border);border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:10px}.matrix-status-pills{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.status-pill{font-size:.8rem;font-weight:800;padding:3px 10px;border-radius:12px}.status-pill.pill-finished{background:#27ae6033;color:#27ae60;border:1px solid rgba(39,174,96,.4)}.status-pill.pill-cancelled{background:#d9534f33;color:var(--danger);border:1px solid rgba(217,83,79,.4)}.winner-pill{background:#fbb54f2e;border:1px solid rgba(251,181,79,.4);color:#fbb54f;font-size:.8rem;font-weight:800;padding:3px 10px;border-radius:12px}.matrix-players-summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.player-summary-badge{display:inline-flex;align-items:center;gap:6px;background:var(--card);border:1px solid var(--card-border);border-left-width:3px;padding:4px 10px;border-radius:6px;font-size:.85rem;font-weight:700}.summary-color-dot{width:8px;height:8px;border-radius:50%}.summary-player-name{color:var(--text)}.summary-player-score{color:var(--accent)}.summary-rank{background:var(--btn-subtle);border:1px solid var(--btn-subtle-border);color:var(--accent);font-size:.72rem;padding:1px 5px;border-radius:4px}.summary-out-badge{color:var(--danger);font-weight:900;font-size:.75rem}.saved-matrix-board-wrapper{overflow-x:auto;overflow-y:auto;max-height:50vh;border-radius:var(--radius);border:1px solid var(--card-border)}.saved-matrix-board-wrapper .scoreboard{margin:0;box-shadow:none}.exit-game-modal-card{max-width:440px;width:90%;padding:24px;border-radius:var(--radius);display:flex;flex-direction:column;gap:16px}.exit-modal-header{display:flex;align-items:center;gap:12px}.exit-modal-icon-wrapper{width:44px;height:44px;border-radius:12px;background:#d9534f1f;color:var(--danger);border:1px solid rgba(217,83,79,.3);display:flex;align-items:center;justify-content:center;flex-shrink:0}.exit-modal-message{color:var(--muted);font-size:.95rem;line-height:1.5;margin:0}.exit-modal-actions{display:flex;flex-direction:column;gap:10px;margin-top:8px}.exit-modal-actions button{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;font-size:.95rem;font-weight:700}
