/* ══════════════════════════════════════════════════════════════════════
   OddsMunch MLB — the home desk (/ and /home2) inside the terminal world.
   Loads after nfl.css (tokens, nav, pills), term.css (bezel, scanlines,
   pixel-mono) and landing.css (boot hero, ticker, file cards). This file
   owns only what the MLB home adds: the desk switcher, the theme control,
   the desk wire, the file index, and the DAY variant of the terminal —
   the same machine with the room lights on.
   ══════════════════════════════════════════════════════════════════════ */
body.term.mlb .nflnav .wordmark{font-size:17px;}
body.term.mlb .nflnav{gap:12px;}

/* ── theme control: a physical switch on the bezel, labelled in mono ── */
.theme{display:inline-flex;align-items:center;gap:7px;flex:0 0 auto;height:30px;padding:0 10px;
  border:1px solid var(--gridc);border-radius:4px;background:rgba(10,12,28,.5);color:var(--tx-mut);
  font-family:var(--mono);font-size:15px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;line-height:1;
  transition:color .15s,border-color .15s;}
.theme:hover{color:var(--tx);border-color:var(--line-strong);}
.theme:focus-visible{outline:2px solid var(--acc-border);outline-offset:-2px;}
.theme svg{width:13px;height:13px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;}
.theme .sun,.theme .lbl-day{display:none;}
[data-theme="day"] .theme .sun,[data-theme="day"] .theme .lbl-day{display:inline;}
[data-theme="day"] .theme .moon,[data-theme="day"] .theme .lbl-night{display:none;}

/* the end group: stamp + theme switch (+ the site-wide account chip, which docks
   into the nav's last flex child) */
.navend{display:flex;align-items:center;gap:10px;flex:0 0 auto;margin-left:auto;}
body.term.mlb .nav-upd{flex:0 0 auto;}
/* nav stamp reads the board date; the number stays high, the label muted */
body.term.mlb .nav-upd b{font-weight:400;color:var(--tx);}

/* ── hero: the desk status keeps the landing rhythm; the lede names the product ── */
body.term.mlb .by b{color:var(--tx);}
body.term.mlb .status .stale{color:var(--tx-mut);}

/* ── desk wire: the day's edge as a terminal log between the head and the files ── */
.wire{margin:18px 0 4px;padding:12px 16px 10px;border:1px solid var(--gridc);border-radius:4px;
  background:linear-gradient(180deg,rgba(16,19,43,.92),rgba(10,12,28,.92));}
.wire ol{list-style:none;display:flex;flex-direction:column;gap:6px;}
.wire li{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:baseline;font-size:13.5px;line-height:1.5;color:var(--tx-mut);}
.wire li>i{font-style:normal;font-family:var(--mono);font-size:15px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--phos);white-space:nowrap;text-shadow:0 0 12px rgba(111,232,188,.4);}
.wire li>i::before{content:'> ';color:var(--tx-sub);}
.wire b{color:var(--tx);font-weight:600;}
.wire .num{font-variant-numeric:tabular-nums;}
.wire li.dim>i{color:var(--tx-sub);text-shadow:none;}

/* ── file cards: the MLB readouts inherit landing.css; names never wrap a row ── */
.file .frow>span:first-child{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.file .frow>b{flex:0 0 auto;}
.file .fempty{font-size:15px;color:var(--tx-sub);line-height:1.5;text-transform:uppercase;letter-spacing:.1em;
  font-family:var(--mono);}
.file .fempty b{display:block;font-size:19px;color:var(--fx);font-weight:400;
  text-shadow:0 0 12px color-mix(in srgb,var(--fx) 45%,transparent);margin-bottom:6px;}
.file .frow .tier{font-family:var(--mono);font-size:15px;letter-spacing:.1em;color:var(--tx-sub);}
.file .frow .rate{font-variant-numeric:tabular-nums;color:var(--tx);}
.file .frow.lead b{color:var(--phos);}
.file.loading .fbody{opacity:.55;}

/* ── the index: every remaining destination as one dashed-hairline row ── */
.findex{list-style:none;margin-top:12px;border:1px solid var(--gridc);border-radius:4px;overflow:hidden;
  background:linear-gradient(180deg,rgba(16,19,43,.92),rgba(10,12,28,.92));}
.findex li+li{border-top:1px dashed var(--gridc);}
.findex a{display:grid;grid-template-columns:118px 1fr auto;align-items:center;gap:8px 18px;padding:13px 18px;
  text-decoration:none;color:var(--tx);transition:background-color .15s;}
.findex a:hover{background:rgba(139,124,255,.06);}
.findex a:focus-visible{outline:2px solid var(--fx);outline-offset:-2px;}
.findex .code{font-size:16px;}
.findex .ititle{font-family:var(--body);font-size:16px;font-weight:400;color:var(--tx);letter-spacing:-.005em;}
.findex .idesc{font-size:12.5px;color:var(--tx-sub);line-height:1.45;margin-top:2px;}
.findex .arrow{position:static;font-size:19px;opacity:.55;transform:none;}
.findex a:hover .arrow{opacity:1;color:var(--fx);}
.findex .itag{font-family:var(--mono);font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--tx-sub);
  border:1px solid var(--gridc);border-radius:3px;padding:3px 7px;margin-left:10px;vertical-align:2px;}
