/* letterfire.css — LetterFire game page theme ("classified naval-intel terminal").
   Palette sampled from real game screenshots (assets/letterfire/): near-black
   abyss, amber intercept tiles, signal-flare glow, classified red, signal green.
   Layers on css/base.css. */

:root{
  --abyss:#080B11;         /* the game's near-black */
  --panel:#0D1421;
  --tile-hi:#E89A33;       /* intercept tile amber */
  --tile-lo:#B26818;
  --tile-ink:#241303;      /* letter colour on tiles */
  --glow:#FF9A3D;          /* SUNK / VICTORY glow orange */
  --signal:#8BE8B8;        /* theme-reveal green */
  --alert:#A8332A;         /* RESTRICTED bar red */
  --dot:#3E6FA8;           /* miss-marker blue */
  --chart:#E7EEF2;
  --chart-dim:#8FA3B8;
  --line:rgba(232,154,51,.16);
  --focus:var(--glow);
}

body{background:var(--abyss);color:var(--chart)}

/* faint amber grid, like the game board at rest */
body::before{
  content:"";position:fixed;inset:0;z-index:0;pointer-events:none;
  background-image:
    linear-gradient(var(--line) 1px,transparent 1px),
    linear-gradient(90deg,var(--line) 1px,transparent 1px);
  background-size:46px 46px;
  mask-image:radial-gradient(ellipse 90% 70% at 50% 0%,#000 35%,transparent 100%);
  opacity:.55;
}

/* ---- classified strip ---- */
.restricted{
  position:relative;z-index:3;background:var(--alert);color:#F4E3DC;
  font-family:var(--font-mono);font-size:.62rem;letter-spacing:.24em;text-transform:uppercase;
  display:flex;justify-content:space-between;gap:12px;padding:7px 18px;
}

/* ---- top bar ---- */
header{position:relative;z-index:2;padding:24px 0}
.bar{display:flex;align-items:center;justify-content:space-between}
.studio{font-family:var(--font-mono);font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--chart-dim);text-decoration:none}
.studio b{color:var(--tile-hi);font-weight:700}
.studio:hover b{color:var(--glow)}
nav a{color:var(--chart-dim);text-decoration:none;font-size:.85rem;margin-left:22px;letter-spacing:.02em}
nav a:hover{color:var(--glow)}
@media(max-width:620px){nav{display:none}}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---- hero ---- */
.hero{padding:46px 0 72px;display:grid;grid-template-columns:1.15fr .85fr;gap:54px;align-items:center}
@media(max-width:880px){.hero{grid-template-columns:1fr;gap:44px;padding:28px 0 56px}}
.eyebrow{
  font-family:var(--font-mono);font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--signal);text-shadow:0 0 12px rgba(139,232,184,.5);
  display:inline-flex;align-items:center;gap:10px;margin-bottom:26px;
}
.eyebrow::before{content:"";width:26px;height:1px;background:var(--signal)}

