/* Figures on the download landing pages (owner, 14 Oct 2026: "those content parts on page can be more visually
   interesting by being supported by illustrations"). Drawn in HTML with real text, so crawlers, screen readers and the
   PDF get the words; build/dl_figs.py writes them into /guide, /checklist and /templates. Tokens: praised.css :root.
   Amber means "you" here as everywhere: the brand being made visible, its passage, its fact. */

.fg{clear:both;margin:56px 0 64px;max-width:1080px}
.fg-stage{position:relative;isolation:isolate;overflow:hidden;background:var(--tint);border-radius:var(--r-lg);padding:44px 44px 40px}
.fg-stage>canvas.ht{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none;opacity:.7}
.fg figcaption{margin:16px 4px 0;max-width:600px;font-size:14.5px;line-height:1.55;color:var(--muted);text-wrap:pretty}
.fg figcaption b{color:var(--ink);font-weight:600}
.fg-card{background:var(--frame);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--sh-2)}
.fg-k{font:600 11.5px/1.2 var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.fg-t{font:700 16px/1.25 var(--display);letter-spacing:-.01em;color:var(--ink)}
.fg-n{font-size:13.5px;line-height:1.45;color:var(--muted)}
.fg-you{background:var(--dot-tint);box-shadow:inset 0 -2px 0 var(--dot-deep);border-radius:3px;padding:0 3px;font-weight:600;color:var(--ink)}
.fg-cite{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--ink);color:#fff;font:600 10.5px/1 var(--body);vertical-align:2px;margin-left:2px}
.fg-miss{border:1.5px dashed var(--line3);border-radius:10px;color:var(--muted);background:rgba(255,255,255,.5)}
.fg-line{display:block;height:7px;border-radius:4px;background:var(--slate-100)}
.fg-line.f-s{width:62%}.fg-line.f-m{width:80%}
.fg-arrow{color:var(--slate-300)}
.fg svg.ico{width:16px;height:16px}
.fg-mk{width:18px;height:18px;flex:none}
.fg-chip{display:inline-flex;align-items:center;gap:7px;padding:6px 11px;border-radius:999px;background:var(--frame);border:1px solid var(--line2);font:600 13px/1.1 var(--body);color:var(--ink);white-space:nowrap}
.fg-chip.f-q{background:transparent;border-style:dashed;color:var(--muted)}
.fg-code{font:500 12.5px/1.65 var(--code);color:var(--ink)}
.fg-code .k{color:var(--competitor-ink)}
.fg-code .v{color:var(--success)}
.fg-sev{display:inline-flex;gap:3px;align-items:center}
.fg-sev i{width:7px;height:7px;border-radius:50%;background:var(--ink)}
.fg-sev i.o{background:transparent;box-shadow:inset 0 0 0 1.5px var(--slate-300)}

/* reveal: rows fade up in sequence, once; without JS, or with reduced motion, everything is simply there */
.fg-js .fg [data-r]{opacity:0;translate:0 14px;transition:opacity .6s var(--ease),translate .6s var(--ease);transition-delay:calc(var(--i,0)*80ms)}
.fg-js .fg.in [data-r]{opacity:1;translate:0 0}
@media (prefers-reduced-motion:reduce){.fg-js .fg [data-r]{opacity:1;translate:none;transition:none}}

/* ---------- guide §1: three routes to a mention ---------- */
.fg-routes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:"q q q" "a b c" "slow fast fast" "ans ans ans";gap:16px 18px}
.fg-routes .f-q{grid-area:q;justify-self:center;display:flex;align-items:center;gap:10px;padding:12px 18px;border-radius:18px 18px 18px 4px;font:600 15px/1.35 var(--body);margin-bottom:10px}
.fg-routes .f-q .fg-k{margin-right:4px}
.fg-route{padding:20px;display:flex;flex-direction:column;gap:12px}
.fg-route.f-a{grid-area:a}.fg-route.f-b{grid-area:b}.fg-route.f-c{grid-area:c}
.fg-route header{display:flex;align-items:center;gap:10px}
.fg-letter{display:grid;place-items:center;width:28px;height:28px;border-radius:9px;background:var(--glow);font:800 14px/1 var(--display);color:var(--ink);flex:none}
.fg-route .f-pic{position:relative;height:96px;border-radius:12px;background:var(--tint);padding:12px;display:flex;flex-direction:column;gap:7px;overflow:hidden}
.fg-route .f-speed{display:flex;align-items:center;gap:8px;margin-top:auto;padding-top:12px;border-top:1px solid var(--line);font:600 13px/1.2 var(--body)}
.fg-route .f-speed svg{width:16px;height:16px;color:var(--muted)}
.fg-route.f-a .f-pic .f-cut{position:absolute;top:8px;bottom:8px;left:68%;border-left:1.5px dashed var(--slate-300)}
.fg-route.f-a .f-pic .f-cut span{position:absolute;top:2px;left:6px;font:600 10.5px/1 var(--body);color:var(--muted);white-space:nowrap}
.fg-route.f-a .f-pic .fg-line:nth-child(odd){width:58%}.fg-route.f-a .f-pic .fg-line:nth-child(even){width:64%}
.fg-route.f-b .f-pic{flex-direction:row;gap:8px;align-items:stretch}
.fg-route.f-b .f-pic>span{flex:1;background:var(--frame);border-radius:8px;border:1px solid var(--line);padding:9px 8px;display:flex;flex-direction:column;gap:5px;position:relative}
.fg-route.f-b .f-pic>span .fg-cite{position:absolute;right:6px;bottom:6px}
.fg-route.f-b .f-pic>span .fg-line{height:5px}
.fg-route.f-c .f-pic .f-row{display:flex;align-items:center;gap:8px}
.fg-route.f-c .f-pic .f-bar{height:22px;border-radius:999px;background:var(--frame);border:1px solid var(--line2);display:flex;align-items:center;gap:6px;padding:0 10px;font-size:11.5px;color:var(--muted)}
.fg-route.f-c .f-pic .f-row i{width:8px;height:8px;border-radius:50%;background:var(--slate-200);flex:none}
.fg-route.f-c .f-pic .f-row.f-you i{background:var(--dot-deep)}
.fg-route.f-c .f-pic .f-row.f-you .fg-line{background:var(--dot-mid)}
.fg-route.f-c .f-pic .f-row .fg-line{flex:1;height:6px}
.fg-clock{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border-radius:0 0 12px 12px;border-top:2px solid var(--ink);background:rgba(255,255,255,.6)}
.fg-clock.f-slow{grid-area:slow}.fg-clock.f-fast{grid-area:fast}
.fg-clock svg{width:20px;height:20px;flex:none;margin-top:1px}
.fg-clock p{font-size:13.5px;line-height:1.45;color:var(--muted)}
.fg-clock p b{color:var(--ink);font-weight:600;display:block;font-family:var(--display);font-size:15px;margin-bottom:2px}
.fg-routes .f-ans{grid-area:ans;justify-self:center;width:min(100%,620px);margin-top:8px;padding:18px 22px;display:flex;gap:14px;align-items:flex-start}
.fg-routes .f-ans p{font-size:15px;line-height:1.55}
.fg-routes .f-ans .f-av{width:30px;height:30px;border-radius:50%;background:var(--ink);display:grid;place-items:center;flex:none}
.fg-routes .f-ans .f-av i{width:10px;height:10px;border-radius:50%;background:var(--dot)}
.fg-routes .f-merge{grid-area:slow;display:none}

