:root{--ink:#232a31;--muted:#68717a;--line:#dfe4e9;--accent:#0069e8;--font:Arial, Helvetica, sans-serif}*{box-sizing:border-box}body{color:var(--ink);font:14px/1.5 var(--font);-webkit-font-smoothing:antialiased;background:#fff;margin:0}button,input,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}button:disabled{opacity:.3;cursor:default}a{color:inherit;text-decoration:none}a:hover,.text-button:hover{color:var(--accent)}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:2px solid var(--accent);outline-offset:4px}h1,h2,p{margin:0}p,.muted{color:var(--muted)}.app-shell{max-width:940px;margin:auto;padding:0 32px}.app-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;height:94px;display:flex}.wordmark{letter-spacing:-.4px;font-size:15px;font-weight:600}.wordmark span{color:var(--accent)}.header-actions{align-items:center;gap:16px;font-size:12px;display:flex}.button,.connect-top{background:#fff;border:1px solid #deddd7;border-radius:5px;align-items:center;gap:6px;padding:7px 11px;font-size:12px;display:inline-flex}.button:hover,.connect-top:hover{border-color:#aaa}.league-heading{justify-content:space-between;align-items:center;gap:24px;margin-top:52px;display:flex}.league-heading h1{letter-spacing:-1.1px;overflow-wrap:anywhere;font-size:29px;font-weight:500;line-height:1.25}.league-heading p{margin-top:9px;font-size:12px}.league-heading>div:first-child{min-width:0}.week-picker{flex-shrink:0;align-items:center;gap:6px;display:flex}.week-picker select{appearance:none;text-align:center;cursor:pointer;background:0 0;border:0;padding:6px 4px;font-size:13px;font-weight:500}.icon-button{border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex}.icon-button:hover{background:#f4f3ef}.week-meta{color:var(--muted);align-items:center;gap:14px;margin-top:24px;font-size:12px;display:flex}.text-button{color:var(--muted);font-size:12px}.week-meta .text-button{color:var(--accent)}.tabs{border-bottom:1px solid var(--line);gap:29px;margin-top:31px;display:flex}.tabs button{color:var(--muted);padding:13px 0;font-size:13px;position:relative}.tabs button[aria-selected=true]{color:var(--accent)}.tabs button[aria-selected=true]:after{content:"";background:var(--accent);height:2px;position:absolute;bottom:-1px;left:0;right:0}.table-scroll{width:100%;position:relative;overflow:auto}table{border-collapse:collapse;text-align:left;font-variant-numeric:tabular-nums;white-space:nowrap;width:100%}th{font-weight:400}thead th{color:var(--muted);padding:18px 12px 14px;font-size:11px}tbody th,tbody td{border-bottom:1px solid var(--line);padding:17px 12px;font-size:13px}.rank-column{width:52px}.rankings-table tbody th{letter-spacing:-.15px;width:47%}.number-column{text-align:right}.rankings-table tbody tr:last-child th,.rankings-table tbody tr:last-child td{border-bottom:0}.table-note{color:#999;margin-top:20px;font-size:11px}.page-footer{border-top:1px solid var(--line);color:#999;justify-content:space-between;align-items:center;margin-top:35px;padding:19px 0 32px;font-size:11px;display:flex}.page-footer>div{align-items:center;gap:7px;display:flex}.page-footer .text-button{font-size:11px}.page-footer .icon-button{width:22px;height:22px}.view-controls{justify-content:space-between;align-items:center;gap:12px;padding:20px 0 4px;display:flex}.segmented{gap:5px;display:flex}.segmented button{color:var(--muted);border-radius:4px;padding:5px 9px;font-size:11px}.segmented button[aria-pressed=true]{color:#444;background:#f3f2ee}.view-controls select{border:1px solid var(--line);background:#fff;border-radius:4px;padding:5px 8px;font-size:11px}.matrix-table{min-width:760px}.matrix-table thead th:not(:first-child),.matrix-table td{text-align:center}.matrix-table th:first-child{min-width:190px}.matrix-index{color:#aaa;width:23px;font-size:10px;display:inline-block}.matrix-table td{color:#999;padding:15px 6px;font-size:11px}.matrix-table .self-cell{color:#d4d3cd}.stats-table{min-width:780px}.stats-table th:not(:first-child),.stats-table td{text-align:right}.stats-table td{color:#666;font-size:12px}.matchup-row{border-bottom:1px solid var(--line);grid-template-columns:1fr auto 1fr;align-items:center;gap:22px;padding:24px 0;font-size:13px;display:grid}.matchup-row strong{color:var(--accent);font-variant-numeric:tabular-nums;font-weight:500}.matchup-row small{text-align:center;color:var(--muted);grid-column:1/-1;margin-top:-15px;font-size:10px}.empty-state{text-align:center;flex-direction:column;align-items:center;gap:16px;padding:65px 24px;display:flex}.empty-state h1{font-size:25px;font-weight:500}.notice{color:#8e562f;background:#fffaf7;border:1px solid #efd6c9;border-radius:4px;justify-content:space-between;align-items:center;gap:12px;margin-top:20px;padding:12px 14px;font-size:12px;display:flex}.sync-warning{color:#9a6a44;margin-top:20px;font-size:12px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}dialog{border:1px solid var(--line);width:calc(100% - 32px);max-width:440px;max-height:85dvh;color:var(--ink);background:#fff;border-radius:9px;padding:0;box-shadow:0 20px 70px #00000015}dialog::backdrop{background:#00000035}.modal-content{padding:31px;position:relative}.modal-close{position:absolute;top:12px;right:12px}.modal-content h2{letter-spacing:-.6px;margin:0 0 21px;padding-right:15px;font-size:22px;font-weight:500;line-height:1.3}.modal-content p{margin-top:14px;font-size:12px;line-height:1.8}.modal-content .formula{color:var(--ink);font-size:14px;line-height:2}.primary-button{background:var(--accent);color:#fff;border-radius:5px;justify-content:center;align-items:center;gap:8px;width:100%;margin-top:20px;padding:10px 15px;font-size:12px;display:flex}.primary-button:hover{color:#fff;background:#0055bf}.field-label{color:var(--muted);margin-bottom:8px;font-size:11px;display:block}.league-select{background:#fff;border:1px solid #dcdad5;border-radius:4px;width:100%;padding:10px;font-size:12px}.connection-footer{color:var(--muted);justify-content:space-between;margin-top:20px;font-size:11px;display:flex}.connection-footer button{font-size:11px}.copy-link-row{align-items:center;gap:8px;display:flex}.copy-link-row input{border:1px solid var(--line);background:#faf9f6;border-radius:4px;flex:1;min-width:0;padding:9px;font-size:11px}.outlined-button{border:1px solid var(--line);border-radius:4px;align-items:center;gap:5px;padding:9px;font-size:11px;display:flex}.revoke-button{color:var(--muted);margin:18px auto 0;font-size:11px;text-decoration:underline;display:block}.share-loading{align-items:center;gap:8px;display:flex}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (max-width:600px){.app-shell{padding:0 20px}.app-header{height:73px}.wordmark{font-size:14px}.header-actions{gap:8px;font-size:10px}.button,.connect-top{padding:6px 8px;font-size:10px}.connect-top svg{display:none}.league-heading{align-items:flex-start;gap:15px;margin-top:35px}.league-heading h1{letter-spacing:-.8px;font-size:23px}.league-heading p{margin-top:8px;font-size:10px}.week-picker{gap:0}.week-picker select{max-width:65px;font-size:11px}.week-picker .icon-button{width:24px;height:28px}.week-meta{margin-top:23px;font-size:11px}.tabs{gap:26px;margin-top:22px}.tabs button{font-size:12px}.rank-column{width:25px}thead th{padding:15px 8px 11px;font-size:10px}tbody th,tbody td{padding:17px 8px;font-size:11px}.rankings-table tbody th{white-space:normal;width:auto;min-width:105px;padding-right:6px}.rank-number,.rankings-table .number-column{font-size:10px}.table-note{font-size:10px;line-height:1.6}.page-footer{margin-top:25px}.page-footer>div{font-size:9px}.page-footer .text-button{font-size:10px}.modal-content{padding:27px 23px}.matchup-row{gap:12px;font-size:11px}.header-actions .muted{font-size:10px}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important}}.app-shell{max-width:1120px}.wordmark{color:var(--accent);font-size:18px;font-weight:700}.app-header{height:78px}.league-heading{margin-top:34px}.league-heading h1{letter-spacing:-.6px;font-size:27px;font-weight:600}.week-picker{border:1px solid var(--line);border-radius:22px;gap:5px;padding:3px 9px}.week-picker select{border-left:1px solid var(--line);border-right:1px solid var(--line);padding:0 17px}.tabs{gap:25px;margin-top:23px}.tabs button{padding:12px 4px;font-size:14px;font-weight:600}.table-scroll{border:1px solid var(--line);margin-top:20px}thead{background:#f0f3f5}thead th{color:var(--ink);padding:13px 14px;font-size:12px;font-weight:600}tbody th,tbody td{padding:13px 14px;font-size:14px}thead th:first-child,tbody td:first-child,tbody th:first-child{padding-left:15px}thead th:last-child,tbody td:last-child{padding-right:15px}tbody tr:nth-child(2n){background:#fafafa}.rank-number{color:var(--ink);font-size:13px}.rankings-table .power-value{color:var(--ink);font-weight:600}.rankings-table .number-column.muted{color:#4b555f}.team-label{vertical-align:middle;color:var(--accent);align-items:center;gap:9px;display:inline-flex}.team-logo{object-fit:cover;border:1px solid #e8ebed;border-radius:50%;flex-shrink:0}.team-label a:hover{text-decoration:underline}.matchups-list{border:1px solid var(--line);margin-top:20px}.matchup-row{gap:24px;padding:21px 24px}.matchup-row:last-child{border-bottom:0}.matchup-row strong{color:var(--ink);font-size:19px}.matchup-row>span:first-child{text-align:right}.matchup-row>span:nth-of-type(2){text-align:left}.matchup-row>span:first-child .team-label{flex-direction:row-reverse}.matrix-table .matrix-index,.table-note{color:#68717a}.page-footer{color:#68717a;margin-top:25px}.matrix-table td{color:#5d6771}.matrix-table .winning-cell{color:var(--accent)}@media (max-width:600px){.app-shell{padding:0 14px}.app-header{height:65px}.wordmark{font-size:16px}.league-heading{flex-wrap:wrap;gap:18px;margin-top:26px}.league-heading h1{font-size:24px}.league-heading>div:first-child{flex-basis:100%}.week-picker select{padding:0 14px}.week-meta{margin-top:14px}.tabs{gap:22px}.tabs button{font-size:12px}.table-scroll{margin-top:15px}thead th{padding:11px 7px;font-size:10px}tbody th,tbody td{padding:13px 7px;font-size:11px}thead th:first-child,tbody td:first-child,tbody th:first-child{padding-left:9px}thead th:last-child,tbody td:last-child{padding-right:9px}.rankings-table tbody th{min-width:111px}.rankings-table .number-column,.rank-number{font-size:10px}.team-label{gap:6px;line-height:1.4}.team-logo{width:22px;height:22px}.rankings-table .team-label span,.rankings-table .team-label a{overflow-wrap:anywhere}.matchup-row{gap:10px;padding:18px 10px;font-size:11px}.matchup-row strong{font-size:15px}.matchup-row .team-label{gap:7px;flex-direction:column!important}.matchup-row>span{text-align:center!important}.matchup-row .team-logo{width:30px;height:30px}.matrix-table .team-label{white-space:nowrap}}.weekly-records{margin:28px 0 30px}.weekly-records h2{margin:0;font-size:20px;font-weight:700}.weekly-records .table-scroll{margin-top:14px}.weekly-matrix .losing-cell{color:#a83b45;background:#fff4f4}.weekly-matrix .tied-cell{color:#886616;background:#fffbed}.weekly-matrix .winning-cell{color:#16734b;background:#eff9f3}.matrix-table th:first-child{z-index:1;border-right:1px solid var(--line);background:#fff;position:sticky;left:0}.matrix-table thead th:first-child{background:#f0f3f5}.matrix-table tbody tr:nth-child(2n) th:first-child{background:#fafafa}.matrix-table thead .team-logo,.matrix-table thead .team-avatar-fallback{margin:0 auto;display:block}.matrix-table .team-logo,.team-avatar-fallback{border-radius:50%;flex-shrink:0;width:26px;height:26px}.team-avatar-fallback{color:#526170;background:#e8edf2;justify-content:center;align-items:center;font-size:10px;display:inline-flex}.matrix-table .team-label{white-space:nowrap;align-items:center;gap:9px;display:flex}.matrix-table{table-layout:fixed;min-width:760px}.matrix-table th:first-child{width:170px;min-width:170px}.matrix-table thead th{padding:8px 6px}.matrix-table tbody th,.matrix-table tbody td{padding:7px 6px}.matrix-table thead th:first-child,.matrix-table tbody th:first-child{padding-left:10px;padding-right:10px}.matrix-table .team-logo,.matrix-table .team-avatar-fallback{width:24px;height:24px}.matrix-table .team-label{gap:7px}.matrix-table .team-label>span:last-child{text-overflow:ellipsis;overflow:hidden}.power-rankings{margin-top:32px}.power-rankings h2{margin:0;font-size:20px}
