/* ==========================================================================
   Line Combos - NHL  v1.1.2

   The Slate Plan look (brand blue #051CCA, Tahoma, white cards, black game bars)
   with the Projections game bar on top.

   Ordering rules, same as the Slate Plan:
     1. Every @media block sits BELOW the base rule it overrides.
     2. Anything a theme also styles (buttons, links, table cells) is pinned with
        !important and scoped to .nhllc, and hover/focus rules restate the SHAPE
        (border, radius, padding), not just the colors, so a theme can't change a
        control's size on hover.
   ========================================================================== */

.nhllc{
  --nhllc-blue:#051CCA;
  --nhllc-ink:#000000;
  --nhllc-muted:#6b7280;
  --nhllc-label:#9ca3af;
  --nhllc-line:#BFBFBF;
  --nhllc-card:#D7D7D7;
  --nhllc-rule:#E5E5E5;
  --nhllc-soft:#d9e1ef;
  --nhllc-hover:#F6F8FF;
  --nhllc-gold:#f7941d;
  --nhllc-gold-bg:#fff4e0;
  --nhllc-gold-ink:#7a4100;
  --nhllc-up:#15803d;
  --nhllc-down:#b91c1c;
  --nhllc-good:#15803d;
  max-width:1180px;
  margin:0 auto;
  padding:10px 0 40px;
  color:var(--nhllc-ink);
  font:14px/1.45 Tahoma,Geneva,Verdana,sans-serif;
}
.nhllc *{box-sizing:border-box;font-family:Tahoma,Geneva,Verdana,sans-serif}
.nhllc [hidden]{display:none !important}
.nhllc-loading{color:var(--nhllc-muted);font-style:italic;text-align:center;padding:30px 0}

/* ---------- buttons: pinned in every state ---------- */
.nhllc button,
.nhllc button:hover,
.nhllc button:focus,
.nhllc button:active{
  font-family:Tahoma,Geneva,Verdana,sans-serif !important;
  text-decoration:none !important;
  text-transform:none;
  box-shadow:none;
  line-height:1.2 !important;
  min-height:0 !important;
  margin:0 !important;
}

/* ---------- title ---------- */
.nhllc-title{text-align:center;font-size:30px;line-height:1.1;font-weight:800;letter-spacing:-.35px;margin:6px 0 4px;color:var(--nhllc-ink)}
.nhllc-upd{text-align:center;font-size:12px;color:var(--nhllc-muted);margin:0 0 16px}

