/* CHECKFIRE landing page. One component set borrowed from the game's own UI: dark teal panels, gold hairlines,
   corner brackets, a red bar where the game means danger, and pixel art drawn crisp. */
.checkfire-home {
  --cf-bg:#090d0c; --cf-panel:#101715; --cf-panel-2:#15201c; --cf-line:rgba(215,196,125,.22); --cf-line-2:rgba(215,196,125,.5);
  --cf-gold:#d7c47d; --cf-gold-2:#f0dfa2; --cf-red:#e04235; --cf-green:#6fbf8a; --cf-ink:#f1f1e9; --cf-text:#c3ccc3; --cf-muted:#8e998f;
  --cf-max:1280px; --cf-pad:clamp(20px,4vw,40px);
  background:var(--cf-bg);
}
/* Header on this page only: tighter and uppercase, to sit with the hero. */
.checkfire-home .top { position:relative; z-index:10; background:#090d0c; border-color:var(--cf-line); }
.checkfire-home .top .wrap { max-width:var(--cf-max); padding:0 var(--cf-pad); }
.checkfire-home .bar { min-height:44px; }
.checkfire-home .game-bar { min-height:50px; }
.checkfire-home .brand { font-size:.8rem; letter-spacing:.12em; text-transform:uppercase; }
.checkfire-home .brand .sub { font-size:.68rem; letter-spacing:.14em; }
.checkfire-home .studio-nav a { font-size:.76rem; text-transform:uppercase; letter-spacing:.1em; }
.checkfire-home .game-title { font-size:.88rem; letter-spacing:.14em; }
.checkfire-home .game-nav a { font-size:.68rem; letter-spacing:.12em; }
.checkfire-home .cf-main { width:100%; max-width:none; padding:0; }
.checkfire-home .cf-main > .content { max-width:none; }

/* Base */
.cf { overflow:hidden; color:var(--cf-ink); font-family:Oxanium,system-ui,sans-serif; background:var(--cf-bg); }
.cf *,.cf *::before,.cf *::after { box-sizing:border-box; }
.cf h1,.cf h2,.cf h3,.cf p,.cf figure,.cf ul,.cf ol,.cf dl,.cf dd { margin:0; padding:0; }
.cf ul,.cf ol { list-style:none; }
.cf a { text-decoration:none; }
.cf a:focus-visible { outline:2px solid var(--cf-gold); outline-offset:4px; }
.cf img { display:block; max-width:100%; height:auto; border:0; background:none; }
.cf-standoff img,.cf-class img,.cf-palettes img,.cf-rule-king { image-rendering:pixelated; }
.cf-label { font-family:Silkscreen,Oxanium,monospace; color:var(--cf-gold); text-transform:uppercase; letter-spacing:.14em; font-size:.72rem; }
.cf h2 { font-size:clamp(2.3rem,4.8vw,4.6rem); line-height:.98; letter-spacing:-.02em; text-transform:uppercase; font-weight:700; color:var(--cf-ink); border:0; padding:0; }
.cf h2 span { color:var(--cf-gold); }
.cf p { color:var(--cf-text); line-height:1.65; font-size:1.02rem; }

/* Buttons and links */
.cf-cta { display:flex; flex-wrap:wrap; gap:14px; margin-top:30px; }
.cf-btn { display:inline-flex; align-items:center; gap:22px; min-height:52px; padding:14px 22px; font-weight:700; font-size:.78rem; text-transform:uppercase; letter-spacing:.14em; border:1px solid var(--cf-gold); transition:background .2s,color .2s,transform .2s; }
.cf-btn:hover { transform:translateY(-2px); }
.cf-btn-gold { background:var(--cf-gold); color:#0e110c; }
.cf-btn-gold:hover { background:var(--cf-gold-2); color:#0e110c; }
.cf-btn-line { color:var(--cf-gold); background:rgba(9,13,12,.55); }
.cf-btn-line:hover { background:var(--cf-gold); color:#0e110c; }
.cf-btn-dark { color:#11150f; border-color:#11150f; background:transparent; }
.cf-btn-dark:hover { background:#11150f; color:var(--cf-gold-2); }
.cf-link { display:inline-flex; align-items:center; gap:14px; margin-top:34px; color:var(--cf-gold); font-weight:700; text-transform:uppercase; font-size:.76rem; letter-spacing:.12em; padding:8px 0; border-bottom:1px solid var(--cf-line-2); transition:gap .2s,color .2s; }
.cf-link:hover { color:#fff; gap:20px; }

/* Frames: the game's panel look, with corner brackets */
.cf-frame { position:relative; background:var(--cf-panel); border:1px solid var(--cf-line); padding:8px; box-shadow:0 24px 70px rgba(0,0,0,.45); }
.cf-frame::before,.cf-frame::after { content:""; position:absolute; width:18px; height:18px; border:0 solid var(--cf-gold); pointer-events:none; }
.cf-frame::before { top:-1px; left:-1px; border-width:2px 0 0 2px; }
.cf-frame::after { right:-1px; bottom:-1px; border-width:0 2px 2px 0; }
.cf-frame img { width:100%; }
.cf-frame figcaption { display:flex; justify-content:space-between; gap:16px; margin:0; padding:11px 2px 2px; font-family:Silkscreen,Oxanium,monospace; font-size:.62rem; letter-spacing:.1em; text-transform:uppercase; color:var(--cf-muted); }
.cf-frame figcaption span:first-child { color:var(--cf-gold); }

/* Sections */
.cf-sec { width:min(var(--cf-max),100%); margin:0 auto; padding:clamp(72px,9vw,120px) var(--cf-pad); }
.cf-head { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); gap:18px 48px; align-items:end; margin-bottom:clamp(36px,5vw,60px); padding-bottom:28px; border-bottom:1px solid var(--cf-line); }
.cf-head .cf-label { grid-column:1/-1; }
.cf-head p:not(.cf-label) { max-width:44ch; }
.cf-head > h2:last-child { grid-column:1/-1; }

/* Hero */
.cf-hero { position:relative; isolation:isolate; min-height:min(880px,calc(100svh - 94px)); display:flex; align-items:center; padding:48px var(--cf-pad) 72px; border-bottom:1px solid var(--cf-line); }
.cf-hero-bg { position:absolute; inset:0; z-index:-2; background:url('/media/checkfire/shots/hero-field.webp') 60% 45%/cover no-repeat; image-rendering:pixelated; filter:saturate(.8) contrast(1.05) brightness(.9); }
.cf-hero::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(90deg,#090d0c 0%,rgba(9,13,12,.96) 26%,rgba(9,13,12,.72) 50%,rgba(9,13,12,.35) 78%,rgba(9,13,12,.55) 100%),linear-gradient(0deg,#090d0c 0%,transparent 30%,transparent 80%,rgba(9,13,12,.6) 100%); }
.cf-hero::after { content:""; position:absolute; inset:0; z-index:-1; pointer-events:none; opacity:.14; background:repeating-linear-gradient(0deg,transparent 0 2px,#000 3px 3px); }
.cf-hero-in { width:min(var(--cf-max),100%); margin:0 auto; display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); gap:40px; align-items:center; }
.cf-kicker { display:flex; align-items:center; gap:12px; font-family:Silkscreen,Oxanium,monospace; color:#cfd4c8 !important; text-transform:uppercase; letter-spacing:.12em; font-size:.66rem !important; }
.cf-kicker b { width:26px; height:1px; background:var(--cf-gold); opacity:.6; }
.cf-dot { width:7px; height:7px; background:var(--cf-red); box-shadow:0 0 12px var(--cf-red); animation:cf-blink 1.6s steps(2) infinite; }
@keyframes cf-blink { 50% { opacity:.25; } }
.cf-wordmark { width:min(380px,74vw); margin:6px 0 -10px -14px; filter:drop-shadow(0 16px 30px #000); image-rendering:pixelated; }
.cf-hero h1 { font-size:clamp(2.6rem,5.2vw,5.2rem); line-height:.95; letter-spacing:-.03em; text-transform:uppercase; font-weight:700; color:var(--cf-ink); margin:0; }
.cf-hero h1 em { display:block; font-style:normal; color:var(--cf-gold); }
.cf .cf-lede { max-width:52ch; margin-top:24px !important; padding-left:18px; border-left:2px solid var(--cf-red); font-size:clamp(1rem,1.3vw,1.14rem) !important; color:#d6dbd3 !important; }
.cf-status { display:flex; align-items:center; gap:10px; margin-top:26px !important; font-family:Silkscreen,Oxanium,monospace; font-size:.62rem !important; letter-spacing:.12em; text-transform:uppercase; color:#b3bbb1 !important; }
.cf-status i { width:6px; height:6px; border-radius:50%; background:var(--cf-green); box-shadow:0 0 9px var(--cf-green); }
.cf-status span { color:var(--cf-gold); }
/* The standoff: two real sprites and the brand reticle, with the confirm panel's words */
.cf-standoff { position:relative; aspect-ratio:1/1; max-width:520px; justify-self:end; width:100%; }
.cf-standoff::before { content:""; position:absolute; inset:14% 6% 10%; background:radial-gradient(ellipse at 50% 70%,rgba(215,196,125,.14),transparent 62%); }
.cf-unit { position:absolute; width:52%; filter:drop-shadow(0 18px 18px rgba(0,0,0,.7)); }
.cf-unit-a { left:0; bottom:8%; }
.cf-unit-b { right:0; top:6%; }
.cf-reticle { position:absolute; width:34%; right:9%; top:12%; opacity:.95; animation:cf-lock 3.2s ease-in-out infinite; }
@keyframes cf-lock { 0%,100% { transform:scale(1.18) rotate(-8deg); opacity:.55; } 45%,70% { transform:scale(1) rotate(0); opacity:1; } }
.cf-hud { position:absolute; left:40%; bottom:4%; min-width:210px; padding:12px 16px 12px 18px; background:rgba(8,12,11,.9); border:1px solid var(--cf-line-2); border-left:4px solid var(--cf-red); display:grid; gap:4px; font-family:Silkscreen,Oxanium,monospace; text-transform:uppercase; }
.cf-hud span { font-size:.6rem; letter-spacing:.1em; color:var(--cf-muted); }
.cf-hud strong { font-size:1.05rem; letter-spacing:.06em; color:var(--cf-green); font-weight:400; }
.cf-hud em { font-style:normal; font-size:.6rem; letter-spacing:.14em; color:var(--cf-gold); }

/* Hooks */
.cf-hooks { background:var(--cf-gold); border-bottom:4px solid #8d7a42; color:#11150f; }
.cf-hooks-in { width:min(var(--cf-max),100%); margin:0 auto; padding:26px var(--cf-pad); display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; }
.cf-hooks-in div { display:flex; align-items:center; gap:16px; padding-left:18px; border-left:1px solid rgba(17,21,15,.28); }
.cf-hooks-in div:first-child { border-left:0; padding-left:0; }
.cf-hooks b { font-family:Silkscreen,Oxanium,monospace; font-size:clamp(1.8rem,3vw,2.6rem); font-weight:400; line-height:1; color:#11150f; }
.cf-hooks span { font-size:.84rem; line-height:1.35; font-weight:600; color:#2a2b1e; }

/* 01 One turn */
.cf-turn-grid { display:grid; grid-template-columns:minmax(0,1.45fr) minmax(0,.85fr); gap:clamp(32px,5vw,64px); align-items:center; }
.cf-turn-art { position:relative; padding-bottom:12%; }
.cf-frame-float { position:absolute; width:36%; right:-3%; bottom:0; border-left:4px solid var(--cf-red); }
.cf-steps { display:grid; gap:26px; }
.cf-steps li { display:grid; grid-template-columns:52px 1fr; gap:16px; padding-bottom:24px; border-bottom:1px solid var(--cf-line); }
.cf-steps li:last-child { border-bottom:0; padding-bottom:0; }
.cf-steps b { font-family:Silkscreen,Oxanium,monospace; font-weight:400; font-size:1.5rem; color:var(--cf-gold); line-height:1.1; }
.cf-steps h3 { font-size:1.2rem; text-transform:uppercase; letter-spacing:.03em; color:var(--cf-ink); margin-bottom:8px; }
.cf-steps p { font-size:.97rem; }

/* 02 The squad */
.cf-classes { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.cf-class { position:relative; display:grid; grid-template-columns:132px 1fr; gap:16px; align-items:center; padding:18px 20px 18px 8px; background:linear-gradient(180deg,var(--cf-panel-2),var(--cf-panel)); border:1px solid var(--cf-line); transition:border-color .25s,transform .25s; }
.cf-class:hover { border-color:var(--cf-line-2); transform:translateY(-3px); }
.cf-class::before { content:""; position:absolute; left:0; right:0; top:0; height:2px; background:var(--cf-gold); opacity:.7; }
.cf-class-king::before { background:var(--cf-red); opacity:1; }
.cf-class img { width:132px; margin:-10px 0 -14px; }
.cf-class h3 { font-size:1.35rem; text-transform:uppercase; letter-spacing:.04em; color:var(--cf-ink); }
.cf-role { font-family:Silkscreen,Oxanium,monospace; font-size:.6rem !important; letter-spacing:.1em; text-transform:uppercase; color:var(--cf-red) !important; margin:2px 0 10px !important; }
.cf-class dl { display:grid; grid-template-columns:44px 1fr; gap:6px 10px; font-size:.86rem; line-height:1.45; color:var(--cf-text); }
.cf-class dt { font-family:Silkscreen,Oxanium,monospace; font-size:.56rem; letter-spacing:.08em; text-transform:uppercase; color:var(--cf-gold); padding-top:.3em; }

/* 03 The rule */
.cf-rule { position:relative; background:radial-gradient(circle at 78% 50%,#1b2620 0%,#111a17 38%,#0c1311 75%); border-block:1px solid var(--cf-line); overflow:hidden; }
.cf-rule::before { content:""; position:absolute; inset:0; opacity:.14; pointer-events:none; background-image:linear-gradient(rgba(215,196,125,.2) 1px,transparent 1px),linear-gradient(90deg,rgba(215,196,125,.2) 1px,transparent 1px); background-size:56px 56px; }
.cf-rule-in { position:relative; width:min(var(--cf-max),100%); margin:0 auto; padding:clamp(72px,9vw,120px) var(--cf-pad); display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:clamp(36px,7vw,90px); align-items:center; }
.cf-rule h2 { margin:22px 0 26px; font-size:clamp(3rem,7vw,6.4rem); }
.cf-rule h2 span { color:var(--cf-red); }
.cf-rule p:not(.cf-label) { max-width:48ch; margin-bottom:14px; }
.cf-rule-art { position:relative; width:min(460px,100%); aspect-ratio:1; margin:auto; }
.cf-rule-board { position:absolute; left:6%; right:6%; top:40%; aspect-ratio:2/1; transform:translateY(-10%); background:conic-gradient(#26302a 25%,#162019 0 50%,#26302a 0 75%,#162019 0) 0 0/25% 25%; clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%); filter:drop-shadow(0 30px 40px rgba(0,0,0,.6)); }
.cf-rule-king { position:absolute; width:48%; left:26%; top:14%; filter:drop-shadow(0 16px 14px rgba(0,0,0,.7)); }
.cf-rule-reticle { position:absolute; width:56%; left:22%; top:11%; animation:cf-lock 3.2s ease-in-out infinite; }
.cf-rule-tag { position:absolute; right:0; bottom:8%; padding:8px 12px; background:rgba(8,12,11,.9); border:1px solid var(--cf-line-2); border-left:4px solid var(--cf-red); font-family:Silkscreen,Oxanium,monospace; font-size:.62rem; letter-spacing:.1em; color:var(--cf-red); }

/* 04 Modes */
.cf-mode-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.cf-mode { display:flex; flex-direction:column; background:var(--cf-panel); border:1px solid var(--cf-line); transition:border-color .25s,transform .25s,box-shadow .25s; }
.cf-mode:hover { border-color:var(--cf-line-2); transform:translateY(-4px); box-shadow:0 18px 44px rgba(0,0,0,.5); }
.cf-mode-img { position:relative; aspect-ratio:16/8; overflow:hidden; background:#060908; }
.cf-mode-img img { width:100%; height:100%; object-fit:cover; transition:transform .6s; }
.cf-mode:hover .cf-mode-img img { transform:scale(1.04); }
.cf-mode-img::after { content:""; position:absolute; inset:50% 0 0; background:linear-gradient(transparent,rgba(9,13,12,.75)); }
.cf-mode-img span { position:absolute; z-index:1; top:14px; left:14px; padding:6px 10px; background:rgba(8,12,11,.88); border-left:3px solid var(--cf-red); font-family:Silkscreen,Oxanium,monospace; font-size:.6rem; letter-spacing:.1em; text-transform:uppercase; color:var(--cf-gold-2); }
.cf-mode-body { padding:22px 24px 26px; position:relative; }
.cf-mode-body::after { content:"↗"; position:absolute; right:22px; top:22px; width:34px; height:34px; display:grid; place-items:center; border:1px solid var(--cf-line-2); color:var(--cf-gold); }
.cf-mode h3 { font-size:1.4rem; text-transform:uppercase; letter-spacing:.02em; color:var(--cf-ink); margin:0 48px 10px 0; }
.cf-mode p { font-size:.95rem; max-width:48ch; }

/* 05 Briefs */
.cf-briefs-grid { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:clamp(28px,4vw,56px); align-items:start; }
.cf-brief-groups { display:grid; gap:18px; }
.cf-brief-group { padding:20px 22px; background:var(--cf-panel); border:1px solid var(--cf-line); border-left:3px solid var(--cf-muted); }
.cf-brief-group.cf-gold { border-left-color:var(--cf-gold); }
.cf-brief-group.cf-red { border-left-color:var(--cf-red); }
.cf-brief-group h3 { font-size:1.05rem; text-transform:uppercase; letter-spacing:.06em; color:var(--cf-ink); }
.cf-brief-group > p { font-size:.9rem; margin:4px 0 14px; }
.cf-brief-group ul { display:flex; flex-wrap:wrap; gap:10px 18px; }
.cf-brief-group li { display:flex; align-items:center; gap:10px; font-size:.86rem; font-weight:600; color:var(--cf-ink); text-transform:uppercase; letter-spacing:.04em; }
.cf-brief-group li img { width:40px; height:40px; }

/* 06 Loop */
.cf-loop-grid { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr); gap:clamp(28px,4vw,56px); align-items:center; }
.cf-loop-steps { display:grid; border-left:1px solid var(--cf-line-2); margin-left:6px; }
.cf-loop-steps li { position:relative; padding:0 0 18px 26px; color:var(--cf-text); line-height:1.5; font-size:.95rem; }
.cf-loop-steps li::before { content:""; position:absolute; left:-6px; top:6px; width:11px; height:11px; background:var(--cf-bg); border:2px solid var(--cf-gold); }
.cf-loop-steps li:last-child::before { background:var(--cf-red); border-color:var(--cf-red); }
.cf-loop-steps b { display:block; font-size:.98rem; text-transform:uppercase; letter-spacing:.06em; color:var(--cf-ink); margin-bottom:2px; }
.cf-small { font-family:Silkscreen,Oxanium,monospace; font-size:.62rem !important; letter-spacing:.12em; text-transform:uppercase; color:var(--cf-gold) !important; margin:22px 0 12px !important; }
.cf-supplies { display:grid; grid-template-columns:repeat(8,minmax(0,1fr)); gap:8px; }
.cf-supplies li { aspect-ratio:1; padding:6px; background:var(--cf-panel); border:1px solid var(--cf-line); transition:border-color .2s,background .2s; }
.cf-supplies li:hover { border-color:var(--cf-gold); background:var(--cf-panel-2); }
.cf-supplies img { width:100%; height:100%; object-fit:contain; }

/* 07 Daily */
.cf-daily { background:var(--cf-gold); color:#11150f; }
.cf-daily-in { width:min(var(--cf-max),100%); margin:0 auto; padding:clamp(64px,8vw,104px) var(--cf-pad); display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(32px,5vw,64px); align-items:center; }
.cf-daily .cf-label { color:#6e2019; }
.cf-daily h2 { color:#11150f; margin:20px 0 22px; }
.cf-daily h2 span { color:#6e2f25; }
.cf-daily p:not(.cf-label) { color:#262819; max-width:52ch; margin-bottom:28px; }
.cf-daily-shot { transform:rotate(1.5deg); border:10px solid #111713; background:#111713; box-shadow:0 28px 60px rgba(30,28,14,.45); }
.cf-daily-shot img { width:100%; }

/* 08 Army */
.cf-army-grid { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(32px,5vw,64px); align-items:center; }
.cf-army h2 { margin:20px 0 22px; }
.cf-army p:not(.cf-label) { max-width:50ch; }
.cf-palettes { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.cf-palettes li { background:linear-gradient(180deg,var(--cf-panel-2),var(--cf-panel)); border:1px solid var(--cf-line); padding:8px 8px 12px; text-align:center; }
.cf-palettes img { width:100%; max-width:160px; margin:0 auto -6px; }
.cf-palettes span { font-family:Silkscreen,Oxanium,monospace; font-size:.6rem; letter-spacing:.12em; text-transform:uppercase; color:var(--cf-gold); }

/* 09 Gallery */
.cf-reel { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.cf-reel figure { background:var(--cf-panel); border:1px solid var(--cf-line); transition:border-color .2s; }
.cf-reel figure:hover { border-color:var(--cf-line-2); }
.cf-reel img { width:100%; aspect-ratio:16/9; object-fit:cover; }
.cf-reel figcaption { margin:0; padding:11px 14px; font-family:Silkscreen,Oxanium,monospace; font-size:.62rem; letter-spacing:.1em; text-transform:uppercase; color:var(--cf-gold); }

/* Final */
.cf-final { position:relative; isolation:isolate; border-top:1px solid var(--cf-line); background:#0d1512; }
.cf-final::before { content:""; position:absolute; inset:0; z-index:-1; opacity:.28; background:linear-gradient(90deg,#0d1512 25%,rgba(13,21,18,.2) 100%),url('/media/checkfire/shots/field-wrecked.webp') right center/cover no-repeat; image-rendering:pixelated; }
.cf-final-in { width:min(var(--cf-max),100%); margin:0 auto; padding:clamp(80px,10vw,130px) var(--cf-pad); }
.cf-final h2 { margin:20px 0 22px; }

/* Responsive */
@media (max-width:1080px) {
  .cf-classes { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cf-turn-grid,.cf-briefs-grid,.cf-loop-grid { grid-template-columns:1fr; }
  .cf-turn-art { max-width:860px; }
  .cf-supplies { max-width:620px; }
}
@media (max-width:860px) {
  .cf-hero { min-height:0; padding:32px var(--cf-pad) 56px; }
  .cf-hero-in { grid-template-columns:1fr; gap:6px; }
  .cf-standoff { justify-self:center; max-width:360px; order:-1; margin-bottom:-24px; }
  .cf-hero-bg { background-position:55% 40%; }
  .cf-hero::before { background:linear-gradient(180deg,rgba(9,13,12,.55) 0%,rgba(9,13,12,.9) 45%,#090d0c 100%); }
  .cf-hooks-in { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .cf-hooks-in div:nth-child(3) { border-left:0; padding-left:0; }
  .cf-head { grid-template-columns:1fr; }
  .cf-rule-in,.cf-daily-in,.cf-army-grid { grid-template-columns:1fr; }
  .cf-rule-art { max-width:340px; }
  .cf-mode-grid { grid-template-columns:1fr; }
  .cf-reel { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; gap:12px; padding-bottom:10px; margin-inline:calc(-1 * var(--cf-pad)); padding-inline:var(--cf-pad); scrollbar-width:thin; }
  .cf-reel figure { flex:0 0 82%; scroll-snap-align:start; }
  .cf-daily-shot { transform:none; }
  .checkfire-home .top .bar { justify-content:center; }
  .checkfire-home .game-nav { justify-content:center; }
  .checkfire-home .game-nav a { padding:5px 7px; font-size:.62rem; }
}
@media (max-width:600px) {
  .cf-classes { grid-template-columns:1fr; }
  .cf-class { grid-template-columns:104px 1fr; }
  .cf-class img { width:104px; }
  .cf-hooks-in { grid-template-columns:1fr; gap:14px; }
  .cf-hooks-in div { border-left:0; padding-left:0; }
  .cf-frame-float { position:relative; width:72%; right:auto; margin:-16% 0 0 auto; }
  .cf-turn-art { padding-bottom:0; }
  .cf-supplies { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .cf-palettes { gap:8px; }
  .cf-btn { width:100%; justify-content:space-between; }
  .cf-kicker { font-size:.54rem !important; }
  .cf-hud { left:28%; min-width:0; }
}
@media (prefers-reduced-motion:reduce) {
  .cf-dot,.cf-reticle,.cf-rule-reticle { animation:none; }
  .cf-btn,.cf-mode,.cf-class,.cf-mode-img img,.cf-link { transition:none; }
}
