/* Future of gastronomy: reading pages, sources and worksheet. Site tokens from /assets/tokens.css and v7.css (paper, graphite, muted, line, mono; Oswald + Inter). */
.fg{--fg-accent:#8f2a1d;--fg-amber:#9a6a1f;--fg-measure:66ch;max-width:1180px;margin:0 auto;padding:0 40px 56px;color:var(--v7-graphite)}
.fg p,.fg li{max-width:var(--fg-measure)}
.fg a{color:inherit;text-underline-offset:3px}
.fg .action{color:var(--v7-paper);text-decoration:none}
.fg .secondary{text-decoration:none}
.fg a:focus-visible,.fg button:focus-visible,.fg input:focus-visible,.fg textarea:focus-visible,.fg summary:focus-visible,.fg-footer a:focus-visible{outline:3px solid var(--fg-accent,#8f2a1d);outline-offset:3px}
.fg .eyebrow{font:12px/1.5 var(--v7-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--v7-muted);margin:0 0 16px}

/* Hero: text left, exact cover graphic right; on phones the graphic is its own band below the text. */
.fg-hero{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:56px;align-items:center;padding:64px 0 48px;border-bottom:1px solid var(--v7-line)}
.fg-hero>div,.fg-hero>figure{min-width:0}
.fg-hero h1{font-size:clamp(40px,5.4vw,80px);line-height:1.02;max-width:14ch;margin:0 0 24px;text-wrap:balance}
.fg-hero .lead{font-size:20px;line-height:1.5;max-width:40ch;margin:0 0 28px}
.fg-actions{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 24px}
.fg-actions .action,.fg-actions .secondary{min-height:48px;margin:0;font-size:16px}
.fg-meta{display:flex;flex-wrap:wrap;gap:6px 22px;margin:0;padding:0;list-style:none;font:13px/1.6 var(--v7-mono);color:var(--v7-muted)}
.fg-meta li{margin:0}
.fg-cover{margin:0}
.fg-cover svg{display:block;width:100%;height:auto}
.fg-cover figcaption{font:12px/1.5 var(--v7-mono);color:var(--v7-muted);margin-top:10px}

/* Version switch: real links, URL carries the state. */
.fg-switch{display:flex;flex-wrap:wrap;gap:0;margin:0 0 32px;padding:0;list-style:none;border:1px solid var(--v7-graphite);width:fit-content;max-width:100%}
.fg-switch li{flex:1 1 auto}
.fg-switch li{margin:0}
.fg-switch a{display:flex;align-items:center;min-height:44px;padding:8px 18px;text-decoration:none;font-size:15px}
.fg-switch a[aria-current="page"]{background:var(--v7-graphite);color:var(--v7-paper)}
.fg-switch a:not([aria-current]):hover{text-decoration:underline}

/* Reading layout: contents left, text column, notes. */
.fg-read{display:grid;grid-template-columns:220px minmax(0,1fr);gap:48px;padding-top:48px}
.fg-toc{position:sticky;top:24px;align-self:start;font-size:15px;max-height:calc(100vh - 150px);overflow:auto}
.fg-toc h2{font:12px/1.5 var(--v7-mono);letter-spacing:.08em;text-transform:uppercase;margin:0 0 12px;color:var(--v7-muted);font-weight:500}
.fg-toc ol{list-style:none;margin:0;padding:0;counter-reset:toc}
.fg-toc li{margin:0;border-top:1px solid var(--v7-line);counter-increment:toc}
.fg-toc a{display:flex;gap:10px;align-items:baseline;min-height:44px;padding:9px 0;text-decoration:none;line-height:1.35}
.fg-toc a::before{content:counter(toc,decimal-leading-zero);font:11px var(--v7-mono);color:var(--v7-muted)}
.fg-toc a:hover span,.fg-toc a[aria-current="true"] span{text-decoration:underline}
.fg-toc details>summary{display:none}
.fg-text{min-width:0;font-size:18px;line-height:1.6}
.fg-text>section{padding:0 0 56px;margin:0 0 56px;border-bottom:1px solid var(--v7-line);scroll-margin-top:16px}
.fg-text>section:last-child{border-bottom:0}
.fg-text h2{font-family:var(--font-display);font-weight:600;font-size:clamp(28px,3.2vw,44px);line-height:1.1;margin:0 0 24px;max-width:22ch;text-wrap:balance}
.fg-text h3{font-family:var(--font-body);font-size:21px;line-height:1.3;font-weight:700;margin:36px 0 12px;max-width:var(--fg-measure)}
.fg-text p{margin:0 0 18px}
.fg-text ul,.fg-text ol{margin:0 0 18px;padding-inline-start:24px}
.fg-text li{margin:0 0 8px}
.fg-text blockquote{margin:24px 0;padding:4px 0 4px 20px;border-inline-start:3px solid var(--fg-accent);max-width:var(--fg-measure)}
.fg-sec-num{font:12px/1.5 var(--v7-mono);letter-spacing:.08em;color:var(--v7-muted);margin:0 0 10px}
.fg-other{font:14px/1.5 var(--v7-mono);margin:24px 0 0}
.fg-other a{display:inline-flex;align-items:center;min-height:44px}

/* Meaning labels: what kind of statement this is. Not build statuses. */
.fg-label{display:inline-block;font:12px/1.4 var(--v7-mono);letter-spacing:.05em;text-transform:uppercase;border:1px solid currentColor;padding:4px 8px;margin:6px 0 12px}
.fg-label-research{color:#1f4f46}
.fg-label-project{color:var(--v7-graphite)}
.fg-label-forecast{color:var(--fg-accent)}
.fg-label-example{color:#5a4a16}
.fg-label-author{color:#3b3c60}

/* Case card: name and place, confirmed decision, its limit, transferable principle. */
.fg-case{border:1px solid var(--v7-line);background:#f6f4ee;padding:24px 24px 8px;margin:28px 0;max-width:calc(var(--fg-measure) + 48px)}
.fg-case h3{margin:0 0 4px;font-family:var(--font-display);font-size:26px;font-weight:600}
.fg-case .fg-place{font:13px/1.5 var(--v7-mono);color:var(--v7-muted);margin:0 0 16px}
.fg-case dl{margin:0;display:grid;grid-template-columns:150px minmax(0,1fr);gap:8px 20px}
.fg-case dt{font:13px/1.6 var(--v7-mono);color:var(--v7-muted);text-transform:uppercase;letter-spacing:.04em}
.fg-case dd{margin:0 0 12px;font-size:17px;line-height:1.55}
.fg-takeaway{border-inline-start:3px solid var(--fg-accent);padding:4px 0 4px 20px;margin:28px 0}
.fg-takeaway strong{display:block;font:12px/1.5 var(--v7-mono);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}

/* Citations: footnote link with a return link (research) or a link to the source list (plain). */
.fg-cite{font:12px/1 var(--v7-mono);vertical-align:super;white-space:nowrap;margin-inline-start:1px}
.fg-cite a{padding:0 2px;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}
.fg-notes{font-size:16px;line-height:1.55;overflow-wrap:anywhere}
.fg-notes ol{padding-inline-start:28px}
.fg-notes li{margin:0 0 12px;max-width:var(--fg-measure);scroll-margin-top:16px}
.fg-notes li:target{background:#e6e1d3}
.fg-back{font:13px var(--v7-mono);text-decoration:none;margin-inline-start:6px}
.fg-abstract{background:#f6f4ee;border:1px solid var(--v7-line);padding:24px;margin:0 0 40px;max-width:calc(var(--fg-measure) + 48px)}
.fg-abstract h2{font-size:22px;font-family:var(--font-body);font-weight:700;margin:0 0 12px}

/* Tables: caption and own scroll container; the page never scrolls sideways. */
.fg-table{overflow-x:auto;margin:24px 0;max-width:100%;border:1px solid var(--v7-line)}
.fg-table:focus-visible{outline:3px solid var(--fg-accent);outline-offset:2px}
.fg-table table{border-collapse:collapse;width:100%;min-width:520px;font-size:16px;line-height:1.45}
.fg-table caption{caption-side:top;text-align:start;font:13px/1.5 var(--v7-mono);color:var(--v7-muted);padding:12px 14px}
.fg-table th,.fg-table td{border-top:1px solid var(--v7-line);padding:10px 14px;text-align:start;vertical-align:top}
.fg-table thead th{font:12px/1.4 var(--v7-mono);text-transform:uppercase;letter-spacing:.04em;background:#e9e5da}

/* Exact diagrams drawn from data. */
.fg-figure{margin:28px 0;max-width:calc(var(--fg-measure) + 48px)}
.fg-figure svg{display:block;width:100%;height:auto}
.fg-figure figcaption{font:13px/1.5 var(--v7-mono);color:var(--v7-muted);margin-top:10px}

.fg-next{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:24px 0 0;padding:0;list-style:none}
.fg-next li{margin:0;max-width:none}
.fg-next a{display:block;min-height:100%;border:1px solid var(--v7-graphite);padding:18px 18px 20px;text-decoration:none}
.fg-next a:hover,.fg-next a:focus-visible{background:var(--v7-graphite);color:var(--v7-paper)}
.fg-next b{display:block;font-family:var(--font-display);font-size:22px;font-weight:600;margin-bottom:6px}
.fg-next span{font-size:15px;line-height:1.45}

.fg-langnote{font:14px/1.5 var(--v7-mono);background:var(--v7-graphite);color:var(--v7-paper);padding:12px 16px;margin:20px 0 0;max-width:none}
.fg-footer{max-width:1180px;margin:0 auto;padding:28px 40px 120px;display:flex;flex-wrap:wrap;gap:12px 28px;font:13px/1.6 var(--v7-mono);color:var(--v7-muted);border-top:1px solid var(--v7-line)}
.fg-footer a{display:inline-flex;align-items:center;min-height:44px;color:inherit}

/* Sources page. */
.fg-src{list-style:none;margin:0;padding:0}
.fg-src>li{border-top:1px solid var(--v7-line);padding:20px 0;margin:0;max-width:none;scroll-margin-top:16px}
.fg-src>li:target{background:#e6e1d3}
.fg-src h3{margin:0 0 6px;font-size:19px}
.fg-src .fg-id{font:13px var(--v7-mono);color:var(--v7-muted);margin-inline-end:8px}
.fg-src p{margin:0 0 8px;font-size:16px;line-height:1.55;overflow-wrap:anywhere}
.fg-claims li{font-size:16px;line-height:1.5}

/* Worksheet. */
.fg-ws{max-width:860px}
.fg-ws fieldset{border:1px solid var(--v7-line);padding:20px 20px 8px;margin:0 0 24px}
.fg-ws legend{font-family:var(--font-display);font-size:24px;font-weight:600;padding:0 8px}
.fg-field{margin:0 0 18px}
.fg-field label{display:block;font-weight:700;font-size:17px;margin-bottom:4px}
.fg-field .hint{display:block;font-size:15px;color:var(--v7-muted);margin-bottom:8px;max-width:60ch}
.fg-field textarea,.fg-field input[type="text"],.fg-field input[type="date"]{width:100%;box-sizing:border-box;font:inherit;font-size:17px;line-height:1.5;padding:10px 12px;border:1px solid #6d6e66;background:#fff;color:var(--v7-graphite);min-height:48px;border-radius:0}
.fg-field textarea{min-height:96px;resize:vertical}
.fg-calc{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.fg-calc .fg-field{margin:0}
.fg-result{border:1px solid var(--v7-graphite);padding:16px;margin:16px 0;font-size:17px;line-height:1.55;max-width:none}
.fg-result[data-state="error"]{border-color:var(--fg-accent);color:var(--fg-accent)}
.fg-result[data-state="empty"]{border-style:dashed;color:var(--v7-muted)}
.fg-buttons{display:flex;flex-wrap:wrap;gap:12px;margin:8px 0 16px}
.fg-buttons button,.fg-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;min-width:44px;padding:10px 18px;font:inherit;font-size:16px;background:transparent;border:1px solid var(--v7-graphite);color:var(--v7-graphite);cursor:pointer;border-radius:0}
.fg-buttons button.primary{background:var(--v7-graphite);color:var(--v7-paper)}
.fg-buttons button:hover{text-decoration:underline}
.fg-buttons button:active{transform:translateY(1px)}
.fg-buttons button:disabled{opacity:.55;cursor:not-allowed;text-decoration:none}
.fg-remember{display:flex;gap:12px;align-items:flex-start;min-height:44px;padding:10px 0;font-size:16px;max-width:60ch}
.fg-remember input{width:22px;height:22px;margin:2px 0 0;flex:none;accent-color:var(--v7-graphite)}
.fg-status{font:14px/1.5 var(--v7-mono);min-height:1.5em;margin:0 0 12px}
.fg-confirm{border:1px solid var(--fg-accent);padding:12px 16px;margin:0 0 16px}
.fg-confirm p{margin:0 0 8px}
.fg-js-only{display:none!important}
.fg-print-only{display:none}
.fg-js .fg-js-only{display:revert!important}
.fg-js .fg-js-only.fg-buttons{display:flex!important}
.fg-js .fg-nojs{display:none}

@media (max-width:900px){
 .fg{padding:0 20px 48px}
 .fg-hero{grid-template-columns:1fr;gap:28px;padding:36px 0 32px}
 .fg-hero .lead{font-size:18px}
 .fg-read{grid-template-columns:1fr;gap:0;padding-top:24px}
 .fg-toc{position:static;margin:0 0 32px;border:1px solid var(--v7-line)}
 .fg-toc details>summary{display:flex;align-items:center;min-height:48px;padding:0 16px;cursor:pointer;font:13px var(--v7-mono);letter-spacing:.06em;text-transform:uppercase}
 .fg-toc h2{display:none}
 .fg-toc ol{padding:0 16px 8px}
 .fg-case dl{grid-template-columns:1fr;gap:0}
 .fg-case dd{margin-bottom:10px}
 .fg-next{grid-template-columns:1fr}
 .fg-calc{grid-template-columns:1fr}
 .fg-footer{padding:24px 20px 120px}
}
@media (min-width:901px){.fg-toc details>ol{display:block}}
/* Wide screens: the hero is the first screen, so no control starts in the band of the fixed site docks at load. */
@media (min-width:901px){.fg-hero:not(.fg-hero-short){min-height:calc(100vh - 93px);box-sizing:border-box}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

@media print{
 header,.fg-switch,.fg-toc,.fg-actions,.fg-buttons,.fg-remember,.fg-status,.fg-other,.fg-next,.language-dock,#ik-assistant,#lang-panel,.skip,.fg-langnote,.fg-js-only{display:none!important}
.fg-print-only{display:none}
 .fg-js .fg-js-only,.fg-js .fg-js-only.fg-buttons,.fg-js .fg-buttons,.fg-confirm,.fg-nojs{display:none!important}
 .fg-print-only{display:block!important}
 body{background:#fff}
 .fg{padding:0;max-width:none}
 .fg-hero{grid-template-columns:1fr;padding:0 0 16px}
 .fg-read{display:block;padding:0}
 .fg-text{font-size:11.5pt;line-height:1.45}
 .fg-text>section{break-inside:auto;padding:0 0 18px;margin:0 0 18px}
 .fg-case,.fg-figure,.fg-table{break-inside:avoid}
 .fg-text a[href^="http"]::after{content:" (" attr(href) ")";font-size:9pt;word-break:break-all}
 .fg-ws textarea,.fg-ws input{border:1px solid #000;min-height:0}
 .fg-ws [data-print-value]{white-space:pre-wrap}
 .fg-footer{padding:12px 0}
 /* Worksheet handout: one A4 page. Print copies replace the boxes (a textarea prints only its visible box). */
 @page{size:A4;margin:10mm 12mm}
 body:has(.fg-ws) .fg-hero{padding:0 0 4px}
 body:has(.fg-ws) .fg-hero h1{font-size:17pt;line-height:1.1;margin:0}
 body:has(.fg-ws) .fg-hero .lead{font-size:9pt;line-height:1.3;margin:2px 0 0;max-width:none}
 body:has(.fg-ws) .eyebrow{font-size:7.5pt;margin:0 0 2px}
 body:has(.fg-ws) .fg-footer,body:has(.fg-ws) .fg-other{display:none!important}
 .fg-ws{font-size:9pt;line-height:1.25}
 .fg-ws #ws-privacy,.fg-ws .fg-figure,.fg-ws .fg-nojs,.fg-ws .fg-result[data-state="empty"],.fg-ws .fg-result[data-state="error"]{display:none!important}
 .fg-ws fieldset{margin:0 0 5px;padding:3px 8px 4px;border:1px solid #777;break-inside:avoid}
 .fg-ws legend{font-size:10pt;font-weight:700;padding:0 3px}
 .fg-ws fieldset>p{margin:0 0 3px;font-size:8.5pt}
 .fg-ws fieldset:first-of-type{display:grid;grid-template-columns:1fr 1fr;column-gap:10px}
 .fg-ws fieldset:first-of-type>legend{grid-column:1/-1}
 .fg-ws .fg-calc{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
 .fg-ws .fg-field{margin:0 0 3px;break-inside:avoid}
 .fg-ws .fg-field label{font-weight:700;font-size:9pt}
 .fg-ws .hint{display:block;font-weight:400;font-size:7.5pt;line-height:1.2;color:#333}
 .fg-ws textarea,.fg-ws input{display:block;width:100%;box-sizing:border-box;font:inherit;padding:2px 4px;margin-top:2px}
 .fg-ws textarea{height:15mm;resize:none}
 .fg-ws input{height:7mm}
 .fg-ws textarea:has(+[data-print-value]),.fg-ws input:has(+[data-print-value]){display:none!important}
 .fg-ws [data-print-value]{display:block!important;border:1px solid #000;padding:2px 4px;margin-top:2px;font-size:8.5pt;line-height:1.25;min-height:7mm;overflow-wrap:anywhere}
 .fg-ws textarea+[data-print-value]{min-height:15mm}
 .fg-ws .fg-result{margin:3px 0 0;font-size:8.5pt;padding:3px 6px}
}

/* Received Runway clips: the whole 16:9 frame at every width (contain, never cover or crop); controls sit outside the picture. */
.fg-film{margin:0}
.fg-film-frame{width:100%;aspect-ratio:16/9;background:var(--v7-paper);overflow:hidden}
.fg-film-frame picture,.fg-film-frame img,.fg-film-frame video{display:block;width:100%;height:100%;object-fit:contain}
.fg-film-face{display:block;width:100%;height:100%;padding:0;margin:0;border:0;background:none;cursor:pointer}
.fg-film-face:focus-visible{outline:2px solid var(--v7-graphite);outline-offset:3px}
.fg-film-status:empty{display:none}
.fg-film figcaption{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:10px;font:12px/1.5 var(--v7-mono);color:var(--v7-muted)}
.fg-film-play{min-height:44px;font:inherit;font-size:15px}
.fg-text>.fg-film,.fg section>.fg-film{margin:0 0 24px}

/* Right-to-left copies (ar, he): the language dock mirrors to the left edge, away from right-aligned text and actions. */
html[dir="rtl"] .language-dock{right:auto!important;left:12px!important}
/* Edition 22.10.2026: «Материалы» row, edition line, language note, retired worksheet archive, alias anchors. */
.fg-materials{margin:0 0 24px;max-width:var(--fg-measure)}
.fg-materials p{font:13px/1.4 var(--v7-mono);text-transform:uppercase;letter-spacing:.06em;margin:0 0 6px;color:var(--v7-graphite)}
.fg-materials ul{display:flex;flex-wrap:wrap;gap:0 20px;list-style:none;margin:0;padding:0;border-top:1px solid #FF3B30}
.fg-materials li{margin:0;max-width:none}
.fg-materials a{display:inline-flex;align-items:center;min-height:44px;font-size:16px}
.fg-edition{font:16px/1.5 var(--v7-mono);margin:24px 0 0;overflow-wrap:anywhere}
.fg-langnote{border-inline-start:3px solid #FF3B30;padding:8px 0 8px 16px;margin:0 0 24px;font-size:17px}
.fg-langnote[hidden]{display:none}
.fg-alias{display:block;position:relative;top:-16px;height:0}
.fg-archive pre{white-space:pre-wrap;word-break:break-word;font:15px/1.5 var(--v7-mono);background:#f6f4ee;border:1px solid var(--v7-line);padding:16px;max-width:var(--fg-measure)}
.fg-archive[hidden]{display:none}
@media print{.fg-materials{display:none!important}.fg-edition{margin-top:24px}}
.fg-text{overflow-wrap:break-word}  /* long URLs (e.g. «Как цитировать») never push the page sideways */
.fg-archive-status{font-size:16px;min-height:1.5em;margin:0 0 16px}


/* Readable task data, replacing the former SVG illustration. */
.fg-figure:has(.sl-ai-table){overflow-x:auto}.fg-figure .sl-ai-table{width:100%;table-layout:fixed;border-collapse:collapse;font-size:16px;line-height:1.4}.fg-figure .sl-ai-table td,.fg-figure .sl-ai-table th{padding:10px 8px;vertical-align:top;text-align:start;border-bottom:1px solid #c6c4bb;overflow-wrap:anywhere}.fg-topic-map{padding-inline-start:1.5em}.fg-topic-map li{padding:8px 0}

.fg-topic-map a{display:inline-flex;align-items:center;min-height:44px;padding:8px 4px}
