*{box-sizing:border-box}body{margin:0;background:#f4f4f5;color:#18181b;font-family:Arial,Helvetica,sans-serif}a{color:inherit}.shell{max-width:1180px;margin:0 auto;padding:0 18px 56px}.masthead{color:#fff;padding:26px 0;margin-bottom:22px}.masthead-inner{max-width:1180px;margin:0 auto;padding:0 18px;display:flex;align-items:center;gap:20px}.masthead img{display:block;max-width:168px;max-height:76px;width:auto;height:auto}.eyebrow{font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;opacity:.72}.masthead h1{margin:6px 0 0;font-size:27px;line-height:1.15}.masthead .season{margin:7px 0 0;font-size:17px;font-weight:600;opacity:.92;letter-spacing:.01em}.blurb{background:#fff;border:1px solid #e3e3e3;border-radius:14px;padding:14px 18px;font-size:14px;line-height:1.6;color:#3f3f46;margin-bottom:18px}.bar{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin-bottom:16px}.bar label{font-size:12px;color:#3f3f46;display:flex;flex-direction:column;gap:4px}.bar input,.bar select{padding:10px;border:1px solid #cfcfcf;border-radius:10px;min-width:210px;font-size:14px;background:#fff}.category{background:#fff;border:1px solid #e3e3e3;border-radius:14px;overflow:hidden;margin-bottom:16px}.category-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding:13px 18px;background:#fafafa;border-bottom:1px solid #e8e8e8}.category-head h2{margin:0;font-size:16px}.category-head .count{font-size:12px;color:#71717a}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;table-layout:fixed}.col-rank{width:60px}.col-skater{width:250px}.col-ev{width:auto}.col-total{width:100px}td,th{padding:7px 10px;border-bottom:1px solid #f0f0f0;text-align:left;white-space:nowrap;font-size:13px;vertical-align:middle}th{background:#fff;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#71717a;border-bottom:1px solid #e3e3e3}tbody tr:last-child td{border-bottom:none}tbody tr:hover td{background:#fcfcfc}td.num,th.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}td.total{text-align:right;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}td.skater{white-space:normal;padding-top:7px;padding-bottom:7px}.skater-name{font-weight:700;font-size:15px;line-height:1.3}.skater-meta{font-size:12px;color:#71717a;line-height:1.35;margin-top:2px}td.ev,th.ev{text-align:center;padding-left:5px;padding-right:5px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}th.ev{font-size:10px;letter-spacing:.04em}td.ev,td.ev .counted,td.ev .dropped,td.ev .plain{font-size:15px}th.ev{white-space:normal;line-height:1.3}td.dash{color:#c4c4c8}.rank{width:54px}.pos{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:26px;padding:0 7px;border-radius:999px;font-size:12px;font-weight:800;background:#f1f1f2;color:#52525b}.pos-1{background:#d4af37;color:#3d2f00}.pos-2{background:#c7ccd1;color:#33383d}.pos-3{background:#cd7f32;color:#ffffff}.counted{font-weight:700;color:#18181b;background:#fdf07a;padding:3px 7px;border-radius:4px;box-decoration-break:clone;-webkit-box-decoration-break:clone}.dropped{color:#a1a1aa}.plain{color:#18181b;font-weight:600}.legend{font-size:12px;color:#71717a;margin:0 0 18px;line-height:1.6}.empty{background:#fff;border:1px solid #e3e3e3;border-radius:14px;padding:40px 18px;text-align:center;color:#71717a}.foot{margin-top:24px;font-size:12px;color:#8a8a91;line-height:1.6}.warn{background:#fff5f5;border:1px solid #fecaca;color:#991b1b;border-radius:12px;padding:12px 16px;font-size:13px;line-height:1.55;margin-bottom:16px}.hero{color:#fff;padding:46px 18px 52px;text-align:center;margin-bottom:32px}.hero-inner{max-width:720px;margin:0 auto}.hero-logo{display:block;margin:0 auto 18px;width:min(240px,62vw);max-height:132px;height:auto;object-fit:contain}.hero h1{margin:8px 0 0;font-size:34px;line-height:1.12}.hero-tagline{margin:12px 0 0;font-size:15px;opacity:.84;line-height:1.5}.section-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px;flex-wrap:wrap;margin:0 0 14px}.section-head h2{margin:0;font-size:17px}.muted-inline{font-size:13px;color:#71717a}.series-grid{display:grid;grid-gap:16px;gap:16px;grid-template-columns:repeat(auto-fit,minmax(272px,1fr))}.series-card{display:flex;background:#fff;border:1px solid #e3e3e3;border-radius:14px;overflow:hidden;text-decoration:none;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.series-card:hover{border-color:#c9c9c9;box-shadow:0 6px 18px rgba(3,74,107,.09);transform:translateY(-1px)}.card-rule{flex:0 0 5px}.card-body{flex:1 1;padding:18px 20px 20px;min-width:0}.card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.series-card h3{margin:0;font-size:18px;line-height:1.25}.chip{flex:0 0 auto;font-size:11px;font-weight:700;letter-spacing:.04em;padding:3px 9px;border-radius:999px;text-transform:uppercase}.chip.live{background:#dcfce7;color:#166534}.chip.soon{background:#f1f1f2;color:#52525b}.card-season{margin:4px 0 0;font-size:13px;font-weight:600;color:#3f3f46}.dots{display:flex;gap:5px;margin:14px 0 10px}.dot{width:22px;height:5px;border-radius:999px;background:#e4e4e7}.card-meta{margin:0;font-size:13px;color:#71717a;line-height:1.5}.card-cta{display:inline-block;margin-top:14px;font-size:13px;font-weight:700}@media (max-width:640px){.hero{padding:26px 16px 30px}.hero h1{font-size:24px}.hero-tagline{font-size:14px}}@media (max-width:760px){.shell{padding:0 12px 40px}.masthead{padding:20px 0}.masthead-inner{padding:0 12px;gap:14px}.masthead h1{font-size:20px}.masthead .season{font-size:15px}.masthead img{max-width:112px;max-height:56px}.bar{gap:8px}.bar input,.bar select{min-width:100%;font-size:16px}.bar label{width:100%}.blurb,.legend{font-size:13px}.category-head{padding:11px 15px}}.admin-shell,.auth-shell{max-width:940px;margin:0 auto;padding:28px 18px 56px}.auth-shell{max-width:400px;padding-top:72px}.topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:22px;flex-wrap:wrap}.brand{font-size:21px;font-weight:800}.muted{color:#71717a;font-size:13px;margin:4px 0 0}.small{font-size:12px}.panel{background:#fff;border:1px solid #e3e3e3;border-radius:14px;padding:20px}.panel h1{margin:0 0 16px;font-size:20px}.row-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.btn,button{display:inline-flex;align-items:center;justify-content:center;padding:9px 15px;border-radius:10px;border:1px solid #1a1a1a;background:#1a1a1a;color:#fff;font-size:14px;font-weight:600;cursor:pointer;text-decoration:none;font-family:inherit}button:disabled{opacity:.55;cursor:default}.btn.ghost,button.ghost{background:#fff;color:#3f3f46;border-color:#cfcfcf}.btn.danger,button.danger{background:#fff;color:#991b1b;border-color:#fecaca}.btn.small{padding:6px 11px;font-size:13px}.form fieldset{border:none;border-top:1px solid #ececec;padding:18px 0 4px;margin:0}.form fieldset:first-of-type{border-top:none;padding-top:0}.form legend{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#71717a;font-weight:700;padding:0;margin-bottom:10px}.field{display:block;margin-bottom:14px}.field>span{display:block;font-size:13px;font-weight:600;margin-bottom:5px}.field>span em{display:block;font-style:normal;font-weight:400;font-size:12px;color:#71717a;margin-top:2px}.field input,.field select,.field textarea{width:100%;padding:9px 11px;border:1px solid #cfcfcf;border-radius:10px;font-size:14px;font-family:inherit;background:#fff}.field textarea{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;resize:vertical}.field input[type=color]{height:40px;padding:4px}.field input[type=file]{padding:7px}.grid-2{display:grid;grid-gap:0 14px;gap:0 14px;grid-template-columns:1fr 1fr}.checkbox{display:flex;align-items:center;gap:8px;font-size:14px;margin-bottom:14px}.checkbox input{width:16px;height:16px}.form-error{background:#fff5f5;border:1px solid #fecaca;color:#991b1b;border-radius:10px;padding:10px 13px;font-size:13px;margin:0 0 14px}.logo-preview{display:flex;align-items:center;gap:16px;background:#fafafa;border:1px solid #ececec;border-radius:10px;padding:12px;margin-bottom:14px}.logo-preview img{max-height:46px;max-width:150px}.logo-preview .checkbox{margin:0}.admin-table{width:100%}.admin-table td,.admin-table th{white-space:nowrap}.admin-table td{vertical-align:middle}.pill{display:inline-block;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:700}.pill.live{background:#dcfce7;color:#166534}.pill.draft{color:#52525b}.pill.draft,code{background:#f1f1f2}code{padding:1px 5px;border-radius:5px;font-size:12px}@media (max-width:640px){.grid-2{grid-template-columns:1fr}}.preset-hint{margin:-4px 0 14px;padding:10px 13px;background:#f4f9fc;border:1px solid #d7e9f3;border-radius:10px;font-size:13px;line-height:1.5;color:#245b78}.cards{display:none;list-style:none;margin:0;padding:0}@media (max-width:760px){.table-wrap{display:none}.cards{display:block}}.rowcard{padding:13px 15px;border-bottom:1px solid #f0f0f0}.rowcard:last-child{border-bottom:none}.rowcard-top{display:flex;align-items:flex-start;gap:11px}.rowcard-id{flex:1 1;min-width:0}.rowcard-total{flex:0 0 auto;text-align:right;font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-size:17px;line-height:1.2}.rowcard-total-label{display:block;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#a1a1aa;margin-bottom:1px}.rowcard-events{list-style:none;margin:11px 0 0;padding:0;display:grid;grid-gap:3px;gap:3px}.rowcard-events li{display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:14px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.rowcard-event-name{color:#71717a;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:760px){.admin-shell,.auth-shell{padding:20px 12px 40px}.panel{padding:15px}.topbar{gap:12px}.row-actions{width:100%}.row-actions .btn,.row-actions button,.row-actions form{flex:1 1 auto}.field input,.field select,.field textarea{font-size:16px}.field textarea{font-size:14px}.admin-table{display:block;overflow-x:auto}}@media (min-width:761px){td.rank,td.skater,td.total,th.rank,th.skater-head,th.total-head{position:-webkit-sticky;position:sticky;background:#fff;z-index:2}td.rank,th.rank{left:0}td.skater,th.skater-head{left:64px;box-shadow:1px 0 0 #ececec}td.total,th.total-head{right:0;box-shadow:-1px 0 0 #ececec}thead th.rank,thead th.skater-head,thead th.total-head{z-index:3}tbody tr:hover td.rank,tbody tr:hover td.skater,tbody tr:hover td.total{background:#fcfcfc}}.total-badge{display:inline-block;min-width:78px;padding:5px 10px;border-radius:7px;color:#fff;font-weight:800;font-size:15px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:center;letter-spacing:.01em}td.total{padding-right:10px}.rowcard-total .total-badge{font-size:16px;min-width:84px}tbody tr.podium td{background:#f5f9fc}@media (min-width:761px){tbody tr.podium td.rank,tbody tr.podium td.skater,tbody tr.podium td.total{background:#f5f9fc}}tbody tr.podium:hover td{background:#eef5fa}.rowcard.podium{background:#f5f9fc}.rowcard.podium .pos-1,.rowcard.podium .pos-2,.rowcard.podium .pos-3,tr.podium .pos-1,tr.podium .pos-2,tr.podium .pos-3{box-shadow:0 0 0 2px #fff}.section-head.past-head{margin-top:30px}.series-card.past .card-rule{background:#cfd8de}.chip.done{background:#e8eef2;color:#40525e}.season-block{margin-bottom:30px}.season-head{display:flex;align-items:center;gap:11px;padding-bottom:9px;margin-bottom:15px;border-bottom:2px solid #e3e3e3}.season-head h2{margin:0;font-size:22px;letter-spacing:-.01em}.season-count{margin-left:auto;font-size:13px;color:#71717a}@media (max-width:640px){.season-head h2{font-size:19px}}.masthead-home{display:inline-flex;border-radius:8px;transition:opacity .15s ease}.masthead-home:hover{opacity:.85}.masthead-home:focus-visible{outline:2px solid #fff;outline-offset:3px}