/* ---------- game bar / all teams box ---------- */
.nhllc-box{background:#FFFFFF;border:1px solid var(--nhllc-soft);border-radius:10px;padding:12px 14px;margin-bottom:18px}
.nhllc-boxhead{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:10px;min-height:24px}
.nhllc-hint{font-size:11px;color:var(--nhllc-muted);display:inline-flex;align-items:center;gap:5px}
.nhllc-hint i{width:7px;height:7px;border-radius:50%;background:var(--nhllc-blue);display:inline-block}
.nhllc-seg{display:inline-flex;border:1px solid var(--nhllc-line);border-radius:4px;overflow:hidden}
.nhllc .nhllc-seg button,
.nhllc .nhllc-seg button:hover,
.nhllc .nhllc-seg button:focus{
  appearance:none;border:0 !important;border-radius:0 !important;background:#FFFFFF !important;color:#000000 !important;
  font:900 11px Tahoma,Geneva,Verdana,sans-serif !important;letter-spacing:.3px;text-transform:uppercase;padding:6px 12px !important;cursor:pointer;
}
.nhllc .nhllc-seg button + button{border-left:1px solid var(--nhllc-line) !important}
.nhllc .nhllc-seg button:hover{color:var(--nhllc-blue) !important}
.nhllc .nhllc-seg button.on,
.nhllc .nhllc-seg button.on:hover,
.nhllc .nhllc-seg button.on:focus{background:var(--nhllc-blue) !important;color:#FFFFFF !important}
.nhllc .nhllc-back,
.nhllc .nhllc-back:hover,
.nhllc .nhllc-back:focus{
  appearance:none;margin-left:auto !important;background:#FFFFFF !important;border:1px solid var(--nhllc-line) !important;border-radius:4px !important;
  color:#000000 !important;font:900 11px Tahoma,Geneva,Verdana,sans-serif !important;letter-spacing:.3px;padding:5px 10px !important;cursor:pointer;
}
.nhllc .nhllc-back:hover{border-color:var(--nhllc-blue) !important;color:var(--nhllc-blue) !important}
.nhllc button:focus-visible{outline:2px solid var(--nhllc-blue) !important;outline-offset:2px}

.nhllc-scroll{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 6px;scrollbar-width:thin}
.nhllc .nhllc-tile,
.nhllc .nhllc-tile:hover,
.nhllc .nhllc-tile:focus{
  appearance:none;flex:0 0 auto;min-width:178px;background:#FFFFFF !important;border:1px solid var(--nhllc-soft) !important;border-radius:8px !important;
  overflow:hidden;padding:0 !important;text-align:left;cursor:pointer;color:#000000 !important;font-weight:400 !important;
}
.nhllc .nhllc-tile:hover{border-color:var(--nhllc-blue) !important}
.nhllc .nhllc-tile.on,
.nhllc .nhllc-tile.on:hover{border-color:var(--nhllc-blue) !important;box-shadow:inset 0 0 0 1px var(--nhllc-blue) !important}
.nhllc-time{background:#f6f8fc;color:#6f7a8d;font-size:11px;font-weight:800;padding:5px 9px;display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid #eef2f8}
.nhllc-time b{color:#0d1117;font-weight:900}
.nhllc-trow{display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:8px;padding:6px 9px}
.nhllc-trow + .nhllc-trow{border-top:1px solid #eef2f8}
.nhllc-trow img{width:24px;height:24px;object-fit:contain;max-width:none;border:0;box-shadow:none}
.nhllc-tmid{display:flex;flex-direction:column;gap:1px;min-width:0}
.nhllc-tab{font-weight:900;font-size:13px;color:#0d1117}
.nhllc-tab small{color:#8490a4;font-size:11px;font-weight:800;margin-left:6px}
.nhllc-tgo{color:#8490a4;font-size:11px;font-weight:700;display:inline-flex;align-items:center;gap:5px;white-space:nowrap;max-width:120px;overflow:hidden;text-overflow:ellipsis}
.nhllc-dot{width:6px;height:6px;border-radius:50%;background:#f7941d;flex:0 0 6px;display:inline-block}
.nhllc-dot.CONFIRMED{background:#047857}
.nhllc-trt{font-weight:900;font-size:13px;color:#0d1117;text-align:right;min-width:32px}
.nhllc-none{color:var(--nhllc-muted);font-size:13px;padding:6px 2px}

.nhllc-box{container-type:inline-size;container-name:nhllc-box}
/* 32 teams: 16 across (2 rows), 8 across (4 rows) or 4 across, so every row is full. */
.nhllc-grid{display:grid;grid-template-columns:repeat(16,minmax(0,1fr));gap:6px}
.nhllc .nhllc-tb,
.nhllc .nhllc-tb:hover,
.nhllc .nhllc-tb:focus{
  appearance:none;position:relative;background:#FFFFFF !important;border:1px solid var(--nhllc-soft) !important;border-radius:8px !important;
  padding:6px 4px 5px !important;display:flex;flex-direction:column;align-items:center;gap:2px;cursor:pointer;
  font:900 11px Tahoma,Geneva,Verdana,sans-serif !important;color:#0d1117 !important;
}
.nhllc .nhllc-tb img{width:26px;height:26px;object-fit:contain;max-width:none;border:0;box-shadow:none}
.nhllc .nhllc-tb:hover{border-color:var(--nhllc-blue) !important}
.nhllc .nhllc-tb.on,
.nhllc .nhllc-tb.on:hover{border-color:var(--nhllc-blue) !important;box-shadow:inset 0 0 0 1px var(--nhllc-blue) !important;background:var(--nhllc-hover) !important}
.nhllc .nhllc-tb.tonight::after{content:"";position:absolute;top:5px;right:5px;width:7px;height:7px;border-radius:50%;background:var(--nhllc-blue)}

/* ---------- flags row ---------- */
.nhllc-flags{background:#FFFFFF;border:1px solid var(--nhllc-line);border-left:4px solid var(--nhllc-gold);border-radius:10px;padding:9px 14px;margin-bottom:20px;display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;font-size:13px}
.nhllc-flags b{font-weight:900}
.nhllc-fname{border-bottom:1px dotted var(--nhllc-gold);cursor:help;white-space:nowrap}
.nhllc-fname small{color:var(--nhllc-muted);font-weight:700;margin-left:3px}
.nhllc-fname:focus-visible{outline:2px solid var(--nhllc-gold);outline-offset:2px}

/* ---------- chips ---------- */
.nhllc-badge{display:inline-block;font-size:10px;font-weight:900;line-height:1.6;padding:1px 6px;border-radius:3px;letter-spacing:.3px;text-transform:uppercase;white-space:nowrap;border:1px solid var(--nhllc-line);background:#F2F2F2;color:#000000}
.nhllc-badge.flag{background:var(--nhllc-gold-bg);color:var(--nhllc-gold-ink);border-color:var(--nhllc-gold);display:inline-flex;align-items:center;gap:4px}
.nhllc-badge.pp{background:#EEF1FF;color:var(--nhllc-blue);border-color:var(--nhllc-blue)}
.nhllc-flagi{width:11px;height:11px;fill:var(--nhllc-gold);flex:0 0 11px}

/* ---------- section bar ---------- */
.nhllc-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;background:var(--nhllc-blue);color:#FFFFFF;border-radius:10px;padding:10px 14px;margin-bottom:12px;font-size:18px;font-weight:900;line-height:1.25}
.nhllc-legend{display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;font-size:12px;font-weight:700;line-height:1;margin-left:auto}
.nhllc-legend span{display:inline-flex;align-items:center;gap:6px}

/* ---------- games ---------- */
.nhllc-game{margin-bottom:18px}
.nhllc-game.single{max-width:640px;margin-left:auto;margin-right:auto}
.nhllc-gbar{background:#000000;color:#FFFFFF;border-radius:10px 10px 0 0;padding:9px 14px;display:flex;flex-wrap:wrap;gap:4px 14px;align-items:center;justify-content:center;font-size:15px;font-weight:700;text-transform:uppercase;letter-spacing:.2px}
.nhllc-gbar span{font-weight:400;text-transform:none;color:#d4d7de;font-size:13px}
.nhllc-gbar em{font-style:normal;color:#9db1ff;font-weight:700}
.nhllc-gbody{background:#FFFFFF;border:1px solid var(--nhllc-card);border-top:0;border-radius:0 0 10px 10px;overflow:hidden}
.nhllc-gbody > table.nhllc-mu + table.nhllc-mu{border-top:2px solid var(--nhllc-line) !important}
.nhllc-empty{margin-top:12px;font-size:13px;color:var(--nhllc-muted);background:#F2F2F2;border-radius:6px;padding:10px 12px}

/* ---------- the matchup table ----------
   One team per half: a slim label column (L1, P1, PP1) and three name columns. Themes style
   tables heavily, so every cell's background, border, padding and type is pinned. */
.nhllc table.nhllc-mu{width:100% !important;border-collapse:collapse !important;border-spacing:0 !important;table-layout:fixed !important;margin:0 !important;border:0 !important;background:#FFFFFF !important}
.nhllc table.nhllc-mu col.cn{width:38px}
.nhllc table.nhllc-mu th,
.nhllc table.nhllc-mu td{
  background:#FFFFFF !important;color:#000000 !important;border:0 !important;border-bottom:1px solid var(--nhllc-rule) !important;
  padding:4px 4px !important;font-size:12.5px !important;font-weight:400 !important;line-height:1.35 !important;text-align:left !important;
  vertical-align:middle !important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:0;text-transform:none;
}
.nhllc table.nhllc-mu .mid{border-left:2px solid var(--nhllc-line) !important}
.nhllc table.nhllc-mu tbody tr:hover td{background:var(--nhllc-hover) !important}
.nhllc table.nhllc-mu tr.tm th{padding:10px 8px 8px !important;border-bottom:1px solid var(--nhllc-line) !important;white-space:normal}
.nhllc-th{display:flex;align-items:center;gap:8px;min-width:0}
.nhllc-th img{width:26px;height:26px;object-fit:contain;flex:0 0 auto;max-width:none;border:0;box-shadow:none}
.nhllc-th b{display:block;font-size:15px;font-weight:900;line-height:1.2;color:#000000}
.nhllc-th small{display:block;font-size:11px;color:var(--nhllc-muted);font-weight:400;margin-top:1px}
.nhllc table.nhllc-mu tr.sec td{background:#F2F3F6 !important;color:var(--nhllc-muted) !important;font-size:9.5px !important;font-weight:900 !important;letter-spacing:.5px;text-transform:uppercase;padding:3px 8px !important}
.nhllc table.nhllc-mu td.n{background:#F6F8FF !important;color:var(--nhllc-blue) !important;font-size:10px !important;font-weight:900 !important;text-align:center !important;padding:4px 0 !important}
.nhllc table.nhllc-mu tr.ppa td{border-bottom:0 !important;padding-bottom:1px !important}
.nhllc table.nhllc-mu tr.ppb td{padding-top:1px !important}
.nhllc table.nhllc-mu tr.xtra td{border-bottom:1px solid var(--nhllc-rule) !important;padding-top:1px !important}
.nhllc table.nhllc-mu td.none{text-align:center !important;color:var(--nhllc-muted) !important;padding:16px !important;white-space:normal}
.nhllc table.nhllc-mu td.empty{color:#b6bbc5 !important}
.nhllc table.nhllc-mu tr.injr td{border-bottom:0 !important;padding:5px 5px 8px !important;white-space:normal;vertical-align:top !important}

/* names */
.nhllc .nx{white-space:pre;overflow:hidden;text-overflow:ellipsis}
.nhllc-nm{display:inline-flex;align-items:center;gap:3px;font-weight:600;max-width:100%;border-radius:3px}
.nhllc-nm small,.nhllc table.nhllc-mu td small{opacity:.5;font-size:9px;font-weight:900;margin-left:1px}
.nhllc-nm.flagged{background:var(--nhllc-gold-bg);color:var(--nhllc-gold-ink);box-shadow:inset 0 0 0 1px var(--nhllc-gold);padding:0 4px}
.nhllc-nm.extra{color:var(--nhllc-gold-ink);border-bottom:1px dashed var(--nhllc-gold);border-radius:0}
.nhllc-nm[data-tip]{cursor:help}
/* Names that open a player card */
.nhllc .pc{cursor:pointer}
.nhllc .pc:hover .nx,.nhllc .pc:focus-visible .nx{color:var(--nhllc-blue);text-decoration:underline;text-decoration-color:rgba(5,28,202,.35);text-underline-offset:3px}
.nhllc .pc:focus-visible{outline:2px solid var(--nhllc-blue);outline-offset:1px}
.nhllc-nm[data-tip]:focus-visible{outline:2px solid var(--nhllc-gold);outline-offset:1px}
.nhllc-mk{flex:0 0 13px;width:13px;height:13px;border-radius:50%;display:inline-grid;place-items:center;font:900 7px/1 Tahoma,Geneva,Verdana,sans-serif;font-style:normal;color:#FFFFFF}
.nhllc-mk.up{background:var(--nhllc-up)}
.nhllc-mk.down{background:var(--nhllc-down)}
.nhllc-mk.new{background:var(--nhllc-blue);font-size:8px}
.nhllc-legend .nhllc-mk{margin:0;box-shadow:0 0 0 2px #FFFFFF}
.nhllc-gst{font-size:11px;font-weight:900;letter-spacing:.3px;color:var(--nhllc-muted);margin-left:8px}
.nhllc-gst.CONFIRMED{color:var(--nhllc-good)}
.nhllc-gst small{font-size:10px;font-weight:700;color:var(--nhllc-muted);letter-spacing:0;margin-left:3px;opacity:1}
.nhllc-ij{display:inline-flex;align-items:center;gap:3px;white-space:nowrap;margin:0 14px 4px 0;font-size:12px;cursor:help}
.nhllc-ij:focus-visible{outline:2px solid var(--nhllc-blue);outline-offset:2px}
.nhllc-ic{display:inline-block;min-width:30px;text-align:center;font-size:9px;font-weight:900;letter-spacing:.3px;border-radius:3px;padding:0 4px;line-height:1.6;background:#F2F2F2;color:#4b5563;border:1px solid var(--nhllc-line);margin-right:3px}
.nhllc-ic.OUT,.nhllc-ic.SUSP{background:#fdecea;color:var(--nhllc-down);border-color:#f3b4ae}
.nhllc-ic.DTD{background:var(--nhllc-gold-bg);color:var(--nhllc-gold-ink);border-color:var(--nhllc-gold)}

/* Name forms, picked per table by the script: full, then initials (.nm1), then last names (.nm2). */
.nhllc .in,.nhllc .fi{display:none}
.nhllc table.nm1 .fn{display:none}
.nhllc table.nm1 .in{display:inline}
.nhllc table.nm2 .fn,.nhllc table.nm2 .in{display:none}
.nhllc table.nm2 .fi{display:inline}

/* ---------- tooltip (lives on <body>, so it carries its own font) ---------- */
.nhllc-tip{position:fixed;z-index:99999;max-width:260px;background:#0b0f18;color:#FFFFFF;border-radius:6px;padding:8px 11px;font:12px/1.35 Tahoma,Geneva,Verdana,sans-serif;box-shadow:0 6px 18px rgba(0,0,0,.18);pointer-events:none}
.nhllc-tip b{display:block;font-size:12.5px;margin-bottom:2px;color:#FFFFFF}
.nhllc-tip span{color:#e3e7ef}
.nhllc-tip[hidden]{display:none !important}


/* ---------- box widths (kept BELOW the base rules) ---------- */
@container nhllc-box (max-width:900px){ .nhllc-grid{grid-template-columns:repeat(8,minmax(0,1fr))} }
@container nhllc-box (max-width:420px){ .nhllc-grid{grid-template-columns:repeat(4,minmax(0,1fr))} }

/* ---------- smaller screens ---------- */
@media (max-width:560px){
  .nhllc-title{font-size:22px}
  .nhllc-legend{margin-left:0}
  .nhllc table.nhllc-mu col.cn{width:30px}
  .nhllc table.nhllc-mu th,.nhllc table.nhllc-mu td{font-size:12px !important;padding:4px 3px !important}
  .nhllc table.nhllc-mu.nm2 td{font-size:11.5px !important}
  /* Tightest tables: line and pair spots read W-C-W / D-D, so a letter that matches its spot
     goes; a player out of his usual spot (a C on the wing) keeps it. */
  .nhllc table.nhllc-mu.nm2 tr.u-ev .nhllc-nm:not(.offspot) small,
  .nhllc table.nhllc-mu.nm2 tr.u-d .nhllc-nm:not(.offspot) small{display:none}
}