/* ---------- guide §2: the visibility pyramid ---------- */
.fg-pyr{display:grid;grid-template-columns:56px minmax(0,1fr);gap:0 18px}
.fg-pyr .f-rail{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:6px 0}
.fg-pyr .f-rail::before{content:"";position:absolute;top:22px;bottom:30px;left:50%;border-left:2px solid var(--ink)}
.fg-pyr .f-rail svg{position:relative;width:22px;height:22px;background:var(--tint)}
.fg-pyr .f-rail span{position:relative;writing-mode:vertical-rl;rotate:180deg;background:var(--tint);padding:10px 0;font:700 13px/1 var(--display);letter-spacing:.02em}
.fg-pyr ol{display:flex;flex-direction:column-reverse;gap:7px;align-items:center}
.fg-pyr li{width:calc(100% - var(--k)*8.5%);min-width:min(100%,300px);display:flex;align-items:center;justify-content:space-between;gap:14px;padding:13px 20px;background:var(--frame);border:1px solid var(--line);border-radius:12px;box-shadow:var(--sh-1)}
.fg-pyr li .fg-t{font-size:15.5px}
.fg-pyr li .fg-n{text-align:right;font-size:13px}
.fg-pyr li.f-pre{background:var(--ink);border-color:var(--ink)}
.fg-pyr li.f-pre .fg-t{color:#fff}.fg-pyr li.f-pre .fg-n{color:var(--frame-70)}
.fg-pyr li.f-pre .f-tag{font:600 10.5px/1 var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--ink);background:var(--dot);border-radius:999px;padding:4px 8px;margin-left:10px;vertical-align:2px}

