
/* Hallmark · custom theme "late-night living room" · tokens drawn from the TV app itself */
:root{
  --paper:#141110; --paper-2:#1d1917; --paper-3:#2a2421; --line:#3a322d;
  --ink:#f6f1ea; --muted:#b0a69b; --accent:#ff6a32; --accent-ink:#1a0f09;
  --good:#3fc46a; --ok:#f2c230; --bad:#ef5350;
  --font-display:"Bricolage Grotesque", "Arial Narrow", system-ui, sans-serif;
  --font-body:"Hanken Grotesk", system-ui, sans-serif;
  --gutter:clamp(16px,4vw,48px);
  --r:14px;
}
*{box-sizing:border-box}
html,body{margin:0;overflow-x:clip}
html{scroll-behavior:smooth;scroll-padding-top:72px}
body{background:var(--paper);color:var(--ink);font:400 17px/1.6 var(--font-body)}
img,video{display:block;max-width:100%}
a{color:inherit}
h1,h2,h3{font-family:var(--font-display);font-style:normal;line-height:1.05;margin:0;overflow-wrap:anywhere;min-width:0}
h1{font-size:clamp(2.6rem,7vw,5.4rem);font-weight:700;letter-spacing:-.02em}
h2{font-size:clamp(1.9rem,4vw,3rem);font-weight:700;letter-spacing:-.015em}
h3{font-size:1.25rem;font-weight:500}
p{margin:0}
.wrap{width:min(1180px,100% - 2*var(--gutter));margin-inline:auto}
:focus-visible{outline:3px solid var(--ink);outline-offset:3px;border-radius:8px}

/* top bar */
.bar{position:sticky;top:0;z-index:20;background:color-mix(in oklab,var(--paper) 88%,transparent);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.bar .wrap{display:flex;align-items:center;gap:20px;height:60px}
.brand{font-family:var(--font-display);font-weight:700;font-size:1.15rem;text-decoration:none;white-space:nowrap}
.brand b{color:var(--accent)}
.bar nav{display:flex;gap:4px;margin-left:auto;overflow-x:auto;scrollbar-width:none}
.bar nav a{white-space:nowrap;text-decoration:none;color:var(--muted);padding:8px 12px;border-radius:999px;font-size:.95rem;font-weight:500}
.bar nav a:hover{color:var(--ink);background:var(--paper-2)}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:10px;white-space:nowrap;text-decoration:none;font-weight:700;border-radius:999px;padding:14px 24px;border:2px solid transparent;transition:transform .15s,background .15s}
.btn-main{background:var(--accent);color:var(--accent-ink)}
.btn-main:hover{transform:scale(1.04)}
.btn-ghost{background:var(--paper-2);color:var(--ink);border-color:var(--line)}
.btn-ghost:hover{background:var(--paper-3)}
.btn[aria-disabled=true]{opacity:.55;cursor:not-allowed;pointer-events:none}

/* hero */
.hero{padding:clamp(40px,8vw,96px) 0 clamp(32px,6vw,72px)}
.hero .grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:clamp(24px,5vw,64px);align-items:center}
.eyebrow{color:var(--accent);font-weight:700;letter-spacing:.12em;text-transform:uppercase;font-size:.8rem;margin-bottom:14px}
.lede{color:var(--muted);font-size:1.2rem;max-width:34ch;margin:22px 0 30px}
.cta{display:flex;flex-wrap:wrap;gap:12px}
.screen{border-radius:var(--r);overflow:hidden;border:1px solid var(--line);background:#000;aspect-ratio:16/9}
.screen video,.screen img{width:100%;height:100%;object-fit:cover}
.note{color:var(--muted);font-size:.9rem;margin-top:10px}

/* chapters */
.chapter{padding:clamp(48px,8vw,104px) 0;border-top:1px solid var(--line)}
.chapter .head{display:grid;grid-template-columns:minmax(0,5rem) minmax(0,1fr);gap:20px;margin-bottom:34px}
.num{font-family:var(--font-display);font-weight:700;font-size:clamp(2.4rem,5vw,4rem);color:var(--accent);line-height:1}
.chapter .head p{color:var(--muted);max-width:52ch;margin-top:12px}
.two{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:clamp(20px,4vw,48px);align-items:start}
.two.flip{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr)}
.two.flip .media{order:2}
.stack{display:grid;gap:22px}
.stack h3{margin-bottom:4px}
.stack p{color:var(--muted)}
.cap{color:var(--muted);font-size:.9rem;margin-top:10px}

