/* Native service pages: shared studio frame, distinct content and accents. */
.fm-games-page .fm-service { --svc-accent:#e2b57b; --svc-tint:#e2b57b0c; }
.fm-games-page .fm-service.fm-learning { --svc-accent:#8dd9c8; --svc-tint:#8dd9c80c; }
.fm-games-page .fm-service > .fm-textlink { margin-bottom:20px; font-size:13px; }
.fm-games-page .fm-service p { color:#c0bdca; line-height:1.75; margin:0; }
.fm-games-page .fm-service h2 { margin:10px 0 18px; font-size:32px; }
.fm-games-page .fm-service h3 { margin:0 0 12px; font-size:26px; }
.fm-games-page .fm-service .fm-svc-label {
 display:block; color:var(--svc-accent); font:11px/1.5 Consolas,monospace;
 letter-spacing:.12em; text-transform:uppercase;
}
.fm-games-page .fm-svc-code { color:#aaa5b5; font:11px/1.5 Consolas,monospace; letter-spacing:.04em; }
.fm-games-page .fm-svc-hero { display:grid; grid-template-columns:1.2fr 1fr; align-items:center; gap:42px; padding:12px 0 44px; }
.fm-games-page .fm-svc-hero h1 { margin:14px 0 22px; }
.fm-games-page .fm-svc-lead { max-width:53ch; }
.fm-games-page .fm-svc-actions { display:flex; flex-direction:column; align-items:flex-start; gap:9px; margin-top:24px; }
.fm-games-page .fm-svc-actions .fm-action { min-width:250px; }
.fm-games-page .fm-service .fm-textlink { font-size:13px; gap:12px; }
.fm-games-page .fm-service .fm-textlink svg { width:17px; height:17px; }
.fm-games-page .fm-brief-card,
.fm-games-page .fm-learning-scene {
 padding:24px; min-width:0; border:1px solid #49434e; border-top:2px solid var(--svc-accent);
 background:linear-gradient(135deg,var(--svc-tint),transparent 65%),#17181e;
 box-shadow:inset 0 1px #ffffff08,0 6px 0 #08090c;
}
.fm-games-page .fm-svc-card-top { display:flex; flex-wrap:wrap; gap:8px 16px; justify-content:space-between; margin-bottom:20px; padding-bottom:12px; border-bottom:1px solid #ffffff10; }
.fm-games-page .fm-svc-card-top .fm-svc-label { font-size:10px; }
.fm-games-page .fm-brief-card h2,.fm-games-page .fm-learning-scene h2 { font-size:28px; margin-bottom:20px; }
.fm-games-page .fm-brief-row { display:grid; grid-template-columns:78px 1fr; gap:12px; align-items:baseline; padding:14px 0; border-bottom:1px solid #ffffff0c; }
.fm-games-page .fm-brief-row .fm-svc-code { color:var(--svc-accent); }
.fm-games-page .fm-service .fm-brief-row p { color:#e1dce7; font-size:14px; }
.fm-games-page .fm-service .fm-svc-note { font-size:13px; color:#a8a4b1; margin-top:18px; }
.fm-games-page .fm-svc-section { padding:36px 0; border-top:1px solid #ffffff15; scroll-margin-top:65px; }
.fm-games-page .fm-usecases { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-top:26px; }
.fm-games-page .fm-usecase { padding:0 20px 0 0; border-right:1px solid #ffffff12; min-width:0; }
.fm-games-page .fm-usecase:last-child { padding-right:0; border-right:0; }
.fm-games-page .fm-usecase .fm-svc-label { margin-bottom:16px; }
.fm-games-page .fm-usecase p { font-size:14px; }
.fm-games-page .fm-service .fm-svc-example { font-size:13px; line-height:1.7; color:#a8a4b1; margin-top:18px; padding-left:12px; border-left:2px solid #79634d; }
.fm-games-page .fm-svc-process { display:grid; grid-template-columns:.85fr 1.15fr; gap:42px; padding:36px 0; border-top:1px solid #ffffff15; }
.fm-games-page .fm-svc-process > .fm-svc-section { border:0; padding:0; }
.fm-games-page .fm-svc-disclosure { border-bottom:1px solid #ffffff15; }
.fm-games-page .fm-svc-disclosure summary { cursor:pointer; padding:18px 6px; min-height:52px; font-size:16px; color:#e9e4ed; }
.fm-games-page .fm-svc-disclosure summary::marker { color:var(--svc-accent); font-size:12px; }
.fm-games-page .fm-service .fm-svc-disclosure p { padding:0 8px 20px 22px; font-size:14px; max-width:70ch; }
.fm-games-page .fm-svc-disclosure[open] { background:linear-gradient(90deg,var(--svc-tint),transparent); }
.fm-games-page .fm-svc-disclosure summary:focus-visible { outline:2px solid var(--svc-accent); outline-offset:2px; }
.fm-games-page .fm-svc-close { display:grid; grid-template-columns:1.3fr 1fr; align-items:center; gap:36px; margin:24px 0 10px; padding:30px; border:1px solid #5d466f; border-left:3px solid #b182e5; background:linear-gradient(115deg,#251c30,#15151c); }
.fm-games-page .fm-svc-close-copy h2 { margin:12px 0; }
.fm-games-page .fm-svc-close-copy p { font-size:14px; }
.fm-games-page .fm-svc-close-actions { display:flex; flex-direction:column; gap:14px; }
.fm-games-page .fm-service .fm-svc-close .fm-svc-label { color:#d0aaf4; }
.fm-games-page .fm-scenario-path { display:grid; gap:0; }
.fm-games-page .fm-scenario-step { display:grid; grid-template-columns:30px 1fr; gap:14px; position:relative; padding-bottom:22px; }
.fm-games-page .fm-scenario-step:last-child { padding-bottom:0; }
.fm-games-page .fm-scenario-step:not(:last-child)::after { content:''; position:absolute; top:31px; left:14px; bottom:0; width:1px; background:#8dd9c833; }
.fm-games-page .fm-scenario-num { display:inline-flex; align-items:center; justify-content:center; flex:none; width:30px; height:30px; border:1px solid #8dd9c84d; background:#152423; color:var(--svc-accent); font:11px/1 Consolas,monospace; }
.fm-games-page .fm-service .fm-scenario-step h3 { font-size:22px; margin:2px 0 4px; }
.fm-games-page .fm-service .fm-scenario-step p { font-size:13px; line-height:1.65; }
.fm-games-page .fm-learning-path { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:0; list-style:none; padding:10px 0 0; margin:0; }
.fm-games-page .fm-learning-stage { min-width:0; padding:0 24px 0 0; position:relative; }
.fm-games-page .fm-learning-stage:last-child { padding-right:0; }
.fm-games-page .fm-learning-stage:not(:last-child)::after { content:''; position:absolute; top:15px; height:1px; left:44px; right:14px; background:#8dd9c833; }
.fm-games-page .fm-service .fm-learning-stage h3 { margin:18px 0 10px; font-size:26px; }
.fm-games-page .fm-learning-stage p { font-size:14px; }
@media(min-width:768px) and (max-width:1024px) {
 .fm-games-page .fm-svc-hero { grid-template-columns:1fr 1fr; gap:24px; }
 .fm-games-page .fm-service h1 { font-size:44px; }
 .fm-games-page .fm-brief-card,.fm-games-page .fm-learning-scene { padding:20px; }
 .fm-games-page .fm-svc-hero .fm-svc-card-top .fm-svc-code { display:none; }
 .fm-games-page .fm-brief-row { grid-template-columns:1fr; gap:4px; }
 .fm-games-page .fm-svc-process { gap:24px; }
 .fm-games-page .fm-usecases { grid-template-columns:1fr 1fr; gap:24px; }
 .fm-games-page .fm-usecase:nth-child(2) { border-right:0; padding-right:0; }
 .fm-games-page .fm-usecase:last-child { grid-column:1/-1; padding-top:22px; border-top:1px solid #ffffff12; }
 .fm-games-page .fm-learning-path { grid-template-columns:1fr 1fr; gap:26px; }
 .fm-games-page .fm-learning-stage:nth-child(2)::after { display:none; }
 .fm-games-page .fm-svc-close { gap:24px; padding:24px; }
}
@media(max-width:767px) {
 .fm-games-page .fm-service > .fm-textlink { margin-bottom:10px; }
 .fm-games-page .fm-service h2 { font-size:28px; }
 .fm-games-page .fm-service h3 { font-size:24px; }
 .fm-games-page .fm-svc-hero { grid-template-columns:1fr; gap:24px; padding:4px 0 28px; }
 .fm-games-page .fm-service .fm-svc-hero h1 { margin:12px 0 18px; font-size:36px; }
 .fm-games-page .fm-svc-actions { align-items:stretch; gap:6px; margin-top:20px; }
 .fm-games-page .fm-svc-actions .fm-action { min-width:0; }
 .fm-games-page .fm-brief-card,.fm-games-page .fm-learning-scene { padding:18px; box-shadow:none; }
 .fm-games-page .fm-svc-card-top { margin-bottom:14px; }
 .fm-games-page .fm-svc-card-top .fm-svc-code { display:none; }
 .fm-games-page .fm-brief-card h2,.fm-games-page .fm-learning-scene h2 { font-size:25px; margin-bottom:12px; }
 .fm-games-page .fm-brief-row { grid-template-columns:68px 1fr; gap:10px; padding:10px 0; }
 .fm-games-page .fm-svc-section { padding:28px 0; }
 .fm-games-page .fm-usecases { grid-template-columns:1fr; gap:0; margin-top:20px; }
 .fm-games-page .fm-usecase { border:0; padding:20px 0; border-top:1px solid #ffffff10; }
 .fm-games-page .fm-usecase:first-child { border:0; padding-top:0; }
 .fm-games-page .fm-usecase:last-child { padding-bottom:0; }
 .fm-games-page .fm-usecase .fm-svc-label { margin-bottom:10px; }
 .fm-games-page .fm-svc-process { grid-template-columns:1fr; gap:16px; padding:28px 0; }
 .fm-games-page .fm-svc-close { grid-template-columns:1fr; gap:20px; padding:22px 18px; margin-top:14px; }
 .fm-games-page .fm-learning-path { grid-template-columns:1fr; gap:0; }
 .fm-games-page .fm-learning-stage { padding:0 0 24px 46px; }
 .fm-games-page .fm-learning-stage > .fm-scenario-num { position:absolute; top:0; left:0; }
 .fm-games-page .fm-learning-stage:not(:last-child)::after { left:14px; top:31px; bottom:0; height:auto; width:1px; }
 .fm-games-page .fm-service .fm-learning-stage h3 { margin:0 0 8px; }
 .fm-games-page .fm-learning-stage:last-child { padding-bottom:0; }
}

/* Sprint 11: static, explicitly hypothetical concepts; all copy remains native. */
.fm-games-page .fm-concept-disclaimer { max-width:75ch; font-size:14px; }
.fm-games-page .fm-concept-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; list-style:none; margin:28px 0; padding:0; }
.fm-games-page .fm-concept-learning { grid-template-columns:repeat(4,minmax(0,1fr)); }
.fm-games-page .fm-concept-step { min-width:0; margin:0; padding:0 0 18px; border-bottom:2px solid var(--svc-accent); }
.fm-games-page .fm-concept-art { display:block; width:100%; height:112px; padding:14px; margin-bottom:20px; color:var(--svc-accent); border:1px solid #ffffff20; background:repeating-linear-gradient(0deg,#ffffff03 0 1px,transparent 1px 5px),#15171d; }
.fm-games-page .fm-concept-art svg { width:100%; height:100%; }
.fm-games-page .fm-concept-step h3 { font-size:24px; margin:12px 0; }
.fm-games-page .fm-concept-step p { font-size:14px; }
.fm-games-page .fm-concept-deliverables { border-left:2px solid var(--svc-accent); padding:4px 0 4px 18px; max-width:80ch; }
.fm-games-page .fm-concept-deliverables p { font-size:14px; margin-top:10px; }
.fm-games-page :is(.fm-brief-card,.fm-learning-scene) > .fm-concept-art { margin-top:18px; height:128px; }
.fm-games-page :is(.fm-brief-card,.fm-learning-scene) > .fm-textlink { margin-top:14px; }
@media(min-width:768px) and (max-width:1024px) {
 .fm-games-page .fm-concept-learning { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:767px) {
 .fm-games-page .fm-concept-grid { grid-template-columns:minmax(0,1fr); gap:24px; margin:24px 0; }
 .fm-games-page .fm-concept-step { display:grid; grid-template-columns:82px minmax(0,1fr); column-gap:16px; align-items:start; }
 .fm-games-page .fm-concept-step .fm-concept-art { grid-column:1; grid-row:1/3; height:72px; padding:5px; margin:0; }
 .fm-games-page .fm-concept-step > :not(.fm-concept-art) { grid-column:2; }
 .fm-games-page .fm-concept-step h3 { font-size:24px; margin:8px 0 10px; }
 .fm-games-page .fm-concept-grid .fm-concept-step > p { grid-column:1/-1; grid-row:3; margin-top:14px; }
}

/* FM-042: one meaningful static scene, followed by its explanation. */
.fm-games-page .fm-scene-clues { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:20px 0; }
.fm-games-page .fm-scene-clue { padding:14px; background:#0d1015; border:1px solid #e2b57b30; border-top:2px solid var(--svc-accent); }
.fm-games-page .fm-scene-clue p { color:#eee3d5; font-size:14px; margin-top:8px; }
.fm-games-page .fm-scene-solution { padding:18px; border:1px solid #e2b57b40; background:repeating-linear-gradient(0deg,#ffffff02 0 1px,transparent 1px 5px),#1d1b1d; }
.fm-games-page .fm-scene-code { display:block; color:var(--svc-accent); margin:16px 0 12px; }
.fm-games-page .fm-scene-code svg { width:100%; height:auto; max-height:70px; }
.fm-games-page .fm-scene-caption { font-size:12px; color:var(--svc-accent); text-align:center; }
.fm-games-page .fm-scene-question { font-size:14px; }
.fm-games-page .fm-scene-options { display:grid; gap:8px; margin:20px 0 14px; }
.fm-games-page .fm-scene-option { display:flex; align-items:center; gap:12px; min-height:48px; padding:10px 12px; color:#c2bdca; border:1px solid #ffffff20; background:#11161b; font-size:14px; }
.fm-games-page .fm-scene-selected { border-color:#8dd9c880; background:#19312e; color:#e2fff7; box-shadow:inset 3px 0 #8dd9c8; }
.fm-games-page .fm-scene-key { color:var(--svc-accent); font:12px/1 Consolas,monospace; }
.fm-games-page .fm-scene-check { margin-left:auto; color:#8dd9c8; }
.fm-games-page .fm-scene-feedback { padding:14px 16px; border-left:2px solid #8dd9c8; background:#8dd9c808; }
.fm-games-page .fm-scene-feedback p { margin-top:8px; font-size:13px; }
.fm-games-page .fm-scene-feedback .fm-svc-code { color:var(--svc-accent); }
.fm-games-page .fm-concept-explained .fm-concept-step { border-bottom:0; border-top:1px solid #ffffff20; padding:18px 0 0; }
.fm-games-page .fm-clan .fm-concept-explained .fm-concept-step h3 { font-size:24px; }
@media(max-width:767px) {
 .fm-games-page .fm-concept-explained .fm-concept-step { display:block; }
 .fm-games-page .fm-concept-explained { gap:18px; }
 .fm-games-page .fm-scene-clues { gap:8px; }
 .fm-games-page .fm-scene-clue { padding:12px; }
}

.fm-games-page .fm-clan svg.fm-scene-code { width:100%; height:auto; max-height:70px; }
@media(min-width:768px) {
 .fm-games-page .fm-svc-hero { align-items:start; }
 .fm-games-page .fm-svc-hero-copy { padding-top:24px; }
}
