/* landing-only layer on top of term.css: hero, ticker, files, boot */
body.term.landing .wrap{padding:0 20px 64px;}
/* ══════════════════════════════════════════════════════════════════════
   OddsMunch NFL — landing terminal world (/nfl only)
   A CRT desk you boot into: bezel, scanlined screen, pixel-mono readouts,
   the live market as a header ticker, destinations as numbered files.
   Inner pages keep nfl.css untouched; everything here scopes to body.term.
   ══════════════════════════════════════════════════════════════════════ */
/* ── header: wordmark chip · live ticker · updated ── */
.ticker{flex:1 1 auto;min-width:0;overflow:hidden;align-self:stretch;display:flex;align-items:center;text-decoration:none;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 24px,#000 calc(100% - 32px),transparent);
          mask-image:linear-gradient(90deg,transparent,#000 24px,#000 calc(100% - 32px),transparent);}
.tick-track{display:flex;width:max-content;animation:tick calc(var(--n,20) * 4.4s) linear infinite;}
.ticker:hover .tick-track,.ticker:focus-within .tick-track{animation-play-state:paused;}
@keyframes tick{to{transform:translateX(-50%)}}
.tick{display:inline-flex;align-items:center;gap:10px;padding-right:14px;white-space:nowrap;
  font-family:var(--mono);font-size:18px;letter-spacing:.06em;text-transform:uppercase;color:var(--tx-mut);}
.tick::before{content:'';width:3px;height:16px;border-radius:2px;background:var(--team);
  box-shadow:0 0 8px color-mix(in srgb,var(--team) 55%,transparent);}
.tick b{font-weight:400;color:var(--tx);}
.tick em{font-style:normal;color:var(--phos);}
.tick i{font-style:normal;color:var(--gridc);margin-left:4px;}
.tick .mv{font-family:var(--body);font-size:11px;padding:1px 7px;}
@media(hover:hover){.ticker:hover .tick b{color:var(--phos);}}

/* ── hero: the boot screen ── */
.boot-hero{min-height:calc(100dvh - 56px - var(--frame) * 2);display:flex;flex-direction:column;align-items:center;
  justify-content:center;text-align:center;gap:18px;padding:36px 0 40px;}
.kick{font-size:19px;color:var(--phos);text-shadow:0 0 14px rgba(111,232,188,.5);}
.wm{margin:4px 0 0;}
.wm-box{display:inline-flex;flex-direction:column;align-items:center;padding:18px 44px 14px;
  border:3px solid #EDEFFF;border-radius:30px;
  box-shadow:0 0 0 6px var(--screen),0 0 0 8px rgba(237,239,255,.4),0 0 80px rgba(139,124,255,.22);}
.wm-t{display:block;font-family:var(--disp);font-weight:800;font-size:clamp(46px,9.6vw,112px);line-height:.9;
  letter-spacing:.01em;text-transform:uppercase;color:#EDEFFF;white-space:nowrap;
  text-shadow:-1.5px 0 rgba(255,70,70,.32),1.5px 0 rgba(70,140,255,.32);}
.wm-t .ch{display:inline-block;} .wm-t .sp{width:.28em;}
.by{font-size:19px;color:var(--tx-mut);} .by b{color:var(--tx);font-weight:400;}
.status{font-size:19px;color:var(--tx-sub);letter-spacing:.1em;margin-top:6px;text-wrap:balance;line-height:1.6;}
.status span{white-space:nowrap;}
.status b{font-weight:400;color:var(--tx);}
.status b.live{color:var(--phos);text-shadow:0 0 10px rgba(111,232,188,.45);}
.status b.stale{color:var(--tx-mut);}
.blk{display:inline-block;width:.55em;height:1em;vertical-align:-.15em;margin-left:.35em;background:var(--phos);
  box-shadow:0 0 8px rgba(111,232,188,.6);}
.boot-log .blk{margin-left:.4em;width:.5em;height:.9em;}
.feedbar{position:relative;width:min(540px,100%);height:40px;border:1px solid rgba(111,232,188,.55);padding:4px;border-radius:2px;
  margin-top:8px;box-shadow:0 0 22px rgba(111,232,188,.12);}
.feedbar-fill{position:absolute;inset:4px;background:var(--rainbow);}
.feedbar-lbl{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:17px;color:#07091A;white-space:nowrap;}
.feedbar-lbl .sm{display:none;}
.feedbar.stale{border-color:var(--gridc);box-shadow:none;}
.feedbar.stale .feedbar-fill{opacity:.55;}
.boot-hero .lede{font-size:14.5px;color:var(--tx-mut);line-height:1.6;max-width:62ch;margin-top:10px;}

/* ── files ── */
.files{margin-top:28px;}
.files-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;padding-bottom:10px;
  border-bottom:2px solid var(--phos);box-shadow:0 8px 24px -14px rgba(111,232,188,.5);}
.files-head h2{margin:0;font-size:19px;color:var(--phos);text-shadow:0 0 14px rgba(111,232,188,.5);letter-spacing:.12em;}
.files-head a{font-size:17px;color:var(--tx-mut);text-decoration:none;}
.files-head a:hover{color:var(--tx);}
.glabel{margin:26px 0 12px;font-size:15px;color:var(--tx-sub);}
.fgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.file{position:relative;display:flex;flex-direction:column;min-height:360px;padding:16px 18px 18px;text-decoration:none;
  background:linear-gradient(180deg,rgba(16,19,43,.92),rgba(10,12,28,.92));
  border:1px solid var(--gridc);border-bottom:3px solid var(--fx);border-radius:4px;
  transition:transform .28s cubic-bezier(.16,1,.3,1),box-shadow .28s,border-color .28s;}
.file:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--fx) 45%,transparent);border-bottom-color:var(--fx);
  box-shadow:0 22px 44px -22px color-mix(in srgb,var(--fx) 55%,transparent);}