/* ---------- guide §3: what a crawler reads ---------- */
.fg-crawl{display:grid;grid-template-columns:minmax(0,1fr) 56px minmax(0,1fr);align-items:stretch;gap:0}
.fg-win{overflow:hidden}
.fg-win .f-bar{display:flex;align-items:center;gap:6px;padding:11px 14px;border-bottom:1px solid var(--line);font:600 12.5px/1 var(--body);color:var(--muted)}
.fg-win .f-bar i{width:8px;height:8px;border-radius:50%;background:var(--slate-100)}
.fg-win .f-bar b{margin-left:8px;color:var(--ink);font-weight:600}
.fg-win .f-body{padding:18px 18px 20px;display:flex;flex-direction:column;gap:10px}
.fg-win h4{font:800 19px/1.15 var(--display);letter-spacing:-.02em}
.fg-win .f-lines{display:flex;flex-direction:column;gap:6px}
.fg-win .f-el{min-height:58px;border-radius:10px;display:flex;align-items:center;gap:10px;padding:10px 12px;font-size:13px;line-height:1.35}
.fg-win .f-el.f-ok{background:var(--tint)}
.fg-win .f-el.f-ok svg.f-chart{width:100%;height:40px}
.fg-win .f-el .f-tabs{display:flex;gap:6px}
.fg-win .f-el .f-tabs span{padding:5px 10px;border-radius:999px;background:var(--frame);border:1px solid var(--line2);font:600 12px/1 var(--body)}
.fg-win .f-el .f-tabs span:first-child{background:var(--ink);color:#fff;border-color:var(--ink)}
.fg-win .f-el .f-more{padding:7px 12px;border-radius:999px;border:1px solid var(--line2);background:var(--frame);font:600 12px/1 var(--body)}
.fg-win .f-el .f-pdf{display:inline-flex;align-items:center;gap:6px;font-weight:600}
.fg-win .f-el.fg-miss{color:var(--muted)}
.fg-win .f-el.fg-miss b{color:var(--ink);font-weight:600}
.fg-win .f-el.fg-miss svg{width:16px;height:16px;flex:none}
.fg-crawl .f-to{display:grid;place-items:center}
.fg-crawl .f-to svg{width:30px;height:30px}
.fg-who{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:22px}
.fg-who>div{display:flex;flex-direction:column;gap:10px}
.fg-who .f-chips{display:flex;flex-wrap:wrap;gap:8px}
.fg-who .fg-k b{color:var(--ink)}

/* ---------- guide §4: the canonical sentence ---------- */
.fg-sent{padding:30px 32px 26px}
.fg-sent .f-s{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 8px;font:700 clamp(20px,2.3vw,28px)/1.2 var(--display);letter-spacing:-.02em}
.fg-sent .f-s .f-slot{display:inline-flex;flex-direction:column;gap:6px}
.fg-sent .f-s .f-slot em{font:600 11px/1 var(--body);font-style:normal;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.fg-sent .f-s .f-slot b{padding:4px 10px;border-radius:10px;background:var(--dot-tint);box-shadow:inset 0 -3px 0 var(--dot-deep)}
.fg-sent .f-s .f-w{padding-bottom:5px;color:var(--muted)}
.fg-every{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:20px;position:relative}
.fg-every>div{padding:14px 16px;display:flex;flex-direction:column;gap:6px}
.fg-every .fg-t{font-size:14.5px}
.fg-every .fg-n{font-size:12.5px}
.fg-every .f-ech{display:flex;flex-direction:column;gap:4px;margin-top:4px}
.fg-every .f-ech .fg-line{height:5px;background:var(--dot-mid)}
.fg-every .f-ech .fg-line+.fg-line{background:var(--slate-100)}
.fg-alias{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}
.fg-alias>div{display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:12px;background:rgba(255,255,255,.65);border:1px solid var(--line)}
.fg-alias .fg-chip{flex:none}
.fg-alias .fg-chip.f-old{text-decoration:line-through;text-decoration-color:var(--slate-300);color:var(--muted)}
.fg-alias svg{width:16px;height:16px;flex:none;color:var(--slate-300)}

/* ---------- guide §5: passages, not pages ---------- */
.fg-pass{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.95fr);gap:40px;align-items:center}
.fg-page{padding:20px;display:flex;flex-direction:column;gap:12px}
.fg-page .f-h1{font:800 17px/1.2 var(--display);letter-spacing:-.02em}
.fg-page .f-sec{padding:10px 12px;border-radius:10px;display:flex;flex-direction:column;gap:6px}
.fg-page .f-sec .f-h{font:700 13.5px/1.2 var(--display)}
.fg-page .f-sec .fg-line{height:5px}
.fg-page .f-sec.f-hi{background:var(--highlight);box-shadow:0 0 0 1.5px var(--highlight-ring);position:relative}
.fg-page .f-sec.f-hi .fg-line{background:var(--dot-mid)}
.fg-page .f-sec.f-hi .fg-line:first-of-type{background:var(--dot-deep)}
.fg-notes{display:flex;flex-direction:column;gap:12px}
.fg-notes li{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;line-height:1.4}
.fg-notes li svg{width:16px;height:16px;flex:none;margin-top:1px;color:var(--success)}
.fg-notes li b{font-weight:600}
.fg-answer{padding:18px 20px;display:flex;flex-direction:column;gap:10px}
.fg-answer .f-who{display:flex;align-items:center;gap:8px}
.fg-answer .f-who .f-av{width:22px;height:22px;border-radius:50%;background:var(--ink);display:grid;place-items:center}
.fg-answer .f-who .f-av i{width:7px;height:7px;border-radius:50%;background:var(--dot)}
.fg-answer blockquote{margin:0;padding:10px 12px;border-radius:10px;background:var(--highlight);display:flex;flex-direction:column;gap:6px}
.fg-answer blockquote .fg-line{height:5px;background:var(--dot-mid)}
.fg-answer blockquote .fg-line:first-child{background:var(--dot-deep)}
.fg-answer .f-src{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--muted)}
.fg-pass .f-right{display:flex;flex-direction:column;gap:22px}

