@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(../../../fonts/inter-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:400 700;font-display:swap;src:url(../../../fonts/inter-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../../../fonts/jetbrains-mono-400-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../../../fonts/jetbrains-mono-400-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../../../fonts/jetbrains-mono-500-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../../../fonts/jetbrains-mono-500-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--red-600:#d42027;--red-700:#b71c1c;--red-100:#fdeaea;--red-50:#fff5f5;--blue-800:#3a5068;--blue-700:#4a6580;--blue-600:#5b7b9a;--blue-500:#6e8fad;--blue-400:#8faabe;--blue-300:#b0c4d4;--blue-200:#d0dce6;--blue-100:#e8eef3;--blue-50:#f4f7fa;--gray-900:#1a1a1a;--gray-800:#2d2d2d;--gray-700:#404040;--gray-600:#525252;--gray-500:#6b6b6b;--gray-400:#9ca3af;--gray-300:#d1d5db;--gray-200:#e5e7eb;--gray-100:#f3f4f6;--gray-50:#f9fafb;--white:#fff;--success:#16a34a;--success-bg:#f0fdf4;--success-border:#bbf7d0;--warning:#d97706;--warning-bg:#fffbeb;--warning-border:#fde68a;--error:var(--red-600);--error-bg:var(--red-50);--error-border:#fecaca;--highlight-personal:var(--warning-bg);--primary:var(--blue-700);--primary-hover:var(--blue-800);--accent:var(--red-600);--accent-hover:var(--red-700);--bg:var(--gray-50);--bg-card:var(--white);--text:var(--gray-900);--text-secondary:var(--gray-600);--text-muted:var(--gray-500);--border:var(--gray-200);--border-focus:var(--blue-500);--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--text-xs:.75rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-full:9999px;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 6px -1px #00000012, 0 2px 4px -2px #0000000d;--shadow-lg:0 10px 15px -3px #00000014, 0 4px 6px -4px #0000000a;--transition:.15s ease}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px;overflow-y:scroll}body{font-family:var(--font-sans);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;min-height:100vh;line-height:1.6;position:relative}body:before{content:"";pointer-events:none;z-index:-1;border:2px solid #4a65800a;border-radius:50%;width:600px;height:600px;position:fixed;top:-200px;right:-150px;box-shadow:0 0 0 40px #4a658005,0 0 0 80px #4a658004,0 0 0 120px #4a658003,0 0 0 160px #4a658001}body:after{content:"";pointer-events:none;z-index:-1;border:2px solid #4a658008;border-radius:50%;width:300px;height:300px;position:fixed;bottom:-100px;left:-80px;box-shadow:0 0 0 30px #4a658004,0 0 0 60px #4a658003}.bg-circles{position:relative;overflow:hidden}.bg-circles:before{content:"";pointer-events:none;border:2px solid #ffffff14;border-radius:50%;width:600px;height:600px;position:absolute;top:-200px;right:-150px;box-shadow:0 0 0 40px #ffffff0a,0 0 0 80px #ffffff08,0 0 0 120px #ffffff05,0 0 0 160px #ffffff03}.bg-circles:after{content:"";pointer-events:none;border:2px solid #ffffff0f;border-radius:50%;width:300px;height:300px;position:absolute;bottom:-100px;left:-80px;box-shadow:0 0 0 30px #ffffff08,0 0 0 60px #ffffff05}.btn{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-5);font-family:var(--font-sans);font-size:var(--text-sm);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition);white-space:nowrap;border:1px solid #0000;font-weight:600;line-height:1.5;text-decoration:none;display:inline-flex}.btn:active{transform:scale(.98)}.btn-primary{background:var(--primary);color:var(--white)}.btn-primary:hover{background:var(--primary-hover)}.btn-accent{background:var(--accent);color:var(--white)}.btn-accent:hover{background:var(--accent-hover)}.btn-outline{color:var(--primary);border-color:var(--border);background:0 0}.btn-outline:hover{background:var(--blue-50);border-color:var(--blue-300)}.btn-ghost{color:var(--text-secondary);background:0 0}.btn-ghost:hover{background:var(--gray-100);color:var(--text)}.btn-sm{padding:var(--space-1) var(--space-3);font-size:var(--text-xs);min-height:32px}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-loading{pointer-events:none;position:relative;color:#0000!important}.btn-loading:after{content:"";border-radius:var(--radius-full);border:2px solid #ffffff4d;border-top-color:#fff;width:16px;height:16px;animation:.6s linear infinite btn-spin;position:absolute}@keyframes btn-spin{to{transform:rotate(360deg)}}.btn-icon{padding:var(--space-2);min-width:36px;min-height:36px}.input{padding:var(--space-2) var(--space-3);font-family:var(--font-sans);font-size:var(--text-sm);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--white);color:var(--text);transition:all var(--transition);width:100%;line-height:1.5}.input:focus{border-color:var(--border-focus);outline:none;box-shadow:0 0 0 3px #5b7b9a26}.input::placeholder{color:var(--text-muted)}.input-error{border-color:var(--error)}.input-error:focus{box-shadow:0 0 0 3px #d4202726}.input-group{gap:var(--space-1);flex-direction:column;display:flex}.input-group label{font-size:var(--text-sm);color:var(--gray-700);font-weight:500}.input-hint{font-size:var(--text-xs);color:var(--text-muted)}.input-error-msg{font-size:var(--text-xs);color:var(--error)}select.input{appearance:none;padding-right:2.5rem}.select-wrapper{width:100%;display:inline-block;position:relative}.select-wrapper select{width:100%}.select-wrapper .select-icon{pointer-events:none;color:var(--gray-500);font-size:1.25rem;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.input-score{text-align:center;width:72px;font-family:var(--font-mono);font-weight:500;font-size:var(--text-base);padding:var(--space-2)}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.card-header{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;display:flex}.card-header h3{font-size:var(--text-base);font-weight:600}.card-body{padding:var(--space-5)}.table-wrapper{-webkit-overflow-scrolling:touch;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}thead{background:var(--blue-50);z-index:1;position:sticky;top:0}th{padding:var(--space-3) var(--space-4);text-align:left;font-weight:600;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--blue-700);border-bottom:2px solid var(--blue-200);white-space:nowrap}th.text-center,td.text-center{text-align:center}th.text-right,td.text-right{text-align:right}td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--gray-100);color:var(--gray-700)}tbody tr:hover{background:var(--blue-50)}td.rank{color:var(--gray-800);text-align:center;width:48px;font-weight:700}tr.rank-1 td.rank,tr.rank-2 td.rank,tr.rank-3 td.rank{font-size:1.25rem;line-height:1}tr.equal-group-a td{background:var(--blue-50)}tr.equal-group-b td{background:var(--blue-100)}td.score{font-family:var(--font-mono);text-align:center;white-space:nowrap;font-weight:500}td.score-total{font-family:var(--font-mono);font-weight:700;font-size:var(--text-base);text-align:center;color:var(--gray-900)}td.score-historical{font-family:var(--font-mono);font-size:var(--text-xs);text-align:center;color:var(--text-muted)}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}th.sortable:hover{color:var(--blue-800);background:var(--blue-50)}th.sortable:after{content:" ↕";font-size:var(--text-xs);opacity:.3}th.sort-asc:after{content:" ↑";opacity:.7}th.sort-desc:after{content:" ↓";opacity:.7}.table-filters{border-bottom:1px solid var(--gray-100)}.table-filters summary{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);cursor:pointer;font-size:var(--text-sm);color:var(--gray-600);-webkit-user-select:none;user-select:none;background:var(--gray-50);font-weight:500;list-style:none;transition:background .15s;display:flex}.table-filters summary::-webkit-details-marker{display:none}.table-filters summary .chevron{color:var(--gray-400);font-size:10px;transition:transform .15s}.table-filters[open] summary .chevron{transform:rotate(90deg)}.table-filters summary:hover{background:var(--gray-100);color:var(--gray-800)}.table-filters .filter-icon{width:14px;height:14px}.table-filters .active-count{font-size:var(--text-xs);background:var(--blue-50);color:var(--primary);border-radius:var(--radius-full);padding:1px 6px;font-weight:500}.table-filters .filter-row{align-items:center;gap:var(--space-4);padding:var(--space-2) var(--space-4) var(--space-3);flex-wrap:wrap;display:flex}.table-filters .filter-group{align-items:center;gap:var(--space-2);display:flex}.table-filters .filter-group label{font-size:var(--text-xs);color:var(--gray-400);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;font-weight:500}.table-filters .filter-select{padding:var(--space-1) var(--space-2);padding-right:var(--space-5);border:1px solid var(--gray-200);border-radius:var(--radius-md);font-size:var(--text-sm);background:var(--white);color:var(--gray-700);appearance:none;cursor:pointer}.table-filters .filter-select:focus{border-color:var(--primary);outline:none}.score-grid{grid-template-columns:48px 1fr repeat(1,72px);align-items:center;gap:0;display:grid}.score-grid.with-totals{grid-template-columns:48px 1fr 72px 72px}.score-row{display:contents}.score-row>*{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--gray-100)}.score-row .shooter-num{color:var(--text-muted);font-weight:600;font-size:var(--text-sm);text-align:center}.score-row .shooter-name{color:var(--gray-800);font-weight:500}.score-row .score-cell{justify-self:center}.navbar{background:var(--white);border-bottom:1px solid var(--border);padding:0 var(--space-6);height:56px;box-shadow:var(--shadow-sm);z-index:100;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.navbar-brand{align-items:center;text-decoration:none;display:flex}.navbar-brand img{width:auto;height:32px}.navbar-nav{align-items:center;gap:var(--space-1);list-style:none;display:flex}.nav-icon,.mobile-section-separator{display:none}.navbar-nav a,.navbar-nav button{padding:var(--space-2) var(--space-3);font-size:var(--text-sm);color:var(--text-secondary);border-radius:var(--radius-md);transition:all var(--transition);cursor:pointer;font-weight:500;font-family:var(--font-sans);background:0 0;border:none;text-decoration:none}.navbar-nav a:hover,.navbar-nav button:hover{background:var(--gray-100);color:var(--text)}.navbar-nav a.active{color:var(--primary);background:var(--blue-50)}.navbar-user{align-items:center;gap:var(--space-3);display:flex}.navbar-user .user-name{font-size:var(--text-sm);color:var(--text-secondary)}.user-dropdown{position:relative}.user-dropdown-trigger{align-items:center;gap:var(--space-2);display:inline-flex}.user-dropdown-menu{margin-top:var(--space-1);background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:150;min-width:160px;position:absolute;top:100%;right:0;overflow:hidden}.user-dropdown-item{width:100%;padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-family:var(--font-sans);color:var(--text-secondary);text-align:left;cursor:pointer;transition:all var(--transition);background:0 0;border:none;text-decoration:none;display:block}.user-dropdown-item:hover{background:var(--gray-100);color:var(--text)}.admin-dropdown{position:relative}.admin-dropdown .nav-link{align-items:center;gap:var(--space-1);display:inline-flex}.admin-dropdown .nav-link.active{color:var(--primary);background:var(--blue-50)}.admin-dropdown-menu{margin-top:var(--space-1);background:var(--white);border:1px solid var(--border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:150;min-width:200px;position:absolute;top:100%;left:0;overflow:hidden}.admin-dropdown-item{width:100%;padding:var(--space-2) var(--space-4);font-size:var(--text-sm);color:var(--text-secondary);transition:all var(--transition);text-decoration:none;display:block}.admin-dropdown-item:hover{background:var(--gray-100);color:var(--text)}.admin-dropdown-item.active{color:var(--primary);font-weight:500}.tabs{gap:var(--space-1);box-shadow:inset 0 -2px 0 var(--border);-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;display:flex;overflow-x:auto}.tab{padding:var(--space-3) var(--space-4);font-size:var(--text-sm);color:var(--text-secondary);cursor:pointer;transition:all var(--transition);white-space:nowrap;font-weight:500;font-family:var(--font-sans);background:0 0;border:none;box-shadow:inset 0 -2px #0000}.tab:hover{color:var(--text);background:var(--gray-50)}.tab.active{color:var(--text);font-weight:600;box-shadow:inset 0 -2px #dc2626}.badge{padding:2px var(--space-2);font-size:var(--text-xs);border-radius:var(--radius-full);align-items:center;font-weight:600;line-height:1.4;display:inline-flex}.badge-primary{background:var(--blue-100);color:var(--blue-700)}.badge-accent{background:var(--red-100);color:var(--red-700)}.badge-success{background:var(--success-bg);color:var(--success)}.badge-muted{background:var(--gray-100);color:var(--gray-600)}.alert{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);align-items:center;gap:var(--space-3);display:flex}.alert-success{background:var(--success-bg);color:var(--success);border:1px solid var(--success-border)}.alert-error{background:var(--error-bg);color:var(--error);border:1px solid var(--error-border)}.alert-warning{background:var(--warning-bg);color:var(--warning);border:1px solid var(--warning-border)}.modal-overlay{z-index:200;padding:var(--space-4);-webkit-backdrop-filter:blur(2px);background:linear-gradient(135deg,#4a658073 0%,#3a50688c 100%),#00000026;place-items:center;display:grid;position:fixed;inset:0;overflow:hidden auto}.modal{background:var(--white);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);width:100%;max-width:480px;overflow:hidden}.modal-header{padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--border);background:var(--blue-50);justify-content:space-between;align-items:center;display:flex}.modal-header h3{font-size:var(--text-base);font-weight:600}.modal-close{cursor:pointer;color:var(--text-muted);padding:var(--space-1);border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;transition:color .15s,background .15s;display:flex}.modal-close:hover,.modal-danger .modal-close:hover{color:var(--error);background:var(--red-100)}.modal-body{padding:var(--space-5)}.modal-footer{padding:var(--space-4) var(--space-5);border-top:1px solid var(--border);justify-content:flex-end;gap:var(--space-3);display:flex}.modal-danger{border-left:3px solid var(--error)}.modal-danger .modal-header{background:var(--red-50)}.modal-danger .modal-header h3{color:var(--error)}.skeleton{background:linear-gradient(90deg, var(--gray-100) 25%, var(--gray-200) 50%, var(--gray-100) 75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.5s infinite skeleton-shimmer}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.empty-state-box{text-align:center;padding:var(--space-6) var(--space-6);color:var(--text-muted);flex-direction:column;justify-content:center;align-items:center;min-height:160px;display:flex}.empty-state-box h3{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--space-1);font-weight:600}.empty-state-box p{font-size:var(--text-xs);margin-bottom:var(--space-2)}.login-page{background:linear-gradient(135deg, var(--blue-700) 0%, var(--blue-800) 100%);justify-content:center;align-items:center;min-height:100vh;animation:.4s login-fade-in;display:flex;position:relative;overflow:hidden}@keyframes login-fade-in{0%{opacity:0}to{opacity:1}}.login-card{background:var(--white);border-radius:var(--radius-xl);padding:var(--space-10);width:100%;max-width:400px;box-shadow:var(--shadow-lg);z-index:1;margin:var(--space-4);position:relative}.login-card .logo-area{text-align:center;margin-bottom:var(--space-8)}.login-card .logo-area img{margin:0 auto}.login-form{gap:var(--space-4);flex-direction:column;display:flex}.login-form .btn{width:100%;padding:var(--space-3)}.page-body{padding:var(--space-6);max-width:1200px;margin:0 auto}.page-title-row{margin-bottom:var(--space-6);justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.page-title-row h2{font-size:var(--text-2xl);color:var(--gray-800);font-weight:700}.toast-container{bottom:var(--space-6);right:var(--space-6);z-index:300;gap:var(--space-3);flex-direction:column;display:flex;position:fixed}.toast{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--gray-800);color:var(--white);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);font-size:var(--text-sm);max-width:400px;animation:.3s toast-in;display:flex}.toast-success{border-left:3px solid var(--success)}.toast-warning{border-left:3px solid var(--warning)}.toast-error{border-left:3px solid var(--error)}.toast .toast-close{color:var(--gray-400);cursor:pointer;padding:var(--space-1);font-size:var(--text-lg);background:0 0;border:none;margin-left:auto;line-height:1}.toast .toast-close:hover{color:var(--white)}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.checkbox-group,.radio-group{gap:var(--space-3);flex-direction:column;display:flex}.checkbox-label,.radio-label{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--gray-700);cursor:pointer;-webkit-user-select:none;user-select:none;display:flex}.checkbox-label input[type=checkbox],.radio-label input[type=radio]{appearance:none;border:2px solid var(--gray-300);background:var(--white);cursor:pointer;width:18px;height:18px;transition:all var(--transition);flex-shrink:0;place-content:center;display:grid}.checkbox-label input[type=checkbox]{border-radius:var(--radius-sm)}.radio-label input[type=radio]{border-radius:var(--radius-full)}.checkbox-label input[type=checkbox]:checked{background:var(--primary);border-color:var(--primary)}.checkbox-label input[type=checkbox]:checked:after{content:"";border-bottom:2px solid #fff;border-left:2px solid #fff;width:8px;height:5px;transform:rotate(-45deg)}.radio-label input[type=radio]:checked{border-color:var(--primary);background:var(--white)}.radio-label input[type=radio]:checked:after{content:"";border-radius:var(--radius-full);background:var(--primary);width:8px;height:8px}.checkbox-label input:focus-visible,.radio-label input:focus-visible{outline:none;box-shadow:0 0 0 3px #5b7b9a26}.checkbox-label input:disabled,.radio-label input:disabled{opacity:.5;cursor:not-allowed}.checkbox-label:has(input:disabled){opacity:.5;cursor:not-allowed}.toggle-label{align-items:center;gap:var(--space-3);font-size:var(--text-sm);color:var(--gray-700);cursor:pointer;-webkit-user-select:none;user-select:none;display:flex}.toggle{background:var(--gray-300);border-radius:var(--radius-full);width:40px;height:22px;transition:background var(--transition);flex-shrink:0;position:relative}.toggle:after{content:"";background:var(--white);border-radius:var(--radius-full);width:18px;height:18px;box-shadow:var(--shadow-sm);transition:transform var(--transition);position:absolute;top:2px;left:2px}.toggle-label input{opacity:0;width:0;height:0;position:absolute}.toggle-label input:checked+.toggle{background:var(--primary)}.toggle-label input:checked+.toggle.toggle-accent{background:var(--accent)}.toggle-label input:checked+.toggle.toggle-success{background:var(--success)}.toggle-label input:checked+.toggle:after{transform:translate(18px)}.toggle-label input:focus-visible+.toggle{box-shadow:0 0 0 3px #5b7b9a26}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.mt-4{margin-top:var(--space-4)}.mt-6{margin-top:var(--space-6)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.w-full{width:100%}.text-sm{font-size:var(--text-sm)}.text-xs{font-size:var(--text-xs)}.text-muted{color:var(--text-muted)}.font-mono{font-family:var(--font-mono)}.mobile-menu-btn{padding:var(--space-2);cursor:pointer;color:var(--text-secondary);background:0 0;border:none;display:none}.mobile-user-section{display:none}.ds-page{max-width:1200px;padding:var(--space-8);margin:0 auto}.ds-header{text-align:center;padding:var(--space-4) 0;border-bottom:2px solid var(--border);margin-bottom:var(--space-6)}.ds-header h1{font-size:var(--text-xl);color:var(--primary);margin-bottom:var(--space-1);font-weight:700}.ds-header p{color:var(--text-secondary);font-size:var(--text-sm)}.ds-section{margin-bottom:var(--space-12)}.ds-section>h2{font-size:var(--text-2xl);color:var(--gray-800);margin-bottom:var(--space-6);padding-bottom:var(--space-3);border-bottom:2px solid var(--accent);font-weight:700;display:inline-block}.ds-section>h3{font-size:var(--text-lg);color:var(--gray-700);margin:var(--space-6) 0 var(--space-4);font-weight:600}.ds-section>p{color:var(--text-secondary);margin-bottom:var(--space-4)}.color-grid{gap:var(--space-3);margin-bottom:var(--space-6);grid-template-columns:repeat(auto-fill,minmax(120px,1fr));display:grid}.color-swatch{border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border);overflow:hidden}.color-swatch .swatch{width:100%;height:72px}.color-swatch .info{padding:var(--space-2) var(--space-3);background:var(--white)}.color-swatch .info .name{font-size:var(--text-xs);color:var(--gray-700);font-weight:600}.color-swatch .info .hex{font-size:var(--text-xs);color:var(--text-muted);font-family:var(--font-mono)}.type-sample{margin-bottom:var(--space-4);padding:var(--space-4);background:var(--white);border-radius:var(--radius-md);border:1px solid var(--border)}.type-sample .label{font-size:var(--text-xs);color:var(--text-muted);font-family:var(--font-mono);margin-bottom:var(--space-1)}.component-row{gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;align-items:center;display:flex}@media (width<=768px){.navbar{flex-wrap:wrap;height:auto;padding:0}.navbar-brand{padding-left:var(--space-4);height:56px}.navbar-nav{background:var(--gray-50);border-top:1px solid var(--border);flex-direction:column;flex-basis:100%;order:10;align-items:stretch;gap:0;padding:0;display:none}.navbar-nav.open{display:flex}.navbar-nav li{border-bottom:1px solid var(--gray-200);flex-direction:column;display:flex}.navbar-nav li:last-child{border-bottom:none}.navbar-nav a,.navbar-nav button{justify-content:flex-start;align-items:center;gap:var(--space-3);width:100%;min-height:48px;padding:var(--space-3) var(--space-5);font-size:var(--text-base);text-align:left;border-radius:0;display:flex}.nav-icon{opacity:.6;flex-shrink:0;display:block}.navbar-nav a.active .nav-icon{opacity:1}.navbar-nav a.active{background:var(--red-50);border-left:3px solid var(--accent);padding-left:calc(var(--space-5) - 3px);color:var(--accent)}.mobile-section-separator{border-top:2px solid var(--gray-300);height:0;margin:0;border-bottom:none!important}.admin-dropdown-menu{box-shadow:none;background:var(--white);border:none;border-radius:0;min-width:0;padding:0;position:static}.admin-dropdown-menu .admin-dropdown-item{min-height:44px;padding:var(--space-3) var(--space-5) var(--space-3) var(--space-10);border-bottom:1px solid var(--gray-100);font-size:var(--text-sm);align-items:center;display:flex}.admin-dropdown-menu .admin-dropdown-item:last-child{border-bottom:none}.admin-dropdown-menu .admin-dropdown-item.active{background:var(--red-50);border-left:3px solid var(--accent);padding-left:calc(var(--space-10) - 3px);color:var(--accent)}.mobile-menu-btn{min-width:44px;min-height:44px;margin-right:var(--space-2);order:5;justify-content:center;align-items:center;display:flex}.desktop-only{display:none}.mobile-user-section{flex-direction:column;display:flex}.mobile-user-divider{display:none}.page-body{padding:var(--space-4)}.tabs{gap:0}.tab{padding:var(--space-2) var(--space-3);font-size:var(--text-sm);min-height:44px}.tabs{padding-right:var(--space-4);-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 32px),#0000);mask-image:linear-gradient(90deg,#000 calc(100% - 32px),#0000)}.btn-icon{min-width:44px;min-height:44px}.modal{max-width:none}.modal-body{word-break:break-word;overflow-wrap:anywhere}.modal-footer{flex-wrap:wrap}.toast-container{left:var(--space-3);right:var(--space-3);bottom:var(--space-3)}.toast{width:100%;max-width:none}.table-wrapper{box-shadow:inset -12px 0 8px -8px #0000000f}.mobile-cards,.hide-mobile{display:none}th.col-rank,td.rank{z-index:2;background:var(--white);position:sticky;left:0}th.col-name,td.shooter-name{z-index:2;background:var(--white);position:sticky;left:48px}th.col-rank,th.col-name{background:var(--blue-50);z-index:3}tr.equal-group-a td.rank,tr.equal-group-a td.shooter-name{background:var(--blue-50)}tr.equal-group-b td.rank,tr.equal-group-b td.shooter-name{background:var(--blue-100)}tbody tr:hover td.rank,tbody tr:hover td.shooter-name{background:var(--blue-50)}td.shooter-name,th.col-name{border-right:1px solid var(--gray-200)}}@media (width<=480px){.page-body{padding:var(--space-3)}.page-title-row h2{font-size:var(--text-xl)}th,td{padding:var(--space-2) var(--space-3)}body:before,body:after{display:none}.bg-circles:before{width:300px;height:300px;top:-100px;right:-80px}.bg-circles:after{width:200px;height:200px;bottom:-60px;left:-50px}.modal{max-height:85vh;overflow-y:auto}}.empty-state{text-align:center;padding:var(--space-12) var(--space-8);color:var(--text-muted)}.empty-state svg{width:48px;height:48px;margin-bottom:var(--space-4);opacity:.5}.season-indicator{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-secondary);display:inline-flex}.season-indicator .dot{border-radius:var(--radius-full);background:var(--success);width:8px;height:8px}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.release-notes.svelte-3axifu{padding:var(--space-4) var(--space-5)}.release-notes.svelte-3axifu h2{display:none}.release-notes.svelte-3axifu h3{font-size:var(--text-base);color:var(--text-secondary);margin-top:var(--space-3);margin-bottom:var(--space-2);padding-bottom:var(--space-1);border-bottom:1px solid var(--border);font-weight:600}.release-notes.svelte-3axifu h3:first-child{margin-top:0}.release-notes.svelte-3axifu ul{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.release-notes.svelte-3axifu li{font-size:var(--text-sm);padding-left:var(--space-4);line-height:1.5;position:relative}.release-notes.svelte-3axifu li:before{content:"·";left:var(--space-1);color:var(--primary);font-weight:700;position:absolute}.release-notes.svelte-3axifu a{color:var(--primary);font-weight:500;text-decoration:none}.release-notes.svelte-3axifu a:hover{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.disable-btn.svelte-3axifu{color:var(--text-muted);font-size:var(--text-xs);cursor:pointer;background:0 0;border:none;padding:0}.disable-btn.svelte-3axifu:hover{color:var(--text-secondary);text-decoration:underline}