.file:focus-visible{outline:2px solid var(--fx);outline-offset:3px;}
.code{font-size:17px;color:var(--fx);letter-spacing:.16em;text-shadow:0 0 12px color-mix(in srgb,var(--fx) 45%,transparent);}
.arrow{position:absolute;right:16px;top:14px;font-size:20px;color:var(--fx);opacity:0;transform:translateX(-6px);transition:.25s;}
.file:hover .arrow{opacity:1;transform:none;}
.fbody{flex:1;display:flex;flex-direction:column;justify-content:center;gap:9px;padding:20px 0 18px;}
.frow{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:19px;color:var(--tx-mut);
  border-bottom:1px dashed var(--gridc);padding-bottom:6px;}
.frow b{color:var(--tx);font-weight:400;font-variant-numeric:tabular-nums;}
.frow .mv{font-family:var(--body);font-size:11.5px;padding:1px 8px;}
.fbig{font-size:58px;line-height:.95;color:var(--tx);font-variant-numeric:tabular-nums;
  text-shadow:0 0 18px color-mix(in srgb,var(--fx) 30%,transparent);}
.fnote{font-size:14px;color:var(--tx-sub);}
.ftitle{font-family:var(--body);font-weight:400;font-size:28px;line-height:1.1;color:var(--tx);letter-spacing:-.01em;}
.fdesc{font-size:12.5px;color:var(--tx-sub);line-height:1.5;margin-top:7px;}
.file.locked{min-height:0;margin-top:16px;flex-direction:row;align-items:center;gap:22px;padding:16px 20px;
  border-style:dashed;border-bottom:3px solid var(--fx);}
.file.locked .code{flex:0 0 auto;}
.lockbody{flex:1 1 auto;min-width:0;} .lockbody .ftitle{font-size:22px;} .lockbody .fdesc{margin-top:4px;}
.lock{flex:0 0 auto;font-size:15px;color:var(--fx);border:1px solid color-mix(in srgb,var(--fx) 50%,transparent);
  padding:5px 11px;border-radius:3px;text-shadow:0 0 10px color-mix(in srgb,var(--fx) 45%,transparent);}

/* ── motion: boot, power-on, reveals, sweep, cursor ── */
.boot{position:fixed;inset:0;z-index:5000;background:var(--bezel);display:flex;align-items:center;justify-content:center;
  pointer-events:none;  /* decorative: hit-tests pass through so the site chip finds the nav */
  transition:opacity .55s ease;}