/* ---------- guide §6: corroboration ---------- */
.fg-corr{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:22px;align-items:start}
.fg-ladder{padding:8px 0}
.fg-ladder li{display:grid;grid-template-columns:56px minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px 18px;border-top:1px solid var(--line)}
.fg-ladder li:first-child{border-top:0}
.fg-ladder .f-lvl{display:flex;gap:3px}
.fg-ladder .f-lvl i{width:7px;height:7px;border-radius:50%;background:var(--ink)}
.fg-ladder .f-lvl i.o{background:var(--slate-100)}
.fg-ladder .fg-t{font-size:14.5px}
.fg-ladder .fg-n{font-size:12.5px}
.fg-ladder .f-fact{font:600 12.5px/1 var(--body);padding:6px 10px;border-radius:999px;background:var(--dot-tint);color:var(--ink);white-space:nowrap}
.fg-ladder li.f-off .f-fact{background:var(--frame);box-shadow:inset 0 0 0 1.5px var(--slate-300);text-decoration:none}
.fg-ladder .f-head{display:flex;justify-content:space-between;padding:10px 18px 12px;border-bottom:1px solid var(--line)}
.fg-out{display:flex;flex-direction:column;gap:14px}
.fg-out>div{padding:16px 18px;display:flex;flex-direction:column;gap:8px}
.fg-out .f-says{font-size:15px;line-height:1.5}
.fg-out .f-says s{text-decoration:none;color:var(--muted);font-style:italic}

/* ---------- guide §7: one propagation pass ---------- */
.fg-prop{display:grid;grid-template-columns:minmax(0,1fr) 40px minmax(0,1.1fr) 40px minmax(0,1fr);align-items:center;gap:0}
.fg-prop .f-col{display:flex;flex-direction:column;gap:10px}
.fg-prop .f-col .fg-k{margin-bottom:2px}
.fg-prop .f-trig{padding:11px 14px;display:flex;align-items:center;gap:10px;font:600 13.5px/1.25 var(--body)}
.fg-prop .f-trig svg{width:16px;height:16px;color:var(--muted);flex:none}
.fg-prop .f-to{display:grid;place-items:center;color:var(--slate-300)}
.fg-prop .f-to svg{width:26px;height:26px}
.fg-facts{padding:18px 20px;display:flex;flex-direction:column;gap:10px}
.fg-facts .f-row{display:flex;justify-content:space-between;gap:10px;font-size:13.5px;padding-bottom:8px;border-bottom:1px solid var(--line)}
.fg-facts .f-row span{color:var(--muted)}
.fg-facts .f-row b{font-weight:600}
.fg-facts .f-stamp{align-self:flex-start;display:inline-flex;align-items:center;gap:6px;font:600 12px/1 var(--body);padding:6px 10px;border-radius:999px;background:var(--success-tint);color:var(--success)}
.fg-facts .f-stamp svg{width:14px;height:14px}
.fg-prop .f-dest{padding:11px 14px;display:flex;align-items:center;justify-content:space-between;gap:10px;font:600 13.5px/1.25 var(--body)}
.fg-prop .f-dest code{font:500 11.5px/1 var(--code);color:var(--muted)}
.fg-prop .f-sprint{font-size:12.5px;color:var(--muted);text-align:center}
.fg-fake{grid-column:1/-1;display:flex;align-items:center;gap:12px;margin-top:22px;padding:12px 16px;border-radius:12px;background:rgba(255,255,255,.6);border:1.5px dashed var(--line3);font-size:13.5px;color:var(--muted)}
.fg-fake b{color:var(--ink);font-weight:600}
.fg-fake .f-d{font:600 12.5px/1 var(--body);color:var(--ink);padding:5px 9px;border-radius:999px;background:var(--frame);border:1px solid var(--line2)}
.fg-fake .f-d s{color:var(--muted)}

/* ---------- guide §8: deciding what to write ---------- */
.fg-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:30px 34px;position:relative;counter-reset:none}
.fg-flow li{position:relative;padding:16px 16px 15px;display:flex;flex-direction:column;gap:5px}
.fg-flow li .fg-t{font-size:15px}
.fg-flow li .fg-n{font-size:12.5px}
.fg-flow li:not(:nth-child(4n))::after{content:"";position:absolute;top:50%;right:-27px;width:20px;height:2px;background:var(--slate-300)}
.fg-flow li:not(:nth-child(4n))::before{content:"";position:absolute;top:calc(50% - 4px);right:-28px;width:8px;height:8px;border-top:2px solid var(--slate-300);border-right:2px solid var(--slate-300);rotate:45deg}
.fg-flow li.f-base{background:var(--highlight);border-color:var(--highlight-ring)}
.fg-flow li .f-skip{align-self:flex-start;margin-top:4px;font:600 11px/1 var(--body);letter-spacing:.06em;text-transform:uppercase;color:var(--warn-ink)}
.fg-flow li.f-suite .fg-n b{color:var(--ink);font-weight:600}
.fg-loop{position:relative;height:50px;margin-top:2px}
.fg-loop .f-ln{position:absolute;left:calc((100% - 102px)/8);right:calc((100% - 102px)/8);top:0;bottom:10px;border:2px dashed var(--ink);border-top:0;border-radius:0 0 14px 14px}
.fg-loop .f-hd{position:absolute;left:calc((100% - 102px)/8 - 10px);top:-14px;width:22px;height:22px;display:grid;place-items:center;background:var(--highlight);border-radius:50%}
.fg-loop .f-hd svg{width:16px;height:16px;color:var(--ink)}
.fg-loop span{position:absolute;left:50%;bottom:0;translate:-50% 0;display:inline-flex;align-items:center;gap:7px;background:var(--tint);padding:0 12px;font:600 12.5px/1.2 var(--body);color:var(--ink);white-space:nowrap}
.fg-loop span svg{width:15px;height:15px}
.fg-route3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:30px}
.fg-route3>div{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;background:rgba(255,255,255,.7);border:1px solid var(--line)}
.fg-route3 .fg-chip{flex:none}
.fg-route3 svg{width:16px;height:16px;color:var(--slate-300);flex:none}
.fg-route3 b{font:700 14px/1.2 var(--display)}