/* steps */
.steps{list-style:none;margin:0;padding:0;display:grid;gap:14px;counter-reset:s}
.steps li{counter-increment:s;display:grid;grid-template-columns:44px minmax(0,1fr);gap:16px;background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r);padding:18px}
.steps li::before{content:counter(s);display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--accent);color:var(--accent-ink);font-weight:700;font-family:var(--font-display)}
.steps b{display:block;margin-bottom:2px}
.steps span{color:var(--muted)}
code,kbd{font:500 .92em ui-monospace,Menlo,monospace;background:var(--paper-3);padding:2px 8px;border-radius:6px;white-space:nowrap}

/* ping legend */
.ping{display:grid;gap:10px;margin-top:6px}
.ping div{display:grid;grid-template-columns:14px minmax(0,1fr);gap:12px;align-items:center;color:var(--muted)}
.ping i{width:14px;height:14px;border-radius:50%}
.ping strong{color:var(--ink)}

/* remote cheat sheet */
.keys{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr));gap:14px;margin:0;padding:0;list-style:none}
.keys li{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r);padding:18px}
.keys kbd{display:inline-block;margin-bottom:10px}
.keys span{display:block;color:var(--muted)}

/* download */
.dl{background:var(--paper-2);border:1px solid var(--line);border-radius:calc(var(--r)*1.6);padding:clamp(22px,4vw,48px);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:32px;align-items:center}
.facts{margin:0;padding:0;list-style:none;display:grid;gap:10px;color:var(--muted)}
.facts li{border-bottom:1px solid var(--line);padding-bottom:10px}
.facts b{color:var(--ink)}

details{border-top:1px solid var(--line);padding:16px 0}
summary{cursor:pointer;font-weight:700;list-style:none}
summary::-webkit-details-marker{display:none}
details p{color:var(--muted);margin-top:8px;max-width:64ch}

footer{border-top:1px solid var(--line);padding:36px 0 56px;color:var(--muted);font-size:.9rem}

@media (max-width:860px){
  .hero .grid,.two,.two.flip,.dl{grid-template-columns:minmax(0,1fr)}
  .two.flip .media{order:0}
  .chapter .head{grid-template-columns:minmax(0,1fr);gap:6px}
  .bar nav a:nth-child(n+4){display:none}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}}

.brand img{width:28px;height:28px;border-radius:7px;display:inline-block;vertical-align:-7px;margin-right:10px}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:18px}
.card{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r);padding:26px}
.card h3{margin-bottom:8px;font-size:1.35rem}
.card p{color:var(--muted)}
.card .tag{display:inline-block;color:var(--accent);font-weight:700;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:10px}
.big{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:clamp(24px,5vw,64px);align-items:center;padding:clamp(40px,7vw,88px) 0;border-top:1px solid var(--line)}
.big.flip .txt{order:2}
.big h2{margin-bottom:16px}
.big p{color:var(--muted);margin-bottom:12px;max-width:50ch}
.big ul{color:var(--muted);padding-left:1.1rem;margin:14px 0 0}
.big li{margin-bottom:6px}
.prose{max-width:760px}
.prose h2{margin:56px 0 14px}
.prose h3{margin:30px 0 8px}
.prose p,.prose li{color:var(--muted)}
.prose p{margin-bottom:14px}
.prose ol,.prose ul{padding-left:1.2rem}
.callout{border:1px solid var(--line);border-left:4px solid var(--accent);background:var(--paper-2);border-radius:10px;padding:16px 18px;margin:20px 0;color:var(--muted)}
.callout b{color:var(--ink)}
.tabsnav{display:flex;gap:6px;flex-wrap:wrap;margin:26px 0 0}
@media (max-width:860px){.big{grid-template-columns:minmax(0,1fr)}.big.flip .txt{order:0}}
