/* Native Games, Studio and Werkstatt: shared frame, individual compositions. */
.fm-games-page .fm-st-pages { --st-accent:#c6a0ef; --st-tint:#c6a0ef0c; }
.fm-games-page .fm-studio-page { --st-accent:#e4bc8e; --st-tint:#e4bc8e0a; }
.fm-games-page .fm-journal-page { --st-accent:#a2bce6; --st-tint:#a2bce60a; }
.fm-games-page .fm-st-pages p { margin:0; color:#bfbac9; line-height:1.75; }
.fm-games-page .fm-st-pages h2 { margin:12px 0 18px; font-size:32px; }
.fm-games-page .fm-st-pages h3 { margin:0 0 10px; font-size:25px; }
.fm-games-page .fm-st-label { display:block; color:var(--st-accent); font:11px/1.6 Consolas,monospace; letter-spacing:.1em; text-transform:uppercase; }
.fm-games-page .fm-st-head { max-width:760px; margin:10px 0 34px; }
.fm-games-page .fm-st-head h1 { margin:14px 0 22px; }
.fm-games-page .fm-st-head .fm-st-lead { max-width:62ch; }
.fm-games-page .fm-st-head > .fm-textlink { margin-top:16px; }
.fm-games-page .fm-st-pages .fm-textlink { gap:12px; font-size:13px; }
.fm-games-page .fm-st-pages .fm-textlink svg { width:17px; height:17px; }
.fm-games-page .fm-st-panel { border:1px solid #4a4354; border-top:2px solid var(--st-accent); background:linear-gradient(135deg,var(--st-tint),transparent 65%),#16171d; box-shadow:0 5px 0 #08090c; }
.fm-games-page .fm-st-panelbar { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:12px 22px; border-bottom:1px solid #ffffff12; background:linear-gradient(#ffffff07,#ffffff01); }
.fm-games-page .fm-st-tag { color:#bbb5c5; font:11px/1.5 Consolas,monospace; }
.fm-games-page .fm-library-body { display:grid; grid-template-columns:.75fr 1.25fr; gap:32px; align-items:center; padding:34px; }
.fm-games-page .fm-library-art { position:relative; display:grid; place-items:center; min-height:220px; color:var(--st-accent); border:1px solid #c6a0ef25; background:linear-gradient(#c6a0ef08 1px,transparent 1px),linear-gradient(90deg,#c6a0ef08 1px,transparent 1px),radial-gradient(ellipse,#31243d88,transparent 70%); background-size:24px 24px,24px 24px,100% 100%; }
.fm-games-page .fm-library-art::before,.fm-games-page .fm-library-art::after { content:''; position:absolute; width:12px; height:12px; border-color:#c6a0ef88; }
.fm-games-page .fm-library-art::before { top:-1px; left:-1px; border-top:2px solid; border-left:2px solid; }
.fm-games-page .fm-library-art::after { bottom:-1px; right:-1px; border-bottom:2px solid; border-right:2px solid; }
.fm-games-page .fm-library-art svg { width:80%; max-width:240px; height:auto; }
.fm-games-page .fm-library-copy h2 { margin-top:0; }
.fm-games-page .fm-library-copy .fm-action { margin-top:24px; }
.fm-games-page .fm-st-split { display:grid; grid-template-columns:1fr 1.15fr; gap:56px; padding:42px 0; }
.fm-games-page .fm-st-row { display:grid; grid-template-columns:30px 1fr; gap:16px; padding:18px 0; border-bottom:1px solid #ffffff12; }
.fm-games-page .fm-st-row:first-child { padding-top:0; }
.fm-games-page .fm-st-row p { font-size:14px; }
.fm-games-page .fm-st-num { display:grid; place-items:center; width:30px; height:30px; border:1px solid #ffffff25; color:var(--st-accent); font:11px/1 Consolas,monospace; background:#1d1b23; }
.fm-games-page .fm-st-next { display:grid; grid-template-columns:1fr auto; align-items:center; gap:32px; padding:28px; border:1px solid #4c4358; border-left:3px solid var(--st-accent); background:linear-gradient(110deg,var(--st-tint),transparent),#15151b; }
.fm-games-page .fm-st-next h2 { margin:8px 0 12px; }
.fm-games-page .fm-st-next p { font-size:14px; max-width:63ch; }
.fm-games-page .fm-story-layout { display:grid; grid-template-columns:1.45fr 1fr; gap:48px; align-items:start; padding:32px 0 38px; border-top:1px solid #ffffff15; }
.fm-games-page .fm-story-main { scroll-margin-top:70px; }
.fm-games-page .fm-story-path { list-style:none; padding:12px 0 0; margin:0; }
.fm-games-page .fm-story-step { position:relative; display:grid; grid-template-columns:30px 1fr; gap:20px; padding-bottom:30px; }
.fm-games-page .fm-story-step:last-child { padding-bottom:0; }
.fm-games-page .fm-story-step:not(:last-child)::before { content:''; position:absolute; left:14px; top:36px; bottom:6px; width:1px; background:#e4bc8e35; }
.fm-games-page .fm-story-step p { font-size:14px; }
.fm-games-page .fm-st-manifesto { padding:28px; border:1px solid #4d453e; background:repeating-linear-gradient(135deg,transparent 0 7px,#e4bc8e03 7px 8px),linear-gradient(150deg,#2b2521,#17171c); box-shadow:inset 0 2px var(--st-accent); }
.fm-games-page .fm-st-manifesto h2 { font-size:40px; line-height:1.2; margin:24px 0; }
.fm-games-page .fm-st-manifesto p { font-size:14px; }
.fm-games-page .fm-st-equation { display:flex; flex-wrap:wrap; gap:12px; padding-top:24px; margin-top:24px; border-top:1px solid #ffffff15; color:var(--st-accent); font:11px/1.6 Consolas,monospace; letter-spacing:.05em; }
.fm-games-page .fm-st-section { padding:34px 0; border-top:1px solid #ffffff15; scroll-margin-top:70px; }
.fm-games-page .fm-st-lanes { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-top:24px; }
.fm-games-page .fm-st-lane { min-width:0; padding-right:24px; border-right:1px solid #ffffff15; }
.fm-games-page .fm-st-lane:last-child { padding-right:0; border:0; }
.fm-games-page .fm-st-lane p { font-size:14px; }
.fm-games-page .fm-st-lane .fm-textlink { margin-top:16px; }
.fm-games-page .fm-st-lane > .fm-st-label { margin-bottom:14px; }
.fm-games-page .fm-journal-layout { display:grid; grid-template-columns:2fr 1fr; gap:28px; margin-bottom:40px; align-items:start; }
.fm-games-page .fm-journal-feature-body { display:grid; grid-template-columns:115px 1fr; gap:26px; padding:28px; }
.fm-games-page .fm-journal-lettering { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:14px; border:1px solid #a2bce628; color:#a2bce6bb; background:repeating-linear-gradient(0deg,#a2bce605 0 1px,transparent 1px 5px),#131921; font:600 29px/1 'FM Barlow','Arial Narrow',sans-serif; letter-spacing:.05em; }
.fm-games-page .fm-journal-lettering span:nth-child(2) { font:24px/1 Consolas,monospace; color:#7186a6; }
.fm-games-page .fm-journal-copy .fm-action { margin-top:24px; }
.fm-games-page .fm-journal-copy p,.fm-games-page .fm-journal-aside p { font-size:14px; }
.fm-games-page .fm-journal-aside { padding:22px 0 0; border-top:2px solid #a2bce670; }
.fm-games-page .fm-st-pages .fm-st-muted { color:#aaa5b4; margin-top:16px; font-size:13px; }
.fm-games-page .fm-journal-aside .fm-textlink { margin-top:16px; }
.fm-games-page:is(.page-id-8,.page-id-12,.page-id-13) .fm-footer-next { display:none; }
@media(hover:hover) and (prefers-reduced-motion:no-preference) {
 .fm-games-page .fm-library-art svg { transition:transform .24s ease; }
 .fm-games-page .fm-library-body:hover .fm-library-art svg { transform:translateY(-3px); }
 .fm-games-page .fm-journal-lettering { transition:color .2s ease; }
 .fm-games-page .fm-journal-feature:hover .fm-journal-lettering { color:#d1e0f7; }
}
@media(min-width:768px) and (max-width:1024px) {
 .fm-games-page .fm-library-body { padding:24px; gap:24px; }
 .fm-games-page .fm-st-split { gap:28px; }
 .fm-games-page .fm-story-layout { grid-template-columns:1.2fr 1fr; gap:28px; }
 .fm-games-page .fm-st-manifesto { padding:22px; }
 .fm-games-page .fm-st-manifesto h2 { font-size:34px; }
 .fm-games-page .fm-st-lanes { grid-template-columns:1fr 1fr; }
 .fm-games-page .fm-st-lane:nth-child(2) { padding-right:0; border:0; }
 .fm-games-page .fm-st-lane:last-child { grid-column:1/-1; padding-top:22px; border-top:1px solid #ffffff15; }
 .fm-games-page .fm-journal-layout { grid-template-columns:1.4fr 1fr; gap:24px; }
 .fm-games-page .fm-journal-feature-body { grid-template-columns:1fr; padding:24px; gap:20px; }
 .fm-games-page .fm-journal-lettering { flex-direction:row; padding:18px; }
 .fm-games-page .fm-journal-lettering span:nth-child(2) { transform:rotate(-90deg); }
 .fm-games-page .fm-st-next { grid-template-columns:1fr 1fr; gap:24px; padding:24px; }
}
@media(max-width:767px) {
 .fm-games-page .fm-st-head { margin:4px 0 26px; }
 .fm-games-page .fm-st-head h1 { font-size:36px; margin:12px 0 18px; }
 .fm-games-page .fm-st-pages h2 { font-size:28px; }
 .fm-games-page .fm-st-pages h3 { font-size:24px; }
 .fm-games-page .fm-st-panelbar { padding:10px 16px; gap:8px; flex-wrap:wrap; }
 .fm-games-page .fm-library-body { grid-template-columns:1fr; gap:18px; padding:20px 18px; }
 .fm-games-page .fm-library-art { min-height:100px; }
 .fm-games-page .fm-library-art svg { width:140px; }
 .fm-games-page .fm-library-copy .fm-action,.fm-games-page .fm-journal-copy .fm-action { display:flex; margin-top:20px; }
 .fm-games-page .fm-st-split { grid-template-columns:1fr; gap:26px; padding:30px 0; }
 .fm-games-page .fm-st-next { grid-template-columns:1fr; gap:20px; padding:22px 18px; }
 .fm-games-page .fm-story-layout { grid-template-columns:1fr; gap:28px; padding:28px 0; }
 .fm-games-page .fm-story-step { gap:14px; padding-bottom:26px; }
 .fm-games-page .fm-st-manifesto { padding:22px; }
 .fm-games-page .fm-st-manifesto h2 { font-size:30px; margin:18px 0; }
 .fm-games-page .fm-st-manifesto h2 br { display:none; }
 .fm-games-page .fm-st-manifesto h2 br::after { content:' '; }
 .fm-games-page .fm-st-section { padding:28px 0; }
 .fm-games-page .fm-st-lanes { grid-template-columns:1fr; gap:22px; margin-top:22px; }
 .fm-games-page .fm-st-lane { border:0; padding:0 0 22px; border-bottom:1px solid #ffffff15; }
 .fm-games-page .fm-st-lane:last-child { padding-bottom:0; }
 .fm-games-page .fm-journal-layout { grid-template-columns:1fr; gap:26px; margin-bottom:28px; }
 .fm-games-page .fm-journal-feature-body { grid-template-columns:1fr; gap:20px; padding:20px 18px; }
 .fm-games-page .fm-journal-lettering { flex-direction:row; padding:15px; font-size:27px; }
 .fm-games-page .fm-journal-lettering span:nth-child(2) { transform:rotate(-90deg); }
}

/* Sprint 12: studio identity and journal entry, instead of repeated manifestos. */
.fm-games-page .fm-st-manifesto h2 { font-size:34px; }
.fm-games-page .fm-st-manifesto .fm-textlink { margin-top:18px; }
.fm-games-page .fm-journal-layout { grid-template-columns:minmax(0,2fr) minmax(230px,1fr); }
.fm-games-page .fm-journal-copy h2 { margin-top:12px; }
@media(min-width:768px) and (max-width:1024px) {
 .fm-games-page .fm-journal-layout { grid-template-columns:minmax(0,1.6fr) minmax(0,1fr); }
}
@media(max-width:767px) {
 .fm-games-page .fm-journal-layout { grid-template-columns:minmax(0,1fr); }
 .fm-games-page .fm-st-manifesto h2 { font-size:29px; }
}

/* FM-043: compact studio annotation and a timeline that carries the composition. */
.fm-games-page .fm-studio-opening { display:grid; grid-template-columns:1.45fr 1fr; gap:48px; align-items:center; margin-bottom:32px; }
.fm-games-page .fm-studio-opening .fm-st-head { margin-bottom:0; }
.fm-games-page .fm-studio-margin { border-left:2px solid #e4bc8e70; padding:12px 0 12px 24px; }
.fm-games-page .fm-studio-margin h2 { font-size:28px; margin:16px 0; }
.fm-games-page .fm-studio-margin p { font-size:14px; }
.fm-games-page .fm-studio-margin .fm-textlink { margin-top:12px; }
.fm-games-page .fm-story-layout { display:block; }
.fm-games-page .fm-journal-feature { border:0; border-top:2px solid #a2bce6; background:#a2bce604; box-shadow:none; }
.fm-games-page .fm-journal-feature .fm-st-panelbar { padding-inline:0; background:none; }
.fm-games-page .fm-journal-feature-body { padding-inline:0; grid-template-columns:80px 1fr; }
.fm-games-page .fm-journal-lettering { border:0; border-right:1px solid #a2bce635; background:none; font-size:22px; }
.fm-games-page .fm-journal-copy h2 { font-size:34px; }
.fm-games-page .fm-journal-aside { border-top:1px solid #a2bce640; }
@media(min-width:768px) {
 .fm-games-page .fm-story-path { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px; margin-top:24px; }
 .fm-games-page .fm-story-step { display:block; padding:0; }
 .fm-games-page .fm-story-step:not(:last-child)::before { left:44px; right:-14px; top:15px; height:1px; width:auto; bottom:auto; }
 .fm-games-page .fm-story-step .fm-st-num { margin-bottom:18px; }
 .fm-games-page .fm-story-step h3 { font-size:24px; }
}
@media(min-width:768px) and (max-width:1024px) {
 .fm-games-page .fm-studio-opening { grid-template-columns:1.2fr 1fr; gap:26px; }
 .fm-games-page .fm-studio-margin { padding-left:18px; }
 .fm-games-page .fm-story-path { gap:20px; }
 .fm-games-page .fm-journal-feature-body { grid-template-columns:1fr; }
 .fm-games-page .fm-journal-lettering { justify-content:flex-start; padding:8px 0; border:0; }
 .fm-games-page .fm-journal-copy h2 { font-size:30px; }
}
@media(max-width:767px) {
 .fm-games-page .fm-studio-opening { grid-template-columns:1fr; gap:24px; margin-bottom:24px; }
 .fm-games-page .fm-studio-margin { padding:4px 0 4px 18px; }
 .fm-games-page .fm-studio-margin h2 { font-size:25px; }
 .fm-games-page .fm-studio-margin p { max-width:50ch; }
 .fm-games-page .fm-journal-feature-body { grid-template-columns:1fr; gap:8px; }
 .fm-games-page .fm-journal-lettering { justify-content:flex-start; border:0; padding:8px 0; }
 .fm-games-page .fm-journal-copy h2 { font-size:29px; }
}
