@import"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&display=swap";.learn-page{max-width:1100px}.learn-page .page-header{margin-bottom:2.5rem}.video-library{margin-top:.5rem}.video-grid{display:grid;gap:2rem;grid-template-columns:1fr}@media (min-width: 720px){.video-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1000px){.video-grid{grid-template-columns:repeat(3,1fr)}}.video-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden;display:flex;flex-direction:column;transition:border-color .2s,box-shadow .2s}.video-card:hover{border-color:var(--border-focus);box-shadow:0 8px 24px #00000040}.video-card-embed{position:relative;width:100%;padding-top:56.25%;background:var(--bg)}.video-card-embed iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none}.video-card-body{padding:1.25rem;display:flex;flex-direction:column;gap:.5rem;flex:1}.video-card-title{font-size:1.0625rem;font-weight:600;margin:0;line-height:1.35;color:var(--text)}.video-card-meta{font-size:.8125rem;color:var(--text-muted);margin:0}.video-card-desc{font-size:.9375rem;color:var(--text-secondary);margin:0;line-height:1.5;flex:1}.video-card-link{font-size:.875rem;font-weight:500;margin-top:.25rem}.video-card-link:hover{text-decoration:none}.learn-rules{margin-top:2rem;padding-top:2rem}.learn-rules-intro{margin:0 0 1.25rem;color:var(--text-secondary);line-height:1.6}.learn-rules-title{font-size:1.5rem;font-weight:700;margin:0 0 1rem;color:var(--text)}.learn-variations{margin-top:3rem;padding-top:2.5rem;border-top:1px solid var(--border)}.learn-variations-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem}.learn-variations-tab{padding:.5rem 1rem;font-size:.9375rem;font-weight:500;color:var(--text-secondary);background:var(--surface);border:1px solid var(--border);border-radius:8px;cursor:pointer;transition:color .2s,background .2s,border-color .2s}.learn-variations-tab:hover{color:var(--text);background:var(--surface-hover);border-color:var(--border-focus)}.learn-variations-tab.active{color:var(--text-inverse);background:var(--accent);border-color:var(--accent)}.learn-variations-panel{padding:1rem 0}.learn-variations-panel p{margin:0;line-height:1.65;color:var(--text-secondary)}.video-library-favorites{margin-top:3.5rem;padding-top:2.5rem;border-top:1px solid var(--border)}.video-library-learn{margin-top:2.5rem;padding-top:2.5rem;border-top:1px solid var(--border)}.learn-rules h3{font-size:1.125rem;font-weight:600;margin:1.5rem 0 .5rem;color:var(--text)}.learn-rules h3:first-of-type{margin-top:0}.learn-rules p{margin:0 0 .75rem;line-height:1.6;color:var(--text-secondary)}.learn-rules ul{margin:0 0 1rem;padding-left:1.5rem;line-height:1.6;color:var(--text-secondary)}.learn-rules li{margin-bottom:.35rem}.learn-rules strong{color:var(--text)}.disclosure{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:.75rem 1rem;margin-bottom:2rem;font-size:.875rem;color:var(--text-secondary)}.empty-state{background:var(--surface);border:1px dashed var(--border);border-radius:8px;padding:2rem;text-align:center;color:var(--text-secondary)}.empty-state code{background:var(--bg);padding:.2em .5em;border-radius:4px;font-size:.9em}.marketplace-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem}.marketplace-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden;transition:border-color .2s,box-shadow .2s}.marketplace-card:hover{border-color:var(--accent);box-shadow:0 4px 12px #0000004d}.marketplace-card-link{display:block;color:inherit;text-decoration:none;height:100%}.marketplace-card-link:hover{text-decoration:none;color:inherit}.marketplace-card-image{aspect-ratio:1;background:var(--bg);overflow:hidden}.marketplace-card-image img{width:100%;height:100%;object-fit:cover}.marketplace-card-body{padding:1rem}.marketplace-card-title{margin:0 0 .5rem;font-size:1.125rem;font-weight:600}.marketplace-card-desc{margin:0 0 .5rem;font-size:.875rem;color:var(--text-secondary);line-height:1.4}.marketplace-card-price{margin:0 0 .5rem;font-size:.875rem;font-weight:500}.marketplace-card-cta{font-size:.875rem;color:var(--accent)}.marketplace-card-link:hover .marketplace-card-cta{text-decoration:underline}.card-mat{--mat-green: #2d5a27;--mat-green-dark: #1e3d1a;--mat-green-light: #3d7a35;--mat-shadow: rgba(0, 0, 0, .4);--card-width: 72px;--card-height: 100px;--card-radius: 8px;--card-shadow: 0 2px 8px rgba(0, 0, 0, .35);background-color:#2d5a27;background-image:radial-gradient(ellipse 120% 80% at 50% 50%,var(--mat-green-light) 0%,transparent 50%),linear-gradient(180deg,var(--mat-green-dark) 0%,var(--mat-green) 40%,var(--mat-green-dark) 100%);box-shadow:inset 0 0 120px var(--mat-shadow);min-height:calc(100vh - 56px);margin-left:-1.25rem;margin-right:-1.25rem;margin-bottom:-3rem;width:calc(100% + 2.5rem);padding:1rem;position:relative;overflow-x:hidden;overflow-y:auto;isolation:isolate}.card-table{position:relative;max-width:1200px;margin:0 auto;min-height:420px;width:100%;display:grid;grid-template-areas:"top top top" "left center right" "left center right" "bottom bottom bottom";grid-template-columns:1fr minmax(200px,2fr) 1fr;grid-template-rows:auto 1fr 1fr auto;gap:.5rem;align-items:stretch}.playing-card.flip.clickable:hover{transform:rotateY(180deg) translateY(-6px) scale(1.02)}.playing-card.selected{transform:translateY(-10px) scale(1.04);box-shadow:0 0 0 3px gold,0 8px 24px #ffd70080;z-index:10}.playing-card.flip.selected{transform:rotateY(180deg) translateY(-10px) scale(1.04);box-shadow:0 0 0 3px gold,0 8px 24px #ffd70080;z-index:10}.playing-card-back{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--card-radius);background:linear-gradient(135deg,#9c2042,#6b1530,#4a0f22);border:2px solid rgba(255,255,255,.2);backface-visibility:hidden;display:flex;align-items:center;justify-content:center;pointer-events:none}.playing-card-face{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--card-radius);background:#fff;border:1px solid #e0e0e0;backface-visibility:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4px;pointer-events:none}.swoop-tableau{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap;margin-bottom:.5rem;overflow:visible}.swoop-tableau-stack{position:relative;width:var(--card-width);height:var(--card-height);overflow:visible}.swoop-tableau-stack .playing-card{position:absolute;top:0;left:0}.swoop-tableau-stack .playing-card.tableau-down{z-index:0}.swoop-tableau-stack-face-down-trigger{position:absolute;top:-6px;left:-6px;width:calc(var(--card-width) + 12px);height:calc(var(--card-height) + 12px);padding:0;margin:0;border:none;background:transparent;cursor:pointer;z-index:20;display:block;touch-action:manipulation;pointer-events:auto;-webkit-tap-highlight-color:transparent;isolation:isolate}.swoop-tableau-stack-face-down-trigger .playing-card{position:absolute;top:6px;left:6px}.swoop-tableau-stack .playing-card.tableau-up{z-index:1;top:0;left:0;box-shadow:0 4px 12px #00000059}.swoop-tableau-stack .playing-card.tableau-up.clickable{cursor:pointer}.swoop-tableau-stack .playing-card.tableau-up.clickable:hover{transform:rotateY(180deg) translateY(-6px) scale(1.05);box-shadow:0 8px 20px #00000080}.swoop-tableau-stack .playing-card.tableau-up.selected{transform:rotateY(180deg) translateY(-10px) scale(1.06);box-shadow:0 0 0 3px gold,0 8px 24px #ffd70080;z-index:10}.swoop-tableau-stack .playing-card.tableau-down-playable{cursor:pointer;animation:blind-pulse 1.5s ease-in-out infinite;z-index:2;pointer-events:auto;touch-action:manipulation}.swoop-tableau-stack .playing-card.tableau-down-playable:hover{transform:translateY(-6px) scale(1.05);box-shadow:0 0 0 3px gold,0 6px 20px #ffd70080;animation:none}@keyframes blind-pulse{0%,to{box-shadow:0 2px 8px #00000059}50%{box-shadow:0 0 0 2px #ffd70099,0 4px 16px #ffd7004d}}.swoop-hand-label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#f5e6a3;margin-bottom:4px}@media (min-width: 1200px){.card-mat{--card-width: 80px;--card-height: 112px}.card-table{max-width:1400px}.playing-card-rank{font-size:1.35rem}.playing-card-suit{font-size:1.6rem}.card-hand .playing-card{margin-left:-26px}}:root{--sz-primary: #FF7A00;--sz-secondary: #0F1E3A;--sz-accent: #FFC300;--sz-energy: #00BFFF;--sz-dark: #0B0F1A;--sz-light: #FFFFFF;--bg: var(--sz-dark);--bg-elevated: var(--sz-secondary);--surface: #1a2535;--surface-hover: #243044;--border: #2d3d52;--border-focus: var(--sz-primary);--text: #e8edf4;--text-secondary: #9ca8b8;--text-muted: #6b7a8f;--text-inverse: var(--sz-dark);--accent: var(--sz-primary);--accent-hover: #ff8c1a;--accent-muted: rgba(255, 122, 0, .2);--accent-glow: rgba(255, 122, 0, .4);--accent-deep: #e06d00;--gold: var(--sz-accent);--gold-muted: rgba(255, 195, 0, .15);--danger: #e05c5c;--danger-muted: rgba(224, 92, 92, .2);--success: #4ade80;--success-muted: rgba(74, 222, 128, .2);font-family:DM Sans,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.5;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{margin:0;min-height:100vh;min-height:100dvh;-webkit-text-size-adjust:100%;overscroll-behavior-y:none}.layout-root-pwa{min-height:100dvh;min-height:100vh}@media (display-mode: standalone){body{overscroll-behavior-y:none;-webkit-overflow-scrolling:touch}}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover);text-decoration:underline}#root{min-height:100vh;min-height:100dvh}.layout-root{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}.layout-root.layout-root-main-scroll{height:100vh;height:100dvh;max-height:100dvh;overflow:hidden}.site-header{flex-shrink:0;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding-top:env(safe-area-inset-top)}.nav{max-width:1200px;margin:0 auto;padding:.5rem .75rem;display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:nowrap}.nav-brand{font-weight:700;font-size:1.15rem;letter-spacing:-.02em;color:var(--text);text-decoration:none;display:flex;align-items:center}.nav-brand:hover{color:var(--text);text-decoration:none;opacity:.9}.nav-brand-logo{height:1.75rem;width:auto;display:block;object-fit:contain}.nav{flex-wrap:nowrap}.nav-brand-logo{height:1.75rem}.nav-links-desk{display:none!important}.nav-burger{display:flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;padding:0;background:var(--surface-hover);border:1px solid var(--border);border-radius:10px;cursor:pointer;flex-direction:column;gap:5px;transition:background .2s,border-color .2s;-webkit-tap-highlight-color:transparent}.nav-burger:hover{background:var(--border)}.nav-burger-bar{display:block;width:1.25rem;height:2px;background:var(--text);border-radius:1px;transition:transform .2s ease,opacity .2s ease}.nav-burger[aria-expanded=true] .nav-burger-bar:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav-burger[aria-expanded=true] .nav-burger-bar:nth-child(2){opacity:0}.nav-burger[aria-expanded=true] .nav-burger-bar:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.nav-drawer-overlay{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:200;opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s ease}.nav-drawer-overlay-open{opacity:1;visibility:visible}.nav-drawer{display:flex;position:fixed;top:0;right:0;bottom:0;width:min(300px,85vw);background:var(--surface);border-left:1px solid var(--border);z-index:201;box-shadow:-8px 0 32px #0000004d;transform:translate(100%);transition:transform .25s ease;flex-direction:column;overflow:auto;-webkit-overflow-scrolling:touch}.layout-root-pwa .nav-drawer{width:100%;max-width:100%}@media (max-width: 420px){.nav-drawer{width:100%;max-width:100%}}.nav-drawer-open{transform:translate(0)}.nav-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border)}.nav-drawer-title{font-weight:600;font-size:1.125rem}.nav-drawer-close{width:2.5rem;height:2.5rem;padding:0;font-size:1.5rem;line-height:1;background:none;border:none;color:var(--text-secondary);cursor:pointer;border-radius:8px;display:flex;align-items:center;justify-content:center}.nav-drawer-close:hover{background:var(--surface-hover);color:var(--text)}.nav-drawer-links{padding:1rem;display:flex;flex-direction:column;gap:.25rem}.nav-drawer-links .nav-link{display:flex;align-items:center;padding:.75rem 1rem;border-radius:10px}.nav-drawer-links .nav-link-logout{display:flex;width:100%;align-items:center;padding:.75rem 1rem;border-radius:10px;background:none;border:none;font-family:inherit;font-size:1rem;font-weight:500;color:var(--danger);cursor:pointer;text-align:left}.nav-drawer-links .nav-link-logout:hover{background:var(--danger-muted)}.nav-drawer-links .nav-auth-buttons{display:flex;gap:.5rem;margin-top:.5rem}.bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;height:calc(56px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);background:#12171ff0;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-top:1px solid var(--border);z-index:90;align-items:center;justify-content:space-around}.bottom-nav-item{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:.5rem .75rem;color:var(--text-muted);text-decoration:none;font-size:.65rem;font-weight:500;background:none;border:none;font-family:inherit;cursor:pointer;min-width:4.5rem;min-height:50px;border-radius:12px;transition:color .2s,background .2s;-webkit-tap-highlight-color:transparent}.bottom-nav-item:hover{color:var(--text);background:#ffffff0f;text-decoration:none}.bottom-nav-item:active{background:#ffffff1a}.bottom-nav-item.active{color:var(--accent);text-decoration:none}.bottom-nav-icon{font-size:1.35rem;line-height:1}.bottom-nav-label{line-height:1.2;letter-spacing:.02em}.nav-links{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.nav-links-desk{flex-wrap:nowrap}.nav-links-desk .nav-link{padding:.4rem .6rem;font-size:.875rem;white-space:nowrap}.nav-more{position:relative}.nav-more-trigger{background:none;border:none;font-family:inherit;cursor:pointer;color:var(--text-secondary);font-weight:500;border-radius:8px}.nav-more-trigger:hover{color:var(--text);background:var(--surface-hover)}.nav-more-dropdown{top:calc(100% + .35rem);left:0;right:auto;min-width:160px}.nav-link{color:var(--text-secondary);text-decoration:none;padding:.5rem .75rem;border-radius:8px;font-weight:500;transition:color .15s,background .15s}.nav-link:hover{color:var(--text);background:var(--surface-hover);text-decoration:none}.nav-link.active{color:var(--accent);background:var(--accent-muted);text-decoration:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;min-height:44px;font-size:.9375rem;font-weight:600;font-family:inherit;line-height:1.4;border:none;border-radius:10px;cursor:pointer;transition:background .2s,color .2s,box-shadow .2s,transform .1s;-webkit-tap-highlight-color:transparent}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-primary{background:var(--accent);color:var(--text-inverse)}.btn-primary:hover:not(:disabled){background:var(--accent-hover);box-shadow:0 4px 14px var(--accent-glow)}.btn-secondary{background:var(--surface-hover);color:var(--text);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){background:var(--border);color:var(--text)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover:not(:disabled){filter:brightness(1.1)}.btn-sm{padding:.4rem .9rem;font-size:.875rem;min-height:36px}.btn-lg{padding:.875rem 1.75rem;font-size:1rem;min-height:48px}.btn-block{width:100%}.form-group{margin-bottom:1.25rem}.form-label{display:block;font-size:.875rem;font-weight:500;color:var(--text-secondary);margin-bottom:.375rem}.form-label .required{color:var(--danger)}.form-input,.form-select,.form-textarea{width:100%;padding:.625rem .875rem;font-size:1rem;font-family:inherit;color:var(--text);background:var(--bg-elevated);border:1px solid var(--border);border-radius:10px;transition:border-color .2s,box-shadow .2s}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-muted)}.form-input:hover,.form-select:hover,.form-textarea:hover{border-color:var(--text-muted)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-muted)}.form-input.error,.form-select.error,.form-textarea.error{border-color:var(--danger)}.form-hint{font-size:.8125rem;color:var(--text-muted);margin-top:.25rem}.form-error{font-size:.8125rem;color:var(--danger);margin-top:.25rem}.form-success{font-size:.8125rem;color:var(--success);margin-top:.25rem}.form-textarea{min-height:100px;resize:vertical}.card{background:var(--surface);border:1px solid var(--border);border-radius:14px;overflow:hidden;transition:border-color .2s,box-shadow .2s}.card:hover{border-color:var(--border);box-shadow:0 8px 24px #00000040}.card-body{padding:1.25rem}.card-title{margin:0 0 .5rem;font-size:1.125rem;font-weight:600;letter-spacing:-.01em}.card-desc{margin:0;font-size:.9375rem;color:var(--text-secondary);line-height:1.45}.main{flex:1;min-height:0;padding:1rem .75rem calc(56px + env(safe-area-inset-bottom) + 1rem);overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.ad-slot-wrapper{min-height:50px;margin-bottom:.5rem;display:flex;justify-content:center;align-items:center}.main-play{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.main-play>*:first-child{flex:1;min-height:0}.main-game{padding:0;display:flex;flex-direction:column;min-height:0;overflow:hidden}.main-game .card-mat{flex:1;min-height:0;display:flex;flex-direction:column}.main-game .card-mat .card-table{flex:1;min-height:0}html.game-viewport-lock,body.game-viewport-lock{height:100%;overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0}body.game-viewport-lock #root{height:100%;overflow:hidden}.layout-root-in-game{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1;display:flex;flex-direction:column;height:100vh;height:100dvh;overflow:hidden}.layout-root-in-game .site-header{padding:0;flex-shrink:0}.layout-root-in-game .site-header .nav{padding:.35rem .5rem}.layout-root-in-game .nav-brand-logo{height:1.4rem}.layout-root-in-game .main{padding:0;min-height:0;overflow:hidden;flex:1;display:flex;flex-direction:column}.layout-root-in-game .main-game{flex:1;min-height:0;overflow:hidden}.layout-root-in-game .main-game .card-mat{margin-left:0;margin-right:0;width:100%;padding:.5rem;border-radius:0;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch}.layout-root-in-game .card-table,.layout-root-in-game .card-table-zone,.layout-root-in-game .card-table-zone.center{min-height:0}.layout-root-in-game .main-game .card-mat:before{border-width:6px;border-radius:12px}.layout-root-in-game .card-table-zone.bottom{position:sticky;bottom:0;left:0;right:0;z-index:5;background:#2d5a27;padding-bottom:max(.5rem,env(safe-area-inset-bottom));box-shadow:0 -8px 24px #00000059;overflow:visible;flex-shrink:0;flex-direction:column;align-items:center;flex-wrap:nowrap;gap:.5rem;width:100%}.layout-root-in-game .card-table-zone.bottom .swoop-tableau{position:relative;z-index:3}.layout-root-in-game .card-table-zone.bottom .card-hand{position:relative;z-index:2}.layout-root-in-game .card-table-zone.bottom .bottom-zone-actions{position:relative;z-index:1;width:100%;justify-content:center;flex-wrap:wrap;gap:.75rem}.layout-root-in-game .card-table-zone.bottom .bottom-zone-actions .btn{min-height:44px;min-width:44px;padding:.625rem 1rem}.layout-root-in-game .card-table-zone.bottom .swoop-hand-label{width:100%;text-align:center}.layout-root-in-game .card-table-zone.bottom .swoop-tableau,.layout-root-in-game .card-table-zone.bottom .card-hand{width:100%;justify-content:center}.page{max-width:960px;margin:0 auto}.page-header{margin-bottom:2rem}.page-title{font-size:1.75rem;font-weight:700;letter-spacing:-.02em;margin:0 0 .5rem}.page-lead{font-size:1.0625rem;color:var(--text-secondary);margin:0;line-height:1.5}.auth-page{min-height:calc(100vh - 56px);display:flex;align-items:center;justify-content:center;padding:2rem 1rem}.auth-panel{width:100%;max-width:420px;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:2rem;box-shadow:0 12px 40px #0000004d}.auth-panel h1{font-size:1.5rem;font-weight:700;letter-spacing:-.02em;margin:0 0 .5rem}.auth-panel .subtitle{font-size:.9375rem;color:var(--text-secondary);margin:0 0 1.75rem}.auth-panel .form-error.global{margin-bottom:1rem;padding:.75rem;background:var(--danger-muted);border-radius:8px}.auth-panel .form-success.global{margin-bottom:1rem;padding:.75rem;background:var(--success-muted);border-radius:8px;color:var(--success)}.auth-panel .form-success.global strong{color:var(--text)}.auth-panel .footer-link{margin-top:1.5rem;text-align:center;font-size:.9375rem;color:var(--text-secondary)}.auth-panel .footer-link a{font-weight:500}.user-menu{position:relative}.user-menu-trigger{display:flex;align-items:center;gap:.5rem;padding:.4rem .75rem;background:var(--surface-hover);border:1px solid var(--border);border-radius:10px;color:var(--text);font-weight:500;font-size:.9375rem;cursor:pointer;transition:background .2s,border-color .2s}.user-menu-trigger:hover{background:var(--border)}.user-menu-dropdown{position:absolute;top:calc(100% + .5rem);right:0;min-width:200px;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 12px 32px #00000059;padding:.5rem;z-index:50}.user-menu-dropdown .menu-item{display:block;width:100%;padding:.6rem .75rem;text-align:left;font-size:.9375rem;color:var(--text);background:none;border:none;border-radius:8px;cursor:pointer;font-family:inherit;text-decoration:none}.user-menu-dropdown .menu-item:hover{background:var(--surface-hover);color:var(--text);text-decoration:none}.user-menu-dropdown .menu-item.logout{color:var(--danger)}.empty-state{background:var(--surface);border:1px dashed var(--border);border-radius:14px;padding:2.5rem;text-align:center;color:var(--text-secondary)}.empty-state code{background:var(--bg-elevated);padding:.2em .5em;border-radius:6px;font-size:.9em}.badge{display:inline-flex;align-items:center;padding:.25rem .6rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;border-radius:6px}.badge-locality{background:var(--accent-muted);color:var(--accent)}.badge-gold{background:var(--gold-muted);color:var(--gold)}.grid{display:grid;gap:1.25rem}.grid-2{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.grid-3{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}.hero{text-align:center;padding:3rem 0 4rem;max-width:640px;margin:0 auto;position:relative}.hero:before{content:"";position:absolute;top:-20%;right:50%;bottom:0;width:120%;left:-10%;background:radial-gradient(ellipse 80% 60% at 50% 30%,var(--accent-glow) 0%,transparent 55%);pointer-events:none;z-index:0}.hero .hero-logo,.hero .hero-title,.hero .hero-lead,.hero .btn,.hero>div{position:relative;z-index:1}.hero-logo{max-width:100%;width:min(420px,90vw);height:auto;margin:0 auto 1rem;display:block;object-fit:contain}.update-banner{position:fixed;top:0;left:0;right:0;z-index:1000;display:flex;align-items:center;justify-content:center;gap:1rem;flex-wrap:wrap;padding:.6rem 1rem;font-size:.9rem;font-weight:500;box-shadow:0 2px 12px #00000040}.update-banner-refresh{background:var(--accent);color:var(--text-inverse)}.update-banner-refresh .update-banner-text{color:inherit}.update-banner-refresh .btn-primary{background:#fffffff2;color:var(--text-inverse)}.update-banner-refresh .btn-primary:hover{background:#fff}.update-banner-offline{background:var(--surface);border-bottom:1px solid var(--border);color:var(--text)}.update-banner-text{flex:1;min-width:0;text-align:center}.update-banner-actions{display:flex;align-items:center;gap:.5rem}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.hero-title{font-size:2.75rem;font-weight:800;letter-spacing:-.03em;margin:0 0 1rem;background:linear-gradient(135deg,#fff 0%,var(--text-secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-lead{font-size:1.125rem;color:var(--text-secondary);line-height:1.6;margin:0 0 2rem}.features{padding:2.5rem 0 3rem;border-top:1px solid var(--border)}.features-title{font-size:1.5rem;font-weight:700;margin:0 0 1.5rem;text-align:center}.feature-card{height:100%}.cta-section{text-align:center;padding:2.5rem 1rem;background:var(--surface);border:1px solid var(--border);border-radius:16px;margin-top:2rem;box-shadow:0 0 40px var(--accent-glow)}@media (min-width: 1280px){.nav{padding:.6rem 1.25rem;flex-wrap:wrap}.nav-brand-logo{height:2rem}.nav-links-desk{display:flex!important}.nav-burger,.nav-drawer-overlay,.nav-drawer,.bottom-nav{display:none!important}.main{padding:1.5rem 1.25rem 3rem}.layout-root-in-game .main-game .card-mat{margin-left:-1.25rem;margin-right:-1.25rem;width:calc(100% + 2.5rem);padding:1rem}}.layout-root-pwa .nav-links-desk,.layout-root-pwa .nav-more{display:none!important}.layout-root-pwa .nav-burger{display:flex!important}.layout-root-pwa .nav-drawer-overlay{display:block!important}.layout-root-pwa .nav-drawer,.layout-root-pwa .bottom-nav{display:flex!important}@media (display-mode: standalone),(display-mode: fullscreen){.nav-links-desk,.nav-more{display:none!important}.nav-burger{display:flex!important}.nav-drawer-overlay{display:block!important}.nav-drawer,.bottom-nav{display:flex!important}}@media (max-width: 640px){.nav{padding:.4rem .5rem}.nav-brand-logo{height:1.5rem}.main{padding:.75rem .5rem calc(56px + env(safe-area-inset-bottom) + .75rem)}.page-title{font-size:1.5rem}.auth-panel{padding:1.5rem}.hero{padding:2rem 0 3rem}.hero-title{font-size:2rem}.hero-logo{width:min(320px,85vw);margin-bottom:.75rem}}.card-mat{--mat-green: #2d5a27;--mat-green-dark: #1e3d1a;--mat-green-light: #3d7a35;--mat-shadow: rgba(0, 0, 0, .4);--card-width: 72px;--card-height: 100px;--card-radius: 8px;--card-shadow: 0 2px 8px rgba(0, 0, 0, .35);--card-transition: transform .25s ease, box-shadow .2s ease;background-color:#2d5a27;background-image:radial-gradient(ellipse 120% 80% at 50% 50%,var(--mat-green-light) 0%,transparent 50%),radial-gradient(circle at 20% 30%,rgba(255,255,255,.03) 0%,transparent 40%),linear-gradient(180deg,var(--mat-green-dark) 0%,var(--mat-green) 40%,var(--mat-green-dark) 100%);box-shadow:inset 0 0 120px var(--mat-shadow);min-height:calc(100vh - 56px);margin-left:-1.25rem;margin-right:-1.25rem;margin-bottom:-3rem;width:calc(100% + 2.5rem);padding:1rem;position:relative;overflow:hidden;isolation:isolate}.card-mat:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:12px solid rgba(80,50,30,.6);border-radius:20px;pointer-events:none;box-shadow:inset 0 0 60px #0003}.card-mat-scoreboard{display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:.5rem;background:#0003;border-radius:12px;max-width:640px;margin-left:auto;margin-right:auto}.card-mat-scoreboard .player-col{text-align:center;min-width:4rem}.card-mat-scoreboard .player-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#ffffffd9;margin-bottom:.25rem}.card-mat-scoreboard .player-score,.card-mat-scoreboard .player-wins{font-size:1rem;font-weight:700;color:#f5e6a3}.card-table{position:relative;max-width:1200px;margin:0 auto;min-height:420px;display:grid;grid-template-areas:"top top top" "left center right" "left center right" "bottom bottom bottom";grid-template-columns:1fr minmax(200px,2fr) 1fr;grid-template-rows:auto 1fr 1fr auto;gap:.5rem;align-items:stretch}.card-table-zone{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:4px;min-height:80px;padding:.5rem}.card-table-zone.top{grid-area:top;justify-content:center}.card-table-zone.left{grid-area:left;flex-direction:column;justify-content:center}.card-table-zone.right{grid-area:right;flex-direction:column;justify-content:center}.card-table-zone.bottom{grid-area:bottom;justify-content:center}.card-table-zone.center{grid-area:center;min-height:140px}.playing-card{width:var(--card-width);height:var(--card-height);border-radius:var(--card-radius);box-shadow:var(--card-shadow);transition:transform .3s ease,box-shadow .2s ease,opacity .3s ease;position:relative;transform-style:preserve-3d;cursor:default;flex-shrink:0}.playing-card.clickable{cursor:pointer}.playing-card.clickable:hover{transform:translateY(-6px) scale(1.02);box-shadow:0 8px 20px #0006}.card-hand.fan-bottom .playing-card.clickable:hover{transform:translateY(-6px) scale(1.02) rotate(var(--fan-offset, 0deg))}.card-hand.fan-bottom .playing-card.selected{transform:translateY(-4px) rotate(var(--fan-offset, 0deg));box-shadow:0 6px 16px #0006;z-index:10}.playing-card.face-down{background:linear-gradient(135deg,#8b1538,#6b1028,#4a0b1a);border:2px solid rgba(255,255,255,.15)}.playing-card-back{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--card-radius);background:linear-gradient(135deg,#9c2042,#6b1530,#4a0f22);border:2px solid rgba(255,255,255,.2);backface-visibility:hidden;display:flex;align-items:center;justify-content:center}.playing-card-back:before{content:"";position:absolute;top:8px;right:8px;bottom:8px;left:8px;border:2px solid rgba(255,255,255,.25);border-radius:4px}.playing-card-back-inner{width:60%;height:70%;background:repeating-linear-gradient(45deg,rgba(255,255,255,.08),rgba(255,255,255,.08) 4px,transparent 4px,transparent 8px);border-radius:4px}.playing-card-face{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:var(--card-radius);background:#fff;border:1px solid #e0e0e0;backface-visibility:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4px}.playing-card-face.red{color:#b71c1c}.playing-card-face.black{color:#1a1a1a}.playing-card-rank{font-size:1.25rem;font-weight:700;line-height:1.2}.playing-card-suit{font-size:1.5rem;line-height:1}.playing-card-face.joker .playing-card-rank{font-size:.9rem;font-weight:600}.playing-card .playing-card-back{transform:rotateY(0)}.playing-card .playing-card-face,.playing-card.flip{transform:rotateY(180deg)}.playing-card.fly{transition:transform .4s cubic-bezier(.34,1.56,.64,1),opacity .3s ease;z-index:100}.playing-card.fly.hiding{opacity:0;pointer-events:none}.playing-card.card-just-played{animation:cardLanded .35s ease-out}@keyframes cardLanded{0%{transform:scale(.7);opacity:.6}to{transform:scale(1);opacity:1}}.card-hand{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:2px}.card-hand .playing-card{margin-left:-24px}.card-hand .playing-card:first-child{margin-left:0}.card-hand.fan-bottom{display:flex;align-items:flex-end;justify-content:center;padding-bottom:4px}.card-hand.fan-bottom .playing-card{margin-left:-20px;transform:rotate(var(--fan-offset, 0deg));transition:transform .25s ease,box-shadow .2s ease}.card-hand.fan-bottom .playing-card:first-child{margin-left:0}.playing-card.card-deal-appear{opacity:0;animation:cardDealAppear .4s ease-out forwards}@keyframes cardDealAppear{0%{opacity:0;transform:translateY(-24px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.card-hand.fan-bottom .playing-card.card-deal-appear{animation-name:cardDealAppearFan}@keyframes cardDealAppearFan{0%{opacity:0;transform:translateY(-24px) scale(.95)}to{opacity:1;transform:rotate(var(--fan-offset, 0deg))}}.draw-pile{position:relative;width:var(--card-width);height:var(--card-height)}.draw-pile .playing-card{position:absolute;top:0;left:0}.draw-pile .playing-card:nth-child(1){z-index:1;transform:translate(0)}.draw-pile .playing-card:nth-child(2){z-index:2;transform:translate(2px,2px)}.draw-pile .playing-card:nth-child(3){z-index:3;transform:translate(4px,4px)}.pile-cards{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px;min-height:var(--card-height)}.pile-stack{display:flex;flex-direction:column;align-items:center;justify-content:center}.pile-stack-cards{position:relative;width:calc(var(--card-width) + 11 * 3px);height:calc(var(--card-height) + 11 * 3px);min-width:var(--card-width);min-height:var(--card-height)}.pile-stack-empty .pile-stack-cards{display:none}@media (max-width: 768px){.card-mat{--card-width: 56px;--card-height: 78px;margin-left:-1rem;margin-right:-1rem;width:calc(100% + 2rem)}.playing-card-rank{font-size:1rem}.playing-card-suit{font-size:1.2rem}.card-table{grid-template-columns:1fr minmax(140px,1.5fr) 1fr}.card-hand .playing-card{margin-left:-18px}}@media (max-width: 480px){.card-mat{--card-width: 48px;--card-height: 67px;padding:.5rem}.playing-card-rank{font-size:.85rem}.playing-card-suit{font-size:1rem}.card-hand .playing-card{margin-left:-14px}}.game-table-inner-contained .card-mat{margin-left:0;margin-right:0;margin-bottom:0;width:100%;min-height:0;flex:1;display:flex;flex-direction:column;border-radius:0}.game-table-inner-contained .card-mat:before{border-radius:12px}.game-table-inner-contained .card-mat .card-table{flex:1;min-height:0}.card-mat .bottom-zone-actions .btn{min-height:44px;min-width:44px;padding:.625rem 1rem}
