/* FM-057: each service gets a compact, meaningful vector diagram. */
.fm-games-page .fm-sv-board { --diagram:#e2bc8b;position:relative;min-width:0;padding:24px;border:1px solid #665272;border-top:2px solid #b68cdb;color:var(--diagram);background:radial-gradient(ellipse at 50% 40%,#58367b26,transparent 70%),linear-gradient(#b88fe607 1px,transparent 1px),linear-gradient(90deg,#b88fe607 1px,transparent 1px),#16141e;background-size:auto,24px 24px,24px 24px,auto;box-shadow:inset 0 1px #e5cfff15,0 4px 0 #08090c; }
.fm-games-page .fm-sv-learning { --diagram:#9fdfcf; }
.fm-games-page .fm-sv-board::after { content:'';position:absolute;right:12px;top:12px;width:4px;height:4px;background:#d2adef;box-shadow:-7px 0 #9c74ba,-14px 0 #5a3e70;pointer-events:none; }
.fm-games-page .fm-sv-kicker { display:block;font:10px/1.6 Consolas,monospace;letter-spacing:.07em;text-transform:uppercase;color:var(--diagram);padding-right:16px; }
.fm-games-page .fm-clan .fm-sv-board h2 { color:#f2e9fb;font-size:29px;line-height:1.15;margin:10px 0 4px; }
.fm-games-page .fm-clan svg.fm-sv-art { display:block;width:100%;height:auto;max-height:210px;margin:10px 0 8px; }
.fm-games-page .fm-sv-legend { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:12px 0 0;margin:0;border-top:1px solid #8b6f9b55;list-style:none; }
.fm-games-page .fm-sv-legend-item { min-width:0;display:flex;flex-direction:column;gap:5px;font:12px/1.5 Consolas,monospace;color:#eee4fa; }
.fm-games-page .fm-sv-index { color:var(--diagram);font-size:10px; }
.fm-games-page .fm-sv-learning .fm-sv-legend { grid-template-columns:repeat(2,minmax(0,1fr)); }
.fm-games-page .fm-sv-learning .fm-sv-legend-item { flex-direction:row;align-items:baseline;gap:8px; }
.fm-games-page .fm-sv-learning .fm-sv-legend-item:nth-child(3) { grid-column:2;grid-row:2; }
.fm-games-page .fm-sv-learning .fm-sv-legend-item:nth-child(4) { grid-column:1;grid-row:2; }
.fm-games-page .fm-service .fm-sv-caption { margin-top:18px;color:#c5bdce;font-size:13px;line-height:1.65; }
.fm-games-page .fm-sv-board > .fm-textlink { margin-top:14px;min-height:36px; }
.fm-games-page .fm-clan svg.fm-sv-symbol { display:block;width:48px;height:48px;color:var(--svc-accent);padding:7px;border:1px solid #ac86cc55;background:linear-gradient(135deg,#65457c33,#18151f);box-shadow:inset 0 1px #ffffff0a;margin-bottom:14px; }
.fm-games-page .fm-sv-icon-card { position:relative; }
.fm-games-page .fm-learning-stage.fm-sv-icon-card > .fm-scenario-num { position:static;display:none; }
.fm-games-page .fm-learning-stage.fm-sv-icon-card:not(:last-child)::after { top:24px;left:62px; }
.fm-games-page .fm-sv-code { display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:20px;padding:14px 18px; }
.fm-games-page .fm-sv-code .fm-scene-code { max-width:180px;margin:0; }
.fm-games-page .fm-sv-code .fm-scene-caption { text-align:right; }
@media(min-width:768px) and (hover:hover) and (prefers-reduced-motion:no-preference) {
 .fm-games-page .fm-sv-board .fm-sv-art { transition:transform 220ms ease-out; }
 .fm-games-page .fm-sv-board:hover .fm-sv-art { transform:translateY(-3px); }
}
@media(min-width:768px) and (max-width:1023px) {
 .fm-games-page .fm-sv-board { padding:18px; }
 .fm-games-page .fm-sv-legend-item { font-size:11px; }
}
@media(max-width:767px) {
 .fm-games-page .fm-sv-board { padding:16px;box-shadow:none; }
 .fm-games-page .fm-clan .fm-sv-board h2 { font-size:25px;margin:8px 0 0; }
 .fm-games-page .fm-clan svg.fm-sv-art { max-height:132px;margin:4px 0; }
 .fm-games-page .fm-sv-legend { padding-top:9px;gap:6px; }
 .fm-games-page .fm-sv-legend-item { font-size:11px;gap:3px; }
 .fm-games-page .fm-service .fm-sv-caption { margin-top:12px;font-size:12px; }
 .fm-games-page .fm-sv-board > .fm-textlink { margin-top:7px;font-size:12px; }
 .fm-games-page .fm-clan svg.fm-sv-symbol { width:38px;height:38px;padding:5px;margin-bottom:10px; }
 .fm-games-page .fm-usecase.fm-sv-icon-card { padding-left:0; }
 .fm-games-page .fm-learning-stage.fm-sv-icon-card { padding-left:50px; }
 .fm-games-page .fm-learning-stage.fm-sv-icon-card > .fm-sv-symbol { position:absolute;left:0;top:0; }
 .fm-games-page .fm-learning-stage.fm-sv-icon-card:not(:last-child)::after { top:44px;left:18px; }
 .fm-games-page .fm-sv-code { display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px; }
 .fm-games-page .fm-sv-code .fm-scene-code { grid-column:2;grid-row:1 / 3;width:100%; }
 .fm-games-page .fm-sv-code .fm-scene-caption { grid-column:1;font-size:10px;text-align:left; }
}
@media(min-width:480px) and (max-width:767px) {
 .fm-games-page .fm-learning-stage.fm-sv-icon-card { padding-left:0; }
 .fm-games-page .fm-learning-stage.fm-sv-icon-card > .fm-sv-symbol { position:static; }
 .fm-games-page .fm-learning-stage.fm-sv-icon-card::after { display:none; }
}
@media(max-width:359px) {
 .fm-games-page .fm-sv-board { padding:13px; }
 .fm-games-page .fm-clan .fm-sv-board h2 { font-size:23px; }
 .fm-games-page .fm-sv-legend-item { font-size:10px; }
 .fm-games-page .fm-sv-kicker { font-size:9px; }
}

/* FM-058: concrete examples explain the mechanic without interactive controls. */
.fm-games-page .fm-sv-riddle { margin-top:22px; }
.fm-games-page .fm-sv-sources { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;position:relative;padding-bottom:20px; }
.fm-games-page .fm-sv-sources::after { content:'';position:absolute;left:25%;right:25%;height:12px;bottom:0;border:1px solid #ad86cc77;border-top:0;pointer-events:none; }
.fm-games-page .fm-sv-clue { display:grid;grid-template-columns:1fr 84px;align-items:center;gap:8px 12px;padding:16px 18px;border:1px solid #76608355;background:linear-gradient(120deg,#34263b55,transparent),#17141d; }
.fm-games-page .fm-sv-clue .fm-svc-code { grid-column:1; }
.fm-games-page .fm-clan svg.fm-sv-example-art { display:block;width:84px;height:63px;color:var(--svc-accent); }
.fm-games-page .fm-sv-clue .fm-sv-example-art { grid-row:1 / 3;grid-column:2; }
.fm-games-page .fm-service .fm-sv-clue p { font-size:14px;color:#eee3f4; }
.fm-games-page .fm-sv-riddle .fm-sv-code { position:relative;margin-top:18px; }
.fm-games-page .fm-sv-riddle .fm-sv-code::before { content:'';position:absolute;height:18px;left:50%;top:-19px;border-left:1px solid #ad86cc77;pointer-events:none; }
.fm-games-page .fm-sv-decisions { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:22px; }
.fm-games-page .fm-sv-choice { --choice:#e0bc8e;position:relative;min-width:0;padding:18px 20px;border:1px solid #76608366;border-top:2px solid var(--choice);background:linear-gradient(135deg,#3d2f2326,transparent),#17151c; }
.fm-games-page .fm-sv-approved { --choice:#a0decd;background:linear-gradient(135deg,#203c3426,transparent),#15191d; }
.fm-games-page .fm-sv-choice .fm-svc-code,.fm-games-page .fm-clan .fm-sv-choice svg { color:var(--choice); }
.fm-games-page .fm-clan .fm-sv-choice h3 { font-size:25px;margin:8px 0 12px; }
.fm-games-page .fm-sv-choice .fm-sv-example-art { margin:0 0 12px; }
.fm-games-page .fm-service .fm-sv-choice p { font-size:14px;line-height:1.6;color:#d4ccd9;max-width:31ch; }
@media(max-width:767px) {
 .fm-games-page .fm-sv-sources { gap:10px;padding-bottom:14px; }
 .fm-games-page .fm-sv-clue { display:flex;flex-direction:column;align-items:flex-start;gap:7px;padding:12px; }
 .fm-games-page .fm-service .fm-sv-clue p { font-size:12px;line-height:1.5; }
 .fm-games-page .fm-clan svg.fm-sv-example-art { width:64px;height:48px; }
 .fm-games-page .fm-sv-decisions { gap:10px; }
 .fm-games-page .fm-sv-choice { padding:12px; }
 .fm-games-page .fm-clan .fm-sv-choice h3 { font-size:20px;margin:8px 0 10px; }
 .fm-games-page .fm-service .fm-sv-choice p { font-size:12px; }
}
@media(max-width:359px) {
 .fm-games-page .fm-sv-choice { padding:10px 8px; }
 .fm-games-page .fm-clan .fm-sv-choice h3 { font-size:18px; }
 .fm-games-page .fm-sv-clue { padding:10px; }
}
