@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600;700&family=DM+Sans:wght@400;500;600;700&display=swap";:root{--bg-deep: #0c0e14;--bg-primary: #12151e;--bg-secondary: #1a1e2e;--bg-elevated: #242937;--bg-surface: #2d3344;--felt-dark: #0d2818;--felt-primary: #14432a;--felt-light: #1a5c3a;--felt-glow: rgba(26, 92, 58, .4);--accent-primary: #e8b4a8;--accent-secondary: #d4a08e;--accent-deep: #c08878;--accent-glow: rgba(232, 180, 168, .25);--gold-bright: #f0d78c;--gold-primary: #d4a855;--gold-deep: #b8923e;--gold-glow: rgba(212, 168, 85, .3);--success: #4ade80;--success-muted: #22c55e;--danger: #f87171;--danger-muted: #ef4444;--info: #818cf8;--info-muted: #6366f1;--warning: #fbbf24;--text-primary: #f8fafc;--text-secondary: #cbd5e1;--text-muted: #64748b;--text-disabled: #475569;--text-inverse: #0f172a;--card-white: #ffffff;--card-cream: #fefdfb;--red-suit: #dc2626;--black-suit: #1e293b;--glass-bg: rgba(255, 255, 255, .05);--glass-border: rgba(255, 255, 255, .1);--glass-highlight: rgba(255, 255, 255, .15);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .5);--shadow-xl: 0 16px 48px rgba(0, 0, 0, .6);--shadow-glow: 0 0 30px var(--accent-glow);--shadow-gold: 0 0 20px var(--gold-glow);--font-display: "Cormorant Garamond", Georgia, serif;--font-body: "DM Sans", -apple-system, BlinkMacSystemFont, "SF Pro Display", sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 2rem;--text-4xl: 2.5rem;--text-5xl: 3.5rem;--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;--card-width: 68px;--card-height: 95px;--card-radius: 10px;--card-scale-player: 1;--card-scale-opponent: .65;--card-scale-spread: .7;--header-height: 64px;--safe-area-top: env(safe-area-inset-top, 0px);--safe-area-bottom: env(safe-area-inset-bottom, 0px);--safe-area-left: env(safe-area-inset-left, 0px);--safe-area-right: env(safe-area-inset-right, 0px);--touch-target: 44px;--touch-target-lg: 52px;--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-out-back: cubic-bezier(.34, 1.56, .64, 1);--ease-spring: cubic-bezier(.175, .885, .32, 1.275);--duration-fast: .15s;--duration-normal: .25s;--duration-slow: .4s;--z-cards: 10;--z-selected: 20;--z-dragging: 30;--z-overlay: 100;--z-modal: 200;--z-toast: 300}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html{height:100%;-webkit-text-size-adjust:100%}body{font-family:var(--font-body);font-size:var(--text-base);line-height:1.5;color:var(--text-primary);background:var(--bg-deep);min-height:100%;min-height:100dvh;overflow:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#game-container{display:grid;grid-template-rows:auto 1fr auto auto;grid-template-areas:"header" "game" "player" "actions";min-height:100vh;min-height:100dvh;width:100%;position:relative;background:radial-gradient(ellipse 80% 50% at 50% 40%,var(--felt-light) 0%,transparent 70%),radial-gradient(ellipse 100% 80% at 50% 100%,var(--felt-dark) 0%,transparent 50%),linear-gradient(180deg,var(--bg-deep) 0%,var(--bg-primary) 50%,var(--bg-deep) 100%);padding:var(--space-2);padding-top:max(var(--space-2),var(--safe-area-top));padding-bottom:max(var(--space-2),var(--safe-area-bottom));padding-left:max(var(--space-2),var(--safe-area-left));padding-right:max(var(--space-2),var(--safe-area-right))}#game-container:before{content:"";position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.03'/%3E%3C/svg%3E");pointer-events:none;z-index:0}#game-container[data-player-count="2"]{grid-template-columns:1fr;grid-template-rows:auto auto 1fr auto auto;grid-template-areas:"header" "opponent-top" "table" "player" "actions";gap:var(--space-2)}#game-container[data-player-count="3"]{--card-scale-player: .85;grid-template-columns:60px 1fr 60px;grid-template-rows:auto 1fr auto auto;grid-template-areas:"header header header" "opponent-left table opponent-right" "player player player" "actions actions actions";gap:var(--space-2)}#game-container[data-player-count="4"]{--card-scale-player: .75;--card-scale-opponent: .55;grid-template-columns:55px 1fr 55px;grid-template-rows:auto auto 1fr auto auto;grid-template-areas:"header header header" ". opponent-top ." "opponent-left table opponent-right" "player player player" "actions actions actions";gap:var(--space-1)}#game-header{grid-area:header}#opponent-area{grid-area:opponent-top}.opponent-left-area{grid-area:opponent-left}.opponent-right-area{grid-area:opponent-right}#table-area{grid-area:table}#player-area{grid-area:player}#action-buttons{grid-area:actions}.opponent-left-area,.opponent-right-area{display:none}#game-container[data-player-count="3"] .opponent-left-area,#game-container[data-player-count="3"] .opponent-right-area,#game-container[data-player-count="4"] .opponent-left-area,#game-container[data-player-count="4"] .opponent-right-area{display:flex;align-items:center;justify-content:center}#game-container[data-player-count="3"] #opponent-area{display:none}#game-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:16px;position:relative;z-index:var(--z-overlay)}#header-left{display:flex;align-items:center;gap:var(--space-3)}#game-header h1{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:600;color:var(--accent-primary);letter-spacing:.15em;text-transform:uppercase;text-shadow:0 2px 10px var(--accent-glow)}#btn-rules,#btn-settings{display:flex;align-items:center;justify-content:center;min-width:var(--touch-target);min-height:var(--touch-target);padding:var(--space-2) var(--space-3);font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;color:var(--text-secondary);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:12px;cursor:pointer;transition:all var(--duration-fast) var(--ease-out-expo);text-transform:uppercase;letter-spacing:.05em}#btn-rules:hover,#btn-settings:hover{color:var(--text-primary);background:var(--glass-highlight);border-color:var(--accent-primary);transform:translateY(-1px)}#btn-rules:active,#btn-settings:active{transform:translateY(0) scale(.98)}#match-scores{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-2) var(--space-4);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:12px;font-size:var(--text-sm)}#match-scores .player-score{display:flex;align-items:center;gap:var(--space-2)}#match-scores .player-score .name{color:var(--text-muted);font-weight:500}#match-scores .player-score.human .name{color:var(--accent-primary)}#match-scores .player-score .points{color:var(--text-primary);font-weight:700;font-variant-numeric:tabular-nums}#chips-and-pot{display:flex;align-items:center;gap:var(--space-3)}#chip-display,#pot-display{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:20px;font-size:var(--text-sm);font-weight:600}.chip-icon:before{content:"🪙";font-size:1rem}#player-chips{color:var(--gold-primary);font-variant-numeric:tabular-nums}.pot-label{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}#pot-amount{color:var(--success);font-variant-numeric:tabular-nums}#pot-amount:before{content:"🪙 ";font-size:.875rem}#betting-controls{display:flex;align-items:center;gap:var(--space-2);padding-left:var(--space-3);margin-left:var(--space-3);border-left:1px solid var(--glass-border)}.bet-label{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase}.raise-btn{min-width:var(--touch-target);min-height:36px;padding:var(--space-2) var(--space-3);font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;color:var(--text-inverse);background:linear-gradient(135deg,var(--gold-bright) 0%,var(--gold-primary) 100%);border:none;border-radius:8px;cursor:pointer;transition:all var(--duration-fast) var(--ease-out-expo)}.raise-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-gold)}.raise-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}#betting-toggle{display:none}#message-area{position:fixed;top:calc(var(--header-height) + var(--space-4) + var(--safe-area-top));left:50%;transform:translate(-50%);padding:var(--space-3) var(--space-5);background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:12px;font-size:var(--text-sm);font-weight:500;color:var(--text-primary);z-index:var(--z-toast);opacity:0;pointer-events:none;transition:opacity var(--duration-normal) var(--ease-out-expo);box-shadow:var(--shadow-lg)}#message-area.visible{opacity:1}#message-area.error{background:#ef4444e6;border-color:var(--danger)}#message-area.success{background:#22c55ee6;border-color:var(--success)}#start-screen{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse 60% 40% at 50% 30%,var(--felt-primary) 0%,transparent 60%),linear-gradient(180deg,var(--bg-deep) 0%,var(--bg-primary) 100%);z-index:var(--z-modal)}#start-screen.hidden{display:none}.landing-content{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--space-8);animation:fadeIn .8s var(--ease-out-expo) forwards}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.landing-title{font-family:var(--font-display);font-size:clamp(3rem,12vw,5rem);font-weight:700;color:var(--accent-primary);letter-spacing:.2em;text-transform:uppercase;text-shadow:0 4px 20px var(--accent-glow),0 0 60px var(--accent-glow);margin-bottom:var(--space-2);animation:titleReveal 1s var(--ease-out-expo) forwards,titleGlow 4s ease-in-out 1.5s infinite}@keyframes titleReveal{0%{opacity:0;letter-spacing:.4em;filter:blur(10px)}to{opacity:1;letter-spacing:.2em;filter:blur(0)}}@keyframes titleGlow{0%,to{text-shadow:0 4px 20px var(--accent-glow),0 0 60px var(--accent-glow)}50%{text-shadow:0 4px 30px var(--accent-glow),0 0 80px var(--accent-glow)}}.landing-subtitle{font-family:var(--font-display);font-size:var(--text-xl);font-weight:500;font-style:italic;color:var(--text-secondary);letter-spacing:.1em;opacity:0;animation:fadeUp .6s var(--ease-out-expo) .3s forwards}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.landing-divider{width:180px;height:1px;background:linear-gradient(90deg,transparent,var(--accent-primary),transparent);margin:var(--space-8) 0;opacity:0;animation:expandLine .6s var(--ease-out-expo) .5s forwards}@keyframes expandLine{0%{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}#player-select{margin-bottom:var(--space-8);opacity:0;animation:fadeUp .6s var(--ease-out-expo) .7s forwards}#player-select label{display:block;margin-bottom:var(--space-3);font-size:var(--text-base);color:var(--text-secondary);letter-spacing:.05em}#num-players{appearance:none;padding:var(--space-3) var(--space-6) var(--space-3) var(--space-4);font-family:var(--font-body);font-size:var(--text-base);color:var(--text-primary);background:var(--bg-elevated);border:1px solid var(--glass-border);border-radius:12px;cursor:pointer;min-width:240px;transition:all var(--duration-fast) var(--ease-out-expo);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:18px}#num-players:hover{border-color:var(--accent-primary)}#num-players:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px var(--accent-glow)}#num-players option{background:var(--bg-elevated);color:var(--text-primary);padding:var(--space-2)}#btn-start-game{padding:var(--space-4) var(--space-10);font-family:var(--font-body);font-size:var(--text-lg);font-weight:600;color:var(--text-inverse);background:linear-gradient(135deg,var(--accent-primary) 0%,var(--accent-deep) 100%);border:none;border-radius:16px;cursor:pointer;letter-spacing:.1em;text-transform:uppercase;transition:all var(--duration-normal) var(--ease-out-expo);box-shadow:0 4px 20px var(--accent-glow),inset 0 1px #fff3;opacity:0;animation:fadeUp .6s var(--ease-out-expo) .9s forwards}#btn-start-game:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 8px 30px var(--accent-glow),inset 0 1px #ffffff4d}#btn-start-game:active{transform:translateY(-1px) scale(1)}.modal{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#000000b3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:var(--z-modal);padding:var(--space-4);animation:modalBgFade .3s var(--ease-out-expo)}@keyframes modalBgFade{0%{opacity:0}to{opacity:1}}.modal.hidden{display:none}.modal-content{background:var(--bg-secondary);border:1px solid var(--glass-border);border-radius:24px;padding:var(--space-8);max-width:min(480px,calc(100vw - var(--space-8)));width:100%;max-height:calc(100vh - var(--space-8));overflow-y:auto;box-shadow:var(--shadow-xl);animation:modalSlide .4s var(--ease-out-back);position:relative}@keyframes modalSlide{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-content h2{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:600;color:var(--accent-primary);text-align:center;margin-bottom:var(--space-4);letter-spacing:.05em}.modal-content p{font-size:var(--text-base);color:var(--text-secondary);line-height:1.6;margin-bottom:var(--space-4)}.modal-close{position:absolute;top:var(--space-4);right:var(--space-4);width:var(--touch-target);height:var(--touch-target);display:flex;align-items:center;justify-content:center;background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:50%;color:var(--text-secondary);font-size:var(--text-xl);cursor:pointer;transition:all var(--duration-fast) var(--ease-out-expo)}.modal-close:hover{background:var(--glass-highlight);color:var(--text-primary);transform:rotate(90deg)}#game-over-title{font-size:var(--text-4xl)}#game-over-message{text-align:center;font-size:var(--text-lg)}#final-scores{background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:16px;padding:var(--space-4);margin-bottom:var(--space-6)}#final-scores .score-row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) 0;border-bottom:1px solid var(--glass-border)}#final-scores .score-row:last-child{border-bottom:none}#final-scores .score-row.winner{color:var(--gold-primary);font-weight:600}#final-scores .score-row span{flex:1;text-align:center;font-variant-numeric:tabular-nums}#final-scores .score-row span:first-child{text-align:left}.chips-won-message{display:flex;align-items:center;justify-content:center;gap:var(--space-3);background:linear-gradient(135deg,#d4a85533,#b8923e1a);border:1px solid rgba(212,168,85,.3);border-radius:12px;padding:var(--space-4);margin-bottom:var(--space-6)}.chips-won-message strong{color:var(--gold-primary);font-size:var(--text-xl)}#game-over-buttons{display:flex;gap:var(--space-4);justify-content:center;flex-wrap:wrap}#btn-new-game,#btn-continue-round{min-height:var(--touch-target-lg);padding:var(--space-4) var(--space-8);font-family:var(--font-body);font-size:var(--text-base);font-weight:600;border:none;border-radius:14px;cursor:pointer;transition:all var(--duration-fast) var(--ease-out-expo);letter-spacing:.05em}#btn-new-game{color:var(--text-inverse);background:linear-gradient(135deg,var(--accent-primary),var(--accent-deep));box-shadow:0 4px 15px var(--accent-glow)}#btn-new-game:hover{transform:translateY(-2px);box-shadow:0 6px 20px var(--accent-glow)}#btn-continue-round{color:var(--text-primary);background:linear-gradient(135deg,var(--success-muted),var(--success));box-shadow:0 4px 15px #22c55e4d}#btn-continue-round:hover{transform:translateY(-2px);box-shadow:0 6px 20px #22c55e66}.rules-content{max-width:min(560px,calc(100vw - var(--space-8)));text-align:left}.rules-content h2{text-align:center;margin-bottom:var(--space-6)}.rules-content h3{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;color:var(--accent-primary);margin:var(--space-5) 0 var(--space-3) 0}.rules-content ul,.rules-content ol{margin-left:var(--space-5);margin-bottom:var(--space-4)}.rules-content li{margin-bottom:var(--space-2);color:var(--text-secondary);line-height:1.6}.rules-content strong{color:var(--text-primary)}.settings-section h3{font-family:var(--font-display);font-size:var(--text-lg);font-weight:600;color:var(--accent-primary);margin-bottom:var(--space-4);text-transform:uppercase;letter-spacing:.05em}.theme-options{display:flex;gap:var(--space-4);flex-wrap:wrap;justify-content:center}.theme-option{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-3);border-radius:12px;cursor:pointer;transition:all var(--duration-fast) var(--ease-out-expo)}.theme-option.selected .theme-preview{box-shadow:0 0 0 3px var(--accent-primary)}.theme-option span{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.theme-option.selected span{color:var(--accent-primary)}.hidden{display:none!important}button{font-family:inherit}button:disabled{opacity:.5;cursor:not-allowed!important}button:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.landing-title,.landing-subtitle,.landing-divider,#player-select,#btn-start-game,.landing-content{animation:none;opacity:1}}@media(max-width:480px){:root{--card-width: 52px;--card-height: 73px;--card-scale-opponent: .5;--header-height: 56px}#game-header{flex-direction:column;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:12px}#header-left{width:100%;justify-content:space-between}#game-header h1{font-size:var(--text-xl)}#btn-rules,#btn-settings{min-width:36px;min-height:36px;padding:var(--space-2);font-size:var(--text-xs)}#match-scores{width:100%;justify-content:center;font-size:var(--text-xs);padding:var(--space-2);gap:var(--space-3)}#chips-and-pot{width:100%;justify-content:center}#chip-display,#pot-display{padding:var(--space-1) var(--space-2);font-size:var(--text-xs)}#betting-controls{display:none}#betting-toggle{display:flex;min-width:var(--touch-target);min-height:36px;padding:var(--space-2) var(--space-3);font-family:var(--font-body);font-size:var(--text-xs);font-weight:600;color:var(--text-inverse);background:linear-gradient(135deg,var(--gold-bright),var(--gold-primary));border:none;border-radius:8px;cursor:pointer;align-items:center;justify-content:center}.modal-content{padding:var(--space-6);border-radius:20px}.modal-content h2{font-size:var(--text-2xl)}#game-over-buttons{flex-direction:column}#btn-new-game,#btn-continue-round{width:100%}}@media(max-width:380px){:root{--card-width: 44px;--card-height: 62px;--card-scale-opponent: .45}#game-header h1{font-size:var(--text-lg);letter-spacing:.1em}.landing-title{font-size:2.5rem}#btn-start-game{padding:var(--space-3) var(--space-6);font-size:var(--text-base)}}@media(max-height:500px)and (orientation:landscape){:root{--card-width: 44px;--card-height: 62px;--card-scale-opponent: .4;--header-height: 44px}#game-header{padding:var(--space-1) var(--space-3);flex-direction:row;border-radius:10px}#game-header h1{font-size:var(--text-base)}#match-scores,#chips-and-pot{display:none}.modal-content{max-height:calc(100vh - var(--space-4));padding:var(--space-4)}}@media(min-width:768px){:root{--card-width: 72px;--card-height: 100px;--card-scale-opponent: .7}#game-header{padding:var(--space-4) var(--space-6);border-radius:20px}#game-header h1{font-size:var(--text-3xl)}#game-container[data-player-count="3"]{grid-template-columns:80px 1fr 80px}#game-container[data-player-count="4"]{grid-template-columns:70px 1fr 70px}}@media(min-width:1024px){:root{--card-width: 78px;--card-height: 109px;--card-scale-opponent: .75}#game-container{max-width:1200px;margin:0 auto;padding:var(--space-4)}#game-container[data-player-count="3"]{grid-template-columns:100px 1fr 100px}#game-container[data-player-count="4"]{grid-template-columns:90px 1fr 90px}}@media(min-width:1440px){:root{--card-width: 85px;--card-height: 119px;--card-scale-opponent: .8}#game-container{max-width:1400px}}.card{position:relative;width:var(--card-width);height:var(--card-height);background:linear-gradient(165deg,#fff,#f8f9fa 40%,#f1f3f5);border-radius:var(--card-radius);box-shadow:0 1px 2px #00000026,0 4px 8px #0000001f,0 8px 16px #00000014,inset 0 1px #ffffffe6;transition:transform var(--duration-fast) var(--ease-out-expo),box-shadow var(--duration-fast) var(--ease-out-expo);flex-shrink:0;transform-style:preserve-3d;will-change:transform}.card:before{content:"";position:absolute;inset:0;border-radius:calc(var(--card-radius) - 1px);background:linear-gradient(135deg,rgba(255,255,255,.4) 0%,rgba(255,255,255,.1) 30%,transparent 50%,rgba(0,0,0,.02) 100%);pointer-events:none}.card:after{content:"";position:absolute;inset:1px;border-radius:calc(var(--card-radius) - 2px);border:1px solid rgba(0,0,0,.05);pointer-events:none}.card[data-suit=hearts],.card[data-suit=diamonds]{--suit-color: var(--red-suit)}.card[data-suit=clubs],.card[data-suit=spades]{--suit-color: var(--black-suit)}.card-corner{position:absolute;display:flex;flex-direction:column;align-items:center;line-height:1;color:var(--suit-color, var(--black-suit));font-family:Georgia,Times New Roman,serif}.card-corner .rank{font-weight:700;font-size:.9rem;letter-spacing:-.02em}.card-corner .suit{font-size:.75rem;margin-top:1px}.card-corner.top-left{top:6px;left:6px}.card-corner.bottom-right{bottom:6px;right:6px;transform:rotate(180deg)}.card-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--suit-color, var(--black-suit))}.card-center .suit-large{font-size:1.8rem;text-shadow:0 1px 2px rgba(0,0,0,.08);filter:drop-shadow(0 1px 1px rgba(0,0,0,.05))}.card[data-rank=J] .card-corner .rank,.card[data-rank=Q] .card-corner .rank,.card[data-rank=K] .card-corner .rank{font-style:italic;font-weight:600}.card[data-rank=A] .card-center .suit-large{font-size:2.4rem}.card.selectable{cursor:pointer}.card.selectable:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 8px 20px #0003,0 16px 32px #0000001f,0 0 0 2px var(--accent-primary),0 0 24px var(--accent-glow)}.card.selected{transform:translateY(-14px) scale(1.03);box-shadow:0 12px 28px #00000040,0 20px 40px #00000026,0 0 0 3px var(--accent-primary),0 0 30px var(--accent-glow);z-index:var(--z-selected)}.card.highlighted{animation:cardHighlight 1.5s ease-in-out infinite}@keyframes cardHighlight{0%,to{box-shadow:0 4px 12px #00000026,0 0 0 2px var(--accent-primary),0 0 15px var(--accent-glow)}50%{box-shadow:0 4px 12px #00000026,0 0 0 3px var(--accent-primary),0 0 25px var(--accent-glow)}}.card.highlight-valid{box-shadow:0 4px 12px #00000026,0 0 0 2px var(--success),0 0 20px #22c55e66}.card.highlight-invalid{box-shadow:0 4px 12px #00000026,0 0 0 2px var(--danger),0 0 20px #ef444466}.card[draggable=true]{cursor:grab}.card[draggable=true]:active{cursor:grabbing}.card.dragging{opacity:.85;transform:scale(1.08) rotate(3deg);box-shadow:0 20px 50px #00000059,0 0 0 2px var(--accent-primary),0 0 30px var(--accent-glow);z-index:var(--z-dragging);cursor:grabbing;transition:none}.card.drag-over{transform:translate(8px) scale(1.02);box-shadow:-4px 0 0 var(--accent-primary),0 4px 12px #0003}.card.card-back{background:repeating-linear-gradient(45deg,transparent,transparent 4px,rgba(255,255,255,.02) 4px,rgba(255,255,255,.02) 8px),linear-gradient(140deg,#1e3a5f,#2d5a87 40%,#1e3a5f);border:none;color:transparent}.card.card-back:before{background:radial-gradient(ellipse 60% 40% at 30% 25%,rgba(255,255,255,.1) 0%,transparent 50%),linear-gradient(135deg,rgba(255,255,255,.1) 0%,transparent 50%)}.card.card-back:after{content:"";position:absolute;inset:8px;border:2px solid rgba(255,255,255,.12);border-radius:calc(var(--card-radius) - 6px)}.card.card-back .card-back-ornament{position:absolute;top:50%;left:50%;width:24px;height:24px;transform:translate(-50%,-50%) rotate(45deg);background:linear-gradient(135deg,#e8b4a84d,#e8b4a826);border:1px solid rgba(232,180,168,.4);pointer-events:none}.card.card-placeholder{background:#ffffff08;border:2px dashed var(--glass-border);box-shadow:none}.card.card-placeholder:before,.card.card-placeholder:after{display:none}.placeholder-text{color:var(--text-muted);font-size:var(--text-xs);text-align:center;opacity:.6}.deck-stack,.card-stack{position:relative;width:var(--card-width);height:var(--card-height);cursor:pointer}.deck-stack .card,.card-stack .card{position:absolute;top:0;left:0;pointer-events:none}.deck-stack .card:nth-child(1){top:0;left:0}.deck-stack .card:nth-child(2){top:-1px;left:-1px}.deck-stack .card:nth-child(3){top:-2px;left:-2px}.deck-stack:hover .card:last-of-type{transform:translateY(-3px)}.deck-count-badge{position:absolute;bottom:-22px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,var(--accent-primary),var(--accent-deep));color:var(--text-inverse);padding:3px 10px;border-radius:10px;font-size:var(--text-xs);font-weight:700;z-index:var(--z-cards);box-shadow:var(--shadow-sm);font-variant-numeric:tabular-nums}@keyframes cardDeal{0%{opacity:0;transform:translateY(-60px) rotate(-15deg) scale(.7)}60%{opacity:1}to{opacity:1;transform:translateY(0) rotate(0) scale(1)}}.card.dealing{animation:cardDeal .4s var(--ease-out-back) forwards}@keyframes cardFlip{0%{transform:perspective(800px) rotateY(0) scale(1)}50%{transform:perspective(800px) rotateY(90deg) scale(1.1)}to{transform:perspective(800px) rotateY(0) scale(1)}}.card.flipping{animation:cardFlip .5s var(--ease-out-expo)}@keyframes cardSlide{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}.card.sliding{animation:cardSlide .3s var(--ease-out-expo) forwards}@keyframes cardDiscard{0%{transform:translateY(0) rotate(0)}to{transform:translateY(-30px) rotate(8deg) scale(.95);opacity:.7}}.card.discarding{animation:cardDiscard .35s var(--ease-out-expo) forwards}@keyframes cardDraw{0%{transform:scale(1)}40%{transform:scale(1.12) translateY(-12px)}to{transform:scale(1) translateY(0)}}.card.drawing{animation:cardDraw .4s var(--ease-out-back)}@keyframes cardPop{0%{transform:scale(1)}50%{transform:scale(1.08)}to{transform:scale(1)}}.card.pop{animation:cardPop .25s var(--ease-spring)}@keyframes spreadReveal{0%{opacity:0;transform:scale(var(--card-scale-spread)) translateY(20px)}to{opacity:1;transform:scale(var(--card-scale-spread)) translateY(0)}}.spread-cards .card{animation:spreadReveal .3s var(--ease-out-back) forwards}.spread-cards .card:nth-child(1){animation-delay:0s}.spread-cards .card:nth-child(2){animation-delay:.05s}.spread-cards .card:nth-child(3){animation-delay:.1s}.spread-cards .card:nth-child(4){animation-delay:.15s}.spread-cards .card:nth-child(5){animation-delay:.2s}.spread-cards .card:nth-child(6){animation-delay:.25s}@media(max-width:480px){.card{border-radius:calc(var(--card-radius) * .85)}.card-corner{font-size:.65rem}.card-corner .rank{font-size:.7rem}.card-corner .suit{font-size:.6rem}.card-corner.top-left{top:4px;left:4px}.card-corner.bottom-right{bottom:4px;right:4px}.card-center .suit-large{font-size:1.4rem}.card[data-rank=A] .card-center .suit-large{font-size:1.8rem}.deck-count-badge{bottom:-18px;font-size:.65rem;padding:2px 8px}}@media(max-width:380px){.card-corner{font-size:.55rem}.card-corner .rank{font-size:.6rem}.card-corner .suit{font-size:.5rem}.card-corner.top-left{top:3px;left:3px}.card-corner.bottom-right{bottom:3px;right:3px}.card-center .suit-large{font-size:1.1rem}.card[data-rank=A] .card-center .suit-large{font-size:1.4rem}}@media(min-width:768px){.card-corner .rank{font-size:1rem}.card-corner .suit{font-size:.85rem}.card-center .suit-large{font-size:2rem}.card[data-rank=A] .card-center .suit-large{font-size:2.6rem}}@media(min-width:1024px){.card-corner .rank{font-size:1.1rem}.card-center .suit-large{font-size:2.2rem}}@media(-webkit-min-device-pixel-ratio:2),(min-resolution:192dpi){.card:after{border-width:.5px}}@media(prefers-reduced-motion:reduce){.card,.card.dealing,.card.flipping,.card.sliding,.card.discarding,.card.drawing,.card.pop,.card.dragging,.card.drag-over,.card.highlighted,.spread-cards .card{animation:none;transition:none}}#opponent-area{display:flex;justify-content:center;align-items:flex-start;gap:var(--space-6);padding:var(--space-3);min-height:100px;position:relative;z-index:var(--z-cards)}#game-container[data-player-count="4"] #opponent-area{min-height:80px;padding:var(--space-2);gap:var(--space-4)}.opponent-left-area,.opponent-right-area{display:flex;align-items:center;justify-content:center;padding:var(--space-2);position:relative;z-index:var(--z-cards)}.opponent-hand{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);position:relative}.opponent-name{font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;color:var(--text-primary);text-shadow:0 1px 4px rgba(0,0,0,.5);white-space:nowrap}.opponent-cards{display:flex;justify-content:center;height:calc(var(--card-height) * var(--card-scale-opponent));align-items:flex-start;position:relative}.opponent-cards .card{transform:scale(var(--card-scale-opponent));transform-origin:top center;transition:margin-left var(--duration-fast) var(--ease-out-expo)}.opponent-cards .card:first-child{margin-left:0}.opponent-info{font-size:var(--text-xs);color:var(--text-muted);font-variant-numeric:tabular-nums}.opponent-left-area .opponent-hand,.opponent-right-area .opponent-hand{flex-direction:column}.opponent-left-area .opponent-cards,.opponent-right-area .opponent-cards{flex-direction:column;height:auto;width:calc(var(--card-width) * var(--card-scale-opponent))}.opponent-left-area .opponent-cards .card,.opponent-right-area .opponent-cards .card{margin-left:0!important;margin-top:calc(var(--card-height) * var(--card-scale-opponent) * -.72)}.opponent-left-area .opponent-cards .card:first-child,.opponent-right-area .opponent-cards .card:first-child{margin-top:0}.opponent-left-area .opponent-info,.opponent-right-area .opponent-info{display:none}.opponent-left-area .opponent-name,.opponent-right-area .opponent-name{writing-mode:vertical-rl;text-orientation:mixed;font-size:var(--text-xs)}#table-area{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:var(--space-6);padding:var(--space-4);position:relative;z-index:var(--z-cards)}#spreads-area{display:flex;flex-wrap:wrap;gap:var(--space-4);justify-content:center;align-items:center;flex:1;max-width:60%;min-height:80px;padding:var(--space-3)}#spreads-area:empty{display:none}.spread{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-3);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:12px;transition:all var(--duration-fast) var(--ease-out-expo)}.spread.can-hit{border-color:var(--accent-primary);box-shadow:0 0 20px var(--accent-glow);cursor:pointer;animation:spreadPulse 2s ease-in-out infinite}@keyframes spreadPulse{0%,to{box-shadow:0 0 20px var(--accent-glow)}50%{box-shadow:0 0 30px var(--accent-glow)}}.spread-owner{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.spread-cards{display:flex;height:calc(var(--card-height) * var(--card-scale-spread));align-items:flex-start}.spread-cards .card{transform:scale(var(--card-scale-spread));transform-origin:top center;transition:margin-left var(--duration-fast) var(--ease-out-expo)}.spread-cards .card:first-child{margin-left:0}#deck-area{display:flex;gap:var(--space-6);align-items:center;justify-content:center;flex-shrink:0}#deck,#discard-pile{position:relative;width:var(--card-width);height:var(--card-height);cursor:pointer;transition:transform var(--duration-fast) var(--ease-out-expo)}#deck:hover:not(.disabled),#discard-pile:hover:not(.disabled){transform:scale(1.05)}#deck:active:not(.disabled),#discard-pile:active:not(.disabled){transform:scale(.98)}#deck.disabled,#discard-pile.disabled{opacity:.5;cursor:not-allowed}#deck-count{position:absolute;bottom:-24px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,var(--accent-primary),var(--accent-deep));color:var(--text-inverse);padding:var(--space-1) var(--space-3);border-radius:10px;font-size:var(--text-xs);font-weight:700;white-space:nowrap;box-shadow:var(--shadow-sm)}#discard-pile .card{position:absolute;top:0;left:0}#discard-label{position:absolute;bottom:-24px;left:50%;transform:translate(-50%);color:var(--text-muted);font-size:var(--text-xs);white-space:nowrap}.empty-pile{width:var(--card-width);height:var(--card-height);border:2px dashed var(--glass-border);border-radius:var(--card-radius);display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:var(--text-xs)}#player-area{display:flex;flex-direction:column;align-items:center;padding:var(--space-3);position:relative;z-index:var(--z-cards)}#player-info{display:flex;justify-content:center;align-items:center;gap:var(--space-4);margin-bottom:var(--space-3);font-size:var(--text-sm)}#player-name{font-weight:700;color:var(--accent-primary)}#card-count,#point-count{color:var(--text-secondary);font-variant-numeric:tabular-nums}#player-hand{display:flex;justify-content:center;align-items:flex-end;min-height:calc(var(--card-height) * var(--card-scale-player) + 20px);width:100%;padding:var(--space-2);overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--accent-primary) transparent}#player-hand::-webkit-scrollbar{height:4px}#player-hand::-webkit-scrollbar-track{background:transparent}#player-hand::-webkit-scrollbar-thumb{background:var(--accent-primary);border-radius:2px}#player-hand .card{transform:scale(var(--card-scale-player));transform-origin:bottom center;transition:margin-left var(--duration-fast) var(--ease-out-expo),transform var(--duration-fast) var(--ease-out-expo);flex-shrink:0}#player-hand .card.selected{transform:scale(var(--card-scale-player)) translateY(-16px);z-index:var(--z-selected)}#action-buttons{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--space-2);padding:var(--space-3) var(--space-4);padding-bottom:max(var(--space-3),var(--safe-area-bottom));background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:16px 16px 0 0;position:relative;z-index:var(--z-overlay)}#action-buttons button{min-height:var(--touch-target);padding:var(--space-3) var(--space-2);font-family:var(--font-body);font-size:var(--text-sm);font-weight:600;border:none;border-radius:12px;cursor:pointer;transition:all var(--duration-fast) var(--ease-out-expo);text-transform:uppercase;letter-spacing:.03em;touch-action:manipulation}#action-buttons button:active:not(:disabled){transform:scale(.96)}#btn-form-spread{background:linear-gradient(135deg,var(--success-muted),var(--success));color:var(--text-inverse);box-shadow:0 2px 8px #22c55e4d}#btn-form-spread:hover:not(:disabled){box-shadow:0 4px 12px #22c55e66;transform:translateY(-2px)}#btn-hit-spread{background:linear-gradient(135deg,var(--info-muted),var(--info));color:#fff;box-shadow:0 2px 8px #6366f14d}#btn-hit-spread:hover:not(:disabled){box-shadow:0 4px 12px #6366f166;transform:translateY(-2px)}#btn-knock{background:linear-gradient(135deg,var(--danger-muted),var(--danger));color:#fff;box-shadow:0 2px 8px #ef44444d}#btn-knock:hover:not(:disabled){box-shadow:0 4px 12px #ef444466;transform:translateY(-2px)}#btn-draw{background:linear-gradient(135deg,#7c3aed,#8b5cf6);color:#fff;box-shadow:0 2px 8px #7c3aed4d}#btn-draw:hover:not(:disabled){box-shadow:0 4px 12px #7c3aed66;transform:translateY(-2px)}#btn-discard{background:linear-gradient(135deg,var(--accent-deep),var(--accent-primary));color:var(--text-inverse);box-shadow:0 2px 8px var(--accent-glow)}#btn-discard:hover:not(:disabled){box-shadow:0 4px 12px var(--accent-glow);transform:translateY(-2px)}#betting-controls{grid-column:1 / -1;display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--glass-border);margin-top:var(--space-1)}.thinking-indicator{display:inline-flex;align-items:center;gap:var(--space-2)}.thinking-dots{display:flex;gap:4px}.thinking-dots span{width:6px;height:6px;background:var(--accent-primary);border-radius:50%;animation:thinkingBounce 1.2s ease-in-out infinite}.thinking-dots span:nth-child(1){animation-delay:0s}.thinking-dots span:nth-child(2){animation-delay:.15s}.thinking-dots span:nth-child(3){animation-delay:.3s}@keyframes thinkingBounce{0%,80%,to{transform:translateY(0);opacity:.5}40%{transform:translateY(-6px);opacity:1}}#game-container[data-player-count="3"] #table-area{gap:var(--space-4);padding:var(--space-2)}#game-container[data-player-count="3"] #spreads-area{max-width:50%;gap:var(--space-3)}#game-container[data-player-count="3"] #deck-area{gap:var(--space-4)}#game-container[data-player-count="3"] #player-hand{min-height:calc(var(--card-height) * .85 + 16px)}#game-container[data-player-count="4"] #table-area{gap:var(--space-3);padding:var(--space-1)}#game-container[data-player-count="4"] #spreads-area{max-width:45%;gap:var(--space-2);min-height:60px}#game-container[data-player-count="4"] #deck-area{gap:var(--space-3)}#game-container[data-player-count="4"] #deck,#game-container[data-player-count="4"] #discard-pile{transform:scale(.85)}#game-container[data-player-count="4"] #player-hand{min-height:calc(var(--card-height) * .75 + 14px)}#game-container[data-player-count="4"] #player-info{font-size:var(--text-xs);gap:var(--space-3)}@media(max-width:480px){#opponent-area{min-height:70px;padding:var(--space-2);gap:var(--space-3)}.opponent-name{font-size:var(--text-xs)}.opponent-info{display:none}#table-area{flex-direction:column;gap:var(--space-3);padding:var(--space-2)}#spreads-area{max-width:100%;gap:var(--space-2)}#deck-area{gap:var(--space-4)}#deck-count,#discard-label{display:none}#player-info{font-size:var(--text-xs);gap:var(--space-3);margin-bottom:var(--space-2)}#player-hand{min-height:calc(var(--card-height) + 10px);padding:var(--space-1)}#action-buttons{grid-template-columns:repeat(3,1fr);grid-template-areas:"spread hit drop" "draw discard raise";gap:var(--space-2);padding:var(--space-2);border-radius:14px 14px 0 0}#btn-form-spread{grid-area:spread}#btn-hit-spread{grid-area:hit}#btn-knock{grid-area:drop}#btn-draw{grid-area:draw}#btn-discard{grid-area:discard}#betting-toggle{grid-area:raise}#action-buttons button{min-height:40px;font-size:var(--text-xs);padding:var(--space-2);border-radius:10px}#betting-controls{grid-column:1 / -1;max-height:0;overflow:hidden;opacity:0;padding:0;margin:0;border:none;transition:all var(--duration-normal) var(--ease-out-expo)}#betting-controls.expanded{max-height:50px;opacity:1;padding-top:var(--space-2);margin-top:var(--space-1);border-top:1px solid var(--glass-border)}#game-container[data-player-count="3"]{grid-template-columns:45px 1fr 45px}#game-container[data-player-count="3"] .opponent-left-area,#game-container[data-player-count="3"] .opponent-right-area{padding:var(--space-1)}#game-container[data-player-count="4"]{grid-template-columns:40px 1fr 40px}#game-container[data-player-count="4"] #opponent-area{min-height:55px;padding:var(--space-1)}#game-container[data-player-count="4"] .opponent-name{display:none}#game-container[data-player-count="4"] .opponent-left-area,#game-container[data-player-count="4"] .opponent-right-area{padding:0}#game-container[data-player-count="4"] #deck,#game-container[data-player-count="4"] #discard-pile{transform:scale(.75)}}@media(max-width:380px){#opponent-area{min-height:55px;gap:var(--space-2)}#table-area{gap:var(--space-2)}#deck-area{gap:var(--space-3)}#deck,#discard-pile{transform:scale(.9)}#action-buttons{gap:var(--space-1);padding:var(--space-1)}#action-buttons button{min-height:36px;font-size:.65rem;padding:var(--space-1);border-radius:8px}#game-container[data-player-count="3"]{grid-template-columns:35px 1fr 35px}#game-container[data-player-count="4"]{grid-template-columns:30px 1fr 30px}#game-container[data-player-count="4"] #deck,#game-container[data-player-count="4"] #discard-pile{transform:scale(.65)}}@media(max-height:500px)and (orientation:landscape){#opponent-area{min-height:50px;padding:var(--space-1)}#table-area{gap:var(--space-2);padding:var(--space-1)}#spreads-area{min-height:40px}#deck,#discard-pile{transform:scale(.7)}#player-area{padding:var(--space-1)}#player-info{margin-bottom:var(--space-1)}#player-hand{min-height:50px}#action-buttons{grid-template-columns:repeat(5,1fr);grid-template-areas:none;padding:var(--space-1)}#action-buttons button{grid-area:unset;min-height:32px;font-size:.6rem;padding:var(--space-1)}#betting-controls{display:none}#game-container[data-player-count="3"]{grid-template-columns:50px 1fr 50px}#game-container[data-player-count="4"]{grid-template-columns:40px 1fr 40px}#game-container[data-player-count="4"] #deck,#game-container[data-player-count="4"] #discard-pile{transform:scale(.55)}}@media(min-width:768px){#opponent-area{min-height:120px;gap:var(--space-8)}.opponent-name{font-size:var(--text-base)}#table-area{gap:var(--space-8);padding:var(--space-5)}#spreads-area{gap:var(--space-5)}#deck-area{gap:var(--space-8)}#player-info{font-size:var(--text-base);gap:var(--space-5);margin-bottom:var(--space-4)}#player-hand{min-height:calc(var(--card-height) + 25px)}#action-buttons{gap:var(--space-3);padding:var(--space-4)}#action-buttons button{min-height:var(--touch-target-lg);font-size:var(--text-sm);padding:var(--space-3);border-radius:14px}}@media(min-width:1024px){#opponent-area{min-height:140px;gap:var(--space-10)}#table-area{gap:var(--space-10);padding:var(--space-6)}#spreads-area{gap:var(--space-6);max-width:55%}#deck-area{gap:var(--space-10)}#player-info{gap:var(--space-6)}#player-hand{min-height:calc(var(--card-height) + 30px)}#action-buttons{gap:var(--space-4);padding:var(--space-5);border-radius:20px 20px 0 0}#action-buttons button{font-size:var(--text-base)}}@media(min-width:1440px){#opponent-area{min-height:160px;gap:var(--space-12)}#table-area{gap:var(--space-12)}#spreads-area{max-width:50%}}@media(hover:none)and (pointer:coarse){#action-buttons button:active:not(:disabled){transform:scale(.94)}.card:active{transform:scale(.96)}#deck:active:not(.disabled),#discard-pile:active:not(.disabled){transform:scale(.94)}}[data-deck-theme=rosegold] .card.card-back,.card.card-back{background:repeating-linear-gradient(45deg,transparent,transparent 5px,rgba(232,180,168,.04) 5px,rgba(232,180,168,.04) 10px),radial-gradient(ellipse 80% 60% at 50% 30%,rgba(232,180,168,.15) 0%,transparent 60%),linear-gradient(150deg,#1a1e2e,#242937,#1a1e2e);border:2px solid var(--accent-secondary);box-shadow:inset 0 0 25px #0006,inset 0 0 60px #e8b4a814,0 4px 16px #00000080}[data-deck-theme=rosegold] .card.card-back:before,.card.card-back:before{content:"";position:absolute;inset:8px;border:1.5px solid rgba(232,180,168,.25);border-radius:calc(var(--card-radius) - 6px);pointer-events:none}[data-deck-theme=rosegold] .card.card-back:after,.card.card-back:after{content:"";position:absolute;top:50%;left:50%;width:28px;height:28px;transform:translate(-50%,-50%) rotate(45deg);background:linear-gradient(135deg,#e8b4a840,#e8b4a81a);border:1.5px solid rgba(232,180,168,.4);border-radius:4px;pointer-events:none}[data-deck-theme=midnight] .card.card-back{background:repeating-linear-gradient(0deg,transparent,transparent 10px,rgba(212,168,85,.05) 10px,rgba(212,168,85,.05) 11px),repeating-linear-gradient(90deg,transparent,transparent 10px,rgba(212,168,85,.05) 10px,rgba(212,168,85,.05) 11px),linear-gradient(180deg,#0a0c10,#141820,#0a0c10);border:2.5px solid var(--gold-primary);box-shadow:inset 0 0 30px #0009,inset 0 0 80px #d4a8550d,0 4px 16px #0009,0 0 30px #d4a8551a}[data-deck-theme=midnight] .card.card-back:before{border:1px solid rgba(212,168,85,.2)}[data-deck-theme=midnight] .card.card-back:after{width:22px;height:22px;background:var(--gold-primary);border:none;box-shadow:0 0 15px #d4a85580}[data-deck-theme=royal] .card.card-back{background:radial-gradient(ellipse 50% 40% at 25% 25%,rgba(212,168,85,.1) 0%,transparent 50%),radial-gradient(ellipse 50% 40% at 75% 75%,rgba(212,168,85,.1) 0%,transparent 50%),linear-gradient(145deg,#1a1228,#2d1f4a 45%,#1a1228);border:2px solid #7c5cbd;box-shadow:inset 0 0 25px #00000080,inset 0 0 50px #7c5cbd1a,0 4px 16px #00000080}[data-deck-theme=royal] .card.card-back:before{border:2px solid rgba(212,168,85,.3);border-radius:6px}[data-deck-theme=royal] .card.card-back:after{width:36px;height:36px;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(212,168,85,.25) 0%,transparent 70%);border:2px solid rgba(212,168,85,.4);border-radius:50%}[data-deck-theme=emerald] .card.card-back{background:radial-gradient(circle at 30% 30%,rgba(167,196,188,.1) 0%,transparent 35%),radial-gradient(circle at 70% 70%,rgba(167,196,188,.1) 0%,transparent 35%),linear-gradient(145deg,#0a2118,#145238 45%,#0a2118);border:2px solid #5a9a82;box-shadow:inset 0 0 25px #0006,inset 0 0 60px #5a9a821a,0 4px 16px #00000080}[data-deck-theme=emerald] .card.card-back:before{border:2px solid rgba(167,196,188,.2);border-radius:8px}[data-deck-theme=emerald] .card.card-back:after{width:30px;height:30px;transform:translate(-50%,-50%);background:transparent;border:3px solid rgba(167,196,188,.35);border-radius:50%}[data-deck-theme=crimson] .card.card-back{background:repeating-linear-gradient(135deg,transparent,transparent 12px,rgba(0,0,0,.15) 12px,rgba(0,0,0,.15) 24px),linear-gradient(145deg,#2a0a0a,#5a1a1a 45%,#2a0a0a);border:2px solid #cc4444;box-shadow:inset 0 0 30px #00000080,inset 0 0 60px #cc44441a,0 4px 16px #00000080}[data-deck-theme=crimson] .card.card-back:before{border:2px solid rgba(204,68,68,.2);border-radius:5px}[data-deck-theme=crimson] .card.card-back:after{width:24px;height:24px;background:linear-gradient(135deg,#c44,#8b1a1a);border:2px solid rgba(255,255,255,.15);border-radius:2px}[data-deck-theme=ocean] .card.card-back{background:radial-gradient(ellipse 100% 80% at 50% 0%,rgba(59,130,246,.15) 0%,transparent 50%),radial-gradient(ellipse 100% 80% at 50% 100%,rgba(14,165,233,.1) 0%,transparent 50%),linear-gradient(180deg,#0c1929,#1a365d,#0c1929);border:2px solid #4a8fd4;box-shadow:inset 0 0 25px #0006,inset 0 0 60px #3b82f614,0 4px 16px #00000080}[data-deck-theme=ocean] .card.card-back:before{border:1.5px solid rgba(74,143,212,.2);border-radius:4px}[data-deck-theme=ocean] .card.card-back:after{width:26px;height:26px;background:transparent;border:2px solid rgba(74,143,212,.4);border-radius:50%}.theme-preview{width:48px;height:68px;border-radius:6px;position:relative;cursor:pointer;transition:all var(--duration-fast) var(--ease-out-expo);overflow:hidden}.theme-preview:hover{transform:scale(1.08)}.theme-preview.selected{box-shadow:0 0 0 3px var(--accent-primary),0 0 20px var(--accent-glow)}.theme-preview:before{content:"";position:absolute;inset:5px;border:1px solid rgba(255,255,255,.15);border-radius:3px;pointer-events:none}.theme-preview:after{content:"";position:absolute;top:50%;left:50%;width:12px;height:12px;transform:translate(-50%,-50%) rotate(45deg);border:1px solid rgba(255,255,255,.2);border-radius:2px;pointer-events:none}.theme-preview.theme-rosegold{background:linear-gradient(150deg,#1a1e2e,#242937);border:2px solid var(--accent-secondary)}.theme-preview.theme-rosegold:after{background:#e8b4a84d;border-color:var(--accent-primary)}.theme-preview.theme-midnight{background:linear-gradient(180deg,#0a0c10,#141820);border:2px solid var(--gold-primary)}.theme-preview.theme-midnight:after{background:var(--gold-primary);box-shadow:0 0 8px #d4a85580}.theme-preview.theme-royal{background:linear-gradient(145deg,#1a1228,#2d1f4a);border:2px solid #7c5cbd}.theme-preview.theme-royal:after{width:14px;height:14px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(212,168,85,.3) 0%,transparent 70%);border-color:#d4a85580}.theme-preview.theme-emerald{background:linear-gradient(145deg,#0a2118,#145238);border:2px solid #5a9a82}.theme-preview.theme-emerald:after{border-radius:50%;background:transparent;border-color:#a7c4bc66}.theme-preview.theme-crimson{background:linear-gradient(145deg,#2a0a0a,#5a1a1a);border:2px solid #cc4444}.theme-preview.theme-crimson:after{background:linear-gradient(135deg,#c44,#8b1a1a);border-radius:1px}.theme-preview.theme-ocean{background:linear-gradient(180deg,#0c1929,#1a365d);border:2px solid #4a8fd4}.theme-preview.theme-ocean:after{border-radius:50%;background:transparent;border-color:#4a8fd480}#settings-modal .modal-content{max-width:min(420px,calc(100vw - var(--space-6)))}.settings-section{margin-bottom:var(--space-6)}.settings-section:last-child{margin-bottom:0}.settings-section h3{font-family:var(--font-display);font-size:var(--text-base);font-weight:600;color:var(--accent-primary);margin-bottom:var(--space-4);text-transform:uppercase;letter-spacing:.08em}.theme-options{display:flex;gap:var(--space-3);flex-wrap:wrap;justify-content:center}.theme-option{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-3);border-radius:12px;cursor:pointer;transition:all var(--duration-fast) var(--ease-out-expo);min-width:70px}.theme-option:hover{background:var(--glass-bg)}.theme-option.selected{background:var(--glass-highlight)}.theme-option span{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;text-align:center}.theme-option.selected span{color:var(--accent-primary);font-weight:600}.theme-option:focus{outline:none}.theme-option:focus-visible{outline:2px solid var(--accent-primary);outline-offset:2px}.stats-display{display:flex;flex-direction:column;gap:var(--space-2)}.stat-row{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) var(--space-3);border-radius:8px;background:var(--glass-bg)}.stat-label{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.stat-value{font-size:var(--text-sm);font-weight:600;color:var(--accent-primary)}@media(max-width:480px){.theme-preview{width:42px;height:60px}.theme-preview:after{width:10px;height:10px}.theme-option{padding:var(--space-2);min-width:60px}.theme-option span{font-size:.6rem}.theme-options{gap:var(--space-2)}}
