*{box-sizing:border-box;margin:0;padding:0}:root{--primary:#1a1a1a;--secondary:#dc143c;--accent:#ff6b6b;--light:#f8f9fa;--border:#e9ecef;--text-primary:#1a1a1a;--text-secondary:#6c757d;--gold:orange;--gold-deep:#ff8c00;--gold-tint:#fffaf0;--silver:silver;--bronze:#cd7f32}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}#root{flex-direction:column;min-height:100dvh;display:flex}#root>*{min-width:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--light);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6}h1,h2,h3,h4,h5,h6{letter-spacing:-.5px;font-weight:700}h1{font-size:2.5rem}h2{font-size:1.75rem}a{color:var(--secondary);text-decoration:none;transition:color .2s}a:hover{color:var(--accent)}button{font-family:inherit}.nav-menu{border-top:2px solid var(--border);flex-wrap:wrap;align-items:center;gap:12px;margin-top:32px;padding-top:24px;display:flex}.nav-menu-link{color:#fff;text-transform:uppercase;letter-spacing:.5px;background:linear-gradient(135deg, var(--secondary), var(--accent));border-radius:8px;padding:12px 20px;font-size:13px;font-weight:700;transition:all .2s;box-shadow:0 4px 12px #dc143c26}@media (hover:hover){.nav-menu-link:hover{color:#fff;transform:translateY(-2px);box-shadow:0 6px 16px #dc143c40}}.nav-menu-link.active{color:var(--text-secondary);border:2px solid var(--border);box-shadow:none;cursor:default;background:0 0;padding:10px 18px}.nav-menu-link.active:hover{color:var(--text-secondary);box-shadow:none;transform:none}.form-container .nav-menu{flex-direction:column;align-items:stretch;gap:10px}.form-container .nav-menu .nav-menu-link{text-align:center}@media (width<=560px){.nav-menu{flex-direction:column;align-items:stretch;gap:10px}.nav-menu-link{text-align:center}}.register-page,.submit-page{background:linear-gradient(135deg, var(--light) 0%, #fff 100%);flex-direction:column;flex:1 0 auto;justify-content:center;align-items:center;width:100%;padding:20px;display:flex}.form-container{border-top:4px solid var(--secondary);background:#fff;border-radius:12px;width:100%;max-width:420px;padding:50px;box-shadow:0 10px 40px #00000014}.form-container h1{background:linear-gradient(135deg, var(--primary), var(--secondary));-webkit-text-fill-color:transparent;letter-spacing:-1px;-webkit-background-clip:text;background-clip:text;margin-bottom:12px;font-size:32px}.form-container p{color:var(--text-secondary);margin-bottom:30px;font-size:15px}form{flex-direction:column;gap:18px;display:flex}.form-group{flex-direction:column;gap:8px;display:flex}.form-group label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-primary);font-size:13px;font-weight:600}input[type=text],input[type=number],input[type=date],select{border:2px solid var(--border);background-color:#fafbfc;border-radius:8px;padding:14px 16px;font-family:inherit;font-size:16px;transition:all .3s}input[type=date]{text-align:start;direction:ltr}input[type=text]:hover,input[type=number]:hover,input[type=date]:hover,select:hover{background-color:#fff;border-color:#ccc}input[type=text]:focus,input[type=number]:focus,input[type=date]:focus,select:focus{border-color:var(--secondary);background-color:#fff;outline:none;box-shadow:0 0 0 4px #dc143c14}input:disabled,select:disabled{background-color:var(--light);cursor:not-allowed;opacity:.5}button{background:linear-gradient(135deg, var(--secondary), var(--accent));color:#fff;cursor:pointer;text-transform:uppercase;letter-spacing:.5px;border:none;border-radius:8px;padding:14px;font-size:15px;font-weight:700;transition:all .3s;box-shadow:0 4px 15px #dc143c33}button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #dc143c4d}button:active:not(:disabled){transform:translateY(0)}button:disabled{background:var(--border);cursor:not-allowed;box-shadow:none}.error{color:#d32f2f;background-color:#fff5f5;border-inline-start:4px solid #d32f2f;border-radius:6px;margin-top:12px;padding:12px 14px;font-size:14px}.success{color:#388e3c;background-color:#f0fdf4;border-inline-start:4px solid #388e3c;border-radius:6px;margin-top:12px;padding:12px 14px;font-size:14px}.coach-phrase{background-color:var(--light);border-inline-start:4px solid var(--accent);color:var(--text-primary);border-radius:6px;margin-top:10px;padding:14px 16px;font-size:16px;font-style:italic;font-weight:700;line-height:1.6}.nav-links{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:center;gap:20px;margin-top:30px;padding-top:20px;display:flex}.nav-links a{text-transform:uppercase;letter-spacing:.5px;font-size:13px;font-weight:600;transition:all .2s}.nav-links a:hover{opacity:.7}.submit-page p{color:var(--text-secondary);margin-top:10px;font-size:14px}@media (width<=560px){.form-container{padding:24px 20px}.form-container h1{font-size:24px}.form-container p{margin-bottom:20px}}.badge-mark{color:var(--border);flex:none}.badge-mark--bronze{color:var(--bronze)}.badge-mark--silver{color:var(--silver)}.badge-mark--gold{color:var(--gold)}.badge-field{fill:#0b0b0d}.badge-ring{fill:none;stroke:currentColor;stroke-width:4px}.badge-notch{fill:#fff;stroke:currentColor;stroke-width:1.5px}.badge-glyph{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.badge-progress{fill:none;stroke:var(--secondary);stroke-width:4px;stroke-linecap:round}.badge-mark--locked{color:var(--border)}.badge-mark--locked .badge-photo{filter:grayscale()opacity(.35)}.badge-mark--locked .badge-field{fill:#e9ecef}.badge-mark--lg{width:56px;height:56px}.badge-mark--sm{vertical-align:-.25em;width:20px;height:20px}@media (width<=560px){.badge-mark--lg{width:48px;height:48px}}.badge-chip{all:unset;cursor:pointer;display:inline-flex;position:relative}.badge-chip:not(.badge-tile-button):after{content:"";position:absolute;inset:-12px}.badge-chip:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:50%}.badge-tile-button{text-align:center;flex-direction:column;align-items:center;gap:6px;width:100%;display:flex}.badge-tile-button:focus-visible{outline-offset:2px;border-radius:10px}.badge-tip{z-index:30;background:var(--primary);color:#fff;pointer-events:none;border-radius:10px;width:240px;padding:10px 12px;position:fixed;box-shadow:0 8px 24px #00000038}.badge-tip-name{letter-spacing:.2px;font-size:14px;font-weight:700}.badge-tip-desc{color:#d6dae0;margin-top:2px;font-size:13px;line-height:1.4}.badge-tip-note{color:var(--accent);font-variant-numeric:tabular-nums;margin-top:6px;font-size:12px;font-weight:700}@media (width<=560px){.badge-tip{width:min(240px,100vw - 32px)}}.badge-strip{border:1px solid var(--border);background:#fff;border-radius:12px;margin-bottom:24px;padding:20px 24px}.badge-strip-head{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:16px;display:flex}.badge-strip-head h2{margin:0;font-size:1.25rem}.badge-strip-count{color:var(--text-secondary);letter-spacing:.3px;font-variant-numeric:tabular-nums;font-size:13px;font-weight:700}.badge-strip-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary);margin:20px 0 10px;font-size:12px;font-weight:700}.badge-strip-empty{color:var(--text-secondary);font-size:14px;font-style:italic}.badge-strip-row{flex-wrap:wrap;gap:16px;list-style:none;display:flex}.badge-tile{width:84px;display:flex}.badge-tile-name{letter-spacing:.3px;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;font-weight:700;line-height:1.3;display:-webkit-box;overflow:hidden}.badge-tile-progress{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:11px;font-weight:700}.badge-strip-toggle{all:unset;cursor:pointer;letter-spacing:.3px;color:var(--secondary);margin-top:18px;font-size:13px;font-weight:700;display:inline-block}.badge-strip-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}@media (hover:hover){.badge-strip-toggle:hover{color:var(--accent)}}.badge-unlock{border:1px solid var(--border);border-top:4px solid var(--secondary);background:#fff;border-radius:12px;margin-top:20px;padding:18px 20px}.badge-unlock-title{text-transform:uppercase;letter-spacing:.5px;color:var(--secondary);margin-bottom:14px;font-size:13px;font-weight:700}@media (width<=560px){.badge-strip{padding:16px}.badge-strip-row{gap:12px}.badge-tile{width:72px}}.table-scroll{overscroll-behavior-x:contain;scrollbar-width:thin;-webkit-overflow-scrolling:touch;border-radius:10px;max-width:100%;margin:24px 0;overflow-x:auto;box-shadow:0 4px 12px #0000000f}.leaderboard-table{border-collapse:collapse;background:#fff;width:100%;min-width:max-content}.leaderboard-table thead{background:linear-gradient(135deg, var(--primary), #2a2a2a);border-bottom:none}.leaderboard-table th{text-align:start;color:#fff;text-transform:uppercase;letter-spacing:.5px;padding:16px;font-size:13px;font-weight:700}.leaderboard-table td{border-bottom:1px solid var(--border);padding:16px;font-size:15px}.leaderboard-table tbody tr{transition:all .2s}@media (hover:hover){.leaderboard-table tbody tr:hover{background-color:#fafbfc}}.leaderboard-table tbody tr:last-child td{border-bottom:none}.leaderboard-table .rank{width:60px;font-size:16px;font-weight:700}.leaderboard-table .value{text-align:end;color:var(--secondary);font-weight:700}.leaderboard-table .rm{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:14px}.leaderboard-table tbody tr:first-child{background-color:var(--gold-tint)}.leaderboard-table tbody tr:first-child td{padding-top:18px;padding-bottom:18px}.leaderboard-table tbody tr:first-child td.rank{color:var(--gold);font-size:18px}.leaderboard-table tbody tr:first-child td.value{color:var(--gold-deep)}.leaderboard-table tbody tr:nth-child(2) td.rank{color:var(--silver);font-size:17px}.leaderboard-table tbody tr:nth-child(3) td.rank{color:var(--bronze);font-size:17px}.lb-name{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.badge-marks{gap:4px;display:inline-flex}.leaderboard-table tbody tr:first-child .badge-mark--gold{color:var(--gold-deep)}@media (width<=560px){.leaderboard-table th,.leaderboard-table td{padding:10px}.badge-marks .badge-chip:nth-child(n+2){display:none}.leaderboard-table td{font-size:14px}.leaderboard-table tbody tr:first-child td{padding-top:12px;padding-bottom:12px}.leaderboard-table .rank{width:40px}.table-scroll{-webkit-mask-image:linear-gradient(270deg,#000 calc(100% - 24px),#0000);mask-image:linear-gradient(270deg,#000 calc(100% - 24px),#0000)}}.page{background:linear-gradient(180deg, var(--light) 0%, #fff 100%);flex:1 0 auto;width:100%;max-width:1200px;margin:0 auto;padding:50px 20px}.page-header{border-bottom:3px solid var(--secondary);margin-bottom:40px;padding-bottom:30px}.page-header h1{background:linear-gradient(135deg, var(--primary), var(--secondary));-webkit-text-fill-color:transparent;letter-spacing:-1px;-webkit-background-clip:text;background-clip:text;margin-bottom:12px;font-size:40px}.page-header p{color:var(--text-secondary);font-size:16px;font-weight:500}.page-header .unit{color:var(--accent);text-transform:uppercase;letter-spacing:.5px;margin-top:8px;font-size:14px;font-weight:600}.page p{color:var(--text-secondary);margin:16px 0;font-size:15px;line-height:1.7}.page p a{color:var(--secondary);font-weight:600}.page .error{color:#d32f2f;background-color:#fff5f5;border-inline-start:4px solid #d32f2f;border-radius:8px;margin:16px 0;padding:14px 16px;font-weight:500}.benchmarks-grid{gap:32px;margin:40px 0;display:grid}.benchmark-section{border:2px solid var(--border);background:#fff;border-radius:12px;min-width:0;padding:28px;transition:all .3s;box-shadow:0 4px 12px #0000000a}@media (hover:hover){.benchmark-section:hover{border-color:var(--secondary);box-shadow:0 8px 24px #00000014}}.benchmark-section h2{border-bottom:none;margin-bottom:20px;padding-bottom:0;font-size:24px}.benchmark-section h2 a{color:var(--primary);font-weight:700;transition:all .2s;display:inline-block}@media (hover:hover){.benchmark-section h2 a:hover{color:var(--secondary);transform:translate(-4px)}}.benchmark-section p{color:var(--text-secondary);font-size:14px}.nav-links{border-top:2px solid var(--border);flex-wrap:wrap;gap:24px;margin-top:40px;padding-top:24px;display:flex}.nav-links a{color:#fff;text-transform:uppercase;letter-spacing:.5px;background:linear-gradient(135deg, var(--secondary), var(--accent));border-radius:8px;padding:12px 20px;font-size:13px;font-weight:700;transition:all .2s;box-shadow:0 4px 12px #dc143c26}@media (hover:hover){.nav-links a:hover{transform:translateY(-2px);box-shadow:0 6px 16px #dc143c40}}@media (width<=560px){.page{padding:28px 14px}.page-header{margin-bottom:24px;padding-bottom:18px}.page-header h1{letter-spacing:-.5px;font-size:26px}.benchmarks-grid{gap:20px;margin:24px 0}.benchmark-section{padding:14px}.benchmark-section h2{margin-bottom:12px;font-size:20px}}#root:has(>.matrix-page){height:100dvh;min-height:0}.matrix-page{background:linear-gradient(180deg, var(--light) 0%, #fff 100%);flex-direction:column;flex:auto;width:100%;max-width:1200px;min-height:0;margin:0 auto;padding:50px 20px;display:flex}.matrix-page>p{color:var(--text-secondary);margin:16px 0;font-size:15px}.matrix-scroll{border:2px solid var(--border);-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-width:thin;background:#fff;border-radius:12px;flex:0 auto;max-width:100%;min-height:240px;margin:0;overflow:auto;box-shadow:0 4px 12px #0000000a}.matrix-table{border-collapse:separate;border-spacing:0;width:100%;min-width:max-content}.matrix-table th,.matrix-table td{border-bottom:1px solid var(--border);white-space:nowrap;text-align:start;padding:14px 16px}.matrix-table tbody tr:last-child th,.matrix-table tbody tr:last-child td{border-bottom:none}.matrix-table thead th{z-index:2;background:var(--primary);color:#fff;text-transform:uppercase;letter-spacing:.5px;vertical-align:top;font-size:13px;font-weight:700;position:sticky;top:0}.matrix-table thead button{all:unset;cursor:pointer;font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit;display:block}.matrix-table thead button:hover{color:var(--accent)}.matrix-table thead button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.matrix-unit{opacity:.6;text-transform:none;margin-top:4px;font-size:11px;font-weight:500;display:block}.matrix-table .matrix-name-col{z-index:1;border-inline-end:2px solid var(--border);background:#fff;font-weight:700;position:sticky;inset-inline-start:0}.matrix-table thead .matrix-name-col{z-index:3;background:var(--primary)}@media (hover:hover){.matrix-table tbody tr:hover th.matrix-name-col,.matrix-table tbody tr:hover td{background-color:#fafbfc}}.matrix-score{align-items:baseline;gap:6px;display:inline-flex}.matrix-value{color:var(--text-primary);font-variant-numeric:tabular-nums;font-size:15px;font-weight:700}.matrix-note{color:var(--text-secondary);font-size:12px;font-weight:500}.matrix-date{color:var(--text-secondary);font-variant-numeric:tabular-nums;margin-top:4px;font-size:11px;display:block}.matrix-empty{color:var(--border)}.matrix-table td.matrix-leader{background-color:var(--gold-tint)}.matrix-table td.matrix-leader .matrix-value{color:var(--gold-deep)}@media (hover:hover){.matrix-table tbody tr:hover td.matrix-leader{background-color:#fff5e6}}@media (width<=560px){.matrix-page{padding:20px 14px 28px}.matrix-page .page-header{margin-bottom:20px;padding-bottom:16px}.matrix-page .page-header h1{font-size:1.6rem}.matrix-page .nav-menu{flex-flow:wrap}.matrix-table th,.matrix-table td{padding:12px}.matrix-value{font-size:14px}}.matrix-badge-col{font-variant-numeric:tabular-nums;text-align:center;font-weight:700}.matrix-badge-count{color:var(--text-primary);font-size:15px}.matrix-badge-zero{color:var(--border);font-size:15px}.history-chart{direction:ltr;width:100%;min-width:0;height:220px;margin:20px 0 4px}.history-chart .recharts-cartesian-axis-tick-value{fill:var(--text-secondary);font-size:11px}@media (width<=560px){.history-chart{height:180px;margin:14px 0 2px}.history-chart .recharts-cartesian-axis-tick-value{font-size:10px}}.history-card h2{margin-bottom:4px}.history-meta{color:var(--text-secondary);letter-spacing:.3px;font-size:13px;font-weight:600}.history-single{color:var(--text-secondary);padding:16px 0 4px;font-size:13px;font-style:italic}.history-scroll{overscroll-behavior-x:contain;scrollbar-width:thin;-webkit-overflow-scrolling:touch;border-radius:10px;max-width:100%;overflow-x:auto;box-shadow:0 4px 12px #0000000f}.history-table{border-collapse:collapse;background:#fff;width:100%;min-width:max-content}.history-table thead{background:linear-gradient(135deg, var(--primary), #2a2a2a)}.history-table th{text-align:start;color:#fff;text-transform:uppercase;letter-spacing:.5px;padding:12px 16px;font-size:12px;font-weight:700}.history-table td{border-bottom:1px solid var(--border);padding:12px 16px;font-size:15px}.history-table tbody tr:last-child td{border-bottom:none}.history-table .value{color:var(--secondary);font-variant-numeric:tabular-nums;font-weight:700}.history-table .rm{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:14px}@media (hover:hover){.history-table tbody tr:hover{background-color:#fafbfc}}.history-pb-row{background-color:#fff5f7}.history-pb{background:var(--secondary);color:#fff;letter-spacing:.5px;vertical-align:middle;white-space:nowrap;border-radius:999px;margin-inline-start:8px;padding:2px 8px;font-size:10px;font-weight:700;display:inline-block}@media (width<=560px){.history-table th,.history-table td{padding:10px}.history-table td{font-size:14px}.history-scroll{-webkit-mask-image:linear-gradient(270deg,#000 calc(100% - 24px),#0000);mask-image:linear-gradient(270deg,#000 calc(100% - 24px),#0000)}}.user-badge{align-items:center;gap:8px;display:flex}.user-badge-name,.user-badge-signout{border:2px solid var(--border);text-transform:uppercase;letter-spacing:.5px;min-height:44px;color:var(--text-secondary);white-space:nowrap;border-radius:999px;align-items:center;padding:8px 14px;font-size:12px;font-weight:700;display:inline-flex}.user-badge-name{background:var(--light)}.user-badge-signout{cursor:pointer;box-shadow:none;background:0 0;transition:all .2s}.user-badge-signout:hover:not(:disabled){color:var(--secondary);border-color:var(--secondary);box-shadow:none;background:0 0;transform:none}@media (width<=560px){.user-badge{gap:6px}.user-badge-name,.user-badge-signout{padding:8px 12px}}.app-header{border-bottom:2px solid var(--border);background:#fff}.app-header-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;max-width:1200px;margin:0 auto;padding:16px 20px;display:flex}.app-header-brand{letter-spacing:-.5px;background:linear-gradient(135deg, var(--primary), var(--secondary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:20px;font-weight:700;transition:opacity .2s}.app-header-brand:hover{opacity:.75}@media (width<=560px){.app-header-inner{gap:12px;padding:14px 16px}.app-header-brand{font-size:17px}}.app-footer{text-align:center;color:var(--text-secondary);flex:none;padding:16px 20px 20px;font-size:12px}.app-footer-version{letter-spacing:.02em;direction:ltr;unicode-bidi:isolate;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
