/* Assemble it right — home hero game. Scoped under .mfgame. */
.mfgame{--bg:#14151A;--bg2:#191B21;--bone:#E9E2D2;--mut:#9A948A;--gold:#D9A441;--gold2:#E8BE6A;--green:#7FB77E;--line:rgba(233,226,210,.14)}
.mfgame .game{background:var(--bg2);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.mfgame .stage{position:relative;height:46vh;min-height:330px}
.mfgame .stage canvas{width:100%!important;height:100%!important;display:block;touch-action:none;cursor:grab}
.mfgame .glow{position:absolute;inset:0;background:radial-gradient(ellipse at 45% 50%,rgba(217,164,65,.13),transparent 55%);pointer-events:none}
.mfgame .task{position:absolute;top:10px;left:10px;right:10px;display:flex;gap:6px;z-index:3;pointer-events:none;flex-wrap:wrap}
.mfgame .task .step{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;background:rgba(20,21,26,.75);backdrop-filter:blur(6px);border:1px solid var(--line);color:var(--mut);padding:6px 9px;border-radius:999px}
.mfgame .task .step.on{color:#2A1B06;background:var(--gold);border-color:var(--gold);font-weight:600}
.mfgame .task .step.done{color:var(--green);border-color:rgba(127,183,126,.5)}
.mfgame .hint{position:absolute;bottom:8px;right:10px;font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--mut);z-index:3}
.mfgame .fail{position:absolute;left:10px;right:10px;bottom:10px;z-index:3;display:none;background:rgba(196,87,77,.14);border:1px solid rgba(196,87,77,.6);border-radius:6px;padding:10px 12px;font-size:13px;line-height:1.45;color:#F2D9D6;backdrop-filter:blur(6px)}
.mfgame .fail.on{display:block}.fail b{color:#E8938B}.fail a{color:var(--gold2)}
.mfgame .ok{position:absolute;left:10px;right:10px;bottom:10px;z-index:3;display:none;background:rgba(127,183,126,.12);border:1px solid rgba(127,183,126,.55);border-radius:6px;padding:10px 12px;font-size:13px;line-height:1.45;color:#DCEBD9;backdrop-filter:blur(6px)}
.mfgame .ok.on{display:block}.ok b{color:var(--green)}
.mfgame .panel{padding:14px 16px 16px;border-top:1px solid var(--line)}
.mfgame .q{font-family:'IBM Plex Mono',monospace;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:8px}
.mfgame .q b{color:var(--bone);font-weight:500}
.mfgame .opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
.mfgame .opts button{text-align:left;background:var(--bg);border:1px solid var(--line);color:var(--bone);border-radius:6px;padding:10px 12px;cursor:pointer;font-family:'Archivo';font-size:13.5px;line-height:1.3}
.mfgame .opts button b{display:block;font-weight:600;color:var(--gold2);margin-bottom:2px}
.mfgame .opts button small{display:block;color:var(--mut);font-size:11.5px}
.mfgame .opts button:hover{border-color:var(--gold)}
.mfgame .opts button.pick{border-color:var(--gold);background:rgba(217,164,65,.1)}
.mfgame .gauge{display:none;align-items:center;gap:14px}
.mfgame .gauge.on{display:flex}
.mfgame .gauge svg{width:150px;height:90px;flex:0 0 auto}
.mfgame .gauge .t{font-size:13.5px;color:#dfe3e5;line-height:1.45}
.mfgame .gauge .t b{color:var(--gold2)}
.mfgame .cert{display:none;background:#fff;color:#111;border-radius:8px;padding:18px 20px;margin-top:14px;font-family:'Archivo',sans-serif}
.mfgame .cert.on{display:block}
.mfgame .cert h3{font-family:'Big Shoulders Display';font-weight:800;font-size:26px;text-transform:uppercase;color:#111;line-height:1;margin-bottom:4px}
.mfgame .cert .m{font-family:'IBM Plex Mono',monospace;font-size:10.5px;color:#444;letter-spacing:.06em;margin-bottom:10px}
.mfgame .cert table{width:100%;border-collapse:collapse;font-size:12px;margin:6px 0 10px}
.mfgame .cert th,.mfgame .cert td{border:1px solid #bbb;padding:5px 7px;text-align:left;vertical-align:top}
.mfgame .cert th{font-family:'IBM Plex Mono',monospace;font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;background:#f1efe9}
.mfgame .cert td.n{font-family:'IBM Plex Mono',monospace;white-space:nowrap}
.mfgame .cert h4{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#7a5a12;margin:10px 0 3px}
.mfgame .cert .src{font-size:10px;color:#555;line-height:1.5}
.mfgame .gcta{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.mfgame .gcta button,.mfgame .gcta a{font-family:'IBM Plex Mono',monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:10px 14px;border-radius:4px;border:1px solid var(--line);color:var(--bone);background:transparent;cursor:pointer;text-decoration:none}
.mfgame .gcta .gold{background:var(--gold);color:#2A1B06;border-color:var(--gold);font-weight:600}
.mfgame .cert .gcta button,.mfgame .cert .gcta a{border-color:#999;color:#111}.cert .gcta .gold{background:#D9A441;color:#2A1B06;border-color:#D9A441}
@media print{.mfgame{display:none!important}}
.mfgame .game{background:var(--bg2);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.mfgame-sec{padding:56px 0 30px}
.mfgame-sec .mfgame-head{max-width:760px;margin-bottom:18px}
.mfgame-sec .mfgame-head .lede{max-width:700px}
.mfgame-sec .mfgame{max-width:980px;margin:0 auto}

.mfgame .cert .gcta button,.mfgame .cert .gcta a{border-color:#999;color:#111;background:#fff}
.mfgame .cert .gcta .gold{background:#D9A441;color:#2A1B06;border-color:#D9A441}
