/* Site-wide additions on top of baseline.css (the approved Ham Sandwiches design).
   Only approved changes from PROJECT_RULES.md and new sections live here. */

/* ---------- site navigation ---------- */
.site-nav{position:sticky;top:0;z-index:50;background:#fffdf8;border-bottom:2px solid var(--ink-primary)}
.site-nav-inner{max-width:1280px;margin:0 auto;padding:0 20px;display:flex;align-items:center;gap:26px;height:58px}
.site-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink-primary);font-family:'Barlow Condensed',sans-serif;font-weight:800;font-size:22px;letter-spacing:.02em;text-transform:uppercase}
.site-brand img{height:34px;width:auto;border-radius:3px}
.site-links{display:flex;gap:4px;align-items:center;flex:1}
.site-links a,.site-links button{font:600 13px 'Plus Jakarta Sans',sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-secondary);text-decoration:none;background:none;border:0;padding:10px 12px;cursor:pointer;border-radius:2px}
.site-links a:hover,.site-links button:hover,.site-links a.active{color:var(--accent-primary)}
.nav-drop{position:relative}
.nav-drop-menu{display:none;position:absolute;top:100%;left:0;background:#fffdf8;border:1px solid var(--border-medium);box-shadow:0 18px 40px #24241f24;padding:16px 18px;min-width:460px;grid-template-columns:1fr 1fr;gap:4px 28px}
.nav-drop.open .nav-drop-menu{display:grid}
.nav-drop-group h4{margin:0 0 8px;font:800 12px 'Plus Jakarta Sans',sans-serif;letter-spacing:.14em;color:var(--accent-primary);border-bottom:1px solid var(--border-light);padding-bottom:6px}
.nav-drop-group a{display:block;padding:6px 0;text-transform:none;letter-spacing:0;font-size:14px;color:var(--ink-primary)}
.nav-drop-group a.former{color:var(--ink-muted);font-size:13px}
.nav-drop-group .former-label{margin:10px 0 2px;font:700 10px 'Plus Jakarta Sans',sans-serif;letter-spacing:.12em;color:var(--ink-muted)}
@media(max-width:820px){.site-links{overflow-x:auto}.nav-drop-menu{position:fixed;left:8px;right:8px;top:58px;min-width:0;grid-template-columns:1fr}}

/* ---------- approved ledger changes ---------- */
/* World Series win: gold row, real trophy, roster button inside the row */
.season-item.is-champ{background:#f6e3a8;border-left:6px solid #c59b27}
.season-item.is-champ:hover{background:#f2dc98}
.trophy-img{height:34px;width:auto;vertical-align:middle;margin-left:8px;filter:drop-shadow(0 1px 1px #0002)}
.tag-champ img{height:16px;width:auto;vertical-align:-3px;margin-right:6px}
/* Runner-up: labeled, no special background, no roster button */
.season-item.is-ws-loss{background:transparent;border-left:0}
.tag-runner-up{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border:1px solid var(--border-medium);border-radius:2px;font-size:12px;font-weight:700;color:var(--ink-primary);background:#fffdf8}
/* Division champion: pennant artwork, normal case */
.pennant-img{height:26px;width:auto;vertical-align:middle;margin-right:6px}
.tag-division{display:inline-flex;align-items:center;font-size:13px;font-weight:600;color:var(--ink-primary)}
.post-cell{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.k-meta{font-size:11.5px;color:var(--ink-secondary)}
.ledger-note{font-size:12px;color:var(--ink-muted);margin:6px 0 0}

/* ---------- shared section header for new sections ---------- */
.archive-section{margin-top:70px}
.archive-section .section-title{margin-bottom:6px}
.archive-intro{font-size:14px;color:var(--ink-secondary);margin:0 0 22px;max-width:760px}

/* stat strip used by trades / picks */
.mini-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));border-top:2px solid var(--ink-primary);border-bottom:2px solid var(--ink-primary);margin-bottom:22px}
.mini-stat{padding:18px 22px;border-right:1px solid var(--border-light)}
.mini-stat:last-child{border-right:0}
.mini-stat span{display:block;font:800 11px 'Plus Jakarta Sans',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-primary)}
.mini-stat strong{display:block;font:800 44px/1.05 'Barlow Condensed',sans-serif;color:var(--ink-primary);margin-top:4px}
.mini-stat small{color:var(--ink-muted);font-size:12px}

/* trading partners */
.partner-list{border-top:1px solid var(--border-medium)}
.partner-row{border-bottom:1px solid var(--border-light)}
.partner-bar{width:100%;display:grid;grid-template-columns:1fr 140px 32px;align-items:center;gap:16px;padding:14px 8px;background:none;border:0;cursor:pointer;text-align:left;font:inherit;color:inherit}
.partner-bar:hover{background:#f0ebe0}
.partner-name{font:800 22px 'Barlow Condensed',sans-serif;text-transform:uppercase;letter-spacing:.01em}
.partner-name small{font:600 11px 'Plus Jakarta Sans',sans-serif;letter-spacing:.1em;color:var(--ink-muted);margin-left:8px}
.partner-count{font-weight:700;font-size:14px;text-align:right}
.partner-track{height:6px;background:var(--border-light);margin-top:6px}
.partner-fill{height:6px;background:var(--accent-primary)}
.partner-deals{display:none;padding:4px 8px 18px}
.partner-row.open .partner-deals{display:block}
.partner-row.open .chevron{transform:rotate(180deg)}

/* trade cards */
.trade-card{background:#fffdf8;border:1px solid var(--border-light);margin:10px 0;padding:14px 16px}
.trade-head{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:var(--ink-muted);margin-bottom:10px;letter-spacing:.04em}
.trade-head strong{color:var(--ink-primary);letter-spacing:0;font-size:13px}
.trade-sides{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.trade-side h5{margin:0 0 6px;font:800 11px 'Plus Jakarta Sans',sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-primary)}
.trade-side ul{margin:0;padding:0;list-style:none}
.trade-side li{padding:3px 0;font-size:14px}
.trade-side li.pick{color:var(--ink-secondary)}
.trade-flag{font-size:11px;color:#8a5a00;background:#fbf1d6;border:1px solid #ecd9a6;padding:2px 6px;border-radius:2px;margin-left:6px}
.linkish{color:var(--ink-primary);cursor:pointer;text-decoration:underline;text-decoration-color:var(--border-medium);text-underline-offset:3px}
.linkish:hover{color:var(--accent-primary);text-decoration-color:var(--accent-primary)}

/* picks */
.picks-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}
@media(max-width:820px){.picks-grid{grid-template-columns:1fr}}
.picks-col details{background:#fffdf8;border:1px solid var(--border-light)}
.picks-col summary{list-style:none;cursor:pointer;padding:16px 18px;display:flex;justify-content:space-between;align-items:baseline}
.picks-col summary::-webkit-details-marker{display:none}
.picks-col summary strong{font:800 40px 'Barlow Condensed',sans-serif}
.picks-col summary span{font:800 12px 'Plus Jakarta Sans',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-primary)}

/* compact data tables (moves, picks, standings, draft) */
.data-table{width:100%;border-collapse:collapse;font-size:13.5px}
.data-table th{font:800 11px 'Plus Jakarta Sans',sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-muted);text-align:left;padding:10px 10px;border-bottom:2px solid var(--ink-primary);white-space:nowrap}
.data-table th.sortable{cursor:pointer}
.data-table th.sortable:hover,.data-table th.sorted{color:var(--accent-primary)}
.data-table td{padding:9px 10px;border-bottom:1px solid var(--border-light);vertical-align:top}
.data-table tr:hover td{background:#f4efe4}
.data-table td.num,.data-table th.num{text-align:right;font-variant-numeric:tabular-nums}
.data-table .muted{color:var(--ink-muted)}
.table-tools{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:14px}
.table-tools input,.table-tools select{font:500 14px 'Plus Jakarta Sans',sans-serif;padding:10px 12px;border:1px solid var(--border-medium);background:#fffdf8;border-radius:2px;color:var(--ink-primary)}
.table-tools input{min-width:240px}
.table-count{font-size:12px;color:var(--ink-muted);margin-left:auto}
.table-scroll{max-height:640px;overflow:auto;border:1px solid var(--border-light);background:#fffdf8}
.table-scroll .data-table th{position:sticky;top:0;background:#fffdf8;z-index:1}
.more-btn{margin:14px 0;font:700 13px 'Plus Jakarta Sans',sans-serif;padding:10px 16px;border:1px solid var(--ink-primary);background:#fffdf8;cursor:pointer}

/* ---------- league pages (home, standings, championships, draft) ---------- */
.page-head{padding:44px 0 20px;border-bottom:2px solid var(--ink-primary);margin-bottom:30px}
.page-head .section-title{font-size:clamp(46px,7vw,92px);line-height:.9;margin:6px 0 10px}
.year-block{margin:0 0 46px}
.year-block h3{font:800 44px 'Barlow Condensed',sans-serif;margin:0 0 10px;display:flex;align-items:baseline;gap:14px}
.year-block h3 small{font:600 12px 'Plus Jakarta Sans',sans-serif;letter-spacing:.12em;color:var(--ink-muted);text-transform:uppercase}
.league-pair{display:grid;grid-template-columns:1fr 1fr;gap:26px}
@media(max-width:900px){.league-pair{grid-template-columns:1fr}}
.league-card{background:#fffdf8;border:1px solid var(--border-light);padding:16px 18px}
.league-card h4{margin:0 0 4px;font:800 13px 'Plus Jakarta Sans',sans-serif;letter-spacing:.16em;color:var(--accent-primary)}
.div-label{display:flex;align-items:center;gap:6px;font:700 12px 'Plus Jakarta Sans',sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-secondary);margin:12px 0 2px}
.div-label img{height:18px}
.standings-table td.team a{color:var(--ink-primary);font-weight:700;text-decoration:none}
.standings-table td.team a:hover{color:var(--accent-primary)}
.standings-table tr.champ td{background:#f6e3a8}
.badge{display:inline-flex;align-items:center;gap:4px;font:800 10px 'Plus Jakarta Sans',sans-serif;letter-spacing:.08em;text-transform:uppercase;padding:2px 6px;border-radius:2px;margin-left:6px;vertical-align:1px}
.badge img{height:13px}
.badge.ws{background:#c59b27;color:#fff}
.badge.ru{border:1px solid var(--border-medium);color:var(--ink-secondary)}
.badge.dv{color:var(--ink-secondary)}
.season-team-name{font-size:11px;color:var(--ink-muted);margin-left:4px}

/* championships */
.title-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.title-card{background:#fffdf8;border:1px solid var(--border-light);border-top:5px solid #c59b27;padding:16px 18px;display:grid;grid-template-columns:auto 1fr;gap:4px 16px}
.title-card img.trophy{grid-row:span 4;height:78px}
.title-card .yr{font:800 34px/1 'Barlow Condensed',sans-serif}
.title-card .champ{font:800 22px 'Barlow Condensed',sans-serif;text-transform:uppercase}
.title-card .champ a{color:var(--ink-primary);text-decoration:none}
.title-card .meta{font-size:13px;color:var(--ink-secondary)}
.title-card .roster-btn{justify-self:start;margin-top:6px}
.title-tally{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 26px}
.title-tally span{background:#fffdf8;border:1px solid var(--border-light);padding:8px 12px;font-size:13px}
.title-tally strong{font:800 18px 'Barlow Condensed',sans-serif;margin-right:6px}

/* home */
.home-hero{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center;padding:56px 0 40px;border-bottom:2px solid var(--ink-primary)}
@media(max-width:900px){.home-hero{grid-template-columns:1fr}}
.home-logo{background:#fffdf8;border:1px solid var(--border-light);padding:30px;text-align:center}
.home-logo img{width:100%;max-width:520px;height:auto;image-rendering:auto}
.home-hero h1{font:800 clamp(56px,8vw,112px)/.86 'Barlow Condensed',sans-serif;text-transform:uppercase;margin:12px 0 18px}
.home-hero h1 em{color:var(--accent-primary)}
.home-hero p{font-size:19px;color:var(--ink-secondary);max-width:560px}
.home-champs{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:40px 0}
@media(max-width:820px){.home-champs{grid-template-columns:1fr}}
.home-champ{background:#f6e3a8;border-left:6px solid #c59b27;padding:22px 24px;display:flex;gap:20px;align-items:center}
.home-champ img{height:90px}
.home-champ span{font:800 12px 'Plus Jakarta Sans',sans-serif;letter-spacing:.14em;color:#6d4c0c}
.home-champ strong{display:block;font:800 40px/1 'Barlow Condensed',sans-serif;text-transform:uppercase;margin:4px 0}
.home-champ a{color:inherit;text-decoration:none}
.dir-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}
@media(max-width:820px){.dir-grid{grid-template-columns:1fr}}
.dir-team{display:grid;grid-template-columns:1fr auto;padding:12px 4px;border-bottom:1px solid var(--border-light);text-decoration:none;color:var(--ink-primary)}
.dir-team:hover{background:#f0ebe0}
.dir-team strong{font:800 24px 'Barlow Condensed',sans-serif;text-transform:uppercase}
.dir-team small{color:var(--ink-muted);font-size:12px;display:block}
.dir-team em{font-style:normal;font-weight:700;font-size:13px;align-self:center}
.site-footer{margin-top:80px;padding:30px 0 50px;border-top:2px solid var(--ink-primary);display:flex;align-items:center;gap:16px;color:var(--ink-muted);font-size:12px}
.site-footer img{height:40px}
.loading-note{padding:40px 0;color:var(--ink-muted)}
.player-photo-fallback{font-weight:700;color:var(--ink-muted)}