.findex li.hidden{display:none;}

/* ── reveal: the wire and the index rise with the files (motion-gated in landing.css) ── */
@media (prefers-reduced-motion: no-preference){
  .anim .wire,.anim .findex{opacity:0;transform:translateY(22px);
    transition:opacity .6s ease,transform .8s cubic-bezier(.16,1,.3,1);transition-delay:calc(var(--i,0) * 90ms);}
  .anim .wire.in,.anim .findex.in{opacity:1;transform:none;}
}

/* QA only: ?qa=files collapses the hero so a fixed-height capture reaches the files */
.qa-files .boot-hero{min-height:0;padding:16px 0 8px;}

/* ── responsive ── */
@media (max-width:760px){
  body.term.mlb .nflnav{gap:8px;}
  .navend{gap:6px;}
  body.term.mlb .nflnav .brand{margin-right:0;}
  .desk a{padding:0 9px;height:28px;} .theme{height:28px;padding:0 8px;}
  .wire{padding:10px 12px 8px;} .wire li{grid-template-columns:1fr;gap:1px;font-size:13px;}
  .findex a{grid-template-columns:96px 1fr auto;padding:12px 12px;gap:6px 12px;}
  .findex .code{font-size:15px;} .findex .ititle{font-size:15px;}
}
@media (max-width:480px){
  .theme .lbl{display:none!important;} .theme{padding:0 8px;gap:0;}
  /* phone: one file per row so pixel-mono names never break mid-word, and the
     copy that explains a file stays on the page */
  body.term.mlb .fgrid{grid-template-columns:1fr;gap:10px;}
  body.term.mlb .fgrid .file,body.term.mlb .fgrid .file:nth-child(3){min-height:0;}
  body.term.mlb .fbody{padding:14px 0 12px;}
  body.term.mlb .fdesc{display:block;}
  .findex a{grid-template-columns:1fr auto;} .findex .code{grid-column:1/-1;margin-bottom:-2px;}
}

/* ══════════════════════════════════════════════════════════════════════
   DAY — the same terminal with the room lights on. A putty bezel, a pale
   screen, deep-phosphor green, and the same seven file accents darkened
   until every code holds contrast on white. Glows go out: on a lit screen
   phosphor does not bloom, so text-shadow is retired wholesale.
   ══════════════════════════════════════════════════════════════════════ */
