@import "https://fonts.googleapis.com/css2?family=Noto+Sans+Symbols:wght@400;700&display=swap";@import "https://fonts.googleapis.com/css2?family=Noto+Sans+Symbols:wght@400;700&display=swap";@import "https://fonts.googleapis.com/css2?family=Noto+Sans+Symbols:wght@400;700&display=swap";:root{--bg-body:#f5f7fb;--bg-surface:#fff;--bg-error:#fee2e2;--bg-surface-hover:#eff6ff;--bg-medium:#e9eef6;--bg-surface-alt:#f8fafc;--bg-bid:#059669;--bg-dealer:#f59e0b;--bg-winner:#d1fae5;--bg-trick-won:lightgreen;--bg-trick-lost:lightpink;--bg-kitty-discard:#f5f7fb;--bg-dark:#111827;--color-primary:#2563eb;--color-success:#10b981;--color-danger:#ef4444;--color-red-suit:#dc2626;--color-black-suit:#1f2937;--text-primary:#1f2937;--text-primary-fade:#1f293799;--text-secondary:#4b5563;--text-error:#991b1b;--text-inverse-alt:#f9fafb;--text-muted:#6b7280;--text-trump-hand:#e9c11d;--text-light:#fff;--border-primary:#1d4ed8;--border-seat:#dbeafe;--border-light:#e5e7eb;--border-medium:#9fa3a9;--border-dark:#1f2937;--bg-card:#f5f7fb;--bg-trump-card:#f9ed93;--bg-unknown-card:#f1f5f9;--bg-kitty-discard-card:#f5f7fb;--color-success-card:#10b981;--color-red-suit-card:#dc2626;--color-black-suit-card:#1f2937;--text-unknown-card:#94a3b8;--text-primary-fade-card:#1f293799;--border-trump-card:#f8d034;--border-light-card:#e5e7eb;--border-medium-card:#d1d5db;--border-dark-card:#1f2937;--bg-input:#fff;--bg-table-header:#f1f5f9;--text-input:#1f2937;--text-table-header:#1f2937;--color-randomized:#a855f7;--bg-randomized-text:#a855f733;--border-randomized:#a855f7;--shadow-randomized:#a855f780;--shadow-randomized-glow:#a855f799;--color-outcome-better:#16a34a;--color-outcome-worse:#dc2626;--color-outcome-equal:#d97706;--shadow-outcome-better-glow:#16a34a99;--shadow-outcome-worse-glow:#dc262699;--shadow-outcome-equal-glow:#d9770699}[data-theme=dark]{--bg-body:#0f172a;--bg-surface:#1e293b;--bg-error:#7f1d1d;--bg-surface-hover:#334155;--bg-medium:#334155;--bg-surface-alt:#0f172a;--bg-bid:#059669;--bg-dealer:#d97706;--bg-winner:#096b41;--bg-trick-won:#064e3b;--bg-trick-lost:#b96666;--bg-kitty-discard:#0f172a;--bg-dark:#f8fafc;--color-primary:#3b82f6;--color-success:#10b981;--color-danger:#ef4444;--color-red-suit:#f86060;--color-black-suit:#f8fafc;--text-primary:#f1f5f9;--text-primary-fade:#f1f5f999;--text-secondary:#cbd5e1;--text-error:#fca5a5;--text-inverse-alt:#0f172a;--text-muted:#94a3b8;--text-trump-hand:#fbbf24;--text-light:#fff;--border-primary:#3b82f6;--border-seat:#475569;--border-light:#334155;--border-medium:#94a3b8;--border-dark:#475569;--bg-card:#ddd;--bg-trump-card:#efdd5b;--bg-unknown-card:#f1f5f9;--bg-kitty-discard-card:#f5f7fb;--color-success-card:#10b981;--color-red-suit-card:#dc2626;--color-black-suit-card:#1f2937;--text-unknown-card:#94a3b8;--text-primary-fade-card:#1f293799;--border-trump-card:#f8d034;--border-light-card:#e5e7eb;--border-medium-card:#d1d5db;--border-dark-card:#1f2937;--bg-input:#334155;--bg-table-header:#334155;--text-input:#f1f5f9;--text-table-header:#f1f5f9;--color-randomized:#c084fc;--bg-randomized-text:#c084fc40;--border-randomized:#c084fc;--shadow-randomized:#c084fc99;--shadow-randomized-glow:#c084fcbf;--color-outcome-better:#22c55e;--color-outcome-worse:#ef4444;--color-outcome-equal:#f59e0b;--shadow-outcome-better-glow:#22c55eb3;--shadow-outcome-worse-glow:#ef4444b3;--shadow-outcome-equal-glow:#f59e0bb3}.red-suit{color:var(--color-red-suit)}.black-suit{color:var(--color-black-suit)}.app-shell{max-width:1200px;margin:0 auto;padding:clamp(8px,3vw,12px)}header{text-align:center}header h1{margin:0 0 4px;font-size:2rem}header p{color:var(--text-secondary)}.description{color:var(--text-secondary);margin-top:0;margin-bottom:16px}.menu-bar{background:var(--bg-surface);border:1px solid var(--border-medium);z-index:250;border-radius:10px;justify-content:flex-start;align-items:center;gap:8px;min-width:300px;max-width:750px;margin-left:auto;margin-right:auto;padding:6px 16px;display:flex;position:relative;box-shadow:0 2px 8px #0000000d}.menu-container{position:relative}.menu-trigger-btn{color:var(--text-primary);cursor:pointer;box-shadow:none;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:6px;font-size:clamp(.8rem,2.5vw,1rem);font-weight:550;transition:background-color .2s,color .2s;display:inline-flex}.menu-trigger-btn:hover{background:var(--bg-medium)}.menu-trigger-btn.active{background:var(--color-primary);color:var(--text-light)}.menu-trigger-btn:active{box-shadow:none;transform:none}.menu-dropdown{background:var(--bg-surface);border:1px solid var(--border-medium);z-index:350;border-radius:8px;flex-direction:column;width:clamp(160px,40vw,200px);margin-top:6px;padding:6px 0;animation:.15s ease-out menuFadeIn;display:flex;position:absolute;top:100%;left:0;box-shadow:0 10px 25px #00000026}.menu-container:nth-last-child(2) .menu-dropdown{left:auto;right:-50%}@keyframes menuFadeIn{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.menu-dropdown-item{color:var(--text-primary);text-align:left;cursor:pointer;box-sizing:border-box;background:0 0;border:none;justify-content:space-between;align-items:center;width:100%;padding:8px 16px;font-size:.88rem;font-weight:500;transition:background-color .15s;display:flex}.menu-dropdown-item:disabled{opacity:.5;cursor:not-allowed}.menu-dropdown-item:hover:not(:disabled){background:var(--bg-surface-hover)}.menu-dropdown-item:active{box-shadow:none;transform:none}.menu-language-selector{border:1px solid var(--border-light);background:var(--bg-surface);min-width:96px;color:var(--text-primary);border-radius:4px;margin-left:8px;padding:4px 6px}.file-label-menu{margin:0;font-weight:500}.menu-dropdown-separator{background:var(--border-light);height:1px;margin:6px 0}.menu-checkbox{color:var(--color-primary);text-align:center;min-width:16px;font-size:1rem;font-weight:700}.menu-item-with-submenu{position:relative}.menu-submenu{background:var(--bg-surface);border:1px solid var(--border-medium);z-index:200;border-radius:8px;width:clamp(160px,40vw,200px);margin-left:1px;padding:6px 0;display:none;position:absolute;top:0;left:100%;box-shadow:0 10px 25px #00000026}.menu-item-with-submenu:hover .menu-submenu{flex-direction:column;display:flex}.submenu-trigger{cursor:default}.disabled-menu-item{pointer-events:none;opacity:.5}@media (width<=600px){.menu-dropdown{width:220px}.menu-submenu{width:auto;box-shadow:none;border:none;border-left:2px solid var(--border-medium);background:var(--bg-medium);border-radius:6px;margin:4px 8px;padding:2px 0;display:none;position:static}.menu-item-with-submenu:hover .menu-submenu{display:none}.menu-item-with-submenu.submenu-active .menu-submenu{flex-direction:column;display:flex}}.modal-backdrop{-webkit-backdrop-filter:blur(4px);z-index:1000;background-color:#0009;justify-content:center;align-items:center;width:100vw;height:100vh;animation:.2s ease-out fadeIn;display:flex;position:fixed;top:0;left:0}.modal-content{background-color:var(--bg-surface);border:1px solid var(--border-medium);text-align:center;z-index:1001;border-radius:16px;width:90%;max-width:420px;padding:8px;animation:.2s cubic-bezier(.34,1.56,.64,1) scaleIn;position:relative;box-shadow:0 20px 25px -5px #0003,0 10px 10px -5px #0000001a}.modal-close-x{color:var(--text-secondary);cursor:pointer;z-index:10;background:0 0;border:none;padding:4px;font-size:1.5rem;line-height:1;transition:color .15s,transform .15s;position:absolute;top:12px;right:16px}.modal-close-x:hover{color:var(--text-primary);transform:scale(1.1)}.modal-title{color:var(--text-primary);margin-top:6px;margin-bottom:6px;font-size:1.5rem;font-weight:700}.modal-description{color:var(--text-secondary);margin-bottom:10px;font-size:.95rem}.about-details{background:var(--bg-body);border:1px solid var(--border-light);text-align:left;border-radius:10px;margin-bottom:24px;padding:14px}.about-detail-row{border-bottom:1px solid var(--border-light);justify-content:space-between;padding:6px 0;font-size:.9rem;display:flex}.about-detail-row:last-child{border-bottom:none}.about-detail-label{color:var(--text-secondary);font-weight:600}.about-detail-value{color:var(--text-primary)}.modal-close-btn{background-color:var(--color-primary);width:100%;color:var(--text-light);cursor:pointer;border:none;border-radius:8px;padding:10px;font-size:.95rem;font-weight:600;transition:background-color .2s,transform .1s}.modal-close-btn:hover{background-color:var(--border-primary)}.modal-close-btn:active{transform:scale(.98)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.help-modal-content{max-width:600px}.help-sections{text-align:left;max-height:clamp(300px,60vh,500px);margin-bottom:24px;padding-right:12px;overflow-y:auto}.help-section{border-bottom:1px solid var(--border-light);margin-bottom:20px;padding-bottom:16px}.help-section:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.help-section h3{color:var(--text-primary);border-left:3px solid var(--color-primary);margin-top:0;margin-bottom:12px;padding-left:8px;font-size:1.15rem}.shortcut-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:8px 16px;display:grid}.shortcut-row{border-bottom:1px dashed var(--border-light);justify-content:space-between;align-items:center;padding:4px 0;font-size:.9rem;display:flex}.shortcut-keys{gap:4px;display:flex}.shortcut-desc{color:var(--text-secondary)}kbd{background-color:var(--bg-body);border:1px solid var(--border-medium);color:var(--text-primary);border-bottom-width:2px;border-radius:4px;padding:2px 6px;font-family:inherit;font-size:.85em;font-weight:600;box-shadow:0 1px 1px #0000001a}.help-list,.help-ol{margin:0;padding-left:20px}.help-list li,.help-ol li{color:var(--text-secondary);margin-bottom:8px;font-size:.9rem;line-height:1.4}.help-text{color:var(--text-secondary);margin:0;font-size:.9rem;line-height:1.5}.shortcuts-modal-content{max-width:420px}.about-link{color:var(--color-primary);font-weight:600;text-decoration:none;transition:opacity .2s}.about-link:hover{opacity:.85;text-decoration:underline}.card,.card-chip,.trick-card,.card-suit-symbol,.card-rank,.suit-icon,.suit-icon-black,.suit-icon-red,.trump-suit,.card-value,.card-suit,.card-badge,button{-webkit-user-select:none;user-select:none}.modal-actions-confirm{flex-direction:column;gap:10px;margin-top:8px;display:flex}.modal-actions-confirm.row{flex-direction:row}.modal-actions-confirm button{cursor:pointer;border:none;border-radius:8px;width:100%;padding:12px;font-size:.95rem;font-weight:600}.modal-actions-confirm button:disabled{opacity:.5;cursor:not-allowed}.modal-actions-confirm.row button{width:50%}.modal-actions-confirm button.primary{background-color:var(--color-primary);color:var(--text-light)}.modal-actions-confirm button.primary:hover{filter:brightness(.9)}.modal-actions-confirm button.danger{background-color:var(--bg-error);color:var(--text-error);border:1px solid var(--border-error)}.modal-actions-confirm button.danger:hover{filter:brightness(.95)}.modal-actions-confirm button.secondary{background-color:var(--bg-medium);color:var(--text-primary);border:1px solid var(--border-medium)}.modal-actions-confirm button.secondary:hover{background-color:var(--bg-surface-hover)}.tour-tooltip-wrapper{z-index:10000;pointer-events:none;flex-direction:row-reverse;gap:16px;display:flex;position:fixed}.tour-tooltip-wrapper .tour-tooltip{pointer-events:auto;position:static;transform:none}.tour-blocker{z-index:9990;pointer-events:auto;width:100vw;height:100vh;position:fixed;top:0;left:0}.tour-spotlight-hole{z-index:9995;pointer-events:none;border-radius:8px;transition:all .3s cubic-bezier(.4,0,.2,1);position:fixed;box-shadow:0 0 0 9999px #000000a6}.tour-tooltip{z-index:10000;background:var(--bg-surface);border:1px solid var(--border-medium);box-sizing:border-box;width:340px;color:var(--text-primary);border-radius:12px;flex-direction:column;gap:12px;padding:18px;font-family:inherit;transition:all .3s cubic-bezier(.4,0,.2,1);animation:.2s ease-out tourFadeIn;display:flex;position:fixed;box-shadow:0 12px 30px #00000040}@keyframes tourFadeIn{0%{opacity:0;transform:translateY(10px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}.tour-tooltip-title{color:var(--color-primary);margin:0;font-size:1.1rem;font-weight:700}.tour-tooltip-content{color:var(--text-secondary);margin:0;font-size:.9rem;line-height:1.5}.tour-tooltip-content code{background:var(--bg-medium);border-radius:4px;padding:2px 4px;font-family:monospace}.tour-tooltip-footer{justify-content:space-between;align-items:center;margin-top:8px;display:flex}.tour-step-indicators{gap:6px;display:flex}.tour-indicator-dot{background:var(--border-medium);border-radius:50%;width:6px;height:6px;transition:all .2s cubic-bezier(.4,0,.2,1)}.tour-indicator-dot.active{background:var(--color-primary);border-radius:3px;width:14px}.tour-indicator-dot.small{opacity:.5;transform:scale(.6)}.tour-actions{align-items:center;gap:8px;display:flex}.tour-btn{cursor:pointer;border:none;border-radius:6px;padding:6px 12px;font-size:.85rem;font-weight:550;transition:filter .15s,background-color .15s}.tour-btn:active{transform:scale(.97)}.tour-btn-skip{color:var(--text-secondary);background:0 0;font-weight:500}.tour-btn-skip:hover{color:var(--text-primary)}.tour-btn-back{background:var(--bg-medium);color:var(--text-primary);border:1px solid var(--border-medium)}.tour-btn-back:hover{background:var(--bg-surface-hover)}.tour-btn-next{background:var(--color-primary);color:var(--text-light)}.tour-btn-next:hover{filter:brightness(.95)}.tour-image-card{background:var(--bg-surface);border:1px solid var(--border-medium);box-sizing:border-box;width:320px;color:var(--text-primary);pointer-events:auto;border-radius:12px;flex-direction:column;flex-shrink:0;gap:12px;padding:18px;animation:.2s ease-out tourFadeIn;display:flex;box-shadow:0 12px 30px #00000040}.tour-image-title{color:var(--color-primary);text-align:center;margin:0;font-size:1rem;font-weight:700}.tour-image-placeholder-box{background:var(--bg-medium);aspect-ratio:4/3;box-sizing:border-box;border:1px solid var(--border-medium);border-radius:8px;justify-content:center;align-items:center;padding:12px;display:flex;overflow:hidden}.tour-image-description{color:var(--text-secondary);text-align:center;margin:0;font-size:.82rem;line-height:1.4}@media (width<=1024px){.tour-image-card{display:none}}.sandbox-modal-backdrop{z-index:10000;-webkit-backdrop-filter:blur(5px);background-color:#000000bf;justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:fixed;top:0;left:0}.sandbox-modal{color:#fff;background-color:#1e1f29;border:1px solid #374151;border-radius:12px;width:90%;max-width:440px;padding:20px;position:relative;box-shadow:0 10px 30px #00000080}.sandbox-modal-header{border-bottom:1px solid #2d2f3d;justify-content:space-between;align-items:center;margin-bottom:10px;padding-bottom:10px;display:flex}.sandbox-modal-title{margin:0;font-size:1.15rem;font-weight:650}.sandbox-modal-close-btn{color:#9ca3af;cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:1.5rem;line-height:1}.sandbox-modal-sub-header{color:#9ca3af;text-align:left;margin:0 0 16px;font-size:.74rem;line-height:1.4}.sandbox-modal-save-btn{color:#fff;cursor:pointer;background-color:#10b981;border:none;border-radius:6px;justify-content:center;align-items:center;width:100%;margin-bottom:16px;padding:10px 14px;font-size:.85rem;font-weight:600;transition:background-color .15s;display:flex;box-shadow:0 2px 4px #0003}.sandbox-modal-save-icon{margin-right:6px}.sandbox-modal-list-container{background-color:#15161f;border:1px solid #2d2f3d;border-radius:8px;max-height:260px;overflow-y:auto}.sandbox-modal-empty-list{color:#6b7280;text-align:center;padding:24px 10px;font-size:.8rem;font-style:italic}.sandbox-modal-list-ul{margin:0;padding:0;list-style:none}.sandbox-modal-list-li{border-bottom:1px solid #2d2f3d;justify-content:space-between;align-items:center;padding:10px 12px;font-size:.82rem;transition:background-color .15s;display:flex}.sandbox-modal-item-name{cursor:pointer;text-align:left;text-overflow:ellipsis;white-space:nowrap;flex-direction:column;flex-grow:1;gap:3px;display:flex;overflow:hidden}.sandbox-modal-item-title{font-weight:550}.sandbox-modal-item-time{color:#6b7280;font-size:.68rem}.sandbox-modal-delete-btn{color:#6b7280;cursor:pointer;background:0 0;border:none;padding:0 6px;font-size:1.25rem;line-height:1}.sandbox-modal-confirm-backdrop{z-index:10;background-color:#000c;border-radius:12px;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:absolute;top:0;left:0}.sandbox-modal-confirm-container{text-align:center;background-color:#20212a;border:1px solid #ef4444;border-radius:8px;width:90%;max-width:280px;padding:15px}.sandbox-modal-confirm-title{color:#fff;margin:0 0 10px;font-size:1rem}.sandbox-modal-confirm-text{color:#9ca3af;margin:0 0 15px;font-size:.8rem}.sandbox-modal-confirm-actions{justify-content:center;gap:10px;display:flex}.sandbox-modal-btn-confirm-delete{color:#fff;cursor:pointer;background-color:#ef4444;border:none;border-radius:4px;padding:6px 12px;font-size:.78rem;font-weight:600}.sandbox-modal-btn-confirm-cancel{color:#fff;cursor:pointer;background-color:#374151;border:1px solid #4b5563;border-radius:4px;padding:6px 12px;font-size:.78rem;font-weight:600}.auth-modal-content{width:90%;max-width:400px}.auth-profile-details{margin:16px 0;font-size:.95rem}.auth-profile-row{margin-bottom:8px}.auth-profile-label{color:var(--text-secondary,#666)}.auth-profile-value{text-transform:capitalize;color:var(--primary-color,#007bff);font-weight:700}.auth-plan-card{background:#007bff0f;border:1px solid #007bff29;border-radius:8px;margin-top:16px;padding:12px 14px}.auth-plan-card-title{color:var(--text-primary,#111827);margin-bottom:6px;font-weight:700}.auth-plan-card-text{color:var(--text-secondary,#4b5563);margin:0 0 8px;font-size:.9rem}.auth-plan-card-list{color:var(--text-secondary,#4b5563);margin:0 0 8px 18px;padding:0;font-size:.88rem}.auth-plan-card-footnote{color:var(--text-secondary,#6b7280);margin:0;font-size:.84rem;font-style:italic}.auth-alert{border:1px solid #0000;border-radius:4px;margin-bottom:16px;padding:8px 12px;font-size:.85rem}.auth-alert-success{color:#28a745;background:#28a7451a;border-color:#28a74533}.auth-alert-danger{color:#dc3545;background:#dc35451a;border-color:#dc354533}.auth-actions-wrapper{justify-content:flex-end;gap:8px;margin-top:24px;display:flex}.auth-btn-modal{cursor:pointer;border:none;border-radius:4px;padding:8px 16px}.auth-btn-close{background:var(--bg-button-secondary,#e2e3e5);color:#383d41}.auth-btn-logout{color:#fff;background:#dc3545}.auth-tabs-header{border-bottom:1px solid var(--border-color,#eee);margin-bottom:20px;display:flex}.auth-tab-btn{cursor:pointer;color:var(--text-secondary,#666);background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:10px 0;font-weight:400;transition:all .15s}.auth-tab-btn.active{border-bottom:2px solid var(--primary-color,#007bff);color:var(--text-primary,#000);font-weight:700}.auth-form{flex-direction:column;gap:12px;display:flex}.auth-form-group{flex-direction:column;align-items:flex-start;display:flex}.auth-form-label{color:var(--text-secondary,#555);margin-bottom:4px;font-size:.85rem;display:block}.auth-form-input{border:1px solid var(--border-color,#ccc);background:var(--bg-input,#fff);width:100%;color:var(--text-input,#1f2937);box-sizing:border-box;border-radius:4px;padding:8px 12px}.auth-form-actions{justify-content:flex-end;gap:8px;margin-top:12px;display:flex}.scenario-modal-content{scrollbar-width:thin;scrollbar-color:var(--border-medium) transparent;flex-direction:column;width:95%;max-width:800px;max-height:95vh;display:flex;overflow-y:auto}.scenario-modal-content::-webkit-scrollbar{width:8px}.scenario-modal-content::-webkit-scrollbar-track{background:0 0;border-radius:4px}.scenario-modal-content::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:4px}.scenario-modal-content::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.scenario-builder-grid{text-align:left;grid-template-columns:1fr 1fr;gap:8px;margin:8px 0;display:grid}.scenario-seats-panel{background:var(--bg-medium);border:1px solid var(--border-light);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;padding:20px;display:flex}.scenario-diamond-layout{flex-direction:column;align-items:center;gap:16px;width:100%;display:flex;position:relative}.scenario-diamond-middle{justify-content:space-between;align-items:center;gap:16px;width:100%;display:flex}.scenario-seat-box{background:var(--bg-surface);border:2px solid var(--border-medium);cursor:pointer;text-align:center;border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:110px;min-height:80px;padding:18px 14px 14px;transition:all .2s;display:flex;position:relative}.scenario-seat-box.north,.scenario-seat-box.south{width:50%}.scenario-seat-box:hover{border-color:var(--border-primary);background:var(--bg-surface-hover)}.scenario-seat-box.active{border-color:var(--color-primary);background:var(--bg-surface-hover);box-shadow:0 0 12px #00bcd433}.scenario-seat-box.center-upcard{background:var(--bg-body);border-style:dashed}.scenario-seat-box.center-upcard.active{border-style:solid}.seat-hand-count{color:var(--text-secondary);font-size:.75rem}.dealer-badge-corner{color:#fff;z-index:5;cursor:default;background:#ff9800;border:1px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:25px;height:25px;font-size:.9rem;font-weight:700;display:flex;position:absolute;top:-8px;right:-12px;box-shadow:0 2px 4px #00000040}.dealer-badge-corner.button{background:var(--bg-surface);color:var(--text-muted);border-color:var(--border-medium);cursor:pointer;border-radius:10%;width:30px;padding:0;line-height:1;transition:all .15s}.dealer-badge-corner.button:hover{color:#fff;background:#ff9800;border-color:#ff9800;box-shadow:0 2px 6px #ff980066}.upcard-display{margin-top:4px;font-size:1.15rem;font-weight:800}.placeholder-text{color:var(--text-secondary);font-size:.72rem;font-weight:500}.scenario-selector-panel{flex-direction:column;gap:12px;padding:10px;display:flex}.panel-subtitle{color:var(--text-primary);border-left:3px solid var(--color-primary);margin:0;padding-left:8px;font-size:1.05rem}.scenario-card-grid-container{background:var(--bg-medium);border:1px solid var(--border-light);border-radius:12px;padding:8px}.scenario-config-options{margin-top:8px}@media (width<=768px){.scenario-builder-grid{grid-template-columns:1fr}}@media (width<=480px){.scenario-diamond-middle{gap:8px}.scenario-seat-box{width:90px;min-height:80px;padding:18px 8px 8px}.scenario-seat-box.north,.scenario-seat-box.south{width:60%}.scenario-seat-box.center-upcard{width:70px}.seat-label{font-size:.62rem}.seat-hand-count{font-size:.65rem}.mini-card{padding:1px 2px;font-size:.65rem}.dealer-badge-corner{width:20px;height:20px;font-size:.72rem;top:-8px;right:-8px}}.seat-hand-cards{flex-wrap:wrap;justify-content:center;gap:2px;width:100%;margin-top:6px;display:flex}.mini-card{border:1px solid var(--border-medium);-webkit-user-select:none;user-select:none;cursor:pointer;background:#fff;border-radius:4px;justify-content:center;align-items:center;padding:1px 4px;font-size:.72rem;font-weight:700;transition:all .15s;display:inline-flex;box-shadow:0 1px 2px #00000026}.mini-card.up-card{font-size:.9rem}.mini-card:hover{transform:scale(.95);color:#c62828!important;background:#ffebee!important;border-color:#ef9a9a!important}.mini-card.red-suit{color:#d32f2f}.mini-card.black-suit{color:#212121}.scenario-card-grid-container .card-chip{aspect-ratio:1;border:1px solid var(--border-medium);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:40%;justify-content:center;align-items:center;width:13.3%;max-width:65px;margin:4px;font-family:Noto Sans Symbols,sans-serif;font-size:.9rem;font-weight:700;transition:all .15s;display:inline-flex}.scenario-card-grid-container .card-chip.red-suit{color:#fff!important;background:#e53935!important;border-color:#d32f2f!important}.scenario-card-grid-container .card-chip.black-suit{color:#fff!important;background:#212121!important;border-color:#111!important}.scenario-card-grid-container .card-chip.red-suit:not(.chosen-current):not(.chosen-other):hover{transform:scale(1.05);background:#ef5350!important}.scenario-card-grid-container .card-chip.black-suit:not(.chosen-current):not(.chosen-other):hover{transform:scale(1.05);background:#424242!important}.scenario-card-grid-container .card-chip.chosen-other{cursor:pointer;opacity:.65;color:#757575!important;background:#e0e0e0!important;border-color:#bdbdbd!important}[data-theme=dark] .scenario-card-grid-container .card-chip.chosen-other{opacity:.55;color:#9e9e9e!important;background:#424242!important;border-color:#616161!important}.scenario-card-grid-container .card-chip.chosen-current{cursor:pointer;box-shadow:0 0 6px #4caf5066;color:#fff!important;background:#4caf50!important;border-color:#388e3c!important}[data-theme=dark] .scenario-card-grid-container .card-chip.chosen-current{box-shadow:0 0 6px #2e7d3266;color:#fff!important;background:#2e7d32!important;border-color:#4caf50!important}.scenario-card-grid-container .card-chip.card-excluded-current{opacity:.85;text-decoration:line-through;box-shadow:0 0 6px #dc26264d;color:#dc2626!important;background:#dc262626!important;border:2px dashed #dc2626!important}[data-theme=dark] .scenario-card-grid-container .card-chip.card-excluded-current{opacity:.9;text-decoration:line-through;box-shadow:0 0 6px #ef444466;color:#f87171!important;background:#ef444433!important;border:2px dashed #f87171!important}.scenario-mode-toggle-group{gap:8px;margin-bottom:8px;display:flex}.scenario-mode-btn{border:1px solid var(--border-medium);background:var(--bg-surface);color:var(--text-secondary);cursor:pointer;border-radius:6px;flex:1;justify-content:center;align-items:center;gap:4px;padding:6px 10px;font-size:.82rem;font-weight:600;transition:all .15s;display:flex}.scenario-mode-btn:hover{background:var(--bg-surface-hover);color:var(--text-primary)}.scenario-mode-btn.active-include{background:var(--color-primary);color:#fff;border-color:var(--color-primary);box-shadow:0 2px 6px #00bcd44d}.scenario-mode-btn.active-exclude{color:#fff;background:#7c3aed;border-color:#6d28d9;box-shadow:0 2px 6px #7c3aed59}.seat-cards-container{flex-direction:column;align-items:center;gap:4px;width:100%;display:flex}.seat-excluded-row{border-top:1px dashed #7c3aed4d;flex-wrap:wrap;justify-content:center;align-items:center;gap:2px;width:100%;margin-top:2px;padding-top:2px;display:flex}.excluded-icon-prefix{margin-right:1px;font-size:.65rem;line-height:1}.mini-card.excluded-chip{cursor:pointer;color:var(--text-primary);background:#dc26261f;border:1px solid #dc262680;padding:0 3px;font-size:.62rem;text-decoration:line-through}.mini-card.excluded-chip.red-suit{color:var(--color-red-suit)}.mini-card.excluded-chip.black-suit{color:var(--text-primary)}.mini-card.excluded-chip:hover{color:#b91c1c!important;background:#fee2e2!important;border-color:#ef4444!important}[data-theme=dark] .mini-card.excluded-chip{background:#ef444433;border-color:#ef444499}[data-theme=dark] .mini-card.excluded-chip:hover{color:#fca5a5!important;background:#ef444459!important;border-color:#ef4444!important}.seat-suit-filters-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:3px;width:100%;margin-top:2px;display:flex}.scenario-suit-filter-chip{background:var(--bg-surface);border:1px solid var(--border-medium);color:var(--text-primary);cursor:pointer;border-radius:4px;align-items:center;gap:2px;padding:1px 5px;font-size:.65rem;font-weight:700;transition:all .15s;display:inline-flex}.scenario-suit-filter-chip.red-suit{color:var(--color-red-suit);border-color:var(--color-red-suit);background:#ef44441f}.scenario-suit-filter-chip.black-suit{color:var(--text-primary);border-color:var(--border-medium);background:var(--bg-surface)}.scenario-suit-filter-chip:hover{border-color:var(--color-danger);background:#ef444433}.scenario-suit-filter-chip .chip-remove{opacity:.7;margin-left:2px;font-size:.75rem}.scenario-suit-filter-chip:hover .chip-remove{opacity:1;color:var(--color-danger)}.scenario-suit-filters-builder{background:var(--bg-surface-alt,var(--bg-surface));border:1px solid var(--border-medium);color:var(--text-primary);border-radius:6px;flex-direction:column;gap:6px;margin-top:8px;padding:8px;display:flex}.scenario-suit-filters-builder-header{color:var(--text-secondary);justify-content:space-between;align-items:center;font-size:.75rem;font-weight:600;display:flex}.scenario-suit-filter-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.scenario-suit-btn-group{border:1px solid var(--border-medium);border-radius:4px;display:flex;overflow:hidden}.scenario-suit-select-btn{background:var(--bg-surface);cursor:pointer;color:var(--text-primary);border:none;padding:2px 7px;font-size:1rem;transition:all .12s}.scenario-suit-select-btn.red-suit{color:var(--color-red-suit)}.scenario-suit-select-btn.active{background:var(--color-primary);color:#fff!important}.scenario-select-input{border:1px solid var(--border-medium);background:var(--bg-input,var(--bg-surface));color:var(--text-input,var(--text-primary));border-radius:4px;padding:3px 6px;font-size:.8rem;font-weight:600}.scenario-add-filter-btn{color:#fff;cursor:pointer;background:#7c3aed;border:1px solid #6d28d9;border-radius:4px;padding:3px 8px;font-size:.75rem;font-weight:600;transition:all .15s}.scenario-add-filter-btn:hover{background:#6d28d9}.randomized-card-glow{border-radius:4px;animation:3s ease-in-out infinite alternate purple-card-subtle-pulse;box-shadow:0 0 0 2px var(--border-randomized), 0 0 8px 2px var(--shadow-randomized-glow)!important}.randomized-card-glow-text{background:var(--bg-randomized-text);box-shadow:0 0 0 1.5px var(--shadow-randomized);border-radius:3px;padding:0 2px;font-weight:700;display:inline-block;position:relative}@keyframes purple-card-subtle-pulse{0%{box-shadow:0 0 0 2px var(--border-randomized), 0 0 6px 2px var(--shadow-randomized)}to{box-shadow:0 0 0 2px var(--color-randomized), 0 0 10px 4px var(--shadow-randomized-glow)}}.auth-trigger-btn{cursor:pointer;color:var(--text-primary,#000);background:0 0;border:none;align-items:center;gap:6px;margin-left:auto;padding:4px 8px;font-size:clamp(.8rem,2.5vw,1rem);font-weight:700;display:flex}.auth-trigger-btn .auth-trigger-text{white-space:nowrap;text-overflow:ellipsis;max-width:10ch;font-size:.85rem;font-weight:500;display:inline-block;overflow:hidden}.auth-profile-btn{margin-bottom:12px}.pwa-install-btn{background:var(--color-primary,#2563eb);color:var(--text-light,#fff);cursor:pointer;border:none;border-radius:6px;gap:6px;margin-bottom:4px;margin-left:auto;margin-right:auto;padding:6px 12px;font-size:.85rem;font-weight:600;transition:opacity .2s;display:flex}.pwa-install-btn:hover{opacity:.9}.auth-social-login-wrapper{flex-direction:column;gap:12px;margin-bottom:16px;display:flex}.auth-btn-social{cursor:pointer;border:none;border-radius:6px;justify-content:center;align-items:center;gap:10px;width:100%;padding:10px 16px;font-size:.95rem;font-weight:600;transition:opacity .15s;display:flex}.auth-btn-social:hover{opacity:.9}.auth-btn-reddit{color:#fff;background-color:#ff4500}.auth-divider{text-align:center;color:var(--text-secondary,#666);align-items:center;margin:4px 0;font-size:.8rem;display:flex}.auth-divider:before,.auth-divider:after{content:"";border-bottom:1px solid var(--border-color,#eee);flex:1}.auth-divider:not(:empty):before{margin-right:.5em}.auth-divider:not(:empty):after{margin-left:.5em}.auth-connected-accounts{border-top:1px dashed var(--border-color,#eee);margin-top:20px;padding-top:12px}.auth-section-title{color:var(--text-primary,#333);margin-bottom:8px;font-size:.9rem;font-weight:700}.auth-connections-list{margin:0 0 16px;padding:0;list-style:none}.auth-connection-item{background:var(--bg-card,#00000005);border-radius:4px;justify-content:space-between;align-items:center;margin-bottom:6px;padding:6px 10px;font-size:.88rem;display:flex}.auth-unlink-btn{padding:2px 6px!important;font-size:.75rem!important}.auth-edit-profile-section{border-top:1px dashed var(--border-color);text-align:left;margin-top:12px;padding-top:8px}.auth-edit-toggle-btn{color:var(--text-primary);padding:6px;font-size:.78rem;text-decoration:none}.auth-edit-profile-form{flex-direction:column;gap:10px;margin-top:8px;display:flex}.auth-form-textarea{resize:vertical;min-height:60px}.scenario-settings-section{border-top:1px solid var(--border-medium);text-align:left;width:100%;padding-top:4px}.scenario-settings-section h4{color:var(--text-primary);margin:0 0 10px;font-size:.95rem}.settings-fields-grid{grid-template-columns:1fr 1.2fr .8fr;align-items:flex-start;gap:4px;display:grid}.settings-field{flex-direction:column;gap:6px;display:flex}.settings-field label{color:var(--text-secondary);font-size:.82rem;font-weight:600}.score-inputs{flex-direction:column;gap:8px;display:flex}.score-input-group{justify-content:space-between;align-items:center;gap:8px;padding-right:4px;font-size:.8rem;display:flex}.score-input-group input{border:1px solid var(--border-medium);background:var(--bg-surface);width:40px;color:var(--text-primary);appearance:textfield;border-radius:4px;padding:3px 6px;font-size:.85rem}.score-input-group input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.score-input-group input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.rules-checkboxes{flex-direction:column;gap:6px;margin-top:2px;display:flex}.rules-checkboxes span{padding-left:2px}.settings-field select{border:1px solid var(--border-medium);background:var(--bg-surface);color:var(--text-primary);cursor:pointer;border-radius:4px;padding:6px;font-size:.85rem}.match-player-standings-grid{flex-direction:column;gap:6px;width:100%;margin-top:.5rem;display:flex}.match-player-standing-card{background:var(--bg-surface-alt,var(--bg-surface));border:1px solid var(--border-medium);border-radius:8px;align-items:center;gap:12px;padding:10px 14px;transition:all .15s;display:flex}.match-player-standing-card.is-leader{border-color:var(--color-success,#10b981);background:#10b98114}.match-player-standing-rank{color:var(--text-muted,var(--text-gray,#6b7280));min-width:28px;font-size:1.1rem;font-weight:700}.match-player-standing-card.is-leader .match-player-standing-rank{color:var(--color-success,#10b981)}.match-player-standing-info{flex-direction:column;flex:1;gap:2px;display:flex;overflow:hidden}.match-player-standing-name{color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:700;overflow:hidden}.match-player-standing-id{color:var(--text-muted,var(--text-gray,#6b7280));font-size:.75rem;font-family:var(--font-mono,monospace)}.match-player-standing-stats{align-items:baseline;gap:8px;display:flex}.match-player-wins{color:var(--color-success,#10b981);font-size:1.25rem;font-weight:700}.match-player-losses{color:var(--text-muted,var(--text-gray,#6b7280));font-size:.9rem}.match-player-diff{color:var(--text-muted,var(--text-gray,#6b7280));background:var(--bg-medium);border-radius:4px;padding:2px 6px;font-size:.8rem;font-weight:600}.embed-mini-shell{background:var(--bg-body);width:100%;min-height:100vh;color:var(--text-primary);flex-direction:column;gap:4px;padding:6px;display:flex}.embed-mini-shell.theme-dark,.embed-mini-shell.theme-light{background:var(--bg-body);color:var(--text-primary)}.embed-playback-controls{flex-direction:column;gap:6px;min-width:360px;max-width:600px;display:flex}.embed-match-controls{justify-content:center;align-items:center;gap:8px;display:flex}.embed-match-controls-btn{border:1px solid var(--border-medium);background:var(--bg-medium);min-width:40px;min-height:28px;color:var(--text-primary);cursor:pointer;border-radius:6px;font-weight:700}.embed-match-controls-btn:disabled{opacity:.45;cursor:not-allowed}.embed-match-controls-label{text-align:center;min-width:130px;color:var(--text-secondary);font-size:.84rem;font-weight:600}.embed-mini-table-shell{align-self:flex-start;width:100%;min-width:360px;max-width:600px;display:inline-block;position:relative}.embed-mini-table{border:1px solid var(--border-medium);background:var(--bg-body);min-height:320px;color:var(--text-primary);border-radius:16px;overflow:hidden}.embed-top-bar{pointer-events:none;z-index:20;grid-template-columns:1fr 1fr 1fr;align-items:start;gap:8px;width:100%;height:100%;padding:4px;display:grid;position:absolute;left:0;right:0}.embed-launch-message{z-index:1;color:var(--color-primary);text-align:center;cursor:pointer;pointer-events:auto;padding-top:4px;font-size:clamp(.7rem,4vw,1.1rem);text-decoration:underline;display:inline-block;position:relative}.embed-launch-message:hover{opacity:.85}.embed-team-score-section{pointer-events:none;min-width:clamp(90px,16vw,120px);color:var(--text-primary);flex-direction:column;align-items:center;display:flex}.embed-team-score-section-ew{justify-self:start}.embed-team-score-section-ns{justify-self:end}.embed-trump-icon-section{color:var(--text-secondary);pointer-events:none;min-width:48px;font-family:Noto Sans Symbols,sans-serif;font-size:clamp(4rem,14vw,6rem);position:absolute;bottom:-4px;left:clamp(14px,4vw,18px)}.embed-mini-shell.theme-dark .embed-top-bar,.embed-mini-shell.theme-dark .embed-team-score-section,.embed-mini-shell.theme-dark .embed-trump-icon-section,.embed-mini-shell.theme-dark .team-name-ew,.embed-mini-shell.theme-dark .team-name-ns,.embed-mini-shell.theme-dark .team-score-value{color:var(--text-primary)}.embed-mini-shell.theme-dark .embed-trump-icon-section{color:var(--text-secondary)}.embed-mini-shell.theme-light .embed-top-bar,.embed-mini-shell.theme-light .embed-team-score-section,.embed-mini-shell.theme-light .embed-trump-icon-section,.embed-mini-shell.theme-light .team-name-ew,.embed-mini-shell.theme-light .team-name-ns,.embed-mini-shell.theme-light .team-score-value{color:var(--text-primary)}.embed-mini-shell.theme-light .embed-trump-icon-section{color:var(--text-secondary)}.embed-table-map{background:0 0;flex-direction:column;gap:10px;width:100%;max-width:100%;min-height:clamp(260px,42vw,340px);margin:clamp(2.5em,5vh,4em) auto clamp(1em,2vh,1.5em);padding:4px;display:flex;position:relative}.embed-table-row{justify-content:center;align-items:center;width:100%;display:flex}.embed-table-row-middle{justify-content:space-between;gap:10px}.embed-seat-wrapper{justify-content:center;width:100%;display:flex}.embed-seat-wrapper-top,.embed-seat-wrapper-bottom{width:min(100%,420px)}.embed-seat-wrapper .seat-container{min-height:unset;max-width:clamp(85px,30vw,230px);padding:4px}.embed-seat-wrapper .seat-container-n,.embed-seat-wrapper .seat-container-s{width:50%;max-width:unset;max-height:unset}.embed-seat-wrapper .player-hand{padding:2px;font-size:1rem}.embed-play-area-slot{flex:none;justify-content:center;display:flex}.embed-play-area-slot .played-card{width:130%;height:130%;margin-top:-15%;margin-left:-15%;font-size:1.1rem;box-shadow:0 4px 12px #0006,0 2px 4px #00000040}.embed-mini-loading,.embed-mini-error{justify-content:center;align-items:center;min-height:320px;padding:24px;font-size:.95rem;font-weight:600;display:flex}.embed-mini-error{color:var(--text-error)}.embed-bid-box{background:var(--bg-medium,#141c2eeb);border:1px solid var(--border-medium,#ffffff26);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);pointer-events:auto;border-radius:10px;flex-direction:column;align-items:center;gap:4px;min-width:0;padding:8px 10px;display:flex;box-shadow:0 4px 16px #00000059}.embed-bid-box .analysis-box-buttons{flex-wrap:wrap;justify-content:center;gap:5px;display:flex}.embed-bid-box .analysis-bid-btn{border-radius:7px;min-width:30px;min-height:30px;padding:3px 6px;font-size:clamp(.7rem,2vw,1.2em)}.embed-bid-box .analysis-box-row{align-items:center;gap:8px;margin-top:6px;font-size:.78rem;display:flex}.embed-bid-box-anchor{z-index:30;position:absolute;bottom:6px;right:6px}.embed-bid-suit-char{padding-bottom:4px;font-family:Noto Sans Symbols,sans-serif;font-size:1.5em}.embed-bid-pass-row{border-bottom:1px solid var(--border-subtle,#ffffff1a);justify-content:center;width:100%;display:flex}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;background:var(--bg-body);color:var(--text-primary);--color-mode-replay:#64748b;--bg-mode-replay:#64748b1a;--border-mode-replay:#64748b40;--color-mode-alt:#ea580c;--color-mode-alt-accent:#f97316;--color-mode-alt-dark:#c2410c;--color-mode-alt-unselected:#c48b6c;--color-mode-alt-unselected-border:#a87355;--bg-mode-alt:#f973161f;--bg-mode-alt-subtle:#f9731614;--bg-mode-alt-hover:#f973162e;--border-mode-alt:#f9731673;--border-mode-alt-subtle:#f9731666;--shadow-mode-alt-pulse:#f97316b3;--shadow-mode-alt-glow:#f97316cc;--color-mode-scenario:#9333ea;--color-mode-scenario-accent:#a855f7;--bg-mode-scenario:#a855f71f;--border-mode-scenario:#a855f773;--shadow-mode-scenario-pulse:#a855f7b3;--shadow-xs:0 1px 2px #00000014;--shadow-sm:0 1px 3px #00000026;--shadow-md:0 2px 6px #0003;--shadow-lg:0 4px 12px #00000040;--shadow-xl:0 8px 24px #0000004d;--shadow-badge:0 2px 6px #0000004d;--shadow-badge-hover:0 4px 10px #0006;--overlay-backdrop:#00000080;--overlay-dark:#000000a6;--bg-surface-elevated:#374151;--border-subtle-dark:#374151;--text-gray:#9ca3af;--color-accent-emerald:#34d399;--bg-accent-emerald-subtle:#065f46;--color-accent-indigo:#6366f1;--bg-accent-indigo-subtle:#6366f126;font-family:Inter,system-ui,sans-serif}[data-theme=dark]{--color-mode-alt:#fb923c;--color-mode-alt-accent:#ea580c;--color-mode-alt-dark:#9a3412;--color-mode-alt-unselected:#8c6046;--color-mode-alt-unselected-border:#734c35;--color-mode-scenario:#c084fc;--color-mode-scenario-accent:#a855f7}*{box-sizing:border-box}body{margin:0}h2{margin-top:8px;margin-bottom:8px}.error{background:var(--bg-error);color:var(--text-error);border-radius:10px;margin-bottom:24px;padding:14px 16px}.grid-layout{grid-template-columns:280px 280px minmax(320px,1fr);gap:24px;display:grid}.panel{background:var(--bg-body);border:1px solid var(--border-medium);border-radius:18px;padding:18px}.panel h2{margin-top:0;font-size:1.1rem}button{background:var(--color-primary);color:var(--text-light);cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;padding:clamp(6px,1.5vw,8px) clamp(10px,2vw,12px);font-size:clamp(.75rem,1.5vw,.85rem);font-weight:600;line-height:1;display:inline-flex}button:disabled{opacity:.5;cursor:not-allowed}button:active{filter:brightness(.9);transform:scale(.96);box-shadow:inset 0 3px 5px #00000020}button:disabled:active{box-shadow:none;filter:none;transform:none}.filter-list{justify-content:center;gap:8px;margin-bottom:8px;display:flex}.filter-list .example-select{max-width:200px}.example-select{background:var(--bg-body);border:1px solid var(--border-medium);cursor:pointer;color:inherit;border-radius:8px;align-items:center;gap:8px;max-width:150px;padding:clamp(6px,1.5vw,8px) clamp(10px,2vw,12px);font-family:inherit;font-size:clamp(.75rem,1.5vw,.85rem);display:inline-flex}.item-list{margin:0;padding:0;list-style:none}.item-list li{border:1px solid var(--border-medium);cursor:pointer;border-radius:12px;margin-bottom:10px;padding:10px 30px 10px 12px;transition:background .2s}.item-list li:hover{background:var(--bg-body)}.item-list li.selected{background:var(--color-primary);color:var(--text-light);border-color:var(--border-primary)}.timeline-list{border:1px solid var(--border-medium);background:var(--bg-body);border-radius:14px;max-height:320px;margin:0;padding:0;list-style:none;overflow-y:auto}.timeline-item{border-bottom:1px solid var(--border-medium);cursor:pointer;padding:10px 28px 10px 12px;transition:background .2s}.timeline-item:hover{background:var(--bg-body)}.timeline-item.selected{background:var(--color-primary);color:var(--text-light)}.timeline-item.has-note{font-weight:700}.timeline-item:last-child{border-bottom:none}.annotation-item-wrapper{justify-content:space-between;align-items:center;gap:6px;display:flex}.annotation-tag-badge{background-color:var(--badge-color,#6b7280);color:#fff;letter-spacing:-.5px;cursor:pointer;border:2px solid #ffffff59;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-family:monospace;font-weight:800;line-height:1;transition:transform .15s,box-shadow .15s,filter .15s;display:inline-flex;box-shadow:0 2px 6px #0000004d}.annotation-tag-badge:hover{filter:brightness(1.15);transform:scale(1.2);box-shadow:0 4px 10px #0006}.annotation-tag-badge:focus{outline:2px solid var(--badge-color,#6b7280);outline-offset:2px}.action-tag-badge{position:absolute;top:4px;right:4px}.status-card-container{width:100%;margin-bottom:24px}.status-card{background:var(--bg-body);border:1px solid var(--border-medium);box-sizing:border-box;border-radius:clamp(12px,2vw,15px);flex-direction:column;justify-content:space-between;width:100%;min-width:300px;max-width:750px;margin:0 auto;padding-bottom:clamp(12px,2.5vw,15px);padding-left:clamp(6px,2vw,15px);padding-right:clamp(6px,2vw,15px);display:flex;position:relative}.status-card-header-bar{z-index:15;justify-content:space-between;align-items:center;gap:4px;min-height:28px;padding-top:4px;padding-bottom:4px;display:flex;position:relative}.replayer-mode-badge{letter-spacing:.03em;text-transform:uppercase;-webkit-user-select:none;user-select:none;border-radius:9999px;align-items:center;gap:6px;padding:2px 9px;font-size:.72rem;font-weight:700;transition:all .2s ease-in-out;display:inline-flex}.replayer-mode-badge .mode-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px}.replayer-mode-badge.mode-replay{background:var(--bg-mode-replay);color:var(--text-secondary);border:1px solid var(--border-mode-replay)}.replayer-mode-badge.mode-replay .mode-dot{background:var(--color-mode-replay)}.replayer-mode-badge.mode-alternative{background:var(--bg-mode-alt);color:var(--color-mode-alt);border:1px solid var(--border-mode-alt)}.replayer-mode-badge.mode-alternative .mode-dot{background:var(--color-mode-alt-accent)}.replayer-mode-badge.mode-scenario{background:var(--bg-mode-scenario);color:var(--color-mode-scenario);border:1px solid var(--border-mode-scenario)}.replayer-mode-badge.mode-scenario .mode-dot{background:var(--color-mode-scenario-accent)}.replayer-mode-badge.mode-alternative .mode-dot-pulse{animation:2s infinite modePulseOrange}.replayer-mode-badge.mode-scenario .mode-dot-pulse{animation:2s infinite modePulsePurple}@keyframes modePulseOrange{0%{box-shadow:0 0 0 0 var(--shadow-mode-alt-pulse);transform:scale(.95)}70%{transform:scale(1);box-shadow:0 0 0 5px #f9731600}to{transform:scale(.95);box-shadow:0 0 #f9731600}}@keyframes modePulsePurple{0%{box-shadow:0 0 0 0 var(--shadow-mode-scenario-pulse);transform:scale(.95)}70%{transform:scale(1);box-shadow:0 0 0 5px #a855f700}to{transform:scale(.95);box-shadow:0 0 #a855f700}}.status-card-header-actions{align-items:center;gap:6px;display:flex}.status-header-btn{border-radius:var(--radius-sm,6px);cursor:pointer;border:1px solid var(--border-medium);background:var(--bg-card);color:var(--text-secondary);white-space:nowrap;-webkit-user-select:none;user-select:none;align-items:center;gap:4px;padding:3px 6px;font-size:.76rem;font-weight:600;transition:all .15s ease-in-out;display:inline-flex}.status-header-btn:hover:not(:disabled){background:var(--bg-hover,var(--bg-surface-hover));color:var(--text-primary);border-color:var(--border-medium)}.status-header-btn:active:not(:disabled){transform:scale(.97)}.status-header-btn:disabled{opacity:.45;cursor:not-allowed}.status-header-btn.exit-line-btn{color:var(--color-red-suit);border-color:var(--border-mode-alt-subtle);background:var(--bg-mode-alt-subtle)}.status-header-btn.exit-line-btn:hover:not(:disabled){background:var(--bg-mode-alt-hover);color:var(--color-red-suit)}.status-header-btn.status-header-reshuffle-btn{padding:3px 7px;font-size:.85rem;line-height:1;transition:transform .2s ease-in-out}@media (hover:hover) and (pointer:fine){.status-header-btn.status-header-reshuffle-btn:hover:not(:disabled){transform:rotate(15deg)scale(1.1)}}.status-header-btn.status-header-reshuffle-btn:active:not(:disabled){transform:scale(.92)}.status-header-btn.share-header-btn{background:var(--color-primary);color:var(--text-light);border:1px solid var(--border-primary);box-shadow:var(--shadow-xs);font-weight:600}.status-header-btn.share-header-btn:hover:not(:disabled){background:var(--border-primary);border-color:var(--border-primary);color:var(--text-light)}.status-header-btn.share-header-btn:disabled{opacity:.45;background:var(--color-primary);color:var(--text-light);cursor:not-allowed}.status-header-info-btn{cursor:pointer;border:1.5px solid var(--border-medium);background:var(--bg-surface);width:20px;height:20px;color:var(--text-secondary);-webkit-user-select:none;user-select:none;z-index:2;border-radius:50%;justify-content:center;align-items:center;margin:0;padding:0;font-family:Times New Roman,serif;font-size:.85rem;font-style:italic;font-weight:700;line-height:1;transition:all .15s ease-in-out;display:inline-flex;position:absolute;left:50%;transform:translate(-50%)}@media (hover:hover) and (pointer:fine){.status-header-info-btn:hover{background:var(--bg-surface-hover);color:var(--color-primary);border-color:var(--color-primary);transform:translate(-50%)scale(1.1)}}.status-header-info-btn:active{transform:translate(-50%)scale(.95)}.game-info-modal-content{width:90%;max-width:480px}.game-info-modal-body{padding-top:4px;padding-bottom:16px}.game-info-description{color:var(--text-secondary);white-space:pre-wrap;margin:0;font-size:.95rem;line-height:1.5}.game-info-empty{color:var(--text-muted);margin:0;font-size:.9rem;font-style:italic}.note-container{justify-content:flex-start;margin-top:-8px;margin-bottom:8px;padding-right:clamp(8px,2vw,16px);display:flex}.note-content{border:1px solid var(--border-medium);color:var(--text-secondary);white-space:pre-wrap;text-align:left;background:0 0;border-radius:8px;max-width:60%;padding:8px 12px;font-size:clamp(.8rem,2vw,.9rem)}.note-label{text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px;font-size:.8em;font-weight:600}.note-box{background:var(--bg-body);border:1px solid var(--border-medium);white-space:pre-wrap;border-radius:14px;min-height:80px;padding:14px}.note-section textarea{border:1px solid var(--border-medium);resize:vertical;border-radius:14px;width:100%;min-height:120px;padding:14px;font-family:inherit}.note-section button{margin-top:12px}.scrubber-container{border-top:1px solid var(--border-medium);align-items:center;gap:clamp(6px,2vw,9px);margin-top:clamp(10px,3vw,14px);padding-top:14px;display:flex}.scrubber-wrapper{flex:1;align-items:center;display:flex;position:relative}.alternative-scrubber-container{align-items:center;height:6px;display:flex;position:absolute}.alternative-scrubber{background:var(--color-mode-alt-accent)!important}[data-theme=dark] .alternative-scrubber{background:var(--color-mode-alt-dark)!important}.alternative-scrubber::-webkit-slider-thumb{background:var(--color-mode-alt-accent)!important}[data-theme=dark] .alternative-scrubber::-webkit-slider-thumb{background:var(--color-mode-alt)!important}.alternative-scrubber::-moz-range-thumb{background:var(--color-mode-alt-accent)!important}[data-theme=dark] .alternative-scrubber::-moz-range-thumb{background:var(--color-mode-alt)!important}.scrubber{appearance:none;background:var(--border-medium);border-radius:4px;outline:none;width:100%;height:6px;transition:background .2s}.scrubber:disabled{opacity:.5;cursor:not-allowed}.scrubber::-webkit-slider-thumb{appearance:none;background:var(--color-primary);cursor:pointer;border:2px solid var(--bg-body);width:16px;height:16px;box-shadow:var(--shadow-sm);border-radius:50%;transition:transform .1s}.scrubber::-webkit-slider-thumb:hover{transform:scale(1.1)}.scrubber::-moz-range-thumb{background:var(--color-primary);cursor:pointer;border:2px solid var(--bg-body);width:16px;height:16px;box-shadow:var(--shadow-sm);border-radius:50%;transition:transform .1s}.scrubber::-moz-range-thumb:hover{transform:scale(1.1)}.scrubber-callout{background:var(--bg-body);color:var(--text-primary);white-space:nowrap;pointer-events:none;box-shadow:var(--shadow-xs);z-index:10;border-radius:6px;margin-bottom:12px;padding:4px 8px;font-size:.75rem;font-weight:600;position:absolute;bottom:100%;transform:translate(-50%)}.scrubber-callout:after{content:"";border-style:solid;border-width:5px;border-color:var(--bg-body) transparent transparent transparent;position:absolute;top:100%;left:50%;transform:translate(-50%)}.scrubber-dots{pointer-events:none;z-index:1;height:0;position:absolute;top:50%;left:0;right:0}.scrubber-dot{background:var(--bg-body);border:1px solid var(--text-primary);cursor:pointer;pointer-events:auto;border-radius:50%;width:6px;height:6px;margin-left:2px;transition:background-color .2s,border-color .2s,transform .2s,box-shadow .2s;position:absolute;transform:translate(-50%,-50%)}.scrubber-dot:hover{background:var(--color-primary);border-color:var(--text-primary);transform:translate(-50%,-50%)scale(1.3)}.scrubber-dot.alternative-line-dot,[data-theme=dark] .scrubber-dot.alternative-line-dot{background:var(--color-mode-alt-unselected);border-color:var(--color-mode-alt-unselected-border);opacity:.85}.scrubber-dot.alternative-line-dot:hover{background:var(--color-mode-alt);border-color:var(--color-mode-alt-dark);opacity:1;transform:translate(-50%,-50%)scale(1.3)}[data-theme=dark] .scrubber-dot.alternative-line-dot:hover{background:var(--color-mode-alt-accent);border-color:var(--color-mode-alt);opacity:1}.scrubber-dot.alternative-line-dot.current-alt{background:var(--color-mode-alt-accent);border-color:var(--bg-surface,#fff);box-shadow:0 0 0 2px var(--bg-body), 0 0 0 4px var(--color-mode-alt-accent), 0 0 10px var(--shadow-mode-alt-pulse);z-index:3;animation:2s ease-in-out infinite altDotPulse;transform:translate(-50%,-50%)scale(1.45)}[data-theme=dark] .scrubber-dot.alternative-line-dot.current-alt{background:var(--color-mode-alt);border-color:var(--bg-surface,#1e293b);box-shadow:0 0 0 2px var(--bg-body), 0 0 0 4px var(--color-mode-alt-accent), 0 0 10px var(--shadow-mode-alt-pulse)}@keyframes altDotPulse{0%{box-shadow:0 0 0 2px var(--bg-body), 0 0 0 3px var(--color-mode-alt-accent), 0 0 6px var(--shadow-mode-alt-pulse)}50%{box-shadow:0 0 0 2px var(--bg-body), 0 0 0 5px var(--color-mode-alt-accent), 0 0 12px var(--shadow-mode-alt-pulse)}to{box-shadow:0 0 0 2px var(--bg-body), 0 0 0 3px var(--color-mode-alt-accent), 0 0 6px var(--shadow-mode-alt-pulse)}}.annotation-scrubber-pip{background:var(--color-primary,#3b82f6);color:#fff;cursor:pointer;pointer-events:auto;z-index:10;min-width:20px;height:20px;box-shadow:var(--shadow-xs,0 1px 3px #0000004d);-webkit-user-select:none;user-select:none;border-radius:16px;justify-content:center;align-items:center;padding:0 3px;font-size:10px;font-weight:500;transition:transform .15s,box-shadow .15s,background-color .15s;display:flex;position:absolute;top:-8px;transform:translate(-50%,-100%)}.annotation-scrubber-pip:after{content:"";border-left:4px solid #0000;border-right:4px solid #0000;border-top:4px solid var(--color-primary,#3b82f6);width:0;height:0;transition:border-top-color .15s;position:absolute;bottom:-2px;left:50%;transform:translate(-50%)}.annotation-scrubber-pip:hover{box-shadow:var(--shadow-md,0 2px 6px #0006);z-index:5;transform:translate(-50%,-100%)scale(1.25)}.annotation-scrubber-pip.active{box-shadow:0 0 0 2px var(--bg-body), 0 0 8px var(--color-primary);z-index:6;transform:translate(-50%,-100%)scale(1.35)}.annotation-scrubber-pip.tag-bang-bang{background:#14b8a6}.annotation-scrubber-pip.tag-bang-bang:after{border-top-color:#14b8a6}.annotation-scrubber-pip.tag-quest-quest{background:#dc2626}.annotation-scrubber-pip.tag-quest-quest:after{border-top-color:#dc2626}.annotation-scrubber-pip.tag-bang{background:#3b82f6}.annotation-scrubber-pip.tag-bang:after{border-top-color:#3b82f6}.annotation-scrubber-pip.tag-quest{background:#f97316}.annotation-scrubber-pip.tag-quest:after{border-top-color:#f97316}.annotation-scrubber-pip.tag-quest-bang{background:#f59e0b}.annotation-scrubber-pip.tag-quest-bang:after{border-top-color:#f59e0b}.annotation-scrubber-pip.tag-bang-quest{background:#84cc16}.annotation-scrubber-pip.tag-bang-quest:after{border-top-color:#84cc16}.pip-tag-symbol{pointer-events:none;font-family:inherit;line-height:1}.playback-controls-wrapper{margin-top:clamp(10px,3vw,14px)}.step-controls{flex-wrap:wrap;gap:clamp(4px,1vw,6px);display:flex}.step-controls button{min-width:50px;min-height:25px}.top-bar{z-index:10;grid-template-columns:1fr 1fr;align-items:flex-start;gap:clamp(8px,1.5vw,10px);width:100%;height:0;display:grid}.top-bar h2{margin:0;font-size:1.1rem}.status-subtitle{color:var(--text-muted);font-size:.95rem}.team-score-section{flex-direction:column;align-items:center;min-width:clamp(80px,10vw,100px);display:flex}.team-score-section-ew{justify-self:start}.team-score-section-ns{justify-self:end}.team-name-ew{color:var(--text-secondary);white-space:nowrap;font-size:clamp(.85rem,6vw,1.5rem);font-weight:700}.team-name-ns{color:var(--text-secondary);white-space:nowrap;font-size:clamp(.65rem,6vw,1.5rem);font-weight:700}.team-score-value{font-size:clamp(1.5rem,10vw,3.5rem);font-weight:700;line-height:1.2}.team-win-percentage{color:var(--text-muted);font-size:.8rem;font-weight:600}@keyframes scoreIncrease{0%{color:inherit;transform:scale(1)}20%{color:var(--color-success);transform:scale(1.4)}80%{color:var(--color-success);transform:scale(1.4)}to{color:inherit;transform:scale(1)}}@keyframes scoreDecrease{0%{color:inherit;transform:scale(1)}20%{color:var(--color-danger);transform:scale(1.4)}80%{color:var(--color-danger);transform:scale(1.4)}to{color:inherit;transform:scale(1)}}.score-increase-anim{animation:1s ease-in-out scoreIncrease;display:inline-block}.score-decrease-anim{animation:1s ease-in-out scoreDecrease;display:inline-block}.trump-icon-section{color:var(--text-secondary);justify-content:center;justify-self:center;align-items:flex-start;gap:12px;min-width:80px;font-size:clamp(3rem,8vw,5rem);line-height:1;display:flex;position:absolute}.trump-icon-section.ew-maker{left:15%}.trump-icon-section.ns-maker{right:15%}.trump-icon-transparent{color:#0000}.trick-boxes-container{flex-direction:column;align-items:center;margin-top:4px;display:flex}.trick-boxes-row{gap:4px;padding:4px 8px 4px 4px;font-size:.6em;display:flex}.trick-boxes-row-full{justify-content:center;gap:4px;width:100%;padding:4px 8px 4px 4px;font-size:.6em;display:flex}.trick-box-won{background-color:var(--color-success);width:clamp(16px,2.5vw,24px);height:clamp(16px,2.5vw,24px);color:var(--text-light);border-radius:4px;justify-content:center;align-items:center;font-size:10px;display:flex}.trick-box-empty{border:1px solid var(--border-medium);border-radius:4px;width:clamp(16px,2.5vw,24px);height:clamp(16px,2.5vw,24px)}.trick-box-lost{background-color:var(--color-danger);width:clamp(16px,2.5vw,24px);height:clamp(16px,2.5vw,24px);color:var(--text-light);border-radius:4px;justify-content:center;align-items:center;font-size:10px;display:flex}.empty-trick-box-ew{height:42px}.empty-trick-box-ns{height:22px}.table-map{grid-template-columns:1fr 1fr 1fr;place-items:center;gap:6px;width:100%;max-width:100%;min-height:clamp(280px,45vw,380px);margin:clamp(3em,7vh,5em) auto clamp(1em,2vh,1.5em);display:grid;position:relative}.seat{text-align:center;background:var(--bg-body);border:1px solid var(--border-medium);width:clamp(55px,15vw,68px);height:clamp(38px,8vw,44px);color:var(--text-primary);word-break:break-word;z-index:1;border-radius:16px;justify-content:center;align-items:center;padding:clamp(2px,1vw,4px);font-size:clamp(.55rem,1.5vw,.68rem);display:flex;position:relative}.seat>div:first-child{flex:1}.seat-label{z-index:8;color:var(--text-primary);word-break:break-all;font-size:clamp(.6rem,1.8vw,.8rem);font-weight:700}.player-name{text-align:center;max-width:100%;margin-top:4px;font-size:clamp(.7rem,2.5vw,1.1rem);font-weight:500;overflow:hidden}.bid-label-wrapper{white-space:nowrap;z-index:20;align-items:center;gap:4px;display:flex;position:absolute}.bid-label{background:var(--bg-bid);color:var(--text-light);white-space:nowrap;border-radius:6px;padding:4px 8px;font-size:clamp(.8rem,1.2vw,1rem);font-weight:700;position:relative;box-shadow:0 2px 5px #0003}.bid-bubble-n{bottom:-27px;left:50%;transform:translate(-50%)}.bid-bubble-n .bid-label:after{content:"";border-style:solid;border-width:6px;border-color:transparent transparent var(--bg-bid) transparent;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.bid-bubble-s{top:-27px;left:50%;transform:translate(-50%)}.bid-bubble-s .bid-label:after{content:"";border-style:solid;border-width:6px;border-color:var(--bg-bid) transparent transparent transparent;position:absolute;top:100%;left:50%;transform:translate(-50%)}.bid-bubble-e{top:14%;left:auto;right:calc(100% - 5px)}.bid-bubble-e.order-other{top:30%}.bid-bubble-e .bid-label:after{content:"";border-style:solid;border-width:6px;border-color:transparent transparent transparent var(--bg-bid);position:absolute;top:50%;left:100%;transform:translateY(-50%)}.bid-bubble-w{top:14%;left:calc(100% - 5px);right:auto}.bid-bubble-w.order-other{top:30%}.bid-bubble-w .bid-label:after{content:"";border-style:solid;border-width:6px;border-color:transparent var(--bg-bid) transparent transparent;position:absolute;top:50%;right:100%;transform:translateY(-50%)}.bid-annotation-badge{flex-shrink:0;position:absolute}.bid-annotation-badge.s{top:1px;right:-17px}.bid-annotation-badge.n{bottom:2px;right:-17px}.bid-annotation-badge.e{top:-17px;left:35%}.bid-annotation-badge.w{top:-17px;right:25%}.dealer-badge{background:var(--bg-dealer);width:clamp(30px,4vw,36px);height:clamp(30px,4vw,36px);color:var(--text-light);border:2px solid var(--bg-body);z-index:8;border-radius:50%;justify-content:center;align-items:center;font-size:clamp(.9rem,4.5vw,1rem);font-weight:700;display:flex;position:absolute;top:-10px;right:-10px;box-shadow:0 1px 2px #00000026}.winner-badge{width:30px;height:30px;color:var(--text-primary);z-index:8;border-radius:50%;justify-content:center;align-items:center;font-size:clamp(1.3rem,3vw,1.7rem);font-weight:700;display:flex;position:absolute;top:-15px;left:-15px;box-shadow:0 1px 2px #00000026}.maker-badge{background:var(--bg-trump-card);border:2px solid var(--border-trump-card);z-index:8;border-radius:8px;justify-content:center;align-items:center;width:clamp(24px,3.5vw,30px);height:clamp(24px,3.5vw,30px);padding-bottom:5px;font-family:Noto Sans Symbols,sans-serif;font-size:clamp(1.2rem,3.5vw,1.6rem);font-weight:700;line-height:1;display:flex;position:absolute;top:-8px;left:-8px;box-shadow:0 2px 4px #00000026}.maker-badge:after{content:"";background:var(--bg-trump-card);border-bottom:2px solid var(--border-trump-card);border-right:2px solid var(--border-trump-card);border-top:2px solid var(--border-trump-card);z-index:-1;width:8px;height:8px;position:absolute;bottom:-6px;left:83%;transform:rotate(45deg)}.maker-badge.suit-s,.maker-badge.suit-c{color:var(--color-black-suit-card)}.maker-badge.suit-h,.maker-badge.suit-d{color:var(--color-red-suit-card)}.seat-container{background:var(--bg-medium);border:1px solid var(--border-dark);border-radius:8px;align-items:center;width:100%;max-width:clamp(85px,28vw,230px);min-height:150px;padding:clamp(5px,1vw,8px);display:flex;position:relative}.seat-container.winner{border-color:var(--color-success);background:var(--bg-winner)}.seat-container.selected{border-color:var(--color-primary)}.seat-container.inactive-seat{position:relative}.seat-container.inactive-seat>:not(.dealer-badge){opacity:.5;filter:grayscale(.5)}.seat-container.inactive-seat:after{content:"";border-radius:inherit;background:linear-gradient(to top left, transparent 48%, var(--text-primary-fade) 48%, var(--text-primary-fade) 52%, transparent 52%), linear-gradient(to top right, transparent 48%, var(--text-primary-fade) 48%, var(--text-primary-fade) 52%, transparent 52%);pointer-events:none;z-index:5;width:100%;height:100%;position:absolute;top:0;left:0}.seat-container-n{flex-direction:column;grid-area:1/2;align-self:start}.seat-container-e{flex-direction:column;grid-area:2/3;justify-self:end}.seat-container-s{flex-direction:column;grid-area:3/2;align-self:end;min-height:clamp(110px,20vh,180px)}.seat-container-w{flex-direction:column;grid-area:2/1;justify-self:start}.trick-center{grid-area:2/2;grid-template-rows:clamp(42px,11vw,55px) clamp(42px,11vw,55px) clamp(42px,11vw,55px);grid-template-columns:clamp(30px,8vw,42px) clamp(30px,8vw,42px) clamp(30px,8vw,42px);place-content:center;gap:clamp(1px,.2vw,2px);display:grid;position:relative}.game-summary-panel{background:var(--bg-surface);border:1px solid var(--border-medium);z-index:20;pointer-events:none;border-radius:10px;flex-direction:column;grid-area:2/2;justify-content:flex-start;align-self:flex-end;align-items:stretch;gap:0;width:90%;height:85%;padding:8px 10px 10px;display:flex;position:relative;box-shadow:0 4px 16px #00000040}.game-summary-title{white-space:nowrap;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);padding:0 6px 3px;font-size:clamp(.52rem,1.5vw,.65rem);font-weight:700;position:absolute;top:0;left:50%;transform:translate(-50%,-100%)}.game-summary-player{text-align:center;letter-spacing:.05em;text-transform:uppercase;color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;border-bottom:1px solid var(--border-light);margin-bottom:4px;padding-bottom:4px;font-size:clamp(.55rem,1.6vw,.68rem);font-weight:700;overflow:hidden}.game-summary-tag-list{border-top:1px solid var(--border-light);flex-direction:column;gap:3px;width:100%;margin:4px 0 0;padding:0;list-style:none;display:flex}.game-summary-tag-item-wrapper{flex-direction:column;width:100%;display:flex}.game-summary-tag-row{border-radius:6px;align-items:center;gap:5px;margin:4px 0 0;padding:4px 6px;transition:background-color .15s;display:flex}.game-summary-tag-row.interactive-tag-row{cursor:pointer}.game-summary-tag-row.interactive-tag-row:hover{background:var(--bg-hover,#ffffff14)}.game-summary-tag-row.interactive-tag-row.expanded{background:var(--bg-active,#ffffff1f)}.game-summary-expand-arrow{color:var(--text-muted);margin-left:4px;font-size:.65rem}.game-summary-sub-moves-list{border-left:2px solid var(--border-light);flex-direction:column;gap:6px;margin:4px 0 6px 12px;padding:4px 0 4px 10px;list-style:none;display:flex}.game-summary-sub-move-item{background:var(--bg-surface-elevated,#2a3441);border:1px solid var(--border-light);cursor:pointer;border-radius:6px;flex-direction:column;gap:2px;padding:4px 8px;transition:background-color .15s,border-color .15s;display:flex}.game-summary-sub-move-item:hover{background:var(--bg-hover,#374151);border-color:var(--color-primary)}.sub-move-header{align-items:center;gap:6px;font-size:clamp(.6rem,1.6vw,.72rem);display:flex}.sub-move-deal{color:var(--text-primary);font-weight:700}.sub-move-action{color:var(--text-secondary);flex:1}.sub-move-jump-btn{background:var(--color-primary);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:2px 6px;font-size:.6rem;font-weight:700;transition:opacity .15s}.sub-move-jump-btn:hover{opacity:.9}.sub-move-text{color:var(--text-secondary);white-space:pre-wrap;margin:0;font-size:clamp(.55rem,1.4vw,.65rem);font-style:italic}.game-summary-badge{flex-shrink:0}.game-summary-tag-label{white-space:nowrap;color:var(--text-primary);flex:1;font-size:clamp(.52rem,1.5vw,.65rem);font-weight:600}.game-summary-tag-count{color:var(--text-secondary);font-size:clamp(.52rem,1.5vw,.65rem);font-weight:700}.game-summary-empty{color:var(--text-muted);text-align:center;font-size:clamp(1rem,2.5vw,1.5rem);font-style:italic}.game-summary-launch-btn{z-index:20;text-transform:uppercase;border-radius:999px;grid-area:2/2;place-self:center;min-width:clamp(90px,20vw,135px);padding:6px 20px;font-size:clamp(.62rem,1.8vw,.78rem);font-weight:700;line-height:1.4}.game-summary-modal-content{flex-direction:column;width:min(92vw,500px);max-height:min(88vh,900px);display:flex;overflow-y:auto}.game-summary-modal-title{text-align:center;margin-top:4px;margin-bottom:16px;font-size:clamp(1.2rem,2.8vw,1.5rem);font-weight:800}.game-summary-player-tabs{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:8px;display:grid}.game-summary-player-tab{border:1px solid var(--border-medium);background:var(--bg-surface-alt);min-width:0;color:var(--text-secondary);letter-spacing:.04em;white-space:nowrap;text-overflow:ellipsis;border-radius:10px;padding:6px 4px;font-size:clamp(.6rem,1.5vw,.75rem);font-weight:700;overflow:hidden}.game-summary-player-tab.active{background:var(--color-primary);border-color:var(--color-primary);color:var(--text-light)}.game-summary-close-btn{margin-top:12px}.game-summary-modal-content .game-summary-player{font-size:clamp(1.1rem,2.6vw,1.4rem)}.game-summary-modal-content .game-summary-tag-label,.game-summary-modal-content .game-summary-tag-count,.game-summary-modal-content .game-summary-stat-label,.game-summary-modal-content .game-summary-stat-value,.game-summary-modal-content .game-summary-empty{font-size:clamp(1rem,2.2vw,1.2rem)}.game-summary-modal-content .game-summary-stats-title{font-size:clamp(.9rem,2.4vw,1.1rem)}.game-summary-stats{border-top:1px solid var(--border-light);flex-direction:column;gap:2px;margin-top:6px;padding-top:6px;display:flex}.game-summary-stats-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:1px;font-size:clamp(.5rem,2vw,1rem);font-weight:700}.game-summary-stat-row{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.game-summary-stat-label,.game-summary-stat-value{white-space:nowrap;font-size:clamp(1rem,2vw,1.2rem)}.game-summary-stat-label{color:var(--text-secondary)}.game-summary-stat-value{color:var(--text-primary);font-weight:700}.hand-container{z-index:0;justify-content:left;width:100%;margin-left:clamp(2px,1vw,4px);padding-left:2px;display:flex;container-type:inline-size}.player-hand{text-align:left;box-sizing:border-box;border-radius:4px;justify-content:space-between;gap:4px;width:100%;padding:10px 2px;font-size:clamp(.75rem,3.1vw,1.25rem);font-weight:700;line-height:1.3;display:flex}.player-hand-col{flex-direction:column;gap:clamp(6px,1vw,8px);display:flex}.player-hand-col.flex-1{flex:1}.player-hand-col.flex-05{flex:.5}.player-hand-col.flex-02{flex:.2}.player-hand-full{text-align:left;box-sizing:border-box;border-radius:4px;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;width:100%;min-height:clamp(50px,12vw,70px);margin-top:clamp(2px,.5vw,3px);padding:clamp(2px,.5vw,3px);font-size:clamp(.85rem,2.5vw,1rem);font-weight:700;line-height:1.2;display:grid}.player-hand-full.inactive{display:flex}.player-hand-full .played-card,.player-hand-full .card-slot-placeholder{box-sizing:border-box;width:100%;min-width:18px;max-width:42px;height:auto}.player-hand-full .played-card{border-radius:clamp(3px,.8vw,6px);font-size:clamp(.5rem,15cqw,1.1rem)}.card-slot-placeholder{border:1.5px dotted var(--border-medium);background:0 0;border-radius:clamp(4px,1vw,6px)}@container (width<=150px){.player-hand{flex-direction:column;gap:clamp(2px,.6vw,4px);padding:8px 2px 2px;font-size:clamp(.75rem,3.8vw,1.5rem)}.player-hand-col{gap:clamp(2px,.6vw,4px)}.player-hand-col.bottom{flex-direction:column-reverse}.player-hand-full{grid-template-columns:repeat(6,minmax(0,1fr));row-gap:4px;min-height:clamp(80px,22vw,110px)}.player-hand-full>:first-child{grid-column:1/span 2}.player-hand-full>:nth-child(2){grid-column:3/span 2}.player-hand-full>:nth-child(3){grid-column:5/span 2}.player-hand-full>:nth-child(4){grid-column:2/span 2}.player-hand-full>:nth-child(5){grid-column:4/span 2}.player-hand-full .played-card{font-size:clamp(.4rem,15cqw,1.1rem)}}.inactive-hand{opacity:.5;justify-content:center;align-items:center;width:100%;font-size:clamp(2rem,10vw,3rem);display:flex}.card-in-hand{color:var(--text-primary)}.card-in-hand.red-card{color:var(--color-red-suit)}.card-in-hand.black-card{color:var(--color-black-suit)}.card-in-hand.trump{color:var(--text-trump-hand)}.played-card{background:var(--bg-card);border:1px solid var(--border-dark-card);border-radius:clamp(4px,1vw,6px);justify-content:center;align-items:center;width:clamp(32px,7vw,42px);height:clamp(44px,10vw,60px);font-size:clamp(.9rem,2.5vw,1.1rem);font-weight:700;display:flex;position:relative;box-shadow:0 4px 12px #0006,0 2px 4px #00000040}.played-card.card-s,.played-card.card-e,.played-card.card-w,.played-card.card-n,.played-card.upcard{width:130%;height:130%;margin-top:-15%;margin-left:-15%;font-size:1.1rem}.played-card.trump-card,.discard-card.trump-card,.kitty-card.trump-card,.turned-down-upcard.trump-card,.picked-upcard.trump-card{background:var(--bg-trump-card);border-color:var(--border-trump-card)}.played-card.winning-card{border:6px solid var(--color-success-card)}.played-card-annotation-badge{z-index:5;position:absolute;top:-10px;right:-10px}.upcard{grid-area:2/2;transition:transform .3s}.upcard.dealer-n{transform:none}.upcard.dealer-n.ordered-up{transform:translateY(-60%)}.upcard.dealer-s{transform:none}.upcard.dealer-s.ordered-up{transform:translateY(60%)}.upcard.dealer-e{transform:rotate(-90deg)}.upcard.dealer-e.ordered-up{transform:translate(100%)rotate(-90deg)}.upcard.dealer-w{transform:rotate(90deg)}.upcard.dealer-w.ordered-up{transform:translate(-100%)rotate(90deg)}.suit-icon-black{color:var(--color-black-suit);width:.9em;display:inline-block}.suit-icon-red{color:var(--color-red-suit);width:.9em;display:inline-block}.card-suit-symbol{font-size:1.3em}.card-rank{font-size:1.2em}.suit-icon-black,.suit-icon-red,.in-the-wild-icon,.trump-icon-section,.card-suit-symbol{font-family:Noto Sans Symbols,sans-serif}@keyframes slideInN{0%{opacity:0;transform:translateY(-50px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInE{0%{opacity:0;transform:translate(50px)}to{opacity:1;transform:translate(0)}}@keyframes slideInS{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInW{0%{opacity:0;transform:translate(-50px)}to{opacity:1;transform:translate(0)}}.card-n{grid-area:1/2;animation:.25s ease-out forwards slideInN}.card-e{grid-area:2/3;animation:.25s ease-out forwards slideInE}.card-s{grid-area:3/2;animation:.25s ease-out forwards slideInS}.card-w{grid-area:2/1;animation:.25s ease-out forwards slideInW}@keyframes slamInN{0%{opacity:0;transform:translateY(-100px)scale(3)}60%{opacity:1;transform:translateY(0)scale(1)}80%{opacity:1;transform:translateY(2px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes slamInE{0%{opacity:0;transform:translate(100px)scale(3)}60%{opacity:1;transform:translate(0)scale(1)}80%{opacity:1;transform:translate(-2px)scale(.95)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes slamInS{0%{opacity:0;transform:translateY(100px)scale(3)}60%{opacity:1;transform:translateY(0)scale(1)}80%{opacity:1;transform:translateY(-2px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes slamInW{0%{opacity:0;transform:translate(-100px)scale(3)}60%{opacity:1;transform:translate(0)scale(1)}80%{opacity:1;transform:translate(2px)scale(.95)}to{opacity:1;transform:translate(0)scale(1)}}@keyframes rightBowerPulse{0%{box-shadow:0 0 #fbbf24b3}60%{box-shadow:0 0 0 40px #fbbf2400}to{box-shadow:0 0 #fbbf2400}}.card-n.right-bower-anim{animation:.4s ease-out forwards slamInN,.8s .4s forwards rightBowerPulse}.card-e.right-bower-anim{animation:.4s ease-out forwards slamInE,.8s .4s forwards rightBowerPulse}.card-s.right-bower-anim{animation:.4s ease-out forwards slamInS,.8s .4s forwards rightBowerPulse}.card-w.right-bower-anim{animation:.4s ease-out forwards slamInW,.8s .4s forwards rightBowerPulse}.kitty-discard-box{background:var(--bg-kitty-discard);border:1px solid var(--border-medium);box-sizing:border-box;border-radius:12px;flex-direction:column;grid-area:3/1;justify-content:center;place-self:flex-end start;gap:clamp(4px,1.5vw,8px);width:32%;padding:clamp(6px,2vw,12px);display:flex;position:absolute;bottom:-1em}.kitty-section,.discard-section{flex-direction:column;align-items:center;gap:4px;display:flex}.kitty-label,.discard-label{color:var(--text-primary);text-transform:uppercase;letter-spacing:.05em;font-size:clamp(.5em,2.5vw,.8em);font-weight:600}.kitty-cards,.discard-card-container{gap:clamp(1px,1vw,2px);display:flex}.kitty-cards-grid{grid-template-columns:repeat(2,1fr);gap:clamp(3px,2vw,6px);display:grid}.kitty-and-discard-cards-grid{grid-template-columns:repeat(4,1fr);gap:clamp(2px,1.5vw,4px);display:grid}.out-of-play-cards-grid{grid-template-columns:repeat(5,1fr);gap:clamp(1px,1vw,2px);display:grid}.kitty-card,.discard-card,.turned-down-upcard,.picked-upcard{background:var(--bg-card);width:clamp(23px,7vw,31.5px);height:clamp(35px,10vw,42px);font-size:clamp(.7rem,2.5vw,.9rem)}.kitty-card,.discard-card,.turned-down-upcard{opacity:.75}.small-card{width:clamp(15px,3.5vw,20px);height:clamp(25px,5vw,27px);font-size:clamp(.5rem,1.5vw,.6rem)}.middle-card{width:clamp(17px,3.5vw,25px);height:clamp(28px,5vw,34px);font-size:clamp(.6rem,1.5vw,.7rem)}.unknown-card{background:var(--bg-unknown-card);color:var(--text-unknown-card);font-size:1.5rem}.mini-card.placeholder{color:var(--text-muted)}.turned-down-upcard,.discard-card{position:relative}.turned-down-upcard:after,.discard-card:after{content:"";background:linear-gradient(to top left, transparent 46%, var(--text-primary-fade-card) 46%, var(--text-primary-fade-card) 54%, transparent 54%);pointer-events:none;z-index:1;width:100%;height:100%;position:absolute;top:0;left:0}.in-the-wild-section{border-top:1px solid var(--border-medium);flex-direction:column;align-items:center;width:100%;margin-top:4px;padding-top:8px;display:flex}.in-the-wild-section:first-child{border-top:none;margin-top:0;padding-top:0}.in-the-wild-title{color:var(--text-primary);text-transform:uppercase;letter-spacing:.05em;font-size:clamp(10.5px,2.5vw,12px);font-weight:600}.in-the-wild-grid{grid-template-columns:repeat(2,1fr);gap:8px 2px;width:75%;min-width:60px;max-width:100px;padding-top:8px;display:grid}.in-the-wild-row{font-size:clamp(.7rem 1vw .8rem);justify-content:center;align-items:center;gap:4px;line-height:1;display:flex}.in-the-wild-remaining{color:var(--text-secondary);font-size:clamp(.7rem 1vw .8rem);text-align:left;font-weight:600}.in-the-wild-remaining.trump-suit{color:var(--text-trump-hand)}.in-the-wild-icon{padding-bottom:2px}.hand-strength-section{flex-direction:column;align-items:center;gap:6px;width:100%;margin-top:4px;display:flex}.hand-strength-section.team{border-top:1px solid var(--border-medium);padding-top:8px}.hand-strength-title{color:var(--text-primary);text-transform:uppercase;letter-spacing:.05em;font-size:clamp(10.5px,2.5vw,12px);font-weight:600}.hand-strength-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;width:100%;display:grid}.hand-strength-card{border:1px solid var(--border-medium);background:#ffffff0d;border-radius:8px;flex-direction:column;gap:4px;width:100%;padding:6px;display:flex}.hand-strength-card-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;justify-content:space-around;font-size:clamp(.58rem,1.6vw,.7rem);font-weight:700;display:flex}.hand-strength-metric{justify-content:space-between;gap:6px;font-size:clamp(.65rem,1.6vw,.75rem);display:flex}.hand-strength-label{color:var(--text-secondary)}.hand-strength-histogram{flex-direction:column;align-items:flex-start;gap:4px;width:100%;display:flex}.hand-strength-histogram-row{justify-content:flex-start;align-items:center;gap:4px;width:100%;min-height:14px;display:flex}.hand-strength-histogram-bar{background:linear-gradient(90deg, var(--color-primary), var(--color-primary-2,#4f46e5));min-width:6px;height:6px}.hand-strength-histogram-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;width:10px;font-size:.6rem;font-weight:700}.hand-strength-histogram-label.red{color:var(--color-red-suit)}.hand-strength-histogram-label.black{color:var(--color-black-suit)}.hand-strength-histogram-label.up-card{color:var(--text-trump-hand)}.hand-strength-histogram-value{color:var(--text-primary);min-width:16px;font-size:.6rem;font-weight:700}.details-panel{flex-direction:column;gap:24px;display:flex}.details-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:clamp(8px,2vw,10px);display:flex}.current-trick{background:var(--bg-body);border:1px solid var(--border-medium);border-radius:14px;min-height:56px;padding:16px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.help-badge{border:1px solid var(--bg-body);border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;margin:0 2px;font-size:10px;font-weight:700;display:inline-flex}.help-badge-dealer{background:var(--bg-dealer);color:var(--text-light)}.help-badge-winner{background:var(--bg-winner);color:var(--text-primary)}.custom-speed-item{cursor:default;justify-content:space-between;align-items:center;display:flex}.custom-speed-input{border:1px solid var(--border-medium);background:var(--bg-body);width:55px;color:var(--text-primary);text-align:right;border-radius:4px;outline:none;margin-right:4px;padding:3px 6px;font-family:inherit;font-size:.85rem}.custom-speed-input:focus{border-color:var(--color-primary)}.custom-speed-wrapper{align-items:center;display:flex}.custom-speed-unit{color:var(--text-secondary);font-size:.85rem}.analysis-box{background:var(--bg-surface);border:1px solid var(--border-medium);z-index:10;box-sizing:border-box;border-radius:12px;flex-direction:column;grid-area:3/3;place-self:flex-end start;gap:clamp(4px,1.5vw,10px);width:100%;min-height:8.5em;padding:clamp(4px,1vw,10px);display:flex;position:absolute;bottom:-1em;box-shadow:0 4px 12px #00000014}.analysis-box-header{text-transform:uppercase;letter-spacing:.05em;color:var(--text-secondary);border-bottom:1px solid var(--border-medium);padding-bottom:6px;font-size:.85rem;font-weight:700}.analysis-box-row{justify-content:center;align-items:center;display:flex}.analysis-label{color:var(--text-primary);padding-left:4px;padding-right:8px;font-size:.8rem;font-weight:500}.binary-slider-container{align-items:center;gap:8px;display:inline-flex}.binary-slider-label{color:var(--text-secondary);font-size:.85rem;font-weight:500;transition:color .2s}.binary-slider-label.active{color:var(--color-primary)}.binary-slider-track{background-color:var(--bg-medium);border:1px solid var(--border-medium);cursor:pointer;border-radius:11px;align-items:center;width:44px;height:22px;padding:0;transition:background-color .2s,border-color .2s;display:flex;position:relative}.binary-slider-track.slider-on{background-color:var(--color-primary);border-color:var(--border-primary)}.binary-slider-thumb{pointer-events:none;background-color:#fff;border-radius:50%;width:16px;height:16px;transition:transform .2s;position:absolute;left:2px;box-shadow:0 1px 3px #0003}.binary-slider-track.slider-on .binary-slider-thumb{transform:translate(22px)}.analysis-box-buttons{flex-flow:wrap;justify-content:center;gap:6px;margin-top:4px;display:flex}.analysis-bid-btn{border:1px solid var(--border-medium);background:var(--bg-surface);color:var(--text-primary);cursor:pointer;white-space:nowrap;border-radius:6px;align-items:center;gap:4px;padding:6px 12px;font-size:clamp(.7rem,2.5vw,1rem);transition:all .2s;display:inline-flex;box-shadow:0 2px 4px #0000001a}.analysis-bid-btn:hover{background:var(--bg-medium);border-color:var(--border-dark);transform:translateY(-1px);box-shadow:0 4px 6px #00000026}.analysis-bid-btn:active{transform:translateY(0);box-shadow:0 2px 4px #0000001a}.analysis-playable-card{text-decoration:underline;-webkit-text-decoration-color:var(--color-primary);text-decoration-color:var(--color-primary);text-underline-offset:3px;cursor:pointer;text-decoration-thickness:2px;display:inline-block}.played-card.analysis-playable-card-full,.kitty-card.clickable-card{border-bottom:3px solid var(--color-primary);cursor:pointer;box-shadow:0 4px 6px #00000026}.next-phase-btn{background:var(--color-primary);color:#fff;cursor:pointer;z-index:10;text-align:center;white-space:nowrap;border:none;border-radius:6px;grid-area:2/2;justify-content:center;place-self:center;align-items:center;width:clamp(85px,18vw,105px);height:30px;font-size:clamp(.75rem,2vw,.85rem);font-weight:600;transition:all .2s;display:flex;box-shadow:0 4px 6px #00000026}.next-phase-btn.top{transform:translateY(-2.85em)}.next-phase-btn.bottom{transform:translateY(2.85em)}.next-phase-btn:hover{background:var(--color-primary-hover,#0056b3)}html.alternative-line-active{--bg-body:#fff2e0}html[data-theme=dark].alternative-line-active{--bg-body:#4c2e12}html.scenario-mode-active{--bg-body:#dcc9ec}html[data-theme=dark].scenario-mode-active{--bg-body:#3a214f}.alternative-line-callout{background:var(--bg-body);color:var(--text-primary);white-space:nowrap;pointer-events:auto;cursor:pointer;box-shadow:var(--shadow-md);z-index:15;border:1px solid var(--color-mode-alt-accent);border-radius:8px;align-items:center;gap:4px;margin-top:6px;padding:6px 12px;font-size:.75rem;font-weight:600;transition:all .2s ease-in-out;display:flex;position:absolute;top:100%;transform:translate(-50%)}[data-theme=dark] .alternative-line-callout{border-color:var(--color-mode-alt-dark)}.alternative-line-callout:hover{background:var(--color-mode-alt-accent);color:var(--text-light);border-color:var(--color-mode-alt-accent);transform:translate(-50%)scale(1.05)}[data-theme=dark] .alternative-line-callout:hover{background:var(--color-mode-alt-dark);border-color:var(--color-mode-alt-dark)}.alternative-line-callout:after{content:"";border-style:solid;border-width:6px;border-color:transparent transparent var(--bg-dark) transparent;transition:border-color .2s ease-in-out;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.alternative-line-callout:hover:after{border-color:transparent transparent var(--color-mode-alt-accent) transparent}[data-theme=dark] .alternative-line-callout:hover:after{border-color:transparent transparent var(--color-mode-alt-dark) transparent}.alternative-tree-container{background:var(--bg-surface-alt);border:1px solid var(--border-medium);border-radius:10px;margin-top:10px;padding:8px 10px;transition:all .2s;overflow:visible}.alternative-tree-container.no-lines{opacity:.5}.alternative-tree-container.no-lines:hover{opacity:.8}.alternative-tree-container.no-lines .alt-tree-title{color:var(--text-muted)}.alternative-tree-container.no-lines .tree-node-dot.main-line{background:var(--border-dark)}.alternative-tree-container.no-lines .tree-curve.main{stroke:var(--border-medium)}.alternative-tree-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.alternative-tree-label{color:var(--color-mode-alt);align-items:center;gap:6px;font-size:.75rem;font-weight:700;display:flex}.alt-tree-icon{font-size:.9rem;line-height:1}.alt-tree-toggle-btn{background:var(--bg-surface);border:1px solid var(--border-medium);color:var(--text-primary);cursor:pointer;border-radius:4px;padding:2px 8px;font-size:.72rem;font-weight:600;transition:all .15s}.alt-tree-toggle-btn:hover{background:var(--bg-surface-hover);border-color:var(--color-mode-alt);color:var(--color-mode-alt)}.alternative-tree-canvas-wrapper{width:100%;position:relative;overflow:visible}.alternative-tree-svg{pointer-events:none;position:absolute;top:0;left:0}.tree-curve{fill:none;stroke:var(--border-medium);stroke-width:2px;stroke-dasharray:3 3;transition:stroke .2s}.tree-curve.main{stroke:var(--color-primary);stroke-dasharray:none;opacity:.5}.tree-curve.main.active{stroke:var(--color-primary);stroke-width:2.5px;opacity:1}.tree-curve.alt{stroke:var(--color-mode-alt-unselected);stroke-dasharray:none;opacity:.6;transition:stroke .2s,opacity .2s}.tree-curve.alt.active{stroke:var(--color-mode-alt-accent);stroke-width:2.5px;opacity:1}.alternative-tree-nodes{pointer-events:none;width:100%;height:100%;position:relative}.tree-node-dot{cursor:pointer;pointer-events:auto;width:clamp(2px,3vw,8px);height:clamp(2px,3vw,8px);box-shadow:var(--shadow-sm);border-radius:50%;transition:all .15s;position:absolute;transform:translate(-50%,-50%)}.tree-node-dot.main-line{background:var(--color-primary)}.tree-node-dot.alt-line{background:var(--color-mode-alt-unselected);border-color:var(--color-mode-alt-unselected-border);opacity:.75}.tree-node-dot.alt-line.on-path,.tree-node-dot.alt-line.active{background:var(--color-mode-alt-accent);border-color:var(--color-mode-alt);opacity:1}.tree-node-dot.alt-line:hover{background:var(--color-mode-alt);border-color:var(--color-mode-alt-accent);opacity:1}.tree-node-dot.end-deal{background:var(--color-outcome-equal);border-color:var(--border-light);width:clamp(4px,3vw,10px);height:clamp(4px,3vw,10px);box-shadow:0 0 6px var(--shadow-outcome-equal-glow)}.tree-node-dot.end-deal.outcome-better{background:var(--color-outcome-better);box-shadow:0 0 6px var(--shadow-outcome-better-glow)}.tree-node-dot.end-deal.outcome-worse{background:var(--color-outcome-worse);box-shadow:0 0 6px var(--shadow-outcome-worse-glow)}.tree-node-dot.end-deal.outcome-equal{background:var(--color-outcome-equal);box-shadow:0 0 6px var(--shadow-outcome-equal-glow)}.tree-node-dot.on-path{box-shadow:0 0 6px var(--shadow-mode-alt-glow)}.tree-node-dot.active{background:var(--color-mode-alt);border-color:var(--text-light);box-shadow:0 0 10px var(--shadow-mode-alt-pulse);transform:translate(-50%,-50%)scale(1.3)}.tree-node-dot.end-deal.active{background:var(--color-outcome-equal);border-color:var(--text-light);box-shadow:0 0 12px var(--shadow-outcome-equal-glow)}.tree-node-dot.end-deal.outcome-better.active{background:var(--color-outcome-better);box-shadow:0 0 12px var(--shadow-outcome-better-glow)}.tree-node-dot.end-deal.outcome-worse.active{background:var(--color-outcome-worse);box-shadow:0 0 12px var(--shadow-outcome-worse-glow)}.tree-node-dot:hover{transform:translate(-50%,-50%)scale(1.35)}.tree-node-dot.has-annotation{box-shadow:0 0 0 2px var(--color-primary,#3b82f6)}.tree-node-dot.has-annotation.tag-bang-bang{box-shadow:0 0 0 2px #14b8a6}.tree-node-dot.has-annotation.tag-quest-quest{box-shadow:0 0 0 2px #dc2626}.tree-node-dot.has-annotation.tag-bang{box-shadow:0 0 0 2px #3b82f6}.tree-node-dot.has-annotation.tag-quest{box-shadow:0 0 0 2px #f97316}.tree-node-dot.has-annotation.tag-quest-bang{box-shadow:0 0 0 2px #f59e0b}.tree-node-dot.has-annotation.tag-bang-quest{box-shadow:0 0 0 2px #84cc16}.tree-node-ann-indicator{background:var(--color-primary,#3b82f6);pointer-events:none;border-radius:50%;width:4px;height:4px;position:absolute;top:-2px;right:-2px}.tree-node-tooltip{background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-medium);white-space:nowrap;pointer-events:none;z-index:50;box-shadow:var(--shadow-lg);border-radius:4px;margin-top:-8px;padding:3px 8px;font-size:.7rem;font-weight:600;position:absolute;transform:translate(-50%,-100%)}.alternative-single-track-wrapper{align-items:center;width:100%;height:24px;display:flex;position:relative}.alternative-empty-track{background:var(--border-medium);opacity:.4;border-radius:2px;width:100%;height:4px}.alternative-scrubber-dots{pointer-events:none;z-index:4;width:100%;height:0;position:absolute;top:50%;left:0}.alt-end-deal-dot{background:var(--color-outcome-equal);border:1.5px solid var(--bg-body);cursor:pointer;pointer-events:auto;width:9px;height:9px;box-shadow:var(--shadow-sm);border-radius:50%;transition:all .15s;position:absolute;top:-4.5px;transform:translate(-50%)}.alt-end-deal-dot.outcome-better{background:var(--color-outcome-better)}.alt-end-deal-dot.outcome-worse{background:var(--color-outcome-worse)}.alt-end-deal-dot.outcome-equal{background:var(--color-outcome-equal)}.alt-end-deal-dot:hover{box-shadow:0 0 6px var(--shadow-outcome-equal-glow);transform:translate(-50%)scale(1.35)}.alt-end-deal-dot.outcome-better:hover{box-shadow:0 0 6px var(--shadow-outcome-better-glow)}.alt-end-deal-dot.outcome-worse:hover{box-shadow:0 0 6px var(--shadow-outcome-worse-glow)}.alt-end-deal-dot.active{border-color:var(--text-light);box-shadow:0 0 8px var(--shadow-outcome-equal-glow);transform:translate(-50%)scale(1.3)}.alt-end-deal-dot.outcome-better.active{background:var(--color-outcome-better);box-shadow:0 0 8px var(--shadow-outcome-better-glow)}.alt-end-deal-dot.outcome-worse.active{background:var(--color-outcome-worse);box-shadow:0 0 8px var(--shadow-outcome-worse-glow)}.analysis-box-tabs{border-bottom:1px solid var(--border-medium);gap:4px;margin-bottom:4px;display:flex}.analysis-tab-btn{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;outline:none;padding:4px;font-size:clamp(.65rem,3vw,.9rem);font-weight:600;transition:all .2s}.analysis-tab-btn:hover:not(:disabled){color:var(--text-primary)}.analysis-tab-btn.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.analysis-tab-btn.special-state-choice{color:var(--text-trump-hand)!important}.analysis-tab-btn:disabled{opacity:.4;cursor:not-allowed}.analysis-tab-content{flex-direction:column;gap:clamp(4px,1.5vw,6px);display:flex}.analysis-no-actions,.analysis-no-notes{color:var(--text-muted);text-align:center;padding:8px;font-size:.85rem}.analysis-notes-icons-row{flex-wrap:wrap;align-items:center;gap:12px;min-height:40px;padding:8px 4px;display:flex}.analysis-note-icon-btn{background:var(--bg-medium);border:1px solid var(--border-medium);cursor:pointer;color:var(--text-primary);border-radius:8px;justify-content:center;align-items:center;padding:8px;transition:all .2s;display:inline-flex;position:relative;box-shadow:0 2px 4px #0000000d}.analysis-note-icon-btn:hover{background:var(--border-medium);transform:translateY(-2px);box-shadow:0 4px 6px #0000001a}.analysis-note-icon-btn:focus{outline:2px solid var(--color-primary)}.note-svg{stroke:var(--text-secondary);transition:stroke .2s}.analysis-note-icon-btn:hover .note-svg{stroke:var(--color-primary)}.note-badge{background:var(--color-primary);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;font-size:.7rem;font-weight:700;display:flex;position:absolute;top:-6px;right:-6px;box-shadow:0 1px 3px #0003}.analysis-note-popup{background:var(--bg-surface);border:1px solid var(--border-medium);z-index:50;border-radius:12px;flex-direction:column;width:90%;max-width:420px;height:auto;max-height:280px;animation:.2s ease-out popupFadeIn;display:flex;position:absolute;top:10%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 16px 40px #00000059,0 0 0 1px #0000001a}[data-theme=dark] .analysis-note-popup{background:#1e293b;border:1px solid #475569;box-shadow:0 16px 48px #0009,0 0 0 1px #ffffff1a}@keyframes popupFadeIn{0%{opacity:0;transform:translate(-50%,-45%)scale(.95)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.analysis-note-popup-header{border-bottom:1px solid var(--border-medium);background:var(--bg-surface-hover);justify-content:space-between;align-items:center;padding:10px 14px;display:flex}[data-theme=dark] .analysis-note-popup-header{background:#0f172a;border-bottom:1px solid #334155}.analysis-note-popup-title{color:var(--text-primary);align-items:center;font-size:.9rem;font-weight:700;display:flex}.analysis-note-popup-label{color:var(--text-primary);padding-left:8px;font-size:.85rem;font-weight:600}.analysis-note-popup-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 6px;font-size:1.25rem;font-weight:700;line-height:1;transition:all .15s}.analysis-note-popup-close:hover{color:var(--text-primary);background:#0000000f}[data-theme=dark] .analysis-note-popup-close:hover{background:#ffffff1a}.analysis-note-popup-body{color:var(--text-primary);background:var(--bg-surface);word-break:break-word;white-space:pre-wrap;flex:1;padding:14px 16px;font-size:.95rem;line-height:1.5;overflow-y:auto}[data-theme=dark] .analysis-note-popup-body{color:#f1f5f9;background:#1e293b}.analysis-note-popup-actions{border-top:1px solid var(--border-medium);background:var(--bg-surface-hover);justify-content:flex-end;padding:8px 14px;display:flex}[data-theme=dark] .analysis-note-popup-actions{background:#0f172a;border-top:1px solid #334155}.analysis-note-popup-delete{background:var(--color-danger,#ef4444);color:#fff;border:1px solid var(--color-danger,#ef4444);cursor:pointer;border-radius:4px;padding:4px 10px;font-size:.8rem;font-weight:600;transition:background-color .2s}.analysis-note-popup-delete:hover{opacity:.9}.analysis-note-popup-edit{background:var(--color-primary);color:#fff;border:1px solid var(--color-primary);cursor:pointer;border-radius:4px;padding:4px 10px;font-size:.8rem;font-weight:600;transition:opacity .2s}.analysis-note-popup-edit:hover{opacity:.9}.analysis-add-note-btn{background:var(--color-primary);color:#fff;border:1px solid var(--color-primary);cursor:pointer;border-radius:6px;width:fit-content;margin:8px auto 2px;padding:6px 10px;font-size:clamp(.55rem,2.5vw,.85rem);font-weight:600;transition:all .2s;display:block}.analysis-add-note-btn:hover{opacity:.9}.analysis-add-note-btn:disabled{background:var(--bg-medium);border-color:var(--border-medium);color:var(--text-secondary);cursor:not-allowed}.note-form-textarea{border:1px solid var(--border-medium);background:var(--bg-surface);width:100%;min-height:100px;color:var(--text-primary);resize:vertical;border-radius:8px;outline:none;margin-bottom:16px;padding:10px;font-family:inherit;font-size:.9rem}.note-form-textarea:focus{border-color:var(--color-primary)}.note-label-picker{margin-top:14px;margin-bottom:14px}.note-label-picker-title{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px;font-size:.78rem;font-weight:600;display:block}.note-label-picker-options{flex-wrap:wrap;justify-content:center;gap:8px;padding-top:4px;padding-bottom:4px;display:flex}.note-label-option{background-color:color-mix(in srgb, var(--badge-color) 60%, transparent);color:#fff;letter-spacing:-.5px;cursor:pointer;opacity:.65;border:2px solid #ffffff40;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-family:monospace;font-size:.75rem;font-weight:800;transition:transform .15s,box-shadow .15s,background-color .15s;display:inline-flex;box-shadow:0 2px 6px #0003}.note-label-option:hover{opacity:.9;transform:scale(1.12);box-shadow:0 4px 10px #0000004d}.note-label-option.selected{background-color:var(--badge-color);opacity:1;border-color:#ffffffb3;transform:scale(1.15);box-shadow:0 0 0 3px #ffffff80,0 4px 10px #0000004d}.note-label-option:focus{outline:2px solid var(--badge-color);outline-offset:3px}.format-prompt-modal-content{background:var(--bg-medium);border:1px solid var(--border-dark);text-align:center;border-radius:12px;width:90%;max-width:680px;max-height:90vh;padding:clamp(20px,4vw,32px);animation:.3s cubic-bezier(.16,1,.3,1) modalEnter;overflow-y:auto;box-shadow:0 10px 25px #00000080}.format-prompt-modal-content .modal-title{color:var(--text-light);margin-bottom:12px;font-size:clamp(1.2rem,3.5vw,1.8rem);font-weight:800}.format-prompt-modal-content .modal-description{color:var(--text-secondary);margin-bottom:24px;font-size:clamp(.85rem,2.2vw,1rem);line-height:1.5}.format-options-container{flex-direction:row;justify-content:center;gap:20px;margin-top:12px;display:flex}.format-option-card{background:var(--bg-body);border:2px solid var(--border-medium);cursor:pointer;border-radius:10px;flex-direction:column;flex:1;align-items:center;padding:20px;transition:transform .2s,border-color .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden}.format-option-card:hover{border-color:var(--color-primary);transform:translateY(-4px);box-shadow:0 8px 20px #00000040}.format-option-header{justify-content:center;align-items:center;gap:8px;width:100%;margin-bottom:10px;display:flex}.format-option-header h3{color:var(--text-light);margin:0;font-size:1.15rem;font-weight:700}.format-option-badge{text-transform:uppercase;color:#fff;letter-spacing:.05em;border-radius:4px;padding:2px 6px;font-size:.65rem;font-weight:700}.format-option-badge.compact{background:#6c757d}.format-option-badge.visual{background:var(--color-success)}.format-option-desc{color:var(--text-secondary);text-align:center;min-height:50px;margin-bottom:16px;font-size:.8rem;line-height:1.4}.format-preview{background:var(--bg-medium);border:1px solid var(--border-medium);box-sizing:border-box;border-radius:6px;justify-content:center;align-items:center;width:100%;height:90px;margin-bottom:20px;display:flex}.bridge-preview{font-family:var(--font-primary), system-ui, sans-serif;flex-direction:column;gap:8px;padding:8px}.bridge-preview .preview-row{align-items:center;gap:8px;width:80%;font-size:1.1rem;font-weight:700;display:flex}.bridge-preview .suit-symbol{width:1rem;font-family:Noto Sans Symbols,sans-serif;font-size:1.1rem;font-weight:700}.bridge-preview .ranks-text{letter-spacing:1px;font-weight:700}.cards-preview{flex-direction:row;gap:6px;padding:8px}.format-select-btn{pointer-events:none;width:100%;margin-top:auto}@media (width<=580px){.format-options-container{flex-direction:column;gap:16px}.format-option-desc{min-height:auto}}.cloud-games-modal-content{width:90%;max-width:800px}.cloud-games-modal-content .modal-close-btn{float:right}.cloud-games-search-form{gap:8px;margin-bottom:16px;display:flex}.cloud-games-search-input{border:1px solid var(--border-medium);background:var(--bg-input);color:var(--text-input);border-radius:4px;flex:1;padding:8px 12px}.cloud-games-search-btn{background:var(--color-primary);color:var(--text-light);cursor:pointer;border:none;border-radius:4px;padding:8px 16px}.cloud-games-list-wrapper{border:1px solid var(--border-light);scrollbar-width:thin;scrollbar-color:var(--border-medium) transparent;border-radius:4px;max-height:350px;margin-bottom:16px;overflow-y:auto}.cloud-games-list-wrapper::-webkit-scrollbar{width:8px}.cloud-games-list-wrapper::-webkit-scrollbar-track{background:0 0}.cloud-games-list-wrapper::-webkit-scrollbar-thumb{background-color:var(--border-medium);border-radius:4px}.cloud-games-list-wrapper::-webkit-scrollbar-thumb:hover{background-color:var(--border-dark)}.cloud-games-list-loading,.cloud-games-list-empty{text-align:center;color:var(--text-secondary);padding:32px}.cloud-games-table{border-collapse:collapse;width:100%;font-size:.9rem}.cloud-games-table-header-row{background:var(--bg-table-header);border-bottom:1px solid var(--border-light);color:var(--text-table-header)}.cloud-games-table th{text-align:left;padding:10px 12px}.cloud-games-table th:last-child{width:100px}.cloud-games-table-row{border-bottom:1px solid var(--border-light);cursor:pointer}.cloud-games-table-row td{padding:10px 12px}.cloud-games-table-row td:last-child{text-align:center}.cloud-games-item-title{font-weight:700}.cloud-games-item-desc{color:var(--text-secondary);margin-top:2px;font-size:.8rem}.cloud-games-item-players,.cloud-games-item-games{text-align:left;font-size:.85rem}.cloud-games-item-ruleset{text-align:center;text-transform:capitalize}.cloud-games-item-created{white-space:nowrap}.cloud-games-load-btn{cursor:pointer;background:var(--color-primary);color:var(--text-light);border:none;border-radius:4px;padding:4px 8px;font-size:.8rem}.cloud-games-pagination-wrapper{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.cloud-games-pagination-info{color:var(--text-secondary);font-size:.85rem}.cloud-games-pagination-actions{gap:8px;display:flex}.cloud-games-pagination-btn{cursor:pointer;border-radius:4px;padding:6px 12px}.match-dashboard-container{max-width:750px;margin:0 auto;padding:.5rem}.shortcut-grid-single{flex-direction:column;gap:8px;display:flex}.shortcuts-close-btn{margin-top:16px}.guess-result-content{text-align:center}.guess-result-title{margin-bottom:1rem;font-size:1.6rem}.guess-result-description{margin:1.25rem 0;font-size:1.05rem;line-height:1.5}.guess-result-hint{color:var(--text-secondary,#9ca3af);margin-top:10px;font-size:.9rem;display:inline-block}.guess-result-actions{justify-content:center;margin-top:1.5rem}.error-modal-header{border-bottom:1px solid var(--border-light,#ffffff1a);align-items:center;gap:.5rem;margin-bottom:.75rem;padding-bottom:.5rem;display:flex}.error-modal-icon{color:var(--text-error,#d32f2f);font-size:1.5rem}.error-modal-title{color:var(--text-error,#d32f2f);margin:0}.error-modal-description{white-space:pre-wrap;text-align:left;max-height:300px;color:var(--text-primary,#fff);margin:.5rem 0;font-size:.9rem;overflow-y:auto}.error-modal-actions{justify-content:flex-end;margin-top:1rem;display:flex}.error-modal-close-btn{min-width:80px}.match-dashboard-header-container{flex-direction:column;gap:1.25rem;margin-bottom:1.5rem;display:flex}.match-dashboard-header{display:block}.match-dashboard-header-actions{gap:8px;display:flex}.match-dashboard-badge{color:var(--color-primary);text-transform:uppercase;letter-spacing:1px;font-size:.85rem;font-weight:700}.match-dashboard-title{margin-top:.2rem;margin-bottom:.5rem}.match-dashboard-description{color:var(--text-gray);margin:0;font-size:.95rem}.match-score-card{flex-direction:column;gap:.8rem;margin-bottom:1.5rem;display:flex}.match-score-label{color:var(--text-gray);text-transform:uppercase;letter-spacing:1px;font-size:.8rem;font-weight:700}.match-score-row{flex-wrap:wrap;align-items:center;gap:1.5rem;display:flex}.match-team-col{text-align:center;flex:1;min-width:120px}.match-team-names{color:var(--text-gray);margin-bottom:4px;font-size:.85rem}.match-team-score{color:var(--text-primary);font-size:2.2rem;font-weight:700}.match-team-score.is-winner{color:var(--color-accent-emerald)}.match-team-score.team2-higher{color:var(--color-danger)}.match-score-divider{color:var(--text-gray);font-size:1.2rem;font-weight:700}.match-target-hint{color:var(--text-gray);text-align:center;min-width:100px;font-size:.85rem}.match-winner-banner{background:var(--bg-accent-emerald-subtle);text-align:center;color:var(--color-accent-emerald);border-radius:8px;padding:10px 16px;font-weight:700}.match-games-header{justify-content:space-between;align-items:center;margin-bottom:1.2rem;display:flex}.match-games-header h3{margin:0}.match-games-empty{text-align:center;color:var(--text-gray);border:1px dashed var(--border-subtle-dark);border-radius:8px;padding:3rem 1rem}.match-games-list{flex-direction:column;gap:1rem;display:flex}.match-game-card{border:1px solid var(--border-subtle-dark);background:var(--bg-surface);border-radius:8px;flex-direction:column;gap:1rem;padding:1.2rem;display:flex}.match-game-card-header{border-bottom:1px solid var(--border-subtle-dark);justify-content:space-between;align-items:center;padding-bottom:.6rem;display:flex}.match-game-card-title{font-size:1.1rem;font-weight:700}.match-game-status-badge{border-radius:12px;justify-content:center;align-items:center;padding:4px 10px;font-size:.85rem;font-weight:700;line-height:1;display:inline-flex}.match-game-status-badge.status-completed{background:var(--bg-accent-emerald-subtle);color:var(--color-accent-emerald)}.match-game-status-badge.status-in-progress{background:var(--bg-dealer);color:var(--text-trump-hand)}.match-game-status-badge.status-not-started{background:var(--bg-surface-elevated);color:var(--text-gray)}.match-game-status-badge.team1-higher{background:var(--bg-accent-emerald-subtle);color:var(--color-accent-emerald)}.match-game-status-badge.team2-higher{background:var(--bg-error);color:var(--text-error)}.match-game-card-body{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.match-game-teams-summary{color:var(--text-gray);font-size:.9rem}.match-replay-btn{background:var(--color-primary);color:var(--text-light);cursor:pointer;border:none;border-radius:6px;padding:8px 18px;font-size:.9rem;font-weight:700}.match-header-bar{background:var(--bg-surface);border:1px solid var(--border-subtle-dark);border-radius:8px;flex-direction:column;justify-self:center;gap:10px;width:100%;max-width:750px;margin-bottom:1rem;padding:10px 16px;display:flex}.match-header-row{grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;width:100%;display:grid}.match-header-row>:first-child{justify-self:start}.match-header-row>:nth-child(2){text-align:center;justify-self:center}.match-header-row>:nth-child(3){text-align:right;justify-self:end}.match-header-row-top{border-bottom:1px solid var(--border-subtle-dark);padding-bottom:8px}.match-header-return-btn{background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border-medium);cursor:pointer;border-radius:6px;padding:6px 12px;font-size:.85rem;font-weight:700;transition:all .15s}.match-header-return-btn:hover{background:var(--color-primary);color:var(--text-light);border-color:var(--color-primary)}.match-header-info{color:var(--text-secondary);font-size:.9rem}.match-header-divider{color:var(--border-medium);margin:0 8px}.match-header-nav-btn{border:1px solid var(--border-medium);border-radius:6px;padding:5px 14px;font-size:.85rem;font-weight:600}.match-header-nav-btn.enabled{background:var(--bg-surface);color:var(--text-primary);cursor:pointer;transition:all .15s}.match-header-nav-btn.enabled:hover{background:var(--bg-surface-hover);border-color:var(--color-primary)}.match-header-nav-btn.disabled{color:var(--text-muted);border-color:var(--border-light);cursor:not-allowed;background:0 0}.match-header-game-select{text-align:center;background:var(--bg-surface);max-width:320px;color:var(--text-primary);border:1px solid var(--border-medium);cursor:pointer;border-radius:6px;outline:none;flex:1;padding:5px 10px;font-size:.85rem;font-weight:600;transition:border-color .15s,box-shadow .15s}.match-header-game-select:hover{border-color:var(--color-primary)}.match-header-game-select:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--border-seat,#2563eb33)}.match-header-game-select option{background:var(--bg-surface);color:var(--text-primary)}.match-player-id-tag-wrapper{display:inline-block;position:relative}.match-player-id-tag{font-family:var(--font-mono,monospace);cursor:pointer;border-bottom:1px dotted var(--text-gray);padding:0 2px;font-weight:700}.match-player-id-tooltip{background:var(--bg-dark);color:var(--text-primary);border:1px solid var(--color-primary);white-space:nowrap;z-index:100;box-shadow:var(--shadow-badge-hover);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:6px;padding:4px 10px;font-size:.8rem;position:absolute;bottom:125%;left:50%;transform:translate(-50%)}.match-game-teams-summary{flex-direction:column;gap:3px;font-size:.88rem;display:flex}.match-game-team-row{align-items:center;gap:6px;display:flex}.match-team-label{color:var(--text-gray);min-width:55px;font-size:.8rem;font-weight:700}.cloud-games-item-title-row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.cloud-games-badge{border-radius:4px;align-items:center;gap:4px;padding:2px 6px;font-size:.72rem;font-weight:600;display:inline-flex}.annotated-badge{background:var(--bg-accent-indigo-subtle);color:#a5b4fc;border:1px solid #6366f14d}.cloud-games-version-picker{align-items:center;gap:6px;display:flex}.cloud-games-version-select{background:var(--bg-input);color:var(--text-input);border:1px solid var(--border-medium);cursor:pointer;border-radius:4px;outline:none;max-width:180px;padding:4px 8px;font-size:.8rem;transition:border-color .15s,box-shadow .15s}.cloud-games-version-select:hover,.cloud-games-version-select:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px #3b82f633}.cloud-games-version-select option{background:var(--bg-input);color:var(--text-input)}.embed-snippet-modal-content{max-width:650px}.embed-snippet-description{color:var(--text-secondary);margin:0 0 16px;font-size:.9rem}.embed-modal-banner{color:#ffe0b2;text-align:left;background:#ff980026;border:1px solid #ff980066;border-radius:8px;margin-bottom:16px;padding:12px 16px;font-size:.88rem}.embed-modal-banner-title{margin-bottom:4px;font-weight:700}.embed-modal-banner-btn{cursor:pointer;margin-top:10px;padding:6px 14px;font-size:.85rem}.embed-modal-banner-btn:disabled{cursor:wait}.embed-modal-banner-error{color:#ff8a80;margin-top:6px;font-size:.82rem}.embed-modal-grid{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;display:grid}.embed-modal-field-label{margin-bottom:4px;font-size:.85rem;font-weight:700;display:block}.embed-modal-select,.embed-modal-input{width:100%;padding:6px 10px}.embed-modal-checkbox-group{gap:24px;margin-bottom:16px;display:flex}.embed-modal-checkbox-label{cursor:pointer;align-items:center;gap:8px;font-size:.9rem;display:flex}.embed-modal-textarea-group{margin-bottom:16px}.embed-modal-textarea{background:var(--bg-surface-elevated);color:#64b5f6;width:100%;padding:10px;font-family:monospace;font-size:.82rem}.embed-modal-footer{border-top:1px solid var(--border-light);justify-content:flex-end;align-items:center;gap:12px;margin-top:20px;padding-top:16px;display:flex}.embed-modal-btn-close{border:1px solid var(--border-medium);background:var(--bg-surface);color:var(--text-primary);cursor:pointer;border-radius:8px;padding:9px 18px;font-size:.9rem;font-weight:600;transition:background-color .15s}.embed-modal-btn-close:hover{background:var(--bg-surface-hover)}.embed-modal-btn-copy{background:var(--color-primary);color:var(--text-light);cursor:pointer;border:none;border-radius:8px;min-width:150px;padding:9px 20px;font-size:.9rem;font-weight:600;transition:background-color .2s,transform .1s}.embed-modal-btn-copy.copied{background:var(--color-success)}.embed-modal-btn-copy:hover{filter:brightness(1.1)}.featured-splash-shell{flex-direction:column;gap:16px;max-width:750px;margin:20px auto;padding:0 16px;display:flex}.featured-loading-card{text-align:center;max-width:960px;margin:16px auto;padding:24px}.featured-loading-text{color:var(--text-secondary);margin:0}.featured-splash-card{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:24px;display:flex}.featured-splash-copy{flex:320px}.featured-splash-copy h3{margin:0 0 6px;font-size:1.2rem}.featured-splash-copy p{color:var(--text-secondary);margin:0;line-height:1.45}.featured-splash-actions{flex-wrap:wrap;gap:10px;display:flex}.featured-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.featured-item-card{border:1px solid var(--border-medium);width:100%;color:inherit;text-align:left;cursor:pointer;background:linear-gradient(135deg,#ffffff0a,#ffffff05);border-radius:12px;flex-direction:column;gap:8px;padding:14px;transition:transform .16s,border-color .16s,background .16s;display:flex}.featured-item-card:hover{border-color:var(--color-primary);background:linear-gradient(135deg, var(--bg-accent-indigo-subtle), #ffffff0a);transform:translateY(-1px)}.featured-item-card strong{font-size:.98rem;line-height:1.35}.featured-item-badge{border-radius:999px;align-self:flex-start;padding:4px 8px;font-size:.74rem;font-weight:600;display:inline-flex}.featured-item-badge-game{color:#5da0ff;background:#4a90e22e}.featured-item-badge-match{color:#f4c46b;background:#f39c122e}.featured-item-meta{color:var(--text-secondary);font-size:.8rem}.replayer-loading-overlay{background:var(--overlay-dark);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;justify-content:center;align-items:center;width:100vw;height:100vh;animation:.15s ease-out fadeIn;display:flex;position:fixed;top:0;left:0}.replayer-loading-spinner-card{background:var(--bg-surface);border:1px solid var(--border-medium);box-shadow:var(--shadow-xl);border-radius:12px;flex-direction:column;align-items:center;gap:16px;padding:24px 32px;display:flex}.replayer-spinner{border:4px solid #ffffff26;border-top-color:var(--color-primary);border-radius:50%;width:40px;height:40px;animation:.8s linear infinite replayer-spin}.replayer-loading-text{color:var(--text-primary);font-size:1rem;font-weight:600}@keyframes replayer-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.reshuffled-banner{background:var(--bg-medium);color:var(--text-primary);border:1px solid var(--border-medium);border-radius:8px;justify-content:space-between;justify-self:center;align-items:center;width:100%;max-width:750px;margin-bottom:12px;padding:8px 12px;font-size:.9rem;display:flex;box-shadow:0 2px 4px #0000001a}.reshuffled-banner-close-btn{cursor:pointer;color:var(--text-secondary);background:0 0;border:none;padding:0 4px;font-size:1rem}.status-header-annotations-btn{background:var(--bg-surface-elevated,#374151);color:var(--text-primary);border:1px solid var(--border-medium)}.status-header-annotations-btn:hover{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.annotations-modal-content{background:var(--bg-surface);border:1px solid var(--border-medium);width:min(94vw,560px);max-height:min(88vh,850px);box-shadow:var(--shadow-xl);border-radius:12px;flex-direction:column;padding:16px 20px;display:flex}.annotations-modal-header{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:flex-start;padding-bottom:12px;display:flex}.annotations-modal-title-group{flex-direction:column;gap:2px;display:flex}.annotations-modal-subtitle{color:var(--text-secondary);font-size:.8rem;font-weight:500}.annotations-modal-close-icon{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:4px 6px;font-size:1.1rem;transition:color .15s,background-color .15s}.annotations-modal-close-icon:hover{color:var(--text-primary);background:var(--bg-hover)}.annotations-filter-bar{border-bottom:1px solid var(--border-light);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:10px 0;display:flex}.annotations-filter-group{align-items:center;gap:4px;display:flex}.filter-chip{border:1px solid var(--border-medium);background:var(--bg-surface);color:var(--text-secondary);cursor:pointer;border-radius:999px;padding:3px 10px;font-size:.75rem;font-weight:600;transition:background-color .15s,color .15s,border-color .15s}.filter-chip:hover{background:var(--bg-hover);color:var(--text-primary)}.filter-chip.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.annotations-filter-selects{align-items:center;gap:6px;display:flex}.annotations-select-filter{border:1px solid var(--border-medium);background:var(--bg-surface);color:var(--text-primary);cursor:pointer;border-radius:6px;padding:4px 8px;font-size:.75rem;font-weight:600}.annotations-list-container{flex:1;min-height:180px;max-height:520px;padding:10px 0;overflow-y:auto}.annotations-empty-state{height:120px;color:var(--text-muted);justify-content:center;align-items:center;font-size:.9rem;font-style:italic;display:flex}.annotations-cards-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.annotation-card{background:var(--bg-surface-elevated,#2a3441);border:1px solid var(--border-light);cursor:pointer;border-radius:8px;flex-direction:column;gap:6px;padding:10px 12px;transition:transform .12s,border-color .15s,background-color .15s;display:flex}.annotation-card:hover{background:var(--bg-hover);border-color:var(--color-primary);transform:translateY(-1px)}.annotation-card.is-alt-card{border-left:3px solid var(--color-mode-alt-accent,#f97316)}.annotation-card-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.annotation-card-meta{flex-wrap:wrap;align-items:center;gap:6px;font-size:.72rem;display:flex}.annotation-alt-badge{background:var(--bg-mode-alt,#f9731633);color:var(--color-mode-alt-accent,#f97316);border-radius:4px;padding:1px 6px;font-size:.68rem;font-weight:700}.annotation-deal-badge{color:var(--text-primary);font-weight:700}.annotation-action-label{color:var(--text-secondary)}.annotation-player-badge{background:var(--bg-badge,#ffffff14);color:var(--text-primary);border-radius:4px;padding:1px 6px;font-weight:600}.annotation-jump-btn{background:var(--color-primary);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:4px;padding:3px 8px;font-size:.68rem;font-weight:700;transition:opacity .15s}.annotation-jump-btn:hover{opacity:.9}.annotation-card-body{flex-direction:column;gap:4px;display:flex}.annotation-tag-wrapper{align-items:center;gap:5px;display:flex}.annotation-tag-label{font-size:.7rem;font-weight:700}.annotation-text-content{color:var(--text-secondary);white-space:pre-wrap;margin:0;font-size:.8rem;line-height:1.35}.annotations-modal-footer{border-top:1px solid var(--border-light);justify-content:flex-end;padding-top:10px;display:flex}.annotations-close-btn{padding:6px 16px;font-size:.82rem}
