:root{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.6;font-weight:400;--primary-bg: #0a0a0f;--header-bg: linear-gradient(135deg, #1a1a2e 0%, #2d2d44 50%, #3d3d5c 100%);--nav-bg: #1a1a2e;--section-bg: #0f0f1a;--card-bg: #1a1a2e;--card-bg-hover: #252540;--text-primary: #e8e8f0;--text-secondary: #b8b8c8;--text-dark: #e8e8f0;--accent-color: #d4af37;--accent-hover: #f4d03f;--good-color: #4ade80;--bad-color: #f87171;--border-color: #3d3d5c;--shadow: rgba(0, 0, 0, .5);--shadow-lg: rgba(0, 0, 0, .8);--button-bg: var(--accent-color);--button-hover: var(--accent-hover);color-scheme:dark;color:var(--text-primary);background-color:var(--section-bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh;background:var(--section-bg);color:var(--text-dark)}#root{min-height:100vh}.home-page{min-height:100vh;display:flex;flex-direction:column}.home-header{background:var(--header-bg);color:var(--text-primary);padding:2rem;text-align:center;box-shadow:0 2px 10px var(--shadow)}.home-logo{max-width:150px;height:auto;margin-bottom:1rem;filter:drop-shadow(2px 2px 4px rgba(0,0,0,.5))}.home-header h1{font-size:2.5rem;margin-bottom:.5rem;text-shadow:2px 2px 4px rgba(0,0,0,.5)}.tagline{font-size:1.2rem;font-style:italic;color:var(--text-secondary);margin-bottom:1rem}.home-main{flex:1;padding:2rem;max-width:1200px;margin:0 auto;width:100%}.mode-selection{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin:2rem 0}.mode-card{background:var(--card-bg);border:3px solid var(--border-color);border-radius:12px;padding:2rem;text-align:center;text-decoration:none;color:var(--text-dark);transition:all .3s ease;box-shadow:0 4px 8px var(--shadow);position:relative;overflow:hidden}.mode-card:hover{transform:translateY(-5px);box-shadow:0 8px 24px var(--shadow-lg);border-color:var(--accent-color);background:var(--card-bg-hover)}.mode-card h2{font-size:2rem;margin-bottom:1rem;color:var(--accent-color)}.mode-card p{font-size:1.1rem;margin-bottom:1rem;color:var(--text-primary)}.high-score{margin-top:1rem;padding:.75rem;background:var(--accent-color);color:var(--text-primary);border-radius:4px;font-weight:700;font-size:1.2rem}.feature-badge{margin-top:1rem;padding:.5rem 1rem;background:var(--good-color);color:#fff;border-radius:4px;display:inline-block;font-weight:700}.game-info{background:var(--card-bg);padding:2rem;border-radius:8px;box-shadow:0 4px 16px var(--shadow-lg);margin-top:2rem;border:1px solid var(--border-color)}.game-info h3{color:var(--accent-color);margin-bottom:1.5rem;font-size:2rem;text-align:center;border-bottom:3px solid var(--accent-color);padding-bottom:.5rem}.tutorial-section{display:flex;flex-direction:column;gap:2rem}.tutorial-step{background:var(--section-bg);padding:1.5rem;border-radius:8px;border-left:4px solid var(--accent-color);box-shadow:0 2px 8px var(--shadow);border:1px solid var(--border-color)}.tutorial-step h4{color:var(--accent-color);font-size:1.3rem;margin-bottom:.75rem}.tutorial-step p{font-size:1rem;line-height:1.7;margin-bottom:.75rem;color:var(--text-primary)}.tutorial-step ul,.tutorial-step ol{margin-left:1.5rem;margin-top:.5rem;margin-bottom:.5rem}.tutorial-step li{margin-bottom:.5rem;line-height:1.6;color:var(--text-primary)}.tutorial-step strong{color:var(--accent-color)}.cards-showcase{margin-top:1.5rem;display:flex;flex-direction:column;gap:2rem}.card-showcase-section h5{color:var(--accent-color);margin-bottom:1rem;font-size:1.2rem}.card-examples{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.card-example{background:var(--card-bg);border:2px solid var(--border-color);border-radius:8px;padding:1rem;display:flex;flex-direction:column;align-items:center;gap:.75rem;transition:all .3s ease}.card-example:hover{border-color:var(--accent-color);transform:translateY(-3px);box-shadow:0 4px 12px var(--shadow-lg)}.card-example.bad-card{border-color:var(--bad-color)}.card-example.bad-card:hover{border-color:var(--bad-color);box-shadow:0 4px 12px #f871714d}.card-example img{width:120px;height:168px;object-fit:cover;border-radius:8px;border:2px solid var(--border-color)}.card-example-info{text-align:center;width:100%}.card-example-info strong{display:block;color:var(--accent-color);margin-bottom:.5rem;font-size:1rem}.card-example-info p{font-size:.85rem;line-height:1.5;color:var(--text-secondary);margin-bottom:.5rem}.card-example-info small{display:block;font-size:.75rem;color:var(--text-secondary);font-style:italic}.traitor-warning{color:var(--bad-color)!important;font-weight:700}.ability-cards-showcase{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin:1.5rem 0}.ability-card-demo{background:var(--card-bg);border:2px solid var(--border-color);border-radius:8px;padding:1rem;display:flex;gap:1rem;align-items:center;transition:all .3s ease}.ability-card-demo:hover{border-color:var(--accent-color);transform:translateY(-3px);box-shadow:0 4px 12px var(--shadow-lg)}.ability-card-visual{position:relative;flex-shrink:0}.ability-card-visual img{width:100px;height:140px;object-fit:cover;border-radius:8px;border:2px solid var(--border-color)}.ability-badge{position:absolute;top:-8px;right:-8px;background:var(--accent-color);color:var(--primary-bg);padding:.25rem .5rem;border-radius:4px;font-size:.7rem;font-weight:700;box-shadow:0 2px 4px var(--shadow)}.ability-card-info{flex:1}.ability-card-info strong{display:block;color:var(--accent-color);margin-bottom:.5rem;font-size:1rem}.ability-card-info p{font-size:.9rem;line-height:1.5;color:var(--text-primary);margin-bottom:.5rem}.ability-card-info small{display:block;font-size:.75rem;color:var(--text-secondary);font-style:italic}@media(max-width:768px){.game-info{padding:1.5rem}.tutorial-step{padding:1rem}.tutorial-step h4{font-size:1.1rem}.card-examples{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem}.card-example img{width:100px;height:140px}.ability-cards-showcase{grid-template-columns:1fr;gap:1rem}.ability-card-demo{flex-direction:column;text-align:center}.ability-card-visual img{width:80px;height:112px}}@media(max-width:480px){.card-examples{grid-template-columns:1fr}.card-example{flex-direction:row;text-align:left}.card-example img{width:80px;height:112px}}@media(max-width:768px){.home-header h1{font-size:2rem}.mode-selection{grid-template-columns:1fr}.home-main{padding:1rem}}.card{width:140px;height:196px;position:absolute;cursor:pointer;transition:all .3s ease;border-radius:12px;overflow:visible;background:var(--card-bg);box-shadow:0 4px 12px var(--shadow-lg);border:2px solid var(--border-color)}.card:hover{transform:translateY(-8px) scale(1.05);box-shadow:0 8px 24px var(--shadow-lg);border-color:var(--accent-color);z-index:100}.card.selected{border:4px solid var(--accent-color);box-shadow:0 0 0 2px var(--card-bg),0 0 0 4px var(--accent-color)}.card.ability-used{opacity:.7}.card.target-selection{cursor:crosshair;border:2px dashed var(--accent-color)}.card.killed{opacity:.4;filter:grayscale(100%);pointer-events:none}.card.revealed-bad{border-color:var(--bad-color);box-shadow:0 0 20px #f8717180}.killed-overlay{position:absolute;inset:0;background:#000c;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:20;border-radius:12px}.killed-x{font-size:4rem;color:var(--bad-color);font-weight:700;text-shadow:0 0 10px rgba(248,113,113,.8);margin-bottom:.5rem}.killed-text{font-size:1.2rem;color:var(--bad-color);font-weight:700;text-transform:uppercase;letter-spacing:.2rem}.revealed-bad-overlay{position:absolute;bottom:0;left:0;right:0;z-index:15;display:flex;justify-content:center;align-items:center;padding:.5rem;background:linear-gradient(to top,rgba(0,0,0,.9),rgba(0,0,0,.7),transparent);border-radius:0 0 10px 10px}.traitor-badge{background:var(--bad-color);color:#fff;padding:.5rem 1rem;border-radius:6px;font-weight:700;font-size:.9rem;text-transform:uppercase;box-shadow:0 2px 12px #f87171b3,0 0 20px #f8717166;animation:pulse 1s ease-in-out infinite;letter-spacing:.1em;border:2px solid rgba(255,255,255,.3)}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.9}}.card.shake{animation:shakeAccusation 2s ease-in-out infinite;cursor:pointer}.card.shake:hover{z-index:100;animation:shakeAccusation 1.5s ease-in-out infinite;filter:brightness(1.1)}@keyframes shakeAccusation{0%,to{transform:translate(-50%,-50%) translate(0) rotate(0)}25%{transform:translate(-50%,-50%) translate(-1.5px,-.5px) rotate(-.3deg)}50%{transform:translate(-50%,-50%) translate(1.5px,.5px) rotate(.3deg)}75%{transform:translate(-50%,-50%) translate(-.5px,1px) rotate(-.3deg)}}.card-hint-tooltip{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%);z-index:1000;pointer-events:none;min-width:280px;max-width:320px}.hint-content{background:#1a1a2efa;color:var(--text-primary);padding:1rem;border-radius:8px;box-shadow:0 4px 16px var(--shadow-lg);border:2px solid var(--accent-color);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.hint-content h4{margin:0 0 .5rem;color:var(--accent-color);font-size:1.1rem}.hint-content p{margin:0 0 .75rem;line-height:1.5;font-size:.9rem}.hint-ability{margin-top:.75rem;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.2);font-size:.85rem}.hint-ability strong{color:var(--accent-color)}.hint-revealed{margin-top:.75rem;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.2);font-size:.85rem}.revealed-status.good{color:var(--good-color);font-weight:700}.revealed-status.bad{color:var(--bad-color);font-weight:700}.revealed-name{margin-top:.5rem;color:var(--accent-color);font-weight:700}.card-hint-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:8px solid transparent;border-top-color:#000000f2}.card-image-container{width:100%;height:100%;position:relative;background:var(--card-bg)}.card-image{width:100%;height:100%;object-fit:cover;display:block}.card-name-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to top,rgba(0,0,0,.85),transparent);color:#fff;padding:.75rem .5rem .5rem;font-weight:700;font-size:1rem;text-align:center}.card-ability-hint{position:absolute;top:.5rem;right:.5rem;z-index:10;pointer-events:none}.ability-hint-content{background:var(--accent-color);color:var(--primary-bg);padding:.5rem .75rem;border-radius:6px;font-size:.75rem;box-shadow:0 4px 12px var(--shadow-lg);border:2px solid var(--accent-hover);min-width:150px;font-weight:500}.ability-hint-content strong{display:block;margin-bottom:.25rem;font-size:.85rem}.ability-hint-content p{margin:.25rem 0;font-size:.7rem;line-height:1.3}.ability-hint-content small{display:block;margin-top:.25rem;font-size:.65rem;opacity:.9;font-style:italic}.ability-used-indicator{position:absolute;top:.5rem;right:.5rem;width:24px;height:24px;background:#d4af37e6;border:2px solid var(--accent-color);border-radius:50%;display:flex;align-items:center;justify-content:center;z-index:15;box-shadow:0 2px 8px #00000080}.indicator-icon{color:var(--text-primary);font-size:.9rem;font-weight:700;line-height:1}.ability-used-badge{position:absolute;top:.5rem;left:.5rem;padding:.25rem .5rem;background:#000000b3;color:#fff;border-radius:4px;font-size:.75rem;font-weight:700}.ability-result-display{position:absolute;top:.25rem;left:.25rem;right:.25rem;display:flex;flex-direction:column;gap:.4rem;z-index:20;max-width:calc(100% - .5rem);pointer-events:none;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease}.card:hover .ability-result-display{opacity:1;visibility:visible}.result-badge{background:#000000f2;border-radius:8px;padding:.6rem .75rem;display:flex;align-items:flex-start;gap:.6rem;border:2px solid;box-shadow:0 4px 12px #000000b3;animation:slideInResult .3s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);min-width:0;flex:1}@keyframes slideInResult{0%{transform:translate(-10px);opacity:0}to{transform:translate(0);opacity:1}}.result-icon{font-size:1.4rem;flex-shrink:0;width:28px;height:28px;display:flex;align-items:center;justify-content:center;line-height:1}.result-text{flex:1;display:flex;flex-direction:column;gap:.25rem;min-width:0;overflow:hidden}.result-text strong{font-size:.8rem;line-height:1.4;text-transform:none;letter-spacing:.01em;display:block;font-weight:600;word-wrap:break-word;color:var(--text-primary)}.result-text small{font-size:.7rem;opacity:.85;font-style:italic;line-height:1.3;color:var(--text-secondary);word-wrap:break-word}.result-badge.good-result{border-color:var(--good-color);background:#4ade8033;border-width:2px}.result-badge.good-result .result-icon{color:var(--good-color);filter:drop-shadow(0 0 4px var(--good-color))}.result-badge.good-result strong{color:var(--good-color);text-shadow:0 0 8px rgba(74,222,128,.5)}.result-badge.bad-result{border-color:var(--bad-color);background:#f8717133;border-width:2px}.result-badge.bad-result .result-icon{color:var(--bad-color);filter:drop-shadow(0 0 4px var(--bad-color))}.result-badge.bad-result strong{color:var(--bad-color);text-shadow:0 0 8px rgba(248,113,113,.5)}.result-badge.identity-result{border-color:var(--accent-color);background:#d4af3740;border-width:2px}.result-badge.identity-result .result-icon{color:var(--accent-color);filter:drop-shadow(0 0 4px var(--accent-color))}.result-badge.identity-result strong{color:var(--accent-color);text-shadow:0 0 8px rgba(212,175,55,.5)}.result-badge.truthful{border-color:var(--good-color);background:#4ade8033;border-width:2px}.result-badge.truthful .result-icon{color:var(--good-color);filter:drop-shadow(0 0 4px var(--good-color))}.result-badge.truthful strong{color:var(--good-color);text-shadow:0 0 8px rgba(74,222,128,.5)}.result-badge.lying{border-color:var(--bad-color);background:#f8717133;border-width:2px}.result-badge.lying .result-icon{color:var(--bad-color);filter:drop-shadow(0 0 4px var(--bad-color))}.result-badge.lying strong{color:var(--bad-color);text-shadow:0 0 8px rgba(248,113,113,.5)}.result-badge.relationship-result{border-color:var(--accent-color);background:#d4af3740;border-width:2px}.result-badge.relationship-result .result-icon{color:var(--accent-color);filter:drop-shadow(0 0 4px var(--accent-color))}.result-badge.relationship-result strong{color:var(--accent-color);text-shadow:0 0 8px rgba(212,175,55,.5)}.result-badge.source-result{border-color:var(--accent-color);background:#d4af3740;border-width:2px}.result-badge.source-result .result-icon{color:var(--accent-color);filter:drop-shadow(0 0 4px var(--accent-color))}.result-badge.source-result strong{color:var(--accent-color);text-shadow:0 0 8px rgba(212,175,55,.5)}@media(max-width:768px){.ability-result-display{top:.2rem;left:.2rem;right:.2rem;gap:.35rem}.result-badge{padding:.5rem .6rem}.result-icon{font-size:1.2rem;width:24px;height:24px}.result-text strong{font-size:.75rem}.result-text small{font-size:.65rem}}@media(max-width:480px){.ability-result-display{top:.15rem;left:.15rem;right:.15rem;gap:.3rem}.result-badge{padding:.4rem .5rem;gap:.4rem}.result-icon{font-size:1.1rem;width:22px;height:22px}.result-text strong{font-size:.7rem}.result-text small{font-size:.6rem}}.revealed-info{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;gap:.5rem;z-index:5}.info-badge{padding:.5rem .75rem;border-radius:4px;font-size:.85rem;font-weight:700;text-align:center;background:#fffffff2;box-shadow:0 2px 4px #0000004d}.info-badge.good{background:var(--good-color);color:#fff}.info-badge.bad{background:var(--bad-color);color:#fff}.info-badge.true-name{background:var(--accent-color);color:var(--text-primary)}.selected-indicator{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:60px;height:60px;background:var(--accent-color);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;color:var(--text-primary);z-index:15;box-shadow:0 4px 8px #0000004d}@media(max-width:768px){.card{width:110px;height:154px}.card-ability-hint{top:.25rem;right:.25rem}.ability-hint-content{min-width:120px;padding:.4rem .6rem;font-size:.7rem}.card-hint-tooltip{min-width:240px;max-width:280px}}@media(max-width:480px){.card{width:90px;height:126px}.card-name-overlay{font-size:.7rem;padding:.3rem .25rem .25rem}.ability-hint-content{min-width:100px;padding:.3rem .5rem;font-size:.65rem}.card-hint-tooltip{min-width:200px;max-width:240px;bottom:calc(100% + 5px)}.hint-content{padding:.75rem;font-size:.85rem}}.game-board{padding:2rem;background:var(--section-bg);min-height:70vh;display:flex;flex-direction:column;align-items:center;justify-content:center}@media(max-width:768px){.game-board{padding:1rem;min-height:60vh}}@media(max-width:480px){.game-board{padding:.5rem;min-height:50vh}}.target-selection-hint{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);text-align:center;padding:.75rem 1.5rem;background:#1a1a2ef2;color:var(--accent-color);border-radius:8px;font-weight:700;font-size:1rem;box-shadow:0 4px 16px #0009;border:2px solid var(--accent-color);z-index:1000;pointer-events:none;animation:slideUp .3s ease-out;max-width:90%;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}@keyframes slideUp{0%{transform:translate(-50%) translateY(20px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}.cards-container{position:relative;width:100%;max-width:900px;height:600px;margin:0 auto;display:flex;align-items:center;justify-content:center}@media(max-width:768px){.cards-container{max-width:100%;height:500px;padding:1rem}}@media(max-width:480px){.cards-container{height:400px;padding:.5rem}}.cards-container .card{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(0) rotate(180deg);transition:all .8s cubic-bezier(.34,1.56,.64,1);opacity:0;margin:0}.cards-container.animated .card{opacity:1;top:var(--position-y, 50%);left:var(--position-x, 50%);transform:translate(-50%,-50%) scale(1) rotate(0)}.cards-container.animated .card.shake{animation:shuffleIn .8s cubic-bezier(.34,1.56,.64,1) forwards,shakeAccusation .5s ease-in-out infinite .8s}@media(max-width:768px){.cards-container .card{margin:5px}}@media(max-width:480px){.cards-container .card{margin:3px}}.cards-container.animated .card{animation:shuffleIn .8s cubic-bezier(.34,1.56,.64,1) forwards}.cards-container.animated .card:nth-child(1){animation-delay:.05s}.cards-container.animated .card:nth-child(2){animation-delay:.1s}.cards-container.animated .card:nth-child(3){animation-delay:.15s}.cards-container.animated .card:nth-child(4){animation-delay:.2s}.cards-container.animated .card:nth-child(5){animation-delay:.25s}.cards-container.animated .card:nth-child(6){animation-delay:.3s}.cards-container.animated .card:nth-child(7){animation-delay:.35s}.cards-container.animated .card:nth-child(8){animation-delay:.4s}.cards-container.animated .card:nth-child(9){animation-delay:.45s}.cards-container.animated .card:nth-child(10){animation-delay:.5s}.cards-container.animated .card:nth-child(11){animation-delay:.55s}.cards-container.animated .card:nth-child(12){animation-delay:.6s}@media(max-width:768px){.cards-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1rem}}@media(max-width:480px){.cards-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}}.player-info{display:flex;flex-direction:column;gap:.5rem;padding:1rem;background:var(--card-bg);border-radius:8px;box-shadow:0 4px 16px var(--shadow-lg);min-width:200px;border:1px solid var(--border-color)}.player-name{font-size:1.2rem;font-weight:700;color:var(--accent-color);margin-bottom:.5rem}.money-display,.high-score-display{display:flex;justify-content:space-between;align-items:center;padding:.5rem;background:var(--section-bg);border-radius:4px}.label{font-weight:700;color:var(--text-primary)}.amount{font-size:1.2rem;font-weight:700;color:var(--good-color)}@media(max-width:768px){.player-info{min-width:auto;width:100%}}.mode-selector{max-width:1000px;margin:2rem auto;padding:2rem;background:var(--card-bg);border-radius:12px;box-shadow:0 4px 16px var(--shadow)}.mode-selector h2{text-align:center;color:var(--accent-color);margin-bottom:2rem;font-size:2rem}.modes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;margin-bottom:2rem}.mode-option{padding:1.5rem;border:3px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all .3s ease;background:var(--section-bg)}.mode-option:hover{transform:translateY(-3px);box-shadow:0 4px 8px var(--shadow);border-color:var(--accent-color)}.mode-option.selected{border-color:var(--accent-color);background:var(--accent-color);color:var(--text-primary)}.mode-option.selected h3,.mode-option.selected p{color:var(--text-primary)}.mode-option h3{color:var(--accent-color);margin-bottom:.75rem;font-size:1.3rem}.mode-option p{color:var(--text-dark);margin-bottom:.75rem;font-size:.95rem}.mode-prize{margin-top:.75rem;padding:.5rem;background:var(--good-color);color:#fff;border-radius:4px;font-weight:700;text-align:center}.mode-option.selected .mode-prize{background:#fff3}.btn-start{display:block;margin:0 auto;padding:1rem 3rem;font-size:1.2rem}@media(max-width:768px){.mode-selector{padding:1.5rem}.modes-grid{grid-template-columns:1fr}}.singleplayer-game{min-height:100vh;padding:1rem;background:var(--section-bg);position:relative}.game-board-wrapper,.game-board-wrapper.accusation-mode{position:relative}.accusation-overlay-subtle{position:absolute;inset:0;background:#0000004d;z-index:100;pointer-events:none;animation:fadeIn .3s ease-in;border-radius:8px}.accusation-hint{position:fixed;bottom:2rem;left:50%;transform:translate(-50%);background:#1a1a2ef2;padding:.75rem 1.5rem;border-radius:8px;box-shadow:0 4px 16px #0009;border:2px solid var(--accent-color);z-index:1000;pointer-events:none;animation:slideUp .3s ease-out;max-width:90%;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.accusation-hint h3{color:var(--accent-color);margin:0;font-size:1.1rem;text-align:center}@keyframes slideDown{0%{transform:translate(-50%) translateY(-20px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}.game-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--card-bg);border-radius:8px;margin-bottom:1rem;box-shadow:0 4px 16px var(--shadow-lg);flex-wrap:wrap;gap:1rem;border:1px solid var(--border-color)}.game-header h2{color:var(--text-primary);flex:1;text-align:center}.game-actions{display:flex;justify-content:center;gap:1rem;padding:1rem;background:var(--card-bg);border-radius:8px;margin-top:1rem;box-shadow:0 4px 16px var(--shadow-lg);border:1px solid var(--border-color)}.accusation-result-overlay{position:fixed;inset:0;background:#0000004d;z-index:2000;display:flex;align-items:flex-start;justify-content:center;padding-top:1rem;animation:fadeIn .3s ease-in;pointer-events:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.accusation-drama{text-align:center;padding:1rem 2rem;background:#1a1a2ef2;border-radius:12px;box-shadow:0 4px 20px #0009;border:2px solid var(--accent-color);animation:scaleIn .5s cubic-bezier(.34,1.56,.64,1);max-width:400px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}@keyframes scaleIn{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.accusation-drama h2{font-size:1.8rem;margin-bottom:.5rem;text-shadow:0 0 10px currentColor;animation:pulse 1s ease-in-out infinite}.accusation-drama h2.correct{color:var(--good-color)}.accusation-drama h2.incorrect{color:var(--bad-color)}.accusation-drama .earnings{font-size:1rem;color:var(--accent-color);font-weight:700;margin-top:.5rem}.accusation-drama .traitors-revealed{font-size:.9rem;color:var(--text-primary);margin-top:.5rem;line-height:1.4}@media(max-width:768px){.game-header{flex-direction:column;text-align:center}.game-actions{flex-direction:column}.accusation-drama{padding:.75rem 1.5rem;margin:1rem;max-width:90%}.accusation-drama h2{font-size:1.5rem}.accusation-drama .earnings{font-size:.9rem}.accusation-drama .traitors-revealed{font-size:.85rem}}.multiplayer-lobby{min-height:100vh;padding:1rem;background:var(--section-bg)}.lobby-header{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--card-bg);border-radius:8px;margin-bottom:2rem;box-shadow:0 2px 8px var(--shadow)}.lobby-header h1{color:var(--text-dark);flex:1;text-align:center}.lobby-main{max-width:800px;margin:0 auto}.player-name-input{background:var(--card-bg);padding:2rem;border-radius:8px;box-shadow:0 2px 8px var(--shadow);margin-bottom:2rem}.player-name-input label{display:block;margin-bottom:.5rem;font-weight:700;color:var(--text-dark);font-size:1.1rem}.player-name-input input{width:100%;padding:.75rem;border:2px solid var(--border-color);border-radius:4px;font-size:1rem;font-family:inherit}.player-name-input input:focus{outline:none;border-color:var(--accent-color)}.lobby-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.create-room,.join-room{background:var(--card-bg);padding:2rem;border-radius:8px;box-shadow:0 2px 8px var(--shadow);text-align:center}.create-room h2,.join-room h2{color:var(--accent-color);margin-bottom:1rem;font-size:1.8rem}.create-room p,.join-room p{color:var(--text-dark);margin-bottom:1.5rem}.room-code-input{width:100%;padding:1rem;font-size:1.5rem;text-align:center;letter-spacing:.5rem;border:3px solid var(--border-color);border-radius:8px;margin-bottom:1rem;font-family:Courier New,monospace;font-weight:700}.room-code-input:focus{outline:none;border-color:var(--accent-color)}.btn-create,.btn-join{width:100%;padding:1rem;font-size:1.1rem}@media(max-width:768px){.lobby-actions{grid-template-columns:1fr}.lobby-header{flex-direction:column}}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-content{background:var(--card-bg);border-radius:12px;padding:2rem;max-width:800px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 8px 32px #00000080}.modal-content h3{color:var(--accent-color);margin-bottom:1rem;font-size:1.8rem}.modal-content p{margin-bottom:1.5rem;color:var(--text-dark)}.accusation-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:1rem;margin-bottom:2rem}.accusation-card{position:relative;cursor:pointer;border:3px solid var(--border-color);border-radius:8px;overflow:hidden;transition:all .3s ease;background:var(--card-bg)}.accusation-card:hover{transform:translateY(-3px);box-shadow:0 4px 8px var(--shadow)}.accusation-card.selected{border-color:var(--accent-color);box-shadow:0 0 0 2px var(--card-bg),0 0 0 4px var(--accent-color)}.accusation-card img{width:100%;height:auto;display:block}.accusation-card .card-name{padding:.5rem;text-align:center;font-weight:700;font-size:.9rem;background:var(--section-bg);color:var(--text-dark)}.accusation-card .checkmark{position:absolute;top:.5rem;right:.5rem;width:30px;height:30px;background:var(--good-color);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.2rem;font-weight:700;box-shadow:0 2px 4px #0000004d}.modal-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1.5rem}@media(max-width:768px){.modal-content{padding:1.5rem}.accusation-cards{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.75rem}.modal-actions{flex-direction:column}.modal-actions button{width:100%}}.multiplayer-game{min-height:100vh;padding:1rem;background:var(--section-bg)}.game-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:var(--card-bg);border-radius:8px;margin-bottom:1rem;box-shadow:0 2px 8px var(--shadow);flex-wrap:wrap;gap:1rem}.game-header h2{color:var(--text-dark);flex:1;text-align:center}.players-display{display:flex;justify-content:center;gap:1rem;margin-bottom:1rem;flex-wrap:wrap}.player-card{padding:.75rem 1.5rem;background:var(--card-bg);border:2px solid var(--border-color);border-radius:8px;font-weight:700;color:var(--text-dark);box-shadow:0 2px 4px var(--shadow)}.player-card.current{border-color:var(--accent-color);background:var(--accent-color);color:var(--text-primary)}.waiting-screen,.loading-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center;background:var(--card-bg);padding:3rem;border-radius:12px;box-shadow:0 4px 16px var(--shadow)}.waiting-screen h2{color:var(--accent-color);margin-bottom:1rem;font-size:2rem}.waiting-screen p{color:var(--text-dark);margin-bottom:.5rem;font-size:1.1rem}.waiting-screen strong{color:var(--accent-color);font-size:1.5rem;letter-spacing:.2rem}.players-list{margin-top:2rem;padding:1.5rem;background:var(--section-bg);border-radius:8px;width:100%;max-width:400px}.players-list h3{color:var(--text-dark);margin-bottom:1rem}.player-item{padding:.75rem;background:var(--card-bg);border-radius:4px;margin-bottom:.5rem;color:var(--text-dark)}.game-actions{display:flex;justify-content:center;gap:1rem;padding:1rem;background:var(--card-bg);border-radius:8px;margin-top:1rem;box-shadow:0 2px 8px var(--shadow)}@media(max-width:768px){.game-header{flex-direction:column;text-align:center}.waiting-screen{padding:2rem 1rem}}*{margin:0;padding:0;box-sizing:border-box}:root{--primary-bg: #0a0a0f;--header-bg: linear-gradient(135deg, #1a1a2e 0%, #2d2d44 50%, #3d3d5c 100%);--nav-bg: #1a1a2e;--section-bg: #0f0f1a;--card-bg: #1a1a2e;--card-bg-hover: #252540;--text-primary: #e8e8f0;--text-secondary: #b8b8c8;--text-dark: #e8e8f0;--accent-color: #d4af37;--accent-hover: #f4d03f;--good-color: #4ade80;--bad-color: #f87171;--border-color: #3d3d5c;--shadow: rgba(0, 0, 0, .5);--shadow-lg: rgba(0, 0, 0, .8);--button-bg: var(--accent-color);--button-hover: var(--accent-hover)}body{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;line-height:1.6;background:var(--section-bg);color:var(--text-primary);min-height:100vh}.app{min-height:100vh;display:flex;flex-direction:column}.btn-back,.btn-primary,.btn-accuse,.btn-submit,.btn-create,.btn-join,.btn-start,.btn-cancel{padding:.75rem 1.5rem;border:none;border-radius:4px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s ease;background:var(--button-bg);color:var(--text-primary)}.btn-back{background:var(--nav-bg)}.btn-primary:hover,.btn-accuse:hover,.btn-submit:hover,.btn-create:hover,.btn-join:hover,.btn-start:hover{background:var(--button-hover);transform:translateY(-2px);box-shadow:0 4px 8px var(--shadow)}.btn-submit:disabled,.btn-create:disabled,.btn-join:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-cancel{background:var(--card-bg);color:var(--text-primary);border:2px solid var(--border-color)}.btn-cancel:hover{background:var(--border-color)}