/* the title — intercept-buffer rows, stacked LETTER / FIRE */
.tilestack{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}
.tiles{display:flex;gap:7px}
.tile{
  width:clamp(34px,6.2vw,62px);aspect-ratio:1;border-radius:7px;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--font-display);font-weight:700;font-size:clamp(1.3rem,3.4vw,2.3rem);
  background:linear-gradient(180deg,var(--tile-hi),var(--tile-lo));
  color:var(--tile-ink);
  box-shadow:0 3px 0 rgba(0,0,0,.55),inset 0 1px 0 rgba(255,255,255,.22);
}
.tile.hit{
  background:linear-gradient(180deg,#FFB45E,var(--glow));
  box-shadow:0 0 22px rgba(255,154,61,.6),0 3px 0 rgba(0,0,0,.55);
  animation:tileglow 2.6s ease-in-out infinite;
}
@keyframes tileglow{
  0%,100%{box-shadow:0 0 14px rgba(255,154,61,.4),0 3px 0 rgba(0,0,0,.55)}
  50%{box-shadow:0 0 28px rgba(255,154,61,.75),0 3px 0 rgba(0,0,0,.55)}
}

.lede{font-size:clamp(1.05rem,2.4vw,1.3rem);color:var(--chart-dim);max-width:34ch;margin:18px 0 6px}
.lede b{color:var(--chart);font-weight:600}
.ctas{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}
.badge{
  display:inline-flex;align-items:center;gap:11px;text-decoration:none;
  border:1px solid rgba(232,154,51,.5);background:var(--panel);color:var(--chart);
  padding:12px 18px;font-size:.92rem;transition:.18s ease;
}
.badge:hover{border-color:var(--glow);box-shadow:0 0 18px rgba(255,154,61,.25);transform:translateY(-2px)}
.badge .k{font-family:var(--font-mono);font-size:.64rem;color:var(--chart-dim);letter-spacing:.16em;text-transform:uppercase;display:block;line-height:1}
.badge .v{font-weight:600;font-size:1rem;line-height:1.3}
.badge svg{width:22px;height:22px;flex:none;fill:var(--tile-hi)}
.badge.soon{opacity:.62}
.badge.soon .v::after{content:" · soon";color:var(--glow);font-weight:400;font-size:.8rem}

/* ---- phone-framed screenshots ---- */
.phone-frame{position:relative;max-width:300px;margin:0 auto}
.phone-tag{
  font-family:var(--font-mono);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;
  color:var(--chart-dim);margin-bottom:12px;display:flex;justify-content:space-between;gap:10px;
}
.phone{
  border-radius:30px;border:7px solid #161E2C;background:#000;overflow:hidden;
  box-shadow:0 22px 60px rgba(0,0,0,.6),0 0 34px rgba(255,154,61,.08);
}
.phone img{display:block;width:100%;height:auto}

/* ---- briefing (how it plays) ---- */
section.briefing{padding:64px 0;border-top:1px solid var(--line);position:relative;z-index:1}
.sec-head{
  font-family:var(--font-mono);font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;
  color:var(--tile-hi);margin-bottom:34px;
}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--line)}
@media(max-width:760px){.steps{grid-template-columns:1fr}}
.step{background:var(--panel);padding:30px 26px}
.step .no{font-family:var(--font-mono);color:var(--glow);font-size:.8rem;letter-spacing:.1em;text-shadow:0 0 10px rgba(255,154,61,.45)}
.step h3{font-family:var(--font-display);font-weight:600;text-transform:uppercase;letter-spacing:.03em;font-size:1.4rem;margin:12px 0 8px}
.step p{color:var(--chart-dim);font-size:.96rem}

/* ---- operation themes ---- */
section.ops{padding:18px 0 64px;position:relative;z-index:1}
.ops-row{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
.op{
  font-family:var(--font-mono);font-weight:700;font-size:clamp(1.1rem,2.6vw,1.6rem);
  letter-spacing:.3em;text-transform:uppercase;padding:18px 26px;flex:1 1 180px;text-align:center;
  background:var(--panel);border:1px solid rgba(139,232,184,.25);
  color:var(--signal);text-shadow:0 0 16px rgba(139,232,184,.55);
}
.ops-note{color:var(--chart-dim);font-size:.92rem;margin-top:16px;max-width:60ch}
.ops-note b{color:var(--chart)}

/* ---- features ---- */
section.kit{padding:0 0 64px;position:relative;z-index:1}
.feat{display:grid;grid-template-columns:repeat(2,1fr);gap:2px;background:var(--line)}
@media(max-width:620px){.feat{grid-template-columns:1fr}}
.feat li{background:var(--panel);list-style:none;padding:22px 26px;display:flex;gap:14px;align-items:flex-start}
.feat .mark{color:var(--glow);font-family:var(--font-mono);font-weight:700;flex:none}
.feat b{font-weight:600}
.feat span{display:block;color:var(--chart-dim);font-size:.92rem;margin-top:2px}

/* ---- gallery: real captures ---- */
section.screens{padding:18px 0 76px;position:relative;z-index:1}
.shots{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
@media(max-width:980px){.shots{grid-template-columns:repeat(3,1fr)}}
@media(max-width:620px){.shots{grid-template-columns:repeat(2,1fr);gap:10px}}
.shot{margin:0}
.shot .phone{border-radius:20px;border-width:5px}
.shot figcaption{
  font-family:var(--font-mono);font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--chart-dim);margin-top:9px;text-align:center;
}

/* ---- footer ---- */
footer{border-top:1px solid var(--line);padding:46px 0 60px;position:relative;z-index:1}
.foot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:24px;align-items:flex-start}
.foot .mk{font-family:var(--font-display);font-weight:700;text-transform:uppercase;font-size:1.5rem;letter-spacing:.04em}
.foot .mk span{color:var(--glow);text-shadow:0 0 14px rgba(255,154,61,.5)}
.foot p{color:var(--chart-dim);font-size:.9rem;max-width:34ch;margin-top:8px}
.foot a{color:var(--chart-dim);text-decoration:none;font-size:.9rem;display:block;margin:6px 0}
.foot a:hover{color:var(--glow)}
.foot .col h4{font-family:var(--font-mono);font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;color:var(--tile-hi);margin-bottom:10px}
.legal{margin-top:36px;font-family:var(--font-mono);font-size:.68rem;color:var(--chart-dim);letter-spacing:.04em}
