﻿:root{--color-primary: #00d4ff;--color-primary-dark: #0891b2;--color-primary-darker: #1e40af;--color-accent: #0ea5e9;--color-success: #10b981;--color-warning: #f59e0b;--color-danger: #ef4444;--color-spy: #ec7063;--color-civilian: #5dade2;--glass-bg: rgba(255, 255, 255, 0.1);--glass-bg-hover: rgba(255, 255, 255, 0.15);--glass-bg-active: rgba(255, 255, 255, 0.2);--glass-bg-strong: rgba(255, 255, 255, 0.25);--glass-border: rgba(255, 255, 255, 0.2);--glass-border-strong: rgba(255, 255, 255, 0.3);--glass-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);--glass-blur: blur(10px);--glass-blur-strong: blur(20px);--shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.1);--shadow-md: 0 4px 16px rgba(0, 0, 0, 0.15);--shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.2);--shadow-xl: 0 20px 60px rgba(0, 0, 0, 0.3);--shadow-glow: 0 0 20px rgba(0, 212, 255, 0.4);--shadow-glow-hover: 0 0 30px rgba(0, 212, 255, 0.6);--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-full: 50px;--transition-fast: 0.15s ease;--transition-base: 0.3s ease;--transition-slow: 0.5s ease;--transition-bounce: 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55);--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.2;--line-height-normal: 1.5;--line-height-relaxed: 1.75}*{margin:0;padding:0;box-sizing:border-box;touch-action:manipulation}html{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;text-size-adjust:100%}body{font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;background-color:#0f172a;background-image:radial-gradient(at 0% 0%, rgba(56, 189, 248, 0.33) 0px, transparent 50%),radial-gradient(at 100% 0%, rgba(14, 165, 233, 0.33) 0px, transparent 50%),radial-gradient(at 100% 100%, rgba(56, 189, 248, 0.33) 0px, transparent 50%),radial-gradient(at 0% 100%, rgba(14, 165, 233, 0.33) 0px, transparent 50%);background-attachment:fixed;background-size:cover;min-height:100%;width:100%;color:hsla(0,0%,100%,.9);overflow:hidden;overscroll-behavior:none;line-height:var(--line-height-normal);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.container{width:100vw;height:100vh;height:calc(var(--vh, 1vh)*100);height:100dvh;display:flex;flex-direction:column;justify-content:flex-start;align-items:center;position:relative;padding:var(--space-lg);padding-top:80px}@media(min-width: 768px){.container{justify-content:center;padding-top:var(--space-lg)}}.top-controls{position:absolute;top:var(--space-lg);left:var(--space-lg);right:var(--space-lg);display:flex;justify-content:space-between;align-items:flex-start;z-index:1000;gap:var(--space-lg)}.rules-selector{position:absolute;top:var(--space-lg);left:var(--space-lg);z-index:1000}body.game-active .rules-selector,body.game-active .language-selector{display:none}.rules-btn{padding:var(--space-sm) var(--space-md);border:none;border-radius:var(--radius-xl);background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);color:#fff;font-size:12px;font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base);display:flex;align-items:center;gap:var(--space-xs)}.rules-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.rules-btn:hover{background:var(--glass-bg-hover);transform:translateY(-1px)}.language-dropdown{position:relative}.dropdown-btn{padding:12px 20px;border:none;border-radius:var(--radius-xl);background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);color:#fff;font-size:14px;font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base);display:flex;align-items:center;gap:10px;min-width:140px;justify-content:space-between}.dropdown-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.dropdown-btn:hover{background:var(--glass-bg-hover);transform:translateY(-1px)}.dropdown-btn.dropdown-open{background:var(--glass-bg-active);border-color:var(--color-primary);box-shadow:0 0 15px rgba(0,212,255,.2)}.dropdown-btn.dropdown-open .dropdown-arrow{transform:rotate(180deg)}.current-lang{display:flex;align-items:center;gap:8px}.dropdown-arrow{font-size:10px;transition:transform var(--transition-fast);opacity:.8}.dropdown-menu{position:absolute;top:calc(100% + 10px);right:0;background:rgba(20,20,30,.95);border-radius:var(--radius-lg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:var(--shadow-xl),0 0 0 1px var(--glass-border);overflow:hidden;opacity:0;transform:translateY(-10px) scale(0.95);pointer-events:none;transition:all var(--transition-base);min-width:180px;z-index:1001;padding:6px}.dropdown-open~.dropdown-menu{opacity:1;transform:translateY(0) scale(1);pointer-events:all}.language-dropdown:hover .dropdown-menu{opacity:1;transform:translateY(0) scale(1);pointer-events:all}.dropdown-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border:none;border-radius:var(--radius-md);background:rgba(0,0,0,0);color:hsla(0,0%,100%,.9);font-size:14px;cursor:pointer;transition:all var(--transition-fast);width:100%;text-align:left;margin-bottom:2px}.dropdown-item:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.dropdown-item:last-child{margin-bottom:0}.dropdown-item:hover{background:var(--glass-bg-hover);color:#fff;transform:translateX(2px)}.dropdown-item.active{background:rgba(14,165,233,.2);color:var(--color-primary);font-weight:var(--font-weight-semibold);border:1px solid rgba(14,165,233,.3)}.lang-flag{font-size:20px;filter:drop-shadow(0 2px 4px rgba(0, 0, 0, 0.2))}.lang-name{font-size:14px;font-weight:var(--font-weight-medium)}.settings-btn{padding:var(--space-sm) 12px;border:none;border-radius:var(--radius-xl);background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);color:#fff;font-size:16px;cursor:pointer;transition:all var(--transition-base);display:flex;align-items:center;justify-content:center}.settings-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.settings-btn:hover{background:var(--glass-bg-hover);transform:translateY(-1px)}.screen{display:none;animation:fadeIn .5s ease-in;background:rgba(15,23,42,.6);backdrop-filter:var(--glass-blur-strong);-webkit-backdrop-filter:var(--glass-blur-strong);border:1px solid hsla(0,0%,100%,.1);box-shadow:var(--glass-shadow);border-radius:var(--radius-xl);padding:1.5em;width:90%;max-width:550px;max-height:90vh;max-height:calc(var(--vh, 1vh)*90);max-height:90dvh;min-height:auto;overflow-y:auto;overflow-x:hidden;box-shadow:var(--shadow-xl)}.screen.active{display:flex;flex-direction:column}@media(max-width: 600px){.screen{width:95%;padding:1.25em;border-radius:var(--radius-lg);max-height:85dvh}}@media(min-width: 768px){.screen{aspect-ratio:4/5;min-height:75vh;min-height:calc(var(--vh, 1vh)*75);min-height:75dvh}}.screen{padding-bottom:40px}#cards-distribution.screen,#single-card.screen,.game-container{overflow:hidden}#cards-distribution.screen,#single-card.screen{max-width:95vw;max-height:85dvh;width:95vw;height:85dvh;background:rgba(0,0,0,0);backdrop-filter:none;-webkit-backdrop-filter:none;border:none;padding:var(--space-lg);box-shadow:none;aspect-ratio:unset}@media(min-width: 768px){#cards-distribution.screen,#single-card.screen{max-height:95vh;height:95vh;padding:40px}}#cards-distribution.screen.active{display:flex;flex-direction:column}@keyframes fadeIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.8}}@keyframes bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}@keyframes slideIn{from{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes glow{0%,100%{box-shadow:0 0 20px rgba(0,212,255,.4)}50%{box-shadow:0 0 40px rgba(0,212,255,.7)}}.logo{text-align:center;margin-bottom:30px}@media(max-width: 600px){.logo{margin-bottom:20px}}.logo h1{font-size:clamp(2em,5vw,3em);font-weight:var(--font-weight-bold);background:linear-gradient(135deg, #ffffff 0%, #00d4ff 100%);-webkit-background-clip:text;-webkit-text-fill-color:rgba(0,0,0,0);background-clip:text;margin-bottom:10px;line-height:var(--line-height-tight);filter:drop-shadow(0 4px 20px rgba(0, 212, 255, 0.4))}@media(max-width: 600px){.logo h1{font-size:clamp(1.75em,7vw,2.5em);margin-bottom:8px}}.logo p{color:hsla(0,0%,100%,.9);font-size:clamp(.9em,2vw,1.1em);font-weight:var(--font-weight-normal);text-shadow:0 1px 4px rgba(0,0,0,.3)}@media(max-width: 600px){.logo p{font-size:clamp(.85em,3vw,1em)}}.logo-icon{margin-bottom:var(--space-lg)}@media(max-width: 600px){.logo-icon{margin-bottom:var(--space-md)}}.main-logo-icon{width:100px;height:100px;opacity:.9;filter:drop-shadow(0 8px 16px rgba(14, 165, 233, 0.3));transition:all var(--transition-base)}@media(max-width: 600px){.main-logo-icon{width:70px;height:70px}}.main-logo-icon:hover{transform:scale(1.05);filter:drop-shadow(0 12px 24px rgba(14, 165, 233, 0.5))}h2{font-size:clamp(1.5em,4vw,2.5em);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight)}@media(max-width: 768px){h2{font-size:1.25rem}}.primary-btn,.secondary-btn,.danger-btn{padding:var(--space-md) var(--space-xl);border:none;border-radius:var(--radius-full);font-size:16px;font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-base);text-decoration:none;display:inline-block;text-align:center;position:relative;overflow:hidden}.primary-btn:focus-visible,.secondary-btn:focus-visible,.danger-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.primary-btn,.secondary-btn,.danger-btn{transition:transform var(--transition-base),box-shadow var(--transition-base)}.primary-btn:hover:not(:disabled),.secondary-btn:hover:not(:disabled),.danger-btn:hover:not(:disabled){transform:translateY(-2px)}.primary-btn:active:not(:disabled),.secondary-btn:active:not(:disabled),.danger-btn:active:not(:disabled){transform:translateY(0)}@media(max-width: 600px){.primary-btn,.secondary-btn,.danger-btn{padding:14px 28px;font-size:15px;width:100%;max-width:280px}}.primary-btn.disabled,.primary-btn:disabled,.secondary-btn.disabled,.secondary-btn:disabled,.danger-btn.disabled,.danger-btn:disabled{opacity:.5;cursor:not-allowed;transform:none !important;box-shadow:none !important}.primary-btn{background:linear-gradient(135deg, #00d4ff 0%, #007cf0 100%);color:#fff;box-shadow:0 4px 14px 0 rgba(0,118,255,.39)}.primary-btn::before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);transition:left .5s}.primary-btn:hover{box-shadow:0 6px 20px rgba(0,118,255,.23);transform:translateY(-2px)}.primary-btn:hover::before{left:100%}.secondary-btn{background:hsla(0,0%,100%,.1);color:#fff;border:1px solid hsla(0,0%,100%,.2);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur)}.secondary-btn:hover{background:hsla(0,0%,100%,.2);border-color:hsla(0,0%,100%,.4);transform:translateY(-2px)}.danger-btn{background:linear-gradient(135deg, #ff6b6b, #ee5a5a);color:#fff}.danger-btn:hover{box-shadow:0 15px 40px rgba(238,90,90,.4)}.menu-buttons{display:flex;flex-direction:row;gap:15px;align-items:center;justify-content:center;flex-wrap:wrap}@media(max-width: 600px){.menu-buttons{flex-direction:column;gap:12px;width:100%}}.glass-btn{background:var(--glass-bg-strong);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);position:relative;overflow:hidden}.glass-btn::after{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle, rgba(255, 255, 255, 0.1) 0%, transparent 70%);opacity:0;transition:opacity var(--transition-base)}.glass-btn:hover::after{opacity:1}.setup-form{display:flex;flex-direction:column;gap:var(--space-2xl)}@media(max-width: 600px){.setup-form{gap:var(--space-md)}}.input-group{display:flex;flex-direction:column;gap:10px}.input-group label{font-weight:var(--font-weight-semibold);color:#fff;font-size:16px;text-shadow:0 1px 3px rgba(0,0,0,.3)}@media(max-width: 600px){.input-group label{font-size:15px}}.number-input{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:8px 12px;background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.1);border-radius:30px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:inset 0 2px 4px rgba(0,0,0,.1);transition:all var(--transition-base)}.number-input:hover{background:hsla(0,0%,100%,.08);border-color:hsla(0,0%,100%,.2);box-shadow:0 0 15px rgba(0,212,255,.1),inset 0 2px 4px rgba(0,0,0,.1)}@media(max-width: 600px){.number-input{gap:20px;padding:10px 15px}}.number-input button{width:44px;height:44px;min-width:44px;border:none;border-radius:50%;background:hsla(0,0%,100%,.1);color:#fff;font-size:20px;font-weight:var(--font-weight-bold);cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center}.number-input button:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}@media(max-width: 600px){.number-input button{width:50px;height:50px;min-width:50px;font-size:22px}}.number-input button:hover:not(:disabled){transform:scale(1.1);background:var(--color-primary);box-shadow:0 0 15px var(--color-primary);color:#fff}.number-input button:active:not(:disabled){transform:scale(0.95)}.number-input span{font-size:24px;font-weight:var(--font-weight-bold);color:#fff;min-width:40px;text-align:center;text-shadow:0 0 10px rgba(0,212,255,.5)}@media(max-width: 600px){.number-input span{font-size:28px;min-width:50px}}.setup-buttons{display:flex;gap:15px;justify-content:center;flex-wrap:wrap}@media(max-width: 600px){.setup-buttons{flex-direction:column;gap:12px;width:100%}}.card{background:linear-gradient(135deg, rgba(14, 165, 233, 0.2), rgba(3, 105, 161, 0.2));backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:var(--radius-xl);padding:30px;text-align:center;margin-bottom:30px;border:2px solid rgba(0,212,255,.3);box-shadow:0 10px 30px rgba(0,212,255,.3);transition:transform var(--transition-base)}@media(max-width: 600px){.card{width:100%;min-height:60vh;display:flex;flex-direction:column;justify-content:center;margin-bottom:20px}}.card-container{perspective:1200px;width:100%;height:400px;margin-bottom:30px}.card-flip{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .8s cubic-bezier(0.175, 0.885, 0.32, 1.275);cursor:pointer}.card-flip.flipped{transform:rotateY(180deg)}.card-face{position:absolute;width:100%;height:100%;backface-visibility:hidden;border-radius:var(--radius-xl);display:flex;flex-direction:column;justify-content:center;align-items:center;padding:30px;box-shadow:0 10px 30px rgba(14,165,233,.3);border:2px solid rgba(14,165,233,.3);box-sizing:border-box}.card-front{background:linear-gradient(135deg, #475569, #334155);color:#fff}.card-back{background:linear-gradient(135deg, var(--color-accent), var(--color-primary-dark));color:#fff;transform:rotateY(180deg)}.card-logo{font-size:4em;margin-bottom:20px;opacity:.8;filter:drop-shadow(0 4px 8px rgba(0, 0, 0, 0.3))}.spy-icon{width:120px;height:120px;margin:0 auto 20px;opacity:.9;filter:drop-shadow(0 4px 8px rgba(0, 0, 0, 0.3))}.spy-icon.spy-reveal{animation:spyReveal .8s ease-out}@keyframes spyReveal{0%{transform:scale(0.8);opacity:0}50%{transform:scale(1.1)}100%{transform:scale(1);opacity:1}}.card-title{font-size:1.5em;font-weight:var(--font-weight-semibold);text-shadow:0 2px 8px rgba(0,0,0,.5);margin-bottom:10px}.card-subtitle{font-size:1em;opacity:.9;text-shadow:0 1px 4px rgba(0,0,0,.3)}.flip-instruction{font-size:.9em;opacity:.7;margin-top:20px;animation:pulse 2s infinite}.location-display,.spy-display{margin-top:25px}.location-names{display:flex;flex-direction:column;gap:12px;margin:20px 0}.location-name{display:flex;justify-content:space-between;align-items:center;padding:12px 20px;background:hsla(0,0%,100%,.15);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid hsla(0,0%,100%,.1);box-shadow:var(--glass-shadow);border-radius:var(--radius-md);border-left:4px solid rgba(0,212,255,.6);margin-bottom:8px}.location-name span:last-child{font-weight:var(--font-weight-semibold);color:#fff;font-size:16px;text-shadow:0 2px 4px rgba(0,0,0,.5)}.lang-label{font-weight:var(--font-weight-semibold);color:rgba(0,212,255,.9);font-size:14px}#game-play.screen{background:rgba(30,41,59,.95);background:var(--glass-bg);backdrop-filter:var(--glass-blur-strong);-webkit-backdrop-filter:var(--glass-blur-strong);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border:1px solid hsla(0,0%,100%,.1);max-width:500px;aspect-ratio:4/5}.game-container{background:rgba(30,30,40,.95);border-radius:var(--radius-xl);padding:25px;width:100%;margin:0 auto;background:var(--glass-bg);backdrop-filter:var(--glass-blur-strong);-webkit-backdrop-filter:var(--glass-blur-strong);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border:1px solid hsla(0,0%,100%,.1);height:80%;display:flex;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;flex-direction:column;justify-content:space-between}.game-header{text-align:center;margin-bottom:30px;display:flex;align-items:center;justify-content:center;position:relative;width:100%}.game-header h2{color:#fff;font-size:2.2em;font-weight:var(--font-weight-semibold);margin:0;text-shadow:0 2px 8px rgba(0,0,0,.5)}.game-header .restart-game-btn{position:absolute;right:0;top:50%;transform:translateY(-50%);background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.2);border-radius:50%;width:36px;height:36px;padding:0;display:flex;align-items:center;justify-content:center;color:hsla(0,0%,100%,.8);cursor:pointer;transition:all .3s ease;z-index:10}.game-header .restart-game-btn:hover{background:hsla(0,0%,100%,.2);color:#fff;transform:translateY(-50%) rotate(180deg)}@media(max-width: 600px){.game-header{flex-direction:row}.game-header .restart-game-btn{width:40px;height:40px}}.timer{background:linear-gradient(135deg, #667eea, #764ba2);color:#fff;padding:12px 20px;border-radius:25px;font-weight:var(--font-weight-semibold);font-size:16px;box-shadow:0 5px 15px rgba(102,126,234,.3)}.game-info{text-align:center;margin-bottom:40px;padding:0;background:rgba(0,0,0,0)}.players-info,.spies-info{font-size:18px;font-weight:var(--font-weight-medium);color:#fff;margin-bottom:10px;text-shadow:0 1px 3px rgba(0,0,0,.5)}.spies-info{color:var(--color-spy)}.game-actions{display:flex;flex-direction:column;gap:20px}.vote-for-spy-btn{padding:18px 32px;border:none;border-radius:var(--radius-full);font-size:16px;font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-base);background:linear-gradient(135deg, var(--color-civilian), #3498db);color:#fff;box-shadow:0 10px 30px rgba(52,152,219,.3);transition:transform var(--transition-base),box-shadow var(--transition-base)}.vote-for-spy-btn:hover:not(:disabled){transform:translateY(-2px)}.vote-for-spy-btn:active:not(:disabled){transform:translateY(0)}.vote-for-spy-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.vote-for-spy-btn:hover{box-shadow:0 15px 40px rgba(52,152,219,.4)}.spy-guess-btn{padding:18px 32px;border:2px solid var(--color-civilian);border-radius:var(--radius-full);font-size:16px;font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-base);background:rgba(0,0,0,0);color:var(--color-civilian);transition:transform var(--transition-base),box-shadow var(--transition-base)}.spy-guess-btn:hover:not(:disabled){transform:translateY(-2px)}.spy-guess-btn:active:not(:disabled){transform:translateY(0)}.spy-guess-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.spy-guess-btn:hover{background:rgba(93,173,226,.1)}.end-game-btn{padding:18px 32px;border:none;border-radius:var(--radius-full);font-size:16px;font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-base);background:linear-gradient(135deg, var(--color-spy), #e74c3c);color:#fff;box-shadow:0 10px 30px rgba(231,76,60,.3);transition:transform var(--transition-base),box-shadow var(--transition-base)}.end-game-btn:hover:not(:disabled){transform:translateY(-2px)}.end-game-btn:active:not(:disabled){transform:translateY(0)}.end-game-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.end-game-btn:hover{box-shadow:0 15px 40px rgba(231,76,60,.4)}.voting-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(150px, 1fr));gap:12px;margin:20px 0;max-height:60vh;overflow-y:auto}@media(max-width: 600px){.voting-grid{grid-template-columns:repeat(2, 1fr)}}.vote-option{padding:20px;border:2px solid rgba(102,126,234,.2);border-radius:15px;background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.1);border-radius:15px;cursor:pointer;transition:all var(--transition-base);text-align:center;font-weight:var(--font-weight-medium)}.vote-option:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.vote-option:hover{border-color:var(--color-primary);background:hsla(0,0%,100%,.1);transform:translateY(-2px)}.vote-option.selected{border-color:#667eea;background:linear-gradient(135deg, #667eea, #764ba2);color:#fff}.voting-card-container{display:flex;justify-content:center;align-items:center;height:100%;padding:20px}@media(max-width: 600px){.voting-card-container{padding:10px;min-height:80vh}}.voting-card{width:100%;padding:40px 30px;text-align:center;position:relative}@media(max-width: 600px){.voting-card{max-width:100%;min-height:75vh;padding:30px 20px}}.voting-icon{margin-bottom:20px}.vote-logo{width:70px;height:70px;opacity:.9;filter:drop-shadow(0 4px 8px rgba(0, 0, 0, 0.3));animation:voteReveal .8s ease-out}@media(max-width: 600px){.vote-logo{width:60px;height:60px}}.voting-instructions{font-size:1em;line-height:var(--line-height-normal);margin-bottom:25px;opacity:.9;animation:voteReveal .8s ease-out .4s both}.voting-section{margin:25px 0;animation:voteReveal .8s ease-out .6s both}.card-vote-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:15px 10px;border:2px solid var(--glass-border);border-radius:var(--radius-md);background:hsla(0,0%,100%,.1);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);cursor:pointer;transition:all var(--transition-base);min-height:70px;position:relative;overflow:hidden}.card-vote-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.card-vote-btn::before{content:"";position:absolute;inset:0;background:linear-gradient(45deg, transparent 30%, rgba(255, 255, 255, 0.1) 50%, transparent 70%);transform:translateX(-100%);transition:transform .6s;pointer-events:none}.card-vote-btn:hover{border-color:rgba(0,212,255,.5);background:rgba(0,212,255,.2);transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,212,255,.3)}.card-vote-btn:hover::before{transform:translateX(100%)}.card-vote-btn.selected{border-color:var(--color-primary);background:linear-gradient(135deg, rgba(0, 212, 255, 0.3), rgba(8, 145, 178, 0.3));color:#fff;transform:translateY(-3px);box-shadow:0 10px 25px rgba(0,212,255,.4)}.card-vote-btn.selected::before{display:none}@media(max-width: 600px){.card-vote-btn{min-height:65px;padding:12px 8px}}.vote-player-number{font-size:1.8em;font-weight:var(--font-weight-bold);margin-bottom:4px;text-shadow:0 2px 4px rgba(0,0,0,.3)}@media(max-width: 600px){.vote-player-number{font-size:1.6em}}.vote-player-label{font-size:.8em;font-weight:var(--font-weight-medium);opacity:.9;text-shadow:0 1px 2px rgba(0,0,0,.3)}@media(max-width: 600px){.vote-player-label{font-size:.75em}}.voting-buttons{margin-top:30px;animation:voteReveal .8s ease-out .8s both;display:flex;justify-content:center}.vote-confirm-btn{padding:15px 35px;font-size:1.1em;font-weight:var(--font-weight-semibold);border-radius:var(--radius-md);min-height:50px;transition:all var(--transition-base)}.vote-confirm-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.vote-confirm-btn.disabled{opacity:.5;cursor:not-allowed;transform:none !important;box-shadow:0 4px 15px rgba(0,212,255,.2) !important}.vote-confirm-btn:not(.disabled):hover{transform:translateY(-3px) scale(1.02);box-shadow:0 12px 35px rgba(0,212,255,.5)}@keyframes voteReveal{0%{transform:translateY(20px);opacity:0}100%{transform:translateY(0);opacity:1}}.guess-input{display:flex;gap:15px;margin:25px 0;flex-wrap:wrap}@media(max-width: 600px){.guess-input{flex-direction:column}}.guess-input input{flex:1;padding:15px 20px;border:2px solid rgba(102,126,234,.2);border-radius:var(--radius-full);font-size:16px;background:rgba(102,126,234,.05);transition:all var(--transition-base);min-width:200px}.guess-input input:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.guess-input input:focus{outline:none;border-color:#667eea;background:rgba(102,126,234,.1)}@media(max-width: 600px){.guess-input input{min-width:100%}}.location-hints{display:flex;flex-wrap:wrap;gap:10px;margin-top:15px}.location-hint{padding:8px 16px;background:rgba(102,126,234,.1);border-radius:20px;font-size:14px;color:#667eea;cursor:pointer;transition:all var(--transition-base)}.location-hint:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.location-hint:hover{background:rgba(102,126,234,.2);transform:translateY(-1px)}.results-content{text-align:center}.results-content h2{font-size:2.5em;margin-bottom:20px;background:linear-gradient(135deg, #ffffff, #00d4ff);-webkit-background-clip:text;-webkit-text-fill-color:rgba(0,0,0,0);background-clip:text}.location-reveal{margin:30px 0;padding:25px;background:rgba(102,126,234,.05);border-radius:15px;border:1px solid rgba(102,126,234,.1)}.results-buttons{display:flex;gap:15px;justify-content:center;flex-wrap:wrap;margin-top:30px}@media(max-width: 600px){.results-buttons{flex-direction:column}}.results-card-container{display:flex;justify-content:center;align-items:center;min-height:60vh;padding:20px}@media(max-width: 600px){.results-card-container{padding:10px;min-height:80vh}}.results-card{width:100%;max-width:400px;min-height:500px;padding:40px 30px;text-align:center;position:relative}@media(max-width: 600px){.results-card{max-width:100%;min-height:70vh;padding:30px 20px}}.result-icon{margin-bottom:20px}.result-logo{width:80px;height:80px;opacity:.9;filter:drop-shadow(0 4px 8px rgba(0, 0, 0, 0.3));animation:resultReveal .8s ease-out}@media(max-width: 600px){.result-logo{width:60px;height:60px}}.result-title{font-size:2em;font-weight:var(--font-weight-bold);margin-bottom:15px;background:rgba(0,0,0,0) !important;color:#fff !important;animation:resultReveal .8s ease-out .2s both}@media(max-width: 600px){.result-title{font-size:1.8em}}.result-details{font-size:1em;line-height:var(--line-height-normal);margin-bottom:25px;opacity:.9;animation:resultReveal .8s ease-out .4s both}.location-reveal-section{margin:25px 0;animation:resultReveal .8s ease-out .6s both}.location-reveal-title{font-size:1.1em;font-weight:var(--font-weight-semibold);margin-bottom:15px;opacity:.9;color:var(--color-primary)}.result-btn{padding:12px 24px;font-size:1em;font-weight:var(--font-weight-semibold);border-radius:var(--radius-md);transition:all var(--transition-base);min-height:48px;display:flex;align-items:center;justify-content:center}.result-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.result-btn .btn-text{display:flex;align-items:center;justify-content:center}@keyframes resultReveal{0%{transform:translateY(20px);opacity:0}100%{transform:translateY(0);opacity:1}}.dialog-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.dialog-header h2{font-weight:var(--font-weight-bold);font-size:1.6em}.close-btn{width:40px;height:40px;border:none;border-radius:50%;background:var(--color-primary);color:#fff;cursor:pointer;transition:all var(--transition-base);display:flex;align-items:center;justify-content:center;padding:0;position:relative;font-size:18px;font-weight:var(--font-weight-bold);box-shadow:0 4px 12px rgba(0,212,255,.4)}.close-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.close-btn::before{content:"×";font-size:24px;line-height:1}.close-btn svg{display:none}.close-btn:hover{background:var(--color-accent);transform:scale(1.1);box-shadow:0 6px 20px rgba(0,212,255,.5)}.close-btn:active{transform:scale(0.95);background:var(--color-primary-dark);box-shadow:0 2px 8px rgba(0,212,255,.3)}.single-card-container{display:flex;justify-content:center;align-items:center;margin:0;height:100%;width:100%;perspective:1200px}.single-card{width:85vw;max-width:650px;height:80vh;max-height:750px;position:relative;cursor:pointer;transform-style:preserve-3d;transition:transform .2s ease;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}@media(max-width: 768px){.single-card{width:95vw;height:92vh;max-height:none}}.single-card:hover{transform:scale(1.02)}.single-card.flipped .card-inner{transform:rotateY(180deg)}.single-card .card-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform .8s cubic-bezier(0.23, 1, 0.32, 1);will-change:transform}.single-card:not(.flipped) .card-back-side{visibility:hidden;opacity:0}.single-card.flipped .card-front-side{visibility:hidden;opacity:0}.single-card.flipped .card-back-side{visibility:visible;opacity:1}.single-card:not(.flipped) .card-front-side{visibility:visible;opacity:1}.single-card .card-side{position:absolute;top:0;left:0;width:100%;height:100%;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:var(--radius-xl);display:flex;flex-direction:column;justify-content:flex-start;align-items:center;padding:25px 20px;box-sizing:border-box;border:2px solid hsla(0,0%,100%,.3);background:var(--glass-bg);backdrop-filter:var(--glass-blur-strong);-webkit-backdrop-filter:var(--glass-blur-strong);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);box-shadow:0 20px 50px rgba(0,0,0,.15),0 10px 25px rgba(0,0,0,.1);overflow-y:auto;transform-origin:center center}.single-card .card-front-side{background-color:#041f2b;color:#fff;position:relative;overflow:hidden;transform:rotateY(0deg);z-index:2;border-radius:16px;box-shadow:0 0 24px rgba(0,212,255,.15)}.single-card .card-front-side::before{content:"";position:absolute;inset:0;background-image:repeating-linear-gradient(45deg, rgba(0, 212, 255, 0.1) 0px, rgba(0, 212, 255, 0.1) 1px, transparent 1px, transparent 16px),repeating-linear-gradient(-45deg, rgba(0, 212, 255, 0.1) 0px, rgba(0, 212, 255, 0.1) 1px, transparent 1px, transparent 16px);background-size:32px 32px;opacity:.4;pointer-events:none;z-index:1}.single-card .card-front-side::after{content:"";position:absolute;inset:0;background-image:radial-gradient(circle, rgba(0, 212, 255, 0.6) 1.5px, transparent 1.5px);background-size:32px 32px;background-position:center;opacity:.5;pointer-events:none;z-index:2}.single-card .card-front-content{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;z-index:10;position:relative}.single-card .tap-hint{margin-top:30px;display:flex;flex-direction:column;align-items:center;gap:10px;opacity:.8}.single-card .tap-icon{font-size:2em;animation:bounce 2s infinite}.single-card .tap-text{font-size:1.1em;color:hsla(0,0%,100%,.9);text-shadow:0 2px 4px rgba(0,0,0,.3)}.single-card .card-back-side{background:linear-gradient(135deg, rgba(0, 212, 255, 0.25), rgba(8, 145, 178, 0.25), rgba(30, 64, 175, 0.25));color:#fff;transform:rotateY(180deg);border:2px solid rgba(0,212,255,.4);padding:30px;z-index:1}.single-card .card-back-side.spy-card{background:linear-gradient(135deg, rgba(30, 41, 59, 0.95), rgba(15, 23, 42, 0.95));border:2px solid rgba(239,68,68,.5);color:#fff;box-shadow:0 20px 50px rgba(239,68,68,.2),0 10px 25px rgba(0,0,0,.3)}.single-card .card-back-side.spy-card .tip-item{background:rgba(239,68,68,.15);padding:8px 12px;border-radius:8px;font-size:.9em;border:1px solid rgba(239,68,68,.3);color:hsla(0,0%,100%,.9);animation:tipReveal 1s ease-out 1.2s both;opacity:0}.single-card .card-back-side.spy-card .tip-item:nth-child(2){animation-delay:1.4s}.single-card .card-back-side.location-card{background:linear-gradient(135deg, rgba(15, 23, 42, 0.95), rgba(30, 41, 59, 0.95));color:#fff;border:2px solid rgba(14,165,233,.4);box-shadow:0 20px 50px rgba(34,197,94,.1),0 10px 25px rgba(0,0,0,.3)}.single-card .card-back-side.location-card .civilian-role{color:#4ade80;text-shadow:0 2px 4px rgba(0,0,0,.3)}.single-card .card-back-side.location-card .location-info{color:#fff}.single-card .card-back-side.location-card .location-title{color:hsla(0,0%,100%,.7);font-weight:var(--font-weight-semibold)}.single-card .card-back-side.location-card .location-name{background:rgba(0,212,255,.15);color:#fff;border:1px solid rgba(0,212,255,.3);text-shadow:none}.single-card .card-back-side.location-card .lang-label{color:var(--color-primary-dark);font-weight:var(--font-weight-bold)}.single-card .card-back-side .role-content{position:relative;z-index:10;width:100%;min-height:calc(100% - 80px);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding-bottom:20px;gap:12px}.single-card .role-icon{font-size:3.5em;margin-bottom:10px;filter:drop-shadow(0 4px 8px rgba(0, 0, 0, 0.3));animation:iconReveal 1s ease-out}.single-card .spy-icon{animation:spyReveal 1s ease-out}.single-card .civilian-icon{animation:civilianReveal 1s ease-out}.single-card .spy-content{display:flex;flex-direction:column;align-items:center;height:100%;justify-content:space-around;width:100%}.single-card .spy-tips{margin-top:20px;display:flex;flex-direction:column;gap:8px;width:100%;max-width:300px}.single-card .card-instruction{margin-top:20px;padding:12px 16px;background:rgba(59,130,246,.15);border:1px solid rgba(59,130,246,.3);border-radius:10px;font-size:.85em;font-weight:var(--font-weight-medium);color:#60a5fa;text-align:center;max-width:320px;width:100%;line-height:var(--line-height-normal);animation:instructionReveal 1s ease-out 1.6s both;opacity:0}.single-card .civilian-content{display:flex;flex-direction:column;align-items:center;width:100%;gap:10px}.single-card .civilian-content.location-focused{justify-content:center;gap:0;height:100%;padding-bottom:80px}.single-card .status-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:20px;font-size:.85em;font-weight:var(--font-weight-medium);margin-bottom:20px;animation:fadeInDown .6s ease-out}.single-card .status-badge.not-spy{background:linear-gradient(135deg, rgba(34, 197, 94, 0.15), rgba(22, 163, 74, 0.1));color:#16a34a;border:1px solid rgba(34,197,94,.3)}.single-card .status-badge .status-icon{font-size:1em}.single-card .location-focal{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;width:100%;max-width:95%;text-align:center;animation:locationReveal .8s ease-out .2s both}.single-card .all-locations{display:flex;flex-direction:column;align-items:center;gap:16px;width:100%}.single-card .location-item{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:8px 16px;animation:locationItemReveal .6s ease-out both}.single-card .location-item:nth-child(1){animation-delay:.1s}.single-card .location-item:nth-child(2){animation-delay:.2s}.single-card .location-item:nth-child(3){animation-delay:.3s}.single-card .location-item:nth-child(4){animation-delay:.4s}.single-card .location-flag{font-size:1.8em;filter:drop-shadow(0 2px 4px rgba(0, 0, 0, 0.1));flex-shrink:0}.single-card .location-word{font-size:clamp(1em,2.5vw,1.8em);font-weight:var(--font-weight-bold);color:var(--color-primary-dark);text-align:center;line-height:1.2;word-wrap:break-word;hyphens:auto;text-shadow:0 2px 4px rgba(0,0,0,.1)}.single-card .location-word.location-not-loaded{font-size:1.5em;color:#ef4444}@keyframes locationItemReveal{0%{opacity:0;transform:translateY(10px)}100%{opacity:1;transform:translateY(0)}}.single-card .extra-translations{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:20px;padding:12px 16px;background:rgba(14,165,233,.05);border-radius:12px;border:1px solid rgba(14,165,233,.1);animation:fadeIn .6s ease-out .5s both}.single-card .extra-lang{display:flex;align-items:center;gap:6px;padding:4px 10px;background:hsla(0,0%,100%,.8);border-radius:16px;border:1px solid rgba(14,165,233,.2);font-size:.9em}.single-card .extra-lang .extra-flag{font-size:1.1em}.single-card .extra-lang .extra-text{font-weight:var(--font-weight-medium);color:#374151}.single-card .mission-hint{display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;margin-top:auto;margin-bottom:8px;font-size:.85em;color:#6b7280;animation:fadeIn .6s ease-out .7s both}.single-card .mission-hint .mission-icon{font-size:1.1em}@keyframes locationReveal{0%{opacity:0;transform:scale(0.9)}100%{opacity:1;transform:scale(1)}}@keyframes locationPulse{0%,100%{filter:brightness(1)}50%{filter:brightness(1.1)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-10px)}100%{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}.single-card .location-section{width:100%;max-width:400px}.single-card .location-header{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:8px;font-weight:var(--font-weight-semibold);color:#374151}.single-card .location-icon{font-size:1.2em}.single-card .location-card-display{background:linear-gradient(135deg, rgba(14, 165, 233, 0.1), rgba(3, 105, 161, 0.1));border:2px solid rgba(14,165,233,.2);border-radius:15px;padding:15px;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);box-shadow:0 8px 20px rgba(14,165,233,.1)}.single-card .primary-location{font-size:1.6em;font-weight:var(--font-weight-bold);color:var(--color-primary-dark);text-align:center;margin-bottom:10px;text-shadow:0 2px 4px rgba(0,0,0,.1)}.single-card .location-translations{display:flex;flex-direction:column;gap:6px}.single-card .translation-item{display:flex;align-items:center;gap:8px;background:rgba(30,41,59,.7);padding:6px 10px;border-radius:6px;font-weight:var(--font-weight-medium);color:#fff;border:1px solid rgba(34,197,94,.2);font-size:.9em}.single-card .lang-flag{font-size:1.1em}.single-card .lang-text{flex:1}.single-card .spy-mission,.single-card .civilian-mission{margin-top:10px;text-align:center}.single-card .mission-title{font-size:1em;font-weight:var(--font-weight-semibold);margin-bottom:6px;opacity:.9}.single-card .mission-text{font-size:.85em;opacity:.8;line-height:var(--line-height-tight);max-width:250px;margin:0 auto}.single-card .card-header{text-align:center;margin-bottom:30px}.single-card .card-header .card-title{font-size:2.5em;font-weight:var(--font-weight-bold);margin-bottom:15px;background:linear-gradient(135deg, var(--color-primary), var(--color-primary-dark), var(--color-primary-darker));-webkit-background-clip:text;-webkit-text-fill-color:rgba(0,0,0,0);background-clip:text;text-shadow:none;position:relative;z-index:5}.single-card .card-header .player-instruction{font-size:1.3em;font-weight:var(--font-weight-medium);color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.5);margin-bottom:0;position:relative;z-index:5}.single-card .player-number{font-size:2.2em;font-weight:var(--font-weight-bold);color:#fff;text-shadow:0 3px 6px rgba(0,0,0,.5);margin:20px 0;position:relative;z-index:5;background:linear-gradient(135deg, var(--color-primary), var(--color-primary-dark), var(--color-primary-darker));-webkit-background-clip:text;-webkit-text-fill-color:rgba(0,0,0,0);background-clip:text}.single-card .player-instruction{font-size:1.1em;font-weight:var(--font-weight-normal);color:hsla(0,0%,100%,.9);text-shadow:0 2px 4px rgba(0,0,0,.3);margin-bottom:10px;position:relative;z-index:5}.single-card .card-main-content{text-align:center;flex:1;display:flex;align-items:center;justify-content:center;position:relative;z-index:5}.single-card .spy-role{font-size:2.2em;font-weight:var(--font-weight-bold);color:#dc2626;margin-bottom:15px;text-shadow:0 2px 4px rgba(220,38,38,.2);animation:spyReveal 1s ease-out .3s both}.single-card .civilian-role{font-size:1.8em;font-weight:var(--font-weight-semibold);color:#34d399;margin-bottom:20px;text-shadow:0 3px 6px rgba(0,0,0,.5)}.single-card .location-info{text-align:center;margin-top:20px}.single-card .location-title{font-size:1.2em;margin-bottom:15px;opacity:.9}.single-card .location-languages{display:flex;flex-direction:column;gap:5px;margin-top:10px}.single-card .card-button-container{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);z-index:10;display:flex;flex-direction:column;align-items:center;gap:12px}.single-card .button-instruction{font-size:.85em;font-weight:var(--font-weight-medium);color:var(--color-primary-dark);text-align:center;padding:8px 16px;background:rgba(8,145,178,.1);border-radius:8px;border:1px solid rgba(8,145,178,.2);white-space:normal;max-width:280px;line-height:1.4;animation:buttonInstructionReveal .8s ease-out .5s both;opacity:0}@media(max-width: 768px){.single-card .button-instruction{font-size:.8em;max-width:240px;padding:6px 12px}}.single-card .card-btn{padding:12px 24px;font-size:14px;min-width:120px;box-shadow:0 4px 15px rgba(0,212,255,.3);transition:all var(--transition-base)}.single-card .card-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.single-card .card-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(0,212,255,.4)}.debug-info{font-size:.7em;opacity:.6;margin:3px 0;padding:6px 8px;background:hsla(0,0%,100%,.08);border-radius:4px;border:1px solid hsla(0,0%,100%,.15);font-family:"Monaco","Consolas",monospace;line-height:var(--line-height-tight);max-width:300px;text-align:center}.location-not-loaded{color:#ff6b6b !important;opacity:.8}.languages-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(140px, 1fr));gap:12px;width:100%}.language-card{background:linear-gradient(135deg, rgba(30, 41, 59, 0.9), rgba(15, 23, 42, 0.8));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(14,165,233,.2);border-radius:12px;padding:12px;text-align:center;transition:all .3s ease;box-shadow:0 4px 12px rgba(0,0,0,.05);position:relative;overflow:hidden}.language-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg, var(--color-primary), var(--color-secondary));opacity:0;transition:opacity .3s ease}.language-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.1);border-color:rgba(14,165,233,.4)}.language-card:hover::before{opacity:1}.language-card.primary-language{background:linear-gradient(135deg, rgba(14, 165, 233, 0.15), rgba(3, 105, 161, 0.1));border-color:var(--color-primary);border-width:2px;box-shadow:0 4px 16px rgba(14,165,233,.2)}.language-card.primary-language::before{opacity:1;background:linear-gradient(90deg, var(--color-primary), var(--color-secondary));height:4px}.language-card.primary-language .language-flag{font-size:2.2em;transform:scale(1.1)}.language-card.primary-language .language-name{font-weight:var(--font-weight-bold);color:var(--color-primary-dark)}.language-card.primary-language .location-text{font-weight:var(--font-weight-semibold);color:#fff}.language-flag{font-size:2em;line-height:1;margin-bottom:6px;display:block;filter:drop-shadow(0 2px 4px rgba(0, 0, 0, 0.1));transition:transform .3s ease}.language-name{font-size:.75rem;font-weight:var(--font-weight-medium);color:hsla(0,0%,100%,.6);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;line-height:1.2}.location-text{font-size:.95rem;font-weight:var(--font-weight-medium);color:hsla(0,0%,100%,.9);line-height:1.3;word-wrap:break-word;hyphens:auto}@media(max-width: 600px){.languages-grid{grid-template-columns:repeat(auto-fit, minmax(120px, 1fr));gap:10px}.language-card{padding:10px}.language-card.primary-language .language-flag{font-size:2em}.language-flag{font-size:1.8em;margin-bottom:4px}.language-name{font-size:.7rem;margin-bottom:3px}.location-text{font-size:.85rem}}@media(max-width: 480px){.languages-grid{grid-template-columns:repeat(2, 1fr);gap:8px}.language-card{padding:8px}.language-flag{font-size:1.6em}.location-text{font-size:.8rem}}.enhanced-btn{display:flex;align-items:center;justify-content:center;gap:8px;padding:15px 30px !important;font-size:16px !important;border-radius:25px;background:linear-gradient(135deg, var(--color-primary), var(--color-primary-dark)) !important;border:none;color:#fff;font-weight:var(--font-weight-semibold);text-decoration:none;transition:all var(--transition-bounce);box-shadow:0 8px 25px rgba(0,212,255,.4);position:relative;overflow:hidden}.enhanced-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.enhanced-btn::before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);transition:left .5s}.enhanced-btn:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 12px 35px rgba(0,212,255,.5)}.enhanced-btn:hover::before{left:100%}.enhanced-btn:active{transform:translateY(-1px) scale(0.98)}.btn-icon{font-size:1.1em;filter:drop-shadow(0 1px 2px rgba(0, 0, 0, 0.2))}.btn-text{font-weight:var(--font-weight-semibold);letter-spacing:.3px}@keyframes iconReveal{0%{transform:scale(0) rotate(180deg);opacity:0}50%{transform:scale(1.2) rotate(0deg)}100%{transform:scale(1) rotate(0deg);opacity:1}}@keyframes civilianReveal{0%{transform:scale(0) translateY(20px);opacity:0}60%{transform:scale(1.1) translateY(-5px)}100%{transform:scale(1) translateY(0);opacity:1}}@keyframes tipReveal{0%{transform:translateX(-20px);opacity:0}100%{transform:translateX(0);opacity:1}}@keyframes instructionReveal{0%{transform:translateY(10px);opacity:0}100%{transform:translateY(0);opacity:1}}@keyframes buttonInstructionReveal{0%{transform:scale(0.95) translateY(-5px);opacity:0}100%{transform:scale(1) translateY(0);opacity:1}}.glass-header{text-align:center;margin-bottom:40px}.glass-header h2{font-size:2.5em;font-weight:var(--font-weight-bold);background:linear-gradient(135deg, var(--color-primary), var(--color-primary-dark), var(--color-primary-darker));-webkit-background-clip:text;-webkit-text-fill-color:rgba(0,0,0,0);background-clip:text;margin-bottom:10px;filter:drop-shadow(0 4px 20px rgba(0, 212, 255, 0.4))}.glass-header p{color:#fff;font-size:1.1em;opacity:.9;text-shadow:0 2px 4px rgba(0,0,0,.3)}.cards-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));gap:20px;margin:40px 0;max-height:70vh;overflow-y:auto;padding:20px;background:hsla(0,0%,100%,.05);backdrop-filter:var(--glass-blur-strong);-webkit-backdrop-filter:var(--glass-blur-strong);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:var(--radius-xl)}.player-card{position:relative;height:280px;border-radius:var(--radius-xl);cursor:pointer;transition:all var(--transition-base);transform-style:preserve-3d;perspective:1200px}.player-card:hover{transform:scale(1.03)}.player-card.flipped .card-inner{transform:rotateY(180deg)}.player-card:not(.flipped) .card-back-side{visibility:hidden;opacity:0}.player-card.flipped .card-front-side{visibility:hidden;opacity:0}.player-card.flipped .card-back-side{visibility:visible;opacity:1}.player-card:not(.flipped) .card-front-side{visibility:visible;opacity:1}.card-inner{position:relative;width:100%;height:100%;transition:transform .9s cubic-bezier(0.25, 1, 0.5, 1);transform-style:preserve-3d;transform-origin:center center;will-change:transform}.card-side{position:absolute;width:100%;height:100%;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:var(--radius-xl);display:flex;flex-direction:column;justify-content:center;align-items:center;padding:30px 20px;box-sizing:border-box;border:2px solid var(--glass-border);background:var(--glass-bg);backdrop-filter:var(--glass-blur-strong);-webkit-backdrop-filter:var(--glass-blur-strong);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);box-shadow:0 15px 35px rgba(0,0,0,.1),0 5px 15px rgba(0,0,0,.05);transform-origin:center center;transition:opacity .1s ease,visibility .1s ease}.card-front-side{background:linear-gradient(135deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.05));color:#fff;position:relative}.card-front-side::before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:radial-gradient(circle at 25% 25%, rgba(255, 255, 255, 0.08) 1.5px, transparent 1.5px),radial-gradient(circle at 75% 25%, rgba(255, 255, 255, 0.04) 1px, transparent 1px),radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.06) 1px, transparent 1px),radial-gradient(circle at 75% 75%, rgba(255, 255, 255, 0.08) 1.5px, transparent 1.5px),radial-gradient(circle at 25% 75%, rgba(255, 255, 255, 0.04) 1px, transparent 1px);background-size:40px 40px,25px 25px,30px 30px,40px 40px,25px 25px;background-position:0 0,12px 12px,20px 20px,25px 25px,35px 5px;opacity:.5;pointer-events:none;z-index:1}.card-front-side::after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:linear-gradient(45deg, transparent 45%, rgba(255, 255, 255, 0.04) 46%, rgba(255, 255, 255, 0.04) 47%, transparent 48%),linear-gradient(-45deg, transparent 45%, rgba(255, 255, 255, 0.02) 46%, rgba(255, 255, 255, 0.02) 47%, transparent 48%);background-size:50px 50px,35px 35px;opacity:.4;pointer-events:none;z-index:2}.card-front-side .card-logo{font-size:3em;margin-bottom:15px;opacity:.8;filter:drop-shadow(0 2px 4px rgba(0, 0, 0, 0.3));position:relative;z-index:5}.card-front-side .card-title{font-size:1.4em;font-weight:var(--font-weight-semibold);margin-bottom:8px;text-shadow:0 2px 4px rgba(0,0,0,.5);position:relative;z-index:5}.card-front-side .card-subtitle{font-size:.9em;opacity:.8;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.3);position:relative;z-index:5}.card-back-side{background:linear-gradient(135deg, rgba(0, 212, 255, 0.2), rgba(8, 145, 178, 0.2), rgba(30, 64, 175, 0.2));color:#fff;transform:rotateY(180deg);border:2px solid rgba(0,212,255,.3)}.card-back-side .role-content{text-align:center}.card-back-side .role-title{font-size:1.3em;font-weight:var(--font-weight-semibold);margin-bottom:15px;text-shadow:0 2px 4px rgba(0,0,0,.5)}.card-back-side .spy-icon{width:80px;height:80px;margin:0 auto 15px;opacity:.9;filter:drop-shadow(0 4px 8px rgba(0, 0, 0, 0.3));animation:spyReveal .8s ease-out}.card-back-side .spy-role{font-size:1.8em;font-weight:var(--font-weight-bold);color:#ff6b6b;margin-bottom:10px;text-shadow:0 2px 4px rgba(0,0,0,.5);animation:spyReveal .8s ease-out .2s both}.card-back-side .spy-mission{font-size:.9em;opacity:.9;line-height:1.4;animation:spyReveal .8s ease-out .4s both}.card-back-side .civilian-role{font-size:1.5em;font-weight:var(--font-weight-semibold);color:#34d399;margin-bottom:15px;text-shadow:0 2px 4px rgba(0,0,0,.5)}.card-back-side .location-info{margin-top:15px}.card-back-side .location-title{font-size:1em;margin-bottom:10px;opacity:.9}.card-back-side .location-name{font-size:1.2em;font-weight:var(--font-weight-semibold);padding:8px 15px;background:hsla(0,0%,100%,.1);border-radius:10px;margin-bottom:5px;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border:1px solid hsla(0,0%,100%,.2)}.card-revealed{opacity:.7;pointer-events:none}.glass-footer{text-align:center;margin-top:30px}.glass-btn{background:rgba(14,165,233,.2);backdrop-filter:var(--glass-blur-strong);-webkit-backdrop-filter:var(--glass-blur-strong);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border:2px solid hsla(0,0%,100%,.2);box-shadow:0 8px 32px rgba(14,165,233,.3)}.glass-btn:hover{background:rgba(14,165,233,.3);border-color:hsla(0,0%,100%,.3);box-shadow:0 12px 40px rgba(14,165,233,.4)}.glass-card{background:hsla(0,0%,100%,.05);backdrop-filter:var(--glass-blur-strong);-webkit-backdrop-filter:var(--glass-blur-strong);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:var(--radius-xl);padding:30px;margin:20px 0}.spy-guess-card-container{display:flex;justify-content:center;align-items:center;min-height:60vh;padding:20px}@media(max-width: 600px){.spy-guess-card-container{padding:10px;min-height:85vh}}.spy-guess-card{width:100%;max-width:500px;min-height:600px;padding:40px 30px;text-align:center;position:relative}@media(max-width: 600px){.spy-guess-card{max-width:100%;min-height:80vh;padding:30px 20px}}.spy-guess-icon{margin-bottom:20px}.guess-logo{width:70px;height:70px;opacity:.9;filter:drop-shadow(0 4px 8px rgba(0, 0, 0, 0.3));animation:guessReveal .8s ease-out}@media(max-width: 600px){.guess-logo{width:60px;height:60px}}.spy-guess-instructions{font-size:1em;line-height:var(--line-height-normal);margin-bottom:25px;opacity:.9;animation:guessReveal .8s ease-out .4s both}.guess-input-section{margin:25px 0;animation:guessReveal .8s ease-out .6s both}.guess-input-container{display:flex;flex-direction:column;gap:15px;align-items:center}.location-input{width:100%;max-width:300px;padding:15px 20px;border:2px solid var(--glass-border);border-radius:25px;background:hsla(0,0%,100%,.1);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);color:#fff;font-size:16px;text-align:center;transition:all var(--transition-base);outline:none}.location-input:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.location-input::placeholder{color:hsla(0,0%,100%,.6);text-align:center}.location-input:focus{border-color:rgba(0,212,255,.5);background:rgba(0,212,255,.1);box-shadow:0 0 20px rgba(0,212,255,.3)}@media(max-width: 600px){.location-input{max-width:100%;font-size:16px}}.guess-submit-btn{padding:12px 30px;font-size:1em;font-weight:var(--font-weight-semibold);border-radius:var(--radius-md);min-height:48px;transition:all var(--transition-base)}.guess-submit-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.guess-submit-btn:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 12px 30px rgba(0,212,255,.5)}.popular-locations-section{margin:30px 0;animation:guessReveal .8s ease-out .8s both}.popular-locations-title{font-size:1.1em;font-weight:var(--font-weight-semibold);margin-bottom:15px;opacity:.9;color:var(--color-primary)}.location-hints-container{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;max-height:180px;overflow-y:auto;padding:10px}@media(max-width: 600px){.location-hints-container{max-height:120px}}.card-hint-btn{padding:8px 16px;border:2px solid var(--glass-border);border-radius:20px;background:hsla(0,0%,100%,.1);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);color:#fff;font-size:14px;font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base);position:relative;overflow:hidden}.card-hint-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.card-hint-btn::before{content:"";position:absolute;inset:0;background:linear-gradient(45deg, transparent 30%, rgba(255, 255, 255, 0.1) 50%, transparent 70%);transform:translateX(-100%);transition:transform .6s;pointer-events:none}.card-hint-btn:hover{border-color:rgba(0,212,255,.5);background:rgba(0,212,255,.2);transform:translateY(-2px);box-shadow:0 6px 15px rgba(0,212,255,.3)}.card-hint-btn:hover::before{transform:translateX(100%)}.card-hint-btn:active{transform:translateY(-1px);background:rgba(0,212,255,.3)}@media(max-width: 600px){.card-hint-btn{font-size:13px;padding:6px 12px}}@keyframes guessReveal{0%{transform:translateY(20px);opacity:0}100%{transform:translateY(0);opacity:1}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.85);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px;box-sizing:border-box;animation:fadeIn .3s ease-out}@media(max-width: 420px){.modal-overlay{padding:5px}}.modal-content{background-color:#0f172a;background-image:radial-gradient(at 0% 0%, rgba(56, 189, 248, 0.33) 0px, transparent 50%),radial-gradient(at 100% 0%, rgba(14, 165, 233, 0.33) 0px, transparent 50%),radial-gradient(at 100% 100%, rgba(56, 189, 248, 0.33) 0px, transparent 50%),radial-gradient(at 0% 100%, rgba(14, 165, 233, 0.33) 0px, transparent 50%);background-attachment:fixed;background-size:cover;border-radius:var(--radius-xl);width:100%;max-width:800px;max-height:90vh;box-shadow:0 25px 70px rgba(0,0,0,.4);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);border:2px solid hsla(0,0%,100%,.5);display:flex;flex-direction:column;overflow:hidden;animation:slideIn .4s ease-out}@media(max-width: 420px){.modal-content{margin:5px;padding:15px;max-width:calc(100vw - 10px);max-height:calc(100vh - 10px);box-sizing:border-box}}.modal-header{padding:24px 20px;border-bottom:2px solid rgba(102,126,234,.15);flex-shrink:0}.modal-body{padding:24px 20px;overflow-y:auto;flex:1;max-height:calc(90vh - 140px)}.modal-footer{padding:24px 30px;border-top:1px solid rgba(102,126,234,.15);flex-shrink:0;text-align:center}.rules-modal-active .screen{display:none !important}.rules-section{margin-bottom:25px}.rule-heading{margin-bottom:15px;font-size:1.4em;font-weight:var(--font-weight-bold)}.rule-text{line-height:var(--line-height-relaxed);font-size:15px;font-weight:var(--font-weight-normal)}.rule-list{padding-left:25px;line-height:var(--line-height-relaxed);font-size:15px}.rule-list li{margin-bottom:8px;font-weight:var(--font-weight-normal)}.welcome-modal .modal-content{max-width:600px;text-align:center}@media(max-width: 480px){.welcome-modal .modal-content{margin:10px;max-width:calc(100vw - 20px)}}.welcome-header{padding:40px 30px 20px;border-bottom:2px solid rgba(102,126,234,.1)}.welcome-header h2{color:var(--color-primary-dark);margin-bottom:15px;font-size:2.2em}@media(max-width: 480px){.welcome-header h2{font-size:1.8em}}@media(max-width: 480px){.welcome-header{padding:30px 20px 15px}}.welcome-icon{font-size:4em;margin-bottom:20px;animation:pulse 2s infinite}@media(max-width: 480px){.welcome-icon{font-size:3em}}.welcome-body{padding:30px;color:#444}@media(max-width: 480px){.welcome-body{padding:20px}}.welcome-message{font-size:1.1em;line-height:var(--line-height-relaxed);margin-bottom:25px;color:#555}.first-time-message{font-size:1em;font-weight:var(--font-weight-medium);color:var(--color-primary-dark);margin-bottom:0}.welcome-actions{padding:20px 30px 40px;display:flex;gap:15px;justify-content:center;flex-wrap:wrap}.welcome-actions .btn{min-width:140px;padding:12px 24px}@media(max-width: 480px){.welcome-actions{padding:15px 20px 30px;flex-direction:column}.welcome-actions .btn{min-width:100%}}.welcome-screen{display:flex;flex-direction:column;height:100%;text-align:center;overflow-y:auto;overflow-x:hidden;width:100%}.welcome-content{display:flex;flex-direction:column;gap:25px;padding:20px 20px 40px;position:relative}@media(max-width: 600px){.welcome-content{gap:20px;padding:15px;padding-top:50px}}@media(max-width: 420px){.welcome-content{gap:15px;padding:10px;padding-top:45px;max-width:100%;box-sizing:border-box}}.welcome-language-switcher{position:absolute;top:0;right:0;z-index:100}@media(max-width: 600px){.welcome-language-switcher{top:-5px;right:-5px}}@media(max-width: 420px){.welcome-language-switcher{top:5px;right:5px}}.welcome-lang-dropdown{position:relative}.welcome-dropdown-btn{padding:10px 16px;border:none;border-radius:25px;background:hsla(0,0%,100%,.1);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);color:hsla(0,0%,100%,.9);font-size:13px;font-weight:var(--font-weight-medium);cursor:pointer;transition:all var(--transition-base);border:1px solid var(--glass-border);display:flex;align-items:center;gap:8px;min-width:130px;justify-content:space-between;box-shadow:0 4px 15px rgba(0,0,0,.1)}.welcome-dropdown-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.welcome-dropdown-btn:hover{background:hsla(0,0%,100%,.15);border-color:rgba(0,212,255,.3);box-shadow:0 6px 20px rgba(0,212,255,.2);transform:translateY(-1px)}@media(max-width: 600px){.welcome-dropdown-btn{min-width:110px;padding:8px 12px;font-size:12px}}@media(max-width: 420px){.welcome-dropdown-btn{min-width:90px;padding:6px 10px;font-size:11px;max-width:calc(100vw - 30px)}}.welcome-dropdown-menu{position:absolute;top:calc(100% + 8px);right:0;background:rgba(20,20,30,.95);border-radius:var(--radius-md);background:var(--glass-bg);backdrop-filter:var(--glass-blur-strong);-webkit-backdrop-filter:var(--glass-blur-strong);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);box-shadow:0 12px 40px rgba(0,0,0,.15);border:1px solid var(--glass-border);overflow:hidden;opacity:0;transform:translateY(-10px) scale(0.95);pointer-events:none;transition:all .25s ease;min-width:150px;z-index:1001}.welcome-dropdown-menu.show{opacity:1;transform:translateY(0) scale(1);pointer-events:all}@media(max-width: 420px){.welcome-dropdown-menu{right:0;max-width:calc(100vw - 20px);min-width:120px}}.welcome-dropdown-menu .dropdown-item{display:flex;align-items:center;gap:10px;padding:12px 16px;border:none;background:rgba(0,0,0,0);color:hsla(0,0%,100%,.9);font-size:13px;font-weight:var(--font-weight-medium);cursor:pointer;transition:all .2s ease;width:100%;text-align:left}.welcome-dropdown-menu .dropdown-item:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.welcome-dropdown-menu .dropdown-item:hover{background:var(--glass-bg-hover);color:#fff}.welcome-dropdown-menu .dropdown-item.active{background:rgba(0,212,255,.2);color:var(--color-primary);font-weight:var(--font-weight-semibold)}.welcome-dropdown-menu .lang-flag{font-size:16px}.welcome-dropdown-menu .lang-name{font-size:13px}.welcome-lang-dropdown.dropdown-open .dropdown-arrow{transform:rotate(180deg)}.welcome-logo-icon{width:80px;height:80px;opacity:.9;filter:drop-shadow(0 8px 16px rgba(14, 165, 233, 0.3));transition:all var(--transition-base);animation:welcomeFloat 3s ease-in-out infinite}@media(max-width: 600px){.welcome-logo-icon{width:60px;height:60px}}@media(max-width: 420px){.welcome-logo-icon{width:50px;height:50px}}.welcome-title{font-size:2.5em;font-weight:var(--font-weight-bold);background:linear-gradient(135deg, var(--color-primary), var(--color-primary-dark), var(--color-primary-darker));-webkit-background-clip:text;-webkit-text-fill-color:rgba(0,0,0,0);background-clip:text;margin-bottom:8px;filter:drop-shadow(0 4px 20px rgba(0, 212, 255, 0.4))}@media(max-width: 600px){.welcome-title{font-size:2em}}@media(max-width: 420px){.welcome-title{font-size:1.6em;word-break:break-word}}.welcome-subtitle{color:hsla(0,0%,100%,.9);font-size:1.2em;font-weight:var(--font-weight-medium);margin-bottom:0;text-shadow:0 2px 4px rgba(0,0,0,.3)}@media(max-width: 600px){.welcome-subtitle{font-size:1.1em}}@media(max-width: 420px){.welcome-subtitle{font-size:1em}}.welcome-description{background:hsla(0,0%,100%,.05);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:15px;padding:20px;box-shadow:0 8px 32px rgba(0,0,0,.1)}.welcome-description p{color:hsla(0,0%,100%,.9);font-size:1.05em;line-height:var(--line-height-relaxed);margin:0;text-shadow:0 1px 3px rgba(0,0,0,.3)}@media(max-width: 420px){.welcome-description p{font-size:.9em;line-height:1.4}}@media(max-width: 420px){.welcome-description{padding:10px;margin:0}}.welcome-features{background:hsla(0,0%,100%,.05);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:15px;padding:20px;box-shadow:0 8px 32px rgba(0,0,0,.1)}.welcome-features h3{color:var(--color-primary);font-size:1.3em;font-weight:var(--font-weight-semibold);margin-bottom:15px;text-shadow:0 2px 4px rgba(0,0,0,.3)}@media(max-width: 420px){.welcome-features{padding:10px;margin:0}}.features-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.features-list li{display:flex;align-items:center;justify-content:flex-start;padding:10px 15px;background:rgba(0,212,255,.1);border-radius:10px;color:hsla(0,0%,100%,.95);font-weight:var(--font-weight-medium);border:1px solid rgba(0,212,255,.2);background:var(--glass-bg);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);transition:all var(--transition-base);text-align:left;animation:featureReveal .6s ease-out forwards;animation-delay:var(--animation-delay, 0s);opacity:0;transform:translateX(-20px)}.features-list li:nth-child(1){--animation-delay: 0.1s}.features-list li:nth-child(2){--animation-delay: 0.2s}.features-list li:nth-child(3){--animation-delay: 0.3s}.features-list li:nth-child(4){--animation-delay: 0.4s}.features-list li:nth-child(5){--animation-delay: 0.5s}.features-list li:hover{background:rgba(0,212,255,.2);border-color:rgba(0,212,255,.4);transform:translateX(5px);box-shadow:0 4px 15px rgba(0,212,255,.2)}@media(max-width: 420px){.features-list li{padding:6px 10px;font-size:13px}}.welcome-tip{background:linear-gradient(135deg, rgba(255, 193, 7, 0.15), rgba(255, 152, 0, 0.15));border-radius:15px;padding:18px;border:1px solid rgba(255,193,7,.3);background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);animation:tipGlow 2s ease-in-out infinite alternate}@media(max-width: 420px){.welcome-tip{padding:10px;margin:0}}.tip-text{color:rgba(255,235,59,.95);font-size:1em;font-weight:var(--font-weight-medium);margin:0;text-shadow:0 1px 3px rgba(0,0,0,.4);line-height:var(--line-height-normal)}@media(max-width: 420px){.tip-text{font-size:.85em}}.welcome-buttons{display:flex;flex-direction:column;gap:15px;align-items:center}@media(max-width: 420px){.welcome-buttons{display:flex;flex-direction:column;gap:10px;width:100%}}.learn-rules-btn{background:linear-gradient(135deg, var(--color-primary), var(--color-primary-dark)) !important;color:#fff !important;box-shadow:0 10px 30px rgba(0,212,255,.3);border:none;padding:16px 32px;border-radius:var(--radius-full);font-size:16px;font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-base);text-decoration:none;display:inline-block;text-align:center;position:relative;overflow:hidden;transform:translateY(0);min-width:200px}.learn-rules-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.learn-rules-btn:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 15px 40px rgba(0,212,255,.4)}@media(max-width: 420px){.learn-rules-btn{min-width:140px;padding:12px 20px;font-size:14px;margin:0 5px}}.skip-btn{background:rgba(14,165,233,.1) !important;color:var(--color-accent) !important;border:2px solid var(--color-accent);padding:16px 32px;border-radius:var(--radius-full);font-size:16px;font-weight:var(--font-weight-semibold);cursor:pointer;transition:all var(--transition-base);text-decoration:none;display:inline-block;text-align:center;position:relative;overflow:hidden;transform:translateY(0);min-width:200px;background:var(--glass-bg);backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow)}.skip-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.skip-btn:hover{background:rgba(14,165,233,.2) !important;transform:translateY(-2px);box-shadow:0 8px 25px rgba(14,165,233,.3)}@media(max-width: 420px){.skip-btn{min-width:140px;padding:12px 20px;font-size:14px;margin:0 5px}}.welcome-options{display:flex;justify-content:center;padding:10px 0 30px}@media(max-width: 420px){.welcome-options{padding:0 10px}}.checkbox-label{display:flex;align-items:center;gap:10px;cursor:pointer;color:hsla(0,0%,100%,.8);font-size:14px;font-weight:var(--font-weight-medium);transition:all var(--transition-base);padding:8px 12px;border-radius:8px;background:var(--glass-bg);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow)}.checkbox-label:hover{color:hsla(0,0%,100%,.95);background:hsla(0,0%,100%,.05)}@media(max-width: 420px){.checkbox-label{font-size:.85em}}.checkbox-label input[type=checkbox]{appearance:none;-webkit-appearance:none;-moz-appearance:none;width:18px;height:18px;border:2px solid hsla(0,0%,100%,.4);border-radius:4px;background:hsla(0,0%,100%,.1);cursor:pointer;position:relative;transition:all var(--transition-base);background:var(--glass-bg);backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow)}.checkbox-label input[type=checkbox]:checked{background:linear-gradient(135deg, var(--color-primary), var(--color-primary-dark));border-color:var(--color-primary);box-shadow:0 0 10px rgba(0,212,255,.4)}.checkbox-label input[type=checkbox]:checked::after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);color:#fff;font-weight:var(--font-weight-bold);font-size:12px}.checkbox-text{text-shadow:0 1px 3px rgba(0,0,0,.3);user-select:none}@keyframes welcomeFloat{0%,100%{transform:translateY(0px) rotate(0deg)}50%{transform:translateY(-10px) rotate(5deg)}}@keyframes featureReveal{0%{opacity:0;transform:translateX(-20px)}100%{opacity:1;transform:translateX(0)}}@keyframes tipGlow{0%{box-shadow:0 0 20px rgba(255,193,7,.2);border-color:rgba(255,193,7,.3)}100%{box-shadow:0 0 30px rgba(255,193,7,.4);border-color:rgba(255,193,7,.5)}}.settings-heading{margin-bottom:15px;font-size:1.5em;font-weight:var(--font-weight-bold)}@media(max-width: 420px){.settings-heading{font-size:1.2em}}.settings-actions{margin-top:30px;padding-top:20px;border-top:1px solid rgba(14,165,233,.1);text-align:center}@media(max-width: 600px){.settings-actions{margin-top:20px;padding-top:15px}}.clear-stats-btn.success{background:linear-gradient(135deg, #10b981, #059669) !important;border-color:#10b981 !important;color:#fff !important;transform:translateY(-1px);box-shadow:0 6px 20px rgba(16,185,129,.4)}.clear-stats-btn.success:hover{background:linear-gradient(135deg, #059669, #047857) !important;transform:translateY(-2px);box-shadow:0 8px 25px rgba(16,185,129,.5)}.settings-section{margin-bottom:30px;padding-bottom:25px;border-bottom:1px solid rgba(14,165,233,.15)}.settings-section:last-child{border-bottom:none;margin-bottom:0}.settings-section h3{font-size:1.4em;font-weight:var(--font-weight-bold);margin-bottom:12px;display:flex;align-items:center;gap:8px}@media(max-width: 600px){.settings-section h3{font-size:1.3em}}.settings-description{font-size:1em;margin-bottom:20px;line-height:var(--line-height-relaxed);font-weight:var(--font-weight-normal)}@media(max-width: 600px){.settings-description{font-size:.95em}}@media(max-width: 420px){.settings-description{font-size:.9em}}.language-checkboxes{display:grid;grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));gap:12px}@media(max-width: 600px){.language-checkboxes{grid-template-columns:1fr}}.language-checkbox{display:flex;align-items:center;padding:12px 16px;border:2px solid rgba(14,165,233,.1);border-radius:var(--radius-md);background:rgba(14,165,233,.02);cursor:pointer;transition:all var(--transition-base);position:relative;overflow:hidden;min-height:44px;-webkit-tap-highlight-color:rgba(0,0,0,0);user-select:none;width:100%}.language-checkbox::before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg, transparent, rgba(14, 165, 233, 0.1), transparent);transition:left .5s}.language-checkbox:hover{border-color:rgba(14,165,233,.3);background:rgba(14,165,233,.08);transform:translateY(-2px);box-shadow:0 4px 15px rgba(14,165,233,.1)}.language-checkbox:hover::before{left:100%}.language-checkbox:active{transform:translateY(0);box-shadow:0 2px 8px rgba(14,165,233,.2);background:rgba(14,165,233,.12)}.language-checkbox.selected{border-color:var(--color-accent);background:rgba(14,165,233,.15);box-shadow:0 4px 15px rgba(14,165,233,.2)}.language-checkbox.disabled{opacity:.4;cursor:not-allowed;transform:none !important;box-shadow:none !important}.language-checkbox.disabled:hover{border-color:rgba(14,165,233,.1);background:rgba(14,165,233,.02)}@media(max-width: 600px){.language-checkbox{padding:12px 16px;min-height:48px}}@media(max-width: 420px){.language-checkbox{padding:10px 12px;min-height:44px}}.language-checkbox input[type=checkbox]{appearance:none;-webkit-appearance:none;-moz-appearance:none;width:22px;height:22px;border:2px solid #ccc;border-radius:4px;background:#fff;margin-right:12px;cursor:default;position:relative;transition:all var(--transition-base);flex-shrink:0;min-width:22px;min-height:22px;opacity:1 !important;visibility:visible !important;display:block !important;pointer-events:none !important}.language-checkbox input[type=checkbox]:checked{background:linear-gradient(135deg, var(--color-primary), var(--color-primary-dark));border-color:var(--color-primary);box-shadow:0 0 10px rgba(0,212,255,.3)}.language-checkbox input[type=checkbox]:checked::after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);color:#fff;font-weight:var(--font-weight-bold);font-size:12px;line-height:1}.language-checkbox input[type=checkbox]:disabled{cursor:not-allowed;opacity:.5}@media(max-width: 600px){.language-checkbox input[type=checkbox]{width:24px;height:24px;min-width:24px;min-height:24px}}@media(max-width: 420px){.language-checkbox input[type=checkbox]{width:20px;height:20px;min-width:20px;min-height:20px}}.custom-checkbox{width:22px;height:22px;border:2px solid hsla(0,0%,100%,.2);border-radius:4px;background:hsla(0,0%,100%,.1);margin-right:12px;position:relative;transition:all var(--transition-base);flex-shrink:0;display:flex;align-items:center;justify-content:center}.custom-checkbox.checked{background:linear-gradient(135deg, var(--color-primary), var(--color-primary-dark));border-color:var(--color-primary);box-shadow:0 0 10px rgba(0,212,255,.3)}.checkmark{color:#fff;font-weight:var(--font-weight-bold);font-size:12px;line-height:1}.checkbox-content{display:flex;align-items:center;gap:10px;flex:1}.checkbox-content .lang-flag{font-size:1.3em}.checkbox-content .lang-name{font-weight:var(--font-weight-medium);color:#fff;font-size:1em}@media(max-width: 600px){.checkbox-content .lang-name{font-size:.95em}}@media(max-width: 420px){.checkbox-content .lang-name{font-size:.9em}}.language-checkbox.selected .checkbox-content .lang-name{color:var(--color-primary-dark);font-weight:var(--font-weight-semibold)}.settings-hint{background:rgba(14,165,233,.05);border:1px solid rgba(14,165,233,.1);border-radius:8px;padding:12px 15px;color:#60a5fa;font-size:.9em;margin-top:15px;display:flex;align-items:center;gap:8px}.difficulty-selector{display:flex;flex-direction:column;gap:12px}.radio-option{display:flex;align-items:flex-start;padding:15px 18px;border:2px solid rgba(14,165,233,.1);border-radius:var(--radius-md);background:rgba(14,165,233,.02);cursor:pointer;transition:all var(--transition-base);position:relative;overflow:hidden}.radio-option::before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg, transparent, rgba(14, 165, 233, 0.1), transparent);transition:left .5s}.radio-option:hover{border-color:rgba(14,165,233,.3);background:rgba(14,165,233,.08);transform:translateY(-2px);box-shadow:0 4px 15px rgba(14,165,233,.1)}.radio-option:hover::before{left:100%}.radio-option:has(input[type=radio]:checked){border-color:var(--color-accent);background:rgba(14,165,233,.15);box-shadow:0 4px 15px rgba(14,165,233,.2)}.radio-option:has(input[type=radio]:checked) .radio-content strong{color:#7dd3fc}@media(max-width: 600px){.radio-option{padding:12px 15px}}.radio-option input[type=radio]{appearance:none;-webkit-appearance:none;-moz-appearance:none;width:20px;height:20px;border:2px solid hsla(0,0%,100%,.2);border-radius:50%;background:hsla(0,0%,100%,.1);margin-right:15px;margin-top:2px;cursor:pointer;position:relative;transition:all var(--transition-base);flex-shrink:0}.radio-option input[type=radio]:checked{background:linear-gradient(135deg, var(--color-primary), var(--color-primary-dark));border-color:var(--color-primary);box-shadow:0 0 10px rgba(0,212,255,.3)}.radio-option input[type=radio]:checked::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%, -50%);width:8px;height:8px;border-radius:50%;background:#fff}.radio-content{display:flex;flex-direction:column;gap:4px;flex:1}.radio-content strong{color:#fff;font-weight:var(--font-weight-semibold);font-size:1.05em}.radio-content small{color:hsla(0,0%,100%,.7);font-size:.9em;line-height:var(--line-height-tight)}@media(max-width: 600px){.radio-content small{font-size:.9em}}.loading{opacity:.7;pointer-events:none}.loading::after{content:"";position:absolute;top:50%;left:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border:2px solid #667eea;border-top:2px solid rgba(0,0,0,0);border-radius:50%;animation:spin 1s linear infinite}.game-active .screen{overflow:visible !important;background:rgba(0,0,0,0) !important;backdrop-filter:none !important;-webkit-backdrop-filter:none !important;box-shadow:none !important;border:none}@media(max-width: 600px){.container{padding:0;max-width:100%}.screen{padding:20px 15px;margin-top:0;max-width:100%;max-height:100vh;border-radius:0;width:100%;min-height:100vh;height:auto;justify-content:flex-start}.logo{margin-top:70px;margin-bottom:25px}.logo h1{font-size:1.75em;margin:10px 0}.logo p{font-size:.9em}.input-group{gap:12px}.input-group label{font-size:15px}.number-input{padding:15px 10px}.number-input button{width:48px;height:48px;font-size:22px}.number-input span{font-size:26px;min-width:60px}#cards-distribution.screen,#single-card.screen{padding:15px 20px 20px 20px}.language-selector{position:fixed;top:10px;right:10px}.rules-selector{position:fixed;top:10px;left:10px}}@media(max-width: 420px){*{box-sizing:border-box}body{overflow-x:hidden;margin:0;padding:0}.container{width:100vw;max-width:100vw;margin:0;padding:0}.screen{width:100%;max-width:100%;margin:0;padding:5px 15px}}@media(prefers-color-scheme: dark){.screen{background:rgba(30,30,40,.95);color:#e0e0e0}.card{background:linear-gradient(135deg, #2a2a3a, #3a3a4a);color:#e0e0e0}.location-name{background:hsla(0,0%,100%,.1);color:#e0e0e0}}.pulse{animation:pulse 2s infinite}@media print{body{background:#fff}.screen{box-shadow:none;border:1px solid #ccc}.top-controls,.language-dropdown,.rules-btn,.settings-btn{display:none}}
