/* Isolated expansion: no selectors apply to the frozen core or approved homepage. */
@font-face{font-family:FG Newsreader;src:url('../assets/field-guide/newsreader.woff2') format('woff2');font-weight:200 800;font-display:swap}
@font-face{font-family:FG Plex;src:url('../assets/field-guide/plex-sans.woff2') format('woff2');font-weight:100 700;font-display:swap}
body[data-fg-family]{--paper:#f2ede3;--ink:#24251f;--quiet:#626158;--red:#a73523;--rule:#c9c2b5;--bg:var(--paper);--bg-primary:var(--paper);--bg-secondary:#e8e1d5;--bg-card:var(--paper);--bg-panel:var(--paper);--bg-elevated:#e8e1d5;--green:var(--red);--green-dark:var(--quiet);--green-muted:var(--quiet);--green-dim:#e8e1d5;--green-glow:transparent;--border:var(--rule);--border-hover:var(--quiet);--text-primary:var(--ink);--text-secondary:var(--quiet);--text-muted:var(--quiet);--accent:var(--red);--accent-hover:#7b2619;--font-sans:'FG Plex',sans-serif;--font:'FG Plex',sans-serif;--serif:'FG Newsreader',Georgia,serif;--sans:'FG Plex',sans-serif;--amber:#805219;--amber-dim:#ece0c7;--magenta:#873753;--magenta-dim:#eddee2;--cyan:#23616b;--cyan-dim:#dce9e8;--panel:var(--paper);--line:var(--rule);--muted:var(--quiet);color-scheme:light;background:var(--paper);color:var(--ink);font-family:'FG Plex',sans-serif;line-height:1.75;overflow-wrap:break-word}
[data-fg-family] h1,[data-fg-family] h2,[data-fg-family] h3,[data-fg-family] h4{font-family:'FG Newsreader',Georgia,serif;color:var(--ink);text-shadow:none;letter-spacing:-.025em;line-height:1.15;font-weight:500;overflow-wrap:anywhere}
[data-fg-family] a{color:var(--red);text-underline-offset:4px}
[data-fg-family] :focus-visible{outline:3px solid var(--red);outline-offset:4px}
[data-fg-family] img{max-width:100%}
[data-fg-family] .fg-table-scroll{overflow-x:auto;max-width:100%;margin:24px 0;border-block:1px solid var(--rule)}
[data-fg-family] .fg-table-scroll table{margin:0;width:100%}
[data-fg-family] .nav{border-block:1px solid var(--rule);padding-block:18px;flex-wrap:wrap;gap:16px}
[data-fg-family] .nav-logo{font:500 32px 'FG Newsreader',Georgia,serif;color:var(--ink)}
[data-fg-family] .nav-links{flex-wrap:wrap;gap:16px}
[data-fg-family] .nav-links a{display:inline-flex;align-items:center;min-height:44px;font-size:14px;color:var(--ink)}
/* Catalogue: compact book-spine shelves; detail remains a familiar side sheet. */
[data-fg-family=catalogue] .site-nav{padding:18px max(24px,calc((100vw - 1240px)/2));font-size:14px;flex-wrap:wrap}
[data-fg-family=catalogue] header{text-align:left;padding:48px max(24px,calc((100vw - 1240px)/2)) 36px}
[data-fg-family=catalogue] .lore-title{font:500 clamp(4rem,10vw,8rem)/1 'FG Newsreader',serif;letter-spacing:-.06em;color:var(--ink)}
[data-fg-family=catalogue] .lore-title::after{content:none}
[data-fg-family=catalogue] .lore-subtitle{font-size:14px;letter-spacing:.12em;margin-top:20px}
[data-fg-family=catalogue] .lore-meta{font-size:14px;letter-spacing:0;max-width:700px}
[data-fg-family=catalogue] .filter-bar{padding:16px max(24px,calc((100vw - 1240px)/2));gap:8px;background:var(--paper)}
[data-fg-family=catalogue] .filter-prompt{display:none}
[data-fg-family=catalogue] .filter-btn{min-height:44px;padding:8px 16px;font-size:12px}
[data-fg-family=catalogue] .filter-btn.active{background:var(--ink);color:var(--paper);border-color:var(--ink);box-shadow:none}
[data-fg-family=catalogue] .filter-count{font-size:13px}
[data-fg-family=catalogue] .lore-grid{max-width:1288px;margin:auto;padding:24px;gap:0 28px;background:transparent;grid-template-columns:repeat(3,minmax(0,1fr));min-height:0}
[data-fg-family=catalogue] .lore-card{display:grid;grid-template-columns:80px minmax(0,1fr);align-content:start;gap:16px;padding:24px 0;border-bottom:1px solid var(--rule);overflow:visible;min-width:0;background:transparent}
[data-fg-family=catalogue] .lore-card:hover{background:#e8e1d5;box-shadow:none}
[data-fg-family=catalogue] .card-cover,[data-fg-family=catalogue] .card-cover-placeholder{width:80px;height:120px;object-fit:contain;filter:none;border:1px solid var(--rule);background:#e8e1d5}
[data-fg-family=catalogue] .card-body{padding:0;gap:7px;min-width:0}
[data-fg-family=catalogue] .card-title{font:500 23px/1.15 'FG Newsreader',serif;color:var(--ink)}
[data-fg-family=catalogue] .card-creator,[data-fg-family=catalogue] .card-summary{font-size:13px;line-height:1.55}
[data-fg-family=catalogue] .card-status-dot{box-shadow:none}
[data-fg-family=catalogue] .badge{font-size:10px}
[data-fg-family=catalogue] .detail-panel{width:min(620px,100vw);height:100dvh;visibility:hidden;transition:none}
[data-fg-family=catalogue] .detail-panel.open{visibility:visible}
[data-fg-family=catalogue] .panel-close-btn{min-height:44px;font-size:14px}
[data-fg-family=catalogue] .panel-content{padding:28px;gap:24px}
[data-fg-family=catalogue] .panel-cover-wrap{height:240px;border:0;background:#e8e1d5}
[data-fg-family=catalogue] .panel-cover{height:240px;object-fit:contain;filter:none}
[data-fg-family=catalogue] .panel-title{font-size:40px}
[data-fg-family=catalogue] .panel-summary{font-size:17px;color:var(--ink);line-height:1.8}
[data-fg-family=catalogue] .panel-meta,[data-fg-family=catalogue] .panel-themes li{font-size:14px}
[data-fg-family=catalogue] .connection-tag{padding:8px 12px;min-height:44px;font-size:13px}
[data-fg-family=catalogue] footer{font-size:13px;max-width:1288px;margin:auto}
[data-fg-family=catalogue] .fg-nojs{padding:24px}
/* Companions retain their distinct narrative architecture and every chapter. */
[data-fg-family=companion]{--paper-deep:#e8e1d5;--ink-soft:var(--quiet);--oxblood:var(--red);--oxblood-dark:#7b2619;--night:var(--paper);--night-2:#e8e1d5;font-size:18px;background-image:none}
[data-fg-family=companion] p{max-width:75ch}
[data-fg-family=companion] .chapter-body,[data-fg-family=companion] .note-copy{font-size:18px;line-height:1.85}
[data-fg-family=companion] .chapter{scroll-margin-top:24px}
[data-fg-family=companion] .rail,[data-fg-family=companion] .topline{background:var(--paper);color:var(--ink);border-color:var(--rule)}
[data-fg-family=companion] .hero-machine,[data-fg-family=companion] .machine,[data-fg-family=companion] .profile,[data-fg-family=companion] .bargain,[data-fg-family=companion] .status-strip,[data-fg-family=companion] .lens,[data-fg-family=companion] .tech,[data-fg-family=companion] .person{background:#e8e1d5;color:var(--ink);box-shadow:none;border-color:var(--rule)}
/* Research collection: source cards are reading entries, not dashboard tiles. */
[data-fg-family=collection] header,[data-fg-family=collection] main,[data-fg-family=collection] footer{max-width:1160px;padding-inline:32px}
[data-fg-family=collection] h1{font-size:clamp(3.5rem,8vw,6rem)}
[data-fg-family=collection] h2{font-size:2.2rem;margin:40px 0 24px}
[data-fg-family=collection] .cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
[data-fg-family=collection] .card{border:0;border-top:2px solid var(--ink);border-radius:0;padding:24px 0;background:transparent}
[data-fg-family=collection] .card h3{font-size:1.7rem}
[data-fg-family=collection] .paths a{border-radius:0;min-height:44px}
/* SnowRunner keeps its route/garage utility, with a quiet field-manual palette. */
[data-fg-family=snowrunner]{--sr-bg:var(--paper);--sr-panel:var(--paper);--sr-panel-strong:#e8e1d5;--sr-line:var(--rule);--sr-line-strong:var(--quiet);--sr-green:#37553d;--sr-green-dim:#37553d;--sr-muted:var(--quiet);--sr-amber:#805219;--sr-text:var(--ink);--sr-radius:0;--sr-font:'FG Plex',sans-serif;background-image:none}
[data-fg-family=snowrunner] h1{font-size:clamp(2.5rem,7vw,5rem)}
/* Professional pages: familiar site navigation, readable evidence and tables. */
[data-fg-family=professional]{font-size:18px}
[data-fg-family=professional] .container{max-width:1120px;padding-inline:32px}
[data-fg-family=professional] .article-content{max-width:760px;font-size:18px;line-height:1.85;margin-inline:auto}
[data-fg-family=professional] .article-header,[data-fg-family=professional] .industry-hero{padding-block:48px;border-bottom:1px solid var(--rule)}
[data-fg-family=professional] h1{font-size:clamp(2.8rem,6vw,5rem)}
[data-fg-family=professional] h2{font-size:2.2rem;margin-top:48px}
[data-fg-family=professional] .highlight-box,[data-fg-family=professional] .project-card,[data-fg-family=professional] .proof-card{background:#e8e1d5;border:1px solid var(--rule);border-radius:0;color:var(--ink)}
[data-fg-family=professional] th,[data-fg-family=professional] td{color:var(--ink);border-color:var(--rule)}
[data-fg-family=professional] th{background:#e8e1d5}
/* Resume keeps print/PDF layout rules; only screen presentation changes. */
@media screen{[data-fg-family=profile] .page{background:var(--paper);max-width:1000px;padding:40px;box-shadow:none}[data-fg-family=profile] h1{font-size:clamp(2.8rem,6vw,4.5rem)}[data-fg-family=profile] .job{border-top:1px solid var(--rule);padding-top:20px}[data-fg-family=profile] .resume-header{border-bottom:2px solid var(--ink)}}
/* Unlisted documents retain discovery boundaries, bespoke cover contrast and content. */
[data-fg-family=unlisted]{--off-white:var(--paper);--light:#e8e1d5;--text:var(--ink);--text-dim:var(--quiet);--dim:var(--quiet);--body:var(--ink);--blue:var(--red);--slate-50:#eee7dc;--slate-100:#e8e1d5;--slate-200:var(--rule);--slate-500:var(--quiet);--slate-600:var(--quiet);--slate-700:var(--ink);--slate-800:var(--ink);--slate-900:var(--ink)}
[data-fg-family=unlisted] .page-wrap{background:var(--paper)}
[data-fg-family=unlisted] .cover h1,[data-fg-family=unlisted] .cover-title,[data-fg-family=unlisted] .cta-section h2{color:inherit}
[data-fg-family=unlisted] .doc-header{border-color:var(--red)}
/* Portal login shell only: authenticated UI and auth implementation are untouched. */
[data-fg-family=portal] .auth-screen{background:var(--paper)}
[data-fg-family=portal] .auth-card{background:var(--paper);border:1px solid var(--rule);border-radius:0;box-shadow:none}
[data-fg-family=portal] .auth-card h1{font-size:2.8rem}
[data-fg-family=portal] .auth-card input{background:#fffaf1;color:var(--ink);border-color:var(--rule)}
[data-fg-family=portal] .auth-card .btn-primary{background:var(--red);color:var(--paper);border-color:var(--red)}
@media(max-width:900px){[data-fg-family=catalogue] .lore-grid{grid-template-columns:repeat(2,minmax(0,1fr))}[data-fg-family=collection] .cards{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){[data-fg-family=catalogue] .lore-grid,[data-fg-family=collection] .cards{grid-template-columns:minmax(0,1fr)}[data-fg-family=catalogue] .filter-bar{position:static}[data-fg-family=catalogue] .filter-count{width:100%;margin-left:0}[data-fg-family=catalogue] .lore-card{grid-template-columns:64px minmax(0,1fr)}[data-fg-family=catalogue] .card-cover,[data-fg-family=catalogue] .card-cover-placeholder{width:64px;height:96px}[data-fg-family=collection] header,[data-fg-family=collection] main,[data-fg-family=collection] footer,[data-fg-family=professional] .container{padding-inline:24px}[data-fg-family=profile] .page{padding:24px}[data-fg-family] .proof-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){[data-fg-family] *,[data-fg-family] *::before,[data-fg-family] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
[data-fg-family=profile]{--text:var(--ink);--secondary:var(--quiet)}
/* Pilot corrections: legacy hard-coded colors and narrow contents rails. */
[data-fg-family=companion] .dek,[data-fg-family=companion] .lead{color:var(--quiet)}
[data-fg-family=companion] .skip{background:var(--red);color:var(--paper)}
[data-fg-family=companion] .seal{background:#6c1d24;color:#f2ede3}
[data-fg-family=companion] .contents{max-width:100%;min-width:0}
[data-fg-family=companion] .chapter-index{min-width:0;flex-wrap:wrap}
[data-fg-family=snowrunner] .quick-card{background:#e8e1d5}
[data-fg-family=snowrunner] .toc-title,[data-fg-family=snowrunner] .section-code{color:var(--quiet)}
[data-fg-family=unlisted]{--slate-400:var(--quiet);--mid:var(--quiet)}
[data-fg-family=unlisted] .cover{color:#f2ede3}
[data-fg-family=unlisted] .cover-title{color:#f2ede3}
[data-fg-family=unlisted] .callout-dark{background:#e8e1d5;color:var(--ink);border-color:var(--rule)}
[data-fg-family=unlisted] .callout-dark p,[data-fg-family=unlisted] .callout-dark strong{color:var(--ink)}
[data-fg-family=unlisted] .compare-label{color:var(--ink)}
[data-fg-family=unlisted] .bot-icon,[data-fg-family=unlisted] .tg-icon{color:#f2ede3}
[data-fg-family=companion] .chapter-body{min-width:0}
[data-fg-family=companion] .field-note summary{grid-template-columns:64px minmax(0,1fr) auto}
[data-fg-family=companion] .field-note summary>*{min-width:0;overflow-wrap:anywhere}
[data-fg-family=snowrunner]{--text:var(--ink);--green-dim:var(--quiet)}
[data-fg-family=snowrunner] .note,[data-fg-family=snowrunner] .note.good,[data-fg-family=snowrunner] .note.danger{color:var(--ink);background:#e8e1d5}
[data-fg-family=snowrunner] footer{color:var(--quiet)}
[data-fg-family=snowrunner] section,[data-fg-family=snowrunner] .toc,[data-fg-family=snowrunner] .card,[data-fg-family=snowrunner] .table-wrap,[data-fg-family=snowrunner] .section-head{background:var(--paper);border-color:var(--rule)}
[data-fg-family=snowrunner] .toc a,[data-fg-family=snowrunner] th,[data-fg-family=snowrunner] td:first-child{background:#e8e1d5;color:var(--ink)}
[data-fg-family=snowrunner] .wrap>*,[data-fg-family=snowrunner] section,[data-fg-family=snowrunner] .section-body{min-width:0}
@media(max-width:1099px){[data-fg-family=snowrunner] .wrap{grid-template-columns:minmax(0,1fr)}}
[data-fg-family=unlisted] .callout-stat{color:var(--red)}
[data-fg-family=unlisted] .compare-col .compare-label{color:var(--ink)}
[data-fg-family=unlisted] .cta-card-icon{color:#f2ede3}
[data-fg-family=catalogue] .panel-close-btn,[data-fg-family=catalogue] .connection-tag{transition:none}
[data-fg-family=snowrunner] .nav{background:var(--paper);color:var(--ink)}
[data-fg-family=professional]{--font-heading:'FG Newsreader',Georgia,serif;--font-body:'FG Plex',sans-serif;--heading:var(--ink);--body:var(--ink)}
[data-fg-family=professional] .industry-page .industry-hero h1{font-size:clamp(2.6rem,5vw,4.5rem);font-weight:500}
/* Container-aware reflow also handles magnification inside a wide embedding viewport. */
body[data-fg-family=companion]:has(.hero-machine){container:fg-infinity / inline-size}
@container fg-infinity (max-width:900px){
 .rail{position:static;width:auto;height:58px;padding:0 20px;flex-direction:row;writing-mode:initial;border-right:0;border-bottom:1px solid var(--line)}
 .hero,.status-strip,main,footer{margin-left:0}
 .hero{min-height:auto;grid-template-columns:minmax(0,1fr)}
 .hero-copy{min-width:0;min-height:72vh;padding:90px 26px 54px}
 .hero-machine{min-height:330px;border-top:1px solid var(--line);border-left:0}
 .status-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
 .chapter{grid-template-columns:minmax(0,1fr)}
 .chapter-index{padding:25px 26px;border-right:0;border-bottom:1px solid var(--line)}
 .chapter-index b{display:inline;margin-right:12px;font-size:34px}
 .chapter-body{padding:70px 26px}
 .profile{grid-template-columns:minmax(0,1fr);gap:35px}
 .profile-core{position:static}
 .lens-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .tech{grid-template-columns:110px minmax(0,1fr)}
 .tech-era{grid-column:2;text-align:left}
}
@container fg-infinity (max-width:580px){
 .status-strip,.machine-grid,.bargain,.lens-grid,.trait,.person,.tech{grid-template-columns:minmax(0,1fr)}
 .act{grid-template-columns:minmax(0,1fr);gap:7px}
 .trait,.person{gap:10px}
 .tech-era{grid-column:auto}
 footer{flex-direction:column}
}
body[data-fg-family=snowrunner]{container:fg-snowrunner / inline-size}
[data-fg-family=snowrunner] .hero-inner,[data-fg-family=snowrunner] .wrap{max-width:calc(100% - var(--sr-pad)*2)}
@container fg-snowrunner (max-width:1099px){.wrap{grid-template-columns:minmax(0,1fr)}.toc{position:static;max-height:none}}
