:root{--ff-display:"League Spartan","Geist",ui-sans-serif,system-ui,sans-serif;--ff-ui:"Geist",ui-sans-serif,system-ui,-apple-system,sans-serif;--ff-mono:"Geist Mono",ui-monospace,"SFMono-Regular",Menlo,monospace;--c-paper:oklch(0.992 0.003 80);--c-card:oklch(1 0 0);--c-ink:oklch(0.18 0.005 80);--c-ink-2:oklch(0.34 0.005 80);--c-ink-3:oklch(0.55 0.004 80);--c-ink-4:oklch(0.72 0.003 80);--c-line:oklch(0.88 0.003 80);--c-line-2:oklch(0.94 0.002 80);--c-fill:oklch(0.965 0.002 80);--c-accent:#0f4c9e;--c-accent-ink:#0b3c7e;--c-accent-soft:#e5edf9;--c-on-accent:#fff;--c-ok:#15713f;--c-ok-soft:#e2f0e7;--c-warn:#9a5b06;--c-warn-soft:#fbeeda;--c-danger:#c62828;--c-danger-soft:#fae5e5;--c-tag-blue:#0b6e99;--c-tag-blue-soft:#e1f1f8;--c-tag-violet:#6d28d9;--c-tag-violet-soft:#ede9fe;--c-team-a:#1565c0;--c-team-b:#c62828;--gap:8px;--pad:16px;--r-sm:6px;--r-md:10px;--r-lg:14px;--r-xl:20px;color-scheme:light}:root[data-theme=dark]{color-scheme:dark;--c-paper:oklch(0.171 0.004 70);--c-card:oklch(0.215 0.004 70);--c-ink:oklch(0.955 0.003 80);--c-ink-2:oklch(0.82 0.004 80);--c-ink-3:oklch(0.63 0.004 80);--c-ink-4:oklch(0.48 0.004 80);--c-line:oklch(0.31 0.004 70);--c-line-2:oklch(0.26 0.003 70);--c-fill:oklch(0.255 0.004 70);--c-accent:#74a9ef;--c-accent-ink:#a2c8f6;--c-accent-soft:#17283d;--c-on-accent:#0d1c31;--c-ok:#5cc088;--c-ok-soft:#142e1e;--c-warn:#e0a455;--c-warn-soft:#31240e;--c-danger:#e8706f;--c-danger-soft:#371819;--c-tag-blue:#5fc0e8;--c-tag-blue-soft:#102a35;--c-tag-violet:#b49bf0;--c-tag-violet-soft:#241a3d;--c-team-a:#1565c0;--c-team-b:#c62828}@media (prefers-color-scheme:dark){:root[data-theme=system]{color-scheme:dark;--c-paper:oklch(0.171 0.004 70);--c-card:oklch(0.215 0.004 70);--c-ink:oklch(0.955 0.003 80);--c-ink-2:oklch(0.82 0.004 80);--c-ink-3:oklch(0.63 0.004 80);--c-ink-4:oklch(0.48 0.004 80);--c-line:oklch(0.31 0.004 70);--c-line-2:oklch(0.26 0.003 70);--c-fill:oklch(0.255 0.004 70);--c-accent:#74a9ef;--c-accent-ink:#a2c8f6;--c-accent-soft:#17283d;--c-on-accent:#0d1c31;--c-ok:#5cc088;--c-ok-soft:#142e1e;--c-warn:#e0a455;--c-warn-soft:#31240e;--c-danger:#e8706f;--c-danger-soft:#371819;--c-tag-blue:#5fc0e8;--c-tag-blue-soft:#102a35;--c-tag-violet:#b49bf0;--c-tag-violet-soft:#241a3d;--c-team-a:#1565c0;--c-team-b:#c62828}}*,:after,:before{margin:0;padding:0;box-sizing:border-box}.ws-root{font-family:var(--ff-ui);color:var(--c-ink);background:var(--c-paper);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ws-h1{font-size:28px;text-transform:uppercase;line-height:1.1}.ws-h1,.ws-h2{font-family:var(--ff-display);font-weight:700}.ws-h2{font-size:22px;line-height:1.2}.ws-h3{font-family:var(--ff-display);font-size:13px;font-weight:700;line-height:1.3}.ws-body{font-family:var(--ff-ui);font-size:14px;line-height:1.5}.ws-small{font-size:12px;color:var(--c-ink-3)}.ws-mono{font-size:11px}.ws-eyebrow,.ws-mono{font-family:var(--ff-mono)}.ws-eyebrow{font-size:10px;color:var(--c-ink-3);text-transform:uppercase;letter-spacing:.08em}.ws-card{background:var(--c-card);border:1px solid var(--c-line);border-radius:var(--r-md);padding:var(--pad);display:flex;flex-direction:column;gap:var(--gap)}.ws-card.flush{padding:0}.ws-row{display:flex;align-items:center;gap:var(--gap)}.ws-row.between{justify-content:space-between}.ws-col{display:flex;flex-direction:column;gap:var(--gap)}.ws-pill{display:inline-flex;align-items:center;padding:4px 10px;border-radius:9999px;border:1px solid var(--c-line);background:var(--c-card);font-family:var(--ff-mono);font-size:11px;color:var(--c-ink-2)}.ws-pill.solid{background:var(--c-ink);color:var(--c-paper);border-color:var(--c-ink)}.ws-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;background:var(--c-accent);color:var(--c-on-accent);border-radius:9999px;padding:12px 18px;font-size:14px;font-weight:500;font-family:var(--ff-ui);border:1px solid var(--c-accent);cursor:pointer;text-decoration:none;line-height:1}.ws-btn.danger{background:transparent;color:var(--c-danger);border-color:var(--c-line)}.ws-btn.secondary{background:var(--c-card);color:var(--c-ink);border-color:var(--c-line)}.ws-btn.ghost{background:transparent;color:var(--c-ink);border-color:transparent}.ws-btn.block{width:100%}.ws-btn.sm{padding:8px 12px;font-size:12px}.ws-input{width:100%;height:44px;padding:0 14px;border:1px solid var(--c-line);border-radius:10px;background:var(--c-card);font-size:14px;font-family:var(--ff-ui);color:var(--c-ink);display:flex;align-items:center;gap:8px;outline:none}.ws-input.lg{height:52px;font-size:16px}.ws-av{width:32px;height:32px;border-radius:50%;background:var(--c-fill);border:1px solid var(--c-line);font-family:var(--ff-mono);font-size:11px;color:var(--c-ink-2);display:flex;align-items:center;justify-content:center;flex-shrink:0}.ws-av.sm{width:24px;height:24px;font-size:10px}.ws-av.lg{width:44px;height:44px;font-size:13px}.ws-tile{border:1px solid var(--c-line);border-radius:var(--r-md);padding:12px;background:var(--c-card);display:flex;flex-direction:column;gap:6px}.ws-tile.selected{border-color:var(--c-ink);box-shadow:inset 0 0 0 1px var(--c-ink)}.ws-score{font-family:var(--ff-mono);font-size:32px;font-weight:500}.ws-num,.ws-score{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ws-num{font-family:var(--ff-mono)}.ws-icon{width:18px;height:18px;display:inline-flex;align-items:center;justify-content:center}.ws-list-row{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--c-line)}.ws-list-row:last-child{border-bottom:none}.ws-meter{height:4px;background:var(--c-line);border-radius:9999px;overflow:hidden}.ws-meter>i{display:block;height:100%;background:var(--c-ink);border-radius:9999px}.ws-mark{width:28px;height:28px;border-radius:50%;border:1px solid var(--c-line);background:var(--c-card);font-family:var(--ff-mono);font-size:10px;font-weight:500;color:var(--c-ink-2);display:flex;align-items:center;justify-content:center;flex-shrink:0}.ws-divider{height:1px;background:var(--c-line)}.ws-bottombar{border-top:1px solid var(--c-line);background:var(--c-paper);display:flex;align-items:center;height:70px;padding-bottom:14px}.ws-bottombar .ws-tab{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--ff-mono);font-size:10px;color:var(--c-ink-3);text-transform:uppercase;text-decoration:none;gap:4px}.ws-bottombar .ws-tab.active{color:var(--c-ink)}.ws-app-header{padding:8px 20px 12px;display:flex;flex-direction:column;gap:4px;border-bottom:1px solid var(--c-line)}.ws-app-header.tight{padding-bottom:8px;border-bottom:none}.ws-placeholder{color:var(--c-ink-4)}.ws-link{color:var(--c-accent-ink);text-decoration:underline;text-underline-offset:3px}:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--c-accent);outline-offset:2px;border-radius:var(--r-sm)}.ws-auth{min-height:100vh;display:grid;grid-template-columns:1fr;background:var(--c-paper)}@media (min-width:880px){.ws-auth{grid-template-columns:1.1fr 1fr}}.ws-auth__brand{display:none;background:var(--c-ink);color:var(--c-paper);padding:48px;flex-direction:column;justify-content:space-between;gap:32px}@media (min-width:880px){.ws-auth__brand{display:flex}}.ws-auth__panel{display:flex;align-items:center;justify-content:center;padding:32px 16px}.ws-auth__divider{display:flex;align-items:center;gap:10px;color:var(--c-ink-4);font-family:var(--ff-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.ws-auth__divider:after,.ws-auth__divider:before{content:"";height:1px;background:var(--c-line);flex:1 1}.ws-gestor-shell{display:flex;min-height:100vh}.ws-gestor-side{display:none}.ws-gestor-main{flex:1 1;min-width:0;display:flex;justify-content:center}.ws-gestor-content{width:100%;min-width:0}@media (min-width:900px){.ws-gestor-side{display:flex;flex-direction:column;width:236px;flex-shrink:0;position:-webkit-sticky;position:sticky;top:0;height:100vh;overflow-y:auto;border-right:1px solid var(--c-line);background:var(--c-card);padding:18px 10px 14px;gap:2px}.ws-gestor-content{max-width:1080px;padding:0 8px}.ws-gestor-shell .ws-bottombar{display:none}}.ws-gside-brand{display:flex;align-items:center;gap:9px;padding:2px 10px 14px}.ws-gside-group{font-family:var(--ff-mono);font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--c-ink-4);padding:12px 10px 4px}.ws-gside-link{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:var(--r-sm);font-size:13.5px;color:var(--c-ink-2);text-decoration:none;transition:background .1s}.ws-gside-link.active,.ws-gside-link:hover{background:var(--c-fill)}.ws-gside-link.active{color:var(--c-ink);font-weight:600}.ws-gside-foot{margin-top:auto;border-top:1px solid var(--c-line);padding-top:10px}.ws-home-cols{display:flex;flex-direction:column;gap:10px}.ws-home-rail{order:-1;min-width:0}.ws-home-main{min-width:0;display:flex;flex-direction:column;gap:10px}.ws-comp-grid{display:grid;grid-template-columns:1fr;grid-gap:10px;gap:10px}@media (min-width:700px){.ws-comp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:1100px){.ws-home-cols{flex-direction:row;align-items:flex-start}.ws-home-main{flex:1 1}.ws-home-rail{order:1;width:300px;flex-shrink:0;position:-webkit-sticky;position:sticky;top:16px}}.ws-two-pane{display:flex;flex-direction:column;gap:14px}@media (min-width:900px){.ws-two-pane{flex-direction:row;align-items:flex-start;gap:16px}.ws-two-pane>*{flex:1 1;min-width:0}}@media (hover:hover){.ws-list-row:hover{background:var(--c-fill)}.ws-card[role=button]:hover,a.ws-card:hover{border-color:var(--c-ink-4)}}.ws-sidebar{width:260px;height:100vh;border-right:1px solid var(--c-line);background:var(--c-card);padding:20px 0;position:fixed;top:0;left:0;z-index:50}.ws-sidebar,.ws-sidebar__brand{display:flex;flex-direction:column}.ws-sidebar__brand{padding:0 20px 16px;gap:2px}.ws-sidebar__search{padding:0 12px;margin-bottom:8px}.ws-sidebar__nav{flex:1 1;display:flex;flex-direction:column;gap:2px;padding:0 8px}.ws-sidebar__link{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:var(--r-sm);font-size:14px;color:var(--c-ink-2);text-decoration:none;font-family:var(--ff-ui);transition:background .1s}.ws-sidebar__link:hover{background:var(--c-fill)}.ws-sidebar__link.active{background:var(--c-fill);color:var(--c-ink);font-weight:600}.ws-sidebar__footer{padding:16px 20px 0;border-top:1px solid var(--c-line);margin-top:auto}