:root{--gmf-navy:#08264d;--gmf-blue:#0868dc;--gmf-green:#15934b;--gmf-gold:#e5a514;--gmf-cream:#fffaf0}
.gmf-session-gate{position:fixed;inset:0;z-index:9999;overflow:auto;background:rgba(3,15,31,.94);padding:24px;display:grid;place-items:center;color:#17324f;font-family:Inter,system-ui,sans-serif}
.gmf-session-gate[hidden]{display:none}.gmf-session-card{width:min(820px,100%);background:#fff;border-radius:24px;padding:clamp(24px,5vw,44px);box-shadow:0 30px 80px #0008}
.gmf-session-kicker{margin:0 0 8px;color:var(--gmf-green);font-weight:900;text-transform:uppercase;letter-spacing:.12em;font-size:.78rem}.gmf-session-card h2{margin:0 0 12px;color:var(--gmf-navy);font-size:clamp(1.8rem,4vw,2.65rem);line-height:1.08}.gmf-session-lead{font-size:1.05rem;line-height:1.6;margin:0 0 20px}.gmf-session-objective{background:#eef7ff;border-left:5px solid var(--gmf-blue);border-radius:0 14px 14px 0;padding:16px 18px;margin:18px 0}.gmf-session-objective strong{display:block;color:var(--gmf-navy);margin-bottom:4px}.gmf-four-fs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0}.gmf-f{padding:12px;border:1px solid #d7e2ec;border-radius:12px;background:#fffaf0;font-size:.84rem}.gmf-f strong{display:block;color:var(--gmf-navy);font-size:.95rem}.gmf-session-line{font-weight:900;color:var(--gmf-navy);margin:18px 0}.gmf-session-start{width:100%;border:0;border-radius:999px;padding:14px 20px;background:var(--gmf-green);color:#fff;font:900 1rem/1.2 Inter,system-ui;cursor:pointer}.gmf-session-note{text-align:center;color:#62748a;font-size:.83rem;margin:10px 0 0}
.gmf-reflection{margin-top:22px;padding:22px;background:#fff;border:2px solid #2dd4bf;border-radius:16px;color:#17324f;text-align:left}.gmf-reflection h3{color:var(--gmf-navy);margin:0 0 7px;font-size:1.3rem}.gmf-reflection>p{margin:0 0 15px;color:#52677d}.gmf-reflection label{display:block;font-weight:850;color:var(--gmf-navy);margin:14px 0 6px}.gmf-reflection select,.gmf-reflection input,.gmf-reflection textarea{width:100%;padding:11px 12px;border:2px solid #c9d8e5;border-radius:10px;font:inherit;color:#17324f;background:#fff}.gmf-reflection textarea{min-height:74px;resize:vertical}.gmf-reflection-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.gmf-reflection button,.gmf-reflection a{border:0;border-radius:999px;padding:11px 16px;background:var(--gmf-blue);color:#fff;text-decoration:none;font-weight:900;cursor:pointer}.gmf-reflection .gmf-save{background:var(--gmf-green)}.gmf-reflection-status{font-weight:850;color:var(--gmf-green);min-height:1.4em;margin-top:10px}
.gmf-progression{margin:24px 0 36px;padding:28px;border-radius:20px;background:linear-gradient(135deg,#eef7ff,#fffaf0);border:1px solid #d7e2ec}.gmf-progression h2{margin:0 0 7px}.gmf-progression>p{color:#566b82;margin:0 0 20px}.gmf-levels{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.gmf-level{background:#fff;border:1px solid #d7e2ec;border-radius:14px;padding:15px}.gmf-level b{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--gmf-gold);color:var(--gmf-navy);margin-bottom:9px}.gmf-level strong{display:block;color:var(--gmf-navy);font-size:.92rem}.gmf-level span{display:block;color:#617387;font-size:.78rem;line-height:1.45;margin-top:5px}
@media(max-width:760px){.gmf-four-fs{grid-template-columns:1fr 1fr}.gmf-levels{grid-template-columns:1fr 1fr}.gmf-level:last-child{grid-column:1/-1}}@media(max-width:440px){.gmf-four-fs,.gmf-levels{grid-template-columns:1fr}.gmf-level:last-child{grid-column:auto}}
