:root{--bg-primary:#1e1e1e;--bg-secondary:#232323;--bg-card:#272727b8;--bg-card-solid:#272727;--bg-overlay:#000000bf;--accent-sage:#a4d8ff;--on-accent:#21262a;--accent-sage-light:#c6e7ff;--accent-sage-dark:#7cc1f0;--accent-lavender:#8b5cf6;--accent-lavender-light:#a78bfa;--accent-peach:#f97316;--accent-peach-light:#fb923c;--text-primary:#f1f5f8;--text-secondary:#a7b1b9;--text-muted:#7b858d;--text-inverse:#21262a;--ball-red:#ef4444;--ball-yellow:#eab308;--ball-green:#22c55e;--ball-brown:#a16207;--ball-blue:#3b82f6;--ball-pink:#ec4899;--ball-black:#0f172a;--ball-white:#f1f5f9;--felt-dark:#1e1e1e;--felt-light:#272727;--felt-accent:var(--accent-sage);--felt-text:var(--text-primary);--felt-card:#1418218c;--felt-card-active:#7cc1f01f;--felt-border:#ffffff14;--success:#10b981;--warning:#f59e0b;--error:#ef4444;--info:#3b82f6;--shadow-sm:0 1px 2px #00000080;--shadow-md:0 4px 12px #00000080;--shadow-lg:0 12px 32px #0009;--shadow-xl:0 24px 64px #000000b3;--shadow-glow:0 0 24px #a4d8ff40;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-full:50%;--space-xs:4px;--space-sm:8px;--space-md:16px;--space-lg:24px;--space-xl:32px;--space-2xl:48px;--space-3xl:64px;--font-ui:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"Space Mono", "Courier New", monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:2rem;--text-4xl:2.5rem;--text-5xl:3.5rem;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.4s cubic-bezier(.4, 0, .2, 1);--transition-bounce:.5s cubic-bezier(.34, 1.56, .64, 1);--z-base:1;--z-dropdown:100;--z-sticky:200;--z-modal-backdrop:900;--z-modal:1000;--z-toast:1100;--z-orientation:9999;--bg-topbar:#07090b;--bg-status-bar:#0b0d11;--bg-ball-card:#0d1015;--bg-dialog:#0c0e12;--bg-drawer:#07090b;--bg-drawer-header:#0c0e12;--bg-drawer-subbar:#0a0c10;--bg-btn-secondary:#12161c;--border-color:#ffffff14;--border-color-dim:#ffffff0a;--shadow-color:#0009;--accent-gold:#fbbf24;--gradient-primary:linear-gradient(135deg, var(--accent-sage-light) 0%, var(--accent-sage-dark) 100%);--gradient-accent:linear-gradient(135deg, var(--accent-sage) 0%, var(--accent-lavender) 100%);--gradient-score:linear-gradient(135deg, var(--accent-sage-light) 0%, var(--accent-sage) 100%);--gradient-active-card:linear-gradient(135deg, #a4d8ff2e 0%, #8b5cf61a 100%);--gradient-danger:linear-gradient(135deg, #ef5350 0%, #e53935 100%);--gradient-success:linear-gradient(135deg, #39d38d 0%, #05b064 100%)}body.light-theme{--bg-primary:#f5f6f8;--bg-secondary:#ebedf1;--bg-card:#fffffff2;--bg-card-solid:#fff;--bg-overlay:#0f172a73;--text-primary:#1a1d23;--text-secondary:#4b5563;--text-muted:#7b8494;--text-inverse:#fff;--bg-topbar:#ffffffeb;--bg-status-bar:#fff;--bg-ball-card:#fff;--bg-dialog:#fff;--bg-drawer:#fff;--bg-drawer-header:#f8f9fb;--bg-drawer-subbar:#f0f2f5;--bg-btn-secondary:#ebedf1;--border-color:#0f172a1f;--border-color-dim:#0f172a12;--shadow-color:#0f172a14;--shadow-sm:0 1px 3px #0f172a14, 0 1px 2px #0f172a0a;--shadow-md:0 4px 12px #0f172a1a, 0 2px 4px #0f172a0f;--shadow-lg:0 12px 32px #0f172a1f, 0 4px 8px #0f172a0f;--shadow-xl:0 24px 64px #0f172a24, 0 8px 16px #0f172a14;--shadow-glow:0 0 24px #2f6e9e26;--accent-sage:#2f6e9e;--on-accent:#fff;--accent-sage-light:#a4d8ff;--accent-sage-dark:#24567b;--gradient-primary:linear-gradient(135deg, #3b7fb5 0%, #24567b 100%);--accent-lavender:#7c3aed;--accent-lavender-light:#a78bfa;--accent-peach:#ea580c;--accent-peach-light:#f97316;--felt-dark:#e2e6ec;--felt-light:#eff1f5;--felt-text:var(--text-primary);--felt-card:#ffffffe6;--felt-card-active:#2f6e9e0f;--felt-border:#0f172a1a;--accent-gold:#d97706;--gradient-active-card:linear-gradient(135deg, #2f6e9e1a 0%, #7c3aed0f 100%)}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;scroll-behavior:smooth;touch-action:pan-x pan-y;overscroll-behavior:none;font-size:16px;overflow-x:hidden}body{font-family:var(--font-ui);color:var(--text-primary);background-color:var(--bg-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;min-height:100dvh;line-height:1.6;overflow-x:hidden}input,textarea,select,[contenteditable=true]{-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}button,a,[role=button]{touch-action:manipulation}body:before{content:"";pointer-events:none;opacity:.015;z-index:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:256px 256px;width:100%;height:100%;position:fixed;top:0;left:0}html,body{height:100%;overflow:hidden}#root{z-index:var(--z-base);overscroll-behavior:none;-webkit-overflow-scrolling:touch;position:fixed;inset:0;overflow:hidden auto}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit;font-size:inherit;color:inherit;background:0 0;border:none}input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}ul,ol{list-style:none}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.text-center{text-align:center}.text-mono{font-family:var(--font-mono)}.flex{display:flex}.flex-col{flex-direction:column}.flex-center{justify-content:center;align-items:center;display:flex}.flex-between{justify-content:space-between;align-items:center;display:flex}.flex-wrap{flex-wrap:wrap}.gap-xs{gap:var(--space-xs)}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes slideInLeft{0%{transform:translate(-100%)}to{transform:translate(0)}}@keyframes slideInUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes glow{0%,to{box-shadow:0 0 5px #7ba68a4d}50%{box-shadow:0 0 20px #7ba68a99}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes confetti-fall{0%{opacity:1;transform:translateY(-100vh)rotate(0)}to{opacity:0;transform:translateY(100vh)rotate(720deg)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}@keyframes score-pop{0%{transform:scale(1)}50%{transform:scale(1.3)}to{transform:scale(1)}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}::selection{background-color:var(--accent-sage-light);color:var(--text-primary)}:focus-visible{outline:2px solid var(--accent-sage);outline-offset:2px}.theme-toggle-floating{background:var(--bg-card-solid);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:var(--radius-md);cursor:pointer;z-index:100;width:40px;height:40px;transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex;position:absolute;top:20px;right:20px}.theme-toggle-floating:hover{background:var(--bg-btn-secondary);color:var(--text-primary);border-color:var(--border-color)}.btn{justify-content:center;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-md);font-weight:600;font-size:var(--text-base);transition:all var(--transition-normal);white-space:nowrap;-webkit-user-select:none;user-select:none;touch-action:manipulation;line-height:1.4;display:inline-flex;position:relative;overflow:hidden}.btn:after{content:"";transition:background var(--transition-fast);background:#fff0;position:absolute;inset:0}.btn:active:after{background:#0000001a}.btn-primary{background:var(--gradient-primary);color:var(--on-accent);box-shadow:0 4px 14px #a4d8ff40}.btn-primary:hover{filter:brightness(1.06);transform:translateY(-1px);box-shadow:0 6px 20px #a4d8ff66}.btn-primary:active{box-shadow:var(--shadow-sm);transform:translateY(0)}.btn-secondary{background:var(--bg-card);color:var(--text-primary);border:1.5px solid var(--border-color);-webkit-backdrop-filter:blur(10px)}.btn-secondary:hover{background:var(--bg-btn-secondary);box-shadow:var(--shadow-md);border-color:#ffffff26}.btn-danger{background:var(--error);color:var(--text-inverse);box-shadow:0 4px 14px #ef444440}.btn-danger:hover{background:#f87171;transform:translateY(-1px);box-shadow:0 6px 20px #ef444466}.btn-ghost{color:var(--text-secondary);background:0 0}.btn-ghost:hover{color:var(--text-primary);background:#ffffff0a}.btn-lg{padding:var(--space-md) var(--space-xl);font-size:var(--text-lg);border-radius:var(--radius-lg)}.btn-sm{padding:var(--space-xs) var(--space-md);font-size:var(--text-sm);border-radius:var(--radius-sm)}.btn-icon{border-radius:var(--radius-full);width:44px;height:44px;font-size:var(--text-xl);padding:0}.btn-google{background:var(--bg-card-solid);color:var(--text-primary);border:1.5px solid var(--border-color);padding:var(--space-md) var(--space-xl);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);font-weight:500}.btn-google:hover{box-shadow:var(--shadow-md);background:var(--bg-btn-secondary);border-color:#ffffff26;transform:translateY(-1px)}.btn-google svg{width:20px;height:20px}.btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none!important;transform:none!important}.card{background:var(--bg-card);-webkit-backdrop-filter:blur(16px);border-radius:var(--radius-lg);padding:var(--space-lg);border:1px solid var(--border-color);box-shadow:var(--shadow-sm);transition:all var(--transition-normal)}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.card-interactive{cursor:pointer}.card-interactive:active{box-shadow:var(--shadow-sm);transform:translateY(0)}.card-selected{border-color:var(--accent-sage);box-shadow:var(--shadow-glow);background:#7ba68a14}.card-flat{box-shadow:none;border:1px solid #0000000f}.card-flat:hover{box-shadow:none;transform:none}.btn-ball{border-radius:var(--radius-full);width:52px;height:52px;transition:all var(--transition-fast);font-family:var(--font-mono);font-weight:700;font-size:var(--text-sm);color:var(--text-inverse);text-shadow:0 1px 2px #0000004d;border:3px solid #ffffff4d;justify-content:center;align-items:center;display:flex;position:relative;box-shadow:inset 0 -3px 6px #0000004d,inset 0 3px 6px #fff3,0 2px 8px #0000004d}.btn-ball:before{content:"";pointer-events:none;background:radial-gradient(#ffffff80,#0000);border-radius:50%;width:14px;height:10px;position:absolute;top:4px;left:8px}.btn-ball:active{transform:scale(.9);box-shadow:inset 0 -1px 3px #0000004d,inset 0 1px 3px #fff3,0 1px 4px #0003}.btn-ball.ball-red{background:radial-gradient(circle at 30% 30%, #ef5350, var(--ball-red), #b71c1c)}.btn-ball.ball-yellow{background:radial-gradient(circle at 30% 30%, #ffee58, var(--ball-yellow), #f9a825);color:var(--text-primary);text-shadow:none}.btn-ball.ball-green{background:radial-gradient(circle at 30% 30%, #66bb6a, var(--ball-green), #1b5e20)}.btn-ball.ball-brown{background:radial-gradient(circle at 30% 30%, #8d6e63, var(--ball-brown), #3e2723)}.btn-ball.ball-blue{background:radial-gradient(circle at 30% 30%, #42a5f5, var(--ball-blue), #0d47a1)}.btn-ball.ball-pink{background:radial-gradient(circle at 30% 30%, #f06292, var(--ball-pink), #ad1457)}.btn-ball.ball-black{background:radial-gradient(circle at 30% 30%, #616161, var(--ball-black), #000)}.btn-ball.ball-white{background:radial-gradient(circle at 30% 30%, #fff, var(--ball-white), #e0e0e0);color:var(--text-primary);text-shadow:none;border-color:#0000001a}.btn-ball.dimmed{opacity:.3;cursor:not-allowed;filter:grayscale(.5)}.btn-ball.dimmed:active{transform:none}.btn-ball .ball-badge{background:var(--bg-card-solid);color:var(--text-primary);border-radius:var(--radius-full);width:20px;height:20px;box-shadow:var(--shadow-sm);font-size:10px;font-family:var(--font-mono);text-shadow:none;border:1px solid #0000001a;justify-content:center;align-items:center;display:flex;position:absolute;top:-6px;right:-6px}.input{width:100%;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);background:var(--bg-card-solid);font-size:var(--text-base);transition:all var(--transition-fast);border:1.5px solid #0000001a;outline:none}.input:focus{border-color:var(--accent-sage);box-shadow:0 0 0 3px #7ba68a26}.input::placeholder{color:var(--text-muted)}.input-label{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--space-xs);text-transform:uppercase;letter-spacing:.05em;font-weight:600;display:block}.modal-backdrop{background:var(--bg-overlay);-webkit-backdrop-filter:blur(4px);z-index:var(--z-modal-backdrop);animation:fadeIn var(--transition-fast) ease-out;position:fixed;inset:0}.modal{background:var(--bg-card-solid);border-radius:var(--radius-xl);padding:var(--space-xl);max-width:90vw;max-height:85vh;z-index:var(--z-modal);box-shadow:var(--shadow-xl);animation:scaleIn var(--transition-normal) ease-out;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%)}.modal-title{font-size:var(--text-xl);margin-bottom:var(--space-md);font-weight:700}.modal-actions{gap:var(--space-sm);margin-top:var(--space-lg);justify-content:flex-end;display:flex}.timer{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-muted);letter-spacing:.05em}.timer-large{font-size:var(--text-2xl);font-weight:700}.score-display{font-family:var(--font-mono);transition:all var(--transition-fast);font-weight:700;line-height:1}.score-display.score-pop{animation:.3s ease-out score-pop}.badge{font-size:var(--text-xs);letter-spacing:.02em;border-radius:100px;justify-content:center;align-items:center;padding:2px 8px;font-weight:600;display:inline-flex}.badge-sage{color:var(--accent-sage-dark);background:#7ba68a26}.badge-lavender{color:#7b6b8e;background:#b8a9c933}.badge-peach{color:#b07a50;background:#f4c2a140}.badge-danger{color:var(--error);background:#f443361f}.divider{width:100%;height:1px;margin:var(--space-md) 0;background:#0000000f}.spinner{border:3px solid #7ba68a33;border-top-color:var(--accent-sage);border-radius:var(--radius-full);width:32px;height:32px;animation:.8s linear infinite spin}.spinner-sm{border-width:2px;width:20px;height:20px}.page{min-height:100dvh;padding:var(--space-lg);animation:fadeIn var(--transition-normal) ease-out}.page-centered{flex-direction:column;justify-content:center;align-items:center;display:flex}.page-header{margin-bottom:var(--space-xl)}.page-title{font-size:var(--text-2xl);color:var(--text-primary);letter-spacing:-.02em;font-weight:800}.page-subtitle{font-size:var(--text-base);color:var(--text-secondary);margin-top:var(--space-xs)}.container{width:100%;max-width:480px;margin:0 auto}.toggle-group{background:var(--bg-secondary);border-radius:var(--radius-md);gap:2px;padding:3px;display:flex}.toggle-option{padding:var(--space-sm) var(--space-md);border-radius:calc(var(--radius-md) - 2px);font-size:var(--text-sm);color:var(--text-secondary);text-align:center;transition:all var(--transition-fast);cursor:pointer;flex:1;font-weight:600}.toggle-option:hover{color:var(--text-primary)}.toggle-option.active{background:var(--bg-card-solid);color:var(--text-primary);box-shadow:var(--shadow-sm)}.stepper{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-xl);display:flex}.stepper-dot{border-radius:var(--radius-full);background:var(--bg-secondary);width:10px;height:10px;transition:all var(--transition-normal)}.stepper-dot.active{background:var(--accent-sage);border-radius:5px;width:28px}.stepper-dot.completed{background:var(--accent-sage-light)}.stepper-line{background:var(--bg-secondary);flex:1;height:2px}.empty-state{padding:var(--space-3xl) var(--space-lg);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-state-icon{margin-bottom:var(--space-md);opacity:.5;font-size:48px}.empty-state-title{font-size:var(--text-lg);color:var(--text-primary);margin-bottom:var(--space-xs);font-weight:600}.empty-state-text{font-size:var(--text-sm);color:var(--text-secondary);max-width:280px}.toast{bottom:var(--space-xl);background:var(--text-primary);color:var(--text-inverse);padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-lg);font-size:var(--text-sm);box-shadow:var(--shadow-lg);z-index:var(--z-toast);animation:slideInUp var(--transition-normal) ease-out;font-weight:500;position:fixed;left:50%;transform:translate(-50%)}@media (width<=380px){.btn-ball{width:44px;height:44px}}body.light-theme .btn-secondary{border-color:var(--border-color);background:#fff;box-shadow:0 1px 3px #0000000a}body.light-theme .btn-secondary:hover{background:var(--bg-secondary);border-color:var(--text-muted);box-shadow:var(--shadow-md)}body.light-theme .btn-ghost:hover{background:#0000000a}body.light-theme .btn-google{border-color:var(--border-color);background:#fff}body.light-theme .btn-google:hover{background:var(--bg-secondary);border-color:var(--text-muted)}body.light-theme .card{border-color:var(--border-color);background:#fff;box-shadow:0 1px 3px #0000000a}body.light-theme .card:hover{box-shadow:var(--shadow-md)}body.light-theme .card-selected{border-color:var(--accent-sage);box-shadow:var(--shadow-glow);background:#2f6e9e0a}body.light-theme .input{border-color:var(--border-color);background:#fff}body.light-theme .toggle-option.active{background:#fff;box-shadow:0 1px 3px #0000000f}body.light-theme .divider{background:var(--border-color)}body.light-theme .btn-ball.ball-white{border-color:var(--border-color);box-shadow:inset 0 -3px 6px #00000014,inset 0 3px 6px #fffc,0 2px 8px #0000001f}body.light-theme .modal{box-shadow:var(--shadow-xl)}.scoring-screen{overscroll-behavior:none;background:radial-gradient(circle at center, var(--felt-light) 0%, var(--felt-dark) 100%);width:100vw;height:100dvh;color:var(--text-primary);font-family:var(--font-ui);flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden}.scoring-screen:before{content:"";opacity:0;pointer-events:none;z-index:1;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='felt'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='1.2' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23felt)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:256px 256px;position:absolute;inset:0}.scoring-topbar{background:var(--bg-topbar);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--felt-border);padding:10px 20px;padding-top:max(10px, env(safe-area-inset-top));padding-left:max(20px, env(safe-area-inset-left));padding-right:max(20px, env(safe-area-inset-right));z-index:100;flex-shrink:0;justify-content:space-between;align-items:center;display:flex;position:relative}.scoring-topbar-left{align-items:center;gap:var(--space-md);display:flex}.frame-pill{color:var(--accent-sage-light);text-transform:uppercase;letter-spacing:.03em;background:#a4d8ff26;border:1px solid #a4d8ff40;border-radius:100px;padding:4px 12px;font-size:.75rem;font-weight:700}.session-name-wrapper{flex-direction:column;display:flex}.session-title{font-weight:700;font-size:var(--text-sm);color:var(--text-primary);line-height:1.2}.sync-status{color:var(--text-muted);align-items:center;gap:4px;margin-top:2px;font-size:10px;display:flex}.sync-dot{background:var(--accent-sage);width:5px;height:5px;box-shadow:0 0 6px var(--accent-sage);border-radius:50%;display:inline-block}.scoring-topbar-center{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-secondary);align-items:center;display:flex}.scoring-topbar-right{align-items:center;gap:var(--space-sm);display:flex}.btn-topbar-icon{background:var(--bg-card-solid);border:1px solid var(--border-color);color:var(--text-secondary);border-radius:var(--radius-sm);cursor:pointer;width:40px;height:40px;transition:all var(--transition-fast);font-size:var(--text-sm);box-shadow:0 1px 2px var(--shadow-color);justify-content:center;align-items:center;display:flex}.btn-topbar-icon:hover{background:var(--bg-secondary);border-color:var(--accent-sage);color:var(--accent-sage-dark)}.btn-end-frame{background:var(--bg-card-solid);border:1px solid var(--border-color);color:var(--text-secondary);padding:0 var(--space-md);border-radius:var(--radius-sm);height:40px;font-size:var(--text-xs);cursor:pointer;transition:all var(--transition-fast);box-shadow:0 1px 2px var(--shadow-color);font-weight:600}.btn-end-frame:hover{background:var(--bg-secondary);border-color:var(--accent-sage);color:var(--accent-sage-dark)}.scoring-multiplayer-container{z-index:2;flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.multiplayer-players-list{gap:var(--space-md);padding:var(--space-md);padding-left:max(var(--space-md), env(safe-area-inset-left));padding-right:max(var(--space-md), env(safe-area-inset-right));scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;flex-wrap:nowrap;justify-content:center;width:100%;display:flex;overflow-x:auto}.player-panel-horizontal{background:var(--felt-card);-webkit-backdrop-filter:blur(16px);border:1px solid var(--felt-border);border-radius:var(--radius-md);padding:var(--space-md);min-width:240px;max-width:320px;transition:all var(--transition-normal) cubic-bezier(.4, 0, .2, 1);scroll-snap-align:start;flex-direction:column;flex:1;justify-content:space-between;display:flex;position:relative;box-shadow:0 12px 32px #00000080}.player-panel-horizontal.active{border-color:var(--accent-sage);background:var(--gradient-active-card);transform:scale(1.02);box-shadow:0 16px 44px #000000a6,0 0 24px #a4d8ff2e}.player-card-top{justify-content:space-between;align-items:center;width:100%;display:flex}.player-card-meta-left{align-items:center;gap:var(--space-xs);flex:1;display:flex;overflow:hidden}.player-avatar-circle{width:28px;height:28px;color:var(--text-secondary);font-size:var(--text-xs);background:#ffffff1a;border:1px solid #ffffff0d;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.player-panel-horizontal.active .player-avatar-circle{background:var(--accent-sage);color:var(--on-accent);border-color:var(--accent-sage-light);box-shadow:0 0 10px #a4d8ff59}.player-avatar-circle.team-avatar{color:var(--accent-lavender-light);background:#8b5cf626;border-color:#8b5cf633}.player-panel-horizontal.active .player-avatar-circle.team-avatar{background:var(--accent-sage);color:var(--on-accent);border-color:var(--accent-sage-light)}.player-card-name-wrapper{margin:0 var(--space-xs);flex:1;align-items:center;gap:6px;display:flex;overflow:hidden}.player-card-name{font-size:var(--text-sm);color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-weight:700;overflow:hidden}.player-panel-horizontal.active .player-card-name{color:var(--text-primary)}.player-team-active-member{color:var(--text-muted);white-space:nowrap;font-size:10px}.glowing-active-dot{background:var(--accent-sage);width:6px;height:6px;box-shadow:0 0 8px var(--accent-sage);border-radius:50%;flex-shrink:0;animation:2s ease-in-out infinite pulse;display:inline-block}.breaker-badge{color:var(--text-secondary);background:#0000004d;border:1px solid #ffffff1a;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;margin-left:2px;font-size:9px;font-weight:800;display:inline-flex}.player-panel-horizontal.active .breaker-badge{background:var(--accent-sage);border-color:var(--accent-sage-light);color:var(--on-accent);box-shadow:0 0 8px #a4d8ff59}.player-card-wins{color:var(--text-secondary);font-size:var(--text-xs);border:1px solid var(--felt-border);background:#0003;border-radius:4px;flex-shrink:0;padding:2px 8px;font-weight:600}.player-card-middle{align-items:center;gap:var(--space-md);margin:var(--space-md) 0;justify-content:flex-start;display:flex}.player-score-pill{border-radius:var(--radius-md);width:52px;height:70px;font-size:var(--text-4xl);font-weight:800;font-family:var(--font-mono);color:var(--text-secondary);transition:all var(--transition-normal);background:#0006;border:1.5px solid #ffffff1a;justify-content:center;align-items:center;display:flex;box-shadow:inset 0 3px 8px #0009}.player-panel-horizontal.active .player-score-pill{border-color:var(--accent-sage-light);color:var(--accent-sage-light);background:#0000008c;box-shadow:inset 0 3px 8px #000000b3,0 0 12px #a4d8ff40}.player-break-badge{border:1px solid var(--felt-border);color:var(--text-secondary);font-size:var(--text-xs);border-radius:var(--radius-sm);font-weight:600;font-family:var(--font-mono);background:#0003;padding:4px 10px}.player-panel-horizontal.active .player-break-badge{color:var(--accent-sage-light);background:#a4d8ff14;border-color:#a4d8ff4d}.player-card-bottom{font-size:var(--text-xs);color:var(--text-muted);padding-top:var(--space-xs);border-top:1px solid #ffffff0d;justify-content:space-between;align-items:center;display:flex}.player-panel-horizontal.active .player-card-bottom{color:var(--text-secondary)}.player-card-timer{font-family:var(--font-mono)}.player-card-visit{font-family:var(--font-mono);color:var(--accent-sage-light);font-weight:600}.scoring-status-bar{background:var(--bg-status-bar);border:1px solid var(--border-color);border-radius:var(--radius-md);margin:0 var(--space-lg) var(--space-sm);font-size:var(--text-xs);color:var(--text-secondary);z-index:10;flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 20px;display:flex;position:relative}.status-bar-item{align-items:center;gap:6px;display:flex}.status-bar-label{color:var(--text-muted);letter-spacing:.05em;font-weight:700}.status-bar-value{font-weight:700;font-family:var(--font-mono)}.status-bar-value.highlight-red{color:#e53935}.status-bar-value.highlight-green{color:#39d38d}.status-bar-value.highlight-yellow{color:#fdd835}.status-bar-value.highlight-white{color:#fff;font-family:var(--font-ui)}.active-match-pill{color:#39d38d;letter-spacing:.05em;text-transform:uppercase;background:#2f6e9e1a;border:1px solid #2f6e9e26;border-radius:4px;padding:2px 8px;font-size:9px;font-weight:700}.on-ball-indicator-wrapper{align-items:center;gap:6px;display:inline-flex}.tiny-ball-sphere{border-radius:50%;width:10px;height:10px;display:inline-block;box-shadow:inset -1px -1px 2px #0006,0 1px 2px #0000004d}.tiny-ball-sphere.ball-red{background:radial-gradient(circle at 35% 35%,#ef5350 0%,#b71c1c 100%)}.tiny-ball-sphere.ball-yellow{background:radial-gradient(circle at 35% 35%,#ffee58 0%,#f9a825 100%)}.tiny-ball-sphere.ball-green{background:radial-gradient(circle at 35% 35%,#66bb6a 0%,#1b5e20 100%)}.tiny-ball-sphere.ball-brown{background:radial-gradient(circle at 35% 35%,#8d6e63 0%,#3e2723 100%)}.tiny-ball-sphere.ball-blue{background:radial-gradient(circle at 35% 35%,#42a5f5 0%,#0d47a1 100%)}.tiny-ball-sphere.ball-pink{background:radial-gradient(circle at 35% 35%,#f06292 0%,#ad1457 100%)}.tiny-ball-sphere.ball-black{background:radial-gradient(circle at 35% 35%,#616161 0%,#000 100%)}.on-ball-text{font-weight:700;font-size:var(--text-xs);letter-spacing:.03em}.on-ball-text.text-red{color:#e53935}.on-ball-text.text-yellow{color:#fdd835}.on-ball-text.text-green{color:#43a047}.on-ball-text.text-brown{color:#6d4c41}.on-ball-text.text-blue{color:#1e88e5}.on-ball-text.text-pink{color:#d81b60}.on-ball-text.text-black{color:#fff}.on-ball-text-label{letter-spacing:.05em;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:700}.on-ball-text-label.free-ball{color:#42a5f5;background:#1e88e526}.on-ball-text-label.color-any{background:var(--border-color);color:#fff}.scoring-controls-center{padding:0 var(--space-lg);padding-left:max(var(--space-lg), env(safe-area-inset-left));padding-right:max(var(--space-lg), env(safe-area-inset-right));padding-bottom:env(safe-area-inset-bottom);z-index:10;flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:0;display:flex;position:relative}.scoring-ball-cards-row{gap:var(--space-md);width:100%;max-width:900px;margin:0 auto var(--space-md);grid-template-columns:repeat(7,1fr);display:grid}.scoring-ball-card{-webkit-backdrop-filter:blur(12px);border-radius:var(--radius-md);padding:var(--space-md) var(--space-xs);cursor:pointer;transition:all var(--transition-bounce);background:#12161c8c;border:1.5px solid #ffffff0d;flex-direction:column;justify-content:center;align-items:center;min-height:84px;display:flex;position:relative;box-shadow:0 4px 12px #0003}.scoring-ball-card.ball-red:not(.dimmed){background:linear-gradient(135deg, #f87171, var(--ball-red));border-color:#ffffff26}.scoring-ball-card.ball-yellow:not(.dimmed){background:linear-gradient(135deg, #fef08a, var(--ball-yellow));border-color:#0000001a}.scoring-ball-card.ball-green:not(.dimmed){background:linear-gradient(135deg, #4ade80, var(--ball-green));border-color:#ffffff26}.scoring-ball-card.ball-brown:not(.dimmed){background:linear-gradient(135deg, #d97706, var(--ball-brown));border-color:#ffffff26}.scoring-ball-card.ball-blue:not(.dimmed){background:linear-gradient(135deg, #60a5fa, var(--ball-blue));border-color:#ffffff26}.scoring-ball-card.ball-pink:not(.dimmed){background:linear-gradient(135deg, #f472b6, var(--ball-pink));border-color:#ffffff26}.scoring-ball-card.ball-black:not(.dimmed){background:linear-gradient(135deg, #334155, var(--ball-black));border-color:#ffffff40}.ball-card-name,.ball-card-points{transition:color var(--transition-fast)}.scoring-ball-card.ball-red:not(.dimmed) .ball-card-name{color:#fffc}.scoring-ball-card.ball-red:not(.dimmed) .ball-card-points{color:#fff}.scoring-ball-card.ball-yellow:not(.dimmed) .ball-card-name{color:#0f172abf}.scoring-ball-card.ball-yellow:not(.dimmed) .ball-card-points{color:#0f172a}.scoring-ball-card.ball-green:not(.dimmed) .ball-card-name{color:#fffc}.scoring-ball-card.ball-green:not(.dimmed) .ball-card-points{color:#fff}.scoring-ball-card.ball-brown:not(.dimmed) .ball-card-name{color:#fffc}.scoring-ball-card.ball-brown:not(.dimmed) .ball-card-points{color:#fff}.scoring-ball-card.ball-blue:not(.dimmed) .ball-card-name{color:#fffc}.scoring-ball-card.ball-blue:not(.dimmed) .ball-card-points{color:#fff}.scoring-ball-card.ball-pink:not(.dimmed) .ball-card-name{color:#fffc}.scoring-ball-card.ball-pink:not(.dimmed) .ball-card-points{color:#fff}.scoring-ball-card.ball-black:not(.dimmed) .ball-card-name{color:#ffffffa6}.scoring-ball-card.ball-black:not(.dimmed) .ball-card-points{color:#fff}.scoring-ball-card.dimmed{opacity:.15;cursor:not-allowed;filter:grayscale(.85);background:var(--bg-secondary)!important;border-color:var(--border-color-dim)!important}.scoring-ball-card.dimmed .ball-card-name,.scoring-ball-card.dimmed .ball-card-points{color:var(--text-muted)!important}.scoring-ball-card:hover:not(.dimmed){transform:translateY(-2px);box-shadow:0 8px 20px #0006}.ball-card-name{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:10px;font-weight:700}.ball-card-points{font-family:var(--font-mono);font-size:var(--text-base);color:var(--text-secondary);margin-top:4px;font-weight:700}.ball-card-red-count{background:var(--ball-red);color:#fff;font-size:9px;font-weight:700;font-family:var(--font-mono);border:1px solid #fff3;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;display:flex;position:absolute;top:-6px;right:-6px;box-shadow:0 4px 10px #ef444466}.scoring-ball-card.expected{z-index:5;transform:scale(1.08)translateY(-4px)!important}.scoring-ball-card.ball-red.expected{border-width:2.5px!important;border-color:#fff!important;box-shadow:0 0 24px #ef4444d9,0 8px 20px #00000080!important}.scoring-ball-card.ball-yellow.expected{border-width:2.5px!important;border-color:#0f172a!important;box-shadow:0 0 24px #eab308d9,0 8px 20px #00000080!important}.scoring-ball-card.ball-green.expected{border-width:2.5px!important;border-color:#fff!important;box-shadow:0 0 24px #22c55ed9,0 8px 20px #00000080!important}.scoring-ball-card.ball-brown.expected{border-width:2.5px!important;border-color:#fff!important;box-shadow:0 0 24px #a16207d9,0 8px 20px #00000080!important}.scoring-ball-card.ball-blue.expected{border-width:2.5px!important;border-color:#fff!important;box-shadow:0 0 24px #7cc1f0d9,0 8px 20px #00000080!important}.scoring-ball-card.ball-pink.expected{border-width:2.5px!important;border-color:#fff!important;box-shadow:0 0 24px #ec4899d9,0 8px 20px #00000080!important}.scoring-ball-card.ball-black.expected{border-width:2.5px!important;border-color:#fff!important;box-shadow:0 0 24px #ffffffd9,0 8px 20px #00000080!important}.action-buttons-row-premium{gap:var(--space-md);width:100%;max-width:900px;margin:0 auto var(--space-sm);grid-template-columns:1fr 1.5fr 1.5fr;align-items:center;display:grid}.btn-action-premium{border-radius:var(--radius-md);padding:var(--space-md);font-weight:700;font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-fast) cubic-bezier(.4, 0, .2, 1);color:#fff;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;min-height:52px;display:flex}.btn-action-premium:disabled{opacity:.3;cursor:not-allowed;background:var(--bg-ball-card)!important;border-color:var(--border-color-dim)!important;color:var(--text-muted)!important;box-shadow:none!important;transform:none!important}.btn-action-undo{background:var(--bg-btn-secondary);border-color:var(--border-color);color:var(--text-secondary)}.btn-action-undo:hover:not(:disabled){border-color:var(--accent-sage);background:var(--bg-secondary);color:var(--accent-sage-dark);transform:translateY(-1px)}.btn-action-foul{background:var(--gradient-danger);color:#fff;min-height:64px;font-size:var(--text-base);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-lg);border-color:#e53935}.btn-action-foul:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 0 20px #e5393559}.btn-action-pass{background:var(--gradient-success);color:#fff;min-height:64px;font-size:var(--text-base);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-lg);border-color:#05b064}.btn-action-pass:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px);box-shadow:0 0 20px #2f6e9e59}.btn-action-premium:active:not(:disabled){transform:translateY(0)!important}.reset-frame-container{text-align:center}.btn-reset-frame{color:#e53935b3;font-size:var(--text-xs);cursor:pointer;transition:all var(--transition-fast);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);background:0 0;border:none;font-weight:600}.btn-reset-frame:hover{color:#e53935;background:#e5393514}.foul-dialog-card{background:var(--bg-dialog);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:var(--space-xl);width:90vw;max-width:440px;box-shadow:0 20px 50px var(--shadow-color);animation:scaleIn var(--transition-normal) ease-out}.foul-dialog-header{border-bottom:1px solid var(--border-color);padding-bottom:var(--space-sm);margin-bottom:var(--space-md);justify-content:space-between;align-items:center;display:flex}.foul-dialog-title{font-size:var(--text-base);color:var(--text-primary);font-weight:700}.foul-dialog-close-btn{color:var(--text-secondary);font-size:var(--text-base);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none}.foul-dialog-close-btn:hover{color:var(--text-primary)}.foul-dialog-content{gap:var(--space-lg);flex-direction:column;display:flex}.foul-dialog-section{flex-direction:column;display:flex}.foul-dialog-section-label{letter-spacing:.05em;color:var(--text-muted);margin-bottom:var(--space-sm);text-transform:uppercase;font-size:10px;font-weight:700}.foul-balls-row{gap:var(--space-xs);grid-template-columns:repeat(4,1fr);display:grid}.foul-ball-btn{background:var(--bg-btn-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);flex-direction:column;justify-content:center;align-items:center;padding:10px 4px;display:flex}.foul-ball-btn:hover:not(.selected){background:#24282c;border-color:#ffffff1a}.ball-btn-name{color:var(--text-secondary);font-size:10px;font-weight:700}.ball-btn-points{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-muted);margin-top:2px;font-weight:700}.foul-ball-btn.selected{background:#e539350d}.foul-ball-btn.ball-red.selected{border-color:#e53935}.foul-ball-btn.ball-yellow.selected{border-color:#fdd835}.foul-ball-btn.ball-green.selected{border-color:#43a047}.foul-ball-btn.ball-brown.selected{border-color:#6d4c41}.foul-ball-btn.ball-blue.selected{border-color:#1e88e5}.foul-ball-btn.ball-pink.selected{border-color:#d81b60}.foul-ball-btn.ball-black.selected{border-color:#fff}.foul-ball-btn.selected .ball-btn-name{color:var(--text-primary)}.foul-ball-btn.selected .ball-btn-points{color:#ef9a9a}.foul-penalties-row{gap:var(--space-sm);grid-template-columns:repeat(4,1fr);display:grid}.foul-penalty-btn{background:var(--bg-btn-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:var(--space-sm);font-size:var(--text-xs);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);text-align:center;font-weight:600}.foul-penalty-btn:hover:not(.selected){background:#24282c;border-color:#ffffff1a}.foul-penalty-btn.selected{color:#ef9a9a;background:#e539350f;border-color:#e53935;box-shadow:0 0 10px #e5393526}.foul-checkbox-label{align-items:center;gap:var(--space-sm);cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid var(--border-color-dim);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);transition:all var(--transition-fast);background:#ffffff03;display:flex}.foul-checkbox-label:hover{border-color:var(--border-color);background:#ffffff05}.foul-checkbox{accent-color:var(--error);cursor:pointer;flex-shrink:0;width:20px;height:20px}.foul-checkbox-text{font-size:var(--text-xs);color:var(--text-secondary)}.foul-dialog-footer{justify-content:flex-end;gap:var(--space-md);border-top:1px solid var(--border-color);padding-top:var(--space-md);margin-top:var(--space-md);display:flex}.btn-foul-cancel{color:var(--text-secondary);border-radius:var(--radius-sm);font-size:var(--text-xs);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:1px solid #ffffff1f;padding:8px 20px;font-weight:600}.btn-foul-cancel:hover{color:var(--text-primary);background:#ffffff05;border-color:#ffffff40}.btn-foul-confirm{background:var(--gradient-danger);color:#fff;border-radius:var(--radius-sm);font-size:var(--text-xs);cursor:pointer;transition:all var(--transition-fast);border:none;padding:8px 24px;font-weight:600;box-shadow:0 4px 12px #e5393533}.btn-foul-confirm:hover{background:#ef5350;transform:translateY(-1px);box-shadow:0 6px 16px #e5393559}.orientation-banner{z-index:var(--z-orientation);-webkit-backdrop-filter:blur(12px);animation:slideInUp var(--transition-normal) ease-out;background:#0f172ae0;border-top:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:10px 20px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 20px #0000004d}.orientation-banner-content{align-items:center;gap:10px;display:flex}.orientation-banner-icon{font-size:20px;animation:2s ease-in-out infinite bounce}.orientation-banner-text{font-size:var(--text-xs);color:#ffffffd9;font-weight:500}.orientation-banner-dismiss{color:#ffffffb3;border-radius:var(--radius-sm);cursor:pointer;width:28px;height:28px;transition:all var(--transition-fast);background:#ffffff1a;border:1px solid #ffffff26;flex-shrink:0;justify-content:center;align-items:center;display:flex}.orientation-banner-dismiss:hover{color:#fff;background:#fff3}@media (orientation:landscape){.orientation-banner{display:none}}.player-card-fouls{color:#ef4444;margin-left:6px;font-weight:700}.prev-frames-modal{background:var(--bg-card-solid);border:1px solid var(--border-color);border-radius:var(--radius-xl);width:90vw;max-width:520px;max-height:80vh;box-shadow:var(--shadow-xl);animation:scaleIn var(--transition-normal) ease-out;z-index:var(--z-modal);flex-direction:column;display:flex;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.prev-frames-header{padding:var(--space-md) var(--space-lg);border-bottom:1px solid var(--border-color);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.prev-frames-title{font-size:var(--text-base);color:var(--text-primary);margin:0;font-weight:700}.prev-frames-close-btn{color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:4px;display:flex}.prev-frames-close-btn:hover{color:var(--text-primary);background:var(--bg-secondary)}.prev-frames-content{padding:var(--space-md) var(--space-lg);flex:1;overflow-y:auto}.prev-frames-empty{padding:var(--space-2xl) var(--space-lg);text-align:center;flex-direction:column;justify-content:center;align-items:center;display:flex}.prev-frames-empty-icon{margin-bottom:var(--space-md);opacity:.4;font-size:36px}.prev-frames-empty-text{font-size:var(--text-sm);color:var(--text-secondary);margin:0 0 var(--space-xs);font-weight:600}.prev-frames-empty-subtext{font-size:var(--text-xs);color:var(--text-muted);margin:0}.prev-frames-list{gap:var(--space-md);flex-direction:column;display:flex}.prev-frame-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden}.prev-frame-header{padding:var(--space-sm) var(--space-md);background:var(--bg-btn-secondary);border-bottom:1px solid var(--border-color-dim);justify-content:space-between;align-items:center;display:flex}.prev-frame-number{font-size:var(--text-xs);color:var(--text-primary);text-transform:uppercase;letter-spacing:.04em;font-weight:700}.prev-frame-header-right{align-items:center;gap:var(--space-sm);display:flex}.prev-frame-duration{font-family:var(--font-mono);color:var(--text-muted);font-size:10px}.prev-frame-winner-badge{color:var(--accent-sage);background:#a4d8ff14;border:1px solid #a4d8ff26;border-radius:100px;padding:2px 8px;font-size:10px;font-weight:700}body.light-theme .prev-frame-winner-badge{color:var(--accent-sage);background:#2f6e9e14;border-color:#2f6e9e26}.prev-frame-players{padding:var(--space-sm) var(--space-md);gap:var(--space-xs);flex-direction:column;display:flex}.prev-frame-player-row{padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);transition:background var(--transition-fast);justify-content:space-between;align-items:center;display:flex}.prev-frame-player-row.winner{background:#a4d8ff0f}body.light-theme .prev-frame-player-row.winner{background:#2f6e9e0d}.prev-frame-player-name-area{align-items:center;gap:var(--space-sm);flex:1;min-width:0;display:flex}.prev-frame-player-avatar{width:24px;height:24px;color:var(--text-secondary);background:#ffffff1a;border:1px solid #ffffff0d;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:flex}body.light-theme .prev-frame-player-avatar{background:var(--bg-btn-secondary);border-color:var(--border-color);color:var(--text-secondary)}.prev-frame-player-name{font-size:var(--text-xs);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.prev-frame-winner-icon{color:var(--accent-sage);margin-left:4px;font-size:10px}.prev-frame-player-stats{gap:var(--space-md);display:flex}.prev-frame-stat{flex-direction:column;align-items:center;min-width:42px;display:flex}.prev-frame-stat-value{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-primary);font-weight:700}.prev-frame-stat-value.prev-frame-fouls-val{color:#ef4444}.prev-frame-stat-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;font-size:9px}.summary-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:var(--z-modal-backdrop);padding:var(--space-lg);animation:fadeIn var(--transition-normal);background:#000000b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.summary-card{background:var(--bg-card-solid);border-radius:var(--radius-xl);padding:var(--space-xl);width:100%;max-width:500px;max-height:85vh;color:var(--text-primary);animation:scaleIn var(--transition-normal) ease-out;border:1px solid var(--border-color);overflow-y:auto}.summary-winner{text-align:center;margin-bottom:var(--space-lg)}.summary-winner-name{font-size:var(--text-3xl);color:var(--accent-sage);letter-spacing:-.02em;font-weight:800}.summary-winner-label{font-size:var(--text-sm);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.1em;margin-top:var(--space-xs)}.summary-scores{justify-content:center;align-items:center;gap:var(--space-xl);margin:var(--space-lg) 0;display:flex}.summary-player-score{text-align:center}.summary-player-score .summary-score-val{font-family:var(--font-mono);font-size:var(--text-4xl);color:var(--text-primary);font-weight:700}.summary-player-score .summary-score-name{font-size:var(--text-sm);color:var(--text-secondary);display:block}.summary-vs{font-size:var(--text-lg);color:var(--text-muted);font-weight:700}.summary-stats-title{font-size:var(--text-sm);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;font-weight:700}.summary-stats{gap:var(--space-sm);margin:var(--space-lg) 0;grid-template-columns:1fr 1fr;display:grid}.summary-stat{background:var(--bg-secondary);border-radius:var(--radius-md);padding:var(--space-md);text-align:center}.summary-stat-value{font-family:var(--font-mono);font-size:var(--text-xl);color:var(--text-primary);font-weight:700}.summary-stat-label{font-size:var(--text-xs);color:var(--text-secondary);margin-top:var(--space-xs)}.confetti-container{pointer-events:none;z-index:var(--z-toast);position:fixed;inset:0;overflow:hidden}.confetti-piece{border-radius:2px;width:8px;height:8px;animation:3s ease-out forwards confetti-fall;position:absolute}@media (orientation:landscape) and (height<=500px){.scoring-topbar{padding:6px 16px}.multiplayer-players-list{padding:var(--space-sm) var(--space-md)}.player-panel-horizontal{padding:var(--space-sm) var(--space-md);min-width:200px}.player-card-score{font-size:var(--text-2xl);margin:2px 0}.scoring-status-bar{margin:0 var(--space-md) var(--space-xs);padding:6px 12px}.scoring-ball-cards-row{gap:var(--space-sm);margin-bottom:var(--space-xs)}.scoring-ball-card{min-height:60px;padding:var(--space-sm) var(--space-xs)}.action-buttons-row-premium{gap:var(--space-sm)}.btn-action-premium{padding:var(--space-sm);font-size:var(--text-xs)}.reset-frame-container{margin-top:0}}body.light-theme .scoring-topbar{border-bottom-color:var(--border-color);box-shadow:0 1px 3px #0000000f}body.light-theme .frame-pill{color:var(--accent-sage);background:#2f6e9e14;border-color:#2f6e9e2e}body.light-theme .player-panel-horizontal{border-color:var(--border-color);background:#ffffffeb;box-shadow:0 2px 8px #0000000f,0 1px 2px #0000000a}body.light-theme .player-panel-horizontal.active{border-color:var(--accent-sage);background:#2f6e9e0a;box-shadow:0 4px 16px #2f6e9e1f,0 1px 3px #0000000f}body.light-theme .player-avatar-circle{background:var(--bg-secondary);border-color:var(--border-color);color:var(--text-secondary)}body.light-theme .player-panel-horizontal.active .player-avatar-circle{background:var(--accent-sage);border-color:var(--accent-sage-light);box-shadow:0 0 8px #2f6e9e40}body.light-theme .breaker-badge{background:var(--bg-secondary);border-color:var(--border-color);color:var(--text-secondary)}body.light-theme .player-panel-horizontal.active .breaker-badge{background:var(--accent-sage);border-color:var(--accent-sage-light);box-shadow:0 0 6px #2f6e9e40}body.light-theme .player-card-wins{background:var(--bg-secondary);border-color:var(--border-color);color:var(--text-secondary)}body.light-theme .player-score-pill{background:var(--bg-secondary);border-color:var(--border-color);color:var(--text-primary);box-shadow:inset 0 1px 3px #0000000d}body.light-theme .player-panel-horizontal.active .player-score-pill{border-color:var(--accent-sage);color:var(--accent-sage);background:#2f6e9e0a;box-shadow:inset 0 1px 3px #0000000d,0 0 8px #2f6e9e1f}body.light-theme .player-break-badge{background:var(--bg-secondary);border-color:var(--border-color);color:var(--text-secondary)}body.light-theme .player-panel-horizontal.active .player-break-badge{color:var(--accent-sage);background:#2f6e9e0d;border-color:#2f6e9e33}body.light-theme .player-card-bottom{border-top-color:var(--border-color-dim);color:var(--text-muted)}body.light-theme .player-card-visit{color:var(--accent-sage)}body.light-theme .glowing-active-dot{background:var(--accent-sage);box-shadow:0 0 8px var(--accent-sage)}body.light-theme .scoring-status-bar{border-color:var(--border-color);background:#fff;box-shadow:0 1px 3px #0000000a}body.light-theme .status-bar-value.highlight-white{color:var(--text-primary)}body.light-theme .active-match-pill{color:var(--accent-sage);background:#2f6e9e0f;border-color:#2f6e9e1f}body.light-theme .on-ball-text-label.color-any{background:var(--bg-secondary);color:var(--text-primary)}body.light-theme .scoring-ball-card.dimmed{opacity:.35;background:var(--bg-secondary)!important}body.light-theme .btn-action-undo{border-color:var(--border-color);color:var(--text-secondary);background:#fff;box-shadow:0 1px 3px #0000000f}body.light-theme .btn-action-undo:hover:not(:disabled){border-color:var(--accent-sage);color:var(--accent-sage);background:#2f6e9e0a}body.light-theme .btn-action-premium:disabled{background:var(--bg-secondary)!important;border-color:var(--border-color-dim)!important;color:var(--text-muted)!important}body.light-theme .btn-reset-frame{color:#dc262699}body.light-theme .btn-reset-frame:hover{color:#dc2626;background:#dc26260f}body.light-theme .foul-dialog-card{box-shadow:var(--shadow-xl)}body.light-theme .foul-ball-btn:hover:not(.selected),body.light-theme .foul-penalty-btn:hover:not(.selected){background:var(--bg-secondary);border-color:var(--border-color)}body.light-theme .foul-checkbox-label{border-color:var(--border-color-dim);background:#00000003}body.light-theme .foul-checkbox-label:hover{border-color:var(--border-color);background:#00000005}body.light-theme .btn-foul-cancel{border-color:var(--border-color);color:var(--text-secondary)}body.light-theme .btn-foul-cancel:hover{border-color:var(--text-muted);color:var(--text-primary);background:var(--bg-secondary)}body.light-theme .summary-overlay{background:#0f172a66}body.light-theme .summary-card,body.light-theme .menu-overlay-card{box-shadow:var(--shadow-xl)}body.light-theme .sync-dot{background:var(--accent-sage);box-shadow:0 0 6px var(--accent-sage)}body.light-theme .btn-topbar-icon{border-color:var(--border-color);color:var(--text-secondary);background:#fff;box-shadow:0 1px 2px #0000000a}body.light-theme .btn-topbar-icon:hover{background:var(--bg-secondary);border-color:var(--accent-sage);color:var(--accent-sage)}body.light-theme .btn-topbar-icon:disabled{opacity:.4;cursor:not-allowed}body.light-theme .btn-end-frame{border-color:var(--border-color);color:var(--text-secondary);background:#fff;box-shadow:0 1px 2px #0000000a}body.light-theme .btn-end-frame:hover{background:var(--bg-secondary);border-color:var(--accent-sage);color:var(--accent-sage)}body.light-theme .orientation-banner{border-top-color:var(--border-color);background:#ffffffeb;box-shadow:0 -4px 16px #00000014}body.light-theme .orientation-banner-text{color:var(--text-secondary)}body.light-theme .orientation-banner-dismiss{background:var(--bg-secondary);border-color:var(--border-color);color:var(--text-muted)}body.light-theme .orientation-banner-dismiss:hover{background:var(--bg-btn-secondary);color:var(--text-primary)}.active-match-pill.paused{color:#f59e0b;background:#f59e0b1a;border-color:#f59e0b2e}.btn-topbar-icon.active-pause{box-shadow:0 0 10px #f59e0b26;color:#f59e0b!important;background:#f59e0b14!important;border-color:#f59e0b!important}body.light-theme .btn-topbar-icon.active-pause{background:#f59e0b14!important}.summary-card{flex-direction:column;max-height:min(88dvh,640px);display:flex;overflow:hidden}.summary-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:auto;min-height:0;overflow-y:auto}.summary-clinched{margin:0 0 var(--space-sm);font-size:var(--text-sm);text-align:center;color:var(--text-secondary)}.summary-actions{padding-top:var(--space-md);margin-top:var(--space-sm);border-top:1px solid var(--border-color-dim);background:var(--bg-card,var(--bg-elevated));padding-bottom:env(safe-area-inset-bottom,0px);flex:none;position:sticky;bottom:0}.summary-stat--milestone .summary-stat-value{color:var(--accent-sage)}.wall-clock{-webkit-user-select:none;user-select:none;flex-direction:column;align-items:center;line-height:1.1;display:flex}.wall-clock-now{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-primary);font-size:15px;font-weight:700}.wall-clock-since{font-variant-numeric:tabular-nums;color:var(--text-muted);align-items:center;gap:3px;margin-top:1px;font-size:10px;font-weight:600;display:inline-flex}.century-screen{overscroll-behavior:none;padding:calc(env(safe-area-inset-top,0px) + 10px) calc(env(safe-area-inset-right,0px) + 14px) calc(env(safe-area-inset-bottom,0px) + 10px) calc(env(safe-area-inset-left,0px) + 14px);background:radial-gradient(circle at center, var(--felt-light) 0%, var(--felt-dark) 100%);color:var(--text-primary);font-family:var(--font-ui);grid-template-rows:auto auto minmax(0,1fr) auto auto;gap:10px;display:grid;position:fixed;inset:0;overflow:hidden}.century-topbar{justify-content:space-between;align-items:center;gap:var(--space-md);display:flex}.century-topbar-side{align-items:baseline;gap:6px;min-width:110px;display:flex}.century-topbar-right{justify-content:flex-end;align-items:center}.century-timeline-btn{border:1px solid var(--border-color);background:var(--bg-elevated,transparent);height:36px;color:var(--text-primary);font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:999px;align-items:center;gap:6px;padding:0 14px;font-size:14px;font-weight:600;display:inline-flex}.century-timeline-btn:active{transform:scale(.97)}.century-target{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--accent-sage);text-shadow:0 0 18px #a4d8ff59;font-size:22px;font-weight:800}.century-target-label{letter-spacing:.09em;text-transform:uppercase;color:var(--text-muted);font-size:10px;font-weight:700}.century-players{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;align-items:stretch;gap:10px;display:grid}.century-players .player-panel-horizontal{flex:initial;gap:6px;min-width:0;max-width:none;padding:10px 12px}.century-players .player-card-middle{align-items:center;gap:10px;display:flex}.century-players .player-score-pill{width:auto;min-width:64px;height:46px;padding:0 12px;font-size:28px}.century-players .player-card-middle{margin:4px 0 0}.player-panel-horizontal.century-done{opacity:.5}.century-done-badge{background:var(--accent-sage);color:var(--on-accent);border-radius:999px;flex:none;padding:2px 9px;font-size:11px;font-weight:800}.century-balls{gap:10px;max-width:none;min-height:0;margin:0}.century-balls .scoring-ball-card{min-height:0;padding:8px 4px}.century-flag{color:#fff;letter-spacing:.07em;background:#00000073;border-radius:999px;padding:1px 6px;font-size:8px;font-weight:800;position:absolute;top:5px;right:6px}.century-flag--stop{color:#ff8f8f;background:#0000009e}.century-actions{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;max-width:none;margin:0}.century-actions .btn-action-premium{white-space:nowrap;min-width:0}.btn-action-foul--soft{border:1.5px solid var(--ball-red,#ef4444);color:var(--ball-red,#ef4444);box-shadow:none;filter:none;background:0 0}.btn-action-foul--soft:hover:not(:disabled){box-shadow:none;background:#ef44441f}.century-hint{text-align:center;color:var(--text-muted);margin:0;font-size:12px;font-weight:600}.century-foul-card,.century-result-card{width:min(92vw,520px);max-height:86dvh;padding:var(--space-lg);border-radius:var(--radius-xl);background:var(--bg-card-solid,var(--bg-elevated));border:1px solid var(--border-color-dim);z-index:var(--z-modal,1000);position:relative;overflow-y:auto;box-shadow:0 24px 64px #00000080}.century-foul-title,.century-result-title{margin:0 0 var(--space-md);font-size:var(--text-xl);color:var(--text-primary);text-align:center;font-weight:800}.century-foul-balls{margin-bottom:var(--space-md);grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.century-foul-balls .scoring-ball-card{min-height:58px}.century-result-list{margin:0 0 var(--space-lg);flex-direction:column;gap:6px;padding:0;list-style:none;display:flex}.century-result-row{background:var(--bg-secondary);color:var(--text-primary);border-radius:12px;grid-template-columns:30px 1fr auto;align-items:center;gap:10px;padding:11px 13px;font-weight:600;display:grid}.century-result-actions{gap:var(--space-sm,8px);margin-top:var(--space-md,12px);grid-template-columns:1fr 1fr 1.4fr;display:grid}.century-result-actions .btn{justify-content:center;align-items:center;gap:6px;display:inline-flex}.century-result-row.loser{background:var(--danger-tint,#c0392b24);border:1px solid var(--danger);color:var(--danger)}.century-result-pos{font-family:var(--font-mono);color:var(--text-muted);font-weight:800}.century-result-score{font-family:var(--font-mono);font-variant-numeric:tabular-nums}@media (orientation:landscape) and (height<=430px){.century-screen{gap:7px}.century-players .player-panel-horizontal{padding:7px 10px}.century-players .player-score-pill{font-size:24px}.century-hint{display:none}}.summary-score-time{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-muted);margin-top:2px;font-size:12px;font-weight:600;display:block}@media (orientation:landscape) and (height<=500px){.summary-scroll{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);grid-template-areas:"winner winner""scores stats";align-items:center;gap:8px 18px;display:grid}.summary-winner{grid-area:winner;margin:0;font-size:20px;line-height:1.2}.summary-scores{grid-area:scores;margin:0}.summary-score-val{font-size:34px}.summary-stats-title{display:none}.summary-stats{grid-area:stats;margin:0}.summary-stat{padding:7px 6px}.summary-stat-value{font-size:18px}}.modal-backdrop.modal-centered{padding:max(12px, env(safe-area-inset-top,0px)) max(12px, env(safe-area-inset-right,0px)) max(12px, env(safe-area-inset-bottom,0px)) max(12px, env(safe-area-inset-left,0px));justify-content:center;align-items:center;display:flex;overflow-y:auto}.modal-centered>.foul-dialog-card,.modal-centered>.century-foul-card,.modal-centered>.century-result-card,.modal-centered>.menu-overlay-card,.modal-centered>.nf-card{overscroll-behavior:contain;max-height:calc(100dvh - 24px);margin:auto;overflow-y:auto}@media (height<=500px){.foul-dialog-card{padding:var(--space-md) var(--space-lg)}}.menu-overlay-card{width:min(92vw,420px);padding:var(--space-lg);border-radius:var(--radius-xl);background:var(--bg-dialog,var(--bg-card-solid));border:1px solid var(--border-color);animation:scaleIn var(--transition-normal) ease-out;flex-direction:column;display:flex;box-shadow:0 24px 64px #00000073}.menu-title{margin:0 0 var(--space-md);font-size:var(--text-lg);font-weight:700}.menu-options-list{gap:var(--space-sm);flex-direction:column;display:flex}.menu-options-list .btn{justify-content:center;width:100%;min-height:48px}.menu-overlay-card>.btn-ghost{min-height:44px}.nf-backdrop{z-index:9999}.nf-card{width:min(92vw,460px);padding:var(--space-lg);border-radius:var(--radius-xl);background:var(--bg-dialog,var(--bg-card-solid));border:1px solid var(--border-color);animation:scaleIn var(--transition-normal) ease-out;box-shadow:0 24px 64px #00000073}.nf-head{justify-content:space-between;align-items:flex-start;gap:var(--space-md);margin-bottom:var(--space-md);display:flex}.nf-title{font-size:var(--text-lg);color:var(--text-primary);margin:0;font-weight:700}.nf-sub{font-size:var(--text-sm);color:var(--text-secondary);margin:2px 0 0}.nf-close{width:44px;height:44px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:12px;flex:none;place-items:center;margin:-6px -6px 0 0;display:grid}.nf-close:hover{background:var(--bg-secondary);color:var(--text-primary)}.nf-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.nf-row{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:14px;align-items:stretch;gap:6px;display:flex}.nf-row.is-breaker{border-color:var(--accent-sage);background:color-mix(in srgb, var(--accent-sage) 12%, var(--bg-secondary))}.nf-pick{min-width:0;min-height:52px;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:14px;flex:1;align-items:center;gap:12px;padding:0 14px;display:flex}.nf-row.is-breaker .nf-pick{cursor:default}.nf-pos{background:var(--bg-btn-secondary,var(--bg-card-solid));width:26px;height:26px;color:var(--text-secondary);border-radius:50%;flex:none;place-items:center;font-size:13px;font-weight:700;display:grid}.nf-row.is-breaker .nf-pos{background:var(--accent-sage);color:var(--on-accent,#fff)}.nf-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:600;font-size:var(--text-base,1rem);color:var(--text-primary);flex:1;overflow:hidden}.nf-badge{background:var(--accent-sage);color:var(--on-accent,#fff);border-radius:999px;flex:none;align-items:center;gap:4px;padding:5px 10px;font-size:12px;font-weight:700;display:inline-flex}.nf-hint{color:var(--text-muted);flex:none;font-size:12px;font-weight:600}.nf-moves{flex:none;gap:4px;padding:4px;display:flex}.nf-move{border:1px solid var(--border-color);background:var(--bg-btn-secondary,var(--bg-card-solid));width:44px;height:44px;color:var(--text-primary);cursor:pointer;border-radius:10px;place-items:center;display:grid}.nf-move:disabled{opacity:.3;cursor:default}.nf-actions{gap:var(--space-sm);margin-top:var(--space-lg);display:flex}.nf-actions .btn{justify-content:center;min-height:48px}.nf-cancel{flex:1}.nf-start{flex:2;font-weight:700}.summary-scores.summary-scores--many{flex-direction:column;align-items:stretch;gap:6px;display:flex}.summary-scores--many .summary-vs{display:none}.summary-scores.summary-scores--many .summary-player-score{background:color-mix(in srgb, var(--text-primary) 6%, transparent);text-align:left;border-radius:12px;grid-template-columns:minmax(0,1fr) auto auto;grid-template-areas:"name time val";align-items:center;gap:12px;padding:6px 12px;display:grid}.summary-scores.summary-scores--many .summary-score-name{text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-sm);color:var(--text-primary);grid-area:name;font-weight:600;overflow:hidden}.summary-scores.summary-scores--many .summary-score-time{grid-area:time;margin:0}.summary-scores.summary-scores--many .summary-score-val{text-align:right;grid-area:val;min-width:2ch;font-size:24px;line-height:1.1}.scoring-screen>.theme-backdrop,.century-screen>.theme-backdrop{z-index:-1}.flog-backdrop{background:var(--scrim)}.flog{background:var(--bg-elevated);width:min(540px,100%);max-height:calc(100dvh - 24px);color:var(--label-primary);border:1px solid var(--separator);border-radius:var(--radius-xl);box-shadow:var(--shadow-3);font-family:var(--font-sans);animation:scaleIn var(--transition-normal) ease-out;overscroll-behavior:contain;flex-direction:column;margin:auto;padding:4px 22px 14px;display:flex}.flog-head{flex:none;align-items:center;gap:12px;min-height:52px;display:flex}.flog-title{letter-spacing:-.01em;flex:1;margin:0;font-size:17px;font-weight:700}.flog-meta{color:var(--label-secondary);white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:13px;overflow:hidden}.flog-close{width:44px;height:44px;color:var(--label-secondary);cursor:pointer;background:0 0;border:0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-right:-12px;display:flex}.flog-close:hover{color:var(--label-primary);background:var(--fill-quaternary)}.flog-row{grid-template-columns:88px minmax(0,1fr) 52px;align-items:center;column-gap:16px;display:grid}.flog-cols{border-bottom:1px solid var(--separator);letter-spacing:.1em;text-transform:uppercase;color:var(--label-tertiary);flex:none;padding-bottom:6px;font-size:10px;font-weight:600}.flog-cols-visit{padding-left:17px}.flog-cols-pts{text-align:right}.flog-list{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:auto;min-height:0;margin-right:-14px;padding-right:14px;position:relative;overflow-y:auto}.flog-list.is-scrolled{-webkit-mask-image:linear-gradient(#0000 0,#000 28px);mask-image:linear-gradient(#0000 0,#000 28px)}.flog-list>.flog-row{border-bottom:1px solid var(--separator);min-height:50px;padding:7px 0}.flog-list>.flog-row.is-end{min-height:42px}.flog-score,.flog-pts{font-family:var(--font-numeric);font-variant-numeric:tabular-nums;white-space:nowrap}.flog-score{color:var(--label-secondary);font-size:17px}.flog-score.is-quiet{color:var(--label-tertiary)}.flog-score .is-moved{color:var(--label-primary);font-weight:600}.flog-score .is-high,.flog-score.is-high{color:var(--accent);font-weight:600}.flog-pts{text-align:right;color:var(--label-secondary);font-size:14px}.flog-pts.is-high{color:var(--accent);font-weight:600}.flog-pts.is-foul{color:var(--danger)}.flog-visit{border-left:1px solid var(--separator);flex-direction:column;align-items:flex-start;gap:4px;min-width:0;padding-left:16px;display:flex}.flog-visit.is-high{border-left-color:var(--accent)}.flog-visit.is-foul{border-left-color:var(--danger)}.flog-visit.is-live{border-left:1px dashed var(--accent)}.flog-name{flex-wrap:wrap;align-items:baseline;column-gap:8px;font-size:14px;font-weight:600;line-height:1.25;display:flex}.flog-name.is-live{color:var(--accent)}.flog-team{color:var(--label-tertiary);font-size:12px;font-weight:500}.flog-tag{color:var(--accent);font-size:11px;font-weight:600}.flog-title-sep{color:var(--label-tertiary);font-weight:500}.flog-mark{color:var(--label-tertiary);align-items:center;gap:5px;font-size:12px;line-height:1.3;display:inline-flex}.flog-mark svg{flex-shrink:0}.flog-mark-toggle{border-radius:var(--radius-sm);min-height:30px;font:inherit;color:var(--label-secondary);cursor:pointer;background:0 0;border:0;margin:-6px 0 -6px -6px;padding:0 8px 0 6px;font-size:12px}.flog-mark-toggle:hover{background:var(--fill-quaternary)}.flog-line2{color:var(--label-secondary);font-size:12px;line-height:1.3}.flog-line2.is-foul{color:var(--danger)}.flog-row.is-end .flog-line2{font-size:13px}.flog-chips{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.flog-chip{width:11px;height:11px;box-shadow:inset 0 0 0 1px var(--separator);border-radius:50%;position:relative}.flog-chip.is-undone{opacity:.35}.flog-chip.is-undone:after{content:"";background:var(--label-primary);border-radius:1px;height:1.5px;margin-top:-.75px;position:absolute;top:50%;left:-2px;right:-2px;transform:rotate(-45deg)}.flog-chip.is-free{outline:1px dashed var(--label-secondary);outline-offset:1px}.flog-chip--red{background:var(--ball-red)}.flog-chip--yellow{background:var(--ball-yellow)}.flog-chip--green{background:var(--ball-green)}.flog-chip--brown{background:var(--ball-brown)}.flog-chip--blue{background:var(--ball-blue)}.flog-chip--pink{background:var(--ball-pink)}.flog-chip--black{background:radial-gradient(circle at 35% 30%, #ffffff59 0 18%, transparent 46%), var(--ball-black);box-shadow:inset 0 0 0 1px var(--label-tertiary)}.flog-chip-more{font-family:var(--font-numeric);color:var(--label-secondary);margin-left:2px;font-size:11px}@media (width<=420px){.flog{padding:4px 16px 12px}.flog-row{grid-template-columns:72px minmax(0,1fr) 44px;column-gap:12px}.flog-score{font-size:15px}}@media (prefers-reduced-motion:reduce){.flog{animation:none}}.modal-centered>.toss-card{max-height:calc(100dvh - 24px);margin:auto;overflow-y:auto}.toss-card{text-align:center;gap:var(--space-2)}.toss-eyebrow{justify-content:center;align-items:center;gap:var(--space-2);font-size:var(--type-footnote-size);letter-spacing:.06em;text-transform:uppercase;color:var(--label-secondary);font-weight:600;display:inline-flex}.toss-title{font-size:var(--type-title-2-size);line-height:var(--type-title-2-lh);font-weight:var(--type-title-2-weight);color:var(--label-primary);margin:0}.toss-sub{font-size:var(--type-subhead-size);line-height:var(--type-subhead-lh);color:var(--label-secondary);margin:0}.toss-names{margin:var(--space-3) 0;justify-content:center;gap:var(--space-2);flex-wrap:wrap;padding:0;list-style:none;display:flex}.toss-name{padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);background:var(--fill-quaternary);color:var(--label-primary);font-size:var(--type-headline-size);font-weight:var(--type-headline-weight);transition:background var(--transition-fast), color var(--transition-fast)}.toss-name.is-lit{background:var(--accent);color:var(--on-accent)}.toss-actions{align-items:stretch;gap:var(--space-2);margin-top:var(--space-3);flex-direction:column;display:flex}.toss-actions .sb-icon{margin-right:var(--space-1);vertical-align:-3px}@media (height<=500px){.toss-card{padding:var(--space-4) var(--space-5)}.toss-names{margin:var(--space-2) 0}}@media (prefers-reduced-motion:reduce){.toss-name{transition:none}}.landing-page{min-height:100dvh;padding:var(--space-xl);text-align:center;background:radial-gradient(circle at center, var(--felt-light) 0%, var(--felt-dark) 100%);flex-direction:column;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.landing-page:before{content:"";border-radius:var(--radius-xl);pointer-events:none;border:1px solid #a4d8ff1a;position:absolute;inset:20px;box-shadow:inset 0 0 40px #a4d8ff0d}.landing-page:after{content:"";pointer-events:none;background:radial-gradient(circle,#a4d8ff1f,#0000 70%);border-radius:50%;width:500px;height:500px;position:absolute;top:-150px;right:-150px}.landing-content{z-index:1;width:100%;max-width:400px;position:relative}.landing-logo{margin-bottom:var(--space-xl);animation:fadeInDown var(--transition-slow) ease-out}.landing-logo-icon{background:linear-gradient(135deg, var(--accent-sage-light), var(--accent-sage-dark));width:88px;height:88px;margin:0 auto var(--space-md);transition:transform var(--transition-bounce), box-shadow var(--transition-bounce);border-radius:24px;justify-content:center;align-items:center;font-size:44px;display:flex;box-shadow:0 12px 36px #a4d8ff4d,inset 0 2px 4px #fff3}.landing-logo-icon:hover{transform:scale(1.08)rotate(4deg);box-shadow:0 16px 44px #a4d8ff73,inset 0 2px 4px #ffffff4d}.landing-title{font-size:var(--text-4xl);color:var(--text-primary);background:linear-gradient(#fff 0%,#cbd5e1 100%);-webkit-text-fill-color:transparent;letter-spacing:-.04em;margin-bottom:var(--space-xs);-webkit-background-clip:text;font-weight:800}.landing-subtitle{font-size:var(--text-base);color:var(--text-secondary);letter-spacing:.05em;text-transform:uppercase;font-weight:400}.landing-actions{gap:var(--space-md);margin-top:var(--space-2xl);animation:fadeInUp var(--transition-slow) ease-out;flex-direction:column;animation-delay:.2s;animation-fill-mode:both;display:flex}.landing-divider{align-items:center;gap:var(--space-md);color:var(--text-muted);font-size:var(--text-sm);margin:var(--space-sm) 0;display:flex}.landing-divider:before,.landing-divider:after{content:"";background:#ffffff1a;flex:1;height:1px}.landing-balls{gap:var(--space-md);margin-top:var(--space-2xl);animation:fadeIn var(--transition-slow) ease-out;justify-content:center;animation-delay:.5s;animation-fill-mode:both;display:flex}@keyframes ballFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.landing-ball{opacity:.85;width:14px;height:14px;transition:all var(--transition-bounce);animation:3.2s ease-in-out infinite ballFloat;animation-delay:var(--delay,0s);border-radius:50%;box-shadow:inset -3px -3px 6px #00000073,inset 2px 2px 4px #ffffff40,0 4px 10px #0006}.landing-ball:hover{opacity:1;transform:scale(1.4)translateY(-4px);box-shadow:inset -2px -2px 4px #00000073,0 8px 20px #00000080}.landing-ball:first-child{background:radial-gradient(circle at 35% 35%, #ff6b6b, var(--ball-red), #991b1b)}.landing-ball:nth-child(2){background:radial-gradient(circle at 35% 35%, #ffeb3b, var(--ball-yellow), #f59e0b)}.landing-ball:nth-child(3){background:radial-gradient(circle at 35% 35%, #4ade80, var(--ball-green), #065f46)}.landing-ball:nth-child(4){background:radial-gradient(circle at 35% 35%, #a1887f, var(--ball-brown), #4e342e)}.landing-ball:nth-child(5){background:radial-gradient(circle at 35% 35%, #60a5fa, var(--ball-blue), #1e3a8a)}.landing-ball:nth-child(6){background:radial-gradient(circle at 35% 35%, #f472b6, var(--ball-pink), #9d174d)}.landing-ball:nth-child(7){background:radial-gradient(circle at 35% 35%, #475569, var(--ball-black), #000)}.dashboard-page{min-height:100dvh;padding:var(--space-lg);background:radial-gradient(circle at 50% 0%, var(--felt-light) 0%, var(--felt-dark) 100%)}.dashboard-header{margin-bottom:var(--space-xl);justify-content:space-between;align-items:center;display:flex}.dashboard-welcome{align-items:center;gap:var(--space-md);display:flex}.dashboard-avatar{border-radius:var(--radius-full);background:linear-gradient(135deg, var(--accent-sage), var(--accent-lavender));width:46px;height:46px;font-size:var(--text-lg);color:var(--text-inverse);justify-content:center;align-items:center;font-weight:700;display:flex;overflow:hidden;box-shadow:0 4px 12px #a4d8ff33}.dashboard-avatar img{object-fit:cover;width:100%;height:100%}.dashboard-greeting{font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.dashboard-name{font-size:var(--text-lg);color:var(--text-primary);font-weight:700}.dashboard-grid{gap:var(--space-md);margin-bottom:var(--space-xl);display:grid}.dashboard-section-title{font-size:var(--text-sm);margin-bottom:var(--space-md);align-items:center;gap:var(--space-sm);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-weight:700;display:flex}.stats-row{margin-bottom:var(--space-lg);grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.stat-card{background:var(--bg-elevated);border:1px solid var(--border-color-dim);border-radius:16px;flex-direction:column;align-items:flex-start;gap:2px;padding:12px;display:flex;box-shadow:0 1px 2px #0000000a}.stat-glyph{background:var(--fill-quaternary);width:26px;height:26px;color:var(--text-muted);border-radius:9px;justify-content:center;align-items:center;margin-bottom:6px;display:flex}.stat-glyph--accent{background:var(--accent-tint);color:var(--accent-sage)}.stat-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-primary);font-size:21px;font-weight:700;line-height:1.1}.stat-value--accent{color:var(--accent-sage)}.stat-label{color:var(--text-muted);letter-spacing:.01em;font-size:11px;font-weight:600}.setup-page{min-height:100dvh;padding:var(--space-lg);background:radial-gradient(circle at center, var(--felt-light) 0%, var(--felt-dark) 100%);justify-content:center;align-items:center;display:flex}.setup-card{background:var(--bg-card-solid);border-radius:var(--radius-xl);padding:var(--space-xl);z-index:10;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid #ffffff14;flex-direction:column;width:100%;max-width:540px;display:flex;position:relative;box-shadow:0 32px 64px #000000a6,inset 0 1px #ffffff0d}.setup-card-header{border-bottom:1px solid var(--border-color-dim);padding-bottom:var(--space-md);margin-bottom:var(--space-lg);justify-content:space-between;align-items:center;display:flex}.setup-card-title{font-size:var(--text-lg);color:var(--accent-sage);letter-spacing:-.01em;font-weight:800}.setup-step-badge{color:var(--accent-sage-light);border-radius:var(--radius-full);font-size:var(--text-xs);background:#a4d8ff1a;border:1px solid #a4d8ff33;padding:4px 12px;font-weight:700}.setup-step-title{font-size:var(--text-base);color:var(--text-primary);margin-bottom:var(--space-xs);font-weight:700}.setup-step-subtitle{font-size:var(--text-sm);color:var(--text-muted);margin-bottom:var(--space-lg)}.setup-card-content{animation:fadeInUp var(--transition-normal) ease-out;flex:1}.setup-options{gap:var(--space-md);margin:var(--space-md) 0;display:grid}.setup-option{padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal);background:var(--bg-secondary);border:1px solid var(--border-color-dim);align-items:center;gap:var(--space-md);display:flex}.setup-option:hover{border-color:var(--text-muted);background:var(--bg-btn-secondary);transform:translateY(-1px)}.setup-option:active{transform:translateY(0)}.setup-option.selected{border-color:var(--accent-sage);background:#a4d8ff0d;box-shadow:0 0 20px #a4d8ff1f}.setup-option-title{font-size:var(--text-base);color:var(--text-primary);font-weight:700}.setup-option-desc{font-size:var(--text-xs);color:var(--text-muted);margin-top:2px}.setup-option-icon{font-size:var(--text-xl);opacity:.9}.setup-players-grid{gap:var(--space-sm);margin:var(--space-md) 0;display:grid}.setup-player-input-wrapper{align-items:center;gap:var(--space-md);background:var(--bg-secondary);border:1px solid var(--border-color-dim);border-radius:var(--radius-md);padding:var(--space-sm) var(--space-md);transition:all var(--transition-fast);display:flex}.setup-player-input-wrapper:focus-within{border-color:var(--accent-sage);box-shadow:0 0 10px #2f6e9e1a}.setup-player-number{border-radius:var(--radius-full);background:var(--border-color);width:28px;height:28px;font-size:var(--text-xs);color:var(--text-secondary);flex-shrink:0;justify-content:center;align-items:center;font-weight:700;display:flex}.setup-player-input-wrapper .input{color:var(--text-primary);background:0 0;width:100%;padding:0;box-shadow:none!important;border:none!important;outline:none!important}.setup-card-footer{border-top:1px solid var(--border-color-dim);padding-top:var(--space-lg);margin-top:var(--space-lg);justify-content:space-between;align-items:center;gap:var(--space-md);display:flex}.btn-setup-back{border:1px solid var(--border-color);color:var(--text-secondary);border-radius:var(--radius-md);transition:all var(--transition-fast);background:0 0;padding:10px 24px;font-weight:600}.btn-setup-back:hover{border-color:var(--text-muted);color:var(--text-primary);background:var(--bg-btn-secondary)}.btn-setup-next{background:var(--gradient-primary);color:var(--on-accent);border-radius:var(--radius-md);transition:all var(--transition-fast);padding:10px 28px;font-weight:600;box-shadow:0 4px 12px #2f6e9e33}.btn-setup-next:hover:not(:disabled){filter:brightness(1.06);transform:translateY(-1px);box-shadow:0 6px 16px #2f6e9e59}.btn-setup-next:active:not(:disabled){transform:translateY(0)}.btn-setup-next:disabled{opacity:.4;background:var(--text-muted);box-shadow:none;cursor:not-allowed}.setup-slider{gap:var(--space-md);margin:var(--space-lg) 0;flex-direction:column;display:flex}.setup-slider-value{font-family:var(--font-mono);font-size:var(--text-4xl);text-align:center;color:var(--text-primary);font-weight:700}.setup-slider-label{font-size:var(--text-sm);color:var(--text-secondary);text-align:center}.breaking-order-grid{gap:var(--space-sm);margin:var(--space-md) 0;flex-direction:column;display:flex}.breaking-option-row{align-items:center;gap:var(--space-md);min-height:60px;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);background:var(--bg-secondary);border:1.5px solid var(--border-color-dim);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:border-color var(--transition-fast), background var(--transition-fast);grid-template-columns:auto 1fr auto auto;display:grid}.breaking-option-row:hover:not(.selected){border-color:var(--text-muted)}.breaking-option-row:focus-visible{outline:2px solid var(--accent-sage);outline-offset:2px}.breaking-option-row.selected{border-color:var(--accent-sage);background:var(--accent-tint)}.order-seat{background:var(--fill-quaternary);width:26px;height:26px;color:var(--text-secondary);font-size:var(--text-xs);font-variant-numeric:tabular-nums;border-radius:50%;flex:none;justify-content:center;align-items:center;font-weight:700;display:flex}.breaking-option-row.selected .order-seat{background:var(--accent-sage);color:var(--on-accent)}.breaking-option-name{flex-direction:column;gap:2px;min-width:0;display:flex}.order-name{font-weight:600;font-size:var(--text-base,15px);color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.order-team{font-size:var(--text-xs);color:var(--text-muted)}.breaks-off-chip{white-space:nowrap;border-radius:var(--radius-full);background:var(--accent-sage);color:var(--on-accent);font-size:var(--text-xs);letter-spacing:.02em;align-items:center;gap:5px;padding:5px 11px;font-weight:700;display:inline-flex}.rotation-controls{flex-direction:column;flex:none;gap:4px;display:flex}.rotation-arrow-btn{border:1px solid var(--border-color-dim);background:var(--bg-tertiary);width:34px;height:26px;color:var(--text-secondary);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);border-radius:8px;justify-content:center;align-items:center;display:flex}.rotation-arrow-btn:hover:not(:disabled){background:var(--fill-quaternary);border-color:var(--border-color);color:var(--text-primary)}.rotation-arrow-btn:disabled{opacity:.35;cursor:not-allowed}.preset-roster{margin-bottom:var(--space-sm)}.preset-roster-label{font-size:var(--text-xs);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin-bottom:var(--space-sm);font-weight:700;display:block}.preset-chip-row{margin-top:var(--space-sm);scrollbar-width:none;gap:8px;padding-bottom:2px;display:flex;overflow-x:auto}.preset-chip-row::-webkit-scrollbar{display:none}.preset-chip{border:1px solid var(--border-color-dim);background:var(--bg-elevated);height:40px;color:var(--text-secondary);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:border-color var(--transition-fast) ease, color var(--transition-fast) ease, transform .14s ease;border-radius:20px;flex:none;align-items:center;gap:8px;padding:0 16px 0 8px;font-size:14px;font-weight:600;line-height:1;display:inline-flex;box-shadow:0 1px 2px #0000000a}.preset-chip:active{transform:scale(.96)}.preset-chip-glyph{background:var(--fill-quaternary);width:24px;height:24px;color:var(--text-muted);transition:background var(--transition-fast) ease, color var(--transition-fast) ease;border-radius:9px;flex:none;justify-content:center;align-items:center;display:flex}.preset-chip:hover:not(:disabled):not(.picked){border-color:var(--text-muted);color:var(--text-primary)}.preset-chip.picked{border-color:var(--accent-sage);color:var(--accent-sage)}.preset-chip.picked .preset-chip-glyph{background:var(--accent-tint);color:var(--accent-sage)}.preset-chip:disabled{opacity:.4;cursor:not-allowed}.history-page{min-height:100dvh;padding:var(--space-lg);background:var(--bg-primary)}.history-header{align-items:center;gap:var(--space-md);margin-bottom:var(--space-xl);display:flex}.history-list{gap:var(--space-md);display:grid}.history-card{background:var(--bg-elevated);border:1px solid var(--border-color-dim);cursor:pointer;transition:border-color var(--transition-fast) ease, transform .14s ease;border-radius:16px;padding:14px 16px;box-shadow:0 1px 2px #0000000a}.history-card:hover{border-color:var(--text-muted)}.history-card:active{transform:scale(.995)}.history-card-header{justify-content:space-between;align-items:center;gap:var(--space-sm);margin-bottom:8px;display:flex}.history-card-date{color:var(--text-muted);font-variant-numeric:tabular-nums;font-size:12px}.history-card-mode{border:1px solid var(--border-color-dim);color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;background:0 0;border-radius:999px;padding:3px 9px;font-size:10px;font-weight:700}.history-card-players{color:var(--text-secondary);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:6px 10px;font-size:14px;font-weight:600;display:flex}.history-card-player{align-items:baseline;gap:8px;display:inline-flex}.history-card-score{font-family:var(--font-mono);font-size:var(--text-lg);font-weight:700}.history-card-vs{color:var(--text-muted);font-size:var(--text-sm)}.history-card-winner{color:var(--accent-sage);font-weight:700}.history-card-details{gap:var(--space-md);margin-top:var(--space-sm);font-size:var(--text-xs);color:var(--text-secondary);display:flex}.history-card-delete{color:var(--text-muted);font-size:var(--text-sm);padding:var(--space-xs);border-radius:var(--radius-sm);transition:all var(--transition-fast)}.history-card-delete:hover{color:var(--error);background:#f4433614}.toggle-group-large{gap:var(--space-md);margin:var(--space-md) 0;grid-template-columns:1fr 1fr;display:grid}.toggle-option-large{padding:var(--space-lg) var(--space-md);border-radius:var(--radius-md);background:var(--bg-secondary);border:1px solid var(--border-color-dim);text-align:center;cursor:pointer;transition:all var(--transition-normal)}.toggle-option-large:hover{border-color:var(--text-muted);background:var(--bg-btn-secondary);transform:translateY(-1px)}.toggle-option-large:active{transform:translateY(0)}.toggle-option-large.active{border-color:var(--accent-sage);background:#a4d8ff0f;box-shadow:0 0 20px #a4d8ff1f}.toggle-value{font-size:var(--text-base);color:var(--text-primary);font-weight:700}.toggle-subtitle{font-size:var(--text-xs);color:var(--text-muted);margin-top:4px}.setup-options-row{gap:var(--space-sm);margin:var(--space-md) 0;grid-template-columns:repeat(4,1fr);display:grid}.setup-option-card{padding:var(--space-md) var(--space-xs);border-radius:var(--radius-md);background:var(--bg-secondary);border:1px solid var(--border-color-dim);text-align:center;cursor:pointer;transition:all var(--transition-normal);flex-direction:column;justify-content:center;align-items:center;display:flex}.setup-option-card:hover{border-color:var(--text-muted);background:var(--bg-btn-secondary);transform:translateY(-1px)}.setup-option-card:active{transform:translateY(0)}.setup-option-card.selected{border-color:var(--accent-sage);background:#a4d8ff0f;box-shadow:0 0 20px #a4d8ff1f}.option-card-number{font-family:var(--font-mono);font-size:var(--text-xl);color:var(--text-primary);font-weight:700}.option-card-label{font-size:var(--text-xs);color:var(--text-muted);margin-top:2px}.setup-first-to-label{text-align:center;font-size:var(--text-xs);color:var(--text-secondary);margin-top:var(--space-md);font-weight:500}.team-group{background:var(--bg-secondary);border:1px solid var(--border-color-dim);padding:var(--space-md);border-radius:var(--radius-md);margin-bottom:var(--space-md)}.team-group-title{font-size:var(--text-xs);margin-bottom:var(--space-sm);color:var(--accent-sage-light);text-transform:uppercase;letter-spacing:.05em;font-weight:700}.setup-player-input-wrapper{align-items:center;gap:var(--space-sm);margin-bottom:var(--space-sm);display:flex}.setup-player-input-wrapper:last-child{margin-bottom:0}.text-lavender{color:var(--accent-lavender-light)!important}.summary-page{min-height:100dvh;padding:var(--space-lg);background:radial-gradient(circle at center, var(--felt-light) 0%, var(--felt-dark) 100%)}.summary-header{margin-bottom:var(--space-xl);text-align:center}.summary-page-title{font-size:var(--text-2xl);color:var(--text-primary);font-weight:800}.summary-content{gap:var(--space-lg);flex-direction:column;max-width:600px;margin:0 auto;display:flex}.winner-card{border:1px solid var(--accent-sage);background:linear-gradient(135deg,#a4d8ff26 0%,#7cc1f026 100%);box-shadow:0 8px 24px #a4d8ff26}.winner-banner{justify-content:center;align-items:center;gap:var(--space-md);padding:var(--space-md);display:flex}.trophy-large{font-size:var(--text-4xl)}.winner-banner-text{flex-direction:column;display:flex}.winner-label{font-size:var(--text-xs);text-transform:uppercase;color:var(--accent-sage-light);letter-spacing:.05em;font-weight:700}.winner-name-highlight{font-size:var(--text-2xl);color:var(--text-primary);font-weight:800}.winner-note{color:var(--text-muted);font-size:.85rem}.summary-section{gap:var(--space-sm);flex-direction:column;display:flex}.summary-table{border-collapse:collapse;text-align:left;width:100%}.summary-table th,.summary-table td{padding:var(--space-md);border-bottom:1px solid var(--border-color-dim)}.summary-table th{font-size:var(--text-xs);text-transform:uppercase;color:var(--text-muted);font-weight:700}.summary-table td{font-size:var(--text-sm)}.frame-num-td{color:var(--text-secondary);font-weight:600}.score-win-td{color:var(--accent-sage-light);font-weight:700}.stats-comparison-grid{gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.player-stats-card{padding:var(--space-md)}.player-stats-name{font-size:var(--text-base);color:var(--text-primary);border-bottom:1px solid var(--border-color-dim);padding-bottom:var(--space-xs);margin-bottom:var(--space-sm);font-weight:700}.player-team-label{font-size:var(--text-xs);color:var(--text-muted);font-weight:400}.player-stats-grid{gap:var(--space-sm);flex-direction:column;display:flex}.player-stat-item{justify-content:space-between;align-items:center;display:flex}.player-stat-label{font-size:var(--text-xs);color:var(--text-muted)}.player-stat-value{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--text-primary);font-weight:600}.match-meta-section{gap:var(--space-sm);padding:var(--space-md);flex-direction:column;display:flex}.meta-item{justify-content:space-between;align-items:center;display:flex}.meta-label{font-size:var(--text-xs);color:var(--text-muted)}.meta-value{font-size:var(--text-sm);font-weight:600}.meta-value.badge{background:var(--bg-secondary);border-radius:var(--radius-sm);font-size:var(--text-xs);text-transform:uppercase;padding:2px 8px}.summary-footer-actions{gap:var(--space-md);margin-top:var(--space-md);flex-direction:column;display:flex}.save-status-msg{padding:var(--space-md);text-align:center;font-size:var(--text-sm);font-weight:600}.save-status-msg.success{border:1px solid var(--accent-sage);color:var(--accent-sage-light);background:#a4d8ff1a}.save-status-msg.error{border:1px solid var(--error);color:var(--error);background:#ef44441a}.actions-button-row{gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(148px,1fr));display:grid}.actions-button-row>.btn{white-space:nowrap;min-width:0}.match-details-card{top:calc(50% + (env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px)) / 2);background:var(--bg-card-solid);border-radius:var(--radius-xl);width:90vw;max-width:780px;max-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 32px);z-index:var(--z-modal);box-shadow:var(--shadow-2xl);animation:scaleIn var(--transition-normal) ease-out;border:1px solid #ffffff14;flex-direction:column;display:flex;position:fixed;left:50%;overflow:hidden;transform:translate(-50%,-50%)}.match-details-header{padding:var(--space-lg);z-index:1;gap:var(--space-md);background:var(--bg-surface);border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.match-details-title{font-size:var(--text-2xl);color:var(--text-primary);margin:0;font-weight:800}.match-details-subtitle{font-size:var(--text-xs);color:var(--text-muted)}.match-details-close-btn{background:var(--fill-quaternary);width:44px;height:44px;color:var(--text-secondary);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background var(--transition-fast) ease, color var(--transition-fast) ease;border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;display:inline-flex}.match-details-close-btn:hover,.match-details-close-btn:active{background:var(--border-color);color:var(--text-primary)}.match-details-body{padding:var(--space-lg);flex:1;overflow-y:auto}.details-summary-strip{gap:var(--space-md);background:var(--felt-dark);padding:var(--space-md);border-radius:var(--radius-lg);margin-bottom:var(--space-lg);border:1px solid #a4d8ff1a;flex-wrap:wrap;align-items:center;display:flex}.summary-strip-item{flex-direction:column;flex:1;min-width:100px;display:flex}.strip-label{color:var(--text-muted);letter-spacing:.05em;text-transform:uppercase;font-size:10px;font-weight:700}.strip-val{font-size:var(--text-base);color:var(--text-primary);font-weight:700}.winner-text{color:var(--accent-gold)}.share-card-btn{background:linear-gradient(135deg, var(--accent-sage-light), var(--accent-sage-dark));color:var(--on-accent);font-size:var(--text-xs);padding:var(--space-xs) var(--space-md);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-fast) ease;border:none;font-weight:600}.share-card-btn:hover{filter:brightness(1.1);transform:translateY(-1px)}.details-section{margin-bottom:var(--space-lg)}.section-title-small{font-size:var(--text-sm);text-transform:uppercase;color:var(--text-muted);letter-spacing:.05em;margin-bottom:var(--space-sm);border-bottom:1px solid #ffffff0d;padding-bottom:4px;font-weight:700}.details-players-table-wrapper{overflow-x:auto}.details-players-table{border-collapse:collapse;text-align:left;width:100%}.details-players-table th{padding:var(--space-xs) var(--space-sm);font-size:var(--text-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid #ffffff14}.details-players-table td{padding:var(--space-sm);font-size:var(--text-sm);border-bottom:1px solid #ffffff0a}.details-players-table tr.winner-row{background:#d4af370f}.player-bold{color:var(--text-primary);font-weight:600}.team-badge{color:var(--accent-sage-light);text-transform:uppercase;background:#7ba68a26;border-radius:4px;padding:2px 6px;font-size:10px;font-weight:700}.frame-tabs{gap:var(--space-xs);padding-bottom:var(--space-xs);margin-bottom:var(--space-md);border-bottom:1px solid #ffffff0f;display:flex;overflow-x:auto}.frame-tab-btn{border:1px solid var(--border-color);color:var(--text-secondary);border-radius:var(--radius-md);font-size:var(--text-xs);cursor:pointer;white-space:nowrap;transition:all var(--transition-fast) ease;background:#ffffff0a;padding:6px 14px;font-weight:600}.frame-tab-btn:hover{color:var(--text-primary);background:#ffffff14}.frame-tab-btn.active{background:var(--accent-sage);border-color:var(--accent-sage-dark);color:var(--on-accent)}.frame-tab-container{align-items:center;gap:4px;display:flex}.frame-share-icon-btn{border:1px solid var(--border-color);color:var(--text-secondary);border-radius:var(--radius-md);font-size:var(--text-xs);cursor:pointer;transition:all var(--transition-fast) ease;background:#ffffff0a;padding:6px 10px}.frame-share-icon-btn:hover{background:var(--accent-sage-dark);border-color:var(--accent-sage);color:var(--on-accent)}.frame-analysis-panel{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-md)}.analysis-panel-title{font-size:var(--text-xs);text-transform:uppercase;color:var(--text-muted);letter-spacing:.05em;margin-bottom:var(--space-sm);font-weight:700}.frame-stats-grid{gap:var(--space-md);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.frame-player-stat-card{background:var(--bg-card-solid);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:var(--space-md)}.stat-player-name{font-size:var(--text-sm);color:var(--text-primary);margin-bottom:var(--space-xs);border-bottom:1px solid #ffffff0a;padding-bottom:4px;font-weight:700;display:block}.stat-rows{flex-direction:column;gap:6px;display:flex}.stat-row{font-size:var(--text-xs);color:var(--text-secondary);justify-content:space-between;display:flex}.stat-val{color:var(--text-primary)}.frame-timeline{background:var(--bg-card-solid);border-radius:var(--radius-md);max-height:250px;padding:var(--space-md);border:1px solid #ffffff0a;overflow-y:auto}.timeline-item{gap:var(--space-md);margin-bottom:var(--space-md);display:flex;position:relative}.timeline-item:last-child{margin-bottom:0}.timeline-dot-wrapper{flex-direction:column;align-items:center;display:flex}.timeline-dot{background:var(--text-muted);border:2px solid var(--bg-card-solid);border-radius:50%;width:10px;height:10px;box-shadow:0 0 0 1px #fff3}.timeline-dot.dot-pot{background:var(--accent-sage-light)}.timeline-dot.dot-foul{background:var(--text-error)}.timeline-content{flex:1}.timeline-player{font-size:var(--text-xs);color:var(--text-primary);font-weight:700;display:block}.timeline-desc{font-size:var(--text-xs);color:var(--text-muted);margin:2px 0 0}.no-frames-text,.no-events-text{text-align:center;font-size:var(--text-sm);color:var(--text-muted);padding:var(--space-lg)}.spinner-container{padding:var(--space-2xl);justify-content:center;align-items:center;display:flex}body.light-theme .landing-title{background:linear-gradient(#1a1d23 0%,#4b5563 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text}body.light-theme .landing-page:before{border-color:#2f6e9e14;box-shadow:inset 0 0 40px #2f6e9e0a}body.light-theme .landing-page:after{background:radial-gradient(circle,#2f6e9e14,#0000 70%)}body.light-theme .landing-divider:before,body.light-theme .landing-divider:after{background:var(--border-color)}body.light-theme .stat-card{border-color:var(--border-color);background:#fff;box-shadow:0 1px 3px #0000000a}body.light-theme .setup-card{border-color:var(--border-color);box-shadow:0 20px 48px #00000014,0 4px 12px #0000000a}body.light-theme .setup-option{border-color:var(--border-color);background:#fff}body.light-theme .setup-option:hover{border-color:var(--text-muted);background:var(--bg-secondary)}body.light-theme .setup-option.selected{border-color:var(--accent-sage);background:#2f6e9e0a;box-shadow:0 0 16px #2f6e9e14}body.light-theme .setup-player-input-wrapper{border-color:var(--border-color);background:#fff}body.light-theme .setup-player-input-wrapper:focus-within{border-color:var(--accent-sage);box-shadow:0 0 8px #2f6e9e14}body.light-theme .setup-step-badge{color:var(--accent-sage);background:#2f6e9e0f;border-color:#2f6e9e26}body.light-theme .rotation-arrow-btn{background:var(--bg-secondary)}body.light-theme .breaking-option-row{border-color:var(--border-color);background:#fff}body.light-theme .breaking-option-row.selected{border-color:var(--accent-sage);background:#2f6e9e08}body.light-theme .match-history-card{border-color:var(--border-color);background:#fff;box-shadow:0 1px 3px #0000000a}body.light-theme .match-history-card:hover{box-shadow:0 4px 12px #00000014}body.light-theme .summary-page{background:radial-gradient(circle at center, var(--felt-light) 0%, var(--felt-dark) 100%)}.ma-sheet{background:var(--bg-dialog,var(--bg-card-solid));border:1px solid var(--border-color);border-radius:var(--radius-xl,20px);width:min(680px,100%);max-height:min(88vh,900px);box-shadow:var(--shadow-xl);flex-direction:column;display:flex;overflow:hidden}.ma-header{justify-content:space-between;align-items:flex-start;gap:var(--space-md);padding:var(--space-lg) var(--space-lg) var(--space-md);border-bottom:1px solid var(--border-color-dim,var(--border-color));display:flex}.ma-title{font-size:var(--text-2xl,1.6rem);letter-spacing:-.02em;color:var(--text-primary);margin:0;font-weight:800}.ma-date{font-size:var(--text-sm,.85rem);color:var(--text-muted);margin-top:2px;display:block}.ma-body{-webkit-overflow-scrolling:touch;min-height:0;padding:var(--space-lg);padding-bottom:calc(env(safe-area-inset-bottom,0px) + var(--space-lg));gap:var(--space-xl);flex-direction:column;flex:1;display:flex;overflow-y:auto}.ma-result{gap:var(--space-md);padding:var(--space-lg);border-radius:var(--radius-lg);border:1px solid var(--border-color);background:linear-gradient(135deg, color-mix(in srgb, var(--accent-sage) 12%, transparent), transparent 62%), var(--bg-card-solid,var(--bg-secondary));flex-direction:column;display:flex}.ma-result-top{align-items:center;gap:var(--space-md);display:flex}.ma-result-trophy{color:var(--accent-peach,#f59e0b)}.ma-result-names{flex-direction:column;min-width:0;display:flex}.ma-result-label{letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);font-size:.68rem;font-weight:700}.ma-result-name{letter-spacing:-.02em;color:var(--text-primary);overflow-wrap:anywhere;font-size:clamp(1.35rem,6vw,1.75rem);font-weight:800}.ma-result-note{color:var(--text-muted);margin-top:2px;font-size:.8rem}.ma-meta-row{gap:var(--space-sm) var(--space-md);flex-wrap:wrap;display:flex}.ma-meta{font-size:var(--text-sm,.85rem);color:var(--text-secondary);align-items:center;gap:6px;font-weight:600;display:inline-flex}.ma-meta .sb-icon{color:var(--text-muted)}.ma-share{width:100%;min-height:46px;padding:0 var(--space-lg);background:var(--accent-sage);color:var(--on-accent);font-size:var(--text-base,1rem);cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;border-radius:999px;justify-content:center;align-items:center;gap:8px;font-weight:700;transition:transform .16s cubic-bezier(.34,1.4,.64,1),filter .16s;display:inline-flex}.ma-share:hover{filter:brightness(1.07)}.ma-share:active{transform:scale(.975)}.ma-section{gap:var(--space-md);flex-direction:column;display:flex}.ma-section-title,.ma-sub-title{letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted);margin:0;font-size:.7rem;font-weight:700}.ma-sub-title{margin-top:var(--space-lg)}.ma-empty{padding:var(--space-lg);text-align:center;font-size:var(--text-sm);color:var(--text-muted);margin:0}.ma-players{gap:var(--space-sm);flex-direction:column;display:flex}.ma-player{padding:var(--space-md);border-radius:var(--radius-md);border:1px solid var(--border-color-dim,var(--border-color));background:var(--bg-card-solid,var(--bg-secondary));transition:border-color .16s}.ma-player.is-winner{border-color:color-mix(in srgb, var(--accent-sage) 45%, transparent);background:linear-gradient(180deg, color-mix(in srgb, var(--accent-sage) 8%, transparent), transparent 70%), var(--bg-card-solid,var(--bg-secondary))}.ma-player-head{margin-bottom:var(--space-sm);align-items:center;gap:8px;display:flex}.ma-player-trophy{color:var(--accent-peach,#f59e0b)}.ma-player-name{font-size:var(--text-base,1rem);color:var(--text-primary);overflow-wrap:anywhere;font-weight:700}.ma-team{background:var(--fill-quaternary,#7f7f7f24);letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);border-radius:999px;padding:2px 8px;font-size:.66rem;font-weight:700}.ma-player-score{font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--text-primary);margin-left:auto;font-size:1.4rem;font-weight:800}.ma-player.is-winner .ma-player-score{color:var(--accent-sage)}.ma-stats{gap:var(--space-xs,6px);grid-template-columns:repeat(auto-fit,minmax(64px,1fr));display:grid}.ma-stat{border-radius:var(--radius-sm,8px);background:var(--fill-quaternary,#7f7f7f14);flex-direction:column;align-items:center;gap:1px;padding:6px 4px;display:flex}.ma-stat b{font-variant-numeric:tabular-nums;color:var(--text-primary);font-size:.98rem;font-weight:700}.ma-stat b.is-warn{color:var(--error,#ef4444)}.ma-stat span{letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);font-size:.62rem;font-weight:600}.ma-chips{gap:var(--space-sm);scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:4px;display:flex;overflow-x:auto}.ma-chips::-webkit-scrollbar{display:none}.ma-chip{scroll-snap-align:start;border:1px solid var(--border-color);background:var(--bg-card-solid,var(--bg-secondary));border-radius:999px;flex:none;align-items:stretch;transition:border-color .16s,background-color .16s;display:flex;overflow:hidden}.ma-chip.is-active{border-color:var(--accent-sage);background:color-mix(in srgb, var(--accent-sage) 14%, transparent)}.ma-chip-main{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;align-items:flex-start;gap:1px;padding:8px 14px;display:flex}.ma-chip-n{font-size:var(--text-sm,.85rem);color:var(--text-primary);white-space:nowrap;font-weight:700}.ma-chip.is-active .ma-chip-n{color:var(--accent-sage)}.ma-chip-t{font-variant-numeric:tabular-nums;color:var(--text-muted);white-space:nowrap;font-size:.66rem}.ma-chip-share{border:none;border-left:1px solid var(--border-color);color:var(--text-muted);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;align-items:center;padding:0 12px;transition:color .16s,background-color .16s;display:flex}.ma-chip-share:hover{color:var(--accent-sage);background:var(--fill-quaternary,#7f7f7f1a)}.ma-frame{margin-top:var(--space-md)}.ma-timeline{margin:var(--space-sm) 0 0;padding:0 0 0 var(--space-md);border-left:1px solid var(--border-color);gap:var(--space-sm);flex-direction:column;list-style:none;display:flex}.ma-event{font-size:var(--text-sm,.85rem);flex-wrap:wrap;align-items:baseline;gap:4px 8px;display:flex;position:relative}.ma-event-dot{left:calc(var(--space-md) * -1 - 4px);background:var(--text-muted);border-radius:50%;width:7px;height:7px;position:absolute;top:.45em}.ma-event--pot .ma-event-dot{background:var(--success,#10b981)}.ma-event--foul .ma-event-dot,.ma-event--inOff .ma-event-dot{background:var(--error,#ef4444)}.ma-event--frameEnd .ma-event-dot{background:var(--accent-peach,#f59e0b)}.ma-event-who{color:var(--text-primary);font-weight:700}.ma-event-what{color:var(--text-secondary);overflow-wrap:anywhere}.log-icon--pot{color:var(--success,#10b981)}.log-icon--foul{color:var(--error,#ef4444)}.log-icon--undo{color:var(--info,#3b82f6)}.log-icon--frame{color:var(--accent-peach,#f59e0b)}@media (width<=420px){.ma-header,.ma-body{padding-left:var(--space-md);padding-right:var(--space-md)}.ma-stats{grid-template-columns:repeat(4,1fr)}}.orientation-gate{z-index:9999;padding:calc(env(safe-area-inset-top,0px) + var(--space-xl)) var(--space-xl) calc(env(safe-area-inset-bottom,0px) + var(--space-xl));background:var(--bg-primary,var(--bg-base));text-align:center;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.orientation-gate-inner{align-items:center;gap:var(--space-md);flex-direction:column;max-width:32ch;display:flex}.orientation-gate-icon{color:var(--accent-sage);animation:2.4s ease-in-out infinite orientation-tilt}@keyframes orientation-tilt{0%,45%,to{transform:rotate(0)}60%,85%{transform:rotate(-90deg)}}.orientation-gate-title{font-size:var(--text-2xl);color:var(--text-primary);margin:0;font-weight:800}.orientation-gate-text{font-size:var(--text-base,15px);color:var(--text-secondary);margin:0;line-height:1.5}.orientation-gate-hint{font-size:var(--text-xs);color:var(--text-muted);margin:0;line-height:1.5}@media (prefers-reduced-motion:reduce){.orientation-gate-icon{animation:none}}@media (orientation:landscape) and (width>=700px){.dashboard-grid{gap:var(--space-lg);height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - 96px);grid-template-columns:minmax(280px,38%) 1fr;align-items:start;min-height:0;display:grid;overflow:hidden}.dashboard-left{gap:var(--space-md);flex-direction:column;height:100%;min-height:0;display:flex;overflow:hidden}.dashboard-right{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;height:100%;min-height:0;padding-right:4px;overflow-y:auto}.dashboard-left .new-game-cta{flex:auto;min-height:0}.dashboard-left .stats-row{flex:none}.dashboard-right .dashboard-section-title{z-index:1;margin:0 0 var(--space-md);padding:var(--space-xs) 0;background:var(--bg-primary,var(--bg-base));position:sticky;top:0}}.setup-page{min-height:100dvh;padding:calc(env(safe-area-inset-top,0px) + var(--space-md)) calc(env(safe-area-inset-right,0px) + var(--space-md)) calc(env(safe-area-inset-bottom,0px) + var(--space-md)) calc(env(safe-area-inset-left,0px) + var(--space-md));background:var(--bg-primary,var(--bg-base))}.setup-layout{gap:var(--space-lg);grid-template-columns:minmax(0,1fr);max-width:1100px;margin:0 auto;display:grid}@media (orientation:landscape) and (width>=700px){.setup-layout{height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px) - var(--space-md) * 2);grid-template-columns:minmax(300px,42%) minmax(0,1fr);align-items:start}.setup-roster{flex-direction:column;height:100%;min-height:0;display:flex}.setup-config{-webkit-overflow-scrolling:touch;max-height:100%;overflow-y:auto}.roster-list{-webkit-overflow-scrolling:touch;flex:auto;min-height:132px;overflow-y:auto}}.setup-config,.setup-roster{background:var(--bg-card-solid,var(--bg-elevated));border:1px solid var(--border-color-dim);border-radius:var(--radius-xl);padding:var(--space-lg)}.setup-heading{font-size:var(--text-xl);color:var(--text-primary);margin:0 0 var(--space-md);font-weight:800}.setup-field{margin:0 0 var(--space-md);border:none;padding:0}.setup-legend{font-size:var(--text-xs);letter-spacing:.07em;text-transform:uppercase;color:var(--text-muted);margin:0 0 8px;padding:0;font-weight:700}.setup-hint{font-size:var(--text-xs);color:var(--text-muted);margin:8px 0 0}.tile-row{grid-auto-columns:1fr;grid-auto-flow:column;gap:8px;display:grid}.tile-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.tile-row--sub{margin-top:8px}.tile{background:var(--fill-quaternary);min-height:62px;color:var(--text-secondary);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background var(--transition-fast) ease, color var(--transition-fast) ease, border-color var(--transition-fast) ease, transform .14s ease;border:1.5px solid #0000;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:10px 6px;display:flex}.tile--slim{min-height:46px}.tile:active{transform:scale(.96)}.tile:hover:not(.tile--on){background:var(--border-color)}.tile--on{background:var(--accent-tint);border-color:var(--accent-sage);color:var(--accent-sage)}.tile-label{text-align:center;font-size:12px;font-weight:650;line-height:1.2}.tile-value{font-variant-numeric:tabular-nums;color:var(--text-primary);font-size:19px;font-weight:800}.tile--on .tile-value{color:var(--accent-sage)}.tile--reds{flex-direction:row;gap:9px}.red-cluster{gap:3px;display:inline-flex}.red-ball{background:var(--ball-red,#d6252b);border-radius:50%;width:11px;height:11px;box-shadow:inset -1px -1px 2px #00000059}.setup-cta{margin-top:var(--space-md);padding-top:var(--space-sm);border-top:1px solid var(--border-color-dim);flex:none;gap:8px;display:flex}.setup-start{flex:1}.roster-head{justify-content:space-between;align-items:center;gap:var(--space-sm);display:flex}.roster-add{border:1px solid var(--border-color-dim);background:var(--bg-elevated);height:34px;color:var(--accent-sage);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background var(--transition-fast) ease, transform .14s ease;border-radius:17px;align-items:center;gap:4px;padding:0 14px;font-size:13px;font-weight:600;line-height:1;display:inline-flex}.roster-add:active{transform:scale(.95)}.roster-list{margin-top:var(--space-sm);flex-direction:column;gap:6px;display:flex}.roster-row{background:var(--bg-secondary);border:1.5px solid #0000;border-radius:12px;align-items:center;gap:8px;padding:5px 8px 5px 5px;display:flex}.roster-row.breaking{border-color:var(--accent-sage);background:var(--accent-tint)}.roster-seat{background:var(--fill-quaternary);width:32px;height:32px;color:var(--text-secondary);font-variant-numeric:tabular-nums;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background var(--transition-fast) ease, color var(--transition-fast) ease;border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.roster-row.breaking .roster-seat{background:var(--accent-sage);color:var(--on-accent)}.roster-team{color:var(--text-muted);text-align:center;flex:none;width:12px;font-size:11px;font-weight:800}.roster-input{min-width:0;color:var(--text-primary);background:0 0;border:none;flex:auto;padding:6px 2px;font-size:15px;font-weight:600}.roster-input:focus{outline:none}.roster-input::placeholder{color:var(--text-muted);font-weight:500}.roster-controls{flex-direction:column;flex:none;gap:2px;display:flex}.roster-controls .rotation-arrow-btn{background:0 0;border-color:#0000;border-radius:6px;width:26px;height:19px}.roster-controls .rotation-arrow-btn:hover:not(:disabled){background:var(--fill-quaternary)}.roster-remove{width:26px;height:26px;color:var(--text-muted);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;display:flex}.roster-remove:hover{color:var(--danger);background:var(--fill-quaternary)}.roster-hint{flex:none}.new-game-cta{align-items:center;gap:var(--space-md);background:var(--gradient-primary);width:100%;color:var(--on-accent);cursor:pointer;text-align:left;-webkit-tap-highlight-color:transparent;border:none;border-radius:20px;padding:18px 20px;transition:transform .16s cubic-bezier(.34,1.3,.64,1),box-shadow .16s;display:flex;box-shadow:0 10px 26px -10px #2f6e9e8c}.new-game-cta:hover{transform:translateY(-1px);box-shadow:0 14px 32px -10px #2f6e9ea6}.new-game-cta:active{transform:scale(.985);box-shadow:0 6px 16px -8px #2f6e9e80}.new-game-glyph{width:48px;height:48px;color:inherit;background:#ffffff2e;border-radius:16px;flex:none;justify-content:center;align-items:center;display:flex}.new-game-copy{flex-direction:column;flex:auto;gap:2px;min-width:0;display:flex}.new-game-title{letter-spacing:-.01em;font-size:19px;font-weight:800;line-height:1.15}.new-game-sub{opacity:.82;font-size:13px;font-weight:500}.new-game-arrow{opacity:.7;flex:none}.new-game-cta:hover .new-game-arrow{opacity:1}.resume-cta{align-items:center;gap:var(--space-md);width:100%;margin-bottom:var(--space-sm);border:1px solid var(--accent-sage);background:var(--accent-tint);color:var(--accent-sage);cursor:pointer;text-align:left;-webkit-tap-highlight-color:transparent;border-radius:16px;padding:12px 16px;transition:transform .14s;display:flex}.resume-cta:active{transform:scale(.99)}.resume-glyph{background:var(--bg-elevated);width:36px;height:36px;color:var(--accent-sage);border-radius:12px;flex:none;justify-content:center;align-items:center;display:flex}.resume-title{font-size:15px;font-weight:700;line-height:1.15}.resume-sub{opacity:.85;font-size:12px;font-weight:500}.ma-stat b.is-milestone,.player-stat-value.milestone{color:var(--accent-sage)}.roster-titles{flex-direction:column;gap:2px;min-width:0;display:flex}.roster-titles .setup-legend{margin:0}.roster-sub{color:var(--text-muted);font-size:12px}.roster-head{align-items:flex-start}.roster-list{gap:8px}.roster-row{gap:10px;min-height:52px;padding:6px 6px 6px 8px}.roster-seat{width:34px;height:34px}.roster-input{font-size:16px}.roster-controls{flex-direction:row;gap:6px}.roster-move{border:1px solid var(--border-color-dim);background:var(--bg-elevated,var(--bg-card-solid));width:40px;height:40px;color:var(--text-primary);cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:10px;place-items:center;display:grid}.roster-move:active:not(:disabled){transform:scale(.94)}.roster-move:disabled{opacity:.28;cursor:default}.roster-badge{background:var(--accent-sage);height:30px;color:var(--on-accent);border-radius:999px;flex:none;align-items:center;gap:5px;padding:0 12px;font-size:12px;font-weight:700;display:inline-flex}.roster-remove{width:36px;height:36px}@media (orientation:landscape) and (width>=700px){.roster-list{min-height:172px}.setup-roster{padding:var(--space-md) var(--space-lg)}.setup-cta{margin-top:var(--space-sm)}}.setup-heading-row{margin-bottom:var(--space-md);justify-content:space-between;align-items:center;gap:10px;display:flex}.setup-heading-row .setup-heading{margin:0}.setup-theme{border:1px solid var(--border-color);background:var(--fill-quaternary);width:40px;height:40px;color:var(--text-secondary);cursor:pointer;border-radius:12px;flex:none;place-items:center;display:grid}.roster-row{background:var(--fill-quaternary)}@media (orientation:landscape) and (height<=500px){.setup-config{padding:var(--space-md) var(--space-lg)}.setup-heading-row{margin-bottom:10px}.setup-heading{font-size:22px}.setup-field{margin-bottom:12px}.setup-legend{margin-bottom:6px}.tile{flex-direction:row;gap:7px;min-height:44px;padding:6px}.tile--slim{min-height:42px}.tile-grid,.tile-row{gap:6px}.setup-hint{margin-top:4px}}@media (orientation:landscape) and (height<=410px){.setup-config{padding:12px 18px}.setup-heading-row{margin-bottom:6px}.setup-heading{font-size:20px}.setup-theme{width:36px;height:36px}.setup-field{margin-bottom:8px}.setup-legend{margin-bottom:4px}.tile{min-height:40px}.tile--slim{min-height:38px}}:root{--bg-base:#f4f7fa;--bg-elevated:#fff;--bg-secondary:#fff;--bg-tertiary:#f8fafc;--fill-quaternary:#e4eaf0;--label-primary:#272727;--label-secondary:#27272799;--label-tertiary:#27272752;--separator:#27272724;--separator-opaque:#cfd8e0;--accent:#2f6e9e;--accent-soft:#a4d8ff;--accent-tint:#a4d8ff33;--success:#3e7c4f;--warning:#c77b1e;--danger:#c0392b;--danger-tint:#c0392b1a;--ball-red:#d6252b;--ball-yellow:#f5b301;--ball-green:#1e8e4e;--ball-brown:#8a5a2b;--ball-blue:#0b63c5;--ball-pink:#e8628c;--ball-black:#1a1a1a;--ball-white:#fafaf7;--on-ball-red:#fff;--on-ball-yellow:#1a1a1a;--on-ball-green:#fff;--on-ball-brown:#fff;--on-ball-blue:#fff;--on-ball-pink:#1a1a1a;--on-ball-black:#fff;--on-ball-white:#1a1a1a;--font-sans:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Inter var", "Inter", system-ui, sans-serif;--font-numeric:"SF Mono", ui-monospace, "JetBrains Mono", "Space Mono", monospace;--type-large-title-size:2.125rem;--type-large-title-weight:700;--type-large-title-lh:2.5625rem;--type-large-title-tracking:.023em;--type-title-1-size:1.75rem;--type-title-1-weight:700;--type-title-1-lh:2.125rem;--type-title-1-tracking:.021em;--type-title-2-size:1.375rem;--type-title-2-weight:600;--type-title-2-lh:1.75rem;--type-title-2-tracking:-.017em;--type-title-3-size:1.25rem;--type-title-3-weight:600;--type-title-3-lh:1.5625rem;--type-title-3-tracking:-.023em;--type-headline-size:1.0625rem;--type-headline-weight:600;--type-headline-lh:1.375rem;--type-headline-tracking:-.025em;--type-body-size:1.0625rem;--type-body-weight:400;--type-body-lh:1.375rem;--type-body-tracking:-.025em;--type-callout-size:1rem;--type-callout-weight:400;--type-callout-lh:1.3125rem;--type-callout-tracking:-.02em;--type-subhead-size:.9375rem;--type-subhead-weight:400;--type-subhead-lh:1.25rem;--type-subhead-tracking:-.015em;--type-footnote-size:.8125rem;--type-footnote-weight:400;--type-footnote-lh:1.125rem;--type-footnote-tracking:-.006em;--type-caption-size:.75rem;--type-caption-weight:400;--type-caption-lh:1rem;--type-caption-tracking:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:40px;--space-8:48px;--space-9:64px;--gutter:20px;--gutter-landscape:24px;--content-max:640px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-2xl:28px;--radius-pill:999px;--shadow-1:0 1px 2px #0000000a, 0 1px 1px #00000008;--shadow-2:0 4px 12px #0000000f, 0 1px 3px #0000000a;--shadow-3:0 12px 32px #0000001a, 0 2px 8px #0000000d;--material-bg:#ffffffb8;--material-blur:blur(24px) saturate(180%);--scrim:#0000004d;--ease-standard:cubic-bezier(.4, 0, .2, 1);--ease-out:cubic-bezier(0, 0, .2, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--dur-fast:.15s;--dur-base:.25s;--dur-slow:.4s;--z-nav:100;--z-sheet-scrim:900;--z-sheet:1000;--z-toast:1100;--z-debug:2000;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}body:not(.light-theme){--bg-base:#1e1e1e;--bg-elevated:#272727;--bg-secondary:#272727;--bg-tertiary:#2f2f2f;--fill-quaternary:#383838;--label-primary:#f1f5f8;--label-secondary:#f1f5f89e;--label-tertiary:#f1f5f857;--separator:#f1f5f824;--separator-opaque:#3f3f3f;--accent:#a4d8ff;--accent-soft:#a4d8ff;--accent-tint:#a4d8ff29;--success:#6fbf85;--warning:#e8a44c;--danger:#e06a5c;--danger-tint:#e06a5c29;--ball-red:#e63b41;--ball-yellow:#ffc01f;--ball-green:#2ba55f;--ball-brown:#a06a34;--ball-blue:#2277da;--ball-pink:#f075a0;--ball-black:#2a2a2a;--ball-white:#fff;--on-ball-black:#fff;--shadow-1:0 1px 2px #0006, 0 1px 1px #0000004d;--shadow-2:0 4px 12px #00000080, 0 1px 3px #0006;--shadow-3:0 12px 32px #0009, 0 2px 8px #0006;--material-bg:#1c1c1eb8;--scrim:#00000080}.type-large-title{font:var(--type-large-title-weight) var(--type-large-title-size)/var(--type-large-title-lh) var(--font-sans);letter-spacing:var(--type-large-title-tracking)}.type-title-1{font:var(--type-title-1-weight) var(--type-title-1-size)/var(--type-title-1-lh) var(--font-sans);letter-spacing:var(--type-title-1-tracking)}.type-title-2{font:var(--type-title-2-weight) var(--type-title-2-size)/var(--type-title-2-lh) var(--font-sans);letter-spacing:var(--type-title-2-tracking)}.type-title-3{font:var(--type-title-3-weight) var(--type-title-3-size)/var(--type-title-3-lh) var(--font-sans);letter-spacing:var(--type-title-3-tracking)}.type-headline{font:var(--type-headline-weight) var(--type-headline-size)/var(--type-headline-lh) var(--font-sans);letter-spacing:var(--type-headline-tracking)}.type-body{font:var(--type-body-weight) var(--type-body-size)/var(--type-body-lh) var(--font-sans);letter-spacing:var(--type-body-tracking)}.type-callout{font:var(--type-callout-weight) var(--type-callout-size)/var(--type-callout-lh) var(--font-sans);letter-spacing:var(--type-callout-tracking)}.type-subhead{font:var(--type-subhead-weight) var(--type-subhead-size)/var(--type-subhead-lh) var(--font-sans);letter-spacing:var(--type-subhead-tracking)}.type-footnote{font:var(--type-footnote-weight) var(--type-footnote-size)/var(--type-footnote-lh) var(--font-sans);letter-spacing:var(--type-footnote-tracking)}.type-caption{font:var(--type-caption-weight) var(--type-caption-size)/var(--type-caption-lh) var(--font-sans);letter-spacing:var(--type-caption-tracking)}.numeric{font-family:var(--font-numeric);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}@media (prefers-reduced-motion:reduce){:root{--dur-fast:.01ms;--dur-base:.01ms;--dur-slow:.01ms}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.ui-app,.ui-app *{box-sizing:border-box}.ui-app{background:var(--bg-base);min-height:100dvh;color:var(--label-primary);font:var(--type-body-weight) var(--type-body-size)/var(--type-body-lh) var(--font-sans);letter-spacing:var(--type-body-tracking);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-tap-highlight-color:transparent;margin:0}.ui-screen{background:var(--bg-base);min-height:100dvh;padding-left:max(var(--gutter), env(safe-area-inset-left));padding-right:max(var(--gutter), env(safe-area-inset-right));padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);flex-direction:column;display:flex}@media (orientation:landscape){.ui-screen{padding-left:max(var(--gutter-landscape), env(safe-area-inset-left));padding-right:max(var(--gutter-landscape), env(safe-area-inset-right))}}.ui-screen-scroll{-webkit-overflow-scrolling:touch;padding-bottom:var(--space-9);flex:1;overflow-y:auto}.ui-screen-body{width:100%;max-width:var(--content-max);margin:0 auto}.ui-large-title{margin:var(--space-4) 0 var(--space-3);transition:opacity var(--dur-fast) var(--ease-standard)}.ui-large-title.is-collapsed{opacity:0}.ui-navbar{z-index:var(--z-nav);align-items:center;gap:var(--space-2);min-height:44px;padding:var(--space-2) 0;background:var(--material-bg);-webkit-backdrop-filter:var(--material-blur);border-bottom:.5px solid var(--separator);grid-template-columns:1fr auto 1fr;display:grid;position:sticky;top:0}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.ui-navbar{background:var(--bg-elevated)}}.ui-navbar-title{text-align:center;font:var(--type-headline-weight) var(--type-headline-size)/var(--type-headline-lh) var(--font-sans);letter-spacing:var(--type-headline-tracking);opacity:0;transition:opacity var(--dur-fast) var(--ease-standard);grid-column:2}.ui-navbar-title.is-visible{opacity:1}.ui-navbar-lead{grid-column:1;justify-self:start}.ui-navbar-trail{grid-column:3;justify-self:end}.ui-navbar-back{align-items:center;gap:var(--space-1);min-height:44px;padding:0 var(--space-2);color:var(--accent);cursor:pointer;font:var(--type-body-weight) var(--type-body-size)/1 var(--font-sans);background:0 0;border:none;display:inline-flex}.ui-btn{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-md);font:var(--type-headline-weight) var(--type-headline-size)/1 var(--font-sans);letter-spacing:var(--type-headline-tracking);cursor:pointer;-webkit-user-select:none;user-select:none;padding:0 var(--space-4);transition:transform var(--dur-fast) var(--ease-spring), background-color var(--dur-fast) var(--ease-standard), opacity var(--dur-fast) var(--ease-standard);border:none;min-width:44px;display:inline-flex}.ui-btn:active:not(:disabled){transform:scale(.96)}.ui-btn:disabled{opacity:.4;cursor:default}.ui-btn-sm{border-radius:var(--radius-sm);height:34px;font-size:var(--type-subhead-size)}.ui-btn-md{height:44px}.ui-btn-lg{border-radius:var(--radius-lg);height:50px}.ui-btn-full{width:100%}.ui-btn-filled{background:var(--accent);color:#fff}.ui-btn-tinted{background:var(--accent-tint);color:var(--accent)}.ui-btn-plain{color:var(--accent);padding:0 var(--space-2);background:0 0}.ui-btn-destructive{background:var(--danger-tint);color:var(--danger)}.ui-card{background:var(--bg-elevated);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);padding:var(--space-4)}.ui-card-primary{padding:var(--space-5)}.ui-list{background:var(--bg-elevated);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);overflow:hidden}.ui-list-header{padding:var(--space-2) var(--space-4);color:var(--label-secondary);font:var(--type-footnote-weight) var(--type-footnote-size)/var(--type-footnote-lh) var(--font-sans);text-transform:uppercase;letter-spacing:.03em}.ui-row{align-items:center;gap:var(--space-3);width:100%;min-height:44px;padding:var(--space-3) var(--space-4);background:var(--bg-elevated);text-align:left;color:var(--label-primary);font:var(--type-body-weight) var(--type-body-size)/var(--type-body-lh) var(--font-sans);border:none;display:flex;position:relative}button.ui-row{cursor:pointer}button.ui-row:active{background:var(--fill-quaternary)}.ui-row+.ui-row:before{content:"";top:0;left:var(--space-4);border-top:.5px solid var(--separator);position:absolute;right:0}.ui-row-lead{flex-shrink:0;display:inline-flex}.ui-row-content{flex:1;min-width:0}.ui-row-title{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.ui-row-subtitle{color:var(--label-secondary);font-size:var(--type-subhead-size);display:block}.ui-row-value{color:var(--label-secondary);flex-shrink:0}.ui-row-chevron{color:var(--label-tertiary);flex-shrink:0;display:inline-flex}.ui-segmented{background:var(--fill-quaternary);border-radius:var(--radius-sm);isolation:isolate;grid-auto-columns:1fr;grid-auto-flow:column;gap:0;padding:2px;display:grid;position:relative}.ui-segmented-thumb{background:var(--bg-elevated);border-radius:calc(var(--radius-sm) - 2px);box-shadow:var(--shadow-1);transition:transform var(--dur-base) var(--ease-spring), width var(--dur-base) var(--ease-spring);z-index:-1;position:absolute;top:2px;bottom:2px}.ui-segment{appearance:none;min-height:36px;padding:0 var(--space-3);cursor:pointer;color:var(--label-primary);font:var(--type-subhead-weight) var(--type-subhead-size)/1 var(--font-sans);white-space:nowrap;transition:color var(--dur-fast) var(--ease-standard);background:0 0;border:none}.ui-segment.is-active{font-weight:600}.ui-stepper{background:var(--fill-quaternary);border-radius:var(--radius-sm);align-items:center;display:inline-flex;overflow:hidden}.ui-stepper-btn{width:44px;height:36px;color:var(--accent);font-size:var(--type-title-3-size);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:inline-flex}.ui-stepper-btn:active:not(:disabled){background:#0000000f}.ui-stepper-btn:disabled{color:var(--label-tertiary);cursor:default}.ui-stepper-value{text-align:center;font-variant-numeric:tabular-nums;min-width:48px;font-family:var(--font-numeric);border-left:.5px solid var(--separator);border-right:.5px solid var(--separator);padding:0 var(--space-2)}.ui-ball{cursor:pointer;background:var(--ball-fill);box-shadow:var(--shadow-2);transition:transform var(--dur-fast) var(--ease-spring);outline-offset:-1px;border:none;border-radius:50%;outline:1px solid #0000002e;flex-shrink:0;padding:0;position:relative}.ui-ball:before{content:"";pointer-events:none;background:radial-gradient(circle at 30% 30%,#ffffff8c 0%,#ffffff1f 32%,#fff0 60%);border-radius:50%;position:absolute;inset:0}.ui-ball:active{transform:scale(.94)}.ui-ball-sm{width:36px;height:36px}.ui-ball-md{width:52px;height:52px}.ui-ball-lg{width:68px;height:68px}.ui-ball-label{color:var(--ball-label);font:600 var(--type-caption-size)/1 var(--font-sans);pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.ui-ball-count{border-radius:var(--radius-pill);background:var(--label-primary);min-width:18px;height:18px;color:var(--bg-elevated);font:700 var(--type-caption-size)/18px var(--font-numeric);text-align:center;padding:0 4px;position:absolute;top:-4px;right:-4px}.ui-avatar{object-fit:cover;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:inline-flex;overflow:hidden}.ui-stat{gap:var(--space-1);flex-direction:column;display:flex}.ui-stat-value{font:700 var(--type-title-1-size)/1 var(--font-numeric);font-variant-numeric:tabular-nums;letter-spacing:var(--type-title-1-tracking);color:var(--label-primary)}.ui-stat-label{font:var(--type-footnote-weight) var(--type-footnote-size)/var(--type-footnote-lh) var(--font-sans);color:var(--label-secondary)}.ui-empty{text-align:center;align-items:center;gap:var(--space-3);padding:var(--space-8) var(--space-5);flex-direction:column;display:flex}.ui-empty-icon{font-size:44px;line-height:1}.ui-empty-title{font:var(--type-title-3-weight) var(--type-title-3-size)/var(--type-title-3-lh) var(--font-sans);letter-spacing:var(--type-title-3-tracking)}.ui-empty-text{color:var(--label-secondary);max-width:32ch}.ui-sheet-scrim{z-index:var(--z-sheet-scrim);background:var(--scrim);opacity:0;transition:opacity var(--dur-base) var(--ease-standard);position:fixed;inset:0}.ui-sheet-scrim.is-open{opacity:1}.ui-sheet{z-index:var(--z-sheet);background:var(--bg-elevated);border-radius:var(--radius-2xl) var(--radius-2xl) 0 0;box-shadow:var(--shadow-3);padding-bottom:max(var(--space-5), calc(env(safe-area-inset-bottom) + var(--space-3)));transition:transform var(--dur-base) var(--ease-spring);touch-action:none;flex-direction:column;max-height:92dvh;display:flex;position:fixed;bottom:0;left:0;right:0;transform:translateY(100%)}.ui-sheet.is-open{transform:translateY(var(--sheet-offset,0px))}.ui-sheet-grabber{border-radius:var(--radius-pill);background:var(--label-tertiary);width:36px;height:5px;margin:var(--space-2) auto var(--space-1);flex-shrink:0}.ui-sheet-body{padding:var(--space-3) max(var(--gutter), env(safe-area-inset-left)) 0;-webkit-overflow-scrolling:touch;overflow-y:auto}.ui-toast-host{top:max(var(--space-3), env(safe-area-inset-top));z-index:var(--z-toast);align-items:center;gap:var(--space-2);pointer-events:none;padding:0 var(--space-4);flex-direction:column;display:flex;position:fixed;left:0;right:0}.ui-toast{pointer-events:auto;align-items:center;gap:var(--space-3);max-width:var(--content-max);width:100%;padding:var(--space-3) var(--space-4);background:var(--material-bg);-webkit-backdrop-filter:var(--material-blur);border:.5px solid var(--separator);border-radius:var(--radius-md);box-shadow:var(--shadow-2);animation:ui-toast-in var(--dur-base) var(--ease-spring);display:flex}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.ui-toast{background:var(--bg-elevated)}}.ui-toast-msg{font-size:var(--type-subhead-size);flex:1}.ui-toast-action{color:var(--accent);cursor:pointer;background:0 0;border:none;flex-shrink:0;font-weight:600}@keyframes ui-toast-in{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}.ui-app :focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}.ui-debug-grid{z-index:var(--z-debug);pointer-events:none;background-image:repeating-linear-gradient(90deg,#ff00801f 0 1px,#0000 1px 8px),repeating-linear-gradient(#ff00801f 0 1px,#0000 1px 8px);position:fixed;inset:0}.ui-debug-safe{z-index:var(--z-debug);pointer-events:none;border-top:env(safe-area-inset-top) solid #007aff29;border-bottom:env(safe-area-inset-bottom) solid #007aff29;border-left:env(safe-area-inset-left) solid #007aff29;border-right:env(safe-area-inset-right) solid #007aff29;position:fixed;inset:0}.sb-icon{vertical-align:-.125em;flex:none;transition:transform .18s cubic-bezier(.34,1.4,.64,1),opacity .14s;display:inline-block}button:active .sb-icon,a:active .sb-icon,.ripple:active .sb-icon{transform:scale(.86)}button:disabled .sb-icon{opacity:.45}.icon-btn{min-width:44px;min-height:44px;color:var(--label-secondary,inherit);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:background-color .16s,color .16s;display:inline-flex}.icon-btn:hover{background:var(--fill-quaternary,#7f7f7f1f);color:var(--label-primary,inherit)}.icon-btn:active{background:var(--fill-quaternary,#7f7f7f33)}.icon-btn--danger:hover{color:var(--danger,#c0392b)}.btn .sb-icon{margin-right:.5em}.btn .sb-icon:only-child{margin-right:0}.sb-icon--spin{animation:.9s linear infinite sb-icon-spin}@keyframes sb-icon-spin{to{transform:rotate(360deg)}}.sb-icon--pop{animation:.34s cubic-bezier(.34,1.56,.64,1) sb-icon-pop}@keyframes sb-icon-pop{0%{opacity:0;transform:scale(.6)}60%{opacity:1;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.sb-icon,.icon-btn{transition:none}.sb-icon--spin,.sb-icon--pop{animation:none}button:active .sb-icon,a:active .sb-icon,.ripple:active .sb-icon{transform:none}}body{--brand-deep:#1f4d70;--brand-art:#3a6281;--brand-on-deep:#a4d8ff;--brand-tint:#a4d8ff}body[data-accent=green]{--brand-deep:#1e5539;--brand-art:#396951;--brand-on-deep:#93d9ae;--brand-tint:#93d9ae;--accent-sage:#93d9ae;--accent-sage-light:#b9e6ca;--accent-sage-dark:#7db894;--on-accent:#21262a;--accent:#93d9ae;--accent-soft:#93d9ae;--accent-tint:#93d9ae29;--shadow-glow:0 0 24px #93d9ae40;--felt-card-active:#7db8941f;--gradient-active-card:linear-gradient(135deg, #93d9ae2e 0%, #93d9ae0f 100%)}body.light-theme[data-accent=green]{--accent-sage:#2e7550;--on-accent:#fff;--accent-sage-light:#93d9ae;--accent-sage-dark:#1e5539;--gradient-primary:linear-gradient(135deg, #2e7550 0%, #1e5539 100%);--accent:#2e7550;--accent-soft:#93d9ae;--accent-tint:#93d9ae33;--shadow-glow:0 0 24px #2e755026;--felt-card-active:#2e75500f;--gradient-active-card:linear-gradient(135deg, #2e75501a 0%, #2e75500a 100%)}body[data-accent=claret]{--brand-deep:#6b1f31;--brand-art:#7d3a4a;--brand-on-deep:#f2a6b4;--brand-tint:#f2a6b4;--accent-sage:#f2a6b4;--accent-sage-light:#f7c5ce;--accent-sage-dark:#ce8d99;--on-accent:#21262a;--accent:#f2a6b4;--accent-soft:#f2a6b4;--accent-tint:#f2a6b429;--shadow-glow:0 0 24px #f2a6b440;--felt-card-active:#ce8d991f;--gradient-active-card:linear-gradient(135deg, #f2a6b42e 0%, #f2a6b40f 100%)}body.light-theme[data-accent=claret]{--accent-sage:#9e2f45;--on-accent:#fff;--accent-sage-light:#f2a6b4;--accent-sage-dark:#6b1f31;--gradient-primary:linear-gradient(135deg, #9e2f45 0%, #6b1f31 100%);--accent:#9e2f45;--accent-soft:#f2a6b4;--accent-tint:#f2a6b433;--shadow-glow:0 0 24px #9e2f4526;--felt-card-active:#9e2f450f;--gradient-active-card:linear-gradient(135deg, #9e2f451a 0%, #9e2f450a 100%)}body[data-accent=gold]{--brand-deep:#5e450b;--brand-art:#715b28;--brand-on-deep:#f2cf78;--brand-tint:#f2cf78;--accent-sage:#f2cf78;--accent-sage-light:#f7e0a7;--accent-sage-dark:#ceb066;--on-accent:#21262a;--accent:#f2cf78;--accent-soft:#f2cf78;--accent-tint:#f2cf7829;--shadow-glow:0 0 24px #f2cf7840;--felt-card-active:#ceb0661f;--gradient-active-card:linear-gradient(135deg, #f2cf782e 0%, #f2cf780f 100%)}body.light-theme[data-accent=gold]{--accent-sage:#86620f;--on-accent:#fff;--accent-sage-light:#f2cf78;--accent-sage-dark:#5e450b;--gradient-primary:linear-gradient(135deg, #86620f 0%, #5e450b 100%);--accent:#86620f;--accent-soft:#f2cf78;--accent-tint:#f2cf7833;--shadow-glow:0 0 24px #86620f26;--felt-card-active:#86620f0f;--gradient-active-card:linear-gradient(135deg, #86620f1a 0%, #86620f0a 100%)}body[data-accent=pink]{--brand-deep:#77244a;--brand-art:#873e60;--brand-on-deep:#f6a9c9;--brand-tint:#f6a9c9;--accent-sage:#f6a9c9;--accent-sage-light:#f9c7dc;--accent-sage-dark:#d190ab;--on-accent:#21262a;--accent:#f6a9c9;--accent-soft:#f6a9c9;--accent-tint:#f6a9c929;--shadow-glow:0 0 24px #f6a9c940;--felt-card-active:#d190ab1f;--gradient-active-card:linear-gradient(135deg, #f6a9c92e 0%, #f6a9c90f 100%)}body.light-theme[data-accent=pink]{--accent-sage:#ad3a6c;--on-accent:#fff;--accent-sage-light:#f6a9c9;--accent-sage-dark:#77244a;--gradient-primary:linear-gradient(135deg, #ad3a6c 0%, #77244a 100%);--accent:#ad3a6c;--accent-soft:#f6a9c9;--accent-tint:#f6a9c933;--shadow-glow:0 0 24px #ad3a6c26;--felt-card-active:#ad3a6c0f;--gradient-active-card:linear-gradient(135deg, #ad3a6c1a 0%, #ad3a6c0a 100%)}body[data-accent=slate]{--brand-deep:#323c48;--brand-art:#4b535e;--brand-on-deep:#c3cdd8;--brand-tint:#c3cdd8;--accent-sage:#c3cdd8;--accent-sage-light:#d8dfe6;--accent-sage-dark:#a6aeb8;--on-accent:#21262a;--accent:#c3cdd8;--accent-soft:#c3cdd8;--accent-tint:#c3cdd829;--shadow-glow:0 0 24px #c3cdd840;--felt-card-active:#a6aeb81f;--gradient-active-card:linear-gradient(135deg, #c3cdd82e 0%, #c3cdd80f 100%)}body.light-theme[data-accent=slate]{--accent-sage:#4a5868;--on-accent:#fff;--accent-sage-light:#c3cdd8;--accent-sage-dark:#323c48;--gradient-primary:linear-gradient(135deg, #4a5868 0%, #323c48 100%);--accent:#4a5868;--accent-soft:#c3cdd8;--accent-tint:#c3cdd833;--shadow-glow:0 0 24px #4a586826;--felt-card-active:#4a58680f;--gradient-active-card:linear-gradient(135deg, #4a58681a 0%, #4a58680a 100%)}body[data-accent=clay]{--brand-deep:#663720;--brand-art:#784f3b;--brand-on-deep:#edb792;--brand-tint:#edb792;--accent-sage:#edb792;--accent-sage-light:#f3d0b8;--accent-sage-dark:#c99c7c;--on-accent:#21262a;--accent:#edb792;--accent-soft:#edb792;--accent-tint:#edb79229;--shadow-glow:0 0 24px #edb79240;--felt-card-active:#c99c7c1f;--gradient-active-card:linear-gradient(135deg, #edb7922e 0%, #edb7920f 100%)}body.light-theme[data-accent=clay]{--accent-sage:#975430;--on-accent:#fff;--accent-sage-light:#edb792;--accent-sage-dark:#663720;--gradient-primary:linear-gradient(135deg, #975430 0%, #663720 100%);--accent:#975430;--accent-soft:#edb792;--accent-tint:#edb79233;--shadow-glow:0 0 24px #97543026;--felt-card-active:#9754300f;--gradient-active-card:linear-gradient(135deg, #9754301a 0%, #9754300a 100%)}body{--v3-surface:var(--bg-card-solid);--v3-surface-2:#ffffff0a;--v3-line:var(--border-color);--v3-line-soft:var(--border-color-dim);--v3-ink:var(--text-primary);--v3-ink-2:var(--text-secondary);--v3-win:#6fbf85;--v3-danger-ink:#f09a8e;--v3-danger-bg:#e06a5c1f;--v3-danger-line:#e06a5c52;--tag-ffa-bg:#e8a44c29;--tag-ffa-ink:#f2c083;--tag-1v1-bg:#a4d8ff24;--tag-1v1-ink:#b9e0ff;--tag-team-bg:#c4aaff29;--tag-team-ink:#d4c2ff;--tag-cen-bg:#6fbf8529;--tag-cen-ink:#a6ddb4}body.light-theme{--v3-surface-2:#f4f7fa;--v3-win:#2f7a47;--v3-danger-ink:#a8321f;--v3-danger-bg:#fdf3f2;--v3-danger-line:#f1d3cf;--tag-ffa-bg:#fdf1dd;--tag-ffa-ink:#85500f;--tag-1v1-bg:#e3f0fb;--tag-1v1-ink:#1f5a8a;--tag-team-bg:#efe9fd;--tag-team-ink:#553a9e;--tag-cen-bg:#e2f3e7;--tag-cen-ink:#2b6a3e}.theme-backdrop{z-index:0;pointer-events:none;color:var(--brand-tint);opacity:.07;position:fixed;inset:0;overflow:hidden}body.light-theme .theme-backdrop{color:var(--accent-sage);opacity:.07}.theme-backdrop svg{position:absolute;overflow:visible}.theme-backdrop .tb-full{width:100%;height:100%;inset:0}.theme-backdrop .tb-corner{width:min(40vw,360px);height:auto}.theme-backdrop .tb-corner--tr{top:-14vh;right:-8vw}.theme-backdrop .tb-corner--bl{bottom:6vh;left:3vw}.theme-backdrop .tb-corner--tl{width:min(40vw,360px);top:0;left:0}.theme-backdrop .tb-small{width:70px}.theme-backdrop .tb-edge-dots{width:100%;height:20px;bottom:10px;left:0;right:0}.tb-fill circle,.tb-fill{fill:currentColor}.tb-ring,.tb-line{fill:none;stroke:currentColor;stroke-width:3px}.tb-dot{fill:currentColor}.tb-weave{stroke:currentColor;stroke-width:1px;opacity:.35}.tb-aim{stroke:currentColor;stroke-width:3px;stroke-dasharray:2 12;stroke-linecap:round}.tb-cushion{fill:none;stroke:currentColor;stroke-width:26px}.tb-pocket{fill:currentColor}.db-page{box-sizing:border-box;min-height:100dvh;padding:max(20px, env(safe-area-inset-top)) max(28px, env(safe-area-inset-right)) max(20px, env(safe-area-inset-bottom)) max(28px, env(safe-area-inset-left));font-variant-numeric:tabular-nums;color:var(--v3-ink);flex-direction:column;gap:18px;display:flex;position:relative}.db-page>.db-header,.db-page>.db-grid{z-index:1;position:relative}.db-header{align-items:center;gap:14px;display:flex}.db-avatar-btn{border:2px solid var(--brand-tint);background:var(--brand-deep);cursor:pointer;border-radius:50%;flex-shrink:0;width:48px;height:48px;padding:0;position:relative}.db-avatar{object-fit:cover;border-radius:50%;width:100%;height:100%;display:block}.db-avatar--initials{color:#fff;justify-content:center;align-items:center;font-size:18px;font-weight:700;display:flex}.db-avatar-badge{background:var(--v3-surface);width:20px;height:20px;color:var(--v3-ink);border:1px solid var(--v3-line);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;bottom:-4px;right:-4px}.db-hello{flex-direction:column;gap:1px;display:flex}.db-greeting{letter-spacing:.12em;text-transform:uppercase;color:var(--v3-ink-2);font-size:11px;font-weight:700}.db-name{letter-spacing:-.02em;font-size:22px;font-weight:700;line-height:1.2}.db-today{color:var(--v3-ink-2);margin-left:auto;font-size:13px;font-weight:500}.db-grid{flex:1;grid-template-columns:minmax(300px,360px) minmax(0,1fr);gap:22px;min-height:0;display:grid}.db-left{flex-direction:column;gap:12px;display:flex}.db-resume{border:1px solid var(--brand-tint);background:var(--accent-tint,#a4d8ff1f);color:var(--v3-ink);font:inherit;text-align:left;cursor:pointer;border-radius:16px;align-items:center;gap:12px;padding:12px 16px;display:flex}.db-resume-copy{color:var(--v3-ink-2);flex-direction:column;flex:1;font-size:13px;display:flex}.db-resume-copy b{color:var(--v3-ink);font-size:15px}.db-new{background:var(--brand-deep);color:#fff;min-height:150px;font:inherit;text-align:left;cursor:pointer;transition:transform var(--transition-fast);border:none;border-radius:22px;flex-direction:column;justify-content:space-between;gap:18px;padding:20px;display:flex;position:relative;overflow:hidden;box-shadow:0 12px 28px #00000038}.db-new:active{transform:scale(.985)}.db-new-art{width:150px;height:auto;fill:var(--brand-art);position:absolute;top:-8px;right:-14px}.db-new-eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--brand-on-deep);font-size:11px;font-weight:700;position:relative}.db-new-row{justify-content:space-between;align-items:flex-end;gap:12px;display:flex;position:relative}.db-new-copy{flex-direction:column;gap:3px;display:flex}.db-new-title{letter-spacing:-.025em;font-size:28px;font-weight:700;line-height:1.1}.db-new-sub{color:#ffffffd1;font-size:13px}.db-new-go{background:var(--brand-tint);width:44px;height:44px;color:var(--brand-deep);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.db-stats{background:var(--v3-surface);border:1px solid var(--v3-line);border-radius:18px;grid-template-columns:repeat(3,minmax(0,1fr));padding:14px 0;display:grid}.db-stat{flex-direction:column;gap:2px;min-width:0;padding:0 14px;display:flex}.db-stat+.db-stat{border-left:1px solid var(--v3-line)}.db-stat-value{letter-spacing:-.02em;font-size:24px;font-weight:700;line-height:1.15}.db-stat-value--accent{color:var(--accent-sage)}.db-stat-label{font-size:12px;font-weight:600}.db-stat-note{color:var(--v3-ink-2);white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;overflow:hidden}.db-stat-note--up{color:var(--v3-win)}.db-form{background:var(--v3-surface);border:1px solid var(--v3-line);border-radius:16px;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex}.db-form-label{white-space:nowrap;font-size:13px;font-weight:600}.db-form .db-link{white-space:nowrap}.db-form-dots{gap:5px;display:flex}.db-form-dot{background:var(--v3-surface-2);width:26px;height:26px;color:var(--v3-ink-2);border:1px solid var(--v3-line-soft);border-radius:8px;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}.db-form-dot.is-win{background:var(--accent-sage);color:var(--on-accent);border-color:#0000}.db-link{cursor:pointer;font:inherit;color:var(--accent-sage);background:0 0;border:none;padding:6px 2px;font-size:13px;font-weight:600}.db-right{flex-direction:column;gap:8px;min-width:0;min-height:0;display:flex}.db-right-head{justify-content:space-between;align-items:baseline;padding:0 4px;display:flex}.db-section-title{letter-spacing:.14em;text-transform:uppercase;color:var(--v3-ink-2);margin:0;font-size:12px;font-weight:700}.db-recent{background:var(--v3-surface);border:1px solid var(--v3-line);border-radius:20px;margin:0;padding:0;list-style:none;overflow:hidden}.db-recent li+li{border-top:1px solid var(--v3-line-soft)}.db-row{width:100%;color:var(--v3-ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;grid-template-columns:104px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 16px;display:grid}.db-row:active{background:var(--v3-surface-2)}.db-row-when{flex-direction:column;align-items:flex-start;gap:5px;display:flex}.db-row-day{font-size:13px;font-weight:600}.db-tag{letter-spacing:.08em;text-transform:uppercase;background:var(--tag-ffa-bg);color:var(--tag-ffa-ink);border-radius:6px;padding:3px 7px;font-size:10px;font-weight:700}.db-tag--1v1{background:var(--tag-1v1-bg);color:var(--tag-1v1-ink)}.db-tag--team{background:var(--tag-team-bg);color:var(--tag-team-ink)}.db-tag--century{background:var(--tag-cen-bg);color:var(--tag-cen-ink)}.db-row-players{flex-wrap:wrap;align-items:baseline;gap:4px 14px;min-width:0;display:flex}.db-p{color:var(--v3-ink-2);align-items:baseline;gap:6px;font-size:14.5px;display:inline-flex}.db-p-score{font-weight:600}.db-p.is-winner{color:var(--v3-ink);font-size:15.5px;font-weight:700}.db-p.is-winner .db-p-score{color:var(--accent-sage)}.db-p-trophy{color:var(--accent-gold);align-self:center}.db-you-won{letter-spacing:.08em;text-transform:uppercase;color:var(--v3-win);font-size:10.5px;font-weight:700}.db-draw{letter-spacing:.08em;text-transform:uppercase;color:var(--v3-ink-2);font-size:10.5px;font-weight:700}.db-row-time{color:var(--v3-ink-2);text-align:right;font-size:12.5px}.db-row.is-mine{background:var(--accent-tint,transparent)}.db-loading,.db-empty{text-align:center;background:var(--v3-surface);border:1px solid var(--v3-line);color:var(--v3-ink-2);border-radius:20px;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:36px 16px;display:flex}.db-empty b{color:var(--v3-ink);font-size:15px}@media (orientation:landscape) and (height<=500px){.db-page{gap:14px;height:100dvh;overflow:hidden}.db-grid{grid-template-rows:minmax(0,1fr);overflow:hidden}.db-left{overscroll-behavior:contain;overflow-y:auto}.db-right{overflow:hidden}.db-recent{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:0 auto;min-height:0;overflow-y:auto}.db-new{min-height:128px;padding:16px 18px}.db-new-title{font-size:24px}}@media (orientation:landscape) and (height<=410px){.db-page{padding-top:max(12px, env(safe-area-inset-top));padding-bottom:max(12px, env(safe-area-inset-bottom));gap:10px}.db-left{gap:10px}.db-new{gap:12px;min-height:112px;padding:14px 16px}.db-stats{padding:10px 0}.db-form{padding:9px 12px}}@media (width<=640px){.db-grid{grid-template-columns:1fr}.db-today{display:none}}.pd-root{z-index:var(--z-modal,1000);pointer-events:none;position:fixed;inset:0}.pd-root.is-open{pointer-events:auto}.pd-scrim{opacity:0;background:#0a0e1280;transition:opacity .22s;position:absolute;inset:0}.pd-root.is-open .pd-scrim{opacity:1}.pd-panel{box-sizing:border-box;width:min(340px,86vw);padding:max(20px, env(safe-area-inset-top)) 16px max(14px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left));background:var(--bg-dialog,var(--v3-surface));border-right:1px solid var(--v3-line);color:var(--v3-ink);border-radius:0 24px 24px 0;flex-direction:column;gap:12px;transition:transform .26s cubic-bezier(.32,.72,0,1);display:flex;position:absolute;top:0;bottom:0;left:0;transform:translate(-104%);box-shadow:18px 0 44px #0000004d}.pd-root.is-open .pd-panel{transform:none}@media (prefers-reduced-motion:reduce){.pd-panel,.pd-scrim{transition:none}}.pd-head{align-items:center;gap:12px;padding:0 4px;display:flex}.pd-avatar{border:2px solid var(--brand-tint);object-fit:cover;border-radius:50%;flex-shrink:0;width:52px;height:52px}.pd-avatar--initials{background:var(--brand-deep);color:#fff;box-sizing:border-box;justify-content:center;align-items:center;font-size:19px;font-weight:700;display:flex}.pd-id{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.pd-name{letter-spacing:-.015em;font-size:17px;font-weight:700}.pd-sub{color:var(--v3-ink-2);font-size:12px}.pd-email{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pd-close{background:var(--v3-surface-2);width:36px;height:36px;color:var(--v3-ink);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.pd-chips{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:0 2px;display:grid}.pd-chip{background:var(--v3-surface-2);color:var(--v3-ink-2);font-variant-numeric:tabular-nums;border-radius:12px;flex-direction:column;align-items:center;gap:0;padding:8px 0;font-size:11px;display:flex}.pd-chip b{color:var(--v3-ink);font-size:16px}.pd-chip--accent{background:var(--accent-tint)}.pd-chip--accent b{color:var(--accent-sage)}.pd-scroll{-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;gap:8px;min-height:0;display:flex;overflow-y:auto}.pd-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.pd-item{width:100%;min-height:44px;color:var(--v3-ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:12px;align-items:center;gap:12px;padding:0 10px;font-size:15px;font-weight:500;display:flex}.pd-item:active{background:var(--v3-surface-2)}.pd-badge{letter-spacing:.06em;text-transform:uppercase;background:var(--accent-sage);color:var(--on-accent);border-radius:6px;margin-left:auto;padding:2px 7px;font-size:10.5px;font-weight:700}.pd-hint{color:var(--v3-ink-2);margin-left:auto;font-size:12px}.pd-rule{background:var(--v3-line-soft);height:1px;margin:0 6px}.pd-foot{border-top:1px solid var(--v3-line-soft);justify-content:space-between;align-items:center;gap:10px;padding:10px 4px 0;display:flex}.pd-logout{border:1px solid var(--v3-danger-line);background:var(--v3-danger-bg);min-height:42px;color:var(--v3-danger-ink);font:inherit;cursor:pointer;border-radius:12px;align-items:center;gap:10px;padding:0 14px;font-size:15px;font-weight:600;display:inline-flex}.pd-version{color:var(--v3-ink-2);font-size:12px}.st-page,.ms-page{box-sizing:border-box;min-height:100dvh;padding:max(18px, env(safe-area-inset-top)) max(24px, env(safe-area-inset-right)) max(28px, env(safe-area-inset-bottom)) max(24px, env(safe-area-inset-left));color:var(--v3-ink);font-variant-numeric:tabular-nums;position:relative}.st-page>header,.st-page>main,.ms-page>header,.ms-page>main,.ms-page>.ms-card{z-index:1;position:relative}.ms-page--loading{justify-content:center;align-items:center;display:flex}.st-header,.ms-header{align-items:center;gap:14px;margin-bottom:16px;display:flex}.st-back{border:1px solid var(--v3-line);background:var(--v3-surface);width:44px;height:44px;color:var(--v3-ink);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.st-title{letter-spacing:-.02em;margin:0;font-size:24px;font-weight:700;line-height:1.2}.st-body{flex-direction:column;gap:14px;max-width:760px;margin:0 auto;display:flex}.st-section{background:var(--v3-surface);border:1px solid var(--v3-line);border-radius:18px;flex-direction:column;gap:12px;padding:18px;scroll-margin-top:16px;display:flex}.st-h2{margin:0;font-size:16px;font-weight:700}.st-field{justify-content:space-between;align-items:center;gap:14px;display:flex}.st-field--stack{flex-direction:column;align-items:stretch}.st-label{font-size:14px;font-weight:600}.st-note{color:var(--v3-ink-2);margin:0;font-size:13px}.st-note--ok{color:var(--v3-win)}.st-note--bad{color:var(--v3-danger-ink)}.st-seg{background:var(--v3-surface-2);border:1px solid var(--v3-line-soft);border-radius:12px;padding:3px;display:inline-flex}.st-seg-btn{min-height:36px;color:var(--v3-ink-2);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:9px;padding:0 14px;font-size:13px;font-weight:600}.st-seg-btn.is-on{background:var(--v3-surface);color:var(--v3-ink);box-shadow:0 1px 3px #0000001f}body:not(.light-theme) .st-seg-btn.is-on{background:#3a3a3a}.st-preview{background:var(--bg-primary);border:1px solid var(--v3-line);border-radius:16px;grid-template-columns:1fr 1fr;gap:10px;height:150px;padding:14px;display:grid;position:relative;overflow:hidden}.st-preview-art{inset:0;position:absolute!important}.st-preview-art .tb-corner--tr{width:52%;top:-26%;right:-10%}.st-preview-art .tb-corner--bl{width:10%;bottom:8%;left:4%}.st-preview-art .tb-corner--tl{width:42%}.st-preview-art .tb-edge-dots{height:10px;bottom:4px}.st-preview-card{z-index:1;background:var(--brand-deep);color:#fff;border-radius:12px;flex-direction:column;justify-content:flex-end;gap:2px;padding:12px;display:flex;position:relative}.st-preview-eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--brand-on-deep);font-size:9px;font-weight:700}.st-preview-title{font-size:18px;font-weight:700}.st-preview-rows{z-index:1;flex-direction:column;gap:6px;display:flex;position:relative}.st-preview-row{background:var(--v3-surface);border:1px solid var(--v3-line-soft);color:var(--v3-ink-2);border-radius:10px;gap:10px;padding:8px 10px;font-size:12px;display:flex}.st-preview-win{color:var(--accent-sage);font-weight:700}.st-preview-btn{z-index:1;background:var(--accent-sage);color:var(--on-accent);border-radius:999px;padding:6px 12px;font-size:12px;font-weight:700;position:absolute;bottom:14px;right:14px}.st-tiles{grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;display:grid}.st-tile{border:2px solid var(--v3-line-soft);background:var(--v3-surface-2);color:var(--v3-ink);font:inherit;cursor:pointer;border-radius:14px;flex-direction:column;gap:6px;padding:6px 6px 8px;display:flex}.st-tile.is-on{border-color:var(--accent-sage)}.st-tile-art{background:var(--bg-primary);border-radius:9px;height:58px;display:block;inset:auto;overflow:hidden;opacity:1!important;position:relative!important}.st-tile-art>svg{opacity:.3}.st-tile-art .tb-corner--tr{width:70%;top:-40%;right:-14%}.st-tile-art .tb-corner--bl{width:14%;bottom:10%;left:6%}.st-tile-art .tb-corner--tl{width:60%}.st-tile-art .tb-edge-dots{height:8px;bottom:2px}.st-tile-name{text-align:center;font-size:12px;font-weight:600}.st-swatches{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.st-swatch{color:var(--v3-ink);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:12px;flex-direction:column;align-items:center;gap:6px;padding:6px 2px;display:flex}.st-swatch-dot{color:#fff;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;display:flex;box-shadow:inset 0 0 0 1px #0000001f}.st-swatch.is-on .st-swatch-dot{box-shadow:0 0 0 3px var(--v3-surface), 0 0 0 5px var(--v3-ink)}.st-swatch-name{color:var(--v3-ink-2);text-align:center;font-size:11.5px;font-weight:600}.st-swatch.is-on .st-swatch-name{color:var(--v3-ink)}.st-select{border:1px solid var(--v3-line);background:var(--v3-surface-2);min-width:200px;min-height:40px;color:var(--v3-ink);font:inherit;border-radius:10px;padding:0 12px;font-size:14px}.st-btn{background:var(--accent-sage);min-height:44px;color:var(--on-accent);font:inherit;cursor:pointer;border:none;border-radius:12px;align-self:flex-start;align-items:center;gap:10px;padding:0 16px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.st-btn:disabled{opacity:.55;cursor:default}.st-btn--ghost{background:var(--v3-surface-2);color:var(--v3-ink);border:1px solid var(--v3-line)}.st-about{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;font-size:14px;display:flex}@media (width<=560px){.st-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}.st-swatches{grid-template-columns:repeat(4,minmax(0,1fr))}.st-field{flex-direction:column;align-items:stretch}}.ms-titles{flex-direction:column;gap:2px;min-width:0;display:flex}.ms-sub{color:var(--v3-ink-2);font-size:13px}.ms-range{margin-left:auto}.ms-body{flex-direction:column;gap:14px;display:flex}.ms-two{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.ms-card{background:var(--v3-surface);border:1px solid var(--v3-line);border-radius:18px;flex-direction:column;gap:12px;min-width:0;padding:16px 18px;scroll-margin-top:16px;display:flex}.ms-card-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;display:flex}.ms-h2{margin:0;font-size:16px;font-weight:700}.ms-meta{color:var(--v3-ink-2);font-size:12px}.ms-insight{color:var(--v3-ink-2);margin:0;font-size:13px}.ms-insight b{color:var(--v3-ink)}.ms-accent{color:var(--accent-sage)}.ms-bad{color:var(--v3-danger-ink)}.ms-foot{text-align:center;color:var(--v3-ink-2);margin:0;font-size:12px}.ms-empty{text-align:center;color:var(--v3-ink-2);align-items:center;padding:40px 18px}.ms-empty b{color:var(--v3-ink);font-size:15px}.ms-mini-loading{justify-content:center;padding:24px;display:flex}.ms-kpis{grid-template-columns:repeat(5,minmax(0,1fr));gap:0;padding:16px 0;display:grid}.ms-kpi{flex-direction:column;gap:2px;min-width:0;padding:0 16px;display:flex}.ms-kpi+.ms-kpi{border-left:1px solid var(--v3-line)}.ms-kpi b{letter-spacing:-.02em;font-size:26px;line-height:1.15}.ms-kpi span{font-size:12px;font-weight:600}.ms-kpi small{color:var(--v3-ink-2);font-size:11.5px}.ms-form{flex-wrap:wrap;gap:5px;display:flex}.ms-legend{color:var(--v3-ink-2);gap:14px;font-size:12px;display:flex}.ms-legend span{align-items:center;gap:6px;display:inline-flex}.ms-key{border-radius:3px;width:10px;height:10px;display:inline-block}.ms-key--games{background:var(--v3-line);background:color-mix(in srgb, var(--v3-ink) 18%, transparent)}.ms-key--wins{background:var(--accent-sage)}.ms-cols{border-bottom:1px solid var(--v3-line);align-items:stretch;gap:14px;height:150px;padding:0 4px;display:flex}.ms-cols--days{gap:8px;height:130px}.ms-col{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;gap:5px;min-width:0;padding-bottom:20px;display:flex;position:relative}.ms-col-val{font-size:11.5px;font-weight:600}.ms-col-bar{background:var(--v3-line);background:color-mix(in srgb, var(--v3-ink) 18%, transparent);border-radius:4px 4px 0 0;flex-direction:column;justify-content:flex-end;width:100%;max-width:40px;min-height:2px;display:flex;overflow:hidden}.ms-col-fill{background:var(--accent-sage);width:100%;box-shadow:0 -2px 0 var(--v3-surface);display:block}.ms-col-bar--solid{background:color-mix(in srgb, var(--accent-sage) 45%, transparent);max-width:28px}.ms-col-bar--solid.is-top{background:var(--accent-sage)}.ms-col-label{color:var(--v3-ink-2);font-size:11.5px;position:absolute;bottom:0}.ms-heroes{flex-wrap:wrap;gap:26px;display:flex}.ms-heroes>div{flex-direction:column;gap:2px;display:flex}.ms-heroes b{letter-spacing:-.03em;font-size:34px;line-height:1.1}.ms-heroes span{color:var(--v3-ink-2);font-size:12px}.ms-hbars{flex-direction:column;gap:8px;display:flex}.ms-hbar{grid-template-columns:52px minmax(0,1fr) 34px;align-items:center;gap:10px;display:grid}.ms-hbar-label{color:var(--v3-ink-2);font-size:12.5px}.ms-hbar-track{background:var(--v3-surface-2);border-radius:0 4px 4px 0;height:12px;overflow:hidden}.ms-hbar-fill{background:var(--accent-sage);border-radius:0 4px 4px 0;min-width:2px;height:100%;display:block}.ms-hbar-fill--bad{background:var(--v3-danger-ink)}.ms-hbar-val{text-align:right;font-size:12.5px;font-weight:600}.ms-h2h{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.ms-opp{background:var(--v3-surface-2);border:1px solid var(--v3-line-soft);border-radius:14px;flex-direction:column;gap:8px;padding:12px;display:flex}.ms-opp-head{align-items:center;gap:10px;display:flex}.ms-opp-avatar{background:var(--accent-tint);width:32px;height:32px;color:var(--accent-sage);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:flex}.ms-opp-id{flex-direction:column;min-width:0;display:flex}.ms-opp-id b{text-overflow:ellipsis;white-space:nowrap;font-size:14.5px;overflow:hidden}.ms-opp-id small{color:var(--v3-ink-2);font-size:11.5px}.ms-opp-score{letter-spacing:-.02em;font-size:22px;font-weight:700}.ms-opp-score i{color:var(--v3-ink-2);font-style:normal}.ms-split{background:color-mix(in srgb, var(--v3-ink) 18%, transparent);border-radius:4px;height:7px;display:block;overflow:hidden}.ms-split-win{background:var(--accent-sage);height:100%;display:block}.ms-ratio-head{justify-content:space-between;font-size:13px;display:flex}.ms-ratio{border-radius:4px;gap:2px;height:12px;display:flex;overflow:hidden}.ms-ratio>span{height:100%;display:block}.ms-balls{grid-template-columns:repeat(6,minmax(0,1fr));gap:6px;display:grid}.ms-ball{flex-direction:column;align-items:center;gap:4px;display:flex}.ms-ball-dot{border-radius:50%;width:28px;height:28px;box-shadow:inset -4px -5px #00000029,0 0 0 1px #7f7f7f40}.ms-ball b{font-size:15px}.ms-ball small{color:var(--v3-ink-2);font-size:11px}.ms-century-empty{text-align:center;background:var(--v3-surface-2);border:1px dashed var(--v3-line);color:var(--v3-ink-2);border-radius:14px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:6px;padding:18px;font-size:13px;display:flex}.ms-century-empty b{color:var(--v3-ink);font-size:15px}.ms-century-empty svg{color:var(--accent-sage)}@media (width<=760px){.ms-two{grid-template-columns:1fr}.ms-h2h{grid-template-columns:repeat(2,minmax(0,1fr))}.ms-kpis{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:14px}.ms-kpi:nth-child(4){border-left:none}.ms-header{flex-wrap:wrap}}.history-page{position:relative}.history-page>header,.history-page>main{z-index:1;position:relative}@media (height<=500px){.pd-panel{padding-top:max(12px, env(safe-area-inset-top));gap:8px}.pd-avatar{width:44px;height:44px}.pd-name{font-size:16px}.pd-chip{padding:5px 0}.pd-chip b{font-size:14px}.pd-item{min-height:40px;font-size:14.5px}.pd-scroll{gap:4px}}.wn-list{gap:12px}.wn-release.is-current{border-color:var(--accent-sage)}.wn-head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.wn-version{letter-spacing:.04em;color:var(--accent-sage);font-variant-numeric:tabular-nums;font-size:13px;font-weight:700}.wn-current{letter-spacing:.08em;text-transform:uppercase;background:var(--accent-sage);color:var(--on-accent);border-radius:6px;padding:2px 7px;font-size:10.5px;font-weight:700}.wn-date{color:var(--v3-ink-2);margin-left:auto;font-size:12.5px}.wn-group{flex-direction:column;gap:6px;display:flex}.wn-tag{letter-spacing:.08em;text-transform:uppercase;background:var(--tag-1v1-bg);color:var(--tag-1v1-ink);border-radius:6px;align-self:flex-start;padding:2px 7px;font-size:10.5px;font-weight:700}.wn-tag--improved{background:var(--tag-team-bg);color:var(--tag-team-ink)}.wn-tag--fixed{background:var(--tag-cen-bg);color:var(--tag-cen-ink)}.wn-items{flex-direction:column;gap:4px;margin:0;padding-left:18px;font-size:14px;line-height:1.45;display:flex}.wn-items li::marker{color:var(--v3-ink-2)}.pd-dot,.db-avatar-dot{background:var(--accent-sage);width:9px;height:9px;box-shadow:0 0 0 2px var(--bg-dialog,var(--v3-surface));border-radius:50%}.pd-dot{flex-shrink:0;margin-left:8px}.pd-item .pd-hint+.pd-dot{margin-left:8px}.db-avatar-dot{box-shadow:0 0 0 2px var(--bg-primary);position:absolute;top:-1px;right:-1px}button.pd-version{cursor:pointer;font:inherit;color:var(--v3-ink-2);text-underline-offset:3px;background:0 0;border:none;padding:8px 4px;font-size:12px;text-decoration:underline}.ps-avatar{object-fit:cover;border:2px solid var(--brand-tint);border-radius:50%;flex-shrink:0;width:40px;height:40px}.ps-avatar--initial{box-sizing:border-box;background:var(--brand-deep);color:#fff;justify-content:center;align-items:center;font-size:17px;font-weight:700;display:flex}.ps-you{color:var(--v3-ink-2);font-size:.7em;font-weight:500}.ps-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;margin-left:auto;display:flex}.ms-header .ms-range{margin-left:0}.ps-picker{color:var(--v3-ink);align-items:center;display:inline-flex;position:relative}.ps-picker select{appearance:none;border:1px solid var(--v3-line);background:var(--v3-surface);min-width:150px;max-width:220px;min-height:42px;color:var(--v3-ink);font:inherit;cursor:pointer;text-overflow:ellipsis;border-radius:12px;padding:0 34px 0 14px;font-size:14px;font-weight:600}.ps-picker select:focus-visible{outline:2px solid var(--accent-sage);outline-offset:2px}.ps-picker svg{pointer-events:none;color:var(--v3-ink-2);position:absolute;right:12px}.ms-sep{color:var(--v3-ink-2);font-style:normal}.ps-vs{flex-direction:column;gap:12px;display:flex}.ps-vs-score{flex-wrap:wrap;gap:28px;display:flex}.ps-vs-score>div{flex-direction:column;gap:2px;display:flex}.ps-vs-score b{letter-spacing:-.02em;font-size:32px;line-height:1.1}.ps-vs-score span{color:var(--v3-ink-2);font-size:12px}.ps-vs-rows{flex-direction:column;display:flex}.ps-vs-rows>div{border-top:1px solid var(--v3-line-soft);justify-content:space-between;gap:12px;padding:8px 0;font-size:13.5px;display:flex}.ps-vs-rows span{color:var(--v3-ink-2)}.ps-formats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.ps-format{background:var(--v3-surface-2);border-radius:12px;flex-direction:column;align-items:flex-start;gap:6px;padding:10px 12px;display:flex}.ps-format b{font-size:20px}.ps-recent{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.ps-recent li+li{border-top:1px solid var(--v3-line-soft)}.ps-recent-row{width:100%;min-height:44px;color:var(--v3-ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;grid-template-columns:92px minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:6px 2px;font-size:13.5px;display:grid}.ps-recent-day{color:var(--v3-ink-2);font-size:12.5px}.ps-recent-opp{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ps-recent-score{font-variant-numeric:tabular-nums;font-weight:700}.ps-recent-frames{font-variant-numeric:tabular-nums;width:auto;min-width:36px;padding:0 6px}.ps-thisisme{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.player-link{min-height:44px;color:inherit;font:inherit;letter-spacing:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;align-items:center;margin:-12px 0;padding:0 2px;text-decoration:none;display:inline-flex}.player-link:hover,.player-link:focus-visible{text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}.player-link:focus-visible{outline:2px solid var(--accent-sage);outline-offset:1px;border-radius:4px}div.db-row{cursor:pointer}div.db-row:focus-visible{outline:2px solid var(--accent-sage);outline-offset:-2px}.undo-bar{z-index:var(--z-toast,1100);left:50%;top:max(12px, env(safe-area-inset-top));box-sizing:border-box;background:var(--bg-dialog,#1a1d21);max-width:min(92vw,560px);color:var(--text-primary);border:1px solid var(--border-color);border-radius:999px;align-items:center;gap:10px;padding:6px 6px 6px 14px;font-size:13.5px;animation:.18s ease-out undo-bar-in;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 10px 30px #00000059}@keyframes undo-bar-in{0%{opacity:0;transform:translate(-50%,-8px)}to{opacity:1;transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.undo-bar{animation:none}}.undo-bar>svg{color:var(--accent-sage);flex-shrink:0}.undo-bar-msg{text-overflow:ellipsis;white-space:nowrap;color:var(--text-secondary);overflow:hidden}.undo-bar-msg b{color:var(--text-primary);font-weight:600}.undo-bar-redo{background:var(--accent-sage);min-height:36px;color:var(--on-accent);font:inherit;cursor:pointer;border:none;border-radius:999px;flex-shrink:0;padding:0 16px;font-size:13.5px;font-weight:700}.undo-bar-close{width:36px;height:36px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.ma-event.is-undone .ma-event-what{opacity:.6;text-decoration:line-through}.ma-event.is-undone .log-undone-tag{text-decoration:none;display:inline-block}.log-undone-tag{letter-spacing:.06em;text-transform:uppercase;background:var(--border-color);color:var(--text-secondary);border-radius:5px;margin-left:8px;padding:1px 6px;font-size:10px;font-weight:700}.ma-event--undo .ma-event-dot,.ma-event--redo .ma-event-dot{background:var(--accent-sage)}.st-switch{border:1px solid var(--v3-line);background:var(--v3-surface-2);cursor:pointer;border-radius:999px;flex-shrink:0;width:52px;height:32px;padding:0;transition:background .16s;position:relative}.st-switch.is-on{background:var(--accent-sage);border-color:#0000}.st-switch-knob{background:#fff;border-radius:50%;width:24px;height:24px;transition:transform .16s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0000004d}.st-switch.is-on .st-switch-knob{transform:translate(20px)}.st-switch:focus-visible{outline:2px solid var(--accent-sage);outline-offset:2px}.pt-pick{gap:14px}.pt-selects{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.pt-field{flex-direction:column;gap:6px;min-width:0;display:flex}.pt-field .ps-picker{display:flex}.pt-field .ps-picker select{width:100%;min-width:0;max-width:none}.pt-calc{cursor:pointer;background:var(--accent-sage);min-height:44px;color:var(--on-accent);font:inherit;border:none;border-radius:12px;align-self:flex-start;align-items:center;gap:8px;padding:0 22px;font-size:15px;font-weight:700;display:inline-flex}.pt-calc:disabled{opacity:.45;cursor:default}.pt-calc:focus-visible{outline:2px solid var(--accent-sage);outline-offset:2px}.pt-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.pt-board{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.pt-board li{background:var(--v3-surface-2);border:1px solid var(--v3-line-soft);border-radius:14px;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:4px 12px;padding:10px 12px;display:grid}.pt-board li.is-top{border-color:var(--accent-sage)}.pt-board-name{flex-direction:column;min-width:0;display:flex}.pt-board-name b{text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.pt-board-name small,.pt-board-frames small{color:var(--v3-ink-2);font-size:11.5px}.pt-board-frames{flex-direction:column;align-items:flex-end;display:flex}.pt-board-frames b{letter-spacing:-.02em;font-size:22px;line-height:1.1}.pt-board-bar{grid-column:2/-1}.pt-table{font-variant-numeric:tabular-nums;flex-direction:column;display:flex}.pt-tr{grid-template-columns:minmax(0, 1.4fr) repeat(var(--pt-cols,3), minmax(0, 1fr));border-top:1px solid var(--v3-line-soft);align-items:center;gap:8px;padding:8px 0;font-size:13.5px;display:grid}.pt-tr>span:not(:first-child){text-align:right}.pt-tr>span[role=rowheader]{color:var(--v3-ink-2)}.pt-th{border-top:none;padding-top:0;font-size:12.5px;font-weight:700}.pt-th>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pt-tr .is-best{color:var(--accent-sage);font-weight:700}.pt-places{flex-direction:column;gap:10px;display:flex}.pt-place-row{grid-template-columns:72px minmax(0,1fr);align-items:center;gap:10px;display:grid}.pt-place-name{text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.pt-place-bar{background:var(--v3-surface-2);border-radius:6px;gap:2px;height:22px;display:flex;overflow:hidden}.pt-place-seg{min-width:18px;color:var(--on-accent);justify-content:center;align-items:center;font-size:11.5px;font-weight:700;display:flex}.pt-place-seg--0{background:var(--accent-sage)}.pt-place-seg--1{background:color-mix(in srgb, var(--accent-sage) 55%, var(--v3-surface));color:var(--v3-ink)}.pt-place-seg--2{background:color-mix(in srgb, var(--v3-ink) 20%, transparent);color:var(--v3-ink)}.pt-recent-row{grid-template-columns:92px minmax(0,1fr) auto}@media (width<=760px){.pt-selects{grid-template-columns:1fr}.pt-calc{justify-content:center;align-self:stretch}.pt-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.pt-kpis .ms-kpi:nth-child(3){border-left:none}.pt-kpis .ms-kpi:nth-child(4){border-left:1px solid var(--v3-line)}.pt-tr{gap:6px;font-size:13px}}.mp-page{--mp-s1:#3987e5;--mp-s2:#d95926;--mp-s3:#199e70;--mp-s4:#c98500;--mp-s5:#d55181;--mp-s6:#008300;--mp-s7:#9085e9;--mp-s8:#e66767}body.light-theme .mp-page{--mp-s1:#2a78d6;--mp-s2:#eb6834;--mp-s3:#1baf7a;--mp-s4:#eda100;--mp-s5:#e87ba4;--mp-s6:#008300;--mp-s7:#4a3aa7;--mp-s8:#e34948}.mp-share{border:1px solid var(--v3-line);background:var(--v3-surface);min-height:44px;color:var(--v3-ink);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:8px;margin-left:auto;padding:0 16px;font-size:14px;font-weight:600;display:inline-flex}.mp-result{grid-template-columns:minmax(0,.9fr) minmax(0,1.6fr);align-items:center;gap:20px;display:grid}.mp-hero{flex-direction:column;gap:6px;min-width:0;display:flex}.mp-eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--v3-ink-2);font-size:11px;font-weight:700}.mp-hero-main{letter-spacing:-.02em;align-items:center;gap:8px;font-size:28px;font-weight:800;line-height:1.15;display:flex}.mp-trophy{color:var(--accent-sage);flex:none}.mp-hero-note{color:var(--v3-ink-2);font-size:13px}.mp-board,.mp-fstats{flex-direction:column;min-width:0;display:flex}.mp-board-row,.mp-fstats-row{border-bottom:1px solid var(--v3-line-soft);align-items:center;gap:8px;padding:9px 4px;font-size:14px;display:grid}.mp-board-row{grid-template-columns:minmax(0,1.6fr) repeat(5,minmax(0,1fr))}.mp-fstats-row{grid-template-columns:minmax(0,1.5fr) repeat(5,minmax(0,1fr))}.mp-board-row:last-child,.mp-fstats-row:last-child{border-bottom:none}.mp-board-head{letter-spacing:.08em;text-transform:uppercase;color:var(--v3-ink-2);padding-top:0;font-size:11px;font-weight:700}.mp-board-head>span:not(:first-child){text-align:right}.mp-board-name{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:8px;min-width:0;font-weight:600;display:flex;overflow:hidden}.mp-board-name small{color:var(--v3-ink-2);font-size:11px;font-weight:600}.mp-board-row.is-winner .mp-board-name{color:var(--accent-sage)}.mp-num{text-align:right;font-variant-numeric:tabular-nums}.mp-num small{color:var(--v3-ink-2);font-size:11px}.mp-strong{font-size:16px;font-weight:700}.mp-muted{color:var(--v3-ink-2)}.mp-swatch{border-radius:3px;flex:none;width:10px;height:10px;display:inline-block}.mp-frames{scroll-snap-type:x proximity;gap:10px;padding:2px 2px 6px;display:flex;overflow-x:auto}.mp-frame{scroll-snap-align:start;border:1px solid var(--v3-line);background:var(--v3-surface-2);border-radius:14px;flex:none;align-items:stretch;display:flex}.mp-frame.is-active{border-color:var(--accent-sage);box-shadow:0 0 0 1px var(--accent-sage) inset}.mp-frame-main{min-width:132px;min-height:64px;color:var(--v3-ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;display:flex}.mp-frame-n{font-size:15px;font-weight:700}.mp-frame-who{color:var(--v3-ink-2);align-items:center;gap:4px;font-size:13px;font-weight:600;display:inline-flex}.mp-frame.is-active .mp-frame-who{color:var(--accent-sage)}.mp-frame-score{color:var(--v3-ink-2);font-variant-numeric:tabular-nums;font-size:12px}.mp-frame-share{border:none;border-left:1px solid var(--v3-line-soft);width:44px;color:var(--v3-ink-2);cursor:pointer;background:0 0;place-items:center;display:grid}.mp-two{align-items:start}.mp-chart{width:100%;position:relative}.mp-chart svg{touch-action:pan-y;display:block}.mp-legend{color:var(--v3-ink-2);flex-wrap:wrap;gap:6px 14px;margin-bottom:6px;font-size:12px;display:flex}.mp-legend span{align-items:center;gap:6px;display:inline-flex}.mp-legend i,.mp-tip i{border-radius:3px;width:10px;height:10px;display:inline-block}.mp-grid{stroke:var(--v3-line-soft);stroke-width:1px}.mp-tick{fill:var(--v3-ink-2);font-size:11px}.mp-line{fill:none;stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.mp-endlabel{fill:var(--v3-ink-2);font-size:12px}.mp-endlabel-v{fill:var(--v3-ink);font-weight:700}.mp-cross{stroke:var(--v3-ink-2);stroke-width:1px;stroke-dasharray:3 3}.mp-dot{stroke:var(--v3-surface);stroke-width:2px}.mp-tip{pointer-events:none;background:var(--v3-surface);border:1px solid var(--v3-line);border-radius:10px;flex-direction:column;gap:3px;min-width:150px;max-width:220px;padding:8px 10px;font-size:12px;display:flex;position:absolute;top:28px;box-shadow:0 8px 24px #00000040}.mp-tip-what{color:var(--v3-ink-2)}.mp-tip-row{align-items:center;gap:6px;display:flex}.mp-tip-row b{margin-left:auto}.mp-visits{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.mp-visit{border-bottom:1px solid var(--v3-line-soft);grid-template-columns:10px minmax(70px,120px) minmax(0,1fr) auto;align-items:center;gap:10px;min-height:40px;padding:4px 2px;font-size:14px;display:grid}.mp-visit:last-child{border-bottom:none}.mp-visit-who{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.mp-visit-what{color:var(--v3-ink-2)}.mp-visit-pts{font-variant-numeric:tabular-nums}.mp-visit--miss{opacity:.6;min-height:32px}.mp-visit--note{grid-template-columns:1fr;font-style:italic}.mp-balls{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.mp-ball{border-radius:50%;width:14px;height:14px;display:inline-block;box-shadow:inset 0 -2px #00000040,0 0 0 1px #00000026}.mp-ball--red{background:var(--ball-red)}.mp-ball--yellow{background:var(--ball-yellow)}.mp-ball--green{background:var(--ball-green)}.mp-ball--brown{background:var(--ball-brown)}.mp-ball--blue{background:var(--ball-blue)}.mp-ball--pink{background:var(--ball-pink)}.mp-ball--black{background:var(--ball-black,#111);box-shadow:0 0 0 1.5px color-mix(in srgb, var(--v3-ink) 55%, transparent)}.mp-tag{color:var(--v3-ink-2);margin-left:4px;font-size:11px;font-weight:600}@media (width<=760px){.mp-result{grid-template-columns:1fr}.mp-board-row{grid-template-columns:minmax(0,1.4fr) repeat(4,minmax(0,1fr))}.mp-board-row>:nth-child(6){display:none}}.sh-screen{z-index:10000;padding:max(16px, env(safe-area-inset-top)) max(24px, env(safe-area-inset-right)) max(16px, env(safe-area-inset-bottom)) max(24px, env(safe-area-inset-left));background:var(--bg-primary);color:var(--v3-ink);animation:fadeIn var(--transition-fast,.15s) ease-out;grid-template-columns:minmax(0,1fr) 300px;align-items:center;gap:28px;display:grid;position:fixed;inset:0}.sh-screen>.theme-backdrop{z-index:0;opacity:.045}.sh-preview,.sh-panel{z-index:1;position:relative}.sh-preview{justify-content:center;align-items:center;min-width:0;height:100%;display:flex}.sh-preview img{object-fit:contain;border:1px solid var(--v3-line);border-radius:18px;max-width:100%;max-height:calc(100dvh - 40px);display:block;box-shadow:0 18px 50px #00000047}.sh-panel{flex-direction:column;gap:14px;min-height:0;max-height:100%;display:flex;overflow-y:auto}.sh-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.sh-title{letter-spacing:-.01em;margin:0;font-size:22px;font-weight:700}.sh-close{border:1px solid var(--v3-line);background:var(--v3-surface);width:44px;height:44px;color:var(--v3-ink-2);cursor:pointer;border-radius:50%;flex:none;place-items:center;display:grid}.sh-group{flex-direction:column;gap:6px;display:flex}.sh-label{letter-spacing:.14em;text-transform:uppercase;color:var(--v3-ink-2);font-size:11px;font-weight:700}.sh-seg{background:var(--v3-surface-2);border:1px solid var(--v3-line);border-radius:12px;grid-template-columns:1fr 1fr;gap:3px;padding:3px;display:grid}.sh-seg button{min-height:40px;font:inherit;color:var(--v3-ink-2);cursor:pointer;background:0 0;border:none;border-radius:9px;font-size:14px;font-weight:600}.sh-seg button.is-on{background:var(--v3-surface);color:var(--v3-ink);box-shadow:0 1px 3px #0000002e}.sh-switch{cursor:pointer;justify-content:space-between;align-items:center;min-height:44px;font-size:15px;font-weight:600;display:flex;position:relative}.sh-switch input{opacity:0;width:1px;height:1px;position:absolute}.sh-switch i{background:var(--v3-surface-2);border:1px solid var(--v3-line);border-radius:14px;flex:none;width:46px;height:28px;transition:background .15s;position:relative}.sh-switch i:after{content:"";background:var(--v3-ink-2);border-radius:50%;width:20px;height:20px;transition:transform .15s,background .15s;position:absolute;top:3px;left:3px}.sh-switch input:checked+i{background:var(--accent-sage);border-color:var(--accent-sage)}.sh-switch input:checked+i:after{background:var(--on-accent,#fff);transform:translate(18px)}.sh-switch input:focus-visible+i{outline:2px solid var(--accent-sage);outline-offset:2px}.sh-actions{grid-template-columns:1.4fr 1fr;gap:10px;margin-top:auto;display:grid}.sh-actions:has(>:only-child){grid-template-columns:1fr}.sh-btn{border:1px solid var(--v3-line);background:var(--v3-surface);min-height:48px;color:var(--v3-ink);font:inherit;cursor:pointer;border-radius:999px;justify-content:center;align-items:center;gap:8px;font-size:16px;font-weight:700;display:inline-flex}.sh-btn--primary{background:var(--accent-sage);border-color:var(--accent-sage);color:var(--on-accent,#1e1e1e)}.sh-btn:disabled{opacity:.5;cursor:default}.sh-hint{color:var(--v3-ink-2);margin:0;font-size:12.5px}.sh-toast{left:50%;bottom:max(20px, env(safe-area-inset-bottom));z-index:2;background:var(--v3-surface);border:1px solid var(--v3-line);border-radius:999px;padding:10px 18px;font-size:14px;font-weight:600;position:fixed;transform:translate(-50%);box-shadow:0 6px 20px #00000040}@media (width<=640px){.sh-screen{grid-template-rows:minmax(0,1fr) auto;grid-template-columns:1fr}.sh-preview img{max-height:55dvh}}.sp-root{z-index:9990;background:var(--bg-primary);color:var(--text-primary);pointer-events:none;font-family:var(--font-ui,system-ui, -apple-system, sans-serif);position:fixed;inset:0;overflow:hidden;container-type:size}.sp-rack{position:absolute;inset:0}.sp-ball{background:var(--accent-sage);border-radius:50%;position:absolute}.sp-center{place-items:center;display:grid;position:absolute;inset:0}.sp-word{letter-spacing:-.035em;opacity:0;align-items:center;gap:2.4cqw;font-size:min(9.2cqw,20cqh);font-weight:800;line-height:1;display:flex}.sp-mark{background:var(--accent-sage);border-radius:.13em;flex:none;width:.48em;height:.48em}.sp-txt{display:inline-block}.sp-credit{left:0;right:0;bottom:max(8cqh, env(safe-area-inset-bottom));text-align:center;letter-spacing:.02em;color:var(--text-secondary);opacity:0;font-size:clamp(13px,1.8cqw,18px);font-weight:500;position:absolute}.sp-credit b{color:var(--text-primary);font-weight:700}.ab-grid{z-index:1;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:start;gap:14px;display:grid;position:relative}.ab-maker,.ab-app{flex-direction:column;gap:14px;display:flex}.ab-who{align-items:center;gap:14px;display:flex}.ab-avatar{width:56px;height:56px;color:var(--accent-sage);background:color-mix(in srgb, var(--accent-sage) 16%, transparent);border-radius:50%;flex:none;place-items:center;font-size:24px;font-weight:800;display:grid}.ab-who-text{flex-direction:column;gap:2px;min-width:0;display:flex}.ab-name{letter-spacing:-.02em;margin:0;font-size:24px;font-weight:800}.ab-role{color:var(--v3-ink-2);font-size:14px}.ab-blurb{color:var(--v3-ink-2);max-width:46ch;margin:0;font-size:15px;line-height:1.5}.ab-chip{min-height:36px;color:var(--accent-sage);background:color-mix(in srgb, var(--accent-sage) 14%, transparent);border-radius:999px;align-self:flex-start;align-items:center;padding:0 14px;font-size:13px;font-weight:700;text-decoration:none;display:inline-flex}.ab-k{letter-spacing:.14em;text-transform:uppercase;color:var(--v3-ink-2);font-size:11px;font-weight:700}.ab-row{border:none;border-bottom:1px solid var(--v3-line-soft);min-height:48px;color:var(--v3-ink);font:inherit;text-align:left;background:0 0;justify-content:space-between;align-items:center;gap:12px;padding:0 2px;font-size:15px;text-decoration:none;display:flex}.ab-row:last-child{border-bottom:none}.ab-row b{font-variant-numeric:tabular-nums;font-weight:700}.ab-link{cursor:pointer}.ab-link svg{color:var(--v3-ink-2)}@media (width<=640px){.ab-grid{grid-template-columns:1fr}}
