/* BATV Statistics Archive — scoped under .batv-stats-shell so it can be
   embedded directly in a page (no iframe) without leaking styles.
   Theme matches the 2026 battleatthevillages.com redesign. */
.batv-stats-shell{
  --forest:#00492C;
  --forest-dark:#003620;
  --orange:#CD6636;
  --orange-lt:#D87138;
  --cream:#EEE5D1;
  --cream-lt:#F8F3E8;
  --ink:#17231d;
  --paper:#ffffff;
  --line:#DBCFB4;
  --muted:#5C574F;
}
.batv-stats-shell *,.batv-stats-shell *::before,.batv-stats-shell *::after,
.pdf-modal *,.pdf-modal{box-sizing:border-box;}
.batv-stats-shell{
  margin:0;padding:0;background:var(--paper);color:var(--ink);
  font-family:'PT Sans','Open Sans',Arial,sans-serif;font-size:17px;line-height:1.5;
}
.batv-stats-shell a{color:inherit;}
.batv-stats-shell .heading-font{font-family:Rockwell,"Rockwell Nova","Zilla Slab",Georgia,serif;font-weight:700;}

/* ---------- controls ---------- */
.batv-stats-shell .controls{max-width:1080px;margin:-26px auto 0;padding:0 5vw;position:relative;z-index:2;}
.batv-stats-shell .search-bar{
  display:flex;align-items:center;gap:10px;background:#fff;border:1px solid var(--line);
  border-radius:3px;padding:12px 16px;max-width:420px;box-shadow:0 8px 24px rgba(0,0,0,.12);
}
.batv-stats-shell .search-bar svg{flex:0 0 auto;color:var(--muted);}
.batv-stats-shell .search-bar input{border:0;outline:0;font:inherit;font-size:15px;width:100%;background:transparent;color:var(--ink);}
.batv-stats-shell .search-bar input::placeholder{color:var(--muted);}
.batv-stats-shell .search-bar:focus-within{border-color:var(--orange);box-shadow:0 0 0 3px rgba(205,102,54,.16);}

/* ---------- layout ---------- */
.batv-stats-shell main{max-width:1080px;margin:0 auto;padding:34px 5vw 70px;display:block;}
.batv-stats-shell .layout{display:grid;grid-template-columns:200px 1fr;gap:34px;}

.batv-stats-shell .years{display:flex;flex-direction:column;gap:3px;align-self:start;position:sticky;top:18px;}
.batv-stats-shell .years-label{font-size:12px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin:0 0 10px;}
.batv-stats-shell .year-btn{
  display:flex;align-items:baseline;gap:8px;width:100%;text-align:left;cursor:pointer;
  border:0;border-left:3px solid transparent;background:transparent;font:inherit;color:var(--ink);
  padding:9px 10px;border-radius:2px;transition:background .15s ease;
}
.batv-stats-shell .year-btn:hover{background:var(--cream-lt);}
.batv-stats-shell .year-btn .y{font-size:19px;font-weight:700;font-variant-numeric:tabular-nums;font-family:Rockwell,"Rockwell Nova","Zilla Slab",Georgia,serif;}
.batv-stats-shell .year-btn .c{font-size:12px;color:var(--muted);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.batv-stats-shell .year-btn .n{font-size:11px;color:var(--muted);border:1px solid var(--line);border-radius:99px;padding:1px 7px;}
.batv-stats-shell .year-btn[aria-selected="true"]{background:var(--forest);border-left-color:var(--orange-lt);color:#fff;}
.batv-stats-shell .year-btn[aria-selected="true"] .c,.batv-stats-shell .year-btn[aria-selected="true"] .n{color:rgba(255,255,255,.72);border-color:rgba(255,255,255,.32);}
.batv-stats-shell .year-btn:focus-visible{outline:2px solid var(--orange);outline-offset:2px;}

.batv-stats-shell .year-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin:0 0 20px;}
.batv-stats-shell .year-head h2{margin:0;font-size:28px;color:var(--forest);line-height:1.1;}
.batv-stats-shell .year-head .ed{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--orange);font-weight:700;}
.batv-stats-shell .year-head .champ{width:100%;font-size:14px;color:var(--muted);}
.batv-stats-shell .year-head .champ b{color:var(--ink);}

