/* 1. Page: scoped so Gameday keeps its own compact table theme. */
.lb-page{--lb-blue:#0021a5;--lb-navy:#002657;--lb-cream:#fffaf2;--lb-orange:#b93410;color:var(--lb-navy);font:15px/1.5 Arial,Helvetica,sans-serif;max-width:1400px;margin-inline:auto}
.lb-page *{box-sizing:border-box}.lb-page [hidden]{display:none!important}
.lb-page h1,.lb-page h2{font-family:Georgia,serif;color:var(--lb-navy);border:0}.lb-page h1{font-size:clamp(2rem,4vw,3.2rem)}
.lb-kicker{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--lb-blue)}
.lb-notice{background:#eef2fa;border-left:4px solid #fa4616;padding:.8rem 1rem}.lb-footnote{font-size:.82rem;color:#495b71}
/* 2. Navigation: same square tabs and white corner brackets at every level. */
:is(#quarto-header .navbar-nav .nav-link,.lb-nav>a,.lb-nav summary,.lb-menu a){position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:.65rem 1rem;border:0;border-radius:0;background:transparent;font:700 1rem/1.3 Georgia,serif;text-decoration:none;box-shadow:none;cursor:pointer;transition:background-color .2s,color .2s}
.lb-nav{display:flex;gap:.25rem;align-items:center;flex-wrap:wrap;padding:.4rem 0;margin:1rem 0;border-block:1px solid #bac8db;background:#fffaf2}
.lb-nav :is(a,summary){color:#002657}
:is(#quarto-header .navbar-nav .nav-link,.lb-nav a,.lb-nav summary):is(:hover,:focus-visible,.active,[aria-current=page]),.lb-nav details[open]>summary{background:#0021a5;color:#fff}
:is(#quarto-header .navbar-nav .nav-link,.lb-nav a,.lb-nav summary)::before,:is(#quarto-header .navbar-nav .nav-link,.lb-nav a,.lb-nav summary)::after{content:"";position:absolute;width:10px;height:10px;opacity:0;pointer-events:none;border:0;transition:opacity .2s}
:is(#quarto-header .navbar-nav .nav-link,.lb-nav a,.lb-nav summary)::before{top:3px;right:3px;border-top:2px solid white;border-right:2px solid white}
:is(#quarto-header .navbar-nav .nav-link,.lb-nav a,.lb-nav summary)::after{bottom:3px;left:3px;border-bottom:2px solid white;border-left:2px solid white}
:is(#quarto-header .navbar-nav .nav-link,.lb-nav a,.lb-nav summary):is(:hover,:focus-visible,.active,[aria-current=page])::before,:is(#quarto-header .navbar-nav .nav-link,.lb-nav a,.lb-nav summary):is(:hover,:focus-visible,.active,[aria-current=page])::after,.lb-nav details[open]>summary::before,.lb-nav details[open]>summary::after{opacity:1}
.lb-nav details{position:relative}.lb-nav summary{list-style:none;gap:.5rem}.lb-nav summary::-webkit-details-marker{display:none}
.lb-menu{position:absolute;top:100%;left:0;z-index:30;min-width:170px;background:#fffaf2;border:1px solid #bac8db;padding:.3rem;box-shadow:0 6px 18px #00265726}.lb-menu a{display:flex;justify-content:flex-start}
/* 3. Controls: silver surfaces, soft highlight and a pressed state. */
.lb-filters{display:flex;flex-wrap:wrap;align-items:end;gap:.8rem;padding:1rem;background:#eef2f7;border:1px solid #bdcadb}
.lb-page label{display:grid;gap:.3rem;font-size:.85rem;font-weight:700}
.lb-page :is(select,input[type=search]),.lb-button{min-height:42px;max-width:100%;border:1px solid #a8b6cb;border-radius:4px;padding:.5rem .7rem;color:#002657;background:linear-gradient(#fff,#e0e6ee);font:inherit;box-shadow:inset 0 1px 0 #fff,0 2px 3px #00265712;transition:box-shadow .2s,border-color .2s}
.lb-button{cursor:pointer}.lb-button:hover,.lb-page select:hover{border-color:#0021a5;box-shadow:inset 0 1px 0 #fff,0 3px 9px #0021a526}.lb-button:active{box-shadow:inset 0 2px 4px #00265730}
.lb-page .lb-check{display:flex;align-items:center;min-height:42px;gap:.5rem}.lb-check input{width:18px;height:18px}
.lb-page :is(a,button,summary,select,input,[tabindex]):focus-visible{outline:3px solid #0021a5;outline-offset:3px}
/* 4. Two independent tables, both using supplied source ranks. */
.lb-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem;margin-block:1rem;align-items:start}.lb-panel{min-width:0}.lb-panel>label{margin-bottom:.7rem}
.lb-table-scroll{overflow:auto;max-height:620px;background:white;border:1px solid #bdcadb}
.lb-table{border-collapse:collapse;width:100%;font:13px/1.4 Arial,sans-serif;margin:0}.lb-table caption{caption-side:top;background:#0021a5;color:#fff;text-align:left;padding:.65rem .8rem;font-weight:700}
.lb-table thead th{position:sticky;top:0;z-index:1;background:#0021a5;color:#fff;border-bottom:2px solid #fa4616;font-size:.75rem;text-align:left}
.lb-table :is(th,td){padding:.5rem .6rem;border-bottom:1px solid #d4dfef;vertical-align:middle}.lb-table tbody tr:nth-child(even){background:#edf3fc}.lb-table tbody tr:hover{background:#fff0df}
.lb-table .lb-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.lb-table td.lb-value{color:#b93410;font-weight:700;background:#fa461608}
.lb-person{display:flex;gap:.5rem;align-items:center;min-width:160px}.lb-portrait{width:34px;height:40px;object-fit:contain;background:#f1f4f8;border:1px solid #ccd6e5}.lb-team-logo{width:18px;height:18px;object-fit:contain;vertical-align:middle;margin-right:.2rem}.lb-identity{display:grid;gap:.2rem}.lb-identity small{color:#4d5e73;font-size:.72rem}
.lb-name{border:0;background:none;padding:0;text-align:left;color:#0021a5;font:700 .85rem/1.3 Arial,sans-serif;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.lb-team-name{color:#0021a5;font-weight:700}
.lb-pagination{display:flex;justify-content:space-between;gap:.5rem;align-items:center;margin-top:.6rem;font-size:.8rem}.lb-button:disabled{opacity:.45;cursor:default}
.lb-page dialog{width:min(920px,94vw);max-height:85vh;border:1px solid #aebed3;padding:1.3rem;background:#fffaf2;color:#002657;box-shadow:0 20px 70px #00265744}.lb-page dialog::backdrop{background:#00142d88}.lb-page dialog h2{margin-top:1rem}
@media(max-width:850px){.lb-grid{grid-template-columns:1fr}.lb-filters>label{flex:1 1 160px}}
@media(prefers-reduced-motion:reduce){.lb-page *,#quarto-header .navbar-nav .nav-link{transition:none!important}}
