/* Visual Polish Pass 1 — presentation only. Facts and editorial state remain server-owned. */
:root{
  --gf-space-1:.35rem;
  --gf-space-2:.6rem;
  --gf-space-3:.85rem;
  --gf-space-4:1.15rem;
  --gf-space-5:1.55rem;
  --gf-content-wide:1280px;
}

.shell-main>article>section,.shell-main>section,
.gf-trainee-detail>section,.gf-skill-detail>section,.gf-scenario-detail>section,.gf-detail-view>section{margin-block:var(--gf-space-5)}
.gf-answer,.gf-panel{padding:var(--gf-space-4);margin-block:var(--gf-space-4)}
.gf-answer-compact{padding:var(--gf-space-3) var(--gf-space-4)}
.gf-answer-compact h2{font-size:1.15rem;line-height:1.28}
.gf-answer-compact p:last-child{margin-bottom:0}
.gf-section-head h2,.gf-fact-section h2{margin:.12rem 0 .65rem}
.gf-section-head>a{min-height:44px;display:inline-flex;align-items:center}

/* Stable media geometry and asset-free fallbacks. */
.gf-media-slot{display:block;overflow:hidden;background:linear-gradient(145deg,#28213e,#151b27);object-fit:cover;object-position:var(--gf-focal-x,50%) var(--gf-focal-y,50%)}
.gf-media-picture{position:absolute;inset:0;display:block;width:100%;height:100%}
.gf-media-picture>.gf-media-image{display:block;width:100%;height:100%;object-position:var(--gf-focal-x,50%) var(--gf-focal-y,50%)}
.gf-media-slot[data-media-fit="cover"] .gf-media-image{object-fit:cover}
.gf-media-slot[data-media-fit="contain"] .gf-media-image{object-fit:contain}
.gf-media-portrait{aspect-ratio:3/4}
.gf-media-hero-shell{position:relative;isolation:isolate;overflow:hidden;border:1px solid #3a4260;border-radius:var(--gf-r4);background:radial-gradient(circle at 78% 10%,#7657ca42,transparent 38%),linear-gradient(125deg,#131a2b,#101521 68%)}
.gf-media-hero-shell:after{content:"";position:absolute;z-index:-1;width:280px;aspect-ratio:1;right:-90px;top:-160px;border:1px solid #aa9aff24;border-radius:50%;pointer-events:none}
.gf-detail-hero,.gf-support-hero{padding:var(--gf-space-4)}
.gf-detail-hero{margin:var(--gf-space-3) 0 var(--gf-space-4)}
.gf-detail-hero h1{font-size:clamp(1.85rem,4vw,3rem);margin:.18rem 0}

/* Home pending state uses the space it actually needs. */
.gf-live-hero.is-pending{min-height:0;padding:20px 22px}
.gf-live-hero.is-pending .gf-live-copy h1{font-size:clamp(1.8rem,3vw,2.6rem)}
.gf-live-hero.is-pending .gf-live-grid{margin-top:16px}
.gf-live-hero.is-pending .gf-live-pending{grid-column:auto;max-width:none}
.gf-home-section,.gf-home-columns>article,.gf-home-split>article{padding:14px}
.gf-quick-grid a,.gf-explore a{padding:13px;min-height:78px}
.gf-quick-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.gf-quick-grid .is-amber{border-color:#c18a42;background:linear-gradient(135deg,#51391f,#2b2118)}.gf-quick-grid .is-cyan{border-color:#3d9aab;background:linear-gradient(135deg,#153d49,#13272d)}.gf-home-guides .gf-home-list{grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:980px){.gf-quick-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gf-home-guides .gf-home-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:650px){.gf-quick-grid,.gf-home-guides .gf-home-list{grid-template-columns:1fr}}
.gf-home-scenario,.gf-scenario-feature{min-height:190px}

/* Trainee Decision Engine: context first, then a compact answer/filter/result flow. */
.gf-ranking-view{display:grid;gap:var(--gf-space-2)}
.gf-ranking-intro{padding:15px 18px}
.gf-ranking-intro h1{font-size:clamp(1.75rem,3.2vw,2.7rem);margin:.15rem 0}
.gf-ranking-intro .gf-lead{margin:.4rem 0 0}
.gf-ranking-view .gf-scenarios{padding:.25rem 0 .4rem}
.gf-ranking-view .gf-scenarios a{min-height:44px;display:inline-flex;align-items:center;padding:.5rem .75rem}
.gf-ranking-context{padding:.65rem .85rem;border:1px solid var(--gf-border);border-radius:var(--gf-r2);background:#111722}
.gf-ranking-view .gf-warning{margin:.15rem 0;padding:.7rem .85rem}
.gf-ranking-view .gf-answer,.gf-ranking-view .gf-panel{margin:.2rem 0}
.gf-ranking-view .gf-filter-panel fieldset{margin:.7rem 0}
.gf-ranking-view .gf-filter-panel .gf-search input{margin-top:.25rem;padding:.65rem}
.gf-ranking-view .gf-method-panel{padding:.75rem 1rem}
.gf-ranking-view .gf-method-panel h2{font-size:1rem;margin:0 0 .2rem}
.gf-ranking-view .gf-method-panel p{margin:0;color:var(--gf-muted);font-size:.82rem}
.gf-async-status{min-height:1.35rem;margin:.15rem 0;color:var(--gf-muted);font-size:.78rem}
.gf-async-status:empty{min-height:0;margin:0}
.gf-async-status a{margin-left:.2rem}
.gf-ranking-view [data-gf-async-region="results"]{min-height:9rem}
.gf-ranking-view [data-gf-async-region="results"][aria-busy="true"]{opacity:.72;transition:opacity .12s ease}
.gf-async-ready [data-gf-async-form] .gf-actions button{background:#51476f;color:#ddd7f6}
.gf-result-grid{gap:.5rem;margin:.65rem 0}
.gf-result-grid .gf-card{padding:.7rem;gap:.65rem;border-radius:var(--gf-r2)}
.gf-result-grid .gf-mark{width:36px;height:44px;flex-basis:36px;font-size:1.25rem}
.gf-result-grid .gf-card-copy>small{font-size:.68rem}
.gf-result-grid .gf-card-copy>strong{font-size:.88rem}
.gf-result-grid .gf-state{margin-top:.3rem;padding:.15rem .42rem}
.gf-result-grid .gf-reason{margin-top:.35rem;font-size:.76rem;line-height:1.35}

/* Support Database: one filter form, lateral on wide screens and in-flow on mobile. */
.gf-database-hero{padding:18px 20px;margin-bottom:var(--gf-space-4)}
.gf-database-hero h1{font-size:clamp(2rem,4vw,3.25rem);margin:.15rem 0}
.gf-database-hero .gf-lead{margin:.35rem 0 .75rem}
.gf-factual-summary{display:flex;gap:.45rem;flex-wrap:wrap}
.gf-factual-summary span,.gf-source-summary span{display:inline-flex;align-items:center;gap:.32rem;min-height:34px;padding:.35rem .6rem;border:1px solid #414b65;border-radius:999px;background:#141c2b;color:#cbd2df;font-size:.72rem}
.gf-factual-summary strong{color:#d8d0ff;font-size:.82rem}
.gf-support-layout{display:grid;grid-template-columns:minmax(0,1fr) 232px;gap:12px;align-items:start}
.gf-support-results{grid-column:1;grid-row:1;min-width:0}
.gf-support-filter-column{grid-column:2;grid-row:1;min-width:0}
.gf-support-filter-panel{position:sticky;top:74px;margin:0;padding:.85rem}
.gf-support-filter-panel .gf-section-head{margin-bottom:.65rem}
.gf-support-filter-panel .gf-section-head h2{font-size:1rem;margin:0}
.gf-support-filter-panel fieldset{margin:.7rem 0}
.gf-support-filter-panel legend{font-size:.78rem;margin-bottom:.35rem}
.gf-support-filter-panel .gf-options{gap:.3rem}
.gf-support-filter-panel .gf-choice>span{padding:.42rem .55rem;font-size:.7rem}
.gf-support-filter-panel .gf-actions{display:grid;grid-template-columns:1fr;gap:.35rem}
.gf-support-filter-panel .gf-actions button,.gf-support-filter-panel .gf-actions a{text-align:center;justify-content:center}
.gf-support-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:.65rem 0}
.gf-support-card{padding:10px;gap:9px;border-radius:var(--gf-r2)}
.gf-support-card>.gf-media-portrait{aspect-ratio:3/4}

/* Detail shells and grouped Trainee facts. */
.gf-tabs{margin-bottom:var(--gf-space-3);scrollbar-width:thin}
.gf-tabs a,.gf-tabs span{min-height:44px;display:inline-flex;align-items:center;padding:.45rem .68rem}
.gf-fact-section{padding:var(--gf-space-4);margin-block:var(--gf-space-3);border:1px solid var(--gf-border);border-radius:var(--gf-r3);background:#0f1520}
.gf-facts{gap:.45rem;margin:.55rem 0}
.gf-facts>div,.gf-stat-grid>div{padding:.68rem}
.gf-facts--identity{grid-template-columns:repeat(4,minmax(0,1fr))}
.gf-facts--growth{grid-template-columns:repeat(5,minmax(0,1fr))}
.gf-subheading{margin:.65rem 0 .35rem;color:#cbd1de;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}
.gf-aptitude-groups{display:grid;grid-template-columns:.7fr 1.15fr 1.15fr;gap:.55rem}
.gf-aptitude-groups>article{padding:.75rem;border:1px solid var(--gf-border);border-radius:var(--gf-r2);background:var(--gf-surface)}
.gf-aptitude-groups h3{margin:0 0 .4rem;font-size:.88rem}
.gf-aptitude-groups dl{margin:0}
.gf-aptitude-groups dl>div{display:flex;justify-content:space-between;gap:.5rem;padding:.32rem 0;border-top:1px solid #283143;font-size:.75rem}
.gf-aptitude-groups dd{margin:0;font-weight:800;color:#d7cffb}

/* Support Detail retains its factual hierarchy with shared density. */
.gf-detail-view .gf-support-hero{margin:.8rem 0 1rem}
.gf-detail-view .gf-support-hero .gf-media-portrait{aspect-ratio:3/4}
.gf-detail-view .gf-effect-row{padding:.65rem .8rem}
.gf-detail-view .gf-investment-selector{padding:8px 10px}
.gf-detail-view .gf-level-progression{margin-top:9px}
.gf-detail-view .gf-skill-columns>article{padding:11px}
.gf-detail-view .gf-evidence{margin-top:1.35rem}

/* Skill sources become the first deep layer after the effect. */
.gf-source-priority{padding:var(--gf-space-4);border:1px solid #65569e;border-radius:var(--gf-r3);background:linear-gradient(135deg,#17162a,#111823)}
.gf-source-priority>p{margin:.15rem 0 .7rem;color:var(--gf-muted)}
.gf-source-summary{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:.7rem}
.gf-source-summary span{border-radius:var(--gf-r2);min-height:32px}
.gf-source-list{gap:5px}
.gf-source-list a{padding:9px 11px}

/* Scenario keeps explanation distinct from the two contextual tools. */
.gf-scenario-hero{padding:18px 20px;margin-bottom:var(--gf-space-3)}
.gf-scenario-hero .gf-breadcrumbs{margin-bottom:.65rem}
.gf-scenario-hero h1{font-size:clamp(2rem,4vw,3.2rem);margin:.15rem 0}
.gf-decision-links{padding:var(--gf-space-4);border:1px solid #6757a5;border-radius:var(--gf-r3);background:linear-gradient(135deg,#1b1832,#101722)}
.gf-decision-links .gf-grid{margin-bottom:0}
.gf-decision-links .gf-card{border-color:#554a83}
.gf-scenario-related{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.gf-scenario-related>section{min-width:0;padding:var(--gf-space-3);border:1px solid var(--gf-border);border-radius:var(--gf-r3);background:#0f1520}
.gf-scenario-related h2{font-size:1rem;margin:0 0 .45rem}
.gf-related-grid{grid-template-columns:1fr;gap:5px;margin:0}
.gf-related-grid .gf-card{padding:.62rem;gap:.55rem}
.gf-related-grid .gf-mark{width:32px;height:39px;flex-basis:32px;font-size:1.15rem}
.gf-related-grid .gf-card-copy>small,.gf-related-grid .gf-reason{font-size:.68rem}

@media(max-width:1050px){
  .gf-support-layout{display:flex;flex-direction:column}
  .gf-support-filter-column,.gf-support-results{width:100%}
  .gf-support-filter-column{order:0}.gf-support-results{order:1}
  .gf-support-filter-panel{position:static}
  .gf-support-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gf-facts--identity{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gf-facts--growth{grid-template-columns:repeat(3,minmax(0,1fr))}
}

@media(max-width:760px){
  .gf-answer,.gf-panel{padding:.9rem;margin-block:.85rem}
  .gf-answer-compact{padding:.8rem .9rem}
  .gf-media-hero-shell{border-radius:var(--gf-r3)}
  .gf-detail-hero,.gf-support-hero{padding:.85rem}
  .gf-live-hero.is-pending{padding:16px}
  .gf-live-hero.is-pending .gf-live-grid{grid-template-columns:1fr}
  .gf-ranking-view{gap:.45rem}
  .gf-ranking-intro{padding:13px}
  .gf-ranking-intro .gf-lead{font-size:.9rem}
  .gf-support-layout{display:flex;flex-direction:column}
  .gf-support-filter-column{order:0;width:100%}
  .gf-support-results{order:1;width:100%}
  .gf-support-filter-panel{position:static}
  .gf-support-grid{grid-template-columns:1fr;width:100%}
  .gf-database-hero{padding:15px}
  .gf-factual-summary span{min-height:32px;padding:.3rem .5rem}
  .gf-fact-section{padding:.85rem}
  .gf-facts--identity,.gf-facts--growth{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gf-aptitude-groups{grid-template-columns:1fr}
  .gf-scenario-related{grid-template-columns:1fr}
  .gf-source-list a{grid-template-columns:1fr auto}
  .gf-source-method{grid-column:1/-1}
}

@media(max-width:390px){
  .gf-facts--identity,.gf-facts--growth{grid-template-columns:1fr 1fr}
  .gf-facts dd{font-size:.8rem}
  .gf-result-grid .gf-card{padding:.62rem}
  .gf-support-filter-panel .gf-choice>span{padding:.42rem .5rem}
  .gf-scenario-hero{padding:14px}
}
/* B1: Scenario-only layout, reusing the B0.1 media slot and Graphite Violet. */
.gf-scenario-vertical,.gf-scenario-guide{max-width:1080px;margin-inline:auto}
.gf-scenario-hero{position:relative;isolation:isolate;overflow:hidden;min-height:190px;border:1px solid var(--gf-border);border-radius:12px;background:linear-gradient(115deg,#15152c,#211c42 70%,#302659);display:flex;align-items:center;padding:24px;margin-bottom:18px}
.gf-scenario-hero-copy{position:relative;z-index:1;max-width:80%}
.gf-scenario-hero h1{font-size:clamp(1.55rem,3vw,2.3rem);margin:8px 0;line-height:1.15}
.gf-scenario-visual{position:absolute;inset:0;z-index:-1;opacity:.36;pointer-events:none}
.gf-scenario-visual .gf-media-slot.is-large{display:block;width:100%;height:100%;max-width:none;aspect-ratio:5/1;border:0;border-radius:0;background:repeating-linear-gradient(115deg,transparent 0 60px,#a68aff19 61px 63px)}
.gf-scenario-visual .gf-media-slot .gf-media-fallback{display:flex;width:100%;height:100%;align-items:center;justify-content:flex-end;padding:20px}
.gf-scenario-visual .gf-media-slot.is-large .gf-media-initials{font-size:clamp(3rem,9vw,7rem);color:#bc9fff;line-height:1}
.gf-scenario-visual .gf-media-caption{display:none}
.gf-scenario-unity-cup .gf-scenario-visual .gf-media-slot.is-large{background:radial-gradient(ellipse at 90% 50%,#886de966,transparent 65%),repeating-linear-gradient(45deg,transparent 0 50px,#c4aaff18 51px 54px)}
.gf-scenario-trackblazer-start-of-the-climax .gf-scenario-visual .gf-media-slot.is-large{background:repeating-linear-gradient(0deg,transparent 0 30px,#ad94ff22 31px 32px),repeating-linear-gradient(90deg,transparent 0 50px,#ad94ff22 51px 52px)}
.gf-scenario-our-grand-concert .gf-scenario-visual .gf-media-slot.is-large{background:repeating-linear-gradient(90deg,transparent 0 12%,#ac88ff44 13% 15%,transparent 16% 20%)}
.gf-scenario-vertical>section,.gf-scenario-guide>section{margin-block:22px}
.gf-scenario-mechanics section section{padding:14px 16px;margin-block:12px;background:var(--gf-surface);border:1px solid var(--gf-border);border-radius:8px}
.gf-scenario-vertical h2,.gf-scenario-guide h2{font-size:1.25rem;margin-block:20px 10px}
.gf-scenario-vertical h3{font-size:1rem;margin:0 0 8px}
.gf-scenario-mechanics p,.gf-scenario-guide .gf-prose p{max-width:78ch;line-height:1.65}
.gf-scenario-guides .gf-button{margin:4px 8px 4px 0;white-space:normal}
.gf-scenario-toc{display:flex;flex-wrap:wrap;gap:8px;margin-block:16px}
.gf-scenario-toc a{display:flex;align-items:center;min-height:44px;padding:8px 12px;border:1px solid var(--gf-border);border-radius:8px;text-decoration:none}
.gf-scenario-guide .gf-prose section[id]{scroll-margin-top:90px;border-top:1px solid var(--gf-border);padding-block:6px 16px}
.gf-scenario-guide .gf-breadcrumbs{flex-wrap:wrap}
.gf-scenario-vertical .gf-evidence,.gf-scenario-guide .gf-evidence{overflow-wrap:anywhere}
@media(max-width:760px){.gf-scenario-hero{min-height:200px;padding:18px}.gf-scenario-hero-copy{max-width:100%}.gf-scenario-visual .gf-media-slot{aspect-ratio:16/9}.gf-scenario-visual{opacity:.2}.gf-scenario-visual .gf-media-initials{font-size:4rem}.gf-scenario-vertical>section,.gf-scenario-guide>section{margin-block:18px}.gf-scenario-mechanics section section{padding:12px}.gf-scenario-guide h1{font-size:1.7rem}.gf-scenario-toc{display:grid;grid-template-columns:1fr}.gf-scenario-release .gf-facts{grid-template-columns:1fr}}
