@import"https://fonts.googleapis.com/css2?family=Crimson+Text:ital,wght@0,400;0,600;0,700;1,400&display=swap";.lobby-list{background:linear-gradient(145deg,var(--bg-surface) 0%,rgba(125,155,169,.03) 100%);border:1px solid var(--border-light);border-radius:var(--radius-xl);padding:var(--space-6);transition:all .3s ease}.lobby-list:hover{border-color:#7d9ba933;box-shadow:0 4px 20px #7d9ba91a}.lobby-list h2{margin:0 0 var(--space-5) 0;font-size:var(--text-xl);color:var(--text-primary);font-weight:var(--font-bold);display:flex;align-items:center;gap:var(--space-2)}.lobby-list h2:before{content:"🎮"}.player-name-input{margin-bottom:var(--space-5)}.player-name-input input{width:100%;padding:var(--space-3);font-size:var(--text-md);background:var(--bg-surface-elevated);color:var(--text-primary);border:2px solid var(--border-medium);border-radius:var(--radius-md);box-sizing:border-box;transition:border-color .2s,box-shadow .2s}.player-name-input input:focus{outline:none;border-color:var(--color-indigo-500);box-shadow:0 0 0 3px #7d9ba926}.lobbies{display:flex;flex-direction:column;gap:var(--space-3);max-height:510px;padding-right:var(--space-2)}.no-lobbies{text-align:center;color:var(--text-muted);font-style:italic;padding:var(--space-10);background:linear-gradient(145deg,var(--bg-surface-elevated) 0%,rgba(125,155,169,.05) 100%);border-radius:var(--radius-lg);border:2px dashed var(--border-medium)}.no-lobbies:before{content:"🐱";display:block;font-size:2.5rem;font-style:normal;margin-bottom:var(--space-3)}.lobby-item{display:flex;align-items:center;gap:var(--space-5);width:100%;min-height:60px;padding:var(--space-4) var(--space-5);background:var(--bg-surface-elevated);border-radius:var(--radius-xl);border:2px solid var(--border-light);transition:all .3s ease;position:relative;overflow:hidden;cursor:pointer;text-align:left;font-family:inherit;flex-shrink:0}.lobby-item:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--color-primary-500),var(--color-indigo-500));transform:scaleX(0);transition:transform .3s ease}.lobby-item.joinable:hover{border-color:var(--color-indigo-500);box-shadow:0 6px 24px #6366f140;transform:translateY(-2px);background:linear-gradient(145deg,var(--bg-surface-elevated) 0%,rgba(99,102,241,.08) 100%)}.lobby-item.joinable:hover:before{transform:scaleX(1)}.lobby-item.joinable:active{transform:translateY(0);box-shadow:0 2px 8px #6366f133}.lobby-item.in-progress{opacity:.5;cursor:not-allowed}.lobby-item.in-progress:hover{transform:none;box-shadow:none;background:var(--bg-surface-elevated)}.lobby-name{flex:1;margin:0;font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lobby-meta{display:flex;gap:var(--space-4);align-items:center;flex-shrink:0}.player-count{font-size:var(--text-base);color:var(--text-secondary);font-weight:var(--font-medium)}.status{padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:.5px}.status-waiting{background:#22c55e26;color:var(--color-success-400);border:1px solid var(--color-success-500)}.status-starting{background:#fbbf2426;color:var(--color-warning-400);border:1px solid var(--color-warning-500)}.status-in-progress{background:#7d9ba926;color:#7d9ba9;border:1px solid rgb(125,155,169)}.join-indicator{padding:var(--space-3) var(--space-6);background:linear-gradient(135deg,var(--color-indigo-600) 0%,var(--color-primary-600) 100%);color:#fff;border-radius:var(--radius-lg);font-size:var(--text-base);font-weight:var(--font-bold);transition:all .3s ease;box-shadow:0 2px 10px #6366f14d;flex-shrink:0}.lobby-item.joinable:hover .join-indicator{background:linear-gradient(135deg,var(--color-indigo-500) 0%,var(--color-primary-500) 100%);box-shadow:0 4px 16px #6366f180}.lobby-item:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}@media (max-width: 768px){.lobby-list{padding:var(--space-5);max-width:100%}.lobby-list h2{font-size:var(--text-xl);margin-bottom:var(--space-5)}.player-name-input{margin-bottom:var(--space-5)}.player-name-input input{padding:var(--space-4);font-size:var(--text-lg)}.lobbies{gap:var(--space-4)}.lobby-item{flex-wrap:wrap;gap:var(--space-4);padding:var(--space-5)}.lobby-item:before{height:4px}.lobby-name{flex:1 1 100%;font-size:var(--text-xl)}.lobby-meta{flex:1;gap:var(--space-3)}.player-count{font-size:var(--text-base)}.status{font-size:var(--text-sm);padding:var(--space-2) var(--space-4)}.join-indicator{padding:var(--space-4) var(--space-6);font-size:var(--text-lg)}.no-lobbies{padding:var(--space-8);font-size:var(--text-base)}.no-lobbies:before{font-size:3rem;margin-bottom:var(--space-4)}}.create-lobby{background:linear-gradient(145deg,var(--bg-surface) 0%,rgba(125,155,169,.05) 100%);border:1px solid var(--border-light);border-radius:var(--radius-xl);padding:var(--space-6);transition:all .3s ease}.create-lobby:hover{border-color:#7d9ba94d;box-shadow:0 4px 20px #7d9ba91a}.create-lobby h2{margin:0 0 var(--space-5) 0;font-size:var(--text-xl);color:var(--text-primary);font-weight:var(--font-bold);display:flex;align-items:center;gap:var(--space-2)}.create-lobby h2:before{content:"✨"}.form-group{margin-bottom:var(--space-4)}.form-group label{display:block;margin-bottom:var(--space-2);font-weight:var(--font-semibold);font-size:var(--text-sm);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.form-group input[type=text],.form-group select{width:100%;padding:var(--space-3);font-size:var(--text-md);background:var(--bg-surface-elevated);color:var(--text-primary);border:2px solid var(--border-medium);border-radius:var(--radius-md);box-sizing:border-box;transition:border-color .2s,box-shadow .2s,background .2s}.form-group select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%239ca3af' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;padding-right:var(--space-8);cursor:pointer}.form-group select option{background:var(--bg-surface-elevated);color:var(--text-primary);padding:var(--space-2)}.form-group input[type=text]:focus,.form-group select:focus{outline:none;border-color:var(--color-primary-500);box-shadow:0 0 0 3px #7d9ba933,0 0 20px #7d9ba91a;background:#7d9ba90d}.form-group .char-count{display:block;margin-top:var(--space-1);font-size:var(--text-xs);color:var(--text-muted);text-align:right}.checkbox-group{padding-top:var(--space-2)}.checkbox-group label{display:flex;align-items:center;cursor:pointer;font-weight:var(--font-normal);text-transform:none;letter-spacing:normal;padding:var(--space-2);border-radius:var(--radius-md);transition:background .2s}.checkbox-group label:hover{background:#ffffff0d}.checkbox-group input[type=checkbox]{width:20px;height:20px;margin-right:var(--space-3);cursor:pointer;accent-color:var(--color-primary-500)}.checkbox-group span{font-size:var(--text-md);color:var(--text-primary)}.create-button{width:100%;padding:var(--space-4);margin-top:var(--space-2);background:linear-gradient(135deg,var(--color-primary-600) 0%,var(--color-indigo-600) 100%);color:#fff;border:none;border-radius:var(--radius-lg);font-size:var(--text-lg);font-weight:var(--font-bold);cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #7d9ba94d;position:relative;overflow:hidden}.create-button:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.create-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.create-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #7d9ba966}.create-button:hover:before{left:100%}.create-button:active{transform:translateY(0) scale(.98)}@media (max-width: 768px){.create-lobby{padding:var(--space-5);max-width:100%}.create-lobby h2{font-size:var(--text-xl);margin-bottom:var(--space-5)}.form-group{margin-bottom:var(--space-4)}.form-group label{font-size:var(--text-sm);margin-bottom:var(--space-2)}.form-group input[type=text],.form-group select{padding:var(--space-4);font-size:var(--text-lg)}.checkbox-group{padding:var(--space-2) 0}.checkbox-group label{padding:var(--space-3)}.checkbox-group input[type=checkbox]{width:24px;height:24px}.checkbox-group span{font-size:var(--text-base)}.create-button{padding:var(--space-4);font-size:var(--text-lg);min-height:52px;margin-top:var(--space-4)}}.home-page{min-height:100vh;padding:var(--space-6) var(--space-5);position:relative;overflow:hidden;background:radial-gradient(ellipse 70% 50% at 50% 10%,var(--night-glow-purple) 0%,transparent 50%),radial-gradient(ellipse 50% 40% at 90% 70%,var(--night-glow-blue) 0%,transparent 45%),radial-gradient(ellipse 40% 30% at 10% 80%,var(--night-glow-pink) 0%,transparent 40%)}.container{max-width:1200px;margin:0 auto;position:relative;z-index:1}.page-header{text-align:center;margin-bottom:var(--space-8);color:var(--text-light);transition:margin-bottom .3s cubic-bezier(.4,0,.2,1)}.logo-wrapper{display:flex;align-items:center;justify-content:center;gap:var(--space-3);margin-bottom:var(--space-1)}.logo-image{max-width:480px;width:100%;height:auto;animation:logoFloat 4s ease-in-out infinite;filter:drop-shadow(0 8px 24px rgba(125,155,169,.3));transition:filter .3s ease,transform .3s ease}.logo-image:hover{filter:drop-shadow(0 12px 32px rgba(125,155,169,.5));animation-play-state:paused;transform:scale(1.02)}@keyframes logoFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.page-header h1{font-size:var(--text-5xl);margin:0;background:linear-gradient(135deg,gold,orange,#ff8c00);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;text-shadow:none;font-weight:var(--font-bold)}.tagline{font-size:var(--text-base);margin:0;opacity:.85;letter-spacing:.03em}.player-identity{margin-top:var(--space-6);transition:margin .3s cubic-bezier(.4,0,.2,1)}.name-input-wrapper{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);transition:all .3s cubic-bezier(.4,0,.2,1)}.name-input-wrapper label{font-size:var(--text-sm);color:var(--text-light-muted);text-transform:uppercase;letter-spacing:.1em;min-height:1.2em;display:inline-flex;align-items:center}.typing-cursor{display:inline-block;margin-left:2px;animation:blink .7s infinite;font-weight:var(--font-normal)}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.name-input-row{display:flex;align-items:center;justify-content:center;gap:var(--space-3)}.name-input-container{position:relative;display:flex;align-items:center}.player-name-input{padding:14px var(--space-5);font-size:var(--text-xl);font-weight:var(--font-medium);text-align:center;background:#ffffff1a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);color:var(--text-light);border:2px solid rgba(255,255,255,.3);border-radius:var(--radius-full);transition:width .3s cubic-bezier(.4,0,.2,1),min-width .3s cubic-bezier(.4,0,.2,1),border-color .3s ease,box-shadow .3s ease,background .3s ease;min-width:280px;width:280px;box-sizing:border-box;margin:0;cursor:pointer}.player-name-input.editing{min-width:340px;width:340px;cursor:text;border-color:var(--color-primary-400);box-shadow:0 0 0 4px #7d9ba933,0 0 30px #7d9ba94d;background:#ffffff26}.player-name-input.display{border-color:#fff3}.player-name-input.display:hover{background:#ffffff26;border-color:#fff6}.player-name-input:focus{outline:none}.player-name-input::placeholder{color:#fff6}.name-input-container .edit-hint{position:absolute;left:var(--space-4);font-size:var(--text-base);opacity:.5;pointer-events:none;transition:opacity .3s ease;z-index:1}.name-input-container .edit-hint.hidden{opacity:0}.name-input-container:hover .edit-hint:not(.hidden){opacity:1}.pending-join-banner{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:var(--space-3);padding:var(--space-4);background:linear-gradient(135deg,#7d9ba933,#7d9ba940);border:2px solid rgba(125,155,169,.4);border-radius:var(--radius-lg);margin-bottom:var(--space-6)}.pending-icon{font-size:var(--text-xl)}.pending-join-button{padding:14px var(--space-5);font-size:var(--text-xl);font-weight:var(--font-bold);color:#fff;background:linear-gradient(135deg,var(--color-indigo-600) 0%,var(--color-primary-600) 100%);border:2px solid transparent;border-radius:var(--radius-full);cursor:pointer;transition:all .3s ease;box-shadow:0 2px 10px #6366f14d;white-space:nowrap;box-sizing:border-box}.pending-join-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 15px #6366f166}.pending-join-button:active:not(:disabled){transform:translateY(0) scale(.98)}.pending-join-button:disabled{opacity:var(--disabled-opacity);cursor:not-allowed;transform:none;box-shadow:none}.content-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-8);align-items:start;transition:opacity .3s ease,filter .3s ease,transform .3s cubic-bezier(.4,0,.2,1)}.content-grid.disabled-content{opacity:var(--disabled-opacity);filter:blur(1px);pointer-events:none;-webkit-user-select:none;user-select:none}.section:nth-child(1){animation-delay:.1s}.section:nth-child(2){animation-delay:.2s}.name-required-hint{margin:var(--space-3) 0 0 0;padding:var(--space-2) var(--space-3);background:#fbbf241a;border:1px solid rgba(251,191,36,.3);border-radius:var(--radius-md);color:var(--color-warning-400);font-size:var(--text-sm);text-align:center}.reconnect-section{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);margin:var(--space-8) 0}@media (max-width: 768px){.home-page{padding:var(--space-5) var(--space-4);min-height:100vh;min-height:100dvh}.page-header{margin-bottom:var(--space-6)}.page-header h1{font-size:var(--text-3xl)}.tagline{font-size:var(--text-base)}.player-identity{margin-top:var(--space-5)}.name-input-wrapper label{font-size:var(--text-base)}.player-name-input{min-width:unset;width:100%;max-width:100%;font-size:var(--text-lg);padding:var(--space-4)}.player-name-btn{padding:var(--space-3) var(--space-4)}.player-name-text{font-size:var(--text-lg)}.content-grid{grid-template-columns:1fr;gap:var(--space-6)}.pending-join-banner{flex-direction:column;gap:var(--space-3);text-align:center;font-size:var(--text-base);padding:var(--space-4)}.name-input-row{flex-direction:column;width:100%}.pending-join-button{width:100%;padding:var(--space-3);font-size:var(--text-lg);min-height:48px;border-radius:var(--radius-lg)}.reconnect-card{min-width:unset;width:100%;padding:var(--space-6)}.reconnect-icon{font-size:2.5rem}.reconnect-card h2{font-size:var(--text-xl)}.reconnect-name{font-size:var(--text-lg)}.reconnect-button{font-size:var(--text-lg)!important;padding:var(--space-4)!important;min-height:52px}.secondary-button{font-size:var(--text-base);padding:var(--space-3) var(--space-4);min-height:44px}}.section{animation:slideUp .5s ease-out;animation-fill-mode:backwards}.reconnect-card{background:linear-gradient(135deg,var(--bg-surface) 0%,rgba(34,197,94,.15) 100%);border:2px solid var(--color-success-500);border-radius:var(--radius-xl);padding:var(--space-8);text-align:center;min-width:400px;box-shadow:0 10px 40px #22c55e33}.reconnect-icon{font-size:3rem;margin-bottom:var(--space-4);animation:spin 3s linear infinite}.reconnect-card h2{color:var(--color-success-400);margin-bottom:var(--space-3);font-size:var(--text-2xl)}.reconnect-name{font-size:var(--text-lg);margin:var(--space-4) 0;color:var(--text-primary)}.reconnect-name strong{color:var(--color-success-400)}.reconnect-actions{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-5)}.reconnect-button{background:linear-gradient(135deg,var(--color-success-500) 0%,var(--color-success-600) 100%)!important;font-size:var(--text-lg)!important;padding:var(--space-4) var(--space-6)!important;border-radius:var(--radius-lg)!important;box-shadow:0 4px 15px #22c55e4d;transition:all .3s ease!important}.reconnect-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #22c55e66}.secondary-button{padding:var(--space-2) var(--space-4);font-size:var(--text-sm);color:var(--text-muted);background:transparent;border:1px solid var(--border-medium);border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease}.secondary-button:hover{color:var(--text-primary);border-color:var(--text-primary);background:#ffffff0d}@media (max-width: 768px){.reconnect-card{padding:var(--space-6)}.reconnect-name{font-size:var(--text-base)}.reconnect-button{font-size:var(--text-base)!important;padding:var(--space-3) var(--space-4)!important;min-height:48px}}.reconnect-card.error-card{border-color:var(--color-error-500);background:linear-gradient(135deg,#ef44441a,#0f0f1ef2)}.reconnect-card.error-card .reconnect-icon{font-size:4rem}.error-message{background:#ef444426;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);color:var(--color-error-400);font-family:var(--font-mono);font-size:var(--text-sm);margin:var(--space-4) 0}.error-hint{color:var(--text-muted);font-size:var(--text-sm);margin-bottom:var(--space-4)}.connecting-animation{font-size:4rem;animation:bounce 1s ease-in-out infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.home-footer{position:fixed;bottom:0;left:0;right:0;padding:var(--space-4) var(--space-6);text-align:center;font-size:var(--text-base);color:var(--text-light-muted);pointer-events:none}.home-footer .footer-content{display:inline-block;position:relative;padding:var(--space-2) var(--space-5)}.home-footer .footer-content:before{content:"";position:absolute;bottom:-var(--space-4);left:50%;transform:translate(-50%);width:200%;height:80px;background:radial-gradient(ellipse at bottom,rgba(15,15,26,.95) 0%,transparent 70%);pointer-events:none;z-index:-1}.home-footer .heart{color:#e25555;display:inline-block;animation:heartbeat 1.5s ease-in-out infinite}@keyframes heartbeat{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.join-by-code{background:linear-gradient(145deg,var(--bg-surface) 0%,rgba(125,155,169,.05) 100%);border:1px solid var(--border-light);border-radius:var(--radius-xl);padding:var(--space-6);margin-bottom:var(--space-6);transition:all .3s ease}.join-by-code:hover{border-color:#7d9ba94d;box-shadow:0 4px 20px #7d9ba91a}.join-by-code h3{margin:0 0 var(--space-5) 0;font-size:var(--text-xl);color:var(--text-primary);font-weight:var(--font-bold)}.join-code-form{display:flex;gap:var(--space-3)}.join-code-input{flex:1;padding:var(--space-3);font-size:var(--text-lg);font-family:var(--font-family-mono);text-align:center;letter-spacing:.25em;text-transform:uppercase;background:var(--bg-surface-elevated);color:var(--text-primary);border:2px solid var(--border-medium);border-radius:var(--radius-md);transition:all .3s ease}.join-code-input:focus{outline:none;border-color:var(--color-indigo-500);box-shadow:0 0 0 3px #6366f133,0 0 20px #6366f126;background:#6366f10d}.join-code-input:disabled{opacity:.5;cursor:not-allowed}.join-code-input::placeholder{letter-spacing:.15em;text-transform:none;font-family:var(--font-family-mono);font-size:var(--text-md);opacity:.4}.join-code-button{padding:var(--space-3) var(--space-6);font-size:var(--text-md);font-weight:var(--font-bold);color:#fff;background:linear-gradient(135deg,var(--color-indigo-600) 0%,var(--color-primary-600) 100%);border:none;border-radius:var(--radius-md);cursor:pointer;transition:all .3s ease;box-shadow:0 2px 10px #6366f14d}.join-code-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 15px #6366f166}.join-code-button:active:not(:disabled){transform:translateY(0) scale(.98)}.join-code-button:disabled{background:var(--disabled-bg);color:var(--disabled-text);cursor:not-allowed;opacity:var(--disabled-opacity);transform:none;box-shadow:none}.join-error{margin:var(--space-3) 0 0 0;padding:var(--space-3);background:#ef44441a;border:1px solid var(--color-error-500);border-radius:var(--radius-md);color:var(--color-error-400);font-size:var(--text-sm)}.join-code-highlight{font-family:var(--font-family-mono);background:#6366f133;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);color:var(--color-indigo-400);letter-spacing:.1em}@media (max-width: 768px){.join-by-code{padding:var(--space-5);margin-bottom:var(--space-5)}.join-by-code h3{font-size:var(--text-xl);margin-bottom:var(--space-4)}.join-code-form{flex-direction:column;gap:var(--space-4)}.join-code-input{padding:var(--space-4);font-size:var(--text-xl)}.join-code-button{padding:var(--space-4);font-size:var(--text-lg);min-height:52px}.name-required-hint{font-size:var(--text-base);padding:var(--space-3) var(--space-4)}}.game-settings{flex:1;display:flex;flex-direction:column}.lobby-content .game-settings{background:var(--bg-surface-elevated);border-radius:var(--radius-lg);padding:var(--space-5);border:1px solid var(--border-medium)}.settings-loading{color:var(--text-secondary);font-size:var(--text-sm);padding:var(--space-4);text-align:center}.settings-section{margin-bottom:var(--space-5)}.settings-section:last-child{margin-bottom:0}.settings-section h3{margin:0 0 var(--space-3) 0;font-size:var(--text-sm);color:var(--text-secondary);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.5px}.rule-options{display:flex;gap:var(--space-4);flex-wrap:wrap}.rule-option{display:flex;flex-direction:column;gap:var(--space-2);flex:1;min-width:140px}.rule-option label{font-size:var(--text-sm);color:var(--text-secondary);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.5px}.custom-select{position:relative;width:100%}.custom-select .selected-value{display:flex;align-items:center;width:100%;padding:var(--space-3);font-size:var(--text-md);background:var(--bg-surface-elevated);color:var(--text-primary);border:2px solid var(--border-medium);border-radius:var(--radius-md);box-sizing:border-box;pointer-events:none}.custom-select select{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.custom-select:hover .selected-value{border-color:var(--color-indigo-400)}.custom-select:focus-within .selected-value{border-color:var(--color-indigo-500);box-shadow:0 0 0 3px #6366f126}.custom-select select:disabled{cursor:default}.custom-select:has(select:disabled) .selected-value{opacity:.7}.custom-select:has(select:disabled):hover .selected-value{border-color:var(--border-medium)}.rule-option select{width:100%;padding:var(--space-3);font-size:var(--text-md);background:var(--bg-surface-elevated);color:var(--text-primary);border:2px solid var(--border-medium);border-radius:var(--radius-md);box-sizing:border-box;cursor:pointer;transition:border-color .2s,box-shadow .2s}.rule-option select:hover:not(:disabled){border-color:var(--color-indigo-400)}.rule-option select:focus{outline:none;border-color:var(--color-indigo-500);box-shadow:0 0 0 3px #6366f126}.rule-option select:disabled,.rule-option select.readonly{cursor:default;opacity:.7}.deck-options{display:flex;flex-direction:column;gap:var(--space-2)}.deck-option{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--bg-surface);border-radius:var(--radius-md);border:2px solid var(--border-light);cursor:pointer;transition:background .2s,border-color .2s,box-shadow .2s;position:relative}.deck-option:hover:not(.readonly){background:var(--bg-surface-hover);border-color:var(--border-medium)}.deck-option.selected{border-color:#7d9ba9;background:#7d9ba91a;box-shadow:0 0 0 1px #7d9ba9}.deck-option.readonly{cursor:default;opacity:.8}.deck-option input[type=radio]{position:absolute;opacity:0;width:0;height:0}.deck-option:before{content:"";width:18px;height:18px;border-radius:50%;border:2px solid var(--border-medium);background:var(--bg-surface);flex-shrink:0;transition:all .2s}.deck-option.selected:before{border-color:var(--color-primary-500);background:var(--color-primary-500);box-shadow:inset 0 0 0 3px var(--bg-surface)}.deck-info{display:flex;flex-direction:column;gap:2px;flex:1}.deck-name{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary)}.deck-description{font-size:var(--text-xs);color:var(--text-secondary);line-height:1.3}.expansion-options{display:flex;flex-direction:column;gap:var(--space-2)}.expansion-option{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--bg-surface);border-radius:var(--radius-md);border:2px solid var(--border-light);cursor:pointer;transition:background .2s,border-color .2s,box-shadow .2s;position:relative}.expansion-option:hover:not(.readonly){background:var(--bg-surface-hover);border-color:var(--border-medium)}.expansion-option.readonly{cursor:default;opacity:.8}.expansion-option input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}.expansion-option:before{content:"";width:18px;height:18px;border-radius:var(--radius-sm);border:2px solid var(--border-medium);background:var(--bg-surface);flex-shrink:0;transition:all .2s;display:flex;align-items:center;justify-content:center}.expansion-option.selected:before{border-color:var(--color-success-500);background:var(--color-success-500);content:"✓";color:#fff;font-size:12px;font-weight:700}.expansion-info{display:flex;flex-direction:column;gap:2px;flex:1}.expansion-name{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-primary)}.expansion-description{font-size:var(--text-xs);color:var(--text-secondary);line-height:1.3}.no-expansions{color:var(--text-tertiary);font-size:var(--text-sm);font-style:italic;padding:var(--space-3);text-align:center;background:var(--bg-surface);border-radius:var(--radius-md)}.settings-note{margin-bottom:var(--space-5);padding:var(--space-4);background:#6366f126;border-radius:var(--radius-lg);font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-indigo-300);text-align:center}.game-settings.readonly-mode .settings-section{opacity:.5;pointer-events:none}.lobby-page{min-height:100vh;padding:var(--space-10) var(--space-5);display:flex;align-items:flex-start;justify-content:center;background:radial-gradient(ellipse 70% 50% at 50% 10%,var(--night-glow-purple) 0%,transparent 50%),radial-gradient(ellipse 50% 40% at 90% 70%,var(--night-glow-blue) 0%,transparent 45%),radial-gradient(ellipse 40% 30% at 10% 80%,var(--night-glow-pink) 0%,transparent 40%)}.lobby-layout{display:flex;gap:var(--space-6);max-width:1200px;width:100%;align-items:stretch}.lobby-panel{background:radial-gradient(ellipse 100% 60% at 20% 0%,var(--night-glow-purple) 0%,transparent 50%),var(--bg-surface);border-radius:var(--radius-xl);padding:var(--space-6);flex:2;min-width:0;border:1px solid var(--border-medium);display:flex;flex-direction:column}.settings-panel{background:radial-gradient(ellipse 100% 60% at 80% 0%,var(--night-glow-blue) 0%,transparent 50%),var(--bg-surface);border-radius:var(--radius-xl);padding:var(--space-6);flex:1;min-width:280px;max-width:350px;border:1px solid var(--border-medium);display:flex;flex-direction:column}.panel-header{margin:calc(var(--space-6) * -1);margin-bottom:var(--space-5);padding:var(--space-4) var(--space-6);background:var(--bg-surface-elevated);border-bottom:1px solid var(--border-medium);border-radius:var(--radius-xl) var(--radius-xl) 0 0}.panel-header h2{margin:0;font-size:var(--text-lg);color:var(--text-primary);font-weight:var(--font-bold)}.lobby-container{background:var(--bg-surface);border-radius:var(--radius-xl);padding:var(--space-8);max-width:900px;width:100%}.lobby-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-5)}.lobby-header h1{margin:0;font-size:var(--text-2xl);color:var(--text-primary);font-weight:var(--font-bold)}.leave-button{padding:var(--space-2) var(--space-5);background:var(--color-error-500);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--text-base);font-weight:var(--font-bold);cursor:pointer;transition:background .2s,transform .1s}.leave-button:hover{background:var(--color-error-600)}.leave-button:active{transform:scale(.98)}.lobby-info{display:flex;gap:var(--space-8);margin-bottom:var(--space-6)}.info-item{display:flex;flex-direction:column;gap:var(--space-2)}.info-item .label{font-size:var(--text-xs);color:var(--text-secondary);text-transform:uppercase;font-weight:var(--font-semibold);letter-spacing:.5px;line-height:1}.info-item .value{font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--text-primary);line-height:1}.info-badge,.info-item .value[class*=status-],.info-item .value.private-badge,.info-item .value.public-badge,.privacy-toggle{display:inline-flex;align-items:center;justify-content:center;font-size:var(--text-xs);padding:6px var(--space-3);border-radius:var(--radius-full);font-weight:var(--font-bold);letter-spacing:.5px;width:fit-content;text-transform:capitalize;line-height:1;height:28px;box-sizing:border-box}.info-item .value.status-waiting{background:#22c55e26;color:var(--color-success-400);border:1px solid var(--color-success-500)}.info-item .value.status-starting{background:#fbbf2426;color:var(--color-warning-400);border:1px solid var(--color-warning-500)}.info-item .value.status-in-progress{background:#7d9ba926;color:#7d9ba9;border:1px solid rgb(125,155,169)}.info-item .value.private-badge,.private-badge{background:#6366f126;color:var(--color-indigo-400);border:1px solid var(--color-indigo-500)}.info-item .value.public-badge,.public-badge{background:#22c55e26;color:var(--color-success-400);border:1px solid var(--color-success-500)}.privacy-toggle{cursor:pointer;transition:background .2s,border-color .2s,transform .1s}.privacy-toggle.private{background:#6366f126;color:var(--color-indigo-400);border:1px solid var(--color-indigo-500)}.privacy-toggle.private:hover{background:#6366f140;border-color:var(--color-indigo-400)}.privacy-toggle.public{background:#22c55e26;color:var(--color-success-400);border:1px solid var(--color-success-500)}.privacy-toggle.public:hover{background:#22c55e40;border-color:var(--color-success-400)}.privacy-toggle:active{transform:scale(.95)}.share-section{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4);background:var(--bg-surface-elevated);border-radius:var(--radius-lg);margin-bottom:var(--space-6);border:1px dashed var(--border-medium)}.share-code{display:flex;align-items:center;gap:var(--space-3)}.share-label{font-size:var(--text-xs);color:var(--text-secondary);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.5px}.join-code{font-family:var(--font-family-mono);font-size:var(--text-lg);font-weight:var(--font-bold);letter-spacing:.15em;color:var(--color-indigo-400);background:#6366f126;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-indigo-500);min-width:100px;text-align:center}.toggle-code-visibility{background:none;border:none;padding:var(--space-1);cursor:pointer;font-size:var(--text-lg);line-height:1;opacity:.6;transition:opacity .2s,transform .1s;display:inline-flex;align-items:center;justify-content:center}.toggle-code-visibility:hover{opacity:1}.toggle-code-visibility:active{transform:scale(.95)}.copy-link-button{padding:var(--space-2) var(--space-4);background:var(--color-indigo-600);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-semibold);cursor:pointer;transition:background .2s,transform .1s;white-space:nowrap;height:38px;display:inline-flex;align-items:center;justify-content:center}.copy-link-button:hover{background:var(--color-indigo-500)}.copy-link-button:active{transform:scale(.98)}.players-list{background:var(--bg-surface-elevated);border-radius:var(--radius-lg);padding:var(--space-4);border:1px solid var(--border-medium);flex:1;margin-bottom:var(--space-5)}.players-list h3{margin:0 0 var(--space-3) 0;font-size:var(--text-sm);color:var(--text-secondary);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.5px}.players-list h2{margin:0 0 var(--space-4) 0;font-size:var(--text-lg);color:var(--text-primary);font-weight:var(--font-bold)}.player-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3);background:var(--bg-surface-elevated);border-radius:var(--radius-md);margin-bottom:var(--space-2);border:2px solid transparent;transition:border-color .2s,background .2s}.player-item.current-player{border-color:var(--color-indigo-500);background:#6366f11a}.player-name{font-size:var(--text-md);font-weight:var(--font-semibold);display:flex;align-items:center;gap:var(--space-2);color:var(--text-primary)}.host-badge,.you-badge{font-size:var(--text-xs);padding:var(--space-1) var(--space-2);border-radius:var(--radius-lg);font-weight:var(--font-bold);text-transform:uppercase;letter-spacing:.5px}.host-badge{background:var(--color-warning-500);color:var(--color-neutral-900)}.you-badge{background:var(--color-indigo-500);color:#fff}.winner-badge{display:inline-flex;align-items:center;justify-content:center;font-size:1.1rem;margin-left:var(--space-1);position:relative;animation:crownFloat 2s ease-in-out infinite;filter:drop-shadow(0 0 4px rgba(255,215,0,.6))}.winner-badge:before{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;background:radial-gradient(circle,rgba(255,215,0,.3) 0%,transparent 70%);border-radius:50%;animation:crownGlow 2s ease-in-out infinite}@keyframes crownFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes crownGlow{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}.player-item.last-winner{background:linear-gradient(135deg,#ffd7001a,#ffd7000d);border:1px solid rgba(255,215,0,.3)}.player-status{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3)}.ready-indicator{display:inline-flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:var(--font-bold);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);white-space:nowrap;width:auto;text-transform:uppercase;letter-spacing:.5px}.ready-indicator.ready{background:#22c55e26;color:var(--color-success-400);border:1px solid var(--color-success-500)}.ready-indicator.not-ready{background:#ef444426;color:var(--color-error-400);border:1px solid var(--color-error-500)}.kick-button{width:28px;height:28px;padding:0;display:flex;align-items:center;justify-content:center;background:#ef444426;color:var(--color-error-400);border:1px solid var(--color-error-500);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--font-bold);cursor:pointer;transition:background .2s,color .2s,transform .1s;opacity:.7}.kick-button:hover{opacity:1;background:var(--color-error-500);color:#fff}.kick-button:active{transform:scale(.95)}.lobby-actions{display:flex;justify-content:center}.ready-button,.start-button{padding:var(--space-3) var(--space-10);border:none;border-radius:var(--radius-md);font-size:var(--text-lg);font-weight:var(--font-bold);cursor:pointer;transition:background .2s,transform .1s}.ready-button{background:var(--color-success-500);color:#fff}.ready-button:hover{background:var(--color-success-600)}.ready-button.unready{background:var(--color-error-500)}.ready-button.unready:hover{background:var(--color-error-600)}.ready-button:active{transform:scale(.98)}.start-button{background:var(--color-indigo-600);color:#fff}.start-button:hover:not(:disabled){background:var(--color-indigo-500)}.start-button:active:not(:disabled){transform:scale(.98)}.start-button:disabled{background:var(--disabled-bg);color:var(--disabled-text);cursor:not-allowed;opacity:var(--disabled-opacity);transform:none;box-shadow:none}@media (max-width: 900px){.lobby-layout{flex-direction:column;gap:var(--space-4)}.lobby-panel,.settings-panel{max-width:100%;min-width:0}.settings-panel{flex:none}}@media (max-width: 768px){.lobby-page{padding:var(--space-4) var(--space-3);min-height:100vh;min-height:100dvh}.lobby-panel,.settings-panel{padding:var(--space-4)}.lobby-container{padding:var(--space-4);max-width:100%}.panel-header{margin:calc(var(--space-4) * -1);margin-bottom:var(--space-4);padding:var(--space-3) var(--space-4)}.lobby-header{flex-direction:row;flex-wrap:wrap;gap:var(--space-3);margin-bottom:var(--space-4);justify-content:space-between;align-items:center}.lobby-header h1{font-size:var(--text-xl);flex:1;min-width:0}.leave-button{width:auto;min-height:40px;padding:var(--space-2) var(--space-4);font-size:var(--text-sm)}.lobby-info{flex-direction:row;flex-wrap:wrap;gap:var(--space-4);margin-bottom:var(--space-4)}.info-item{flex:none}.privacy-toggle{width:auto!important}.info-item .value{font-size:var(--text-lg)}.lobby-content{grid-template-columns:1fr;gap:var(--space-4)}.players-list{padding:var(--space-4)}.players-list h2{font-size:var(--text-lg)}.player-item{padding:var(--space-3);flex-wrap:wrap;gap:var(--space-2)}.player-info{flex:1;min-width:0}.player-status{flex-shrink:0}.ready-indicator{font-size:var(--text-xs);padding:var(--space-1) var(--space-2)}.player-name{font-size:var(--text-base)}.ready-button,.start-button{width:auto;min-width:160px;max-width:280px;padding:var(--space-3) var(--space-6);min-height:46px}.lobby-actions{display:flex;justify-content:center}.share-section{flex-direction:row;justify-content:space-between;align-items:flex-end;gap:var(--space-3)}.share-code{flex-direction:row;flex-wrap:wrap;justify-content:flex-start;gap:var(--space-2);align-items:center}.share-code .share-label{width:100%;text-align:left}.join-code{font-size:var(--text-lg)}.copy-link-button{width:auto;min-width:auto;padding:var(--space-2) var(--space-3);min-height:38px;flex-shrink:0}}.unified-card{--card-color: #4b848f;position:relative;background:var(--bg-card);border:2px solid var(--card-color);border-radius:var(--radius-md);overflow:hidden;display:flex;flex-direction:column;transition:all var(--transition-base);flex-shrink:0}.unified-card--normal{width:145px;min-height:200px}.unified-card--normal .unified-card__header{padding:6px 8px;flex-shrink:0}.unified-card--normal .unified-card__name{font-size:14px;margin:0 0 2px}.unified-card--normal .unified-card__type{font-size:9px}.unified-card--normal .unified-card__body{padding:10px 8px 6px;flex:1}.unified-card--normal .unified-card__description{font-size:11.5px;line-height:1.4}.unified-card--mini{width:115px;min-height:160px}.unified-card--mini .unified-card__header{padding:4px 6px;flex-shrink:0}.unified-card--mini .unified-card__name{font-size:12px;margin:0 0 1px}.unified-card--mini .unified-card__type{font-size:8px}.unified-card--mini .unified-card__body{padding:8px 6px 4px;flex:1}.unified-card--mini .unified-card__description{font-size:10.5px;line-height:1.35}.unified-card--extra-mini{width:80px;height:auto;min-height:unset;max-height:unset;border-radius:var(--radius-md);border-width:2px}.unified-card--extra-mini>.unified-card__header{display:flex;align-items:center;justify-content:center;padding:6px 4px}.unified-card--extra-mini>.unified-card__header .unified-card__symbol{font-size:18px;filter:drop-shadow(0 1px 1px rgba(0,0,0,.3))}.unified-card--extra-mini>.unified-card__mini-name{padding:6px 6px 8px;font-size:11px;font-weight:var(--font-semibold);text-align:center;color:var(--text-light);line-height:1.2;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;background:var(--bg-card)}.unified-card__header{color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.3)}.unified-card__name{font-weight:var(--font-bold);line-height:1.2}.unified-card__type{text-transform:capitalize;opacity:.9;display:flex;align-items:center;justify-content:center;gap:var(--space-1)}.unified-card__type-symbol{font-weight:var(--font-bold);font-size:1.1em}.unified-card__body{flex:1;display:flex;flex-direction:column;align-items:center}.unified-card__image{width:100%;object-fit:cover;border-radius:var(--radius-md);margin-bottom:10px;flex-shrink:0;box-shadow:0 0 8px 4px #0000004d}.unified-card__placeholder{width:100%;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,color-mix(in srgb,var(--card-color) 15%,transparent),color-mix(in srgb,var(--card-color) 5%,transparent));border:1px dashed color-mix(in srgb,var(--card-color) 40%,transparent);border-radius:var(--radius-sm);margin-bottom:4px;flex-shrink:0}.unified-card--normal .unified-card__image,.unified-card--normal .unified-card__placeholder{width:70px;height:70px;flex-shrink:0}.unified-card__placeholder-symbol{font-size:32px;color:var(--card-color);opacity:.8}.unified-card--mini .unified-card__image,.unified-card--mini .unified-card__placeholder{width:55px;height:55px;flex-shrink:0}.unified-card--mini .unified-card__placeholder-symbol{font-size:24px}.unified-card__description{text-align:left;margin:auto 0;color:#fffffff2;font-weight:400;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;letter-spacing:.01em}.unified-card--playable{cursor:pointer}.unified-card--playable:hover{transform:translateY(-10px);box-shadow:0 15px 30px #0000004d,0 0 15px color-mix(in srgb,var(--card-color) 40%,transparent)}.unified-card--playable:focus-visible{outline:2px solid var(--color-primary-400);outline-offset:2px}.unified-card--selectable{cursor:pointer;animation:selectableGlow 1.8s ease-in-out infinite;border-width:4px}.unified-card--selectable:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 12px 30px #0000004d,0 0 25px color-mix(in srgb,var(--card-color) 60%,transparent)}.unified-card--extra-mini.unified-card--selectable{border-width:2px}.unified-card--extra-mini.unified-card--selectable:hover{transform:translateY(-4px) scale(1.05)}@keyframes selectableGlow{0%,to{box-shadow:0 0 10px color-mix(in srgb,var(--card-color) 40%,transparent)}50%{box-shadow:0 0 25px color-mix(in srgb,var(--card-color) 70%,transparent)}}.unified-card--selected{border-color:var(--color-success-400);transform:translateY(-4px);box-shadow:0 8px 25px #0000004d,0 0 20px #4ade8066;animation:none}.unified-card--selected:hover{transform:translateY(-6px)}.unified-card--immune{cursor:not-allowed;animation:immuneGlow 1.8s ease-in-out infinite;border-color:#7dd3fc;opacity:.85}.unified-card--immune:hover{transform:none}@keyframes immuneGlow{0%,to{box-shadow:0 0 10px #7dd3fc66,0 0 20px #94a3b84d}50%{box-shadow:0 0 20px #7dd3fc99,0 0 35px #94a3b866}}.unified-card--extra-mini.unified-card--immune{border-width:2px}.unified-card--disabled{cursor:default}.unified-card--disabled:hover{transform:none;box-shadow:none}.unified-card__selection-indicator{position:absolute;top:var(--space-2);right:var(--space-2);width:28px;height:28px;border-radius:var(--radius-full);background:#00000080;border:2px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center;font-size:var(--text-sm);color:#fff9;z-index:2;transition:all var(--transition-base)}.unified-card--selected .unified-card__selection-indicator{background:var(--color-success-400);border-color:var(--color-success-400);color:#fff;font-weight:var(--font-bold)}.unified-card__selection-order{position:absolute;bottom:-4px;right:-4px;width:16px;height:16px;background:#fff;color:var(--color-success-500);border-radius:var(--radius-full);font-size:10px;font-weight:var(--font-bold);display:flex;align-items:center;justify-content:center}.unified-card--mini .unified-card__selection-indicator{width:24px;height:24px;font-size:var(--text-xs)}.unified-card--mini .unified-card__selection-order{width:14px;height:14px;font-size:9px}.unified-card__immune-indicator{position:absolute;top:var(--space-2);left:var(--space-2);width:28px;height:28px;border-radius:var(--radius-full);background:linear-gradient(135deg,#7dd3fcf2,#94a3b8e6);border:2px solid rgba(255,255,255,.5);display:flex;align-items:center;justify-content:center;font-size:14px;z-index:3;box-shadow:0 2px 8px #7dd3fc80}.unified-card--mini .unified-card__immune-indicator{width:22px;height:22px;font-size:12px}.unified-card__glow{position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:calc(var(--radius-lg) + 2px);background:linear-gradient(45deg,color-mix(in srgb,var(--card-color) 30%,transparent),transparent,color-mix(in srgb,var(--card-color) 30%,transparent));background-size:200% 200%;animation:glowPulse 2s ease-in-out infinite;pointer-events:none;z-index:-1}@keyframes glowPulse{0%,to{opacity:.4;background-position:0% 50%}50%{opacity:.7;background-position:100% 50%}}.unified-card__new-indicator{position:absolute;top:6px;left:6px;width:10px;height:10px;background-color:var(--card-color);border-radius:50%;z-index:15;box-shadow:0 0 6px color-mix(in srgb,var(--card-color) 70%,transparent)}.unified-card--mini .unified-card__new-indicator{width:8px;height:8px;top:5px;left:5px}.unified-card--extra-mini>.unified-card__new-indicator{width:6px;height:6px;top:3px;left:3px}.unified-card--new{position:relative}.unified-card--arriving{animation:arrivalGlowSetup 9s ease-in-out forwards;animation-delay:.3s}.unified-card--arriving.unified-card--playable:hover,.unified-card--arriving.unified-card--selectable:hover{transform:translateY(-10px)}.unified-card--arriving{--glow-color: var(--card-color)}@keyframes arrivalGlowSetup{0%{filter:none;border-color:var(--card-color)}17%{filter:none;border-color:var(--card-color)}28%{filter:drop-shadow(0 0 14px var(--glow-color)) drop-shadow(0 0 24px var(--glow-color));border-color:color-mix(in srgb,var(--glow-color) 55%,transparent)}38%{filter:drop-shadow(0 0 20px var(--glow-color)) drop-shadow(0 0 32px var(--glow-color));border-color:color-mix(in srgb,var(--glow-color) 70%,transparent)}50%{filter:drop-shadow(0 0 20px var(--glow-color)) drop-shadow(0 0 32px var(--glow-color));border-color:color-mix(in srgb,var(--glow-color) 70%,transparent)}65%{filter:drop-shadow(0 0 18px var(--glow-color)) drop-shadow(0 0 30px var(--glow-color));border-color:color-mix(in srgb,var(--glow-color) 65%,transparent)}80%{filter:drop-shadow(0 0 10px var(--glow-color)) drop-shadow(0 0 18px var(--glow-color));border-color:color-mix(in srgb,var(--glow-color) 35%,transparent)}to{filter:none;border-color:var(--card-color)}}.unified-card--arriving .unified-card__new-indicator{animation:dotPulse 9s ease-in-out forwards;animation-delay:.3s}@keyframes dotPulse{0%{filter:drop-shadow(0 0 6px currentColor);transform:scale(1)}17%{filter:drop-shadow(0 0 6px currentColor);transform:scale(1)}28%{filter:drop-shadow(0 0 10px currentColor);transform:scale(1.08)}38%{filter:drop-shadow(0 0 14px currentColor);transform:scale(1.15)}50%{filter:drop-shadow(0 0 14px currentColor);transform:scale(1.15)}65%{filter:drop-shadow(0 0 12px currentColor);transform:scale(1.12)}80%{filter:drop-shadow(0 0 8px currentColor);transform:scale(1.05)}to{filter:drop-shadow(0 0 6px currentColor);transform:scale(1)}}@media (min-width: 1024px){.unified-card--normal .unified-card__image,.unified-card--normal .unified-card__placeholder{width:90px;height:90px}.unified-card--normal .unified-card__description{font-size:12.5px;line-height:1.45}.unified-card--mini .unified-card__image,.unified-card--mini .unified-card__placeholder{width:65px;height:65px}.unified-card--mini .unified-card__description{font-size:11.5px}}.unified-card--extra-mini{position:relative}.unified-card__popover{z-index:var(--z-tooltip, 1200);pointer-events:none;animation:popoverFadeIn .15s ease-out}.unified-card__popover .unified-card{box-shadow:0 10px 25px #0006,0 0 0 1px #ffffff1a,0 0 20px #0000004d}@keyframes popoverFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.unified-card--popover-active{z-index:10}@media (max-width: 768px){.unified-card--playable:hover,.unified-card--selectable:hover{transform:translateY(-4px)}.unified-card__popover{display:none}}.hand{background:radial-gradient(ellipse 80% 100% at 50% 100%,var(--night-glow-blue) 0%,transparent 60%),linear-gradient(180deg,var(--bg-card) 0%,var(--bg-surface) 100%);border-radius:var(--radius-lg);padding:var(--space-3);border:1px solid var(--border-medium)}.hand.has-selectable-cards{border-color:var(--color-warning-400);background:linear-gradient(180deg,rgba(245,158,11,.08) 0%,var(--bg-surface) 100%)}.hand-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) var(--space-3);margin:calc(-1 * var(--space-3)) calc(-1 * var(--space-3)) var(--space-2) calc(-1 * var(--space-3));cursor:pointer;-webkit-user-select:none;user-select:none;border-bottom:1px solid var(--border-dim);transition:background var(--transition-fast)}.hand-header:hover{background:#ffffff08}.hand-header h3{margin:0;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--text-secondary);display:flex;align-items:center;gap:var(--space-2)}.hand-header-right{display:flex;align-items:center;gap:var(--space-2)}.card-count{background:var(--color-neutral-600);color:var(--text-light);padding:2px 8px;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-medium)}.hand-minimize-icon{color:var(--text-tertiary);font-size:10px;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;width:20px;height:20px}.hand-header:hover .hand-minimize-icon{color:var(--text-primary)}.card-count.over-limit{background:var(--color-error-500)}.selection-prompt{display:inline-flex;align-items:center;gap:var(--space-1);background:var(--color-warning-500);color:var(--color-warning-900);padding:2px 8px;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-medium)}.hand-cards{display:flex;gap:var(--space-2);overflow-x:auto;overflow-y:visible;padding:var(--space-3);margin:calc(-1 * var(--space-3));min-height:210px;scrollbar-width:thin;scrollbar-color:var(--color-neutral-300) transparent;align-items:flex-start;transition:min-height var(--transition-base),gap var(--transition-base)}.hand--minimized .hand-cards{min-height:60px;gap:var(--space-1);padding:var(--space-2);margin:calc(-1 * var(--space-2));align-items:center}.hand-card-wrapper.minimized{transform:none!important}.hand-card-wrapper.minimized.selected{transform:translateY(-4px)!important}.hand-cards::-webkit-scrollbar{height:8px}.hand-cards::-webkit-scrollbar-track{background:transparent}.hand-cards::-webkit-scrollbar-thumb{background:var(--color-neutral-300);border-radius:var(--radius-full)}.hand-cards::-webkit-scrollbar-thumb:hover{background:var(--color-neutral-400)}.hand-card-wrapper{position:relative;transition:transform var(--transition-base)}.hand-card-wrapper.selected{transform:translateY(-10px)}.hand-card-wrapper.disabled{cursor:default}.hand-card-wrapper.disabled:hover{transform:none}.hand-card-wrapper.highlighted{animation:pulse-glow 1s infinite;box-shadow:var(--shadow-glow-warning)}@keyframes pulse-glow{0%,to{box-shadow:0 0 20px #fbbf24cc;transform:translateY(-5px)}50%{box-shadow:0 0 30px #fbbf24;transform:translateY(-10px)}}.empty-hand{color:var(--text-muted);font-style:italic;margin:auto}@media (max-width: 768px){.hand{padding:var(--space-3) var(--space-3) var(--space-4);border-radius:var(--radius-lg) var(--radius-lg) 0 0;display:flex;flex-direction:column;background:var(--bg-card);border-top:2px solid var(--border-medium)}.hand-header{flex:0 0 auto;margin-bottom:var(--space-3);padding-bottom:var(--space-2);border-bottom:none}.hand-header h3{font-size:var(--text-sm)}.card-count{padding:2px 8px;font-size:var(--text-xs)}.selection-prompt{padding:2px 8px;font-size:10px;animation:none}.hand-cards{flex:0 0 auto;min-height:160px;gap:var(--space-4);align-items:flex-start;padding:var(--space-2) var(--space-2);overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;transform:translateZ(0)}.hand-card-wrapper{flex-shrink:0;transform:translateZ(0)}.hand-card-wrapper.highlighted{animation:none;box-shadow:0 0 20px #fbbf24cc}.hand-card-wrapper .card{width:130px;min-height:180px;height:auto}.hand-card-wrapper .card .card-header{padding:6px 8px}.hand-card-wrapper .card .card-header h3{font-size:12px;margin:0 0 2px;line-height:1.2}.hand-card-wrapper .card .card-type{font-size:10px}.hand-card-wrapper .card .card-body{padding:8px}.hand-card-wrapper .card .card-description{font-size:10px;line-height:1.3;overflow-wrap:break-word;word-wrap:break-word}.hand-card-wrapper:active .card{opacity:.9}.empty-hand{font-size:var(--text-sm)}}.your-stable{background:radial-gradient(ellipse 100% 80% at 30% 0%,var(--night-glow-purple) 0%,transparent 50%),var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-medium);padding:var(--space-3)}.your-stable.current-turn{border-color:var(--color-indigo-500)}.your-stable.has-selectable{border-color:var(--color-warning-400)}.your-stable-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--border-dim)}.stable-title h3{margin:0;font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-primary);display:flex;align-items:center;gap:var(--space-2)}.stable-player-name{display:inline}.stable-player-name.selectable{cursor:pointer;padding:6px 14px;border-radius:var(--radius-md);background:linear-gradient(135deg,#6366f180,#a855f780);border:2px solid var(--color-indigo-400);box-shadow:0 0 12px #6366f180,inset 0 1px #fff3;transition:all .2s ease}.stable-player-name.selectable:hover{background:linear-gradient(135deg,#6366f1b3,#a855f7b3);border-color:var(--color-indigo-300);transform:scale(1.05);box-shadow:0 0 20px #6366f1b3,0 0 30px #a855f780,inset 0 1px #ffffff40}.stable-player-name.selectable:active{transform:scale(.98)}.target-badge{display:inline-flex;align-items:center;gap:var(--space-1);background:linear-gradient(135deg,var(--color-warning-500),var(--color-warning-400));color:var(--color-warning-900);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--font-bold);animation:popInScale var(--transition-slow)}@keyframes popInScale{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.stable-stats{display:flex;align-items:center;gap:var(--space-4)}.turn-indicator{display:inline-flex;align-items:center;gap:var(--space-1);background:var(--color-warning-500);color:var(--color-warning-900);padding:2px 10px;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-bold)}.cat-progress{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--text-secondary);display:flex;align-items:center;gap:var(--space-1)}.win-ready{animation:bounce 1s infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.stable-row{margin-bottom:var(--space-2)}.stable-row:last-child{margin-bottom:0}.row-label{display:flex;align-items:center;gap:var(--space-1);margin-bottom:var(--space-1);font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;font-weight:var(--font-medium);letter-spacing:.05em}.row-icon{font-size:var(--text-sm)}.card-row{display:flex;gap:var(--space-2);flex-wrap:wrap;align-items:flex-start}.card-row::-webkit-scrollbar{height:6px}.card-row::-webkit-scrollbar-track{background:transparent}.card-row::-webkit-scrollbar-thumb{background:var(--color-neutral-300);border-radius:var(--radius-full)}.card-row::-webkit-scrollbar-thumb:hover{background:var(--color-neutral-400)}.empty-row-message{color:var(--text-muted);font-style:italic;padding:var(--space-4);text-align:center;background:#00000005;border-radius:var(--radius-md);border:2px dashed var(--border-light);flex:1}.modifiers-row{background:#ff8c000d;padding:var(--space-3);border-radius:var(--radius-lg);border:1px solid rgba(255,140,0,.2)}.cats-row{background:#9370db0d;padding:var(--space-3);border-radius:var(--radius-lg);border:1px solid rgba(147,112,219,.2)}@media (max-width: 768px){.your-stable{padding:var(--space-3);display:flex;flex-direction:column;overflow:hidden}.your-stable-header{flex:0 0 auto;flex-direction:row;gap:var(--space-2);align-items:center;margin-bottom:var(--space-3);padding-bottom:var(--space-3)}.stable-title h3{font-size:var(--text-base)}.stable-title h3 .stable-player-name{display:inline}.cat-progress{font-size:var(--text-lg)}.turn-indicator{padding:var(--space-1) var(--space-2);font-size:var(--text-xs)}.stable-content{flex:0 0 auto;overflow:visible}.stable-row{margin-bottom:var(--space-3);overflow-x:visible}.row-label{font-size:var(--text-xs);margin-bottom:var(--space-2)}.card-row{display:flex;gap:var(--space-3);padding:var(--space-2) 0;min-height:auto;overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;padding-bottom:var(--space-3);margin-bottom:calc(-1 * var(--space-1));flex-wrap:nowrap}.card-row>.unified-card{flex-shrink:0}.card-row:after{content:"";flex-shrink:0;width:var(--space-3)}.card-row .unified-card:active{transform:scale(1.3);z-index:100;box-shadow:0 12px 40px #00000080;position:relative}.empty-row-message{padding:var(--space-2);font-size:var(--text-xs);flex-shrink:0}.modifiers-row,.cats-row{padding:var(--space-2);overflow:visible}}@media (max-width: 400px){.card-row{gap:var(--space-2)}}.mini-stable{background:radial-gradient(ellipse 100% 100% at 70% 0%,var(--night-glow-blue) 0%,transparent 60%),var(--bg-card);border-radius:var(--radius-lg);border:1px solid var(--border-medium)}.mini-stable.current-turn{border-color:var(--color-indigo-500)}.mini-stable.has-selectable{border-color:var(--color-warning-400)}.mini-stable.expanded{border-color:var(--color-indigo-500)}.mini-stable.disconnected{opacity:.6;border-style:dashed}.mini-stable-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) var(--space-3);cursor:pointer;border-bottom:1px solid var(--border-dim)}.mini-stable-header:hover{background:#ffffff08}.player-info-row{display:flex;align-items:center;gap:var(--space-3)}.player-name{font-weight:var(--font-semibold);font-size:var(--text-sm);color:var(--text-primary)}.turn-badge{margin-left:var(--space-1)}.disconnected-badge{margin-left:var(--space-1);opacity:.7}.player-name.selectable{cursor:pointer;padding:6px 14px;border-radius:var(--radius-md);background:linear-gradient(135deg,#6366f180,#a855f780);border:2px solid var(--color-indigo-400);box-shadow:0 0 12px #6366f180,inset 0 1px #fff3;transition:all .2s ease}.player-name.selectable:hover{background:linear-gradient(135deg,#6366f1b3,#a855f7b3);border-color:var(--color-indigo-300);transform:scale(1.05);box-shadow:0 0 20px #6366f1b3,0 0 30px #a855f780,inset 0 1px #ffffff40}.player-name.selectable:active{transform:scale(.98)}.stable-stats{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-secondary)}.cat-count,.hand-count{font-size:var(--text-sm);color:var(--text-secondary)}.hand-count.over-limit{color:var(--color-error-500);font-weight:var(--font-semibold)}.expand-toggle{background:none;border:none;font-size:var(--text-sm);color:var(--text-secondary);cursor:pointer;padding:var(--space-1);transition:color var(--transition-fast)}.expand-toggle:hover{color:var(--text-primary)}.expand-toggle:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px;border-radius:var(--radius-sm)}.mini-stable-cards{padding:var(--space-2);display:flex;flex-direction:column;gap:var(--space-1)}.mini-stable-empty{padding:var(--space-3);color:var(--text-muted);font-size:var(--text-xs);text-align:center}.mini-card-row,.mini-card-row.modifiers{display:flex;flex-wrap:wrap;gap:var(--space-1);align-items:flex-start}.hand-visible-indicator{font-size:var(--text-xs);color:var(--color-warning-600);padding:var(--space-1);text-align:center}.expanded-stable-content{padding:var(--space-3)}.minimize-button{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);background:transparent;color:var(--text-secondary);border:none;font-size:var(--text-sm);cursor:pointer;margin-bottom:var(--space-3)}.minimize-button:hover{color:var(--text-primary)}.minimize-icon{font-size:var(--text-sm)}.expanded-section{margin-bottom:var(--space-3)}.expanded-section:last-child{margin-bottom:0}.expanded-section h4{margin:0 0 var(--space-2) 0;font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.expanded-card-row{display:flex;gap:var(--space-2);flex-wrap:wrap;align-items:flex-start}.hand-section{background:#f59e0b0d;padding:var(--space-2);border-radius:var(--radius-md);border:1px dashed var(--color-warning-400)}@media (max-width: 768px){.mini-stable{height:100%;display:flex;flex-direction:column}.mini-stable-header{padding:var(--space-2);flex:0 0 auto}.player-info-row{gap:var(--space-2)}.player-name{font-size:var(--text-sm)}.cat-count,.hand-count{font-size:var(--text-xs)}.expand-toggle{display:block;font-size:var(--text-xs);padding:var(--space-1)}.mini-stable-cards{flex:1;padding:var(--space-1);min-height:0;overflow:hidden}.mini-card-row{gap:var(--space-1);flex-wrap:nowrap;overflow-x:auto;overflow-y:visible;margin-bottom:var(--space-1);-webkit-overflow-scrolling:touch}.mini-stable.expanded{position:relative!important;width:100%!important;height:auto!important;min-height:300px;z-index:5!important;border-radius:var(--radius-lg);background:var(--bg-card);overflow-y:visible;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column;margin:0!important;transform:none!important}.mini-stable.expanded .mini-stable-header{position:relative;z-index:10;background:var(--bg-card);border-bottom:2px solid var(--border-medium);padding:var(--space-3);flex-shrink:0}.mini-stable.expanded .player-name{font-size:var(--text-lg)}.mini-stable.expanded .expand-toggle{display:flex;align-items:center;gap:var(--space-1);background:var(--color-primary-500);color:#fff;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-bold);min-height:44px}.expanded-stable-content{padding:var(--space-3);padding-bottom:var(--space-3);flex:1;overflow-y:visible}.expanded-section{margin-bottom:var(--space-5)}.expanded-section h4{font-size:var(--text-base);margin-bottom:var(--space-3);position:sticky;top:0;background:var(--bg-card);padding:var(--space-1) 0}.expanded-card-row{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.minimize-button{display:none}}.opponent-grid{display:flex;flex-wrap:wrap;gap:var(--space-2);align-content:flex-start}.opponent-grid.has-expanded{flex-direction:column;flex-wrap:nowrap}.opponent-grid .mini-stable{opacity:1;transition:opacity .2s ease,max-height .2s ease;overflow:visible}.opponent-grid.has-expanded .mini-stable:not(.expanded){opacity:0;max-height:0;pointer-events:none;overflow:hidden}.opponent-grid.selection-mode.empty-targets{border:none;background:transparent;padding:0}.no-targets-message{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);height:100%;min-height:150px;padding:var(--space-6)}.no-targets-icon{font-size:2.5rem;color:var(--text-muted);opacity:.4}.no-targets-text{font-size:var(--text-base);font-style:italic;color:var(--text-muted);text-align:center;opacity:.7}.opponent-grid.player-selection-mode{border:2px dashed var(--color-indigo-400);border-radius:var(--radius-lg);padding:var(--space-2);background:#6366f108}.opponent-grid .mini-stable{width:100%;display:flex;flex-direction:column;transition:all .3s cubic-bezier(.34,1.56,.64,1)}@media (max-width: 768px){.opponent-grid{display:flex;flex-direction:column;gap:var(--space-2);overflow-x:visible;overflow-y:visible;padding:0;height:auto}.opponent-grid[data-size=compact]{display:flex;flex-direction:column;grid-template-columns:unset;grid-auto-rows:unset}.opponent-grid.selection-mode,.opponent-grid.player-selection-mode{padding:var(--space-2);margin-top:var(--space-1)}.opponent-grid .mini-stable{flex:0 0 auto;min-height:80px}.opponent-grid.has-expanded .mini-stable:not(.expanded){display:flex;flex:0 0 auto;min-height:50px}.opponent-grid.has-expanded .mini-stable.expanded{flex:1;min-height:250px}}.unified-top-bar{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);background:radial-gradient(ellipse 60% 150% at 50% -50%,var(--night-glow-purple) 0%,transparent 70%),var(--bg-card);padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);border:1px solid var(--border-dim);transition:background var(--transition-base),border-color var(--transition-base);min-height:48px;flex-shrink:0}.unified-top-bar.normal{align-items:center}.unified-top-bar.effect-yours{flex-direction:row;background:linear-gradient(135deg,var(--bg-card) 0%,rgba(34,197,94,.03) 100%);border:1px solid rgba(34,197,94,.1)}.unified-top-bar.effect-waiting{flex-direction:row;background:linear-gradient(135deg,var(--bg-card) 0%,rgba(100,116,139,.05) 100%);border:1px solid rgba(100,116,139,.1)}.unified-top-bar.effect-modal{align-items:center}.utb-left{flex:0 0 auto;display:flex;gap:var(--space-2);align-items:center}.utb-chain-button{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:linear-gradient(135deg,var(--color-indigo-500),var(--color-primary-600));color:var(--text-light);border:none;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-base)}.utb-chain-button:hover{transform:scale(1.05);box-shadow:var(--shadow-glow-primary)}.utb-chain-button:focus-visible{outline:2px solid var(--text-light);outline-offset:2px}.utb-chain-button .chain-icon{font-size:var(--text-base)}.utb-chain-button .chain-label{font-size:var(--text-sm)}.utb-chain-button .chain-count{background:#ffffff40;padding:2px 6px;border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-bold)}.utb-emoji-container{position:relative}.utb-emoji-button{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:linear-gradient(135deg,var(--color-accent-500),var(--color-accent-600));color:var(--text-light);border:none;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-base)}.utb-emoji-button:hover,.utb-emoji-button.active{transform:scale(1.05);box-shadow:var(--shadow-glow-primary)}.utb-emoji-button:focus-visible{outline:2px solid var(--text-light);outline-offset:2px}.utb-emoji-button .emoji-icon{font-size:var(--text-base);font-family:var(--font-family-emoji)}.utb-emoji-button .emoji-label{font-size:var(--text-sm)}.utb-emoji-picker{position:absolute;top:calc(100% + var(--space-2));left:0;z-index:var(--z-popover);display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-1);padding:var(--space-2);background:var(--bg-surface-elevated);border:1px solid var(--border-medium);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);animation:emojiPickerSlideIn .15s ease-out}@keyframes emojiPickerSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.emoji-option{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:transparent;border:none;border-radius:var(--radius-md);font-size:1.5rem;font-family:var(--font-family-emoji);cursor:pointer;transition:all var(--transition-fast)}.emoji-option:hover{background:#ffffff1a;transform:scale(1.2)}.emoji-option:active{transform:scale(1.1)}.utb-center{flex:1;display:flex;justify-content:center;align-items:center;min-width:0}.utb-normal-display{display:flex;align-items:center;gap:var(--space-3);animation:contentFadeIn var(--transition-base) ease-out}@keyframes contentFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.utb-turn{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-secondary)}.utb-divider{color:var(--text-tertiary);font-size:var(--text-sm)}.utb-phase{background:var(--color-indigo-500);color:var(--text-light);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--font-bold);text-transform:capitalize}.utb-phase.phase-beginning_of_turn{background:var(--color-amber-500)}.utb-phase.phase-draw_phase{background:var(--color-blue-500)}.utb-phase.phase-action_phase{background:var(--color-emerald-500)}.utb-phase.phase-end_phase{background:var(--color-purple-500)}.utb-your-turn-badge{background:var(--color-success-500);color:var(--text-light);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--font-bold);animation:pulse-gentle 2s infinite}@keyframes pulse-gentle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.85;transform:scale(1.02)}}.utb-effect-display{display:flex;flex-direction:column;gap:var(--space-2);width:100%;max-width:800px;animation:effectSlideIn var(--transition-slow) ease-out}@keyframes effectSlideIn{0%{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.utb-effect-row-main{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;justify-content:center}.utb-effect-row-hint{display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;justify-content:center;padding-top:var(--space-1);border-top:1px solid var(--border-dark)}.utb-effect-row-single{display:flex;align-items:center;gap:var(--space-3);justify-content:center}.utb-source-badge{display:flex;align-items:center;gap:var(--space-2);background:#ffd7001f;border:1px solid rgba(255,215,0,.25);border-radius:var(--radius-full);padding:var(--space-1) var(--space-3);transition:all var(--transition-base);animation:sourceBadgeGlow 4s ease-in-out infinite}@keyframes sourceBadgeGlow{0%,to{box-shadow:0 0 8px #ffd7001a}50%{box-shadow:0 0 16px #ffd70040}}.utb-source-badge .source-icon{font-size:var(--text-sm);animation:sparkle 2s ease-in-out infinite}@keyframes sparkle{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}.utb-source-badge .source-name{color:var(--color-gold);font-weight:var(--font-semibold);font-size:var(--text-sm)}.utb-effect-message{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--text-light)}.utb-effect-message.muted{color:var(--text-secondary)}.utb-optional-badge{font-size:var(--text-xs);font-weight:var(--font-bold);color:var(--color-amber-400);background:#f59e0b26;border:1px solid var(--color-amber-500);padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.5px;position:relative;overflow:hidden;animation:optional-glow 3s ease-in-out infinite}.utb-optional-badge:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.2) 50%,transparent 100%);animation:shimmer 3s ease-in-out infinite}@keyframes optional-glow{0%,to{box-shadow:0 0 4px #f59e0b33}50%{box-shadow:0 0 12px #f59e0b66}}@keyframes shimmer{0%{left:-100%}50%,to{left:100%}}.utb-action-badge{font-size:var(--text-xs);font-weight:var(--font-bold);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.5px}.utb-action-badge.yours{background:linear-gradient(135deg,var(--color-success-500),var(--color-emerald-600));color:var(--text-light);animation:pulse-action 1.5s ease-in-out infinite;text-shadow:0 1px 2px rgba(0,0,0,.2)}.utb-action-badge.waiting{background:var(--color-slate-600);color:var(--text-secondary);display:flex;align-items:center;gap:var(--space-1)}@keyframes pulse-action{0%,to{box-shadow:0 0 10px #22c55e4d,0 0 20px #22c55e1a;transform:scale(1)}50%{box-shadow:0 0 15px #22c55e80,0 0 30px #22c55e33,inset 0 0 10px #ffffff1a;transform:scale(1.03)}}.utb-turn-compact{font-size:var(--text-xs);color:var(--text-tertiary);font-weight:var(--font-medium);margin-left:auto}.utb-effect-status{font-size:var(--text-sm);color:var(--text-secondary);font-style:italic}.utb-effect-display.effect-yours{background:linear-gradient(135deg,#22c55e14,#22c55e26);border:1px solid rgba(34,197,94,.3);border-radius:var(--radius-md);padding:var(--space-3)}.utb-target-hint{display:flex;align-items:center;gap:var(--space-2);background:var(--color-magic-purple-light);border:1px solid rgba(138,43,226,.3);border-radius:var(--radius-full);padding:var(--space-2) var(--space-3);animation:hint-pulse 2s infinite}@keyframes hint-pulse{0%,to{border-color:#8a2be24d;box-shadow:0 0 #8a2be200}50%{border-color:#8a2be280;box-shadow:0 0 10px #8a2be233}}.utb-target-hint .hint-icon{font-size:var(--text-base)}.utb-target-hint .hint-text{font-size:var(--text-sm);color:var(--text-light)}.utb-target-hint .hint-count{font-size:var(--text-xs);color:var(--text-secondary)}.utb-skip-button{padding:var(--space-2) var(--space-3);gap:var(--space-1)}.utb-skip-button .skip-icon,.utb-skip-button .skip-text{font-size:var(--text-sm)}.utb-step-progress{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-2) var(--space-3);background:#6366f114;border:1px solid rgba(99,102,241,.2);border-radius:var(--radius-md);min-width:180px}.step-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2)}.step-counter{font-size:var(--text-xs);color:var(--text-secondary);font-weight:var(--font-medium)}.step-current-action{font-size:var(--text-xs);color:var(--color-primary-400);font-weight:var(--font-semibold)}.step-track{display:flex;align-items:center;justify-content:center;gap:0}.step-node{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--text-xs);font-weight:var(--font-bold);background:var(--color-slate-700);color:var(--text-tertiary);border:2px solid var(--color-slate-600);transition:all var(--transition-base);flex-shrink:0}.step-node.complete{background:var(--color-success-500);border-color:var(--color-success-400);color:#fff}.step-node.current{background:var(--color-primary-500);border-color:var(--color-primary-400);color:#fff;box-shadow:0 0 8px var(--color-primary-500);animation:stepPulse 2s ease-in-out infinite}@keyframes stepPulse{0%,to{box-shadow:0 0 8px var(--color-primary-500)}50%{box-shadow:0 0 16px var(--color-primary-500)}}.step-connector{width:24px;height:2px;background:var(--color-slate-600);transition:all var(--transition-base)}.step-connector.complete{background:var(--color-success-500)}.step-labels{display:flex;justify-content:space-between;gap:var(--space-2)}.step-label-text{font-size:10px;color:var(--text-tertiary);text-align:center;flex:1;line-height:1.2}.step-label-text.current{color:var(--color-primary-400);font-weight:var(--font-medium)}.step-label-text.complete{color:var(--color-success-500)}.utb-effect-display.effect-waiting{background:linear-gradient(135deg,#64748b14,#64748b26);border:1px solid rgba(100,116,139,.3);border-radius:var(--radius-md);padding:var(--space-3)}.utb-action-badge.waiting .waiting-spinner{display:inline-block;animation:spin 2s linear infinite;margin-right:var(--space-1)}.utb-waiting-info{display:flex;align-items:center;gap:var(--space-3);flex:1}.utb-waiting-for{font-size:var(--text-sm);color:var(--text-secondary)}.utb-waiting-for strong{color:var(--color-amber-400)}.utb-multi-progress{display:flex;align-items:center;gap:var(--space-2)}.progress-bar-container{width:80px;height:6px;background:#0000004d;border-radius:var(--radius-full);overflow:hidden}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--color-amber-500),var(--color-amber-400));border-radius:var(--radius-full);transition:width .3s ease-out}.progress-text{font-size:var(--text-xs);color:var(--text-tertiary);white-space:nowrap}.utb-player-progress{font-size:var(--text-xs);color:var(--text-tertiary);background:#0003;padding:var(--space-1) var(--space-2);border-radius:var(--radius-full)}.utb-right{flex:0 0 auto;display:flex;align-items:center;gap:var(--space-2)}.utb-pile{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);transition:all var(--transition-base)}.utb-pile.clickable{cursor:pointer}.utb-pile.clickable:hover{background:#ffffff0d;transform:translateY(-1px)}.utb-pile .pile-icon{font-size:var(--text-base)}.utb-pile .pile-info{display:flex;flex-direction:column;align-items:flex-start;gap:0}.utb-pile .pile-label{font-size:var(--text-xs);color:var(--text-secondary);line-height:1}.utb-pile .pile-count{font-size:var(--text-sm);font-weight:var(--font-bold);color:var(--text-light);line-height:1.2}@media (max-width: 768px){.unified-top-bar{flex-wrap:wrap;gap:var(--space-2);padding:var(--space-2) var(--space-3);top:0}.utb-left{min-width:auto}.utb-chain-button .chain-label{display:none}.utb-center{order:3;flex-basis:100%}.utb-effect-row-main,.utb-effect-row-hint{gap:var(--space-2)}.utb-right{gap:var(--space-1)}.utb-pile .pile-info{display:flex;flex-direction:row;align-items:center;gap:2px}.utb-pile .pile-label{display:none}.utb-pile .pile-count{font-size:var(--text-xs)}.utb-pile .pile-icon{font-size:var(--text-sm)}}@media (max-width: 480px){.utb-normal-display{flex-wrap:wrap;justify-content:center;gap:var(--space-2)}.utb-divider{display:none}.utb-effect-message{font-size:var(--text-sm);text-align:center}.utb-target-hint{flex-wrap:wrap;text-align:center;justify-content:center}}.phase-controls{display:flex;justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);background:var(--bg-card);border:1px solid var(--border-dim);transition:all var(--transition-base)}.phase-button{min-width:140px;min-height:40px;padding:var(--space-3) var(--space-4);border:none;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-base);display:flex;align-items:center;justify-content:center;gap:var(--space-2)}.phase-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-lg)}.phase-button:active:not(:disabled){transform:translateY(0)}.phase-button:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.phase-button:disabled{opacity:var(--disabled-opacity);cursor:not-allowed;transform:none;box-shadow:none}.phase-button.start-turn{background:linear-gradient(135deg,var(--color-primary-500),var(--color-primary-600));color:var(--text-light);box-shadow:0 2px 8px #3d6b8f4d}.phase-button.start-turn:hover:not(:disabled){background:linear-gradient(135deg,var(--color-primary-400),var(--color-primary-500));box-shadow:var(--shadow-glow-primary)}.phase-button.draw-card{background:linear-gradient(135deg,var(--color-warning-400),var(--color-warning-500));color:var(--color-primary-900);box-shadow:0 2px 8px #f2ae734d}.phase-button.draw-card:hover:not(:disabled){background:linear-gradient(135deg,var(--color-warning-300),var(--color-warning-400));box-shadow:0 0 20px #f2ae7366}.phase-button.skip-action{background:linear-gradient(135deg,var(--color-neutral-500),var(--color-neutral-600));color:var(--text-light)}.phase-button.skip-action:hover:not(:disabled){background:linear-gradient(135deg,var(--color-neutral-400),var(--color-neutral-500));box-shadow:0 0 15px #8fa5a34d}.phase-button.end-turn{background:linear-gradient(135deg,var(--color-success-500),var(--color-success-600));color:var(--text-light);box-shadow:0 2px 8px #6e9c714d}.phase-button.end-turn:hover:not(:disabled){background:linear-gradient(135deg,var(--color-success-400),var(--color-success-500));box-shadow:0 0 20px #6e9c7166}.phase-button.confirm-selection{background:linear-gradient(135deg,var(--color-primary-500),var(--color-primary-600));color:var(--text-light);min-width:180px;box-shadow:0 2px 8px #3d6b8f4d}.phase-button.confirm-selection:hover:not(:disabled){background:linear-gradient(135deg,var(--color-primary-400),var(--color-primary-500));box-shadow:var(--shadow-glow-primary)}.phase-button.confirm-selection:disabled{background:linear-gradient(135deg,var(--color-neutral-500),var(--color-neutral-600));box-shadow:none}.action-info{color:var(--text-secondary);font-size:var(--text-sm);font-style:italic;padding:0 var(--space-2)}.phase-controls.discard-mode{background:linear-gradient(135deg,var(--bg-card) 0%,rgba(229,164,161,.08) 100%);border:2px solid var(--color-error-400);box-shadow:0 0 0 1px #e5a4a11a,0 4px 12px #e5a4a126;animation:discardPulse 2.5s ease-in-out infinite}@keyframes discardPulse{0%,to{box-shadow:0 0 0 1px #e5a4a11a,0 4px 12px #e5a4a126}50%{box-shadow:0 0 0 2px #e5a4a133,0 4px 20px #e5a4a140}}.discard-prompt{display:flex;align-items:center;gap:var(--space-3)}.discard-icon{font-size:var(--text-xl);filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.discard-text{font-weight:var(--font-semibold);color:var(--color-error-300);font-size:var(--text-base)}.phase-controls.discard-mode .phase-button.confirm-selection{background:linear-gradient(135deg,var(--color-error-400),var(--color-error-500))}.phase-controls.discard-mode .phase-button.confirm-selection:hover:not(:disabled){background:linear-gradient(135deg,var(--color-error-300),var(--color-error-400));box-shadow:0 0 20px #e5a4a166}.phase-controls.discard-mode .phase-button.confirm-selection:disabled{background:linear-gradient(135deg,var(--color-neutral-500),var(--color-neutral-600))}.phase-controls.effect-selection-mode{background:linear-gradient(135deg,var(--bg-card) 0%,rgba(75,132,143,.08) 100%);border:2px solid var(--color-accent-500);box-shadow:0 0 0 1px #4b848f1a,0 4px 12px #4b848f26;animation:effectPulse 2.5s ease-in-out infinite}@keyframes effectPulse{0%,to{box-shadow:0 0 0 1px #4b848f1a,0 4px 12px #4b848f26}50%{box-shadow:0 0 0 2px #4b848f33,0 4px 20px #4b848f40}}.effect-selection-prompt{display:flex;align-items:center;gap:var(--space-3)}.effect-selection-icon{font-size:var(--text-xl);filter:drop-shadow(0 2px 4px rgba(0,0,0,.2))}.effect-selection-text{font-weight:var(--font-semibold);color:var(--color-accent-300);font-size:var(--text-base);max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.phase-controls.effect-selection-mode .phase-button.confirm-selection{background:linear-gradient(135deg,var(--color-accent-500),var(--color-accent-600))}.phase-controls.effect-selection-mode .phase-button.confirm-selection:hover:not(:disabled){background:linear-gradient(135deg,var(--color-accent-400),var(--color-accent-500));box-shadow:0 0 20px #4b848f66}.phase-controls.waiting{background:linear-gradient(135deg,var(--bg-card) 0%,rgba(170,228,247,.05) 50%,var(--bg-card) 100%);border:1px solid var(--color-sky-500);border-radius:var(--radius-lg);padding:var(--space-3) var(--space-5);position:relative;overflow:hidden;box-shadow:0 0 0 1px #aae4f71a,0 4px 12px #aae4f71a}.phase-controls.waiting:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent 0%,rgba(170,228,247,.15) 50%,transparent 100%);animation:waitingShimmer 2.5s ease-in-out infinite}@keyframes waitingShimmer{0%{left:-100%}to{left:100%}}.waiting-message{color:var(--text-primary);font-size:var(--text-base);font-weight:var(--font-semibold);display:flex;align-items:center;gap:var(--space-3);position:relative;z-index:1}.waiting-message:before{content:"";width:10px;height:10px;background:var(--color-sky-400);border-radius:50%;animation:waitingDot 1.2s ease-in-out infinite;box-shadow:0 0 10px var(--color-sky-400)}@keyframes waitingDot{0%,to{transform:scale(1);opacity:1;box-shadow:0 0 10px var(--color-sky-400)}50%{transform:scale(1.3);opacity:.7;box-shadow:0 0 15px var(--color-sky-400)}}@media (max-width: 768px){.phase-controls{padding:var(--space-2) var(--space-3);gap:var(--space-2);flex-wrap:nowrap;justify-content:center}.phase-controls.waiting{padding:var(--space-2) var(--space-3)}.waiting-message{font-size:var(--text-sm);gap:var(--space-2)}.waiting-message:before{width:8px;height:8px}.phase-button{min-width:120px;min-height:38px;padding:var(--space-2) var(--space-3);font-size:var(--text-sm)}.phase-controls.discard-mode,.phase-controls.effect-selection-mode{flex-direction:row;gap:var(--space-2)}.discard-prompt,.effect-selection-prompt{gap:var(--space-2)}.discard-text,.effect-selection-text{font-size:var(--text-sm);max-width:150px}.discard-icon,.effect-selection-icon{font-size:var(--text-lg)}}@media (max-width: 600px){.phase-controls{flex-direction:row;gap:var(--space-1);padding:var(--space-2)}.phase-button{min-width:100px;flex:1;padding:var(--space-2);font-size:var(--text-xs)}.phase-button.confirm-selection{min-width:140px}.action-info{font-size:var(--text-xs)}.phase-controls.discard-mode,.phase-controls.effect-selection-mode{flex-direction:column;gap:var(--space-2)}.discard-prompt,.effect-selection-prompt{justify-content:center}}.hand-viewer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:grid;place-items:center;background:#000000bf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fadeIn var(--transition-base);padding:var(--space-4)}.hand-viewer-overlay.mode-steal{background:#4b0082cc}.hand-viewer-overlay.mode-discard{background:#8b0000bf}.hand-viewer-overlay.mode-view{background:#000000bf}.hand-viewer-modal{background:linear-gradient(135deg,var(--bg-app-gradient-start) 0%,var(--bg-app-gradient-end) 100%);border-radius:var(--radius-xl);width:90%;max-width:900px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px #00000080;border:2px solid rgba(125,155,169,.3);animation:slideUp var(--transition-base);overflow:hidden}.hand-viewer-header{padding:var(--space-5) var(--space-6);background:#0000004d;border-bottom:1px solid rgba(255,255,255,.1)}.header-top-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3)}.mode-badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--font-semibold)}.mode-steal .mode-badge{background:#8a2be24d;border:1px solid rgba(138,43,226,.5);color:plum}.mode-discard .mode-badge{background:#ef44444d;border:1px solid rgba(239,68,68,.5);color:#fca5a5}.mode-view .mode-badge{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fffc}.mode-icon{font-size:var(--text-lg)}.hand-viewer-title{margin:0;font-size:var(--text-2xl);font-weight:var(--font-bold);color:#fff}.hand-viewer-subtitle{margin:var(--space-1) 0 0 0;font-size:var(--text-sm);color:#ffffffb3}.header-badges{display:flex;gap:var(--space-3);flex-wrap:wrap;margin-top:var(--space-3)}.source-badge,.target-badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-sm)}.source-badge{background:#7d9ba933;border:1px solid rgba(125,155,169,.4);color:var(--color-purple-300)}.target-badge{background:#fbbf2433;border:1px solid rgba(251,191,36,.4);color:var(--color-warning-300)}.badge-icon{font-size:var(--text-base)}.selection-info-bar{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-6);background:#4ade801a;border-bottom:1px solid rgba(74,222,128,.2)}.selection-progress-indicator{display:flex;align-items:center;gap:var(--space-2)}.progress-label{font-size:var(--text-sm);color:var(--color-success-300)}.selection-counter{background:#4ade8033;padding:var(--space-1) var(--space-3);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-bold);color:var(--color-success-300)}.hand-cards-container{flex:1;padding:var(--space-5) var(--space-6);min-height:250px}.empty-hand-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12);text-align:center}.empty-hand-state .empty-icon{font-size:4rem;margin-bottom:var(--space-4);opacity:.4}.empty-hand-state h3{margin:0 0 var(--space-2) 0;font-size:var(--text-xl);color:#fff}.empty-hand-state p{margin:0;color:#ffffff80}.hand-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--space-4);justify-items:center;align-items:start}.selected-preview-bar{display:flex;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-3) var(--space-6);background:#0003;border-top:1px solid rgba(255,255,255,.05)}.preview-label{font-size:var(--text-sm);color:#fff9}.preview-card-name{font-weight:var(--font-semibold);font-size:var(--text-base);display:flex;align-items:center;gap:var(--space-2)}.hand-viewer-footer{display:flex;justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-6);background:#0000004d;border-top:1px solid rgba(255,255,255,.1)}.click-hint{margin:0;font-size:var(--text-sm);color:#ffffff80;font-style:italic}@media (max-width: 768px){.hand-viewer-modal{width:100%;height:100%;max-height:100%;border-radius:0;border:none}.hand-viewer-header{padding:var(--space-4)}.hand-viewer-title{font-size:var(--text-xl)}.header-badges{flex-direction:column;gap:var(--space-2)}.selection-info-bar{padding:var(--space-2) var(--space-4)}.hand-cards-container{padding:var(--space-3) var(--space-4)}.hand-cards-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.hand-viewer-footer{padding:var(--space-3) var(--space-4);padding-bottom:calc(var(--space-3) + env(safe-area-inset-bottom));flex-direction:column}.footer-btn{width:100%;min-height:48px}}.discard-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:grid;place-items:center;background:#000000bf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fadeIn var(--transition-base);padding:var(--space-4)}.discard-modal{background:linear-gradient(135deg,var(--bg-app-gradient-start) 0%,var(--bg-app-gradient-end) 100%);border-radius:var(--radius-xl);width:90%;max-width:900px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px #00000080;border:2px solid rgba(125,155,169,.3);animation:slideUp var(--transition-base);overflow:hidden}.discard-modal-header{padding:var(--space-5) var(--space-6);background:#0000004d;border-bottom:1px solid rgba(255,255,255,.1)}.header-top{display:flex;align-items:flex-start;gap:var(--space-4)}.header-icon{font-size:2.5rem;line-height:1}.header-content{flex:1}.header-title{margin:0;font-size:var(--text-2xl);font-weight:var(--font-bold);color:#fff}.header-subtitle{margin:var(--space-1) 0 0 0;font-size:var(--text-sm);color:#ffffffb3}.source-badge{display:inline-flex;align-items:center;gap:var(--space-2);background:#7d9ba933;border:1px solid rgba(125,155,169,.4);border-radius:var(--radius-full);padding:var(--space-1) var(--space-3);font-size:var(--text-xs);color:var(--color-purple-300);margin-top:var(--space-2)}.source-icon{font-size:var(--text-sm)}.close-button{background:#ffffff1a;border:none;width:36px;height:36px;border-radius:var(--radius-full);color:#fff9;font-size:var(--text-lg);cursor:pointer;transition:all var(--transition-base);display:flex;align-items:center;justify-content:center}.close-button:hover{background:#fff3;color:#fff}.close-button:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.filter-hint-banner{display:flex;align-items:center;gap:var(--space-2);background:#fbbf2426;border:1px solid rgba(251,191,36,.3);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);margin-top:var(--space-3);font-size:var(--text-sm);color:var(--color-warning-300)}.discard-controls{padding:var(--space-4) var(--space-6);background:#0003;border-bottom:1px solid rgba(255,255,255,.05)}.search-bar{display:flex;align-items:center;background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);padding:var(--space-2) var(--space-3);margin-bottom:var(--space-3);transition:all var(--transition-base)}.search-bar:focus-within{border-color:#7d9ba980;background:#0006}.search-icon{font-size:var(--text-base);margin-right:var(--space-2);opacity:.5}.search-input{flex:1;background:none;border:none;color:#fff;font-size:var(--text-base);outline:none}.clear-search{background:#ffffff1a;border:none;width:24px;height:24px;border-radius:var(--radius-full);color:#ffffff80;font-size:var(--text-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-base)}.clear-search:hover{background:#fff3;color:#fff}.filter-chips{display:flex;gap:var(--space-2);flex-wrap:wrap}.filter-chip{display:flex;align-items:center;gap:var(--space-1);background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-full);padding:var(--space-1) var(--space-3);font-size:var(--text-sm);color:#ffffffb3;cursor:pointer;transition:all var(--transition-base)}.filter-chip:hover{background:#ffffff1a;color:#fff}.filter-chip.active{background:#7d9ba94d;border-color:#7d9ba980;color:#fff}.filter-chip.cat.active{background:#ffb6c14d;border-color:#ffb6c180}.filter-chip.magic.active{background:#7d9ba94d;border-color:#7d9ba980}.filter-chip.upgrade.active{background:#4ade804d;border-color:#4ade8080}.filter-chip.downgrade.active{background:#ef44444d;border-color:#ef444480}.filter-chip.instant.active{background:#fbbf244d;border-color:#fbbf2480}.chip-count{background:#0000004d;padding:2px 6px;border-radius:var(--radius-full);font-size:var(--text-xs)}.selection-info{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-6);background:#4ade801a;border-bottom:1px solid rgba(74,222,128,.2)}.valid-indicator{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-success-300)}.pulse-dot{width:8px;height:8px;background:var(--color-success-400);border-radius:var(--radius-full);animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.selected-preview{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:#ffffffb3}.selected-preview strong{color:#fff}.discard-cards-container{flex:1;padding:var(--space-4) var(--space-6);min-height:200px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12);text-align:center}.empty-state .empty-icon{font-size:4rem;margin-bottom:var(--space-4);opacity:.4}.empty-state h3{margin:0 0 var(--space-2) 0;font-size:var(--text-xl);color:#fff}.empty-state p{margin:0;color:#ffffff80}.discard-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--space-4);justify-items:center;align-items:start}.discard-modal-footer{display:flex;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-6);background:#0000004d;border-top:1px solid rgba(255,255,255,.1)}.footer-btn{padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);font-size:var(--text-base);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-base);border:none}.footer-btn.primary{background:linear-gradient(135deg,var(--color-purple-500),var(--color-purple-600));color:#fff;box-shadow:0 4px 15px #7d9ba94d}.footer-btn.primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #7d9ba966}@media (max-width: 768px){.discard-modal{width:100%;height:100%;max-height:100%;border-radius:0;border:none}.discard-modal-header{padding:var(--space-4)}.header-icon{font-size:2rem}.header-title{font-size:var(--text-xl)}.discard-controls{padding:var(--space-3) var(--space-4)}.filter-chips{overflow-x:auto;flex-wrap:nowrap;padding-bottom:var(--space-2);-webkit-overflow-scrolling:touch}.filter-chip{flex-shrink:0}.discard-cards-container{padding:var(--space-3) var(--space-4)}.discard-cards-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.discard-modal-footer{padding:var(--space-3) var(--space-4);padding-bottom:calc(var(--space-3) + env(safe-area-inset-bottom));flex-direction:column}.footer-btn{width:100%;min-height:48px}}.void-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at center,#000000d9,#000000f2);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);animation:voidFadeIn .5s ease-out;overflow:hidden;overflow-x:hidden}@keyframes voidFadeIn{0%{opacity:0}to{opacity:1}}.void-particles{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.particle{position:absolute;width:4px;height:4px;background:radial-gradient(circle,rgba(125,155,169,.6) 0%,transparent 70%);border-radius:50%;left:var(--x);bottom:-10px;animation:floatUp var(--duration) ease-in-out infinite;animation-delay:var(--delay);opacity:.6}@keyframes floatUp{0%{transform:translateY(0) scale(1);opacity:0}10%{opacity:.6}90%{opacity:.6}to{transform:translateY(-100vh) scale(.5);opacity:0}}.void-modal{position:relative;width:90%;max-width:700px;max-height:85vh;background:linear-gradient(180deg,#0f0a19fa,#0a0514fc,#05000f);border:1px solid rgba(125,155,169,.3);border-radius:var(--radius-xl);box-shadow:0 0 60px #7d9ba926,0 0 120px #5f78821a,inset 0 0 100px #00000080;display:flex;flex-direction:column;overflow:hidden;overflow-x:hidden;animation:voidModalAppear .6s cubic-bezier(.16,1,.3,1)}@keyframes voidModalAppear{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.void-modal:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(45deg,transparent 30%,rgba(125,155,169,.1) 50%,transparent 70%);border-radius:var(--radius-xl);z-index:-1;animation:eerieGlow 4s ease-in-out infinite;pointer-events:none}@keyframes eerieGlow{0%,to{opacity:.5;filter:blur(10px)}50%{opacity:.8;filter:blur(15px)}}.void-modal-header{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-5) var(--space-5) var(--space-4);border-bottom:1px solid rgba(125,155,169,.15);background:linear-gradient(180deg,rgba(125,155,169,.05) 0%,transparent 100%)}.void-symbol{font-size:2.5rem;filter:drop-shadow(0 0 10px rgba(125,155,169,.5));animation:symbolFloat 3s ease-in-out infinite}@keyframes symbolFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.header-text{flex:1}.void-title{font-size:var(--text-2xl);font-weight:var(--font-bold);color:#c8b4fff2;text-shadow:0 0 20px rgba(125,155,169,.5);margin:0 0 var(--space-1);letter-spacing:2px;text-transform:uppercase}.void-subtitle{font-size:var(--text-sm);color:#a08cc8b3;margin:0;font-style:italic}.void-close-button{background:transparent;border:1px solid rgba(125,155,169,.3);color:#c8b4ff99;width:36px;height:36px;border-radius:50%;cursor:pointer;transition:all var(--transition-base);font-size:var(--text-lg)}.void-close-button:hover{background:#7d9ba933;border-color:#7d9ba999;color:#c8b4ffe6;transform:rotate(90deg)}.void-close-button:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.void-controls{padding:var(--space-3) var(--space-4);border-bottom:1px solid rgba(125,155,169,.1)}.void-search-bar{display:flex;align-items:center;gap:var(--space-2);background:#0006;border:1px solid rgba(125,155,169,.2);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);margin-bottom:var(--space-3)}.void-search-bar .search-icon{font-size:var(--text-lg);opacity:.6}.void-search-input{flex:1;background:transparent;border:none;color:#c8b4ffe6;font-size:var(--text-sm);outline:none}.void-search-input::placeholder{color:#7d9ba966;font-style:italic}.void-search-bar .clear-search{background:transparent;border:none;color:#c8b4ff80;cursor:pointer;padding:var(--space-1)}.void-search-bar .clear-search:hover{color:#c8b4ffe6}.void-filter-chips{display:flex;flex-wrap:wrap;gap:var(--space-2)}.void-filter-chip{background:#0000004d;border:1px solid rgba(125,155,169,.2);color:#c8b4ff99;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);cursor:pointer;transition:all var(--transition-fast)}.void-filter-chip:hover{border-color:#7d9ba966;color:#c8b4ffe6}.void-filter-chip.active{background:#7d9ba94d;border-color:#7d9ba999;color:#c8b4ff}.void-filter-chip .chip-count{margin-left:var(--space-1);opacity:.7}.void-cards-container{flex:1;overflow-x:hidden;padding:var(--space-4);min-height:200px}.void-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:var(--space-3);align-items:start}.void-card-wrapper{position:relative;animation:cardEmerge .5s ease-out backwards;animation-delay:calc(var(--index) * .05s)}@keyframes cardEmerge{0%{opacity:0;transform:translateY(20px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}.void-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-8) var(--space-4);text-align:center;position:relative;overflow:hidden}.void-empty-icon{font-size:4rem;margin-bottom:var(--space-4);animation:emptyPulse 3s ease-in-out infinite;filter:drop-shadow(0 0 20px rgba(125,155,169,.3))}@keyframes emptyPulse{0%,to{transform:scale(1);opacity:.7}50%{transform:scale(1.1);opacity:1}}.void-empty-title{font-size:var(--text-xl);color:#c8b4ffcc;margin:0 0 var(--space-2);text-shadow:0 0 15px rgba(125,155,169,.4);letter-spacing:1px}.void-empty-message{font-size:var(--text-sm);color:#a08cc899;margin:0;font-style:italic}.void-mist{position:absolute;bottom:0;left:0;right:0;height:60px;background:linear-gradient(180deg,transparent 0%,rgba(125,155,169,.05) 100%);animation:mistDrift 8s ease-in-out infinite}@keyframes mistDrift{0%,to{opacity:.5}50%{opacity:.8}}.void-modal-footer{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-top:1px solid rgba(125,155,169,.15);background:linear-gradient(0deg,rgba(125,155,169,.05) 0%,transparent 100%)}.void-count{display:flex;align-items:baseline;gap:var(--space-2)}.void-count .count-number{font-size:var(--text-2xl);font-weight:var(--font-bold);color:#c8b4ffe6;text-shadow:0 0 10px rgba(125,155,169,.5)}.void-count .count-label{font-size:var(--text-sm);color:#a08cc899;font-style:italic}.void-close-btn{background:linear-gradient(135deg,#7d9ba94d,#5f788266);border:1px solid rgba(125,155,169,.4);color:#c8b4ffe6;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-base)}.void-close-btn:hover{background:linear-gradient(135deg,#7d9ba980,#5f788299);border-color:#7d9ba9b3;transform:translateY(-2px);box-shadow:0 5px 20px #7d9ba94d}@media (max-width: 768px){.void-modal{width:100%;max-width:100%;max-height:100vh;border-radius:0}.void-modal-header{padding:var(--space-4);gap:var(--space-3)}.void-symbol{font-size:2rem}.void-title{font-size:var(--text-xl)}.void-controls{padding:var(--space-2) var(--space-3)}.void-cards-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:var(--space-2)}.void-modal-footer{padding:var(--space-3) var(--space-4);flex-direction:column;gap:var(--space-3)}.void-close-btn{width:100%;padding:var(--space-3);min-height:48px}}.confirmation-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:grid;place-items:center;background:var(--bg-overlay, rgba(0, 0, 0, .75));-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn var(--transition-base, .2s);padding:var(--space-4)}.confirmation-modal{background:var(--bg-modal);border-radius:var(--radius-xl);padding:var(--space-6) var(--space-8);min-width:360px;max-width:440px;box-shadow:var(--shadow-2xl);border:1px solid var(--color-magic-purple-light);animation:popIn var(--transition-spring)}.confirmation-modal .modal-header{text-align:center;margin-bottom:var(--space-5)}.confirmation-modal .source-card-badge{display:inline-flex;align-items:center;gap:var(--space-2);background:#ffd7001f;border:1px solid rgba(255,215,0,.25);border-radius:var(--radius-full);padding:var(--space-2) var(--space-4)}.confirmation-modal .magic-icon{font-size:var(--text-sm)}.confirmation-modal .card-name{color:var(--color-gold);font-weight:var(--font-semibold);font-size:var(--text-sm)}.confirmation-content{text-align:center;margin-bottom:var(--space-6)}.question-icon{font-size:48px;margin-bottom:var(--space-4);filter:drop-shadow(0 4px 8px rgba(0,0,0,.3))}.confirmation-title{color:var(--text-light);font-size:var(--text-xl);font-weight:var(--font-bold);margin:0 0 var(--space-3) 0}.confirmation-description{color:var(--text-light-dimmed);font-size:var(--text-base);line-height:1.5;margin:0}.confirmation-actions{display:flex;gap:var(--space-3)}.confirm-btn{flex:1;border:none;padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);font-size:var(--text-base);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-base)}.confirm-btn.primary{background:linear-gradient(135deg,var(--color-primary-500),var(--color-primary-600));color:var(--text-light)}.confirm-btn.primary:hover{background:linear-gradient(135deg,var(--color-primary-400),var(--color-primary-500));transform:translateY(-2px);box-shadow:var(--shadow-glow-primary)}.confirm-btn.danger{background:linear-gradient(135deg,var(--color-error-500),var(--color-error-600));color:var(--text-light)}.confirm-btn.danger:hover{background:linear-gradient(135deg,var(--color-error-400),var(--color-error-500));transform:translateY(-2px);box-shadow:0 6px 20px #ef444466}.confirm-btn.success{background:linear-gradient(135deg,var(--color-success-500),var(--color-success-600));color:var(--text-light)}.confirm-btn.success:hover{background:linear-gradient(135deg,var(--color-success-400),var(--color-success-500));transform:translateY(-2px);box-shadow:var(--shadow-glow-success)}@media (max-width: 768px){.confirmation-overlay{padding:var(--space-4);align-items:center;justify-content:center}.confirmation-modal{min-width:auto;max-width:calc(100vw - var(--space-8));width:100%;padding:var(--space-5) var(--space-4);margin:0 auto}.question-icon{font-size:40px;margin-bottom:var(--space-3)}.confirmation-title{font-size:var(--text-lg)}.confirmation-description{font-size:var(--text-sm)}.confirmation-actions{flex-direction:column;gap:var(--space-2)}.confirmation-actions .skip-button,.confirm-btn{min-height:48px;font-size:var(--text-base);padding:var(--space-3) var(--space-4)}}.card-preview{position:absolute;top:var(--space-5);right:var(--space-5);width:220px;background:linear-gradient(145deg,var(--bg-surface-elevated),var(--bg-surface));border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-2xl);border:1px solid var(--border-dark);animation:previewFadeIn var(--transition-base);z-index:var(--z-popover)}@keyframes previewFadeIn{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:translate(0)}}.preview-header{padding:var(--space-4)}.preview-title-section{text-align:center}.preview-title{color:var(--text-light);font-size:var(--text-lg);font-weight:var(--font-bold);margin:0 0 var(--space-1) 0;text-shadow:0 1px 2px rgba(0,0,0,.3)}.preview-type{color:#ffffffe6;font-size:var(--text-sm);font-weight:var(--font-medium);text-transform:capitalize;display:flex;align-items:center;justify-content:center;gap:var(--space-1)}.preview-type-symbol{font-weight:var(--font-bold)}.preview-body{padding:var(--space-4);background:#0003}.preview-description{color:var(--text-light-muted);font-size:var(--text-sm);line-height:1.5;margin:0}.oracle-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:grid;place-items:center;animation:fadeIn var(--transition-base);padding:var(--space-4)}.oracle-overlay.phase-select{background:radial-gradient(ellipse at center,#581c87f2,#1e0a3cfa)}.oracle-overlay.phase-order{background:radial-gradient(ellipse at center,#78350ff2,#281405fa)}.oracle-particles{position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(2px 2px at 20% 30%,rgba(255,255,255,.3),transparent),radial-gradient(2px 2px at 40% 70%,rgba(255,215,0,.3),transparent),radial-gradient(2px 2px at 60% 40%,rgba(255,255,255,.3),transparent),radial-gradient(2px 2px at 80% 60%,rgba(255,215,0,.3),transparent),radial-gradient(3px 3px at 10% 50%,rgba(147,51,234,.4),transparent),radial-gradient(3px 3px at 90% 80%,rgba(147,51,234,.4),transparent);background-size:200px 200px;animation:floatParticles 20s linear infinite;pointer-events:none}@keyframes floatParticles{0%{transform:translateY(0)}to{transform:translateY(-200px)}}.oracle-glow{position:absolute;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(147,51,234,.3) 0%,transparent 70%);animation:pulseGlow 4s ease-in-out infinite;pointer-events:none}.phase-order .oracle-glow{background:radial-gradient(circle,rgba(251,191,36,.3) 0%,transparent 70%)}@keyframes pulseGlow{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.1);opacity:.8}}.oracle-modal{position:relative;z-index:1;background:linear-gradient(180deg,#1e0a3cf2,#0f051efa);border-radius:var(--radius-xl);width:90%;max-width:800px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 0 0 1px #9333ea4d,0 0 30px #9333ea33,0 25px 50px -12px #00000080;animation:modalAppear .4s ease-out;overflow:hidden}.phase-order .oracle-modal{background:linear-gradient(180deg,#3c1e0af2,#1e0f05fa);box-shadow:0 0 0 1px #fbbf244d,0 0 30px #fbbf2433,0 25px 50px -12px #00000080}@keyframes modalAppear{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.oracle-header{padding:var(--space-6);display:flex;align-items:center;gap:var(--space-5);background:linear-gradient(180deg,rgba(147,51,234,.15) 0%,transparent 100%);border-bottom:1px solid rgba(147,51,234,.2)}.phase-order .oracle-header{background:linear-gradient(180deg,rgba(251,191,36,.15) 0%,transparent 100%);border-bottom:1px solid rgba(251,191,36,.2)}.oracle-icon-container{position:relative;width:64px;height:64px;display:flex;align-items:center;justify-content:center}.oracle-icon{font-size:40px;z-index:1;animation:iconFloat 3s ease-in-out infinite}@keyframes iconFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.oracle-icon-ring{position:absolute;top:0;right:0;bottom:0;left:0;border:2px solid rgba(147,51,234,.5);border-radius:50%;animation:ringPulse 2s ease-in-out infinite}.phase-order .oracle-icon-ring{border-color:#fbbf2480}@keyframes ringPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.5}}.oracle-header-text{flex:1}.oracle-title{margin:0;font-size:var(--text-2xl);font-weight:var(--font-bold);color:#fff;text-shadow:0 0 20px rgba(147,51,234,.5)}.phase-order .oracle-title{text-shadow:0 0 20px rgba(251,191,36,.5)}.oracle-subtitle{margin:var(--space-1) 0 0;font-size:var(--text-base);color:#ffffffb3}.oracle-source-badge{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:#9333ea33;border:1px solid rgba(147,51,234,.4);border-radius:var(--radius-full);color:var(--color-purple-300)}.phase-order .oracle-source-badge{background:#fbbf2433;border-color:#fbbf2466;color:var(--color-warning-300)}@keyframes sparkle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.oracle-phase-indicator{display:flex;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-4) var(--space-6);background:#0000004d}.phase-step{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#fff6;transition:all var(--transition-base)}.phase-step.active{background:#9333ea4d;border-color:#9333ea99;color:#fff;box-shadow:0 0 15px #9333ea4d}.phase-order .phase-step.active{background:#fbbf244d;border-color:#fbbf2499;box-shadow:0 0 15px #fbbf244d}.phase-step.complete{background:#4ade8033;border-color:#4ade8066;color:var(--color-success-300)}.step-number{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:#ffffff1a;border-radius:50%;font-size:var(--text-sm);font-weight:var(--font-bold)}.phase-step.active .step-number{background:#9333ea80}.phase-order .phase-step.active .step-number{background:#fbbf2480}.phase-step.complete .step-number{background:#4ade804d}.phase-step.complete .step-number:after{content:"✓";position:absolute}.step-label{font-size:var(--text-sm);font-weight:var(--font-medium)}.phase-connector{width:60px;height:2px;background:#ffffff1a;position:relative}.connector-line{position:absolute;left:0;top:0;height:100%;width:0;background:linear-gradient(90deg,#4ade80cc,#9333eacc);transition:width .5s ease}.connector-line.filled{width:100%}.oracle-cards-area{flex:1;padding:var(--space-6);display:flex;flex-direction:column;align-items:center;gap:var(--space-5);overflow-y:auto}.oracle-hint{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:#ffffff0d;border-radius:var(--radius-full);color:#ffffffb3;font-size:var(--text-sm)}.hint-icon{font-size:var(--text-base)}.oracle-cards-grid{display:flex;justify-content:center;gap:var(--space-6);perspective:1000px}.oracle-cards-grid.cards-2{gap:var(--space-8)}.oracle-cards-grid.cards-3{gap:var(--space-5)}.oracle-card-wrapper{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);animation:cardReveal .5s ease-out backwards;animation-delay:calc(var(--card-index) * .15s)}@keyframes cardReveal{0%{opacity:0;transform:translateY(30px) rotateX(15deg)}to{opacity:1;transform:translateY(0) rotateX(0)}}.oracle-select-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:linear-gradient(180deg,#9333ea66,#9333ea33);border:1px solid rgba(147,51,234,.5);border-radius:var(--radius-md);color:#fff;font-size:var(--text-sm);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-fast);min-width:140px}.phase-order .oracle-select-btn{background:linear-gradient(180deg,#fbbf2466,#fbbf2433);border-color:#fbbf2480}.oracle-select-btn:hover{transform:translateY(-2px);background:linear-gradient(180deg,#9333ea99,#9333ea66);box-shadow:0 4px 15px #9333ea66}.phase-order .oracle-select-btn:hover{background:linear-gradient(180deg,#fbbf2499,#fbbf2466);box-shadow:0 4px 15px #fbbf2466}.oracle-select-btn:active{transform:translateY(0)}.btn-icon{font-size:var(--text-base)}.oracle-preview-panel{position:absolute;bottom:80px;left:50%;transform:translate(-50%);background:#000000e6;border:1px solid rgba(147,51,234,.3);border-radius:var(--radius-lg);padding:var(--space-4);max-width:400px;animation:fadeIn var(--transition-fast);pointer-events:none}.preview-card-info{text-align:center}.preview-type{font-size:var(--text-xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.5px}.preview-name{margin:var(--space-1) 0;font-size:var(--text-lg);font-weight:var(--font-bold);color:#fff}.preview-description{margin:0;font-size:var(--text-sm);color:#ffffffb3;line-height:1.5}.oracle-footer{padding:var(--space-4) var(--space-6);background:#0000004d;border-top:1px solid rgba(147,51,234,.2);text-align:center}.phase-order .oracle-footer{border-top-color:#fbbf2433}.footer-decoration{display:flex;align-items:center;justify-content:center;gap:var(--space-3);margin-bottom:var(--space-2)}.decoration-star{color:#9333ea99;font-size:var(--text-sm)}.phase-order .decoration-star{color:#fbbf2499}.decoration-line{width:60px;height:1px;background:linear-gradient(90deg,transparent,rgba(147,51,234,.4),transparent)}.phase-order .decoration-line{background:linear-gradient(90deg,transparent,rgba(251,191,36,.4),transparent)}.footer-text{margin:0;font-size:var(--text-sm);color:#ffffff80;font-style:italic}@media (max-width: 768px){.oracle-modal{width:100%;max-width:100%;max-height:100%;border-radius:0}.oracle-header{flex-direction:column;text-align:center;gap:var(--space-3);padding:var(--space-4)}.oracle-title{font-size:var(--text-xl)}.oracle-cards-grid{flex-direction:column;gap:var(--space-4)}.oracle-cards-grid.cards-2,.oracle-cards-grid.cards-3{gap:var(--space-4)}.oracle-card-wrapper{flex-direction:row;gap:var(--space-4)}.oracle-select-btn{min-width:auto;flex:1}.oracle-phase-indicator{flex-wrap:wrap;gap:var(--space-2)}.phase-connector{display:none}.oracle-preview-panel{position:static;transform:none;margin-top:var(--space-4)}}.deck-search-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:grid;place-items:center;background:radial-gradient(ellipse at center,#064e3bf2,#021e19fa);animation:fadeIn var(--transition-base);padding:var(--space-4)}.deck-search-particles{position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(4px 6px at 15% 25%,rgba(52,211,153,.3),transparent),radial-gradient(4px 6px at 35% 75%,rgba(52,211,153,.2),transparent),radial-gradient(4px 6px at 55% 35%,rgba(255,255,255,.2),transparent),radial-gradient(4px 6px at 75% 65%,rgba(52,211,153,.3),transparent),radial-gradient(4px 6px at 85% 45%,rgba(255,255,255,.2),transparent);background-size:300px 300px;animation:shuffleCards 15s linear infinite;pointer-events:none}@keyframes shuffleCards{0%{transform:translateY(0) rotate(0)}50%{transform:translateY(-50px) rotate(1deg)}to{transform:translateY(0) rotate(0)}}.deck-search-modal{position:relative;z-index:1;background:linear-gradient(180deg,#064e3bf2,#022c22fa);border-radius:var(--radius-xl);width:90%;max-width:600px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 0 0 1px #34d3994d,0 0 40px #34d39926,0 25px 50px -12px #00000080;animation:modalSlideUp .4s ease-out;overflow:hidden}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.deck-search-header{padding:var(--space-5) var(--space-6);background:linear-gradient(180deg,rgba(52,211,153,.15) 0%,transparent 100%);border-bottom:1px solid rgba(52,211,153,.2)}.header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3)}.search-type-badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border:1px solid;border-radius:var(--radius-full);color:var(--badge-color, var(--color-success-300));font-size:var(--text-sm);font-weight:var(--font-semibold)}.type-icon{font-size:var(--text-lg)}.close-btn{background:#ffffff1a;border:none;width:36px;height:36px;border-radius:var(--radius-full);color:#fff9;font-size:var(--text-lg);cursor:pointer;transition:all var(--transition-base);display:flex;align-items:center;justify-content:center}.close-btn:hover{background:#fff3;color:#fff}.deck-search-title{margin:0;font-size:var(--text-2xl);font-weight:var(--font-bold);color:#fff}.deck-search-subtitle{margin:var(--space-1) 0 0;font-size:var(--text-base);color:#ffffffb3}.source-info{display:inline-flex;align-items:center;gap:var(--space-2);margin-top:var(--space-3);padding:var(--space-1) var(--space-3);background:#34d39926;border-radius:var(--radius-full);font-size:var(--text-sm);color:var(--color-success-200)}.source-icon{animation:sparkle 1.5s ease-in-out infinite}@keyframes sparkle{0%,to{opacity:1}50%{opacity:.5}}.deck-search-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-4) var(--space-6);background:#0000004d;border-bottom:1px solid rgba(52,211,153,.1)}.search-input-wrapper{flex:1;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);background:#0000004d;border:1px solid rgba(52,211,153,.3);border-radius:var(--radius-lg);transition:all var(--transition-base)}.search-input-wrapper:focus-within{border-color:#34d39999;box-shadow:0 0 15px #34d39933}.search-icon{font-size:var(--text-lg);opacity:.6}.search-input{flex:1;background:transparent;border:none;outline:none;color:#fff;font-size:var(--text-base)}.clear-search-btn{background:#ffffff1a;border:none;width:24px;height:24px;border-radius:var(--radius-full);color:#fff9;font-size:var(--text-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.clear-search-btn:hover{background:#fff3;color:#fff}.search-results-count{display:flex;align-items:baseline;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:#34d39926;border-radius:var(--radius-full)}.count-number{font-size:var(--text-xl);font-weight:var(--font-bold);color:var(--color-success-300)}.count-label{font-size:var(--text-sm);color:#fff9}.deck-search-cards-area{flex:1;padding:var(--space-4) var(--space-6);overflow-y:auto;min-height:200px;max-height:450px}.no-cards-found{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-10);text-align:center}.no-cards-icon{font-size:48px;margin-bottom:var(--space-3)}.no-cards-found h3{margin:0;color:#fff;font-size:var(--text-xl)}.no-cards-found p{margin:var(--space-2) 0 0;color:#fff9}.deck-search-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--space-4);padding:var(--space-2);align-items:start}.deck-search-card-wrapper{display:flex;justify-content:center;padding:var(--space-2);border-radius:var(--radius-lg);border:2px solid transparent;transition:all var(--transition-fast);cursor:pointer}.deck-search-card-wrapper:hover{background:#34d3991a;border-color:#34d3994d}.deck-search-card-wrapper.selected{background:#34d39933;border-color:#34d39999;box-shadow:0 0 20px #34d3994d}.deck-search-list{display:flex;flex-direction:column;gap:var(--space-2)}.deck-card-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:#0003;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);color:#fff;font-size:var(--text-base);cursor:pointer;transition:all var(--transition-fast);animation:itemFadeIn .3s ease-out backwards;animation-delay:calc(var(--item-index) * .03s);text-align:left;width:100%}@keyframes itemFadeIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.deck-card-item:hover{background:#ffffff1a;border-color:var(--item-color, rgba(52, 211, 153, .5));transform:translate(4px)}.deck-card-item.selected{background:#34d39926;border-color:var(--item-color, rgba(52, 211, 153, .6));box-shadow:0 0 15px #34d39933}.card-icon{font-size:var(--text-xl);width:32px;text-align:center}.card-name{flex:1;font-weight:var(--font-medium)}.selected-indicator{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--item-color, rgba(52, 211, 153, .8));border-radius:var(--radius-full);animation:checkPop .2s ease-out}@keyframes checkPop{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}.check-icon{color:#fff;font-weight:var(--font-bold)}.deck-search-footer{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-6);background:#0006;border-top:1px solid rgba(52,211,153,.2)}.footer-hint{font-size:var(--text-sm);color:#ffffff80;font-style:italic}.footer-actions{display:flex;gap:var(--space-3)}.footer-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);font-size:var(--text-base);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-fast)}.footer-btn.primary{background:linear-gradient(180deg,#34d39999,#34d39966);border:1px solid rgba(52,211,153,.6);color:#fff}.footer-btn.primary:hover:not(:disabled){background:linear-gradient(180deg,#34d399cc,#34d39999);box-shadow:0 4px 15px #34d39966;transform:translateY(-1px)}.footer-btn.primary:disabled{opacity:.5;cursor:not-allowed}.btn-icon{font-size:var(--text-lg)}@media (max-width: 768px){.deck-search-modal{width:100%;max-width:100%;max-height:100%;border-radius:0}.deck-search-header{padding:var(--space-4)}.deck-search-title{font-size:var(--text-xl)}.deck-search-bar{flex-direction:column;gap:var(--space-3);padding:var(--space-3) var(--space-4)}.search-input-wrapper{width:100%}.deck-search-cards-area{padding:var(--space-3) var(--space-4)}.deck-card-item{padding:var(--space-3);min-height:48px}.deck-search-footer{flex-direction:column;gap:var(--space-3);padding:var(--space-4)}.footer-hint{text-align:center}.footer-actions{width:100%;flex-direction:column}.footer-btn{width:100%;justify-content:center;min-height:48px}}.christmas-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:grid;place-items:center;animation:fadeIn var(--transition-base);padding:var(--space-4);background:radial-gradient(ellipse at center,#0f3460f7,#081830fc)}.christmas-snow{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.christmas-snow:before,.christmas-snow:after{content:"";position:absolute;width:100%;height:200%;background-image:radial-gradient(2px 2px at 20% 15%,rgba(255,255,255,.5),transparent),radial-gradient(1.5px 1.5px at 55% 30%,rgba(255,255,255,.4),transparent),radial-gradient(2px 2px at 80% 10%,rgba(255,255,255,.45),transparent),radial-gradient(1.5px 1.5px at 35% 60%,rgba(255,255,255,.35),transparent),radial-gradient(2px 2px at 70% 45%,rgba(255,255,255,.4),transparent);background-size:400px 400px;animation:snowfall 25s linear infinite}.christmas-snow:after{animation-delay:-12s;animation-duration:30s;opacity:.5}@keyframes snowfall{0%{transform:translateY(-50%)}to{transform:translateY(0)}}.christmas-lights{position:absolute;top:0;left:0;right:0;height:60px;pointer-events:none;background:linear-gradient(180deg,rgba(0,0,0,.4) 0%,transparent 100%);display:flex;justify-content:center;gap:40px;padding-top:15px}.christmas-light{width:12px;height:18px;border-radius:50% 50% 45% 45%;position:relative;animation:twinkle 2s ease-in-out infinite}.christmas-light:before{content:"";position:absolute;top:-4px;left:50%;transform:translate(-50%);width:6px;height:4px;background:#333;border-radius:2px 2px 0 0}.christmas-light.red{background:radial-gradient(circle at 30% 30%,#ff6b6b,#c0392b);box-shadow:0 0 15px #ff6b6bb3;animation-delay:0s}.christmas-light.green{background:radial-gradient(circle at 30% 30%,#6bff6b,#27ae60);box-shadow:0 0 15px #6bff6bb3;animation-delay:.3s}.christmas-light.blue{background:radial-gradient(circle at 30% 30%,#6bb3ff,#2980b9);box-shadow:0 0 15px #6bb3ffb3;animation-delay:.6s}.christmas-light.yellow{background:radial-gradient(circle at 30% 30%,#ffe66b,#f39c12);box-shadow:0 0 15px #ffe66bb3;animation-delay:.9s}@keyframes twinkle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.95)}}.christmas-glow{position:absolute;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(100,200,255,.2) 0%,transparent 70%);animation:iceGlow 4s ease-in-out infinite;pointer-events:none}@keyframes iceGlow{0%,to{transform:scale(1);opacity:.5}50%{transform:scale(1.15);opacity:.8}}.christmas-modal{position:relative;z-index:1;background:linear-gradient(180deg,#143c64f2,#0a1e32fa);border-radius:var(--radius-xl);width:90%;max-width:850px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 0 0 1px #64c8ff4d,0 0 40px #64c8ff26,0 0 80px #64c8ff1a,inset 0 1px #ffffff1a,0 25px 50px -12px #0009;animation:modalSlideIn .4s ease-out;overflow:hidden;border:1px solid rgba(100,200,255,.2)}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.95) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.christmas-header{padding:var(--space-6);display:flex;align-items:center;gap:var(--space-5);background:linear-gradient(180deg,rgba(100,200,255,.1) 0%,transparent 100%);border-bottom:1px solid rgba(100,200,255,.15)}.christmas-icon-container{position:relative;width:64px;height:64px;display:flex;align-items:center;justify-content:center}.christmas-icon{font-size:42px;z-index:1;animation:gentleFloat 3s ease-in-out infinite;filter:drop-shadow(0 0 10px rgba(100,200,255,.5))}@keyframes gentleFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.christmas-icon-ring{position:absolute;top:0;right:0;bottom:0;left:0;border:2px solid rgba(100,200,255,.4);border-radius:50%;animation:ringPulse 2.5s ease-in-out infinite}@keyframes ringPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.4}}.christmas-header-text{flex:1}.christmas-title{margin:0;font-size:var(--text-2xl);font-weight:var(--font-bold);color:#fff;text-shadow:0 0 20px rgba(100,200,255,.5)}.christmas-subtitle{margin:var(--space-1) 0 0;font-size:var(--text-base);color:#ffffffb3}.christmas-source-badge{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:#64c8ff26;border:1px solid rgba(100,200,255,.3);border-radius:var(--radius-full);color:#c8f0ffe6;font-size:var(--text-sm)}.badge-sparkle{animation:sparkle 1.5s ease-in-out infinite}@keyframes sparkle{0%,to{opacity:1;transform:scale(1) rotate(0)}50%{opacity:.7;transform:scale(.9) rotate(10deg)}}.christmas-phase-indicator{display:flex;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-4) var(--space-6);background:#0000004d}.christmas-phase-step{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#fff6;transition:all var(--transition-base)}.christmas-phase-step.active{background:#64c8ff33;border-color:#64c8ff80;color:#fff;box-shadow:0 0 15px #64c8ff4d}.christmas-phase-step.complete{background:#4ade8026;border-color:#4ade8066;color:var(--color-success-300)}.christmas-step-number{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:#ffffff1a;border-radius:50%;font-size:var(--text-sm);font-weight:var(--font-bold)}.christmas-phase-step.active .christmas-step-number{background:#64c8ff66}.christmas-phase-step.complete .christmas-step-number{background:#4ade804d}.christmas-step-label{font-size:var(--text-sm)}.christmas-phase-connector{width:60px;height:2px;background:#ffffff1a;position:relative;border-radius:1px}.christmas-connector-line{position:absolute;top:0;right:0;bottom:0;left:0;background:#64c8ff80;transform-origin:left;transform:scaleX(0);transition:transform .3s ease-out;border-radius:1px}.christmas-connector-line.filled{transform:scaleX(1)}.christmas-cards-area{flex:1;padding:var(--space-6);display:flex;flex-direction:column;align-items:center;gap:var(--space-5);overflow-y:auto}.christmas-hint{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);background:#64c8ff1a;border:1px solid rgba(100,200,255,.2);border-radius:var(--radius-lg);color:#c8f0ffe6}.christmas-hint-icon{font-size:var(--text-lg)}.christmas-hint-text{font-size:var(--text-sm)}.christmas-cards-grid{display:flex;gap:var(--space-6);justify-content:center;flex-wrap:wrap}.christmas-cards-grid.cards-2{gap:var(--space-8)}.christmas-cards-grid.cards-3{gap:var(--space-5)}.christmas-card-wrapper{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);animation:cardReveal .5s ease-out backwards;animation-delay:calc(var(--card-index) * .15s)}@keyframes cardReveal{0%{opacity:0;transform:translateY(20px) rotateY(-10deg)}to{opacity:1;transform:translateY(0) rotateY(0)}}.christmas-card-wrapper .card{transition:transform .2s ease-out,box-shadow .2s ease-out}.christmas-card-wrapper:hover .card{transform:translateY(-8px);box-shadow:0 15px 30px #0006,0 0 20px #64c8ff4d}.christmas-select-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:linear-gradient(135deg,#64c8ff4d,#3c8cc84d);border:1px solid rgba(100,200,255,.4);border-radius:var(--radius-md);color:#fff;font-size:var(--text-sm);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-base)}.christmas-select-btn:hover{background:linear-gradient(135deg,#64c8ff80,#3c8cc880);border-color:#64c8ff99;box-shadow:0 0 15px #64c8ff4d;transform:translateY(-2px)}.christmas-select-btn .btn-icon{font-size:var(--text-base)}.christmas-select-btn.give-btn{background:linear-gradient(135deg,#ffb4644d,#c88c3c4d);border-color:#ffb46466}.christmas-select-btn.give-btn:hover{background:linear-gradient(135deg,#ffb46480,#c88c3c80);border-color:#ffb46499;box-shadow:0 0 15px #ffb4644d}.christmas-player-grid{display:flex;gap:var(--space-4);flex-wrap:wrap;justify-content:center}.christmas-player-btn{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-6);background:#ffb4641a;border:2px solid rgba(255,180,100,.3);border-radius:var(--radius-lg);color:#fff;cursor:pointer;transition:all var(--transition-base);min-width:140px}.christmas-player-btn:hover{background:#ffb46433;border-color:#ffb46480;box-shadow:0 0 20px #ffb46433;transform:translateY(-4px)}.christmas-player-icon{font-size:2rem}.christmas-player-name{font-weight:var(--font-semibold)}.christmas-footer{padding:var(--space-4) var(--space-6);border-top:1px solid rgba(100,200,255,.1);display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.christmas-footer-decoration{display:flex;align-items:center;gap:var(--space-3);color:#64c8ff80}.christmas-decoration-star{animation:twinkling 2s ease-in-out infinite}.christmas-decoration-star:nth-child(1){animation-delay:0s}.christmas-decoration-star:nth-child(3){animation-delay:1s}@keyframes twinkling{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.2)}}.christmas-decoration-line{width:100px;height:1px;background:linear-gradient(90deg,transparent,rgba(100,200,255,.4),transparent)}.christmas-footer-text{margin:0;font-size:var(--text-sm);color:#ffffff80;text-align:center}.christmas-decline-btn{padding:var(--space-2) var(--space-4);background:#ffffff0d;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-md);color:#fff9;font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-base)}.christmas-decline-btn:hover{background:#ffffff1a;border-color:#ffffff4d;color:#fff}.shoppercat-modal .christmas-icon-container.shoppercat-icon{animation:shopperBounce .5s ease infinite}@keyframes shopperBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.shoppercat-btn{background:linear-gradient(135deg,#ff6b6b,#ff8f00)!important}.shoppercat-btn:hover{background:linear-gradient(135deg,#ff8f00,#ff6b6b)!important}.christmas-card-wrapper.selected{transform:scale(1.05)}.christmas-card-wrapper.selected .christmas-selected-badge{display:flex;position:absolute;bottom:var(--space-2);left:50%;transform:translate(-50%);background:linear-gradient(135deg,#4ade80,#22c55e);color:#fff;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:600;animation:badgePop .3s ease}.christmas-card-wrapper.discarding{opacity:.5;transform:scale(.95)}.christmas-card-wrapper.discarding .christmas-discarding-badge{display:flex;position:absolute;bottom:var(--space-2);left:50%;transform:translate(-50%);background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:600;animation:badgePop .3s ease}@keyframes badgePop{0%{transform:translate(-50%) scale(0)}50%{transform:translate(-50%) scale(1.1)}to{transform:translate(-50%) scale(1)}}.gift-inspector-modal .christmas-icon-container.inspector-icon{animation:inspectorPulse 2s ease infinite}@keyframes inspectorPulse{0%,to{box-shadow:0 0 20px #64c8ff66}50%{box-shadow:0 0 30px #64c8ffb3}}.christmas-section-label{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);font-size:var(--text-sm);color:#ffffffb3}.christmas-section-label .section-icon{font-size:var(--text-base)}.christmas-ordered-section,.christmas-unordered-section{margin-bottom:var(--space-4)}.christmas-ordered-section .christmas-cards-grid{border:2px dashed rgba(100,200,255,.3);border-radius:var(--radius-lg);padding:var(--space-3);background:#64c8ff0d}.christmas-card-wrapper.ordered{position:relative}.christmas-order-badge{position:absolute;top:-8px;left:-8px;width:28px;height:28px;background:linear-gradient(135deg,#60a5fa,#3b82f6);border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--text-sm);color:#fff;z-index:10;box-shadow:0 2px 8px #0000004d;animation:orderBadgePop .3s ease}@keyframes orderBadgePop{0%{transform:scale(0) rotate(-180deg)}50%{transform:scale(1.2) rotate(10deg)}to{transform:scale(1) rotate(0)}}.remove-btn{background:linear-gradient(135deg,#f87171,#ef4444)!important}.remove-btn:hover{background:linear-gradient(135deg,#ef4444,#dc2626)!important}.christmas-footer-actions{display:flex;gap:var(--space-3);justify-content:center;margin-top:var(--space-2)}.christmas-reset-btn{padding:var(--space-2) var(--space-4);background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-md);color:#ffffffb3;font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-base)}.christmas-reset-btn:hover{background:#ffffff26;color:#fff}.christmas-phase-indicator.single-phase{justify-content:center}.christmas-phase-indicator.single-phase .christmas-phase-step{padding:var(--space-2) var(--space-4)}.christmas-deck-preview{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-4);background:#0003;border-radius:var(--radius-lg);border:1px solid rgba(100,200,255,.2)}.christmas-deck-label{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:#ffffffb3;text-transform:uppercase;letter-spacing:.05em}.deck-icon{font-size:var(--text-base)}.christmas-position-badge{position:absolute;top:-8px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#60a5fa,#3b82f6);color:#fff;padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;z-index:10;box-shadow:0 2px 8px #0000004d}.christmas-deck-arrow{font-size:var(--text-sm);color:#fff6}.christmas-choice-buttons{display:flex;gap:var(--space-3);margin-top:var(--space-4);flex-wrap:wrap;justify-content:center}.christmas-choice-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border:2px solid rgba(100,200,255,.3);border-radius:var(--radius-lg);background:#64c8ff1a;color:#fff;font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-base);min-width:180px;justify-content:center}.christmas-choice-btn:hover{background:#64c8ff33;border-color:#64c8ff80;transform:translateY(-2px);box-shadow:0 4px 15px #64c8ff4d}.christmas-choice-btn.keep{border-color:#4ade8066;background:#4ade801a}.christmas-choice-btn.keep:hover{background:#4ade8033;border-color:#4ade8099;box-shadow:0 4px 15px #4ade804d}.christmas-choice-btn.swap{border-color:#fbbf2466;background:#fbbf241a}.christmas-choice-btn.swap:hover{background:#fbbf2433;border-color:#fbbf2499;box-shadow:0 4px 15px #fbbf244d}.choice-icon{font-size:var(--text-lg)}.choice-text{flex:1;text-align:left}@media (max-width: 600px){.christmas-modal{max-width:100%;margin:var(--space-2)}.christmas-header{flex-direction:column;text-align:center;gap:var(--space-3)}.christmas-cards-grid{flex-direction:column}.christmas-phase-indicator{flex-wrap:wrap}}.nog-glow{background:radial-gradient(ellipse at center,rgba(251,191,36,.15) 0%,transparent 60%)}.nog-icon{background:linear-gradient(135deg,#fbbf244d,#eab30833);border-color:#fbbf2466}.nog-wild-modal .christmas-phase-indicator{display:flex;align-items:center;justify-content:center;gap:var(--space-4);padding:var(--space-4);background:#fbbf241a;border:1px solid rgba(251,191,36,.2);border-radius:var(--radius-lg);margin-bottom:var(--space-4)}.nog-wild-counter{display:flex;flex-direction:column;align-items:center;gap:var(--space-1)}.nog-counter-icon{font-size:var(--text-xl)}.nog-counter-value{font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--color-warning-300);text-shadow:0 0 10px rgba(251,191,36,.5)}.nog-counter-label{font-size:var(--text-xs);color:#fff9;text-transform:uppercase;letter-spacing:.05em}.nog-wild-arrow{font-size:var(--text-xl);color:#fff6}.nog-wild-bonus{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);background:linear-gradient(135deg,#fbbf2433,#eab3081a);border:1px solid rgba(251,191,36,.4);border-radius:var(--radius-md);animation:nogBonusPulse 2s ease-in-out infinite}@keyframes nogBonusPulse{0%,to{box-shadow:0 0 10px #fbbf244d}50%{box-shadow:0 0 20px #fbbf2480}}.nog-bonus-icon{font-size:var(--text-lg)}.nog-bonus-text{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-warning-300)}.nog-cards-area{max-height:400px;overflow-y:auto}.nog-empty-hand{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-8);color:#fff9}.nog-empty-icon{font-size:48px;opacity:.5}.nog-discard-badge{position:absolute;bottom:-8px;left:50%;transform:translate(-50%);padding:var(--space-1) var(--space-2);background:linear-gradient(135deg,#ef4444e6,#b91c1ce6);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--font-semibold);color:#fff;white-space:nowrap;z-index:10}.nog-footer{display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.nog-confirm-btn{display:flex;align-items:center;justify-content:center;gap:var(--space-2);width:100%;max-width:400px;padding:var(--space-4) var(--space-6);background:linear-gradient(135deg,#fbbf24cc,#eab308e6);border:2px solid rgba(251,191,36,.6);border-radius:var(--radius-lg);font-size:var(--text-base);font-weight:var(--font-bold);color:#1a1a1a;cursor:pointer;transition:all var(--transition-base)}.nog-confirm-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #fbbf2466;background:linear-gradient(135deg,#fbbf24e6,#eab308)}.nog-confirm-btn:disabled{opacity:.6;cursor:not-allowed}.nog-confirm-btn.confirming{background:linear-gradient(135deg,#64c8ff4d,#3b82f64d);border-color:#64c8ff80;color:#fff}.nog-btn-icon{font-size:var(--text-lg)}.nog-btn-spinner{animation:spin 1s linear infinite}.gift-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal, 1000);display:flex;align-items:center;justify-content:center;padding:20px;overflow:hidden}.gift-modal-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse at 50% 0%,rgba(40,100,180,.4) 0%,transparent 50%),radial-gradient(ellipse at 80% 80%,rgba(100,50,150,.3) 0%,transparent 40%),radial-gradient(ellipse at 20% 60%,rgba(50,100,150,.3) 0%,transparent 40%),linear-gradient(180deg,#0a1628,#1a0a2e,#0d1a2d);animation:bgPulse 8s ease-in-out infinite}@keyframes bgPulse{0%,to{filter:brightness(1) saturate(1)}50%{filter:brightness(1.1) saturate(1.2)}}.northern-lights{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;opacity:.6}.light-wave{position:absolute;width:200%;height:200px;left:-50%;background:linear-gradient(90deg,transparent 0%,rgba(100,255,200,.1) 20%,rgba(100,200,255,.15) 40%,rgba(200,100,255,.1) 60%,rgba(100,255,150,.1) 80%,transparent 100%);filter:blur(30px);animation:auroraWave 12s ease-in-out infinite}.light-wave-1{top:5%;animation-delay:0s}.light-wave-2{top:15%;animation-delay:-4s;opacity:.7}.light-wave-3{top:25%;animation-delay:-8s;opacity:.5}@keyframes auroraWave{0%,to{transform:translate(-20%) scaleY(1)}50%{transform:translate(20%) scaleY(1.5)}}.sparkle-field{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.floating-sparkle{position:absolute;color:#fffc;animation:sparkleFloat 3s ease-in-out infinite;text-shadow:0 0 10px currentColor,0 0 20px currentColor,0 0 30px rgba(200,220,255,.5)}@keyframes sparkleFloat{0%,to{transform:translateY(0) rotate(0) scale(1);opacity:.3}50%{transform:translateY(-30px) rotate(180deg) scale(1.3);opacity:1}}.snow-container{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.snow{position:absolute;width:100%;height:100%;background-image:radial-gradient(3px 3px at 100px 50px,white,transparent),radial-gradient(4px 4px at 200px 150px,rgba(255,255,255,.8),transparent),radial-gradient(2px 2px at 300px 250px,white,transparent),radial-gradient(3px 3px at 400px 350px,rgba(255,255,255,.9),transparent),radial-gradient(2px 2px at 500px 100px,white,transparent),radial-gradient(4px 4px at 50px 200px,rgba(255,255,255,.7),transparent),radial-gradient(3px 3px at 150px 300px,white,transparent),radial-gradient(2px 2px at 250px 400px,rgba(255,255,255,.8),transparent),radial-gradient(3px 3px at 350px 50px,white,transparent),radial-gradient(4px 4px at 450px 250px,rgba(255,255,255,.6),transparent);background-size:600px 500px;animation:snowfall linear infinite}.snow-1{animation-duration:8s}.snow-2{animation-duration:12s;animation-delay:-4s;opacity:.7}.snow-3{animation-duration:16s;animation-delay:-8s;opacity:.4}@keyframes snowfall{0%{transform:translateY(-100%)}to{transform:translateY(100%)}}.lights-garland{position:absolute;top:0;left:5%;right:5%;height:80px;z-index:5}.garland-wire{position:absolute;width:100%;height:80px;top:0}.garland-bulb{position:absolute;width:14px;height:20px;border-radius:50%/40% 40% 60% 60%;animation:bulbGlow 2s ease-in-out infinite;box-shadow:0 0 20px currentColor,0 0 40px currentColor}.garland-bulb:before{content:"";position:absolute;top:-5px;left:50%;transform:translate(-50%);width:6px;height:6px;background:#444;border-radius:2px}.bulb-red{background:radial-gradient(circle at 30% 30%,#ff6b6b,#c00);color:#f44}.bulb-gold{background:radial-gradient(circle at 30% 30%,gold,#c90);color:#fc0}.bulb-green{background:radial-gradient(circle at 30% 30%,#6f6,#0c0);color:#4f4}.bulb-blue{background:radial-gradient(circle at 30% 30%,#66b3ff,#06c);color:#48f}@keyframes bulbGlow{0%,to{opacity:1;filter:brightness(1.2)}50%{opacity:.5;filter:brightness(.8)}}.gift-modal{position:relative;z-index:10;width:100%;max-width:700px;background:linear-gradient(135deg,#142850f2,#28143cf2,#142850f2);border-radius:24px;padding:32px;border:2px solid rgba(100,180,255,.3);box-shadow:0 0 0 1px #ffffff1a,0 25px 80px #0009,0 0 100px #6496ff33,inset 0 1px #ffffff1a;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);animation:modalEntry .6s cubic-bezier(.34,1.56,.64,1)}.modal-glow{position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:26px;background:linear-gradient(45deg,#ff646480,#64ff6480,#6464ff80,#ffff6480);background-size:300% 300%;animation:glowRotate 4s linear infinite;filter:blur(15px);opacity:.4;z-index:-1}@keyframes modalEntry{0%{opacity:0;transform:scale(.8) translateY(40px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes glowRotate{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.gift-modal-header{text-align:center;margin-bottom:24px}.header-decoration{display:flex;justify-content:center;gap:20px;margin-bottom:12px}.deco-star,.deco-flake{font-size:24px;animation:decorationBounce 2s ease-in-out infinite}.deco-flake{animation-delay:-.5s}.deco-star:last-child{animation-delay:-1s}@keyframes decorationBounce{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-8px) rotate(10deg)}}.gift-modal-title{font-size:32px;font-weight:800;color:#fff;margin:0 0 8px;text-shadow:0 0 20px rgba(255,200,100,.5),0 2px 10px rgba(0,0,0,.5);animation:titleShine 3s ease-in-out infinite}@keyframes titleShine{0%,to{filter:brightness(1)}50%{filter:brightness(1.2)}}.gift-modal-subtitle{font-size:16px;color:#b4c8ffe6;margin:0 0 16px}.source-card-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 20px;background:#ffffff1a;border-radius:100px;border:1px solid rgba(255,255,255,.2);position:relative;overflow:hidden}.badge-glow{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);animation:badgeShine 2s ease-in-out infinite}@keyframes badgeShine{0%{transform:translate(-100%)}to{transform:translate(100%)}}.badge-text{position:relative;font-weight:600;color:#ffdc96}.cards-stage{position:relative;padding:40px 20px}.magic-circle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:400px;height:400px;pointer-events:none}.circle-ring{position:absolute;top:0;right:0;bottom:0;left:0;border:2px solid rgba(100,200,255,.2);border-radius:50%;animation:ringRotate 20s linear infinite}.ring-1{animation-direction:normal}.ring-2{top:30px;right:30px;bottom:30px;left:30px;animation-direction:reverse;animation-duration:15s;border-style:dashed}.ring-3{top:60px;right:60px;bottom:60px;left:60px;animation-duration:25s;border-width:1px}@keyframes ringRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.presents-display{display:flex;justify-content:center;gap:60px;position:relative;z-index:2}.present-unit{position:relative;display:flex;flex-direction:column;align-items:center;animation:unitEntry .8s cubic-bezier(.34,1.56,.64,1) backwards;animation-delay:calc(var(--unit-index, 0) * .15s + .2s)}@keyframes unitEntry{0%{opacity:0;transform:translateY(60px) scale(.5)}to{opacity:1;transform:translateY(0) scale(1)}}.present-box{position:absolute;top:0;left:50%;transform:translate(-50%);width:140px;height:100px;z-index:3;transition:all .8s cubic-bezier(.34,1.56,.64,1)}.present-unit.revealed .present-box{opacity:0;transform:translate(-50%) translateY(-40px) scale(.5) rotateX(30deg)}.box-body{position:absolute;bottom:0;width:100%;height:70px;background:linear-gradient(135deg,#e74c3c,#c0392b);border-radius:8px;overflow:hidden;box-shadow:0 10px 30px #0006,inset 0 2px #fff3}.box-lid{position:absolute;top:0;width:110%;left:-5%;height:35px;background:linear-gradient(180deg,#e74c3c,#c0392b);border-radius:8px 8px 0 0;transform-origin:top center;box-shadow:0 5px 15px #0000004d;z-index:2}.lid-top{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#e74c3c,#c0392b);border-radius:8px 8px 0 0}.ribbon-v{position:absolute;left:50%;top:0;bottom:0;width:24px;transform:translate(-50%);background:linear-gradient(90deg,#f1c40f,#f39c12,#f1c40f)}.ribbon-h{position:absolute;top:50%;left:0;right:0;height:24px;transform:translateY(-50%);background:linear-gradient(180deg,#f1c40f,#f39c12,#f1c40f)}.bow{position:absolute;top:-20px;left:50%;transform:translate(-50%);z-index:4}.bow-knot{width:20px;height:20px;background:radial-gradient(circle at 30% 30%,#f1c40f,#d4a00a);border-radius:50%;position:relative;z-index:2;box-shadow:0 3px 8px #0000004d}.bow-ribbon-left,.bow-ribbon-right{position:absolute;width:30px;height:25px;background:linear-gradient(135deg,#f1c40f,#d4a00a);border-radius:50%;top:5px}.bow-ribbon-left{right:15px;transform:rotate(-25deg)}.bow-ribbon-right{left:15px;transform:rotate(25deg)}.burst-effect{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);opacity:0;transition:opacity .3s}.present-unit.revealed .burst-effect{opacity:1;animation:burstFade .8s ease-out forwards}.burst-ray{position:absolute;width:4px;height:40px;background:linear-gradient(to top,#ffd70000,#ffd700cc);transform-origin:bottom center;transform:rotate(calc(var(--ray) * 45deg));animation:rayBurst .6s ease-out forwards}@keyframes rayBurst{0%{height:0;opacity:1}to{height:80px;opacity:0}}@keyframes burstFade{to{opacity:0}}.card-holder{position:relative;opacity:0;transform:translateY(20px) scale(.9);transition:all .6s cubic-bezier(.34,1.56,.64,1);transition-delay:.3s}.present-unit.revealed .card-holder{opacity:1;transform:translateY(0) scale(1)}.card-glow{position:absolute;top:-20px;right:-20px;bottom:-20px;left:-20px;background:radial-gradient(ellipse,rgba(100,200,255,.4),transparent 70%);filter:blur(20px);animation:cardGlowPulse 2s ease-in-out infinite}@keyframes cardGlowPulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}.card-shimmer{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(105deg,transparent 40%,rgba(255,255,255,.3) 45%,rgba(255,255,255,.5) 50%,rgba(255,255,255,.3) 55%,transparent 60%);background-size:200% 100%;animation:shimmerMove 3s ease-in-out infinite;pointer-events:none;border-radius:8px}@keyframes shimmerMove{0%{background-position:200% 0}to{background-position:-200% 0}}.position-badge{margin-top:16px;padding:12px 24px;background:linear-gradient(135deg,#ffffff26,#ffffff0d);border:2px solid rgba(255,255,255,.2);border-radius:16px;text-align:center;cursor:pointer;position:relative;overflow:hidden;transition:all .3s ease}.position-badge:hover{transform:translateY(-4px);border-color:#fff6;box-shadow:0 10px 30px #0000004d}.position-badge.first{background:linear-gradient(135deg,#ffd7004d,#ffb4001a);border-color:#ffd70066}.position-badge.second{background:linear-gradient(135deg,#c0c0c04d,#9696961a);border-color:#c0c0c066}.badge-shine{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);transform:translate(-100%);transition:transform .5s}.position-badge:hover .badge-shine{transform:translate(100%)}.badge-number{display:block;font-size:28px;font-weight:800;color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.3)}.position-badge.first .badge-number{color:gold}.badge-label{display:block;font-size:12px;font-weight:600;color:#ffffffb3;text-transform:uppercase;letter-spacing:1px;margin-top:4px}.swap-indicator{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:1;opacity:.3;transition:all .3s}.swap-indicator.active{opacity:1}.swap-arrows{width:80px;height:24px}.swap-arrows path{fill:none;stroke:#64c8ff99;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;transition:all .3s}.swap-indicator.active .arrow-left{animation:arrowPulseLeft 1s ease-in-out infinite}.swap-indicator.active .arrow-right{animation:arrowPulseRight 1s ease-in-out infinite}@keyframes arrowPulseLeft{0%,to{transform:translate(0);opacity:1}50%{transform:translate(-5px);opacity:.5}}@keyframes arrowPulseRight{0%,to{transform:translate(0);opacity:1}50%{transform:translate(5px);opacity:.5}}.gift-modal-actions{display:flex;justify-content:center;gap:20px;margin-top:24px;flex-wrap:wrap}.swap-btn{position:relative;display:flex;align-items:center;gap:10px;padding:14px 28px;background:linear-gradient(135deg,#6464ff4d,#9664ff33);border:2px solid rgba(150,150,255,.4);border-radius:14px;color:#fff;font-size:16px;font-weight:600;cursor:pointer;overflow:hidden;transition:all .3s ease}.swap-btn:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 10px 30px #6464ff4d;border-color:#9696ff99}.swap-btn:active:not(:disabled){transform:translateY(-1px)}.swap-btn.swapped{background:linear-gradient(135deg,#64ff964d,#32c86433);border-color:#64ff9680}.swap-btn:disabled{opacity:.5;cursor:not-allowed}.btn-icon{font-size:20px;transition:transform .5s cubic-bezier(.34,1.56,.64,1)}.swap-btn.swapped .btn-icon{transform:rotate(180deg)}.btn-particles{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:0}.swap-btn.swapped .btn-particles{opacity:1}.btn-particle{position:absolute;font-size:10px;color:#4ade80;animation:particleBurst .6s ease-out forwards;animation-delay:calc(var(--p) * .05s)}.btn-particle:nth-child(1){top:20%;left:10%}.btn-particle:nth-child(2){top:50%;left:5%}.btn-particle:nth-child(3){top:80%;left:15%}.btn-particle:nth-child(4){top:20%;right:10%}.btn-particle:nth-child(5){top:50%;right:5%}.btn-particle:nth-child(6){top:80%;right:15%}@keyframes particleBurst{0%{transform:scale(0) translate(0);opacity:1}to{transform:scale(1.5) translate(var(--tx, -20px),var(--ty, -30px));opacity:0}}.confirm-btn{position:relative;padding:16px 40px;background:linear-gradient(135deg,#f59e0b,#d97706);border:none;border-radius:14px;color:#fff;font-size:18px;font-weight:700;cursor:pointer;overflow:hidden;transition:all .3s ease;box-shadow:0 4px 15px #f59e0b66,inset 0 1px #fff3}.confirm-btn:hover:not(:disabled){transform:translateY(-4px);box-shadow:0 12px 35px #f59e0b80,inset 0 1px #ffffff4d}.confirm-btn:active:not(:disabled){transform:translateY(-2px)}.confirm-btn:disabled{cursor:not-allowed}.confirm-btn.submitting{background:linear-gradient(135deg,#6b7280,#4b5563)}.btn-glow{position:absolute;top:-50%;right:-50%;bottom:-50%;left:-50%;background:conic-gradient(from 0deg,transparent,rgba(255,255,255,.3),transparent);animation:glowSpin 3s linear infinite}@keyframes glowSpin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.btn-content{position:relative;display:flex;align-items:center;gap:12px;z-index:1}.btn-emoji{font-size:20px;animation:emojiPulse 1.5s ease-in-out infinite}.btn-emoji:last-child{animation-delay:-.75s}@keyframes emojiPulse{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.btn-spinner{position:absolute;top:4px;right:4px;bottom:4px;left:4px;border:3px solid transparent;border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite}.gift-modal-footer{text-align:center;margin-top:24px;padding-top:16px;border-top:1px solid rgba(255,255,255,.1)}.footer-ornament{font-size:18px;color:#b4c8ff99;letter-spacing:8px;animation:ornamentFloat 4s ease-in-out infinite}@keyframes ornamentFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@media (max-width: 600px){.gift-modal{padding:20px}.presents-display{flex-direction:column;gap:40px}.gift-modal-title{font-size:24px}.magic-circle{width:280px;height:280px}.gift-modal-actions{flex-direction:column}.swap-btn,.confirm-btn{width:100%;justify-content:center}}.nog-wild-modal{border-color:#f4c430;box-shadow:0 0 40px #f4c4304d,inset 0 0 100px #f4c4301a}.nog-wild-modal .christmas-header{border-bottom-color:#f4c4304d}.nog-wild-modal .christmas-title{color:#f4c430;text-shadow:0 0 10px rgba(244,196,48,.5)}.nog-wild-modal .christmas-icon-ring{border-color:#f4c430;box-shadow:0 0 15px #f4c43080}.nog-wild-modal .christmas-icon-container{border-radius:50%;background:transparent}.nog-overlay{pointer-events:none;background:transparent}.nog-overlay .christmas-snow,.nog-overlay .christmas-glow,.nog-overlay .christmas-lights{pointer-events:none}.nog-overlay .christmas-modal.overlay-modal{pointer-events:auto}.nog-overlay .christmas-modal.overlay-modal{position:absolute;top:10px;left:50%;transform:translate(-50%);max-width:450px;max-height:45vh;background:linear-gradient(135deg,#14192dfa,#1e2337fa);z-index:var(--z-modal-backdrop)}.nog-hand-hint{display:flex;align-items:center;justify-content:center;gap:10px;padding:10px;background:#f4c4301a;border-radius:10px;border:1px dashed rgba(244,196,48,.3);margin:10px 15px}.nog-hand-hint-icon{font-size:2rem;animation:bounce-down 1s ease-in-out infinite}.nog-hand-hint-text{color:#f4c430;font-weight:600;font-size:1.1rem}@keyframes bounce-down{0%,to{transform:translateY(0)}50%{transform:translateY(8px)}}.nog-mug-container{display:flex;flex-direction:column;align-items:center;justify-content:center;margin:10px 0;position:relative;padding:10px}.nog-mug-wrapper{position:relative;display:flex;align-items:center;justify-content:center}.nog-mug{width:120px;height:160px;border:8px solid rgba(255,255,255,.4);border-top:none;border-radius:0 0 20px 20px;position:relative;background:#ffffff1a;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:0 10px 20px #0000004d;z-index:2}.nog-mug:after{content:"";position:absolute;top:30px;right:-45px;width:35px;height:80px;border:8px solid rgba(255,255,255,.4);border-left:none;border-radius:0 20px 20px 0;z-index:1}.nog-liquid{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(to bottom,#fdf5e6,#f4c430);transition:height .5s cubic-bezier(.34,1.56,.64,1);box-shadow:inset 0 0 20px #0000001a;min-height:5px}.nog-liquid:before{content:"";position:absolute;top:-8px;left:0;right:0;height:12px;background:#fff;border-radius:50%;opacity:.9;transform:scaleX(1.1)}.nog-liquid:after{content:"• . • .";position:absolute;top:-10px;left:0;right:0;text-align:center;color:#8b4513;font-size:10px;opacity:.6;letter-spacing:4px;font-weight:700}.nog-bubbles{position:absolute;bottom:0;left:0;right:0;top:0;overflow:hidden;pointer-events:none}.nog-bubble{position:absolute;background:#fff9;border-radius:50%;animation:rise 3s infinite ease-in}.nog-bubble:nth-child(1){left:20%;width:6px;height:6px;animation-delay:0s}.nog-bubble:nth-child(2){left:50%;width:4px;height:4px;animation-delay:1s}.nog-bubble:nth-child(3){left:80%;width:5px;height:5px;animation-delay:2s}@keyframes rise{0%{bottom:-10px;transform:translate(0);opacity:0}50%{opacity:1}to{bottom:100%;transform:translate(-10px);opacity:0}}.nog-status-text{margin-top:15px;font-size:1.2rem;color:#f4c430;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.5);text-align:center}.nog-status-empty{color:#a0aec0;font-size:1rem;font-style:italic}.nog-extra-turn-badge{position:absolute;right:-100px;top:20px;transform:rotate(15deg);animation:float-badge 3s ease-in-out infinite;z-index:10}@keyframes float-badge{0%,to{transform:rotate(15deg) translateY(0)}50%{transform:rotate(15deg) translateY(-10px)}}.nog-ticket-stub{background:linear-gradient(135deg,gold,orange);padding:10px 15px;border-radius:4px;border:2px dashed #B8860B;box-shadow:0 5px 15px #0000004d;display:flex;flex-direction:column;align-items:center;text-align:center;width:100px}.nog-ticket-icon{font-size:24px;margin-bottom:5px}.nog-ticket-text{font-weight:900;color:#5d4037;font-size:.9rem;line-height:1.1;text-transform:uppercase}.nog-ticket-sub{font-size:.6rem;color:#5d4037;opacity:.8;margin-top:2px;letter-spacing:1px}.nog-footer{padding-bottom:10px}.nog-button{background:linear-gradient(135deg,#f4c430,#d4ac0d);border:1px solid #B7950B;color:#3e2723;font-weight:800;text-transform:uppercase;letter-spacing:1px;padding:12px 30px;font-size:1.1rem;border-radius:50px}.nog-button:hover{background:linear-gradient(135deg,#f7dc6f,#f1c40f);transform:translateY(-2px);box-shadow:0 0 20px #f4c43099}.nog-button:active{transform:translateY(1px)}.nog-wild-modal .unified-card.selected{box-shadow:0 0 0 4px #f4c430,0 0 20px #f4c43099;transform:translateY(-10px) scale(1.05)}.bot-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:grid;place-items:center;background:var(--bg-overlay-dark);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn var(--transition-base);padding:var(--space-4)}.bot-modal{background:var(--bg-modal-dark);border-radius:var(--radius-xl);padding:var(--space-6);max-width:600px;width:90%;max-height:85vh;overflow-y:auto;box-shadow:var(--shadow-2xl),0 0 0 1px var(--border-dark);border:2px solid var(--color-warning-500);animation:slideUp var(--transition-base)}.bot-modal-header{text-align:center;margin-bottom:var(--space-5)}.bot-modal-header h2{color:var(--color-warning-500);font-size:var(--text-2xl);margin:0 0 var(--space-2) 0}.bot-modal-subtitle{color:var(--text-secondary);font-size:var(--text-base);margin:0}.bot-modal-content{display:flex;flex-direction:column;gap:var(--space-5)}.bot-effects-section{background:#ffffff0d;border-radius:var(--radius-lg);padding:var(--space-4)}.bot-section-title{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-lg);margin:0 0 var(--space-1) 0}.bot-section-title.mandatory{color:var(--color-error-500)}.bot-section-title.optional{color:var(--color-indigo-500)}.bot-section-title.resolved{color:var(--color-success-500)}.bot-section-hint{color:var(--text-muted);font-size:var(--text-sm);margin:0 0 var(--space-3) 0}.bot-effects-list{display:flex;flex-direction:column;gap:var(--space-3)}.bot-effect-card{background:#ffffff14;border-radius:var(--radius-md);padding:var(--space-4);cursor:pointer;transition:all var(--transition-base);border:2px solid transparent}.bot-effect-card.mandatory{border-color:#ef44444d}.bot-effect-card.optional{border-color:#6366f14d}.bot-effect-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.bot-effect-card.mandatory:hover{border-color:var(--color-error-500);background:#ef444426}.bot-effect-card.optional:hover{border-color:var(--color-indigo-500);background:#6366f126}.bot-effect-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2)}.bot-effect-name{color:var(--text-light);font-weight:var(--font-semibold);font-size:var(--text-md)}.bot-effect-badge{font-size:var(--text-xs);padding:3px 8px;border-radius:var(--radius-sm);font-weight:var(--font-semibold);text-transform:uppercase}.bot-effect-badge.mandatory{background:#ef44444d;color:var(--color-error-500)}.bot-effect-badge.optional{background:#6366f14d;color:var(--color-indigo-400)}.bot-effect-description{color:var(--text-secondary);font-size:var(--text-sm);margin:0 0 var(--space-3) 0;line-height:1.4}.bot-effect-activate{width:100%;padding:var(--space-3);border:none;border-radius:var(--radius-md);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-base);background:linear-gradient(135deg,var(--color-warning-500),var(--color-warning-600));color:var(--text-light)}.bot-effect-activate:hover{transform:scale(1.02);box-shadow:var(--shadow-glow-warning)}.bot-resolved-list{display:flex;flex-wrap:wrap;gap:var(--space-2)}.bot-resolved-item{background:#22c55e33;color:var(--color-success-500);padding:6px 12px;border-radius:var(--radius-md);font-size:var(--text-sm);border:1px solid rgba(34,197,94,.3)}.bot-modal-footer{margin-top:var(--space-5);display:flex;justify-content:center}.bot-skip-button{padding:var(--space-4) var(--space-7);border-radius:var(--radius-md);font-size:var(--text-base);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-base);border:none}.bot-skip-button.enabled{background:linear-gradient(135deg,var(--color-success-500),var(--color-success-600));color:var(--text-light)}.bot-skip-button.enabled:hover{transform:scale(1.05);box-shadow:var(--shadow-glow-success)}.bot-skip-button.disabled{background:var(--color-neutral-700);color:var(--text-muted);cursor:not-allowed}@media (max-width: 768px){.bot-modal{padding:var(--space-4);width:100%;height:100%;max-height:100%;border-radius:0;display:flex;flex-direction:column}.bot-modal-content{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}.bot-modal-header{flex-shrink:0}.bot-modal-header h2{font-size:var(--text-xl)}.bot-modal-subtitle{font-size:var(--text-sm)}.bot-effects-section{padding:var(--space-3)}.bot-section-title{font-size:var(--text-base)}.bot-effect-card{padding:var(--space-3)}.bot-card-name{font-size:var(--text-sm)}.bot-card-description{font-size:var(--text-xs)}.bot-modal-footer{flex-shrink:0;padding-top:var(--space-3);padding-bottom:env(safe-area-inset-bottom)}.bot-skip-button{padding:var(--space-3) var(--space-5);min-height:48px;width:100%}}.simtrig-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:grid;place-items:center;background:var(--bg-overlay-dark);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn var(--transition-base);padding:var(--space-4)}.simtrig-modal{background:var(--bg-modal-dark);border-radius:var(--radius-xl);padding:var(--space-6);max-width:650px;width:90%;max-height:85vh;overflow-y:auto;box-shadow:var(--shadow-2xl),0 0 0 1px var(--border-dark);border:2px solid var(--color-primary-500);animation:slideUp var(--transition-base)}.simtrig-modal-header{text-align:center;margin-bottom:var(--space-5)}.simtrig-modal-header h2{color:var(--color-primary-400);font-size:var(--text-2xl);margin:0 0 var(--space-2) 0}.simtrig-modal-subtitle{color:var(--text-secondary);font-size:var(--text-base);margin:0 0 var(--space-2) 0}.simtrig-modal-subtitle strong{color:var(--color-primary-300)}.simtrig-modal-hint{color:var(--text-muted);font-size:var(--text-sm);margin:0;font-style:italic}.simtrig-modal-content{display:flex;flex-direction:column;gap:var(--space-5)}.simtrig-section{background:#ffffff0d;border-radius:var(--radius-lg);padding:var(--space-4)}.simtrig-section.pending{border-left:3px solid var(--color-warning-500)}.simtrig-section.ordered{border-left:3px solid var(--color-success-500)}.simtrig-section-title{font-size:var(--text-lg);margin:0 0 var(--space-3) 0;color:var(--text-primary)}.simtrig-list{display:flex;flex-direction:column;gap:var(--space-3)}.simtrig-list.ordered{gap:var(--space-2)}.simtrig-card{background:#ffffff14;border-radius:var(--radius-md);padding:var(--space-4);cursor:pointer;transition:all var(--transition-base);border:2px solid transparent;position:relative}.simtrig-card.pending{border-color:#f59e0b4d}.simtrig-card.pending:hover{background:#f59e0b26;border-color:var(--color-warning-500);transform:translate(4px)}.simtrig-card.ordered{background:#22c55e1a;border-color:#22c55e66;cursor:default;padding-left:50px}.simtrig-order-badge{position:absolute;left:var(--space-3);top:50%;transform:translateY(-50%);width:28px;height:28px;background:var(--color-success-500);color:var(--text-light);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-weight:var(--font-bold);font-size:var(--text-sm)}.simtrig-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2)}.simtrig-card-name{font-weight:var(--font-semibold);color:var(--text-primary);font-size:var(--text-base)}.simtrig-trigger-type{font-size:var(--text-xs);padding:2px 8px;background:var(--color-magic-purple-light);color:var(--color-primary-300);border-radius:var(--radius-sm);text-transform:uppercase}.simtrig-card-description{color:var(--text-secondary);font-size:var(--text-sm);margin:0 0 var(--space-3) 0;line-height:1.4}.simtrig-select-button{background:linear-gradient(135deg,var(--color-warning-500),var(--color-warning-600));color:var(--text-light);border:none;border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-base)}.simtrig-select-button:hover{background:linear-gradient(135deg,var(--color-warning-400),var(--color-warning-500));transform:translateY(-1px)}.simtrig-modal-footer{margin-top:var(--space-4);text-align:center}.simtrig-ready-text{color:var(--color-success-500)}@media (max-width: 768px){.simtrig-modal{padding:var(--space-4);width:100%;height:100%;max-height:100%;border-radius:0;display:flex;flex-direction:column}.simtrig-modal-content{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}.simtrig-modal-header{flex-shrink:0}.simtrig-modal-header h2{font-size:var(--text-xl)}.simtrig-modal-subtitle{font-size:var(--text-sm)}.simtrig-section{padding:var(--space-3)}.simtrig-section-title{font-size:var(--text-base)}.simtrig-card{padding:var(--space-3)}.simtrig-card.ordered{padding-left:44px}.simtrig-card-name{font-size:var(--text-sm)}.simtrig-card-description{font-size:var(--text-xs)}.simtrig-select-button{min-height:40px;padding:var(--space-2) var(--space-3)}.simtrig-confirm-button{min-height:48px;width:100%;margin-top:var(--space-3);flex-shrink:0}}.simtrig-confirm-button{background:linear-gradient(135deg,var(--color-primary-500),var(--color-primary-600));color:var(--text-light);border:none;border-radius:var(--radius-md);padding:var(--space-3) var(--space-6);font-size:var(--text-base);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-base);width:100%}.simtrig-confirm-button.enabled:hover{background:linear-gradient(135deg,var(--color-primary-400),var(--color-primary-500));transform:translateY(-1px);box-shadow:var(--shadow-glow-primary)}.simtrig-confirm-button.disabled{background:var(--color-neutral-600);cursor:not-allowed;opacity:.6}.reveal-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:2000;animation:revealFadeIn .3s ease-out}@keyframes revealFadeIn{0%{opacity:0}to{opacity:1}}.reveal-modal-content{display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:2rem}.reveal-modal-header{text-align:center}.reveal-modal-player{color:var(--color-text-secondary, #9ca3af);font-size:.9rem;margin-bottom:.25rem}.reveal-modal-reason{color:var(--color-text-primary, #fff);font-size:1.2rem;font-weight:600}.reveal-modal-card-container{position:relative;animation:cardRevealIn .5s ease-out}@keyframes cardRevealIn{0%{transform:scale(.5) rotateY(180deg);opacity:0}50%{transform:scale(1.1) rotateY(0)}to{transform:scale(1) rotateY(0);opacity:1}}.reveal-modal-card{width:200px;height:280px;background:linear-gradient(145deg,#1e1e1e,#2a2a2a);border-radius:12px;border:3px solid var(--color-accent, #9333ea);box-shadow:0 0 30px #9333ea80,0 10px 40px #00000080;display:flex;flex-direction:column;overflow:hidden}.reveal-card-header{padding:.75rem;background:#9333ea33;border-bottom:1px solid rgba(147,51,234,.3)}.reveal-card-name{color:#fff;font-weight:700;font-size:1rem;text-align:center}.reveal-card-type{color:var(--color-text-secondary, #9ca3af);font-size:.75rem;text-align:center;margin-top:.25rem}.reveal-card-body{flex:1;padding:1rem;display:flex;flex-direction:column;gap:.5rem}.reveal-card-description{color:var(--color-text-secondary, #d1d5db);font-size:.8rem;line-height:1.4;text-align:center}.reveal-modal-glow{position:absolute;top:-20px;right:-20px;bottom:-20px;left:-20px;background:radial-gradient(circle,rgba(147,51,234,.3) 0%,transparent 70%);animation:glowPulse 2s ease-in-out infinite;pointer-events:none;z-index:-1}@keyframes glowPulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}.reveal-modal-dismiss{color:var(--color-text-secondary, #9ca3af);font-size:.85rem;animation:pulseText 2s ease-in-out infinite}@keyframes pulseText{0%,to{opacity:.6}50%{opacity:1}}.reveal-animation-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;pointer-events:all;overflow:hidden}.reveal-animation-overlay.reveal-phase-entering{background:#0000;animation:overlayFadeIn .5s ease-out forwards}.reveal-animation-overlay.reveal-phase-showing{background:#000000e6}.reveal-animation-overlay.reveal-phase-exiting{animation:overlayFadeOut .6s ease-in forwards}@keyframes overlayFadeIn{0%{background:#0000}to{background:#000000e6}}@keyframes overlayFadeOut{0%{background:#000000e6}to{background:#0000}}.reveal-particles{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.reveal-particle{position:absolute;border-radius:50%;opacity:0;filter:blur(1px);animation:particleFloat 3s ease-in-out infinite}.reveal-phase-entering .reveal-particle,.reveal-phase-showing .reveal-particle{opacity:.6}.reveal-phase-exiting .reveal-particle{opacity:0;transition:opacity .4s ease-out}@keyframes particleFloat{0%,to{transform:translateY(0) scale(1);opacity:.3}50%{transform:translateY(-30px) scale(1.2);opacity:.7}}.reveal-animation-content{display:flex;flex-direction:column;align-items:center;gap:2.5rem;padding:2rem;z-index:1}.reveal-header{text-align:center;opacity:0;transform:translateY(-20px);z-index:10;position:relative;padding-bottom:1rem}.reveal-phase-entering .reveal-header{animation:headerSlideIn .6s ease-out .3s forwards}.reveal-phase-showing .reveal-header{opacity:1;transform:translateY(0)}.reveal-phase-exiting .reveal-header{animation:headerSlideOut .4s ease-in forwards}@keyframes headerSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes headerSlideOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-20px)}}.reveal-player-name{color:#9ca3af;font-size:.9rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:.25rem}.reveal-reason{color:#fff;font-size:1.3rem;font-weight:600;text-shadow:0 0 20px rgba(255,255,255,.3)}.reveal-card-wrapper{position:relative;width:170px;height:260px;perspective:1000px}.reveal-glow-ring{position:absolute;top:-20px;right:-20px;bottom:-20px;left:-20px;border:3px solid;border-radius:50%;opacity:0;animation:none}.reveal-phase-entering .reveal-glow-ring{animation:glowRingPulse 2s ease-in-out infinite;animation-delay:.5s}.reveal-phase-showing .reveal-glow-ring{animation:glowRingPulse 2s ease-in-out infinite;opacity:.5}.reveal-phase-exiting .reveal-glow-ring{opacity:0;transition:opacity .3s ease-out}@keyframes glowRingPulse{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.6;transform:scale(1.05)}}.reveal-radial-glow{position:absolute;top:-50px;right:-50px;bottom:-50px;left:-50px;border-radius:50%;opacity:0;pointer-events:none}.reveal-phase-entering .reveal-radial-glow{animation:radialGlowIn .8s ease-out forwards}.reveal-phase-showing .reveal-radial-glow{opacity:1;animation:radialGlowPulse 3s ease-in-out infinite}.reveal-phase-exiting .reveal-radial-glow{animation:radialGlowOut .4s ease-in forwards}@keyframes radialGlowIn{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}@keyframes radialGlowOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.2)}}@keyframes radialGlowPulse{0%,to{opacity:.8}50%{opacity:1}}.reveal-sparkles{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.reveal-sparkle{position:absolute;top:50%;left:50%;border-radius:50%;opacity:0;transform:translate(-50%,-50%) rotate(var(--sparkle-angle)) translate(var(--sparkle-distance));box-shadow:0 0 6px currentColor}.reveal-phase-showing .reveal-sparkle{animation:sparkleGlow 1.5s ease-in-out infinite}@keyframes sparkleGlow{0%,to{opacity:.3;transform:translate(-50%,-50%) rotate(var(--sparkle-angle)) translate(var(--sparkle-distance)) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) rotate(var(--sparkle-angle)) translate(var(--sparkle-distance)) scale(1.5)}}.reveal-card-flipper{position:relative;width:100%;height:100%;transform-style:preserve-3d;transform:rotateY(180deg) scale(.5);opacity:0}.reveal-phase-entering .reveal-card-flipper{animation:cardFlipIn .8s ease-out forwards}.reveal-phase-showing .reveal-card-flipper{transform:rotateY(0) scale(1);opacity:1}.reveal-phase-exiting .reveal-card-flipper{animation:cardFlipOut .5s ease-in forwards}@keyframes cardFlipIn{0%{transform:rotateY(180deg) scale(.5);opacity:0}60%{transform:rotateY(-10deg) scale(1.05);opacity:1}to{transform:rotateY(0) scale(1);opacity:1}}@keyframes cardFlipOut{0%{transform:rotateY(0) scale(1);opacity:1}to{transform:rotateY(-90deg) scale(.8);opacity:0}}.reveal-card-back{position:absolute;top:0;right:0;bottom:0;left:0;backface-visibility:hidden;transform:rotateY(180deg);background:linear-gradient(145deg,#2d1f4e,#1a1030);border-radius:12px;border:3px solid #6b21a8;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 40px #00000080}.card-back-pattern{width:80%;height:80%;background:repeating-linear-gradient(45deg,transparent,transparent 10px,rgba(147,51,234,.1) 10px,rgba(147,51,234,.1) 20px);border-radius:8px;border:2px solid rgba(147,51,234,.3);display:flex;align-items:center;justify-content:center}.card-back-icon{font-size:4rem;opacity:.6}.reveal-card-front{position:absolute;top:0;right:0;bottom:0;left:0;backface-visibility:hidden;display:flex;align-items:center;justify-content:center}.reveal-unified-card{box-shadow:0 0 30px var(--card-glow-color, rgba(147, 51, 234, .5)),0 10px 40px #00000080!important;transform:scale(1.1)}@media (max-width: 480px){.reveal-card-wrapper{width:160px;height:224px}.reveal-reason{font-size:1.1rem}.reveal-unified-card{transform:scale(.9)}}.dev-menu-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dev-menu-modal{background:linear-gradient(135deg,#1a1a2e,#16213e);border:2px solid #ff6b6b;border-radius:16px;width:min(95vw,900px);max-height:90vh;display:flex;flex-direction:column;box-shadow:0 0 40px #ff6b6b4d,0 0 80px #ff6b6b1a,inset 0 0 60px #0000004d;overflow:hidden}.dev-menu-header{padding:20px 24px;border-bottom:1px solid rgba(255,107,107,.3);background:linear-gradient(180deg,rgba(255,107,107,.1) 0%,transparent 100%)}.header-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.dev-badge{display:flex;align-items:center;gap:8px;padding:6px 14px;background:#ff6b6b33;border:1px solid #ff6b6b;border-radius:20px;font-family:monospace}.dev-icon{font-size:1.1rem}.dev-text{color:#ff6b6b;font-weight:700;font-size:.85rem;letter-spacing:1px}.close-btn{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;width:32px;height:32px;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1rem;transition:all .2s ease}.close-btn:hover{background:#ff6b6b4d;border-color:#ff6b6b}.close-btn:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.dev-menu-title{color:#fff;font-size:1.5rem;font-weight:700;margin:0 0 4px}.dev-menu-subtitle{color:#fff9;font-size:.9rem;margin:0}.dev-search-bar{padding:16px 24px;display:flex;gap:16px;align-items:center;border-bottom:1px solid rgba(255,255,255,.1)}.search-input-wrapper{flex:1;display:flex;align-items:center;background:#0000004d;border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:0 12px;transition:border-color .2s ease}.search-input-wrapper:focus-within{border-color:#ff6b6b}.search-icon{font-size:1rem;opacity:.6;margin-right:8px}.search-input{flex:1;background:none;border:none;color:#fff;font-size:.95rem;padding:10px 0;outline:none}.search-input::placeholder{color:#fff6}.clear-search-btn{background:none;border:none;color:#ffffff80;cursor:pointer;padding:4px 8px;font-size:.9rem}.clear-search-btn:hover{color:#fff}.search-results-count{display:flex;align-items:baseline;gap:4px;white-space:nowrap}.count-number{color:#ff6b6b;font-size:1.2rem;font-weight:700;font-family:monospace}.count-label{color:#ffffff80;font-size:.85rem}.dev-cards-area{flex:1;overflow-y:auto;padding:20px 24px;min-height:300px}.no-cards-found{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center}.no-cards-icon{font-size:3rem;margin-bottom:16px}.no-cards-found h3{color:#fff;margin:0 0 8px}.no-cards-found p{color:#ffffff80;margin:0}.dev-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:24px;justify-items:center;align-items:start}.dev-card-wrapper{position:relative;transition:transform .2s ease}.dev-card-wrapper:hover{transform:translateY(-4px)}.dev-card-wrapper:active{transform:scale(.95)}.dev-card-wrapper.selected{transform:translateY(-8px)}.dev-card-wrapper.selected:after{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border:2px solid #22c55e;border-radius:12px;box-shadow:0 0 20px #22c55e80;pointer-events:none}.selection-badge{position:absolute;top:-8px;right:-8px;width:24px;height:24px;background:#22c55e;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;box-shadow:0 2px 8px #0000004d;z-index:5}.dev-menu-footer{padding:16px 24px;border-top:1px solid rgba(255,255,255,.1);background:#0003;display:flex;justify-content:space-between;align-items:center;gap:16px}.footer-hint{color:#fff9;font-size:.9rem;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.footer-actions{display:flex;gap:12px}.footer-btn{display:flex;align-items:center;gap:6px;padding:10px 18px;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .2s ease}.footer-btn.secondary{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff}.footer-btn.secondary:hover{background:#fff3}.footer-btn.primary{background:#ff6b6b33;border:1px solid #ff6b6b;color:#ff6b6b}.footer-btn.primary:hover:not(:disabled){background:#ff6b6b4d}.footer-btn.primary.accent{background:#ff6b6b;color:#1a1a2e}.footer-btn.primary.accent:hover:not(:disabled){background:#ff8787}.footer-btn:disabled{opacity:.4;cursor:not-allowed}.btn-icon{font-size:1rem}.dev-debug-panel{position:fixed;top:0;left:0;height:100vh;width:420px;background:linear-gradient(180deg,#0f172a,#1e1b4b);border-right:1px solid #334155;box-shadow:0 0 40px #00000080;z-index:9999;transform:translate(-100%);transition:transform .3s ease;display:flex;flex-direction:column;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:12px;color:#e2e8f0}.dev-debug-panel.open{transform:translate(0)}.debug-header{padding:12px 16px;background:linear-gradient(135deg,#7c3aed,#2563eb);border-bottom:1px solid #4c1d95;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.debug-header h3{margin:0;font-size:14px;font-weight:600;color:#fff;display:flex;align-items:center;gap:8px}.header-icon{font-size:18px}.close-button{width:28px;height:28px;border:none;border-radius:6px;background:#ffffff1a;color:#fff;font-size:18px;cursor:pointer;transition:background .2s;display:flex;align-items:center;justify-content:center}.close-button:hover{background:#fff3}.debug-tabs{display:flex;background:#1e293b;border-bottom:1px solid #334155;flex-shrink:0;overflow-x:auto}.debug-tab{flex:1;min-width:60px;padding:10px 8px;border:none;background:transparent;color:#94a3b8;font-size:11px;font-family:inherit;cursor:pointer;transition:all .2s;display:flex;flex-direction:column;align-items:center;gap:4px}.debug-tab:hover{background:#ffffff0d;color:#e2e8f0}.debug-tab.active{background:#334155;color:#a78bfa;border-bottom:2px solid #a78bfa}.tab-icon{font-size:16px}.tab-label{font-weight:500}.debug-content{flex:1;overflow-y:auto;overflow-x:hidden}.debug-tab-content{padding:12px}.debug-section{margin-bottom:12px;background:#1e293b80;border:1px solid #334155;border-radius:8px;overflow:hidden}.section-header{padding:10px 12px;background:#33415580;cursor:pointer;display:flex;align-items:center;gap:8px;-webkit-user-select:none;user-select:none;transition:background .2s}.section-header:hover{background:#334155cc}.section-icon{color:#64748b;font-size:10px;width:12px}.section-title{flex:1;font-weight:600;color:#f1f5f9}.section-badge{background:#7c3aed;color:#fff;padding:2px 8px;border-radius:10px;font-size:10px;font-weight:600}.section-content{padding:12px;border-top:1px solid #334155}.status-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.status-item{display:flex;flex-direction:column;gap:2px}.status-label{color:#64748b;font-size:10px;text-transform:uppercase;letter-spacing:.5px}.status-value{color:#f1f5f9;font-weight:600}.status-value.mono{font-family:JetBrains Mono,monospace;font-size:11px;color:#94a3b8}.count-bar{display:flex;gap:8px}.count-item{flex:1;text-align:center;padding:10px 8px;border-radius:6px;background:#33415580}.count-number{display:block;font-size:20px;font-weight:700;color:#f1f5f9}.count-label{font-size:10px;color:#64748b;text-transform:uppercase}.count-item.deck{border-left:3px solid #3b82f6}.count-item.nursery{border-left:3px solid #f472b6}.count-item.discard{border-left:3px solid #64748b}.count-item.removed{border-left:3px solid #ef4444}.chain-stats{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:10px}.chain-stats .stat{display:flex;align-items:center;gap:4px;padding:4px 10px;border-radius:12px;background:#33415580;font-size:11px;font-weight:600}.chain-stats .stat.pending{color:#f59e0b}.chain-stats .stat.awaiting{color:#ec4899}.chain-stats .stat.resolved{color:#10b981}.chain-stats .stat.failed{color:#ef4444}.chain-stats .stat.skipped{color:#6b7280}.chain-paused{background:#ec489933;border:1px solid #ec4899;color:#f9a8d4;padding:8px 12px;border-radius:6px;font-size:11px;margin-bottom:10px}.pending-effect-info{background:#7c3aed33;border:1px solid #7c3aed;padding:8px 12px;border-radius:6px;font-size:11px;color:#c4b5fd}.context-item{display:flex;gap:8px;padding:6px 0;border-bottom:1px solid #334155}.context-item:last-child{border-bottom:none}.context-label{color:#64748b;font-size:10px;min-width:80px}.context-value{color:#e2e8f0;flex:1;word-break:break-all}.context-value.mono{font-family:JetBrains Mono,monospace;color:#a78bfa}.special-state-box{background:#3b82f61a;border:1px solid #3b82f6;border-radius:6px;padding:10px;margin-bottom:8px}.state-title{font-weight:600;color:#60a5fa;margin-bottom:6px}.state-detail{font-size:11px;color:#94a3b8}.player-list{display:flex;flex-direction:column;gap:8px}.player-debug-card{background:#1e293bcc;border:1px solid #334155;border-radius:8px;padding:10px 12px;transition:border-color .2s}.player-debug-card.current-turn{border-color:#10b981;background:#10b9811a}.player-debug-card.disconnected{border-color:#ef4444;background:#ef44441a}.player-info-grid{display:flex;flex-direction:column;gap:8px}.player-name-row{display:flex;align-items:center;gap:8px}.player-index{width:24px;height:24px;background:#475569;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:#94a3b8;flex-shrink:0}.player-name{flex:1;font-weight:600;color:#f1f5f9;display:flex;align-items:center;gap:6px}.you-badge{background:#7c3aed;color:#fff;padding:2px 6px;border-radius:4px;font-size:9px;font-weight:700}.dev-debug-panel .turn-badge{background:#10b981;color:#fff;padding:2px 6px;border-radius:4px;font-size:9px;font-weight:700;animation:pulse 1.5s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.connection-status{font-size:12px}.player-ids{background:#0f172a80;border-radius:4px;padding:6px 8px}.id-row{display:flex;gap:8px;align-items:center}.id-label{color:#64748b;font-size:10px;min-width:60px;flex-shrink:0}.id-value{font-family:JetBrains Mono,monospace;font-size:10px;color:#a78bfa;word-break:break-all;-webkit-user-select:all;user-select:all}.player-status-row{display:flex;gap:8px;flex-wrap:wrap}.status-chip{padding:3px 8px;border-radius:4px;font-size:10px;background:#33415580;color:#94a3b8}.cards-section{margin-top:10px;padding-top:10px;border-top:1px solid #334155}.cards-header{font-size:10px;color:#64748b;text-transform:uppercase;margin-bottom:8px}.cards-list,.card-grid{display:flex;flex-wrap:wrap;gap:6px}.stable-breakdown{display:flex;flex-direction:column;gap:8px}.stable-category{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.category-label{font-size:10px;color:#64748b;min-width:60px}.card-pill{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;background:#33415580;border:1px solid #475569;border-radius:12px;font-size:10px;color:#e2e8f0;cursor:default;transition:all .2s}.card-pill:hover{background:#334155cc;border-color:#64748b}.card-type-dot{width:6px;height:6px;border-radius:50%}.empty-cards,.empty-state{color:#64748b;font-style:italic;font-size:11px;padding:8px}.more-cards{color:#64748b;font-size:10px;padding:4px 8px}.chain-status-bar{display:flex;gap:12px;padding:10px;background:#1e293b80;border-radius:6px;margin-bottom:12px}.chain-flag{display:flex;gap:6px;align-items:center}.flag-label{color:#64748b;font-size:10px}.flag-value{font-weight:600;color:#e2e8f0}.flag-value.yes{color:#10b981}.flag-value.no{color:#64748b}.chain-nodes{display:flex;flex-direction:column;gap:6px}.debug-effect-node{background:#1e293bcc;border:1px solid #334155;border-radius:6px;padding:8px 10px;transition:all .2s}.debug-effect-node.is-current{border-color:#ec4899;background:#ec48991a}.node-header{display:flex;align-items:center;gap:8px}.node-status{font-size:12px}.node-index{color:#64748b;font-size:10px}.node-effect-key{flex:1;font-weight:600;color:#f1f5f9;font-size:11px}.optional-tag{background:#3b82f6;color:#fff;padding:1px 5px;border-radius:3px;font-size:9px;font-weight:600}.current-tag{background:#ec4899;color:#fff;padding:1px 5px;border-radius:3px;font-size:9px;font-weight:600;animation:pulse 1.5s infinite}.node-details{display:flex;gap:12px;margin-top:4px;font-size:10px;color:#94a3b8}.node-result{margin-top:6px;padding-top:6px;border-top:1px solid #334155;font-size:10px}.result-message{color:#10b981}.result-error{color:#ef4444}.modifier-grid{display:flex;flex-direction:column;gap:10px}.modifier-item{display:flex;justify-content:space-between;padding:8px;background:#3341554d;border-radius:6px}.mod-label{color:#94a3b8;font-size:11px}.mod-value{color:#e2e8f0;font-weight:600}.immunity-list{display:flex;flex-direction:column;gap:8px}.immunity-item{background:#eab3081a;border:1px solid #ca8a04;border-radius:6px;padding:8px}.immunity-header{display:flex;gap:8px;margin-bottom:4px}.immunity-action{background:#ca8a04;color:#fff;padding:2px 6px;border-radius:3px;font-size:9px;font-weight:600}.immunity-scope{color:#fbbf24;font-size:10px}.immunity-details{font-size:10px;color:#94a3b8}.immunity-reason{display:block;margin-bottom:2px}.immunity-source{color:#64748b}.search-bar{margin-bottom:12px}.search-input{width:100%;padding:10px 12px;background:#1e293bcc;border:1px solid #334155;border-radius:6px;color:#e2e8f0;font-size:12px;font-family:inherit;transition:border-color .2s}.search-input:focus{outline:none;border-color:#7c3aed}.search-input::placeholder{color:#64748b}.json-view{background:#0f172acc;border:1px solid #334155;border-radius:6px;padding:12px;font-family:JetBrains Mono,monospace;font-size:11px;max-height:300px;overflow-y:auto}.json-view.large{max-height:none}.json-toggle{cursor:pointer;color:#64748b;-webkit-user-select:none;user-select:none}.json-toggle:hover{color:#94a3b8}.json-children{margin-left:16px;border-left:1px solid #334155;padding-left:12px}.json-item{margin:2px 0}.json-key{color:#60a5fa}.json-string{color:#a3e635}.json-number{color:#fbbf24}.json-boolean{color:#f472b6}.json-null,.json-undefined{color:#6b7280;font-style:italic}.json-empty{color:#6b7280}.json-truncated{color:#6b7280;font-style:italic}.raw-tab{padding:0}.raw-section h4{padding:12px;margin:0;background:#1e293bcc;border-bottom:1px solid #334155;color:#f1f5f9;font-size:12px}.raw-section .json-view{border:none;border-radius:0;max-height:calc(100vh - 200px)}.pending-choice-details{margin-top:16px;padding-top:16px;border-top:1px solid #334155}.pending-choice-details h4{color:#f1f5f9;font-size:12px;margin:0 0 10px}.dev-debug-panel ::-webkit-scrollbar{width:6px;height:6px}.dev-debug-panel ::-webkit-scrollbar-track{background:transparent}.dev-debug-panel ::-webkit-scrollbar-thumb{background:#475569;border-radius:3px}.dev-debug-panel ::-webkit-scrollbar-thumb:hover{background:#64748b}.debug-effect-node.code-path-declarative{border-left:3px solid #10b981}.debug-effect-node.code-path-handler{border-left:3px solid #f59e0b}.debug-effect-node.code-path-unknown{border-left:3px solid #64748b}.node-code-path{display:flex;gap:8px;margin-top:6px;flex-wrap:wrap}.path-badge{padding:2px 8px;border-radius:4px;font-size:10px;font-weight:600}.path-badge.declarative{background:#10b98133;color:#34d399;border:1px solid rgba(16,185,129,.3)}.path-badge.handler{background:#f59e0b33;color:#fbbf24;border:1px solid rgba(245,158,11,.3)}.path-badge.unknown{background:#64748b33;color:#94a3b8;border:1px solid rgba(100,116,139,.3)}.executor-badge,.handler-badge{padding:2px 6px;border-radius:3px;font-size:9px;background:#33415580;color:#a78bfa;font-family:JetBrains Mono,monospace}.node-state-info{margin-top:4px;font-size:10px}.state-type{color:#60a5fa;font-family:JetBrains Mono,monospace}.chain-legend{display:flex;gap:16px;padding:8px 12px;background:#1e293b80;border-radius:6px;margin-bottom:12px;font-size:10px}.legend-item{display:flex;align-items:center;gap:6px;color:#94a3b8}.legend-color{width:12px;height:3px;border-radius:1px}.legend-color.declarative{background:#10b981}.legend-color.handler{background:#f59e0b}.legend-color.unknown{background:#64748b}.active-effect-section{background:#ec48990d;border:1px solid rgba(236,72,153,.2);border-radius:8px;margin-bottom:12px}.active-effect-info{display:flex;flex-direction:column;gap:8px}.info-row{display:flex;gap:12px;align-items:flex-start}.info-row.state-row{flex-direction:column;gap:6px}.info-label{color:#64748b;font-size:10px;min-width:90px;flex-shrink:0}.info-value{color:#e2e8f0;font-size:11px}.info-value.mono{font-family:JetBrains Mono,monospace;color:#a78bfa}.code-path-badge{padding:3px 10px;border-radius:4px;font-weight:600}.code-path-badge.declarative{background:#10b98133;color:#34d399}.code-path-badge.handler{background:#f59e0b33;color:#fbbf24}.code-path-badge.unknown{background:#64748b33;color:#94a3b8}.state-preview{max-height:150px;overflow-y:auto;background:#0f172a80;border-radius:4px;padding:8px;font-family:JetBrains Mono,monospace;font-size:10px}.ui-request-info{margin-bottom:12px}.choice-item{background:#1e293bcc;border:1px solid #334155;border-radius:6px;padding:8px 10px;margin-bottom:6px}.choice-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.choice-id{font-weight:600;color:#a78bfa;font-size:11px}.choice-desc{font-size:11px;color:#94a3b8;margin-bottom:4px}.choice-meta{display:flex;gap:12px;font-size:10px;color:#64748b}.has-state{background:#3b82f633;color:#60a5fa;padding:1px 6px;border-radius:3px}.json-view.small{max-height:150px;font-size:10px}.flag-value.mono{font-family:JetBrains Mono,monospace;color:#a78bfa}.toast-container{position:fixed;top:var(--space-4);left:50%;transform:translate(-50%);z-index:10000;display:flex;flex-direction:column;gap:var(--space-2);pointer-events:none}.toast{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);background:var(--color-primary-800);border:1px solid var(--color-primary-600);color:var(--color-cream);box-shadow:var(--shadow-lg);pointer-events:auto;animation:toast-enter .3s ease-out;min-width:280px;max-width:480px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.toast--exiting{animation:toast-exit .3s ease-in forwards}.toast--error{background:var(--color-error-700);border:1px solid var(--color-error-500)}.toast--warning{background:var(--color-warning-700);border:1px solid var(--color-warning-500)}.toast--info{background:var(--color-accent-700);border:1px solid var(--color-accent-500)}.toast--success{background:var(--color-success-700);border:1px solid var(--color-success-500)}.toast__icon{font-size:var(--text-lg);flex-shrink:0}.toast__message{flex:1;font-size:var(--text-sm);line-height:1.4}.toast__dismiss{background:none;border:none;color:var(--color-cream);font-size:var(--text-lg);cursor:pointer;padding:0 var(--space-1);opacity:.7;transition:opacity var(--transition-fast);flex-shrink:0}.toast__dismiss:hover{opacity:1}@keyframes toast-enter{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes toast-exit{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-20px)}}.game-page-new{min-height:100vh;height:100vh;background:radial-gradient(ellipse 80% 50% at 50% 20%,var(--night-glow-purple) 0%,transparent 50%),radial-gradient(ellipse 60% 40% at 85% 70%,var(--night-glow-blue) 0%,transparent 45%),radial-gradient(ellipse 50% 35% at 15% 80%,var(--night-glow-pink) 0%,transparent 40%),linear-gradient(135deg,var(--bg-app-gradient-start) 0%,var(--bg-app-gradient-end) 100%);padding:var(--space-3);padding-bottom:0;display:flex;flex-direction:column;overflow:hidden;gap:var(--space-3)}.game-layout{flex:1;display:flex;flex-direction:column;gap:var(--space-3);min-height:0;overflow:auto}.game-main-content{flex:1;display:flex;gap:var(--space-3);min-height:0}.your-stable-column{flex:3;min-width:0;transition:flex .3s ease}.game-main-content:has(.has-expanded) .your-stable-column{flex:1}.your-stable-area{height:100%}.opponent-column{flex:2;min-width:0;transition:flex .3s ease}.game-main-content:has(.has-expanded) .opponent-column{flex:1}.opponent-area{height:100%;padding-right:var(--space-2)}.game-bottom-bar{padding:var(--space-2) var(--space-3);display:flex;flex-direction:column;gap:var(--space-2);flex-shrink:0}.game-bottom-bar .phase-controls-area{flex:0 0 auto;display:flex;justify-content:center}.game-bottom-bar .your-hand-area{flex:0 0 auto;position:relative;z-index:50}@media (max-width: 1024px){.your-stable-column{flex:5}.opponent-column{flex:5;max-width:380px}}@media (max-width: 768px){.game-page-new{padding:var(--space-1);height:auto;min-height:100vh;overflow:visible}.game-layout{gap:var(--space-2)}.game-main-content{flex-direction:column;gap:var(--space-2);padding-bottom:0;overflow:visible}.your-stable-column,.opponent-column{flex:unset;width:100%;max-width:unset;min-width:unset}.opponent-column{order:-1}.game-bottom-bar{position:relative;padding:var(--space-2);box-shadow:none;background:var(--bg-card);border-top:2px solid var(--border-medium)}.target-selection-banner{bottom:auto;top:70px;left:var(--space-2);right:var(--space-2);transform:none;max-width:unset}}.target-selection-banner{position:fixed;bottom:220px;left:50%;transform:translate(-50%);z-index:110;animation:slideUpCentered var(--transition-slow);max-width:500px;width:auto}@keyframes slideUpCentered{0%{transform:translate(-50%) translateY(20px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}.target-banner-content{display:flex;align-items:center;gap:var(--space-3);background:linear-gradient(135deg,var(--color-indigo-600),var(--color-indigo-500));color:#fff;padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg),0 0 20px #6366f166;border:2px solid var(--color-indigo-400)}.target-banner-icon{font-size:var(--text-xl);animation:targetPulse 1.5s ease-in-out infinite}@keyframes targetPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.target-banner-text{display:flex;flex-direction:column;gap:var(--space-1)}.target-banner-text strong{font-size:var(--text-base);font-weight:var(--font-bold)}.target-banner-text span{font-size:var(--text-sm);opacity:.9}.target-banner-actions{display:flex;gap:var(--space-2);margin-left:auto}.target-banner-self{background:linear-gradient(135deg,var(--color-success-500),var(--color-success-600));border:1px solid var(--color-success-400);color:#fff;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);cursor:pointer;font-weight:var(--font-bold);font-size:var(--text-sm);transition:all var(--transition-base);white-space:nowrap}.target-banner-self:hover{background:linear-gradient(135deg,var(--color-success-600),var(--color-success-700));transform:translateY(-1px)}.target-banner-self.disabled,.target-banner-self:disabled{background:linear-gradient(135deg,var(--color-neutral-500),var(--color-neutral-600));border-color:var(--color-neutral-400);color:var(--color-neutral-300);cursor:not-allowed;opacity:.6}.target-banner-self.disabled:hover,.target-banner-self:disabled:hover{transform:none;background:linear-gradient(135deg,var(--color-neutral-500),var(--color-neutral-600))}.target-banner-cancel{background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);cursor:pointer;font-weight:var(--font-semibold);font-size:var(--text-sm);transition:all var(--transition-base)}.target-banner-cancel:hover{background:#ffffff4d}.meow-window-overlay{position:fixed;top:80px;left:50%;transform:translate(-50%);z-index:50;animation:slideDownCentered var(--transition-slow)}@keyframes slideDownCentered{0%{transform:translate(-50%) translateY(-20px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}.game-actions{display:flex;justify-content:center;align-items:center;gap:var(--space-4);padding:var(--space-4);background:#ffffffe6;border-radius:var(--radius-lg)}.action-help{color:var(--text-secondary);font-size:var(--text-base);font-style:italic}.action-button{padding:var(--space-3) var(--space-8);background:var(--color-indigo-500);color:var(--text-light);border:none;border-radius:var(--radius-md);font-size:var(--text-md);font-weight:var(--font-bold);cursor:pointer;transition:all var(--transition-base)}.action-button:hover{background:var(--color-indigo-600);transform:translateY(-2px)}.action-button.beginning-turn-button{background:var(--color-primary-500);font-size:var(--text-lg);padding:var(--space-3) var(--space-10)}.action-button.beginning-turn-button:hover{background:var(--color-primary-600)}.action-button.end-turn{background:var(--color-success-500)}.action-button.end-turn:hover{background:var(--color-success-600)}.action-button.draw-button{background:var(--color-warning-500)}.action-button.draw-button:hover{background:var(--color-warning-600)}.action-button:disabled{opacity:var(--disabled-opacity);cursor:not-allowed;transform:none;box-shadow:none}.action-button:disabled:hover{transform:none}.discard-mode{background:var(--color-warning-100);border:3px solid var(--color-warning-500);padding:var(--space-5);border-radius:var(--radius-lg);text-align:center;animation:slideDown var(--transition-slow)}.discard-header h3{margin:0 0 var(--space-2) 0;color:var(--color-warning-600);font-size:var(--text-xl)}.discard-header p{margin:0 0 var(--space-4) 0;color:var(--color-warning-800)}.discard-actions{display:flex;justify-content:center}.confirm-discard{background:var(--color-error-500)}.confirm-discard:hover:not(:disabled){background:var(--color-error-600)}.meow-window-overlay .meow-window{min-width:360px;max-width:480px}.meow-window{background:linear-gradient(135deg,var(--bg-app-gradient-start) 0%,var(--bg-app-gradient-end) 100%);color:var(--text-light);padding:var(--space-4);border-radius:var(--radius-lg);box-shadow:var(--shadow-2xl);border:3px solid var(--color-warning-400)}.meow-window--compact{padding:var(--space-3) var(--space-4)}.meow-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid rgba(255,255,255,.2)}.meow-header-row h3{margin:0;font-size:var(--text-lg)}.meow-timer-inline{display:flex;align-items:center;gap:var(--space-2)}.timer-value{font-size:var(--text-lg);font-weight:var(--font-bold);color:var(--color-warning-300);min-width:28px;text-align:right}.timer-bar-mini{width:60px;height:6px;background:#fff3;border-radius:var(--radius-sm);overflow:hidden}.timer-bar-mini .timer-progress{height:100%;background:linear-gradient(90deg,var(--color-success-500),var(--color-warning-400),var(--color-error-500));transition:width .1s linear}.meow-content-row{display:flex;gap:var(--space-4);margin-bottom:var(--space-3)}.meow-card-column{flex-shrink:0}.meow-info-column{flex:1;display:flex;flex-direction:column;gap:var(--space-2);justify-content:center}.meow-player-info{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.meow-player-info .player-name{font-weight:var(--font-bold);font-size:var(--text-base);color:#fff}.meow-player-info .action-verb{color:#ffffffb3;font-size:var(--text-sm)}.meow-target-info{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);background:#0003;border-radius:var(--radius-sm)}.meow-target-info .target-label{font-size:var(--text-xs);color:#fff9;text-transform:uppercase}.meow-target-info .target-name{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-warning-300)}.meow-action-area{margin-top:var(--space-2);padding:var(--space-2);border-radius:var(--radius-md)}.meow-action-area.can-meow{background:#10b98126;border:1px solid var(--color-success-400);display:flex;flex-direction:column;align-items:center;gap:var(--space-1)}.meow-action-area.cannot-meow{background:#ef44441a;border:1px solid rgba(239,68,68,.3)}.meow-play-button{padding:var(--space-2) var(--space-4);background:linear-gradient(135deg,var(--color-error-500),var(--color-error-600));color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--text-base);font-weight:var(--font-bold);cursor:pointer;transition:all var(--transition-base);box-shadow:0 2px 8px #ef444466}.meow-play-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #ef444480}.meow-play-button:active{transform:translateY(0)}.meow-hint-text{font-size:var(--text-xs);color:var(--color-success-300);font-style:italic}.meow-blocked-reason{display:flex;align-items:center;gap:var(--space-2);justify-content:center}.blocked-icon{font-size:var(--text-lg)}.blocked-text{font-size:var(--text-sm);color:#ffffffe6}.meow-chain-compact{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid rgba(255,255,255,.2)}.chain-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2);font-size:var(--text-sm)}.chain-result{font-weight:var(--font-bold);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm)}.chain-result.negated{background:#ef44444d;color:var(--color-error-200)}.chain-result.resolves{background:#10b9814d;color:var(--color-success-200)}.chain-items{display:flex;flex-wrap:wrap;gap:var(--space-2)}.chain-item-compact{font-size:var(--text-xs);background:#0000004d;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);border-left:2px solid var(--color-warning-400)}@media (max-width: 768px){.meow-window-overlay{top:60px;left:var(--space-2);right:var(--space-2);transform:none}.meow-window-overlay .meow-window{min-width:unset;max-width:unset;width:100%}.meow-content-row{flex-direction:column;align-items:center}.meow-info-column{width:100%;text-align:center}.meow-target-info{justify-content:center}}.give-card-overlay{position:fixed;top:80px;left:50%;transform:translate(-50%);z-index:55;animation:slideDownCentered var(--transition-slow)}.give-card-window{min-width:340px;max-width:420px;background:linear-gradient(135deg,#16a34a,#15803d);color:var(--text-light);padding:var(--space-4);border-radius:var(--radius-lg);box-shadow:var(--shadow-2xl);border:3px solid #86efac}.give-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid rgba(255,255,255,.2)}.give-card-header h3{margin:0;font-size:var(--text-lg);color:#fff}.give-card-timer-paused{font-size:var(--text-sm);background:#0000004d;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);color:#fef08a}.give-card-content{text-align:center;margin-bottom:var(--space-3)}.give-card-message{margin:0 0 var(--space-2) 0;font-size:var(--text-base);line-height:1.4}.give-card-message strong{color:#bbf7d0}.give-card-instruction{margin:0;font-size:var(--text-sm);color:#fffc;font-style:italic}.give-card-selected{margin:var(--space-2) 0 0 0;font-size:var(--text-sm);background:#0003;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);display:inline-block}.give-card-selected strong{color:#fef08a}.give-card-actions{display:flex;justify-content:center;padding-top:var(--space-2)}.give-card-confirm-button{padding:var(--space-2) var(--space-4);background:#fff;color:#15803d;border:none;border-radius:var(--radius-md);font-size:var(--text-base);font-weight:var(--font-bold);cursor:pointer;transition:all var(--transition-base)}.give-card-confirm-button:hover:not(:disabled){background:#f0fdf4;transform:translateY(-1px)}.give-card-confirm-button:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.give-card-overlay{top:60px;left:var(--space-2);right:var(--space-2);transform:none}.give-card-window{min-width:unset;max-width:unset;width:100%}}.restriction-item{font-size:var(--text-sm);line-height:1.4}.restriction-item.global{background:#7d9ba933;border-left:3px solid rgb(125,155,169)}.restriction-item.target{background:#fbbf2433;border-left:3px solid var(--color-warning-400)}.restriction-item.you{background:#ef444426;border-left:3px solid var(--color-error-400)}.restriction-item.none{background:#10b98126;border-left:3px solid var(--color-success-400)}.restriction-icon{font-size:var(--text-base);flex-shrink:0}.restriction-text{color:#ffffffe6}.restriction-text strong{color:#fff;font-weight:var(--font-bold)}.restriction-text em{color:var(--color-warning-300);font-style:normal;font-weight:var(--font-semibold)}.target-modal{background:var(--bg-card);padding:var(--space-8);border-radius:var(--radius-xl);min-width:400px;max-width:600px;box-shadow:var(--shadow-2xl);animation:slideUp var(--transition-slow)}.target-modal h3{margin:0 0 var(--space-2) 0;color:var(--text-primary);font-size:var(--text-2xl)}.target-modal>p{margin:0 0 var(--space-5) 0;color:var(--text-secondary)}.target-buttons{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-5)}.target-button{padding:var(--space-4) var(--space-5);background:var(--bg-card);border:2px solid var(--border-light);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);text-align:left;font-size:var(--text-md);display:flex;justify-content:space-between;align-items:center}.target-button:hover{border-color:var(--color-indigo-500);background:var(--color-primary-50)}.target-button.selected{border-color:var(--color-indigo-500);background:var(--color-primary-100);font-weight:var(--font-bold)}.target-button.self{background:var(--color-warning-100)}.target-button.self:hover{background:var(--color-warning-200);border-color:var(--color-warning-500)}.player-info{display:flex;gap:var(--space-4);font-size:var(--text-base);color:var(--text-secondary)}.modal-actions{display:flex;gap:var(--space-2);justify-content:flex-end}.confirm-button{background:var(--color-success-500)}.confirm-button:hover:not(:disabled){background:var(--color-success-600)}.cancel-button{background:var(--color-error-500)}.cancel-button:hover{background:var(--color-error-600)}.winner-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse at 20% 20%,rgba(125,155,169,.3) 0%,transparent 50%),radial-gradient(ellipse at 80% 30%,rgba(236,72,153,.25) 0%,transparent 45%),radial-gradient(ellipse at 50% 80%,rgba(59,130,246,.25) 0%,transparent 50%),radial-gradient(ellipse at 90% 90%,rgba(251,191,36,.2) 0%,transparent 40%),linear-gradient(180deg,#0f0a1eeb,#1e1432f2);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);animation:fadeIn var(--transition-slow),bgPulse 4s ease-in-out infinite;overflow:hidden}body:has(.winner-overlay){overflow:hidden}.winner-ambient-particles{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:0}.ambient-sparkle{position:absolute;width:4px;height:4px;background:radial-gradient(circle,rgba(255,255,255,.8) 0%,transparent 70%);border-radius:50%;opacity:0;animation:ambientTwinkle var(--twinkle-duration) ease-in-out infinite;animation-delay:var(--twinkle-delay)}@keyframes ambientTwinkle{0%,to{opacity:0;transform:scale(.5)}50%{opacity:.8;transform:scale(1.2)}}@keyframes bgPulse{0%,to{background-position:0% 0%}50%{background-position:100% 100%}}.game-over-particles{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:0}.game-over-particle{position:absolute;left:var(--x);top:0;font-size:var(--size);animation:particleFall var(--duration) linear infinite;animation-delay:var(--delay);transform:translateY(-100px)}.game-over-particle.confetti{width:var(--size);height:calc(var(--size) * .6);background:var(--color);border-radius:2px;box-shadow:0 0 4px #fff9;animation:confettiFall var(--duration) linear infinite;animation-delay:var(--delay);overflow:hidden;position:relative}.game-over-particle.confetti:before{content:"";position:absolute;top:-50%;left:-100%;width:50%;height:200%;background:linear-gradient(120deg,transparent 0%,rgba(255,255,255,.8) 50%,transparent 100%);animation:shimmer 1.5s ease-in-out infinite}@keyframes confettiFall{0%{opacity:1;transform:translateY(-100px) rotate(0)}to{opacity:1;transform:translateY(calc(100vh + 100px)) rotate(720deg)}}@keyframes shimmer{0%{transform:translate(-100%) rotate(0)}to{transform:translate(100%) rotate(0)}}.game-over-particle.confetti-shape-0{border-radius:2px}.game-over-particle.confetti-shape-1{border-radius:50%;height:var(--size)!important}.game-over-particle.confetti-shape-2{background:transparent!important;box-shadow:none!important;font-size:var(--size);filter:drop-shadow(0 0 4px gold) drop-shadow(0 0 8px gold);animation:starFall var(--duration) ease-in infinite;animation-delay:var(--delay)}.game-over-particle.confetti-shape-3{height:var(--size)!important;border-radius:4px}@keyframes starFall{0%{opacity:1;transform:translateY(-100px) scale(1) rotate(0)}50%{transform:translateY(50vh) scale(1.3) rotate(180deg)}to{opacity:1;transform:translateY(calc(100vh + 100px)) scale(1) rotate(360deg)}}.game-over-particle.sad{filter:grayscale(30%)}@keyframes particleFall{0%{opacity:1;transform:translateY(-100px) rotate(0)}to{opacity:1;transform:translateY(calc(100vh + 100px)) rotate(360deg)}}.winner-modal{background:var(--bg-card);padding:var(--space-8) var(--space-10);border-radius:var(--radius-2xl);text-align:center;box-shadow:var(--shadow-2xl);animation:slideUp .4s ease-out;max-width:500px;width:90%;position:relative;z-index:1}.winner-modal h2{margin:0 0 var(--space-4) 0;font-size:var(--text-4xl);color:var(--color-indigo-500)}.winner-announcement{margin:0 0 var(--space-4) 0;font-size:var(--text-2xl);font-weight:var(--font-bold);color:#fbbf24}.winner-announcement.everyone-loses{color:#ef4444}.winner-quip{margin:0 0 var(--space-4) 0;font-size:var(--text-lg);color:#7d9ba9;background:linear-gradient(135deg,#7d9ba926,#fbbf2426);padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);border-left:3px solid rgb(125,155,169);text-align:center}.victory-reason{margin:0 0 var(--space-6) 0;font-size:var(--text-base);color:var(--text-secondary)}.victory-reason p{margin:0}.victory-stats{margin:0 0 var(--space-6) 0}.victory-stats table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.victory-stats th{background:var(--bg-secondary);color:var(--text-primary);padding:var(--space-2) var(--space-3);text-align:left;font-weight:var(--font-semibold);border-bottom:2px solid var(--border-color)}.victory-stats td{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-color);text-align:left}.victory-stats tr.winner-row{background:#fbbf2426;font-weight:var(--font-semibold)}.victory-stats tr.winner-row td{color:#fbbf24}.winner-modal-actions{display:flex;gap:var(--space-4);justify-content:center;flex-wrap:wrap}.return-lobby-button{padding:var(--space-4) var(--space-8);background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;border:none;border-radius:var(--radius-lg);font-size:var(--text-lg);font-weight:var(--font-bold);cursor:pointer;transition:all var(--transition-base);box-shadow:0 4px 12px #22c55e4d}.return-lobby-button:hover{background:linear-gradient(135deg,#16a34a,#15803d);transform:translateY(-2px);box-shadow:0 6px 16px #22c55e66}.back-home-button{padding:var(--space-4) var(--space-8);background:var(--bg-secondary);color:var(--text-secondary);border:1px solid var(--border-medium);border-radius:var(--radius-lg);font-size:var(--text-lg);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-base)}.back-home-button:hover{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-light)}.waiting-board-dim{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000040;z-index:40;pointer-events:none;animation:fadeIn var(--transition-base)}.confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-overlay);display:grid;place-items:center;z-index:var(--z-modal);animation:fadeIn var(--transition-base)}.confirm-modal{background:var(--bg-card);padding:var(--space-8);border-radius:var(--radius-xl);text-align:center;box-shadow:var(--shadow-2xl);min-width:300px;max-width:400px}.confirm-modal h3{margin:0 0 var(--space-4) 0;font-size:var(--text-2xl);color:var(--text-primary)}.confirm-modal p{margin:0 0 var(--space-6) 0;font-size:var(--text-lg);color:var(--text-secondary)}.confirm-modal strong{color:var(--color-indigo-600)}.confirm-modal.downgrade-warning h3{color:var(--color-warning-500)}.confirm-modal .warning-text{font-size:var(--text-base);color:var(--color-warning-600);background:#f59e0b1a;padding:var(--space-3);border-radius:var(--radius-md);margin-bottom:var(--space-4)}.confirm-modal .action-button.danger,.confirm-modal .action-button.confirm-button.danger{background:#dc2626!important;border:2px solid #991b1b!important;color:#fff!important;box-shadow:0 2px 4px #dc26264d}.confirm-modal .action-button.danger:hover,.confirm-modal .action-button.confirm-button.danger:hover{background:#b91c1c!important;border-color:#7f1d1d!important;transform:translateY(-1px);box-shadow:0 4px 8px #dc262666}.confirm-modal.downgrade-warning .action-button.cancel-button{background:#10b981!important;border:2px solid #059669!important;color:#fff!important;box-shadow:0 2px 4px #10b9814d}.confirm-modal.downgrade-warning .action-button.cancel-button:hover{background:#059669!important;border-color:#047857!important;transform:translateY(-1px);box-shadow:0 4px 8px #10b98166}.confirm-actions{display:flex;gap:var(--space-3);justify-content:center}.other-player-section{display:flex;flex-direction:column;gap:var(--space-2)}@media (max-width: 768px){.game-page-new{padding:var(--space-2);min-height:auto;display:block;overflow:visible}.game-layout{display:block}.opponent-area{margin-top:var(--space-4);margin-bottom:var(--space-2)}.your-stable-area{margin-bottom:var(--space-2)}.phase-controls-area{margin-bottom:var(--space-3)}.your-hand-area{padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom))}.target-selection-banner{position:fixed;top:auto;bottom:16px;left:50%;right:auto;transform:translate(-50%);width:auto;max-width:calc(100% - 32px);margin:0;z-index:100}.target-banner-content{padding:var(--space-2) var(--space-3);gap:var(--space-2);flex-wrap:nowrap;justify-content:center;align-items:center;text-align:left;border-radius:var(--radius-lg);flex-direction:row;background:linear-gradient(135deg,var(--color-indigo-600),var(--color-indigo-500));box-shadow:var(--shadow-lg),0 0 12px #6366f14d}.target-banner-icon{font-size:var(--text-base);flex-shrink:0;animation:none}.target-banner-text{flex:0 1 auto;min-width:0}.target-banner-text strong{font-size:var(--text-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.target-banner-text span{font-size:11px;opacity:.85;display:none}.target-banner-actions{flex-direction:row;justify-content:flex-end;gap:var(--space-1);margin-left:var(--space-1);margin-top:0}.target-banner-self{flex:none;padding:6px 10px;font-size:12px;min-height:32px;border-radius:var(--radius-sm)}.target-banner-cancel{flex:none;padding:6px 10px;font-size:12px;min-height:32px;max-width:none;border-radius:var(--radius-sm)}.meow-window-overlay .meow-window{width:95%;max-width:100%;padding:var(--space-3);max-height:90vh;overflow-y:auto}.preview-card{width:140px}.meow-header h3{font-size:var(--text-lg)}.confirm-modal{width:calc(100% - var(--space-8));max-width:340px;padding:var(--space-5);margin:var(--space-4);border-radius:var(--radius-lg)}.confirm-modal h3{font-size:var(--text-lg);margin-bottom:var(--space-3)}.confirm-modal p{font-size:var(--text-base);margin-bottom:var(--space-5);line-height:1.5}.confirm-actions{flex-direction:column;gap:var(--space-3)}.confirm-actions button{width:100%;min-height:48px;font-size:var(--text-base)}.winner-modal{width:95%;padding:var(--space-5);max-height:90vh;overflow-y:auto}.winner-modal h2{font-size:var(--text-2xl)}.winner-announcement{font-size:var(--text-lg)}.victory-reason{font-size:var(--text-sm)}.victory-stats{font-size:var(--text-xs)}.victory-stats th,.victory-stats td{padding:var(--space-1) var(--space-2)}.winner-modal-actions{flex-direction:column}.return-lobby-button,.back-home-button{padding:var(--space-3) var(--space-6);width:100%;min-height:44px}.meow-window-overlay{top:60px}}.emoji-chat-bubble{position:fixed;z-index:var(--z-tooltip);display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-3) var(--space-4);background:var(--bg-surface-elevated);border:2px solid var(--border-medium);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);animation:emojiBubbleFloat 3s ease-out forwards;pointer-events:none}.emoji-chat-bubble.from-self{left:15%;bottom:35%;border-color:var(--color-success-400);background:linear-gradient(135deg,var(--bg-surface-elevated) 0%,rgba(34,197,94,.1) 100%)}.emoji-chat-bubble.from-other{right:15%;top:25%;border-color:var(--color-accent-400);background:linear-gradient(135deg,var(--bg-surface-elevated) 0%,rgba(75,132,143,.1) 100%)}.emoji-chat-emoji{font-size:3rem;line-height:1;font-family:var(--font-family-emoji);animation:emojiPop .3s cubic-bezier(.68,-.55,.265,1.55)}.emoji-chat-name{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--text-secondary);white-space:nowrap}@keyframes emojiBubbleFloat{0%{opacity:0;transform:translateY(20px) scale(.8)}15%{opacity:1;transform:translateY(0) scale(1)}85%{opacity:1;transform:translateY(-20px) scale(1)}to{opacity:0;transform:translateY(-40px) scale(.9)}}@keyframes emojiPop{0%{transform:scale(.5)}50%{transform:scale(1.2)}to{transform:scale(1)}}.app{min-height:100vh;background:radial-gradient(ellipse 80% 50% at 50% 20%,rgba(90,80,140,.15) 0%,transparent 50%),radial-gradient(ellipse 60% 40% at 80% 60%,rgba(60,90,140,.12) 0%,transparent 45%),radial-gradient(ellipse 50% 35% at 20% 80%,rgba(100,70,130,.1) 0%,transparent 40%),linear-gradient(135deg,var(--bg-app-gradient-start) 0%,var(--bg-app-gradient-end) 100%)}.page-wrapper{animation:fadeIn .4s ease-out}.sparkle-bg{position:fixed;top:0;left:0;right:0;bottom:0;pointer-events:none;overflow:hidden;z-index:0}.sparkle{position:absolute;font-size:1.5rem;opacity:.5;animation:float 8s ease-in-out infinite;filter:drop-shadow(0 0 4px rgba(255,255,255,.5))}.sparkle-1{top:10%;left:5%;animation:float 8s ease-in-out infinite,twinkle 7s ease-in-out infinite;animation-delay:0s,0s}.sparkle-2{top:20%;right:10%;font-size:2rem;animation:float 8s ease-in-out infinite,twinkle 9s ease-in-out infinite;animation-delay:1s,2s}.sparkle-3{top:60%;left:8%;animation:float 8s ease-in-out infinite,twinkle 6s ease-in-out infinite;animation-delay:2s,4s}.sparkle-4{top:40%;right:5%;font-size:1.8rem;animation:float 8s ease-in-out infinite,twinkle 11s ease-in-out infinite;animation-delay:3s,1s}.sparkle-5{top:80%;right:15%;animation:float 8s ease-in-out infinite,twinkle 8s ease-in-out infinite;animation-delay:4s,5s}@keyframes float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-20px) rotate(5deg)}}@keyframes twinkle{0%,85%,to{opacity:.4;transform:scale(1);filter:drop-shadow(0 0 4px rgba(255,255,255,.5))}90%,95%{opacity:.9;transform:scale(1.2);filter:drop-shadow(0 0 8px rgba(255,255,255,.8))}}@media (max-width: 768px){.sparkle{font-size:1rem}.sparkle-2,.sparkle-4{font-size:1.2rem}}:root{--color-primary-50: #e8eef2;--color-primary-100: #c5d4de;--color-primary-200: #9fb7c8;--color-primary-300: #7899b1;--color-primary-400: #5a82a0;--color-primary-500: #3d6b8f;--color-primary-600: #355767;--color-primary-700: #294859;--color-primary-800: #1f3a4a;--color-primary-900: #182935;--color-accent-50: #e6f4f6;--color-accent-100: #c2e4e9;--color-accent-200: #9bd3db;--color-accent-300: #74c1cd;--color-accent-400: #57b3c2;--color-accent-500: #4b848f;--color-accent-600: #3f7078;--color-accent-700: #325b63;--color-accent-800: #26474d;--color-accent-900: #1a3338;--color-sky-50: #f0fafd;--color-sky-100: #dcf3fb;--color-sky-200: #c5ecf9;--color-sky-300: #aae4f7;--color-sky-400: #7fd4f2;--color-sky-500: #54c4ed;--color-sky-600: #2fb0de;--color-sky-700: #1f8eb5;--color-sky-800: #176b89;--color-sky-900: #0f485c;--color-success-50: #f2f8f2;--color-success-100: #e0efe1;--color-success-200: #ccecc1;--color-success-300: #a8d9ab;--color-success-400: #8cc78f;--color-success-500: #6e9c71;--color-success-600: #5a8a5d;--color-success-700: #4a7349;--color-success-800: #3a5b39;--color-success-900: #2a432a;--color-warning-50: #fef7f0;--color-warning-100: #fdebd9;--color-warning-200: #fbdcbe;--color-warning-300: #f7c89c;--color-warning-400: #f2ae73;--color-warning-500: #e89548;--color-warning-600: #d67e2c;--color-warning-700: #b36524;--color-warning-800: #8f4f1d;--color-warning-900: #6b3a16;--color-error-50: #fdf5f5;--color-error-100: #fae6e5;--color-error-200: #f3cbc9;--color-error-300: #e5a4a1;--color-error-400: #d88380;--color-error-500: #c96663;--color-error-600: #b54a47;--color-error-700: #963c39;--color-error-800: #772f2c;--color-error-900: #582221;--color-neutral-50: #fbfefa;--color-neutral-100: #f0f5f4;--color-neutral-200: #dce6e4;--color-neutral-300: #c0d0ce;--color-neutral-400: #8fa5a3;--color-neutral-500: #627a78;--color-neutral-600: #4a5f5d;--color-neutral-700: #3a4a49;--color-neutral-800: #2a3635;--color-neutral-900: #1c2524;--color-gold: #f2ae73;--color-cream: #fbfefa;--color-mint: #ccecc1;--color-magic-glow: rgba(170, 228, 247, 1);--color-magic-glow-light: rgba(170, 228, 247, .35);--color-magic-teal: rgba(75, 132, 143, 1);--color-magic-teal-light: rgba(75, 132, 143, .35);--color-magic-purple: var(--color-magic-glow);--color-magic-purple-light: var(--color-magic-glow-light);--color-indigo-400: var(--color-sky-400);--color-indigo-500: var(--color-accent-500);--color-indigo-600: var(--color-accent-600);--color-indigo-700: var(--color-accent-700);--color-purple-300: var(--color-sky-300);--color-purple-400: var(--color-sky-400);--color-purple-500: var(--color-accent-500);--color-purple-600: var(--color-accent-600);--color-amber-400: var(--color-warning-400);--color-amber-500: var(--color-warning-500);--color-blue-500: var(--color-sky-500);--color-emerald-500: var(--color-success-500);--bg-app-gradient-start: #182935;--bg-app-gradient-end: #1f3a4a;--bg-card: #243845;--bg-surface: #1e3240;--bg-surface-elevated: #2d4654;--bg-surface-hover: #375563;--bg-modal: linear-gradient(145deg, #182935, #1f3a4a);--bg-modal-dark: linear-gradient(135deg, #182935 0%, #1f3a4a 100%);--bg-overlay: rgba(24, 41, 53, .85);--bg-overlay-dark: rgba(24, 41, 53, .92);--bg-overlay-blur: rgba(30, 50, 64, .94);--night-glow-teal: rgba(75, 132, 143, .15);--night-glow-sky: rgba(170, 228, 247, .12);--night-glow-mint: rgba(204, 236, 193, .08);--night-glow-warm: rgba(242, 174, 115, .06);--night-glow-purple: var(--night-glow-teal);--night-glow-blue: var(--night-glow-sky);--night-glow-pink: var(--night-glow-warm);--text-primary: #fbfefa;--text-secondary: #b8d4d2;--text-tertiary: #7a9997;--text-muted: #5d7a78;--text-light: #ffffff;--text-light-muted: rgba(251, 254, 250, .78);--text-light-dimmed: rgba(251, 254, 250, .9);--border-light: #3d5a68;--border-medium: #4b6e7c;--border-dark: rgba(251, 254, 250, .12);--border-dim: rgba(251, 254, 250, .08);--border-focus: var(--color-sky-400);--card-baby-cat: #f0b8c0;--card-basic-cat: #4b848f;--card-magical-cat: #5eb8d4;--card-upgrade: #f2ae73;--card-downgrade: #e8c547;--card-magic: #6e9c71;--card-instant: #e5a4a1;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-family-mono: source-code-pro, Menlo, Monaco, Consolas, "Courier New", monospace;--font-family-emoji: "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji", sans-serif;--text-xs: 10px;--text-sm: 12px;--text-base: 14px;--text-md: 16px;--text-lg: 18px;--text-xl: 20px;--text-2xl: 24px;--text-3xl: 28px;--text-4xl: 32px;--text-5xl: 48px;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 20px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .08);--shadow-md: 0 4px 6px rgba(0, 0, 0, .12);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .15);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .18);--shadow-2xl: 0 25px 50px rgba(0, 0, 0, .28);--shadow-glow-primary: 0 0 20px rgba(75, 132, 143, .4);--shadow-glow-accent: 0 0 20px rgba(170, 228, 247, .35);--shadow-glow-warning: 0 0 20px rgba(242, 174, 115, .45);--shadow-glow-success: 0 0 20px rgba(110, 156, 113, .45);--shadow-glow-error: 0 0 20px rgba(229, 164, 161, .45);--interactive-hover: var(--color-sky-400);--interactive-active: var(--color-accent-500);--interactive-focus: var(--color-sky-300);--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease;--transition-spring: .3s cubic-bezier(.34, 1.56, .64, 1);--disabled-opacity: .5;--disabled-bg: var(--color-neutral-600);--disabled-text: var(--text-secondary);--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-banner: 400;--z-overlay-background: 800;--z-overlay-interactive: 850;--z-modal-backdrop: 900;--z-modal: 1000;--z-popover: 1100;--z-tooltip: 1200}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes popIn{0%{opacity:0}to{opacity:1}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes pulseScale{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes glowPulse{0%,to{box-shadow:0 0 10px var(--color-magic-glow-light),0 0 20px #aae4f733}50%{box-shadow:0 0 20px #aae4f773,0 0 40px #4b848f4d}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-fade-in{animation:fadeIn var(--transition-base)}.animate-slide-up{animation:slideUp var(--transition-slow)}.animate-slide-down{animation:slideDown var(--transition-slow)}.animate-pop-in{animation:popIn var(--transition-spring)}.animate-pulse{animation:pulse 2s infinite}.modal-overlay-base{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);background:var(--bg-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn var(--transition-base)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);font-size:var(--text-base);font-weight:var(--font-semibold);border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.btn:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled,.btn.disabled{opacity:var(--disabled-opacity);cursor:not-allowed;transform:none!important;box-shadow:none!important;pointer-events:none}.btn-primary{background:var(--color-accent-500);color:var(--text-light)}.btn-primary:hover:not(:disabled){background:var(--color-accent-600);transform:translateY(-2px);box-shadow:var(--shadow-glow-primary)}.btn-primary:active:not(:disabled){transform:scale(.97);box-shadow:none}.btn-accent{background:var(--color-sky-400);color:var(--color-primary-900)}.btn-accent:hover:not(:disabled){background:var(--color-sky-300);transform:translateY(-2px);box-shadow:var(--shadow-glow-accent)}.btn-accent:active:not(:disabled){transform:scale(.97);box-shadow:none}.btn-success{background:var(--color-success-500);color:var(--text-light)}.btn-success:hover:not(:disabled){background:var(--color-success-600);transform:translateY(-2px);box-shadow:var(--shadow-glow-success)}.btn-success:active:not(:disabled){transform:scale(.97);box-shadow:none}.btn-danger{background:var(--color-error-500);color:var(--text-light)}.btn-danger:hover:not(:disabled){background:var(--color-error-600);transform:translateY(-2px);box-shadow:var(--shadow-glow-error)}.btn-danger:active:not(:disabled){transform:scale(.97);box-shadow:none}.btn-warning{background:var(--color-warning-500);color:var(--text-light)}.btn-warning:hover:not(:disabled){background:var(--color-warning-600);transform:translateY(-2px);box-shadow:var(--shadow-glow-warning)}.btn-warning:active:not(:disabled){transform:scale(.97);box-shadow:none}.btn-ghost{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:var(--text-light-muted)}.btn-ghost:hover:not(:disabled){background:#ffffff26;border-color:#ffffff4d;color:var(--text-light)}.btn-ghost:active:not(:disabled){background:#fff3;transform:scale(.97)}.btn-sm{padding:var(--space-2) var(--space-3);font-size:var(--text-sm)}.btn-lg{padding:var(--space-4) var(--space-6);font-size:var(--text-lg)}.disabled,[disabled]{opacity:var(--disabled-opacity);cursor:not-allowed;pointer-events:none}.disabled-content{opacity:var(--disabled-opacity);filter:blur(1px);pointer-events:none;-webkit-user-select:none;user-select:none}.interactive:disabled,.interactive.disabled{opacity:var(--disabled-opacity);cursor:not-allowed;transform:none;box-shadow:none}:root{--scrollbar-size: 8px;--scrollbar-track: transparent;--scrollbar-thumb: var(--border-medium);--scrollbar-thumb-hover: var(--color-indigo-500)}.scrollable{overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}.scrollable::-webkit-scrollbar{width:var(--scrollbar-size)}.scrollable::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:var(--radius-full)}.scrollable::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--radius-full);transition:background .15s ease}.scrollable::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}.scrollable-fade{mask-image:linear-gradient(to bottom,black 85%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,black 85%,transparent 100%)}.scrollable-no-fade{mask-image:none;-webkit-mask-image:none}.scrollable-light{scrollbar-width:thin;scrollbar-color:var(--color-sky-400) transparent}.scrollable-light::-webkit-scrollbar{width:var(--scrollbar-size)}.scrollable-light::-webkit-scrollbar-track{background:transparent}.scrollable-light::-webkit-scrollbar-thumb{background:var(--color-sky-400);border-radius:var(--radius-full)}.scrollable-light::-webkit-scrollbar-thumb:hover{background:var(--color-sky-300)}.scrollable-hidden{scrollbar-width:none;-ms-overflow-style:none}.scrollable-hidden::-webkit-scrollbar{display:none}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.animate-pulse,[class*=pulse]{animation:none!important}.btn:hover:not(:disabled),.btn:active:not(:disabled){transform:none!important}.modal-overlay-base{animation:none}}@media (prefers-reduced-motion: no-preference){.motion-safe{transition:all var(--transition-base)}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:grid;place-items:center;background:var(--bg-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn var(--transition-base);padding:var(--space-4)}.modal-content{background:radial-gradient(ellipse 80% 50% at 50% 0%,var(--night-glow-purple) 0%,transparent 50%),radial-gradient(ellipse 60% 40% at 90% 90%,var(--night-glow-blue) 0%,transparent 50%),var(--bg-modal);border-radius:var(--radius-xl);border:1px solid var(--border-dark);box-shadow:var(--shadow-2xl);animation:slideUp var(--transition-slow);max-height:90vh;max-width:95vw;overflow:hidden}.modal-content-inner{padding:var(--space-6);overflow-y:auto;max-height:calc(90vh - var(--space-8))}.modal-header{text-align:center;margin-bottom:var(--space-5)}.source-card-badge{display:inline-flex;align-items:center;gap:var(--space-2);background:#ffd70026;border:1px solid rgba(255,215,0,.3);border-radius:var(--radius-full);padding:var(--space-2) var(--space-3);margin-bottom:var(--space-3)}.magic-icon{font-size:var(--text-md)}.card-name{color:var(--color-gold);font-weight:var(--font-semibold);font-size:var(--text-base)}.modal-title{color:var(--text-light);font-size:var(--text-2xl);font-weight:var(--font-bold);margin:0 0 var(--space-2) 0}.modal-subtitle{color:var(--text-light-dimmed);font-size:var(--text-base);margin:0}.modal-footer{display:flex;justify-content:center;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--border-dark)}.skip-button{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:var(--text-light-muted);padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);font-size:var(--text-base);font-weight:var(--font-medium);cursor:pointer;transition:all var(--transition-base)}.skip-button:hover{background:#ffffff26;border-color:#ffffff4d;color:var(--text-light)}.skip-button:active{transform:scale(.98)}.skip-button:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.skip-button.flex-1{flex:1}.modal-close-btn{position:absolute;top:var(--space-3);right:var(--space-3);width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#ffffff1a;border:none;border-radius:var(--radius-md);color:var(--text-light-muted);cursor:pointer;transition:all var(--transition-fast);font-size:var(--text-lg)}.modal-close-btn:hover{background:#fff3;color:var(--text-light)}.modal-close-btn:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}.confirm-button{background:linear-gradient(135deg,var(--color-success-500),var(--color-success-600));border:none;color:var(--text-light);padding:var(--space-3) var(--space-6);border-radius:var(--radius-md);font-size:var(--text-base);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-base)}.confirm-button:hover:not(:disabled){background:linear-gradient(135deg,var(--color-success-600),var(--color-success-700));transform:translateY(-2px);box-shadow:var(--shadow-glow-success)}.confirm-button:active:not(:disabled){transform:scale(.97);box-shadow:none}.confirm-button:disabled{opacity:var(--disabled-opacity);cursor:not-allowed;transform:none}.confirm-button:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px}[data-card-type=BABY_CAT]{--card-color: var(--card-baby-cat)}[data-card-type=BASIC_CAT]{--card-color: var(--card-basic-cat)}[data-card-type=MAGICAL_CAT]{--card-color: var(--card-magical-cat)}[data-card-type=UPGRADE]{--card-color: var(--card-upgrade)}[data-card-type=DOWNGRADE]{--card-color: var(--card-downgrade)}[data-card-type=MAGIC]{--card-color: var(--card-magic)}[data-card-type=INSTANT]{--card-color: var(--card-instant)}.glow-selectable{animation:glowPulse 2s infinite}.selected-glow{box-shadow:0 0 0 3px var(--color-success-400),0 0 20px #4ade8080}@media (max-width: 768px){.modal-overlay{padding:var(--space-2)}.modal-header{margin-bottom:var(--space-3)}.modal-title{font-size:var(--text-xl)}.modal-subtitle{font-size:var(--text-sm)}.modal-footer{flex-wrap:wrap;gap:var(--space-2)}.skip-button{padding:var(--space-3) var(--space-4);font-size:var(--text-sm);min-height:44px}.skip-button.flex-1{flex:1;min-width:120px}.source-card-badge{padding:var(--space-1) var(--space-2)}.card-name{font-size:var(--text-sm)}}.multi-option-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:var(--z-modal);background:radial-gradient(ellipse 80% 50% at 50% 0%,var(--night-glow-purple) 0%,transparent 50%),radial-gradient(ellipse 60% 40% at 90% 90%,var(--night-glow-blue) 0%,transparent 50%),var(--bg-modal);border-radius:var(--radius-xl);border:1px solid var(--border-dark);box-shadow:var(--shadow-2xl);animation:slideUp var(--transition-slow);padding:var(--space-6);min-width:320px;max-width:480px}.multi-option-modal .modal-header{text-align:center;margin-bottom:var(--space-5)}.multi-option-modal .modal-header h2{color:var(--color-gold);font-size:var(--text-xl);font-weight:var(--font-bold);margin:0 0 var(--space-2) 0}.multi-option-modal .modal-body{display:flex;flex-direction:column;gap:var(--space-4)}.multi-option-modal .option-buttons{display:flex;flex-direction:column;gap:var(--space-3)}.multi-option-modal .option-button{background:linear-gradient(135deg,var(--color-primary-500),var(--color-primary-600));border:1px solid var(--color-primary-400);color:var(--text-light);padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);font-size:var(--text-base);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-base);text-align:left}.multi-option-modal .option-button:hover{background:linear-gradient(135deg,var(--color-primary-400),var(--color-primary-500));transform:translateY(-2px);box-shadow:var(--shadow-glow-purple)}.multi-option-modal .option-button:active{transform:scale(.98)}.multi-option-modal .skip-button{margin-top:var(--space-2);align-self:center}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;background-color:var(--bg-app-gradient-start)}body{margin:0;padding:0;font-family:var(--font-family);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5;color:var(--text-primary);background:radial-gradient(ellipse 80% 50% at 50% 20%,rgba(90,80,140,.15) 0%,transparent 50%),radial-gradient(ellipse 60% 40% at 80% 60%,rgba(60,90,140,.12) 0%,transparent 45%),radial-gradient(ellipse 50% 35% at 20% 80%,rgba(100,70,130,.1) 0%,transparent 40%),linear-gradient(135deg,var(--bg-app-gradient-start),var(--bg-app-gradient-end));min-height:100vh}code{font-family:var(--font-family-mono)}#root{min-height:100vh}:focus-visible{outline:2px solid var(--color-indigo-500);outline-offset:2px}button{font-family:inherit}img{max-width:100%;height:auto}@media (max-width: 768px){html{scroll-behavior:auto}body{overscroll-behavior:none}}