[data-theme="day"]{
  --ink-950:#F1F2EC;--ink-900:#FFFFFF;--ink-850:#FFFFFF;--ink-800:#E6E8F2;
  --line:rgba(58,62,120,.14);--line-strong:rgba(58,62,120,.26);
  --acc:#5A4AE3;--acc-deep:#4436C4;--acc-soft:rgba(90,74,227,.10);--acc-border:rgba(90,74,227,.45);--acc-text:#3E31B8;
  --grad-brand:linear-gradient(135deg,#7B6BEA,#5A4AE3 55%,#4436C4);
  --live:#0B7D5C;
  --up:#0E8A56;--up-soft:rgba(14,138,86,.10);--up-border:rgba(14,138,86,.4);
  --down:#CF2A48;--down-soft:rgba(207,42,72,.09);--down-border:rgba(207,42,72,.4);
  --tx:#191C3B;--tx-mut:#454A70;--tx-sub:#62678A;
  color-scheme:light;}
[data-theme="day"] body.term{
  --bezel:#D7D3C7;--screen:#F1F2EC;--phos:#0B7D5C;--gridc:rgba(30,34,80,.16);
  --f1:#BF4A14;--f2:#C42E52;--f3:#8A6800;--f4:#0B7A4A;--f5:#0F6FA8;--f6:#5A4AE3;--f7:#A82C84;}  /* each ≥4.9:1 on the white card */
[data-theme="day"] body.term *{text-shadow:none!important;}
[data-theme="day"] body.term::before{
  background:
    radial-gradient(circle at 1px 1px, var(--gridc) 1px, transparent 1.6px) 0 0/28px 28px,
    radial-gradient(1200px 620px at 50% -12%, rgba(90,74,227,.08), transparent 62%),
    radial-gradient(700px 400px at 100% 100%, rgba(11,125,92,.06), transparent 60%),
    var(--screen);
  box-shadow:inset 0 0 120px rgba(40,44,90,.14);}
[data-theme="day"] body.term::after{
  background:
    repeating-linear-gradient(0deg, rgba(20,24,60,.05) 0 1px, transparent 1px 3px),
    repeating-linear-gradient(90deg, rgba(255,60,60,.02) 0 1px, rgba(60,180,120,.02) 1px 2px, rgba(60,120,255,.02) 2px 3px);}
[data-theme="day"] body.term .nflnav{
  background:linear-gradient(180deg,var(--bezel) 0 var(--frame),rgba(255,255,255,.88) var(--frame));}
[data-theme="day"] body.term .nflnav .brand{border-color:rgba(25,28,59,.7);
  box-shadow:0 0 0 3px var(--screen),0 0 0 4px rgba(25,28,59,.22);}
[data-theme="day"] body.term .nflnav .dot,[data-theme="day"] body.term .nav-upd .pulse{box-shadow:0 0 6px rgba(11,125,92,.5);}
[data-theme="day"] body.term ::selection{background:rgba(11,125,92,.22);}
[data-theme="day"] .theme{background:rgba(255,255,255,.7);}
[data-theme="day"] .tick i{color:rgba(30,34,80,.3);}
[data-theme="day"] .wm-box{border-color:#191C3B;
  box-shadow:0 0 0 6px var(--screen),0 0 0 8px rgba(25,28,59,.35),0 0 80px rgba(90,74,227,.16);}
[data-theme="day"] .wm-t{color:#191C3B;}
[data-theme="day"] .blk{box-shadow:none;}
[data-theme="day"] .feedbar{border-color:rgba(11,125,92,.55);box-shadow:0 0 22px rgba(11,125,92,.10);}
[data-theme="day"] .feedbar.stale{border-color:var(--gridc);box-shadow:none;}
[data-theme="day"] .files-head{box-shadow:none;}   /* day depth is border and tint, never bloom */
[data-theme="day"] .file,[data-theme="day"] .wire,[data-theme="day"] .findex,[data-theme="day"] body.term .darkcard{
  background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(246,247,250,.94));}
[data-theme="day"] .file:hover{box-shadow:none;border-color:color-mix(in srgb,var(--fx) 60%,transparent);}
[data-theme="day"] .findex a:hover{background:rgba(90,74,227,.06);}
[data-theme="day"] .feedbar-lbl{color:#0A0C1C;}
[data-theme="day"] .boot{background:var(--bezel);}
[data-theme="day"] .boot-bar{border-color:rgba(11,125,92,.55);}
[data-theme="day"] .cur{mix-blend-mode:multiply;}
[data-theme="day"] .cur i{border-color:var(--phos);}
[data-theme="day"] .cur.big i{border-color:#191C3B;}
@media (prefers-reduced-motion: no-preference){
  [data-theme="day"] .sweep{background:linear-gradient(180deg,transparent,rgba(11,125,92,.035) 50%,transparent);}
}
[data-theme="day"] body.term .tblwrap{scrollbar-color:rgba(11,125,92,.45) transparent;}
[data-theme="day"] .odds.best{box-shadow:none;}
[data-theme="day"] .badge.raw{color:#8A5A00;border-color:rgba(138,90,0,.45);background:rgba(138,90,0,.08);}  /* caution amber, lit */