.batv-stats-shell .day{display:grid;grid-template-columns:42px 1fr;margin-bottom:16px;}
.batv-stats-shell .day-tab{background:var(--forest);color:#fff;display:flex;align-items:center;justify-content:center;}
.batv-stats-shell .day-tab span{writing-mode:vertical-rl;transform:rotate(180deg);font-size:11px;letter-spacing:3px;text-transform:uppercase;font-weight:700;padding:14px 0;}
.batv-stats-shell .day-body{border:1px solid var(--line);border-left:0;background:#fff;}
.batv-stats-shell .day-date{font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--forest);padding:9px 16px;border-bottom:1px solid var(--line);background:var(--cream);}

.batv-stats-shell .game{display:flex;align-items:center;gap:14px;padding:13px 16px;text-decoration:none;color:var(--ink);border-bottom:1px solid var(--line);transition:background .15s ease;}
.batv-stats-shell .game:last-child{border-bottom:0;}
.batv-stats-shell a.game:hover{background:var(--cream-lt);}
.batv-stats-shell a.game:hover .action{color:var(--forest);}
.batv-stats-shell a.game:focus-visible{outline:2px solid var(--orange);outline-offset:-2px;}
.batv-stats-shell .num{flex:0 0 40px;font-size:24px;font-weight:700;color:var(--orange-lt);font-variant-numeric:tabular-nums;font-family:Rockwell,"Rockwell Nova","Zilla Slab",Georgia,serif;}
.batv-stats-shell .matchup{flex:1 1 auto;min-width:0;font-size:17px;font-weight:700;}
.batv-stats-shell .matchup em{font-style:normal;font-weight:400;color:var(--muted);font-size:14px;padding:0 3px;}
.batv-stats-shell .round{display:block;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);font-weight:400;margin-top:3px;}
.batv-stats-shell .action{flex:0 0 auto;font-size:12px;letter-spacing:1px;text-transform:uppercase;font-weight:700;color:var(--orange);white-space:nowrap;}
.batv-stats-shell .action.missing{color:var(--muted);font-weight:400;letter-spacing:.4px;text-transform:none;font-size:13px;}
.batv-stats-shell .game.missing{opacity:.6;}

.batv-stats-shell .game.final{background:var(--forest);color:#fff;border-bottom:0;}
.batv-stats-shell a.game.final:hover{background:var(--forest-dark);}
.batv-stats-shell .game.final .num{color:var(--orange-lt);}
.batv-stats-shell .game.final .round{color:rgba(255,255,255,.66);}
.batv-stats-shell .game.final .matchup em{color:rgba(255,255,255,.6);}
.batv-stats-shell .game.final .action{color:#fff;}
.batv-stats-shell a.game.final:hover .action{color:var(--cream);}

.batv-stats-shell .empty{border:1px dashed var(--line);background:var(--cream-lt);padding:26px 22px;color:var(--muted);}
.batv-stats-shell .empty b{display:block;color:var(--ink);font-size:16px;margin-bottom:6px;}
.batv-stats-shell .empty a{color:var(--orange);}

.batv-stats-shell .result-head{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);font-weight:700;margin:0 0 8px;}
.batv-stats-shell .result-year{font-size:17px;font-weight:700;color:var(--forest);margin:22px 0 6px;}
.batv-stats-shell .result-year:first-of-type{margin-top:0;}
.batv-stats-shell .result-group{border:1px solid var(--line);background:#fff;}
.batv-stats-shell .result-group .game.final{background:#fff;color:inherit;border-bottom:1px solid var(--line);}
.batv-stats-shell .result-group .game.final:last-child{border-bottom:0;}
.batv-stats-shell .result-group .game.final .round,.batv-stats-shell .result-group .game.final .matchup em{color:var(--muted);}
.batv-stats-shell .result-group .game.final .action{color:var(--forest);}

.batv-stats-shell .note{color:var(--muted);font-size:13px;margin:20px 0 0;}
.batv-stats-shell .note a{color:var(--orange);}

@keyframes fadeIn{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}
.batv-stats-shell .anim{animation:fadeIn .3s ease both;}

@media (max-width:760px){
  .batv-stats-shell .layout{grid-template-columns:1fr;gap:20px;}
  .batv-stats-shell .years{position:static;flex-direction:row;overflow-x:auto;gap:6px;padding-bottom:6px;-webkit-overflow-scrolling:touch;}
  .batv-stats-shell .years-label{display:none;}
  .batv-stats-shell .year-btn{flex:0 0 auto;border-left:0;border-bottom:3px solid var(--line);padding:6px 12px;}
  .batv-stats-shell .year-btn .c{display:none;}
  .batv-stats-shell .year-btn[aria-selected="true"]{border-left-color:transparent;border-bottom-color:var(--orange-lt);}
  .batv-stats-shell .game{flex-wrap:wrap;gap:10px;padding:12px;}
  .batv-stats-shell .num{flex-basis:32px;font-size:20px;}
  .batv-stats-shell .action{flex-basis:100%;margin-left:40px;font-size:11px;}
  .batv-stats-shell .day{grid-template-columns:32px 1fr;}
}
@media (prefers-reduced-motion:reduce){.batv-stats-shell .anim{animation:none;}.batv-stats-shell *{transition:none !important;}}

/* ---------- pdf modal (top-level overlay) ---------- */
.pdf-modal{position:fixed;inset:0;z-index:9999;display:none;font-family:'PT Sans','Open Sans',Arial,sans-serif;}
.pdf-modal.open{display:block;}
.pdf-modal-backdrop{position:absolute;inset:0;background:rgba(23,35,29,.72);}
.pdf-modal-dialog{position:relative;max-width:1000px;width:92vw;height:88vh;margin:4vh auto;background:#fff;border-radius:4px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.35);display:flex;flex-direction:column;}
.pdf-modal-bar{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:#00492C;color:#fff;}
.pdf-modal-bar span{font-weight:700;font-size:14px;}
.pdf-modal-close{background:transparent;border:0;color:#fff;font-size:22px;line-height:1;cursor:pointer;padding:4px 8px;}
.pdf-modal-close:hover{color:#EEE5D1;}
.pdf-modal-dialog iframe{flex:1 1 auto;width:100%;border:0;background:#525659;}
body.pdf-modal-lock{overflow:hidden;}
