*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary: #0f1117;--bg-secondary: #1a1d27;--bg-card: #222639;--bg-card-hover: #2a2f45;--bg-input: #181b25;--border-color: #2e3347;--border-focus: #6366f1;--text-primary: #e8eaf0;--text-secondary: #9ca3af;--text-muted: #6b7280;--accent: #6366f1;--accent-hover: #818cf8;--danger: #ef4444;--success: #22c55e;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.5;color:var(--text-primary);background-color:var(--bg-primary);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-height:100vh}a{color:var(--accent);text-decoration:none;font-weight:500}a:hover{color:var(--accent-hover)}.loading-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;color:var(--text-secondary);font-size:1.1rem}.auth-page{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:1rem}.auth-card{width:100%;max-width:420px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:2.5rem 2rem}.auth-title{font-size:2rem;font-weight:700;letter-spacing:-.02em;background:linear-gradient(135deg,var(--accent),#a78bfa);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-align:center;margin-bottom:.25rem}.auth-subtitle{text-align:center;color:var(--text-secondary);margin-bottom:1.5rem;font-size:.95rem}.auth-error{background:#ef44441f;border:1px solid rgba(239,68,68,.3);color:#fca5a5;padding:.75rem 1rem;border-radius:var(--radius-sm);font-size:.875rem;margin-bottom:1rem;white-space:pre-line}.auth-form{display:flex;flex-direction:column;gap:1rem}.form-label{display:flex;flex-direction:column;gap:.35rem;font-size:.875rem;font-weight:500;color:var(--text-secondary)}.form-optional{font-weight:400;color:var(--text-muted);font-size:.8rem}.form-input{background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:.65rem .85rem;font-size:.95rem;color:var(--text-primary);outline:none;transition:border-color .2s;font-family:inherit}.form-input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #6366f126}.form-textarea{resize:vertical;min-height:80px}.form-input-error{border-color:var(--danger)}.form-input-error:focus{border-color:var(--danger);box-shadow:0 0 0 3px #ef444426}.form-field-error{font-size:.8rem;color:#fca5a5}select.form-input{cursor:pointer}.btn{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-sm);font-size:.95rem;font-weight:600;cursor:pointer;padding:.65rem 1.25rem;transition:all .2s;font-family:inherit;text-decoration:none}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-secondary{background:var(--bg-tertiary, rgba(255, 255, 255, .08));color:var(--text-primary)}.btn-secondary:hover:not(:disabled){background:#ffffff1f}.btn-ghost{background:transparent;color:var(--text-secondary);padding:.4rem .75rem;font-size:.875rem}.btn-ghost:hover{color:var(--text-primary);background:#ffffff0f}.auth-footer{text-align:center;margin-top:1.5rem;font-size:.875rem;color:var(--text-secondary)}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-header{display:flex;align-items:center;gap:1.5rem;padding:.75rem 1.5rem;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:10}.app-logo{font-size:1.25rem;font-weight:700;background:linear-gradient(135deg,var(--accent),#a78bfa);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-decoration:none;flex-shrink:0}.app-nav{display:flex;gap:.25rem;flex:1}.nav-play{text-decoration:none;padding:.4rem 1rem;border-radius:var(--radius-sm);font-size:.875rem;font-weight:700;background:var(--accent);color:#fff;transition:background .15s}.nav-play:hover{background:var(--accent-hover);color:#fff}.nav-link{color:var(--text-secondary);text-decoration:none;padding:.4rem .85rem;border-radius:var(--radius-sm);font-size:.875rem;font-weight:500;transition:all .15s}.nav-link:hover{color:var(--text-primary);background:#ffffff0f}.nav-active{color:var(--text-primary);background:#6366f126}.header-right{display:flex;align-items:center;gap:.75rem;margin-left:auto}.admin-link{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .7rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#f59e0b;background:#f59e0b1f;border:1px solid rgba(245,158,11,.25);border-radius:var(--radius-sm);text-decoration:none;transition:all .15s}.admin-link:hover{color:#fbbf24;background:#f59e0b33;border-color:#f59e0b66}.username{color:var(--text-secondary);font-size:.875rem;font-weight:500}.app-main{flex:1;max-width:960px;width:100%;margin:0 auto;padding:1.5rem}.page-content{display:flex;flex-direction:column;gap:1.5rem}.page-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.page-header h2{font-size:1.5rem;font-weight:600}.page-header-actions{display:flex;gap:.5rem}.welcome-section h2{font-size:1.5rem;font-weight:600;margin-bottom:.25rem}.muted{color:var(--text-secondary);font-size:.9rem}.quick-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem}.action-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1.5rem;cursor:pointer;transition:all .2s;text-decoration:none;color:inherit}.action-card:hover{background:var(--bg-card-hover);border-color:var(--accent);transform:translateY(-2px);color:inherit}.action-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#6366f126;color:var(--accent);border-radius:var(--radius-sm);font-size:1.25rem;font-weight:700;margin-bottom:.75rem}.action-card h3{font-size:1rem;font-weight:600;margin-bottom:.25rem}.stats-preview h3{font-size:1.1rem;font-weight:600;margin-bottom:1rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem}.stat-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1.25rem;display:flex;flex-direction:column;align-items:center;gap:.25rem}.stat-value{font-size:1.75rem;font-weight:700;color:var(--text-primary)}.stat-label{font-size:.8rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-weight:500}.create-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1.5rem}.import-textarea{font-family:Consolas,Monaco,Courier New,monospace;font-size:.85rem;line-height:1.4;resize:vertical;min-height:12rem}.create-form{display:flex;flex-direction:column;gap:1rem}.list-grid{display:flex;flex-direction:column;gap:.75rem}.list-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1.25rem;text-decoration:none;color:inherit;transition:all .15s}.list-card:hover{border-color:var(--accent);background:var(--bg-card-hover);color:inherit}.list-card-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.5rem}.list-card-header h3{font-size:1rem;font-weight:600}.list-card-meta{display:flex;align-items:center;gap:.75rem;font-size:.8rem;color:var(--text-muted);flex-wrap:wrap;margin-top:auto;padding-top:.5rem}.card-desc{margin-bottom:.5rem;font-size:.85rem}.list-card-link{display:block}.deck-legend{font-size:.9rem;color:var(--accent-hover);font-weight:500;margin-bottom:.25rem}.deck-detail-back{margin-bottom:1rem}.deck-detail-header{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1.5rem}.deck-detail-title-row{margin-bottom:.75rem}.deck-detail-title-row h2{font-size:1.5rem;font-weight:700;margin-bottom:.25rem}.deck-detail-meta{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.deck-detail-legend{font-weight:600;color:var(--accent-hover)}.deck-detail-body{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;align-items:start}.deck-card-panel{min-width:0}.deck-card-panel-head{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}.deck-card-zones{display:grid;gap:1rem}.deck-zone{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1.25rem}.deck-zone-title{font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid var(--border-color)}.deck-zone-title-accent{color:var(--accent-hover)}.deck-zone-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.15rem}.deck-zone-card{display:flex;align-items:center;gap:.5rem;padding:.3rem 0;font-size:.9rem}.deck-card-qty{color:var(--text-muted);font-weight:600;min-width:1.5rem;font-variant-numeric:tabular-nums}.deck-card-name{color:var(--text-primary);display:flex;align-items:center;gap:.5rem}.deck-card-type{margin-left:auto;font-size:.75rem;text-transform:lowercase}.deck-version-sidebar{display:flex;flex-direction:column;gap:.75rem;min-width:0}.deck-version-sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.deck-version-sidebar-head h3{font-size:1rem;font-weight:600}.deck-version-form{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1rem;display:flex;flex-direction:column;gap:.75rem}.deck-version-form form{display:flex;flex-direction:column;gap:.75rem}.deck-version-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.deck-version-item{background:var(--bg-card);border:2px solid var(--border-color);border-radius:var(--radius-md);padding:.75rem 1rem;cursor:pointer;transition:all .15s}.deck-version-item:hover{border-color:var(--accent);background:var(--bg-card-hover)}.deck-version-active{border-color:var(--accent);background:#6366f114}.deck-version-item-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.25rem}.deck-version-label{font-weight:700;font-size:.9rem;display:flex;align-items:center;gap:.5rem}.deck-version-current{font-size:.55rem}.deck-version-date{font-size:.75rem}.deck-version-initial{font-size:.8rem}.deck-version-diff{display:flex;flex-wrap:wrap;gap:.2rem .5rem;font-size:.78rem;margin-top:.15rem}.deck-diff-add{color:#4ade80}.deck-diff-remove{color:#f87171}.deck-diff-zone{opacity:.7;font-size:.7rem}.deck-diff-columns{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:.15rem}.deck-diff-col{display:flex;flex-direction:column;gap:.1rem;font-size:.78rem;min-width:0}.deck-diff-col-sb{border-left:1px solid var(--border-color);padding-left:.5rem}.deck-diff-col-label{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.deck-version-sidebar-actions{display:flex;gap:.35rem}.deck-version-delete-confirm{display:flex;align-items:center;gap:.5rem;font-size:.8rem}.btn-xs{padding:.2rem .5rem;font-size:.75rem}.btn-danger-text{color:#f87171}.btn-danger-text:hover:not(:disabled){color:#fca5a5;background:#ef44441a}.deck-import-hint{font-size:.8rem}.deck-import-hint a{color:var(--accent-hover);text-decoration:underline;text-underline-offset:2px}.deck-import-hint a:hover{color:var(--accent)}.btn-sm{padding:.4rem .85rem;font-size:.85rem}.deck-detail-danger{margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--border-color)}.btn-danger{background:var(--danger);color:#fff;font-weight:600}.btn-danger:hover:not(:disabled){background:#dc2626}.btn-danger:disabled{opacity:.4;cursor:not-allowed}.deck-delete-confirm{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.deck-delete-actions{display:flex;gap:.5rem}.deck-delete-hint{margin-top:.5rem;font-size:.8rem}.badge{display:inline-flex;align-items:center;padding:.2rem .6rem;border-radius:100px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;background:#ffffff14;color:var(--text-secondary)}.badge-accent{background:#6366f133;color:var(--accent-hover)}.badge-success{background:#22c55e26;color:#4ade80}.badge-danger{background:#ef444426;color:#f87171}.badge-neutral{background:#9ca3af26;color:var(--text-secondary)}.badge-group{display:flex;align-items:center;gap:.35rem}.btn-delete-match{background:none;border:none;cursor:pointer;font-size:1rem;padding:.15rem .3rem;border-radius:4px;color:#f87171;opacity:.7;transition:opacity .15s,background .15s;line-height:1}.btn-delete-match:hover{opacity:1;background:#ff505026}.ml-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:1.25rem}.ml-title{font-size:1.25rem;font-weight:700;letter-spacing:-.01em}.ml-tabs{display:flex;gap:2px;background:var(--bg-input);border-radius:var(--radius-sm);padding:3px}.ml-tab{display:flex;align-items:center;gap:.4rem;border:none;background:transparent;color:var(--text-muted);padding:.35rem .75rem;border-radius:4px;font-size:.78rem;font-weight:500;cursor:pointer;transition:all .15s;font-family:inherit}.ml-tab:hover{color:var(--text-secondary)}.ml-tab-active{background:var(--bg-secondary);color:var(--text-primary);box-shadow:0 1px 3px #0003}.ml-tab-count{font-size:.65rem;font-weight:700;background:#ffffff0f;padding:1px 5px;border-radius:100px;min-width:18px;text-align:center}.ml-tab-active .ml-tab-count{background:#6366f133;color:var(--accent-hover)}.ml-loading{padding:2rem 0}.ml-loading-bar{height:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent);border-radius:2px;animation:ml-pulse 1.5s ease-in-out infinite}@keyframes ml-pulse{0%,to{opacity:.3}50%{opacity:1}}.ml-empty{text-align:center;padding:3rem 1rem;color:var(--text-muted);font-size:.9rem}.ml-list{display:flex;flex-direction:column;gap:1px;background:var(--border-color);border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden}.ml-row{display:flex;align-items:center;gap:.75rem;padding:.65rem .75rem;background:var(--bg-card);text-decoration:none;color:inherit;transition:background .12s;position:relative}.ml-row:hover{background:var(--bg-card-hover);color:inherit}.ml-indicator{width:3px;align-self:stretch;border-radius:3px;flex-shrink:0}.ml-ind-win{background:#22c55e}.ml-ind-loss{background:#ef4444}.ml-ind-draw{background:#6b7280}.ml-ind-live{background:var(--accent)}.ml-matchup{display:flex;align-items:center;gap:.3rem;flex-shrink:0}.ml-legend-img{width:32px;aspect-ratio:63 / 88;border-radius:3px;object-fit:cover}.ml-legend-placeholder{background:var(--bg-input);border:1px dashed var(--border-color)}.ml-vs{font-size:.6rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.ml-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem}.ml-info-top{display:flex;align-items:center;gap:.5rem}.ml-legends-text{font-size:.85rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ml-info-bottom{display:flex;align-items:center;gap:.3rem}.ml-meta{font-size:.7rem;color:var(--text-muted);font-variant-numeric:tabular-nums}.ml-meta-sep{font-size:.55rem;color:var(--text-muted);opacity:.5}.ml-result{flex-shrink:0}.ml-badge{display:inline-flex;align-items:center;padding:.15rem .55rem;border-radius:100px;font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.ml-badge-win{background:#22c55e1f;color:#4ade80}.ml-badge-loss{background:#ef44441f;color:#f87171}.ml-badge-draw{background:#9ca3af1f;color:var(--text-secondary)}.ml-badge-live{background:#6366f126;color:var(--accent-hover)}.ml-session-col{width:90px;flex-shrink:0;display:flex;align-items:center}.ml-session{display:inline-flex;align-items:center;gap:.3rem;font-size:.7rem;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.ml-session-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.ml-delete{background:none;border:none;cursor:pointer;font-size:1rem;padding:.15rem .35rem;border-radius:4px;color:var(--text-muted);opacity:0;transition:opacity .15s,color .15s,background .15s;line-height:1;flex-shrink:0}.ml-row:hover .ml-delete{opacity:.6}.ml-delete:hover{opacity:1!important;color:#f87171;background:#ef44441a}.gl-list{display:flex;flex-direction:column;gap:.75rem}.gl-match-group{display:flex;flex-direction:column}.gl-match-divider{padding:.35rem .75rem}.gl-match-label{font-size:.7rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;display:flex;align-items:center;gap:.5rem}.gl-match-count{font-weight:400;opacity:.7}.gl-match-games{display:flex;flex-direction:column;gap:1px;background:var(--border-color);border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden}.gl-match-grouped{border-left:3px solid var(--accent)}.gl-match-grouped.gl-match-win{border-left-color:#22c55e}.gl-match-grouped.gl-match-loss{border-left-color:#ef4444}.gl-match-grouped.gl-match-draw{border-left-color:#6b7280}.gl-match-grouped.gl-match-live{border-left-color:var(--accent)}.gl-game-row{padding-right:.75rem}.gl-game-row .ml-info{flex:0 0 auto;min-width:0;width:auto}.gl-score{font-weight:400;color:var(--text-secondary);margin-left:.4rem;font-variant-numeric:tabular-nums}.gl-legend-names{font-size:.75rem;font-weight:400;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gl-notes-block{flex:1;min-width:0;font-size:.75rem;color:var(--text-muted);font-style:italic;white-space:pre-line;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;line-height:1.6}.gl-graph{flex-shrink:0;opacity:.85}.filter-tabs{display:flex;gap:.25rem;background:var(--bg-input);border-radius:var(--radius-sm);padding:.2rem}.tab{border:none;background:transparent;color:var(--text-secondary);padding:.35rem .75rem;border-radius:4px;font-size:.8rem;font-weight:500;cursor:pointer;transition:all .15s;font-family:inherit}.tab:hover{color:var(--text-primary)}.tab-active{background:var(--accent);color:#fff}.empty-state{text-align:center;padding:3rem 1rem;color:var(--text-secondary);background:var(--bg-secondary);border:1px dashed var(--border-color);border-radius:var(--radius-md)}.home-page{display:flex;flex-direction:column;align-items:center;gap:2rem;padding-top:15vh}.home-hero{text-align:center}.home-greeting{font-size:1.75rem;font-weight:700;margin-bottom:.25rem}.home-tagline{color:var(--text-secondary);font-size:1.1rem;white-space:pre-line}.home-primary-cta{display:inline-flex;align-items:center;justify-content:center;padding:1rem 3.5rem;font-size:1.15rem;font-weight:600;font-family:inherit;color:#fff;background:var(--accent);border:none;border-radius:100px;text-decoration:none;cursor:pointer;transition:all .2s;box-shadow:0 0 #6366f100}.home-primary-cta:hover{background:var(--accent-hover);box-shadow:0 4px 24px #6366f14d;transform:translateY(-1px);color:#fff}.home-primary-cta:active{transform:translateY(0);box-shadow:0 2px 8px #6366f133}.home-alt{color:var(--text-muted);font-size:.9rem}.home-alt-link{color:var(--text-secondary);text-decoration:underline;text-decoration-color:transparent;text-underline-offset:3px;transition:all .15s}.home-alt-link:hover{color:var(--text-primary);text-decoration-color:var(--text-muted)}.play-page{max-width:720px;margin:0 auto}.play-title{font-size:1.5rem;font-weight:600}.play-error{background:#ef44441f;border:1px solid rgba(239,68,68,.3);color:#fca5a5;padding:.75rem 1rem;border-radius:var(--radius-sm);font-size:.875rem}.play-section{display:flex;flex-direction:column;gap:.5rem}.play-section-label{font-size:.8rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.play-section-flex{flex:1}.play-pick-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.5rem}.play-pick-grid.sm{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.play-pick-grid.image-only{grid-template-columns:repeat(auto-fill,minmax(70px,1fr))}.play-pick.image-only{padding:.35rem}.play-pick.image-only .play-pick-thumb{width:56px}.play-pick{display:flex;flex-direction:column;align-items:center;gap:.3rem;padding:.65rem .4rem;background:var(--bg-card);border:2px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all .15s;color:var(--text-primary);font-family:inherit}.play-pick:hover:not(:disabled){border-color:var(--accent);background:var(--bg-card-hover)}.play-pick.selected{border-color:var(--accent);background:#6366f11f;box-shadow:0 0 0 1px var(--accent)}.play-pick.used{opacity:.35;cursor:not-allowed}.play-pick-thumb{width:48px;aspect-ratio:63 / 88;border-radius:var(--radius-sm);object-fit:cover}.play-pick-placeholder{background:var(--bg-input)}.play-pick-legend-img{width:60px;aspect-ratio:63 / 88;border-radius:var(--radius-sm);object-fit:cover}.play-pick-label-row{display:flex;align-items:baseline;gap:.25rem}.play-pick-name{font-size:.75rem;font-weight:600;text-align:center;line-height:1.2;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.play-pick-sub{font-size:.65rem;color:var(--text-muted)}.play-pick-mod{font-size:.65rem;font-weight:700;color:var(--accent-hover)}.play-pick-used{font-size:.6rem;font-weight:600;text-transform:uppercase;color:var(--text-muted)}.play-row{display:flex;gap:1rem}.play-toggle{display:flex;gap:.25rem;background:var(--bg-input);border-radius:var(--radius-sm);padding:.2rem}.play-toggle-opt{flex:1;border:none;background:transparent;color:var(--text-secondary);padding:.5rem 1rem;border-radius:4px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .15s;font-family:inherit}.play-toggle-opt:hover{color:var(--text-primary)}.play-toggle-opt.active{background:var(--accent);color:#fff}.play-matchup{display:flex;align-items:center;justify-content:center;gap:1.5rem;padding:1.25rem 1.25rem .5rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg)}.play-side{display:flex;flex-direction:column;align-items:center;gap:.35rem}.play-side-img{width:56px;aspect-ratio:63 / 88;border-radius:var(--radius-sm);object-fit:cover}.play-side-name{font-weight:600;font-size:.95rem}.play-side-sub{font-size:.75rem;color:var(--text-muted);font-weight:400}.play-side-btn{cursor:pointer;background:none;border:1px solid transparent;border-radius:var(--radius);padding:.5rem .75rem;position:relative;color:inherit;font:inherit}.play-side-first{border-color:transparent}.play-side-prompt{border-style:dashed;border-color:#f59e0b}.play-side-first-badge{position:absolute;top:-.4rem;left:50%;transform:translate(-50%);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#fff;background:var(--accent);padding:.1rem .45rem;border-radius:var(--radius-sm);line-height:1.3;pointer-events:none}.play-side-prompt-badge{position:absolute;top:-.4rem;left:50%;transform:translate(-50%);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#422006;background:#f59e0b;padding:.1rem .45rem;border-radius:var(--radius-sm);line-height:1.3;pointer-events:none}.play-side-group{display:flex;flex-direction:column;align-items:center;gap:.25rem}.play-side-group-cards{display:flex;align-items:center;gap:.5rem}.play-side-group-label{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.play-champ-col{display:flex;flex-direction:column;gap:.25rem;align-items:center}.play-champ-pick{width:56px;aspect-ratio:63 / 88;border-radius:var(--radius-sm);border:1px solid var(--border-color);background:var(--bg-card);padding:0;overflow:hidden;cursor:pointer;transition:border-color .12s}.play-champ-pick:hover,.play-champ-pick.selected{border-color:var(--accent)}.play-champ-pick-empty{display:flex;align-items:center;justify-content:center;font-size:.85rem;color:var(--text-muted);font-weight:600}.play-champ-img{width:100%;height:100%;object-fit:cover}.play-champ-clear{font-size:.85rem;line-height:1;color:var(--text-muted);background:none;border:none;cursor:pointer;padding:.1rem .25rem;border-radius:var(--radius-sm)}.play-champ-clear:hover{color:var(--danger)}.play-vs-prompt{font-style:italic;color:var(--text-muted);font-size:.8rem}.play-vs{display:flex;flex-direction:column;align-items:center;gap:.25rem;color:var(--text-muted);font-size:.85rem;font-weight:500}.play-details{border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden}.play-details-toggle{padding:.75rem 1rem;cursor:pointer;font-size:.875rem;font-weight:600;color:var(--text-secondary);background:var(--bg-secondary);list-style:none}.play-details-toggle::-webkit-details-marker{display:none}.play-details-toggle:before{content:"▸ "}.play-details[open] .play-details-toggle:before{content:"▾ "}.play-details-body{display:flex;flex-direction:column;gap:1rem;padding:1rem}.play-scores{display:flex;align-items:center;justify-content:center;gap:2rem;padding:.75rem 0}.play-score-col{display:flex;flex-direction:column;align-items:center;gap:.4rem}.play-score-label{font-size:.75rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em}.play-score-ctrl{display:flex;align-items:center;gap:.5rem}.play-score-btn{width:38px;height:38px;display:flex;align-items:center;justify-content:center;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-size:1.15rem;font-weight:600;cursor:pointer;transition:all .15s;font-family:inherit}.play-score-btn:hover{background:var(--bg-card-hover);border-color:var(--accent)}.play-score-val{font-size:2.25rem;font-weight:700;min-width:2.5rem;text-align:center}.play-score-sep{color:var(--text-muted);font-size:1.25rem;margin-top:1.5rem}.play-result-row{display:flex;gap:.75rem}.play-result-btn{flex:1;padding:.85rem;border:2px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-card);color:var(--text-primary);font-size:1rem;font-weight:600;cursor:pointer;transition:all .15s;font-family:inherit}.play-result-btn:hover{border-color:var(--text-secondary)}.play-result-btn.win.active{border-color:var(--success);background:#22c55e1f;color:#4ade80}.play-result-btn.loss.active{border-color:var(--danger);background:#ef44441f;color:#f87171}.btn-lg{padding:.85rem 2rem;font-size:1.05rem;width:100%;max-width:320px}.play-between{display:flex;flex-direction:column;align-items:center;gap:1.5rem;text-align:center}.play-matchup-summary{padding:1.25rem;gap:1rem;align-items:center;max-width:400px;margin:0 auto}.play-summary-col{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.5rem;border-radius:var(--radius-lg);border:2px solid transparent;transition:border-color .2s,box-shadow .2s}.play-summary-col.play-summary-win{border-color:#22c55e80;box-shadow:0 0 12px #22c55e26}.play-summary-col.play-summary-loss{border-color:#ef444466;box-shadow:0 0 12px #ef44441a}.play-summary-img{width:56px;aspect-ratio:63 / 88;border-radius:var(--radius-sm);object-fit:cover}.play-series-num{font-size:2.5rem;font-weight:700}.play-series-num.play-series-win{color:#4ade80}.play-series-num.play-series-loss{color:#f87171}.play-series-dash{font-size:1.5rem;color:var(--text-muted)}.play-game-list{display:flex;flex-direction:column;gap:.5rem;width:100%;max-width:520px;margin:0 auto}.play-game-item{display:flex;flex-direction:row;align-items:center;gap:.5rem;padding:.5rem;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:.9rem;cursor:pointer;text-decoration:none;color:inherit;transition:border-color .15s}.play-game-item:hover{border-color:var(--text-secondary)}.play-game-item-body{display:flex;flex-direction:column;align-items:center;gap:.25rem;flex:1;min-width:0}.play-game-item-header{display:flex;align-items:center;gap:.5rem}.play-game-notes-icon{font-size:.85rem;opacity:.5}.play-game-item-label{font-size:.75rem;color:var(--text-muted)}.play-game-bf-thumb{flex-shrink:0;width:80px;height:60px;border-radius:4px;overflow:hidden}.play-game-bf-img{width:100%;height:100%;object-fit:cover;border-radius:4px}.play-game-bf-placeholder{width:100%;height:100%;background:var(--bg-card);border:1px dashed var(--border-color);border-radius:4px;opacity:.4}.play-game-graph{display:block;opacity:.9;width:100%;height:auto}.play-game-focused{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 0 12px #6366f126}.play-actions{display:flex;flex-direction:column;align-items:center;gap:.5rem;width:100%;max-width:320px;margin:0 auto}.play-complete{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.play-banner{text-align:center;padding:.75rem 1.5rem;border-radius:var(--radius-lg);width:100%;max-width:400px;margin:0 auto}.play-banner h2{font-size:1.5rem;font-weight:700}.play-banner-sub{color:var(--text-secondary);margin-top:.25rem}.play-banner.win{background:#22c55e1a;border:1px solid rgba(34,197,94,.25)}.play-banner.win h2{color:#4ade80}.play-banner.loss{background:#ef44441a;border:1px solid rgba(239,68,68,.25)}.play-banner.loss h2{color:#f87171}.play-banner.draw{background:#9ca3af1a;border:1px solid rgba(156,163,175,.25)}.play-banner.draw h2{color:var(--text-secondary)}.play-session-row{display:flex;gap:.5rem;align-items:stretch}.play-session-row .form-input{flex:1;min-width:0}.btn-new-session{white-space:nowrap;font-size:.8rem;padding:.45rem .75rem}.new-session-form{display:flex;flex-direction:column;gap:1.5rem}.session-type-list{display:flex;flex-direction:column;gap:.5rem}.session-type-divider{display:flex;align-items:center;gap:.75rem;margin:.5rem 0;color:var(--text-muted);font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em}.session-type-divider:before,.session-type-divider:after{content:"";flex:1;height:1px;background:var(--border-color)}.session-type-btn{display:flex;align-items:center;justify-content:center;gap:.4rem;padding:.85rem .75rem;background:var(--bg-card);border:2px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:all .15s;color:var(--text-primary);font-family:inherit;font-size:.875rem;font-weight:600}.session-type-btn:hover{border-color:var(--accent);background:var(--bg-card-hover)}.session-type-btn.selected{border-color:var(--accent);background:#6366f11f;box-shadow:0 0 0 1px var(--accent)}.session-type-icon{flex-shrink:0;color:#f59e0b}.session-type-warning{display:flex;align-items:center;gap:.5rem;padding:.65rem .85rem;background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:var(--radius-sm);color:#fbbf24;font-size:.825rem;font-weight:500;margin-top:.25rem}.session-type-warning svg{flex-shrink:0;color:#f59e0b}.game-board{display:flex;gap:1.5rem;width:100%}.game-board-main{flex:4;min-width:0;display:flex;flex-direction:column;gap:1rem}.game-board-history{flex:1;min-width:180px;max-height:80vh;overflow-y:auto;border-left:1px solid var(--border-color);padding-left:1rem}.game-history-header{display:flex;align-items:center;justify-content:space-between}.game-history-undo{font-size:1.1rem;line-height:1;padding:.3rem .5rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text);cursor:pointer;transition:color .12s,background .12s,border-color .12s}.game-history-undo:hover:not(:disabled){color:#fff;background:var(--bg-card-hover);border-color:var(--accent)}.game-history-undo:disabled{opacity:.25;cursor:not-allowed}.game-score-display{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:.75rem 0}.game-score-label{font-size:.85rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.game-score-value{font-size:3.5rem;font-weight:800;line-height:1;font-variant-numeric:tabular-nums;min-width:3ch;text-align:center}.game-score-opponent .game-score-value{color:var(--danger)}.game-score-player .game-score-value{color:var(--accent)}.game-score-adj{width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:700;border:1px solid var(--border-color);border-radius:50%;background:var(--bg-card);color:var(--text-muted);cursor:pointer;transition:background .12s,border-color .12s,color .12s}.game-score-adj:hover:not(:disabled){border-color:var(--accent);color:var(--text);background:#6366f114}.game-score-adj:disabled{opacity:.25;cursor:not-allowed}.game-score-zone{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:.5rem 0}.game-score-zone-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);text-align:center}.game-score-zone-row{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap}.game-score-btn-row{display:flex;gap:.5rem;justify-content:center}.game-score-btn{display:flex;align-items:center;justify-content:center;gap:.4rem;min-width:90px;min-height:56px;padding:.75rem 1.25rem;font-size:1rem;font-weight:700;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-card);color:var(--text);cursor:pointer;transition:background .15s,border-color .15s}.game-score-btn-icon{font-size:1.1rem;line-height:1}.game-score-btn-conq{border-color:#ef44444d;color:#f87171}.game-score-btn-conq:hover:not(:disabled){border-color:#ef4444;background:#ef44441a}.game-score-btn-hold{border-color:#60a5fa4d;color:#60a5fa}.game-score-btn-hold:hover:not(:disabled){border-color:#3b82f6;background:#3b82f61a}.game-score-btn:disabled{opacity:.4;cursor:not-allowed}.game-bf-row{display:flex;gap:1.5rem}.game-bf-column{flex:1;min-width:0;text-align:center}.game-score-info{text-align:center;font-size:.825rem;color:var(--text-muted);padding:.25rem 0}.game-score-info-detail{color:var(--text-muted);opacity:.7}.game-score-reached{display:flex;align-items:center;justify-content:center;gap:1rem;padding:1rem;background:#6366f11a;border:2px solid var(--accent);border-radius:var(--radius);font-weight:600;animation:game-score-pulse 1.5s ease-in-out infinite}@keyframes game-score-pulse{0%,to{border-color:var(--accent)}50%{border-color:#6366f166}}.game-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:.5rem}.game-forfeit-row{display:flex;gap:.5rem}.btn-danger-ghost{color:var(--danger)}.btn-danger-ghost:hover:not(:disabled){background:#ef44441a}.forfeit-confirm-body{padding:1.25rem 1rem;text-align:center}.forfeit-confirm-body p{margin-bottom:1.25rem;font-size:.95rem;color:var(--text)}.forfeit-confirm-actions{display:flex;gap:.75rem;justify-content:center}.card-slot{position:relative;display:flex;align-items:center;justify-content:center;width:100%;max-width:160px;aspect-ratio:63 / 88;border:2px dashed var(--border-color);border-radius:var(--radius);background:var(--bg-card);overflow:hidden;transition:border-color .15s,background .15s;margin:0 auto}.card-slot-landscape{aspect-ratio:88 / 63;max-width:220px}.card-slot-empty{cursor:pointer;border:1px dashed #f59e0b}.card-slot-filled{border-style:solid;border-color:var(--accent);padding:0}.card-slot-img{width:100%;height:auto;display:block;object-fit:cover}.card-slot-placeholder{font-size:.85rem;color:var(--text-muted);font-weight:500}.card-slot-filled{cursor:pointer}.card-slot-locked{cursor:default;pointer-events:none}.bf-modal-backdrop{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#000000bf;padding:1rem}.bf-modal{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg, 12px);width:90vw;max-width:320px;height:70vh;display:flex;flex-direction:column;box-shadow:0 8px 32px #0000004d}.bf-modal.bf-modal-compact{height:auto;min-height:220px;max-height:60vh}.bf-modal-header{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1rem;border-bottom:1px solid var(--border-color)}.bf-modal-header h3{margin:0;font-size:1rem;font-weight:700}.bf-modal-close{font-size:1.25rem;line-height:1;background:none;border:none;cursor:pointer;color:var(--text-muted);padding:.25rem .5rem;border-radius:var(--radius-sm)}.bf-modal-close:hover{color:var(--text);background:var(--bg-card)}.bf-modal-search{margin:.75rem 1rem 0}.bf-modal-list{padding:.5rem;overflow-y:auto;flex:1 1 0;min-height:0;display:flex;flex-wrap:wrap;gap:.5rem;align-content:start;justify-content:center}.bf-modal-item{width:80px;flex-shrink:0;aspect-ratio:63 / 88;padding:0;border:2px solid transparent;border-radius:var(--radius-sm);background:var(--bg-card);cursor:pointer;overflow:hidden;transition:border-color .12s,box-shadow .12s}.bf-modal-item:hover{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.bf-modal-thumb{width:100%;height:auto;display:block;object-fit:cover}.bf-modal-thumb-placeholder{width:100%;height:100%;background:var(--bg-card);border:1px dashed var(--border-color)}.bf-modal-wide{max-width:560px}.bf-modal-list-landscape{gap:.625rem}.bf-modal-item-landscape{width:160px;aspect-ratio:88 / 63}.bf-modal-search-ready,.bf-modal-item-ready{border-color:var(--success);box-shadow:0 0 0 1px var(--success)}.bf-modal-empty{text-align:center;padding:1.5rem 0;width:100%}.game-event-list{list-style:none;padding:0;margin:.5rem 0 0;display:flex;flex-direction:column;gap:.25rem}.game-event-entry{display:flex;align-items:center;gap:.4rem;padding:.35rem .5rem;border-radius:var(--radius-sm);font-size:.78rem;background:var(--bg-card);border:1px solid var(--border-color)}.game-event-player{border-left:3px solid var(--accent)}.game-event-opponent{border-left:3px solid var(--danger)}.game-event-side{font-weight:700;min-width:28px}.game-event-method{color:var(--text-muted)}.game-event-bf{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.game-event-score{font-weight:600;font-variant-numeric:tabular-nums;color:var(--text-muted);margin-left:auto}.game-notes-section{margin-top:1rem;border-top:1px solid var(--border-color);padding-top:.75rem}.game-notes-input{width:100%;min-height:72px;max-height:200px;resize:vertical;background:var(--bg-input);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);font-family:Inter,system-ui,-apple-system,sans-serif;font-size:.8rem;line-height:1.5;padding:.5rem .6rem;transition:border-color .15s}.game-notes-input::placeholder{color:var(--text-muted)}.game-notes-input:focus{outline:none;border-color:var(--border-focus)}@media(max-width:768px){.deck-detail-body{grid-template-columns:1fr}.deck-version-sidebar{order:-1}}@media(max-width:640px){.app-header{padding:.5rem 1rem;gap:.75rem}.app-nav{order:3;flex-basis:100%;overflow-x:auto;padding-bottom:.25rem}.app-main{padding:1rem}.quick-actions{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}.page-header{flex-direction:column;align-items:flex-start}.home-page{padding-top:10vh}.play-matchup{flex-direction:column;gap:.75rem}.play-pick-grid{grid-template-columns:repeat(auto-fill,minmax(90px,1fr))}.play-row{flex-direction:column}.play-scores{gap:1rem}.game-board{flex-direction:column}.game-board-history{border-left:none;border-top:1px solid var(--border-color);padding-left:0;padding-top:1rem;max-height:none}.game-bf-row{flex-direction:column}}.game-review{display:flex;flex-direction:column;gap:1rem;width:100%}.game-review-top-bar{display:flex;align-items:center}.game-review-banner{display:flex;align-items:center;justify-content:center;gap:1rem;padding:1rem 1.5rem;border-radius:var(--radius-md);font-size:1rem}.game-review-banner.win{background:#22c55e1f;border:1px solid rgba(34,197,94,.3);color:#4ade80}.game-review-banner.loss{background:#ef44441f;border:1px solid rgba(239,68,68,.3);color:#f87171}.game-review-banner h2{margin:0;font-size:1.5rem}.game-review-banner-sub{font-size:.9rem;opacity:.8}.game-review-bottom{display:flex;gap:1.5rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color)}.game-review-graph{flex:1;min-width:0}.game-review-graph .play-game-graph{width:100%;height:auto}.game-review-notes-block{flex:1;min-width:0}.game-review-notes{white-space:pre-line;font-size:.85rem;line-height:1.6;color:var(--text-secondary);background:var(--surface-raised);border-radius:var(--radius-sm);padding:.75rem}.game-completed-banner{display:flex;align-items:center;gap:1rem;padding:.75rem 1.25rem;border-radius:var(--radius-md);margin-top:.5rem}.game-completed-banner.win{background:#4ade801f;border:1px solid rgba(74,222,128,.25)}.game-completed-banner.loss{background:#f871711f;border:1px solid rgba(248,113,113,.25)}.game-completed-label{font-weight:700;font-size:1.05rem}.game-completed-banner.win .game-completed-label{color:var(--color-win)}.game-completed-banner.loss .game-completed-label{color:var(--color-loss)}.game-completed-score{font-variant-numeric:tabular-nums;font-size:1.05rem;color:var(--text-secondary)}.game-completed-banner .btn{margin-left:auto}.sync-indicator{position:fixed;bottom:1rem;left:1rem;width:2.25rem;height:2.25rem;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.1rem;cursor:pointer;z-index:1000;transition:background .2s,color .2s;-webkit-user-select:none;user-select:none;box-shadow:0 2px 8px #0000004d}.sync-indicator.pending{background:var(--surface-raised);color:var(--text-secondary);animation:sync-pulse 1.5s ease-in-out infinite}.sync-indicator.error{background:var(--color-loss);color:#fff}@keyframes sync-pulse{0%,to{opacity:.6}50%{opacity:1}}.sd-header{margin-bottom:1.5rem}.sd-title-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.sd-title{font-size:1.4rem;font-weight:700;margin:0}.sd-meta{display:flex;align-items:center;gap:.4rem;margin-top:.35rem;color:var(--text-secondary);font-size:.82rem}.sd-tabs{display:flex;gap:.5rem;margin-bottom:1rem}.ml-badge-session{background:var(--surface-raised);color:var(--text-secondary)}.sideboard-page{max-width:800px}.sideboard-prompt{background:var(--surface-raised);border:1px solid var(--color-accent);border-radius:var(--radius);padding:.75rem 1rem;margin-bottom:1rem;display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;font-size:.9rem}.sideboard-columns{display:flex;gap:1.5rem;margin-bottom:1.5rem}@media(max-width:600px){.sideboard-columns{flex-direction:column;gap:1rem}}.sideboard-column{flex:1;min-width:0}.sideboard-card-list{list-style:none;padding:0;margin:.5rem 0 0;display:flex;flex-direction:column;gap:2px}.sideboard-card-item{margin:0}.sideboard-card-btn{display:flex;align-items:center;gap:.5rem;width:100%;padding:.4rem .6rem;background:var(--surface-raised);border:1px solid transparent;border-radius:var(--radius);color:var(--text-primary);cursor:pointer;font-size:.85rem;text-align:left;transition:background .1s,border-color .1s}.sideboard-card-btn:hover:not(.disabled){background:var(--surface-hover)}.sideboard-card-btn.sideboard-card-changed{border-color:var(--color-loss)}.sideboard-card-btn.sideboard-card-in:hover:not(.disabled){border-color:var(--color-win);background:rgba(var(--color-win-rgb, 40, 167, 69),.1)}.sideboard-card-btn.disabled{opacity:.4;cursor:default}.sideboard-card-qty{font-weight:600;min-width:1.8em;color:var(--text-secondary)}.sideboard-card-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sideboard-swap-summary{background:var(--surface-raised);border-radius:var(--radius);padding:1rem;margin-bottom:1.5rem}.sideboard-swap-list{list-style:none;padding:0;margin:.5rem 0 0;display:flex;flex-direction:column;gap:.35rem}.sideboard-swap-row{display:flex;align-items:center;gap:.5rem;font-size:.85rem}.sideboard-card-out{color:var(--color-loss);font-weight:500;flex:1}.sideboard-swap-arrow{color:var(--text-secondary)}.sideboard-card-in{color:var(--color-win);font-weight:500;flex:1}.sideboard-qty-decreased{color:var(--color-loss);font-weight:700}.sideboard-qty-increased{color:var(--color-win);font-weight:700}.sideboard-divider{border:none;border-top:1px dashed var(--border);margin:.4rem 0}.sideboard-balance-hint{text-align:center;padding:.5rem 1rem;margin-bottom:1rem;font-size:.85rem;color:var(--color-accent);background:var(--surface-raised);border-radius:var(--radius)}.sideboard-swap-undo{font-size:.75rem;padding:.15rem .4rem}.stats-page{max-width:960px}.stats-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-bottom:0}.stats-team-filter{width:auto;min-width:10rem;max-width:16rem}.stats-tabs{display:flex;gap:.25rem;flex-wrap:wrap;margin-bottom:1.5rem}.stats-section{margin-bottom:2rem}.stats-view-toggle{display:flex;gap:.25rem;margin-bottom:1rem}.stats-kpi-row{display:flex;gap:1.25rem;align-items:center;justify-content:center;flex-wrap:wrap;margin-bottom:1.5rem}.stats-kpi-card{display:flex;flex-direction:column;align-items:center;gap:.25rem}.stats-kpi-big{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1rem 1.5rem;min-width:100px}.stats-kpi-value{font-size:2.2rem;font-weight:700;font-variant-numeric:tabular-nums;color:var(--text-primary);line-height:1.1}.stats-kpi-sublabel{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-weight:600}.stats-ring-svg{display:block}.stats-stacked-group{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.stats-stacked{display:flex;align-items:center;gap:.6rem}.stats-stacked-label{font-size:.75rem;font-weight:600;text-transform:uppercase;color:var(--text-muted);letter-spacing:.03em;min-width:60px}.stats-stacked-bar{flex:1;display:flex;height:24px;border-radius:4px;overflow:hidden;background:#ffffff0a}.stats-stacked-seg{display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:600;color:#ffffffd9;min-width:0;transition:width .4s ease}.stats-stacked-win{background:#22c55e8c}.stats-stacked-loss{background:#ef44448c}.stats-stacked-draw{background:#6b728073}.stats-stacked-meta{font-size:.75rem;color:var(--text-muted);min-width:55px;text-align:right}.stats-mini-trend{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:.75rem 1rem}.stats-mini-trend-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);font-weight:600;display:block;margin-bottom:.25rem}.stats-table-wrap{overflow-x:auto}.stats-table{width:100%;border-collapse:collapse;font-size:.85rem}.stats-table th{text-align:left;padding:.5rem .6rem;border-bottom:2px solid var(--border-color);font-weight:600;color:var(--text-secondary);font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.stats-table td{padding:.45rem .6rem;border-bottom:1px solid var(--border-color);font-variant-numeric:tabular-nums}.stats-table tbody tr:hover{background:#ffffff08}.stats-num{text-align:center;width:4.5rem;min-width:4.5rem}.stats-name-cell{font-weight:500;width:100%;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stats-sort-header{cursor:pointer;-webkit-user-select:none;user-select:none}.stats-sort-header:hover{color:var(--text-primary)}.stats-sort-arrow{font-size:.6rem;opacity:.7}.stats-sort-arrow-hidden{visibility:hidden}.stats-wr-cell{font-weight:600;border-radius:2px}.stats-wr-bar-wrap{display:flex;align-items:center;gap:.4rem}.stats-wr-bar-label{font-size:.75rem;font-weight:600;color:var(--text-secondary);min-width:30px;text-align:right;font-variant-numeric:tabular-nums}.stats-wr-bar{display:flex;height:10px;width:80px;background:#ffffff0a;border-radius:5px;overflow:hidden}.stats-wr-fill{height:100%;transition:width .3s ease}.stats-wr-win{background:#22c55e}.stats-wr-loss{background:#ef4444}.stats-games-cell{position:relative}.stats-games-bar{position:absolute;left:0;top:0;bottom:0;background:#6366f11f;border-radius:0 3px 3px 0;transition:width .3s ease}.stats-games-val{position:relative;z-index:1}.stats-chart-container{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1rem;margin-bottom:1.5rem}.stats-chart-tooltip{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:.5rem .75rem;font-size:.8rem;color:var(--text-primary);box-shadow:0 4px 12px #0000004d}.stats-chart-tooltip-label{font-weight:600;margin-bottom:.25rem;color:var(--text-secondary)}.stats-matrix-wrap{position:relative}.stats-matrix-scroll{overflow-x:auto}.stats-matrix{border-collapse:separate;border-spacing:0;font-size:.8rem}.stats-matrix th,.stats-matrix td{padding:.35rem .5rem;border-right:1px solid var(--border-color);border-bottom:1px solid var(--border-color);text-align:center;white-space:nowrap}.stats-matrix th:first-child,.stats-matrix td:first-child{border-left:1px solid var(--border-color)}.stats-matrix thead th{border-top:1px solid var(--border-color)}.stats-matrix-corner{background:var(--bg-secondary);font-size:.7rem;text-transform:uppercase;color:var(--text-muted);letter-spacing:.03em;position:sticky;left:0;z-index:2}.stats-matrix-row-header{background:var(--bg-secondary);font-weight:600;text-align:left;font-size:.78rem;position:sticky;left:0;z-index:1}.stats-matrix-col-header{background:var(--bg-secondary);font-weight:600;font-size:.72rem;max-width:80px;overflow:hidden;text-overflow:ellipsis}.stats-matrix-cell{font-weight:600;font-variant-numeric:tabular-nums;cursor:default;transition:background .15s;min-width:52px}.stats-matrix-cell:hover{outline:2px solid var(--accent);outline-offset:-2px}.stats-matrix-empty{color:var(--text-muted);font-weight:400}.stats-matrix-low{font-style:italic;opacity:.65}.stats-matrix-tooltip{position:fixed;transform:translate(-50%,-100%);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:.4rem .65rem;font-size:.78rem;color:var(--text-primary);box-shadow:0 4px 12px #00000059;pointer-events:none;z-index:100;white-space:nowrap}.stats-matrix-tooltip-detail{color:var(--text-secondary);font-size:.72rem}.stats-matrix-tooltip-n{color:var(--text-muted)}.stats-analysis-filters{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.5rem}.stats-analysis-filters .form-input{flex:1;min-width:140px}.stats-analysis-record{display:flex;align-items:center;gap:1.25rem;margin-bottom:1.5rem;flex-wrap:wrap}.stats-analysis-wld{display:flex;align-items:baseline;gap:.6rem;font-size:1.1rem;font-weight:600;font-variant-numeric:tabular-nums}.stats-analysis-w{color:#4ade80}.stats-analysis-l{color:#f87171}.stats-analysis-d{color:#9ca3af}.stats-analysis-n{font-weight:400;font-size:.85rem;color:var(--text-muted)}.stats-analysis-section{margin-bottom:1.5rem}.stats-analysis-heading{font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);margin-bottom:.75rem}.stats-analysis-subheading{font-size:.75rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;margin:1rem 0 .5rem}.stats-analysis-games{display:flex;gap:.75rem;flex-wrap:wrap;margin-bottom:.5rem}.stats-analysis-game-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:.75rem 1rem;min-width:100px;text-align:center}.stats-analysis-game-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:.35rem}.stats-analysis-game-wr{font-size:1.5rem;font-weight:700;font-variant-numeric:tabular-nums;border-radius:4px;padding:.15rem .4rem;margin-bottom:.25rem}.stats-analysis-game-detail{font-size:.78rem;color:var(--text-secondary);font-variant-numeric:tabular-nums}.stats-analysis-insight{font-size:.82rem;color:var(--text-secondary);font-style:italic;margin-top:.5rem}@media(max-width:600px){.stats-kpi-row{gap:.75rem}.stats-kpi-big{padding:.75rem 1rem}.stats-kpi-value{font-size:1.6rem}.stats-matrix-cell{min-width:44px;font-size:.72rem}}.teams-section{margin-bottom:1.5rem}.teams-list{list-style:none;padding:0;margin:.5rem 0 0}.teams-list-item{display:flex;align-items:center;justify-content:space-between;padding:.6rem .8rem;border-bottom:1px solid var(--border);text-decoration:none;color:var(--text-primary);transition:background .1s}.teams-list-item:hover{background:var(--surface-hover)}.teams-list-name{font-weight:500}.teams-member-row{display:flex;align-items:center;gap:.75rem;padding:.5rem .8rem;border-bottom:1px solid var(--border)}.teams-create-row{display:flex;gap:.5rem;align-items:center}.teams-create-row .form-input{flex:1}.teams-invite-list{list-style:none;padding:0;margin:.5rem 0 0}.teams-invite-row{display:flex;align-items:center;gap:.75rem;padding:.6rem .8rem;border-bottom:1px solid var(--border);flex-wrap:wrap}.teams-invite-name{font-weight:500;flex:1}.teams-invite-actions{display:flex;gap:.4rem}.teams-header{margin-bottom:1rem}.teams-toggle-row{display:flex;align-items:center;gap:.6rem;padding:.5rem 0;cursor:pointer;-webkit-user-select:none;user-select:none}.teams-toggle-row input[type=checkbox]{width:1.1rem;height:1.1rem;accent-color:var(--accent)}.form-hint{margin-top:.35rem;font-size:.82rem;color:var(--text-secondary)}.teams-invite-link-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.teams-invite-link{flex:1;min-width:0;background:var(--surface-raised);padding:.5rem .75rem;border-radius:var(--radius);font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;-webkit-user-select:all;user-select:all}