/* ---------- checklist: how the score is put together ---------- */
.fg-score .f-stack{display:flex;gap:4px;height:64px}
.fg-score .f-stack>div{flex:var(--w) 1 0;border-radius:10px;display:flex;flex-direction:column;justify-content:center;padding:0 14px;min-width:0;background:var(--c,var(--ink));color:#fff}
.fg-score .f-stack b{font:800 22px/1 var(--display);letter-spacing:-.02em}
.fg-score .f-stack span{font:600 11.5px/1.2 var(--body);opacity:.8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fg-score .f-stack .f-lt{color:var(--ink)}
.fg-score .f-names{display:flex;gap:4px;margin-top:12px}
.fg-score .f-names>div{flex:var(--w) 1 0;min-width:0;padding:0 4px;display:flex;flex-direction:column;gap:3px}
.fg-score .f-names .fg-t{font-size:14px;display:inline-flex;align-items:center;gap:6px}
.fg-score .f-names .fg-t svg{width:13px;height:13px;color:var(--muted)}
.fg-score .f-names .fg-n em{font-style:normal;display:block;color:var(--warn-ink);font-weight:600}
.fg-score .f-names .fg-n{font-size:12.5px}
.fg-score .f-names .fg-n svg{width:13px;height:13px}
.fg-sevs{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:26px;padding-top:18px;border-top:1px solid var(--line2);align-items:center}
.fg-sevs>span{display:inline-flex;align-items:center;gap:9px;font-size:13.5px}
.fg-sevs>span b{font-weight:600}

/* ---------- checklist: structured data, page and markup ---------- */
.fg-mirror{display:grid;grid-template-columns:minmax(0,1fr) 72px minmax(0,1.1fr);align-items:start}
.fg-mirror .f-pane{padding:16px 18px}
.fg-mirror .f-hd{height:44px;display:flex;flex-direction:column;justify-content:center;gap:5px;border-bottom:1px solid var(--line);margin-bottom:6px}
.fg-mirror .f-hd code{font:500 12px/1 var(--code);color:#8fcbea}
.fg-mirror .f-rw{height:40px;display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13.5px;white-space:nowrap}
.fg-mirror .f-vis .f-rw{padding:0 10px;border-radius:9px}
.fg-mirror .f-vis .f-rw:nth-of-type(even){background:var(--tint)}
.fg-mirror .f-vis .f-rw span{color:var(--muted)}
.fg-mirror .f-vis .f-rw b{font-weight:600}
.fg-mirror .f-vis .f-rw.f-miss{border:1.5px dashed var(--line3);background:transparent;justify-content:center}
.fg-mirror .f-ld{background:var(--ink);border-color:var(--ink)}
.fg-mirror .f-ld .f-hd{border-bottom-color:rgba(255,255,255,.12)}
.fg-mirror .f-ld .fg-k{color:var(--frame-70)}
.fg-mirror .f-ld .f-rw{justify-content:flex-start;color:#dfe4f2;font-size:12.5px}
.fg-mirror .f-ld .k{color:#8fcbea}
.fg-mirror .f-ld .v{color:var(--dot)}
.fg-mirror .f-ld .f-x span{color:#ff9b8a;text-decoration:line-through;text-decoration-color:rgba(255,155,138,.7)}
.fg-mirror .f-ld .f-x em{display:inline-flex;align-items:center;gap:5px;font:500 11.5px/1.2 var(--body);font-style:normal;color:#ffb3a6;margin-left:auto;white-space:normal;text-align:right}
.fg-mirror .f-ld .f-x em svg{width:13px;height:13px;flex:none}
.fg-mirror .f-links{display:flex;flex-direction:column;padding-top:17px}
.fg-mirror .f-links .f-hd{border:0;margin-bottom:6px}
.fg-mirror .f-wire{position:relative;height:40px}
.fg-mirror .f-wire::before{content:"";position:absolute;left:-6px;right:-6px;top:50%;border-top:2px solid var(--dot-deep)}
.fg-mirror .f-wire::after{content:"";position:absolute;left:-10px;top:calc(50% - 4px);width:8px;height:8px;border-radius:50%;background:var(--dot-deep);box-shadow:calc(72px + 12px) 0 0 var(--dot-deep)}
.fg-mirror .f-wire.f-cut::before{border-top:2px dashed var(--slate-300)}
.fg-mirror .f-wire.f-cut::after{background:var(--slate-300);box-shadow:calc(72px + 12px) 0 0 var(--slate-300)}

/* ---------- checklist: metadata, the preview ---------- */
.fg-meta{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:34px;align-items:center}
.fg-serp{padding:20px 22px;display:flex;flex-direction:column;gap:8px}
.fg-serp .f-url{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--muted)}
.fg-serp .f-url i{width:22px;height:22px;border-radius:50%;background:var(--tint);border:1px solid var(--line);flex:none}
.fg-serp .f-ti{font:600 18px/1.3 var(--body);color:#1f3fbf}
.fg-serp .f-de{font-size:13.5px;line-height:1.5;color:var(--ink-70)}
.fg-serp .f-og{display:flex;gap:12px;align-items:center;margin-top:8px;padding-top:12px;border-top:1px solid var(--line)}
.fg-serp .f-og .f-im{width:84px;height:54px;border-radius:8px;background:linear-gradient(160deg,var(--glow),var(--dot-tint));flex:none;position:relative}
.fg-serp .f-og .f-im::after{content:"";position:absolute;left:10px;right:22px;bottom:12px;height:5px;border-radius:3px;background:var(--dot-deep)}
.fg-serp .f-og div{display:flex;flex-direction:column;gap:3px;font-size:12.5px;color:var(--muted)}
.fg-serp .f-og div b{color:var(--ink);font-weight:600;font-size:13.5px}
.fg-meta ol{display:flex;flex-direction:column;gap:12px}
.fg-meta li{display:grid;grid-template-columns:136px minmax(0,1fr);gap:4px 12px;align-items:baseline}
.fg-meta li code{justify-self:start;font:500 12px/1 var(--code);padding:5px 7px;border-radius:6px;background:var(--frame);border:1px solid var(--line2);grid-row:span 2}
.fg-meta li b{font:700 14px/1.25 var(--display)}
.fg-meta li span{font-size:13px;line-height:1.4;color:var(--muted)}
.fg-len{margin-top:6px}
.fg-len .f-track{position:relative;height:10px;border-radius:5px;background:var(--slate-100)}
.fg-len .f-pass{position:absolute;top:0;bottom:0;left:calc(50/200*100%);right:calc(30/200*100%);border-radius:5px;background:var(--slate-200)}
.fg-len .f-aim{position:absolute;top:0;bottom:0;left:calc(120/200*100%);right:calc(40/200*100%);border-radius:5px;background:var(--ink)}
.fg-len .f-ticks{position:relative;height:16px;margin-top:4px;font:600 11px/1 var(--body);color:var(--muted)}
.fg-len .f-ticks span{position:absolute;translate:-50% 0;left:calc(var(--v)/200*100%)}

/* ---------- checklist: crawlability, the gates ---------- */
.fg-gates{display:grid;grid-template-columns:auto repeat(4,minmax(0,1fr)) auto;align-items:stretch;gap:0}
.fg-gates .f-bot,.fg-gates .f-end{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:0 14px;font:600 12.5px/1.2 var(--body);text-align:center}
.fg-gates .f-bot .f-ic{width:46px;height:46px;border-radius:14px;background:var(--ink);display:grid;place-items:center}
.fg-gates .f-bot .f-ic svg{width:24px;height:24px;color:#fff}
.fg-gates .f-end .f-ic{width:46px;height:46px;border-radius:50%;background:var(--dot);display:grid;place-items:center}
.fg-gates .f-end .f-ic svg{width:22px;height:22px;color:var(--ink)}
.fg-gate{position:relative;margin:0 7px;padding:16px 14px 14px;display:flex;flex-direction:column;gap:8px}
.fg-gate::before{content:"";position:absolute;top:50%;left:-15px;width:16px;border-top:2px solid var(--slate-300)}
.fg-gate:first-of-type::before{left:-22px;width:22px}
.fg-gate .f-top{display:flex;justify-content:space-between;align-items:center;gap:6px}
.fg-gate code{font:500 11.5px/1 var(--code);color:var(--muted)}
.fg-gate .fg-t{font-size:14px}
.fg-gate .fg-n{font-size:12.5px}
.fg-gate.f-crit{box-shadow:var(--sh-2),0 0 0 2px var(--ink)}
.fg-gates .f-end{position:relative}
.fg-gates .f-end::before{content:"";position:absolute;top:calc(50% - 10px);left:-8px;width:12px;border-top:2px solid var(--slate-300)}
.fg-gates-note{display:flex;gap:22px;flex-wrap:wrap;margin-top:20px;font-size:13px;color:var(--muted);align-items:center}
.fg-gates-note b{color:var(--ink);font-weight:600}

/* ---------- templates: robots.txt, two decisions ---------- */
.fg-doors{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.fg-door{padding:22px;display:flex;flex-direction:column;gap:14px}
.fg-door .f-chips{display:flex;flex-wrap:wrap;gap:6px}
.fg-door .f-chips .fg-chip{font:500 12px/1 var(--code);padding:6px 9px}
.fg-door .f-rule{display:flex;align-items:center;gap:10px;font:500 13px/1 var(--code)}
.fg-door .f-rule code{padding:7px 10px;border-radius:8px;background:var(--ink);color:#fff}
.fg-door .f-rule code.f-alt{background:var(--frame);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line2)}
.fg-door .f-rule span{font-family:var(--body);color:var(--muted)}
.fg-door .f-out{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;padding-top:14px;border-top:1px solid var(--line);font-size:13.5px;line-height:1.4}
.fg-door .f-out dt{color:var(--muted)}
.fg-door .f-out dd{margin:0;font-weight:600}
.fg-door .f-verdict{align-self:flex-start;font:700 15px/1.2 var(--display);padding:8px 12px;border-radius:10px;background:var(--ink);color:#fff}
.fg-door.f-train .f-verdict{background:var(--frame);color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}

/* ---------- templates: llms.txt at the root ---------- */
.fg-root{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:36px;align-items:center}
.fg-tree{padding:20px 22px;font:500 13.5px/1 var(--code)}
.fg-tree .f-r{font-weight:700;margin-bottom:12px;display:block}
.fg-tree li{display:grid;grid-template-columns:18px auto 1fr;align-items:center;gap:8px;padding:9px 0;border-top:1px solid var(--line)}
.fg-tree li::before{content:"";width:12px;height:12px;border-left:1.5px solid var(--slate-300);border-bottom:1.5px solid var(--slate-300);translate:4px -5px}
.fg-tree li span{font-family:var(--body);font-size:12.5px;color:var(--muted);text-align:right}
.fg-tree li.f-on{background:var(--highlight);margin:0 -10px;padding:9px 10px;border-radius:9px;border-top-color:transparent}
.fg-groups{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fg-groups>div{padding:14px 16px;display:flex;flex-direction:column;gap:8px}
.fg-groups code{font:700 13px/1 var(--code)}
.fg-groups .fg-line{height:5px}
.fg-groups .fg-n{font-size:12.5px}
.fg-verdict{grid-column:1/-1;display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:12px;background:rgba(255,255,255,.65);border:1px solid var(--line);font-size:13.5px;color:var(--muted)}
.fg-verdict b{color:var(--ink);font-weight:600}

/* ---------- templates: sameAs ---------- */
.fg-same{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr) minmax(0,1fr);grid-template-rows:auto auto;gap:18px 0;align-items:center}
.fg-same .f-org{grid-column:2;grid-row:1/3;padding:22px;display:flex;flex-direction:column;gap:10px;z-index:1;margin:0 18px}
.fg-same .f-org .f-h{font:800 20px/1.1 var(--display);letter-spacing:-.02em}
.fg-same .f-org .f-al{display:flex;flex-wrap:wrap;gap:6px}
.fg-same .f-org .fg-chip{font-size:12px;padding:5px 9px}
.fg-same .f-org code{font:500 12px/1.4 var(--code);color:var(--muted)}
.fg-same .f-pr{display:flex;flex-direction:column;gap:12px;z-index:1}
.fg-same .f-pr.f-l{grid-column:1;grid-row:1/3}
.fg-same .f-pr.f-r{grid-column:3;grid-row:1/3}
.fg-same .f-pr>div{position:relative;display:flex;align-items:center;gap:10px;padding:12px 14px;font:600 13.5px/1.2 var(--body)}
.fg-same .f-pr>div i{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:var(--tint);font:800 12px/1 var(--display);font-style:normal;flex:none}
.fg-same .f-pr>div span{display:block;font:500 11.5px/1.2 var(--code);color:var(--muted);margin-top:3px}
.fg-same svg.f-wires{position:absolute;inset:0;width:100%;height:100%;z-index:0;overflow:visible}
.fg-same .f-apart{grid-column:1/-1;display:flex;align-items:center;gap:12px;margin-top:6px;padding:12px 16px;border-radius:12px;border:1.5px dashed var(--line3);font-size:13.5px;color:var(--muted)}
.fg-same .f-apart b{color:var(--ink);font-weight:600}

/* ---------- templates: FAQ, word for word ---------- */
.fg-faq{display:grid;grid-template-columns:minmax(0,1fr) 64px minmax(0,1.1fr);align-items:stretch}
.fg-faq .f-vis{padding:18px 20px;display:flex;flex-direction:column;gap:12px}
.fg-faq .f-qa{display:flex;flex-direction:column;gap:6px;padding:12px 14px;border-radius:10px;background:var(--tint)}
.fg-faq .f-qa b{font:700 14px/1.3 var(--display)}
.fg-faq .f-qa span{font-size:13px;line-height:1.45;color:var(--muted)}
.fg-faq .f-ld{padding:18px 20px;background:var(--ink);border-color:var(--ink);display:flex;flex-direction:column;gap:6px}
.fg-faq .f-ld .fg-k{color:var(--frame-70);margin-bottom:4px}
.fg-faq .f-ld .fg-code{color:#dfe4f2;font-size:12px}
.fg-faq .f-ld .fg-code .k{color:#8fcbea}
.fg-faq .f-ld .fg-code .v{color:var(--dot)}
.fg-faq .f-ld .fg-code .f-x{color:#ff9b8a;text-decoration:line-through}
.fg-faq .f-ld .f-xn{font-size:12px;color:#ffb3a6;margin-left:14px}
.fg-faq .f-eq{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;font:600 11.5px/1.2 var(--body);color:var(--muted);text-align:center}
.fg-faq .f-eq svg{width:26px;height:26px;color:var(--ink)}

/* ---------- phones ---------- */
@media (max-width:860px){
  .fg{margin:40px 0 48px}
  .fg-stage{padding:22px 16px 20px;border-radius:var(--r-md)}
  .fg figcaption{font-size:14px}
  .fg-routes{grid-template-columns:1fr;grid-template-areas:"q" "a" "slow" "b" "c" "fast" "ans"}
  .fg-routes .f-q{justify-self:stretch;font-size:14px}
  .fg-pyr{grid-template-columns:30px minmax(0,1fr);gap:0 10px}
  .fg-pyr .f-rail span{font-size:12px}
  .fg-pyr li{width:100%;min-width:0;flex-direction:column;align-items:flex-start;gap:3px;padding:11px 14px}
  .fg-pyr li .fg-n{text-align:left}
  .fg-crawl{grid-template-columns:1fr}
  .fg-crawl .f-to{padding:10px 0}.fg-crawl .f-to svg{rotate:90deg}
  .fg-who{grid-template-columns:1fr}
  .fg-sent{padding:20px 18px}
  .fg-every{grid-template-columns:1fr 1fr}
  .fg-alias{grid-template-columns:1fr}
  .fg-alias>div{flex-wrap:wrap}
  .fg-pass{grid-template-columns:1fr;gap:20px}
  .fg-corr{grid-template-columns:1fr}
  .fg-ladder li{grid-template-columns:44px minmax(0,1fr);padding:11px 14px}
  .fg-ladder li .f-fact{grid-column:2;justify-self:start}
  .fg-prop{grid-template-columns:1fr}
  .fg-prop .f-to{padding:6px 0}.fg-prop .f-to svg{rotate:90deg}
  .fg-fake{flex-wrap:wrap}
  .fg-flow{grid-template-columns:1fr 1fr;gap:26px 26px}
  .fg-flow li:not(:nth-child(4n))::after,.fg-flow li:not(:nth-child(4n))::before{display:none}
  .fg-flow li:nth-child(odd)::after{display:block;right:-21px;width:16px}
  .fg-flow li:nth-child(odd)::before{display:block;right:-22px}
  .fg-loop{height:auto;margin-top:14px}.fg-loop .f-ln,.fg-loop .f-hd{display:none}
  .fg-loop span{position:absolute;left:50%;bottom:0;translate:-50% 0;display:inline-flex;align-items:center;gap:7px;background:var(--tint);padding:0 12px;font:600 12.5px/1.2 var(--body);color:var(--ink);white-space:nowrap}
.fg-loop span svg{width:15px;height:15px}
  .fg-route3{grid-template-columns:1fr}
  .fg-score .f-stack{height:auto;flex-direction:column}
  .fg-score .f-stack>div{flex:none;height:auto;padding:10px 14px;flex-direction:row;align-items:center;justify-content:space-between;width:calc(var(--w)*1.8% + 46%)}
  .fg-score .f-stack span{white-space:normal}
  .fg-score .f-names{display:none}
  .fg-mirror{grid-template-columns:1fr;gap:14px}
  .fg-mirror .f-links{display:none}
  .fg-meta{grid-template-columns:1fr;gap:22px}
  .fg-meta li{grid-template-columns:1fr;gap:6px}
  .fg-meta li code{grid-row:auto}
  .fg-gates{grid-template-columns:1fr;gap:10px}
  .fg-gates .f-bot,.fg-gates .f-end{flex-direction:row;justify-content:flex-start;padding:0;text-align:left}
  .fg-gate{margin:0}
  .fg-gate::before,.fg-gates .f-end::before{display:none}
  .fg-doors{grid-template-columns:1fr}
  .fg-root{grid-template-columns:1fr;gap:18px}
  .fg-groups{grid-template-columns:1fr 1fr}
  .fg-same{grid-template-columns:1fr;grid-template-rows:none}
  .fg-same .f-org,.fg-same .f-pr.f-l,.fg-same .f-pr.f-r{grid-column:1;grid-row:auto;margin:0}
  .fg-same svg.f-wires{display:none}
  .fg-faq{grid-template-columns:1fr}
  .fg-faq .f-eq{flex-direction:row;padding:10px 0}.fg-faq .f-eq svg{rotate:90deg}
}

/* ---------- the PDF (build/dl_pdfs.py prints the same figures) ---------- */
@media print{
  .fg{break-inside:avoid;margin:18px 0 22px}
  .fg-stage{padding:22px}
  .fg-stage>canvas.ht{display:none}
  .fg-card{box-shadow:none}
}

/* sameAs: each profile wired to the Organization by a short amber line */
.fg-same .f-pr.f-l>div::after,.fg-same .f-pr.f-r>div::after{content:"";position:absolute;top:50%;width:19px;border-top:2px solid var(--dot-deep)}
.fg-same .f-pr.f-l>div::after{right:-20px}
.fg-same .f-pr.f-r>div::after{left:-20px}
@media (max-width:860px){.fg-same .f-pr>div::after{display:none}}
