.fm{--fm-paper:#f6f3e9;--fm-ink:#18352e;--fm-green:#245b4b;--fm-orange:#b54723;--fm-line:#d8dbce;max-width:1320px;margin:0 auto;padding:28px 32px 60px;color:var(--fm-ink);font-family:system-ui,sans-serif;background:var(--fm-paper);border-radius:20px;line-height:1.6}.fm *{box-sizing:border-box}.fm [hidden]{display:none!important}.fm h1,.fm h2,.fm h3,.fm p{margin-top:0}.fm button,.fm select{font:inherit}.fm a,.fm button,.fm select{touch-action:manipulation}.fm button,.fm select{min-height:44px}.fm button{cursor:pointer}.fm button:disabled{cursor:default;opacity:.55}.fm a:focus-visible,.fm button:focus-visible,.fm select:focus-visible,.fm summary:focus-visible{outline:3px solid #c55327;outline-offset:4px}.fm a{color:var(--fm-green)}.fm-hero{display:grid;grid-template-columns:1.5fr 1fr;gap:32px;padding:10px 12px 30px}.fm-back{display:inline-block;font-size:.82rem;margin-bottom:22px;text-decoration:none}.fm-eyebrow{text-transform:uppercase;letter-spacing:.16em;font-size:.69rem;font-weight:800;margin:0 0 10px}.fm h1{font-family:Georgia,serif;font-size:clamp(2.7rem,5.7vw,5rem);font-weight:500;line-height:1.04;letter-spacing:-.045em;position:relative;margin-bottom:20px}.fm h1 em{color:var(--fm-orange);font-weight:500}.fm-spark{display:inline-block;vertical-align:top;font-family:system-ui,sans-serif;font-size:3rem;color:var(--fm-orange);margin-left:18px}.fm-lead{font-size:1.02rem;line-height:1.65}.fm-intro{align-self:center;justify-self:end;max-width:300px;padding:20px;border-left:1px solid var(--fm-line);font-size:.9rem}.fm-stamp{display:block;color:var(--fm-green);font-size:72px;line-height:1;margin-bottom:20px}.fm-intro ul{list-style:none;padding:0;font-size:.78rem}.fm-intro li{padding:5px 0;border-top:1px solid var(--fm-line)}.fm-tabs{display:flex;border-top:1px solid var(--fm-line);border-bottom:1px solid var(--fm-line);margin-bottom:24px;gap:10px;padding:10px 0}.fm-tabs button{border:0;background:0 0;color:var(--fm-ink);padding:12px 20px;border-radius:6px;font-weight:700;flex:1;text-align:left}.fm-tabs button span{font:italic 1rem Georgia,serif;opacity:.75;margin-right:10px}.fm-tabs button[aria-pressed=true]{background:var(--fm-green);color:#fff}.fm-workshop{display:grid;grid-template-columns:minmax(0,1fr) 282px;gap:22px}.fm-bench{padding:0;min-width:0;border:1px solid var(--fm-line);border-radius:10px;overflow:hidden;background:#fffdf6}.fm-bench-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:22px 24px 4px}.fm h2{font-family:Georgia,serif;font-size:1.65rem;font-weight:500;line-height:1.2;margin-bottom:12px}.fm-live{font-size:.72rem;white-space:nowrap;padding:5px 9px;border:1px solid var(--fm-line);border-radius:20px}.fm-live[data-running=true]{background:#d1efce;color:#18352e}.fm-instructions{font-size:.85rem;padding:0 24px;margin-bottom:18px}.fm-stage{position:relative;background:#18352e;color:#f5e3b1;background-image:radial-gradient(#789c875c 1px,transparent 1px);background-size:22px 22px;padding:8px 12px 26px}.fm-stage svg{display:block;width:100%;height:auto;min-height:195px;max-height:350px;overflow:visible}.fm-stage-caption{position:absolute;bottom:8px;left:18px;right:18px;display:flex;justify-content:space-between;font-size:.52rem;font-weight:700;letter-spacing:.15em;color:#c7d4ba}.fm-stage svg text{font-family:system-ui,sans-serif;fill:#f4edda}.fm-transport{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:20px 20px 8px}.fm-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #b8c5b6;background:0 0;border-radius:5px;color:var(--fm-ink);padding:10px 13px;font-size:.8rem;font-weight:700;line-height:1.4}.fm-btn:hover{background:#e6ebdf}.fm-btn-primary{background:var(--fm-orange);color:#fff;border-color:var(--fm-orange)}.fm-btn-primary:hover{background:#8e3518}.fm-btn-quiet{border-color:transparent}.fm-speed{display:flex;align-items:center;gap:8px;font-size:.72rem;flex-wrap:wrap}.fm select{border:1px solid #a4b5a1;border-radius:5px;background:#fffdf6;color:var(--fm-ink);padding:8px;max-width:100%}.fm-small{font-size:.73rem;color:#4a6251;line-height:1.6}.fm-bench>.fm-small{padding:0 22px}.fm-observations{margin:14px 20px 20px;display:grid;grid-template-columns:1fr 1fr;gap:12px}.fm-observation{border-top:2px solid #b9c9b4;padding-top:12px;font-size:.8rem}.fm-observation strong{font-size:1.15rem;display:block;margin-bottom:5px}.fm-observation p{margin:0}.fm-parts{border:1px solid var(--fm-line);border-radius:10px;padding:24px 20px;background:#edeedc}.fm-parts h2{font-size:1.55rem;margin-bottom:22px}.fm-parts h3{font-family:inherit;font-size:.85rem;margin:20px 0 8px}.fm-slots{display:grid;grid-template-columns:1fr 1fr;gap:6px}.fm-slot{border:1px solid #b5c3aa;border-radius:5px;background:#f8f8ed;padding:9px 5px;text-align:left;color:var(--fm-ink);font-size:.75rem;min-height:58px!important}.fm-slot span,.fm-slot strong{display:block}.fm-slot[aria-pressed=true]{border:2px solid var(--fm-green);background:#dce8d2;padding:8px 4px}.fm-palette{display:grid;gap:7px}.fm-piece{display:flex;gap:12px;align-items:center;background:#fffdf6;border:1px solid #bcc8b1;border-radius:6px;padding:10px;color:var(--fm-ink);text-align:left}.fm-piece:hover{border-color:var(--fm-orange);background:#fff5df}.fm-piece svg{width:38px;height:38px;flex-shrink:0}.fm-piece small,.fm-piece strong{display:block}.fm-piece strong{font-size:.8rem}.fm-piece small{font-size:.7rem}.fm-remove{margin-top:8px;width:100%}.fm-field{display:block;font-size:.8rem;margin:16px 0}.fm-field select{display:block;width:100%;margin-top:5px}.fm-toggle{display:flex;align-items:center;gap:10px;min-height:44px;font-size:.8rem}.fm-toggle input{width:22px;height:22px;accent-color:var(--fm-green)}.fm-mission{margin-top:26px;background:#e3e9d7;border-radius:10px;padding:26px;position:relative}.fm-mission-heading{display:flex;justify-content:space-between;align-items:center;gap:16px}.fm-mission label{font-size:.8rem;display:block;margin:8px 0}.fm-mission select{width:min(100%,540px)}.fm-progress{font-size:.78rem;background:#fffdf6;border-radius:20px;padding:6px 12px;white-space:nowrap}.fm-mission #fm-mission-body,.fm-mission-body{margin-top:18px;max-width:750px;font-size:.9rem}.fm-mission h3{font-size:1.05rem;margin-bottom:6px}.fm-mission details{margin:14px 0}.fm-mission summary{font-size:.82rem;cursor:pointer;min-height:44px;display:flex;align-items:center}.fm-feedback{font-size:.88rem;margin:10px 0 0;min-height:1.6em;font-weight:600}.fm-feedback[data-success=true]{color:#235625}.fm-notebook{display:grid;grid-template-columns:1fr 1fr;gap:50px;padding:40px 14px 20px;border-bottom:1px solid var(--fm-line)}.fm-notebook li,.fm-notebook p{font-size:.88rem}.fm-notebook ol{padding-left:22px;margin:0}.fm-notebook li{padding:0 0 20px 12px}.fm-teacher{margin:26px 12px 0;font-size:.85rem}.fm-teacher summary{cursor:pointer;font-weight:700;min-height:44px}.fm-teacher p{max-width:960px}.fm-notice{background:#fff0b8;padding:20px}.fm-print-only{display:none}.fm svg .fm-rotor{transform-box:view-box}.fm-stage svg .fm-arrow{fill:#ffcb6b}.fm-stage svg .fm-axle{fill:#18352e;stroke:#dfdfc6;stroke-width:2}.fm-stage svg .fm-link{stroke:#8bac98;stroke-width:2;stroke-dasharray:4 6}.fm-stage svg .fm-belt{stroke:#f0dca9;stroke-width:7;fill:none}.fm-stage svg .fm-belt-mark{stroke:#d37346;stroke-width:7;fill:none;stroke-dasharray:14 18}.dark-mode .fm,[data-theme=dark] .fm{--fm-paper:#182b25;--fm-ink:#f1efda;--fm-green:#b5dac2;--fm-orange:#ef9b71;--fm-line:#49634f}.dark-mode .fm-bench,[data-theme=dark] .fm-bench{background:#233b30}.dark-mode .fm-mission,.dark-mode .fm-parts,[data-theme=dark] .fm-mission,[data-theme=dark] .fm-parts{background:#294133}.dark-mode .fm select,.dark-mode .fm-piece,.dark-mode .fm-progress,.dark-mode .fm-slot,[data-theme=dark] .fm select,[data-theme=dark] .fm-piece,[data-theme=dark] .fm-progress,[data-theme=dark] .fm-slot{background:#1c3128;color:#f1efda}.dark-mode .fm-slot[aria-pressed=true],[data-theme=dark] .fm-slot[aria-pressed=true]{background:#3c5542}.dark-mode .fm-small,[data-theme=dark] .fm-small{color:#c0d1bd}.dark-mode .fm-tabs button[aria-pressed=true],[data-theme=dark] .fm-tabs button[aria-pressed=true]{color:#18352e}.dark-mode .fm-btn-primary,[data-theme=dark] .fm-btn-primary{color:#18352e}.dark-mode .fm-btn:hover,[data-theme=dark] .fm-btn:hover{background:#466044}.dark-mode .fm-piece:hover,[data-theme=dark] .fm-piece:hover{background:#3c5542}.dark-mode .fm-feedback[data-success=true],[data-theme=dark] .fm-feedback[data-success=true]{color:#c2eeaa}@media(max-width:950px){.fm{padding:22px 20px}.fm-workshop{grid-template-columns:minmax(0,1fr) 240px}.fm-parts{padding:20px 14px}.fm-tabs button{padding:10px}.fm-tabs button span{margin-right:4px}.fm-observations{grid-template-columns:1fr}.fm-hero{grid-template-columns:1.4fr 1fr;gap:16px}}@media(max-width:700px){.fm{padding:18px 12px 32px;border-radius:8px}.fm-hero{grid-template-columns:1fr;padding:0 6px 20px;gap:0}.fm-intro{display:none}.fm h1{font-size:3.1rem}.fm-spark{font-size:2rem}.fm-back{margin-bottom:14px}.fm-lead{font-size:.9rem;margin-bottom:0}.fm-tabs{gap:3px}.fm-tabs button{font-size:.75rem;padding:8px 5px;text-align:center}.fm-tabs button span{display:block;font-size:.8rem}.fm-workshop{grid-template-columns:1fr;gap:14px}.fm-bench-heading{padding:18px 14px 0}.fm h2{font-size:1.45rem}.fm-instructions{padding:0 14px;font-size:.78rem}.fm-stage{padding:0 4px 28px}.fm-stage svg{min-height:175px}.fm-stage-caption{font-size:.42rem;left:10px;right:10px}.fm-transport{padding:14px 12px 8px}.fm-btn{font-size:.75rem;padding:10px}.fm-bench>.fm-small{padding:0 14px}.fm-observations{margin:10px 14px 16px;gap:14px}.fm-observation strong{font-size:1rem}.fm-parts{padding:18px 14px}.fm-parts h2{margin-bottom:14px}.fm-slots{grid-template-columns:repeat(4,minmax(0,1fr))}.fm-slot{font-size:.68rem;overflow-wrap:anywhere}.fm-palette{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.fm-piece{display:block;text-align:center;padding:8px 4px;min-width:0}.fm-piece svg{width:30px;height:30px}.fm-piece strong{font-size:.72rem}.fm-piece small{font-size:.64rem}.fm-field{display:inline-block;width:calc(50% - 6px);margin-right:5px;vertical-align:top}.fm-mission{padding:20px 14px;margin-top:18px}.fm-mission-heading{align-items:flex-start}.fm-progress{font-size:.65rem;padding:5px 8px}.fm-notebook{grid-template-columns:1fr;gap:20px;padding:28px 6px 10px}.fm-notebook ol{margin-left:0}.fm-teacher{margin:20px 6px 0}}@media print{@page{size:A4;margin:14mm}body *{visibility:hidden!important}.fm,.fm *{visibility:visible!important}.fm{position:absolute;left:0;top:0;background:#fff!important;color:#000!important;padding:0;max-width:none;width:100%;font-size:10pt}.fm-hero{display:block;padding:0}.fm h1{font-size:25pt;line-height:1.1}.fm h1 br{display:none}.fm-back,.fm-bench>.fm-small,.fm-eyebrow,.fm-intro,.fm-lead,.fm-live,.fm-mission,.fm-notebook,.fm-parts,.fm-spark,.fm-stage-caption,.fm-tabs,.fm-teacher,.fm-transport{display:none!important}.fm-workshop{display:block}.fm-stage{print-color-adjust:exact;-webkit-print-color-adjust:exact}.fm-stage svg{max-height:280px}.fm-bench{border:1px solid #555;break-inside:avoid}.fm-bench-heading{padding:12px}.fm-observations{grid-template-columns:1fr 1fr}.fm-print-only{display:block;margin:20px 0}.fm-print-only p{margin:18px 0}}