.boot.done{opacity:0;pointer-events:none;}
.boot-in{width:min(480px,86vw);text-align:center;}
.boot-t{font-size:27px;color:var(--phos);margin:0 0 16px;text-shadow:0 0 14px rgba(111,232,188,.5);}
.boot-t .dots{display:inline-block;animation:dots 1s steps(3,end) infinite;}
@keyframes dots{to{opacity:.25}}
.boot-bar{height:32px;border:1px solid rgba(111,232,188,.55);padding:4px;}
.boot-bar i{display:block;height:100%;background:var(--rainbow);transform:scaleX(0);transform-origin:0 50%;}
.boot.run .boot-bar i{transform:scaleX(1);transition:transform 1.3s cubic-bezier(.2,.8,.2,1);}
.boot-log{list-style:none;display:flex;gap:20px;justify-content:center;margin-top:14px;font-size:17px;color:var(--tx-sub);}
.boot-log li{opacity:0;} 
.boot.run .boot-log li{animation:logon .25s both;}
.boot.run .boot-log li:nth-child(1){animation-delay:.35s} .boot.run .boot-log li:nth-child(2){animation-delay:.7s} .boot.run .boot-log li:nth-child(3){animation-delay:1.05s}
@keyframes logon{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}

@media (prefers-reduced-motion: no-preference){
  .term.booting .wm-t .ch{opacity:0;}
  .term.booted .wm-t .ch{animation:crt-in .6s cubic-bezier(.16,1,.3,1) both;animation-delay:calc(var(--i) * 28ms);}
  @keyframes crt-in{from{opacity:0;filter:blur(8px);transform:translateY(12px) scaleY(.5)}}
  .term.booted .kick,.term.booted .by,.term.booted .status,.term.booted .feedbar,.term.booted .lede{
    animation:post-up .6s cubic-bezier(.16,1,.3,1) both;}
  .term.booted .kick{animation-delay:.05s} .term.booted .by{animation-delay:.45s}
  .term.booted .status{animation-delay:.6s}
  .term.booted .feedbar{animation-delay:.85s} .term.booted .lede{animation-delay:.95s}
  .term.booting .kick,.term.booting .by,.term.booting .status,.term.booting .feedbar,.term.booting .lede{opacity:0;}
  .blk{animation:blink 1.1s steps(1,end) infinite;}
  @keyframes blink{50%{opacity:0}}
  @keyframes post-up{from{opacity:0;transform:translateY(10px)}}
  .anim .files-head,.anim .glabel,.anim .file{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 .in{opacity:1;transform:none;}
  .anim .file.in:hover{transform:translateY(-4px);}
}
@media (prefers-reduced-motion: reduce){
  .tick-track{animation:none;} .ticker{overflow-x:auto;scrollbar-width:none;mask-image:none;-webkit-mask-image:none;}
  .tick.cl{display:none;} .file,.arrow{transition:none;}
}

/* ── responsive ── */
@media (max-width:900px){ .fgrid{grid-template-columns:repeat(2,1fr);} .fgrid .file:nth-child(3){grid-column:1/-1;min-height:220px;} }
@media (max-width:760px){
  body.term.landing .nflnav{flex-wrap:wrap;height:auto;padding-bottom:0;row-gap:0;}
  body.term.landing .nflnav .brand{margin-right:auto;}
  body.term.landing .ticker{flex:1 0 100%;order:9;height:30px;border-top:1px solid var(--gridc);margin-top:4px;}
  body.term.landing .tick{font-size:16px;}
  .boot-hero{min-height:calc(100dvh - 92px - var(--frame) * 2);}
  .kick{font-size:16px;}
  .feedbar-lbl{font-size:16px;} .feedbar-lbl .lg{display:none;} .feedbar-lbl .sm{display:inline;}
  body.term .wrap{padding:0 12px 48px;}
  .boot-hero{gap:14px;padding:26px 0 30px;}
  .wm-box{padding:12px 20px 10px;border-radius:20px;border-width:2px;box-shadow:0 0 0 4px var(--screen),0 0 0 5.5px rgba(237,239,255,.4),0 0 60px rgba(139,124,255,.2);}
  .status{font-size:16px;max-width:none;padding:0 6px;}
  .file{min-height:300px;padding:14px 14px 16px;} .fbig{font-size:46px;} .ftitle{font-size:24px;}
  .file.locked{flex-direction:column;align-items:flex-start;gap:10px;}
}
@media (max-width:480px){ .fgrid{gap:10px;} .frow{font-size:17px;} .fdesc{display:none;} .file{min-height:240px;} .lockbody .fdesc{display:block;} }
