:root{--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--transition-fast: .1s ease;--transition-normal: .2s ease;--transition-slow: .3s ease}[data-theme=default]{--color-bg: #0d0d12;--color-bg-surface: #151520;--color-bg-elevated: #1c1c2a;--color-text-primary: #ffffff;--color-text-secondary: rgba(255, 255, 255, .7);--color-text-muted: rgba(255, 255, 255, .4);--color-accent: #0088ff;--color-accent-hover: #33a0ff;--color-accent-subtle: rgba(0, 136, 255, .1);--color-danger: #ef4444;--color-success: #22c55e;--color-warning: #eab308;--color-border: rgba(255, 255, 255, .05);--color-border-focus: #0088ff;--font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", sans-serif;--font-size-xs: .7rem;--font-size-sm: .85rem;--font-size-base: .95rem;--font-size-lg: 1.125rem;--font-size-xl: clamp(1.25rem, 2.5vw, 1.5rem);--font-size-2xl: clamp(1.75rem, 4vw, 2.25rem);--font-size-3xl: clamp(2.25rem, 5vw, 3rem);--font-weight-normal: 400;--font-weight-medium: 600;--font-weight-bold: 800;--line-height-tight: 1.2;--line-height-normal: 1.5;--line-height-relaxed: 1.7;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 12px;--radius-xl: 16px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 4px 16px rgba(0, 0, 0, .5);--shadow-lg: 0 0 30px rgba(0, 136, 255, .1);--btn-padding-x: 1.5rem;--btn-padding-y: .875rem;--btn-font-size: var(--font-size-base);--btn-font-weight: var(--font-weight-medium);--btn-radius: var(--radius-md)}[data-theme=default] body{letter-spacing:-.01em}[data-theme=default] h1,[data-theme=default] h2,[data-theme=default] h3{letter-spacing:-.03em}[data-theme=default] .surface:hover,[data-theme=default] .surface-elevated:hover{border-color:#08f;box-shadow:0 0 30px #0088ff1a;transform:translateY(-2px);transition:all .3s cubic-bezier(.16,1,.3,1)}[data-theme=default] .surface,[data-theme=default] .surface-elevated{transition:border-color .3s cubic-bezier(.16,1,.3,1),box-shadow .3s cubic-bezier(.16,1,.3,1),transform .3s cubic-bezier(.16,1,.3,1)}[data-theme=default] .btn-primary:hover:not(:disabled){box-shadow:0 0 20px #08f6}[data-theme=default] .btn-secondary:hover:not(:disabled){border-color:#08f;box-shadow:0 0 20px #0088ff1a}[data-theme=default] .input:focus{border-color:#08f;box-shadow:0 0 20px #0088ff1a}[data-theme=default] .game-card{transition:border-color .3s cubic-bezier(.16,1,.3,1),box-shadow .3s cubic-bezier(.16,1,.3,1),transform .3s cubic-bezier(.16,1,.3,1)}[data-theme=default] .game-card .card-category,[data-theme=default] .badge{font-family:Courier New,monospace;letter-spacing:2px;color:#08f}[data-theme=default] .player-pill:hover{border-color:#08f;box-shadow:0 0 12px #0088ff26}[data-theme=default] .timer-display{text-shadow:0 0 20px rgba(0,136,255,.4)}@media (prefers-reduced-motion: reduce){[data-theme=default] .surface:hover,[data-theme=default] .surface-elevated:hover,[data-theme=default] .game-card:hover{transform:none}}@media (hover: none){[data-theme=default] .surface:hover,[data-theme=default] .surface-elevated:hover{transform:none;box-shadow:none}[data-theme=default] .btn-primary:active{box-shadow:0 0 20px #08f6}[data-theme=default] .btn-secondary:active{border-color:#08f;box-shadow:0 0 12px #0088ff26}}[data-theme=modern]{--color-bg: #0f0f0f;--color-bg-surface: #1a1a1a;--color-bg-elevated: #262626;--color-text-primary: #fafafa;--color-text-secondary: #a1a1a1;--color-text-muted: #666666;--color-accent: #6366f1;--color-accent-hover: #818cf8;--color-accent-subtle: rgba(99, 102, 241, .1);--color-danger: #ef4444;--color-success: #22c55e;--color-warning: #eab308;--color-border: #2a2a2a;--color-border-focus: #6366f1;--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.5rem;--font-size-2xl: 2rem;--font-size-3xl: 2.5rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-bold: 700;--line-height-tight: 1.2;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-xl: 20px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .5);--btn-padding-x: 1.5rem;--btn-padding-y: .875rem;--btn-font-size: var(--font-size-base);--btn-font-weight: var(--font-weight-medium);--btn-radius: var(--radius-md)}[data-theme=fun]{--color-bg: #1a1a2e;--color-bg-surface: #16213e;--color-bg-elevated: #0f3460;--color-text-primary: #ffffff;--color-text-secondary: #c4b5fd;--color-text-muted: #7c7c9e;--color-accent: #e94560;--color-accent-hover: #ff6b81;--color-accent-subtle: rgba(233, 69, 96, .15);--color-danger: #ff4757;--color-success: #2ed573;--color-warning: #ffa502;--color-border: #2d2d5e;--color-border-focus: #e94560;--font-family: "Nunito", "Poppins", -apple-system, BlinkMacSystemFont, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.2rem;--font-size-xl: 1.75rem;--font-size-2xl: 2.25rem;--font-size-3xl: 3rem;--font-weight-normal: 400;--font-weight-medium: 600;--font-weight-bold: 800;--line-height-tight: 1.2;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--radius-sm: 10px;--radius-md: 16px;--radius-lg: 24px;--radius-xl: 32px;--radius-full: 9999px;--shadow-sm: 0 2px 4px rgba(233, 69, 96, .1);--shadow-md: 0 4px 16px rgba(233, 69, 96, .2);--shadow-lg: 0 8px 32px rgba(233, 69, 96, .3);--btn-padding-x: 2rem;--btn-padding-y: 1rem;--btn-font-size: var(--font-size-lg);--btn-font-weight: var(--font-weight-bold);--btn-radius: var(--radius-lg)}[data-theme=basic]{--color-bg: #ffffff;--color-bg-surface: #f5f5f5;--color-bg-elevated: #e8e8e8;--color-text-primary: #1a1a1a;--color-text-secondary: #4a4a4a;--color-text-muted: #888888;--color-accent: #2563eb;--color-accent-hover: #3b82f6;--color-accent-subtle: rgba(37, 99, 235, .08);--color-danger: #dc2626;--color-success: #16a34a;--color-warning: #ca8a04;--color-border: #d4d4d4;--color-border-focus: #2563eb;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.5rem;--font-size-2xl: 2rem;--font-size-3xl: 2.5rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-bold: 700;--line-height-tight: 1.2;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 2px 8px rgba(0, 0, 0, .08);--shadow-lg: 0 4px 16px rgba(0, 0, 0, .12);--btn-padding-x: 1.25rem;--btn-padding-y: .75rem;--btn-font-size: var(--font-size-base);--btn-font-weight: var(--font-weight-medium);--btn-radius: var(--radius-md)}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%}body{font-family:var(--font-family);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);color:var(--color-text-primary);background:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-xl);max-width:480px;margin:0 auto}h1{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--color-accent);margin-bottom:var(--space-sm)}h2{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--color-text-primary);margin-bottom:var(--space-sm)}h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);line-height:var(--line-height-tight);color:var(--color-text-primary);margin-bottom:var(--space-xs)}.subtitle{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--space-xl)}.text-secondary{color:var(--color-text-secondary)}.text-muted{color:var(--color-text-muted)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--btn-padding-y) var(--btn-padding-x);font-size:var(--btn-font-size);font-weight:var(--btn-font-weight);font-family:inherit;border:none;border-radius:var(--btn-radius);cursor:pointer;transition:transform var(--transition-fast),background var(--transition-normal),opacity var(--transition-normal);text-decoration:none;width:100%}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-primary{background:var(--color-accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-accent-hover)}.btn-secondary{background:var(--color-bg-surface);color:var(--color-text-primary);border:2px solid var(--color-border)}.btn-secondary:hover:not(:disabled){border-color:var(--color-accent);background:var(--color-accent-subtle)}.btn-tertiary{background:transparent;color:var(--color-text-muted);padding:var(--space-sm) var(--space-md)}.btn-tertiary:hover:not(:disabled){color:var(--color-text-primary)}.btn-danger{background:var(--color-danger);color:#fff}.input{width:100%;padding:var(--btn-padding-y) var(--btn-padding-x);font-size:var(--font-size-base);font-family:inherit;color:var(--color-text-primary);background:var(--color-bg-surface);border:2px solid var(--color-border);border-radius:var(--btn-radius);transition:border-color var(--transition-normal);text-align:center}.input:focus{outline:none;border-color:var(--color-border-focus)}.input::placeholder{color:var(--color-text-muted)}.surface{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-lg)}.surface-elevated{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:var(--shadow-md)}.stack{display:flex;flex-direction:column;gap:var(--space-md)}.stack-sm{display:flex;flex-direction:column;gap:var(--space-sm)}.stack-lg{display:flex;flex-direction:column;gap:var(--space-lg)}.row{display:flex;gap:var(--space-md);align-items:center}.center{text-align:center}.full-width{width:100%}.badge{display:inline-block;padding:var(--space-xs) var(--space-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);border-radius:var(--radius-full);background:var(--color-accent-subtle);color:var(--color-accent)}.deck-info{margin-top:var(--space-xl);padding:var(--space-md);background:var(--color-bg-surface);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--color-text-muted)}.settings-bar{position:fixed;bottom:var(--space-md);right:var(--space-md);display:flex;gap:var(--space-sm);align-items:center;z-index:1000}.theme-switcher,.lang-switcher{display:flex;gap:var(--space-xs);padding:var(--space-xs);background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-full)}.theme-switcher button,.lang-switcher button{padding:var(--space-xs) var(--space-sm);font-size:var(--font-size-xs);font-family:inherit;border:none;border-radius:var(--radius-full);cursor:pointer;background:transparent;color:var(--color-text-muted);transition:background var(--transition-normal),color var(--transition-normal)}.theme-switcher button.active,.lang-switcher button.active{background:var(--color-accent);color:#fff}.theme-switcher button:hover:not(.active),.lang-switcher button:hover:not(.active){color:var(--color-text-primary)}.teams-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-md)}.team-column{background:var(--color-bg-surface);border:2px dashed var(--color-border);border-radius:var(--radius-lg);padding:var(--space-md);min-height:150px;transition:border-color var(--transition-normal),background var(--transition-normal)}.team-column.drag-over{border-color:var(--color-accent);background:var(--color-accent-subtle)}.player-pills{display:flex;flex-wrap:wrap;gap:var(--space-xs)}.player-pill{display:inline-flex;align-items:center;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:var(--font-size-sm);cursor:grab;-webkit-user-select:none;user-select:none;transition:transform var(--transition-fast),box-shadow var(--transition-normal)}.player-pill:active,.player-pill.dragging{cursor:grabbing;transform:scale(1.05);box-shadow:var(--shadow-md);opacity:.7}.pill-name{display:inline-flex;align-items:center;gap:var(--space-xs)}.pill-remove{background:none;border:none;color:var(--color-text-muted);font-size:var(--font-size-lg);cursor:pointer;padding:0 var(--space-xs);line-height:1;transition:color var(--transition-fast)}.pill-remove:hover{color:var(--color-danger)}.drop-hint{font-size:var(--font-size-xs);font-style:italic}.error-text{font-size:var(--font-size-sm);color:var(--color-danger);text-align:center}.deck-option{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);background:var(--color-bg-surface);border:2px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:border-color var(--transition-normal),background var(--transition-normal)}.deck-option:hover{border-color:var(--color-text-secondary)}.deck-option.selected{border-color:var(--color-accent);background:var(--color-accent-subtle)}.deck-option input[type=radio]{accent-color:var(--color-accent);width:1.2rem;height:1.2rem}.deck-meta{flex:1}.deck-meta .deck-name{font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.deck-meta .deck-desc{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-top:var(--space-xs)}.setting-group{display:flex;flex-direction:column;gap:var(--space-sm)}.setting-label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary)}.toggle-group{display:flex;gap:var(--space-xs)}.toggle-btn{flex:1;padding:var(--space-sm) var(--space-md);border:2px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-surface);color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);font-family:inherit;cursor:pointer;text-align:center;transition:all var(--transition-normal)}.toggle-btn.active{border-color:var(--color-accent);background:var(--color-accent-subtle);color:var(--color-accent)}.toggle-btn:hover:not(.active){border-color:var(--color-text-muted)}.checkbox-row{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--font-size-sm);color:var(--color-text-secondary);cursor:pointer}.checkbox-row input[type=checkbox]{accent-color:var(--color-accent);width:1.1rem;height:1.1rem}.timer-display{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-accent);text-align:center;font-variant-numeric:tabular-nums}.timer-display.warning{color:var(--color-warning);animation:pulse 1s ease-in-out infinite}.timer-display.danger{color:var(--color-danger);animation:pulse .5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.game-card{background:var(--color-bg-elevated);border:2px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-lg);text-align:left}.game-card .card-category{font-size:var(--font-size-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-xs)}.game-card .card-title{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--space-sm)}.game-card .card-description{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin-bottom:var(--space-md)}.game-card .card-points{display:flex;align-items:center;gap:var(--space-xs);font-size:var(--font-size-sm);color:var(--color-accent);font-weight:var(--font-weight-medium)}.action-buttons{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--space-sm)}.action-buttons .btn{font-size:var(--font-size-sm);padding:var(--space-md) var(--space-sm)}.btn-next-card{width:100%;font-size:var(--font-size-xl);padding:var(--space-lg) var(--space-md);min-height:56px}.action-buttons-secondary{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-xl)}.action-buttons-secondary .btn{font-size:var(--font-size-sm);padding:var(--space-sm) var(--space-md)}.turn-layout.action-pending .btn-next-card,.turn-layout.action-pending .action-buttons-secondary .btn{opacity:.5;pointer-events:none}.score-bar{display:flex;justify-content:space-between;align-items:center;padding:var(--space-sm) var(--space-md);background:var(--color-bg-surface);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium)}.score-bar .team-score{color:var(--color-text-primary)}.score-bar .team-label{color:var(--color-text-muted);font-size:var(--font-size-xs)}.round-interstitial{text-align:center}.round-number{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);color:var(--color-accent);margin-bottom:var(--space-sm)}.round-name{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--space-md)}.round-description{font-size:var(--font-size-base);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin-bottom:var(--space-xl)}.protest-card{background:var(--color-bg-elevated);border:2px solid var(--color-warning);border-radius:var(--radius-lg);padding:var(--space-lg);margin-bottom:var(--space-md)}.protest-card .protest-title{font-weight:var(--font-weight-bold);color:var(--color-text-primary);margin-bottom:var(--space-sm)}.vote-buttons{display:flex;gap:var(--space-sm)}.vote-buttons .btn{flex:1}.winner-display{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-accent);margin-bottom:var(--space-lg)}.final-scores{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg);margin-bottom:var(--space-xl)}.final-score-team{text-align:center}.final-score-team .score-value{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary)}.final-score-team .score-label{font-size:var(--font-size-sm);color:var(--color-text-muted)}.round-breakdown{width:100%;text-align:left;font-size:var(--font-size-sm)}.round-breakdown th,.round-breakdown td{padding:var(--space-xs) var(--space-sm);color:var(--color-text-secondary)}.round-breakdown th{color:var(--color-text-muted);font-weight:var(--font-weight-normal);border-bottom:1px solid var(--color-border)}.turn-summary-stat{display:flex;justify-content:space-between;padding:var(--space-xs) 0;font-size:var(--font-size-sm);color:var(--color-text-secondary)}.turn-summary-stat .stat-value{font-weight:var(--font-weight-medium);color:var(--color-text-primary)}.player-pill.highlighted{border-color:var(--color-accent);background:var(--color-accent-subtle)}#qr-code-container svg{width:100%;height:auto;border-radius:var(--radius-md)}.pill-assign-a,.pill-assign-b{background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);font-family:inherit;padding:2px 6px;cursor:pointer;transition:all var(--transition-fast)}.pill-assign-a:hover,.pill-assign-b:hover{border-color:var(--color-accent);color:var(--color-accent)}.pill-move-btn{background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);font-size:var(--font-size-xs);font-family:inherit;padding:2px 6px;cursor:pointer;transition:all var(--transition-fast)}.pill-move-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.turn-layout{width:100%;display:flex;flex-direction:column;gap:var(--space-md)}.turn-layout .score-bar,.turn-layout .surface,.turn-layout .game-card,.turn-layout .action-buttons{width:100%}.turn-layout .timer-display{text-align:center}.protest-mark-btn{background:transparent;border:2px solid var(--color-warning);color:var(--color-warning);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);font-family:inherit;cursor:pointer;transition:all var(--transition-normal);width:100%}.protest-mark-btn:hover{background:var(--color-warning);color:#fff}.protest-mark-btn.protested{background:var(--color-warning);color:#fff;cursor:default;opacity:.7}.protested-list{font-size:var(--font-size-xs);color:var(--color-warning);margin-top:var(--space-xs)}
