:root{
 --fd-paper:#f4efe3;--fd-paper2:#fffdf8;--fd-ink:#1e2925;--fd-green:#25483f;--fd-sage:#80a78f;--fd-terr:#d86f4c;
 --fd-yellow:#eabf52;--fd-blue:#4f7b91;--fd-line:#d9d0c2;--fd-muted:#6d7873;--fd-shadow:#d9d0c2;
 --fd-sans:"DM Sans",system-ui,sans-serif;--fd-display:"Libre Franklin",system-ui,sans-serif;--fd-mono:"IBM Plex Mono",ui-monospace,monospace
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--fd-paper);color:var(--fd-ink);font-family:var(--fd-sans)}button,input,select,textarea{font:inherit}button{cursor:pointer}
.fd-grid{background-image:linear-gradient(rgba(37,72,63,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(37,72,63,.055) 1px,transparent 1px);background-size:24px 24px}
.fd-nav{position:sticky;top:0;z-index:50;border-bottom:1px solid var(--fd-line);background:rgba(247,243,234,.95);backdrop-filter:blur(14px)}.fd-nav-inner{max-width:1380px;margin:auto;padding:11px 22px;display:flex;align-items:center;gap:18px}
.fd-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit}.fd-logo{width:39px;height:39px;border-radius:10px;background:var(--fd-green);color:#fff;display:grid;place-items:center;font:900 13px var(--fd-display);box-shadow:4px 4px 0 var(--fd-yellow)}.fd-brand b{display:block;font:800 13px var(--fd-display);color:var(--fd-green)}.fd-brand small{display:block;color:#7a8580;font-size:9.5px}
.fd-links{display:flex;gap:3px;margin-left:auto}.fd-link,.fd-back{border:0;background:transparent;border-radius:8px;padding:8px 10px;color:#58645f;font-size:11.5px;font-weight:800}.fd-link:hover,.fd-link.active{background:#fff;color:var(--fd-green);box-shadow:2px 2px 0 #ddd4c6}.fd-back{border:1px solid var(--fd-line);background:#fff;color:var(--fd-green)}
.fd-shell{max-width:1380px;margin:auto;padding:0 22px 70px}.fd-kicker,.fd-mini{font:700 9px var(--fd-mono);text-transform:uppercase;letter-spacing:.11em;color:var(--fd-terr)}
.fd-hero{margin-top:22px;display:grid;grid-template-columns:minmax(0,1.03fr) minmax(440px,.97fr);min-height:500px;border:1px solid var(--fd-line);border-radius:20px;background:var(--fd-paper2);overflow:hidden;box-shadow:8px 8px 0 var(--fd-shadow)}.fd-hero-copy{padding:46px 48px}.fd-hero h1{max-width:760px;margin:13px 0 14px;font:900 clamp(46px,6.5vw,86px)/.91 var(--fd-display);letter-spacing:-.06em;color:var(--fd-green)}.fd-hero h1 em{font-style:normal;color:var(--fd-terr)}.fd-hero p{max-width:670px;color:#5f6c67;font-size:14px;line-height:1.65}.fd-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:22px}
.fd-btn{border:1px solid var(--fd-line);background:#fff;color:var(--fd-green);border-radius:9px;padding:10px 13px;font-size:11px;font-weight:800;box-shadow:2px 2px 0 #d8cec0}.fd-btn.primary{background:var(--fd-green);border-color:var(--fd-green);color:#fff}.fd-btn.yellow{background:var(--fd-yellow);border-color:#c99d36;color:#2d332e}.fd-btn.terr{background:var(--fd-terr);border-color:#b95a40;color:#fff}
.fd-hero-board{position:relative;min-height:500px;background:radial-gradient(circle at 75% 18%,#446b60 0,#25483f 47%,#162b26 100%);overflow:hidden}.fd-hero-board canvas{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity .7s}.fd-hero-board.is-ready canvas,.fd-hero-board.has-live-hero canvas{opacity:1}.fd-hero-fallback{position:absolute;inset:0;padding:36px;display:grid;place-items:center;transition:opacity .4s}.fd-hero-board.is-ready .fd-hero-fallback,.fd-hero-board.has-live-hero .fd-hero-fallback{opacity:0}.fd-hero-plate{width:290px;height:220px;border-radius:50%;background:#f5efe4;border:14px solid #dbe3dd;box-shadow:16px 18px 0 rgba(0,0,0,.13);position:relative}.fd-hero-plate:before,.fd-hero-plate:after{content:"";position:absolute;border-radius:50%}.fd-hero-plate:before{width:100px;height:100px;background:#d86f4c;left:30px;top:42px}.fd-hero-plate:after{width:78px;height:78px;background:#80a78f;right:32px;bottom:32px}.fd-hero-label{position:absolute;left:20px;right:20px;bottom:18px;color:#fff;display:flex;justify-content:space-between;gap:18px;font-size:10px}.fd-hero-label span{font:700 9px var(--fd-mono);letter-spacing:.12em;color:#b8d1c6}
.fd-progress{max-width:560px;margin-top:21px;display:grid;gap:7px}.fd-progress>div{display:flex;justify-content:space-between;color:#78827d;font-size:10.5px}.fd-progress>div b{color:var(--fd-green)}.fd-progress>i{height:7px;background:#e4dcd0;border-radius:999px;overflow:hidden}.fd-progress>i span{display:block;height:100%;background:linear-gradient(90deg,var(--fd-sage),var(--fd-terr));border-radius:inherit}
.fd-route{margin:18px 0 24px;padding:18px 20px;border:1px solid #cbd9d2;border-radius:14px;background:linear-gradient(135deg,#edf6f1,#fffdf8 72%);display:flex;justify-content:space-between;align-items:center;gap:20px;box-shadow:5px 5px 0 var(--fd-shadow)}.fd-route h2{margin:4px 0;font:900 21px var(--fd-display);letter-spacing:-.035em;color:var(--fd-green)}.fd-route p{margin:4px 0 0;color:#63716b;font-size:11px;line-height:1.55;max-width:760px}.fd-route .fd-actions{margin:0;flex:0 0 auto}
.fd-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:18px 0 36px}.fd-stat{background:#fff;border:1px solid var(--fd-line);border-radius:12px;padding:16px;box-shadow:4px 4px 0 #ded5c8}.fd-stat b{display:block;font:900 26px var(--fd-display);color:var(--fd-green)}.fd-stat span{display:block;margin-top:2px;color:#728079;font-size:10.5px}
.fd-section{margin:38px 0}.fd-section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:14px}.fd-section-head h2{margin:5px 0 0;font:900 30px var(--fd-display);letter-spacing:-.04em;color:var(--fd-green)}.fd-section-head p{max-width:620px;margin:0;color:#6a7771;font-size:11.5px;line-height:1.55}
.fd-module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.fd-module{position:relative;min-height:310px;background:#fff;border:1px solid var(--fd-line);border-radius:15px;overflow:hidden;padding:0 17px 17px;box-shadow:6px 6px 0 var(--fd-shadow);transition:.16s}.fd-module:hover{transform:translate(-2px,-2px);box-shadow:9px 9px 0 var(--fd-shadow)}.fd-module-visual{height:126px;margin:0 -17px 12px;border-bottom:1px solid var(--fd-line);background:#f4f0e8;overflow:hidden}.fd-module-top{display:flex;justify-content:space-between;gap:10px}.fd-module-no{font:700 10px var(--fd-mono);color:var(--fd-terr)}.fd-aos{display:flex;gap:4px}.fd-ao{border:1px solid var(--fd-line);background:#f8f5ee;border-radius:999px;padding:4px 6px;font:700 8px var(--fd-mono);color:#6c7771}.fd-module h3{margin:14px 0 6px;font:900 19px/1.08 var(--fd-display);color:var(--fd-green);letter-spacing:-.025em}.fd-module p{margin:0;color:#69766f;font-size:11px;line-height:1.5}.fd-module-foot{position:absolute;left:17px;right:17px;bottom:14px;border-top:1px dashed #ded5c8;padding-top:10px;display:flex;justify-content:space-between;font-size:9.5px;color:#78837d}.fd-module-foot button{border:0;background:none;color:var(--fd-terr);font-weight:800}.fd-done{display:inline-block;width:8px;height:8px;border-radius:50%;background:#ddd4c7}.fd-module.complete .fd-done{background:var(--fd-sage)}
.fd-thumb{height:100%;position:relative;overflow:hidden}.fd-thumb-nutrition{background:#eff4ef;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:18px}.fd-thumb-nutrition i{border-radius:50%;background:#80a78f}.fd-thumb-nutrition i:nth-child(2){background:#eabf52}.fd-thumb-nutrition i:nth-child(3){background:#d86f4c}.fd-thumb-nutrition b{position:absolute;left:15px;bottom:9px;font:800 10px var(--fd-mono);color:var(--fd-green)}
.fd-thumb-energy{background:#25483f;color:#fff;padding:16px}.fd-thumb-energy b{font:900 32px var(--fd-display)}.fd-thumb-energy i{position:absolute;left:16px;bottom:18px;width:70%;height:12px;border-radius:99px;background:#80a78f;box-shadow:34px -25px 0 #eabf52,72px -50px 0 #d86f4c}
.fd-thumb-heat{background:#172a26}.fd-thumb-heat:before{content:"";position:absolute;width:90px;height:34px;border-radius:50%;background:#586268;left:calc(50% - 45px);top:48px;box-shadow:0 10px 0 #2d3538}.fd-thumb-heat i{position:absolute;width:9px;height:48px;background:#d86f4c;bottom:18px;border-radius:9px}.fd-thumb-heat i:nth-child(1){left:39%}.fd-thumb-heat i:nth-child(2){left:49%;height:62px}.fd-thumb-heat i:nth-child(3){left:59%;height:42px}
.fd-thumb-science{background:#f2eadf;display:flex;align-items:center;justify-content:center;gap:11px}.fd-thumb-science i{width:50px;height:50px;border-radius:50%;border:9px solid #25483f}.fd-thumb-science i:nth-child(2){border-color:#d86f4c;transform:scale(.75)}.fd-thumb-science b{position:absolute;right:15px;bottom:9px;font:800 9px var(--fd-mono)}
.fd-thumb-safety{background:#dfe9e6}.fd-thumb-safety:before{content:"FRIDGE";position:absolute;left:20px;top:16px;width:72px;height:84px;background:#fff;border:4px solid #25483f;border-radius:6px;display:grid;place-items:center;font:800 9px var(--fd-mono);color:#25483f}.fd-thumb-safety b{position:absolute;right:18px;top:23px;font:900 34px var(--fd-display);color:#25483f}.fd-thumb-safety span{position:absolute;right:18px;bottom:18px;color:#d86f4c;font-weight:900}
.fd-thumb-sensory{background:#fff}.fd-thumb-sensory i{position:absolute;left:50%;top:50%;width:76px;height:76px;border-radius:50%;border:2px solid #80a78f;transform:translate(-50%,-50%)}.fd-thumb-sensory i:before,.fd-thumb-sensory i:after{content:"";position:absolute;inset:13px;border:2px solid #d86f4c;border-radius:50%}.fd-thumb-sensory i:after{inset:27px;border-color:#eabf52}.fd-thumb-sensory b{position:absolute;left:15px;top:12px;color:#25483f}
.fd-thumb-provenance{background:#dfe9df}.fd-thumb-provenance:before{content:"";position:absolute;width:88px;height:88px;border-radius:50% 50% 45% 55%;background:#80a78f;left:32px;top:17px}.fd-thumb-provenance:after{content:"";position:absolute;width:38px;height:74px;background:#8a633f;left:57px;top:47px;clip-path:polygon(40% 0,60% 0,62% 100%,38% 100%)}.fd-thumb-provenance b{position:absolute;right:15px;bottom:12px;color:#25483f}
.fd-thumb-plan{background:#f2eadf;padding:14px}.fd-thumb-plan i{display:block;height:13px;background:#d3cbc0;margin-bottom:8px}.fd-thumb-plan i:nth-child(2){width:78%;background:#80a78f}.fd-thumb-plan i:nth-child(3){width:52%;background:#d86f4c}.fd-thumb-plan b{font:800 10px var(--fd-mono);color:#25483f}
.fd-thumb-nea{background:#25483f;display:grid;grid-template-columns:1fr 1fr}.fd-thumb-nea div{padding:16px;color:#fff}.fd-thumb-nea div:first-child{background:#4f7b91}.fd-thumb-nea b{display:block;font:900 26px var(--fd-display)}.fd-thumb-nea span{font-size:9px}
.fd-labs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.fd-lab-card{min-height:190px;border-radius:15px;padding:18px;color:#fff;position:relative;overflow:hidden;box-shadow:6px 6px 0 var(--fd-shadow)}.fd-lab-card:nth-child(3n+1){background:var(--fd-green)}.fd-lab-card:nth-child(3n+2){background:var(--fd-terr)}.fd-lab-card:nth-child(3n){background:var(--fd-blue)}.fd-lab-card b{font:900 22px var(--fd-display)}.fd-lab-card p{font-size:11px;line-height:1.5;opacity:.9}.fd-lab-card button{position:absolute;left:18px;bottom:17px;border:1px solid rgba(255,255,255,.35);background:rgba(255,255,255,.12);border-radius:8px;padding:8px 10px;color:#fff;font-size:10px;font-weight:800}
.fd-course{display:grid;grid-template-columns:260px minmax(0,1fr);gap:16px;padding-top:20px}.fd-side{position:sticky;top:76px;align-self:start;background:#fff;border:1px solid var(--fd-line);border-radius:15px;padding:12px;box-shadow:5px 5px 0 var(--fd-shadow);max-height:calc(100vh - 95px);overflow:auto}.fd-side-head{padding:8px;border-bottom:1px solid var(--fd-line);margin-bottom:6px}.fd-side-head b{display:block;color:var(--fd-green);font:900 15px var(--fd-display)}.fd-side-head small{color:#78827d}.fd-side button{width:100%;border:0;background:none;text-align:left;padding:8px;border-radius:8px;color:#64716a;font-size:10px;font-weight:700}.fd-side button.active{background:#f0ece3;color:var(--fd-green)}
.fd-course-main{min-width:0}.fd-course-hero,.fd-panel{background:#fff;border:1px solid var(--fd-line);border-radius:16px;padding:24px;box-shadow:6px 6px 0 var(--fd-shadow)}.fd-course-hero h1{margin:7px 0 6px;font:900 37px var(--fd-display);letter-spacing:-.04em;color:var(--fd-green)}.fd-course-hero p{max-width:820px;color:#637068;line-height:1.6}.fd-tabs{display:flex;gap:5px;flex-wrap:wrap;margin:15px 0}.fd-tab{border:1px solid var(--fd-line);background:#fff;border-radius:8px;padding:8px 10px;font-size:10px;font-weight:800;color:#67746e}.fd-tab.active{background:var(--fd-green);color:#fff;border-color:var(--fd-green)}
.fd-panel h2{margin:0 0 9px;font:900 24px var(--fd-display);color:var(--fd-green)}.fd-panel p,.fd-panel li{color:#64716a;font-size:12px;line-height:1.62}.fd-panel ul{padding-left:19px}.fd-example{margin:14px 0;border-left:4px solid var(--fd-yellow);background:#faf6ec;padding:12px;border-radius:0 10px 10px 0}.fd-example b{color:var(--fd-green)}
.fd-check{display:grid;gap:8px}.fd-q{border:1px solid var(--fd-line);border-radius:11px;padding:13px;background:#fff}.fd-q strong{display:block;color:var(--fd-green);margin-bottom:8px}.fd-options{display:grid;gap:6px}.fd-options button{border:1px solid #dcd4c8;background:#faf8f3;border-radius:8px;padding:8px 10px;text-align:left;color:#4f5c56;font-size:11px}.fd-options button.correct{background:#edf7f0;border-color:#78b693}.fd-options button.wrong{background:#fff0ed;border-color:#dc9387}.fd-feedback{margin-top:7px;font-size:10.5px;color:#69766f}
.fd-playground{display:grid;grid-template-columns:280px 1fr;gap:14px}.fd-controls{border:1px solid var(--fd-line);border-radius:12px;padding:13px;background:#f8f4eb}.fd-control{display:block;margin-bottom:12px}.fd-control span{display:flex;justify-content:space-between;margin-bottom:5px;font-size:9px;text-transform:uppercase;letter-spacing:.07em;font-weight:800;color:#69756f}.fd-control input,.fd-control select{width:100%}.fd-canvas{min-height:410px;border:1px solid var(--fd-line);border-radius:12px;background:#fff;display:grid;place-items:center;padding:24px;overflow:hidden}
.fd-bars{width:min(540px,96%);display:grid;gap:12px}.fd-bar{display:grid;grid-template-columns:100px 1fr 46px;gap:10px;align-items:center}.fd-bar>span{font-size:10px;font-weight:800;color:#52615a}.fd-bar i{height:20px;background:#e5ded3;border-radius:999px;overflow:hidden}.fd-bar i b{display:block;height:100%;border-radius:999px;background:var(--fd-sage)}.fd-bar:nth-child(2) i b{background:var(--fd-yellow)}.fd-bar:nth-child(3) i b{background:var(--fd-terr)}.fd-bar>output{font:700 10px var(--fd-mono);color:#65716b}
.fd-heat-demo{width:min(540px,96%);height:320px;position:relative;background:#1e2925;border-radius:12px;overflow:hidden}.fd-pan{position:absolute;left:50%;top:42%;width:210px;height:78px;border-radius:50%;background:#5e686b;transform:translate(-50%,-50%);box-shadow:0 16px 0 #30383b}.fd-heat-source{position:absolute;left:50%;bottom:32px;width:170px;height:22px;border-radius:50%;background:#d86f4c;transform:translateX(-50%);filter:blur(1px);box-shadow:0 0 40px #d86f4c}.fd-arrow{position:absolute;width:8px;height:66px;background:#f0bc55;border-radius:8px;bottom:68px;animation:fdHeat 1.4s ease-in-out infinite alternate}.fd-arrow.a{left:42%}.fd-arrow.b{left:49%;animation-delay:.2s}.fd-arrow.c{left:56%;animation-delay:.4s}.fd-heat-label{position:absolute;left:20px;top:18px;color:#fff;font:800 11px var(--fd-mono)}@keyframes fdHeat{to{transform:translateY(-16px);opacity:.45}}
.fd-science-stage{width:min(560px,96%);min-height:350px;display:grid;place-items:center;position:relative}.fd-beaker{width:220px;height:220px;border:8px solid #8ba0a5;border-top:0;border-radius:0 0 34px 34px;position:relative;overflow:hidden}.fd-liquid{position:absolute;left:0;right:0;bottom:0;height:58%;background:#e7d1a7;transition:.3s}.fd-science-stage[data-proc="protein"] .fd-liquid{background:#f3efe0}.fd-science-stage[data-proc="starch"] .fd-liquid{background:#ead8b9}.fd-science-stage[data-proc="fat"] .fd-liquid{background:#f1c65b}.fd-science-stage[data-proc="raising"] .fd-liquid{background:#caa075}.fd-bubbles{position:absolute;inset:0}.fd-bubbles i{position:absolute;width:18px;height:18px;border-radius:50%;background:rgba(255,255,255,.5);bottom:8%}.fd-bubbles i:nth-child(1){left:22%}.fd-bubbles i:nth-child(2){left:47%;width:12px;height:12px}.fd-bubbles i:nth-child(3){left:70%;width:24px;height:24px}
.fd-safety-stage{width:min(560px,96%);display:grid;grid-template-columns:1fr 1fr;gap:12px}.fd-fridge{height:320px;border:8px solid #25483f;border-radius:12px;background:#eef4f1;position:relative;padding:24px}.fd-fridge:before{content:"FRIDGE";font:800 10px var(--fd-mono);color:#25483f}.fd-fridge b{display:block;margin-top:30px;font:900 56px var(--fd-display);color:#25483f}.fd-risk{border-radius:12px;padding:22px;background:#f4efe3}.fd-risk b{font:900 32px var(--fd-display);color:#25483f}.fd-risk[data-risk="high"]{background:#fde8e2}.fd-risk[data-risk="medium"]{background:#fff4cf}.fd-risk[data-risk="low"]{background:#e7f3ea}
.fd-sensory{width:min(540px,96%);display:grid;gap:12px}.fd-sensory-row{display:grid;grid-template-columns:100px 1fr 45px;align-items:center;gap:10px}.fd-sensory-row i{height:16px;border-radius:999px;background:#ece4d8;overflow:hidden}.fd-sensory-row i b{display:block;height:100%;background:#4f7b91}.fd-provenance{width:min(560px,96%);display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.fd-prov-item{border:1px solid var(--fd-line);border-radius:10px;padding:12px;background:#fff}.fd-prov-item b{display:block;color:#25483f}.fd-prov-item small{color:#77837d}.fd-plan{width:min(620px,96%);display:grid;gap:8px}.fd-plan-row{display:grid;grid-template-columns:75px 1fr 70px;gap:8px;align-items:center}.fd-plan-row span{font:700 9px var(--fd-mono);color:#69756f}.fd-plan-row i{height:26px;border-radius:6px;background:#80a78f}.fd-plan-row:nth-child(2) i{background:#d86f4c}.fd-plan-row:nth-child(3) i{background:#eabf52}.fd-plan-row:nth-child(4) i{background:#4f7b91}.fd-nea-map{width:min(620px,96%);display:grid;grid-template-columns:1fr 1fr;gap:12px}.fd-nea-card{border-radius:14px;padding:20px;color:#fff;background:#4f7b91}.fd-nea-card:nth-child(2){background:#25483f}.fd-nea-card b{display:block;font:900 30px var(--fd-display)}.fd-nea-card ol{padding-left:18px;font-size:10px;line-height:1.7}
.fd-quick-overlay{position:fixed;inset:0;z-index:100;background:rgba(10,19,16,.82);backdrop-filter:blur(12px);display:grid;place-items:center;padding:18px}.fd-quick{width:min(900px,100%);min-height:500px;background:#f7f3ea;border-radius:20px;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;box-shadow:0 30px 100px rgba(0,0,0,.42)}.fd-quick-visual{background:#25483f;padding:36px;display:grid;place-items:center}.fd-quick-visual .fd-thumb{width:80%;height:260px;box-shadow:13px 13px 0 rgba(0,0,0,.15)}.fd-quick-card{padding:30px;display:flex;flex-direction:column}.fd-quick-card h2{font:900 31px/1 var(--fd-display);color:#25483f;letter-spacing:-.04em}.fd-quick-card p{color:#64716a;line-height:1.6;font-size:12.5px}.fd-bars-top{display:flex;gap:4px}.fd-bars-top i{height:4px;flex:1;background:#ddd4c8;border-radius:99px}.fd-bars-top i.on{background:#d86f4c}.fd-quick-actions{margin-top:auto;display:flex;gap:8px;justify-content:flex-end}.fd-close{position:absolute;right:16px;top:16px;width:34px;height:34px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:rgba(0,0,0,.14);color:#fff;font-size:20px}
.fd-diagnostic{width:min(900px,100%);background:#f7f3ea;border-radius:20px;display:grid;grid-template-columns:.9fr 1.1fr;overflow:hidden}.fd-diagnostic-visual{background:#25483f;padding:40px;display:grid;place-items:center}.fd-diagnostic-visual .fd-thumb{width:100%;height:250px;box-shadow:12px 12px 0 rgba(0,0,0,.16)}.fd-diagnostic-card{padding:30px;position:relative}.fd-diagnostic-card h2{font:900 29px var(--fd-display);color:#25483f}.fd-diagnostic-result{width:min(760px,100%);background:#f7f3ea;padding:32px;border-radius:20px;position:relative}.fd-diagnostic-route{display:grid;gap:8px;margin:18px 0}.fd-diagnostic-route button{border:1px solid var(--fd-line);background:#fff;border-radius:11px;display:grid;grid-template-columns:110px 1fr;overflow:hidden;text-align:left;padding:0}.fd-diagnostic-route .fd-thumb{height:88px}.fd-diagnostic-route span{padding:11px}.fd-diagnostic-route b{display:block;color:#25483f}.fd-diagnostic-route small{display:block;color:#738079;margin-top:3px}
.fd-footer{margin-top:50px;border-top:1px solid var(--fd-line);padding:20px 0 35px;display:flex;justify-content:space-between;gap:18px;color:#76817b;font-size:9.5px}
@media(max-width:1050px){.fd-module-grid{grid-template-columns:repeat(2,1fr)}.fd-hero{grid-template-columns:1fr}.fd-hero-board{min-height:390px}.fd-course{grid-template-columns:1fr}.fd-side{position:static;display:flex;overflow:auto;gap:4px;max-height:none}.fd-side-head{display:none}.fd-side button{min-width:160px}.fd-playground{grid-template-columns:1fr}}
@media(max-width:760px){.fd-nav-inner{padding:9px 12px;flex-wrap:wrap;row-gap:6px}.fd-links{display:flex;order:3;width:100%;overflow-x:auto;gap:4px;padding-bottom:2px;-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent)}.fd-links>*{flex:none}.fd-shell{padding:0 13px 50px}.fd-hero-copy{padding:30px 24px}.fd-hero h1{font-size:50px}.fd-stats,.fd-module-grid,.fd-labs{grid-template-columns:1fr}.fd-section-head{display:block}.fd-section-head p{margin-top:6px}.fd-route{flex-direction:column;align-items:flex-start}.fd-route .fd-actions{width:100%}.fd-quick,.fd-diagnostic{grid-template-columns:1fr}.fd-quick-visual,.fd-diagnostic-visual{min-height:230px}.fd-safety-stage,.fd-nea-map{grid-template-columns:1fr}.fd-footer{display:block}}
@media(prefers-reduced-motion:reduce){.fd-arrow{animation:none}.fd-hero-board canvas{transition:none}}

.fd-resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.fd-resource-set{display:grid;grid-template-columns:180px 1fr;background:#fff;border:1px solid var(--fd-line);border-radius:14px;overflow:hidden;box-shadow:6px 6px 0 var(--fd-shadow)}.fd-resource-cover{min-height:126px;background:#e9e4da;overflow:hidden}.fd-resource-cover img{width:100%;height:100%;object-fit:cover;display:block}.fd-resource-body{padding:15px}.fd-resource-body h3{margin:5px 0 12px;font:900 18px var(--fd-display);color:var(--fd-green)}.fd-resource-actions{display:flex;gap:6px;flex-wrap:wrap}.fd-resource-actions .fd-btn{padding:7px 9px;font-size:9.5px;text-decoration:none}
@media(max-width:900px){.fd-resource-grid{grid-template-columns:1fr}}@media(max-width:560px){.fd-resource-set{grid-template-columns:1fr}.fd-resource-cover{height:170px}}

/* Subject-polish: authentic food briefs and evidence-led learning */
.fd-practical-sprint{margin:18px 0 28px;border:1px solid #c8d8d0;background:linear-gradient(135deg,#eaf4ef,#fffaf0 72%);border-radius:15px;padding:20px 22px;display:flex;align-items:center;justify-content:space-between;gap:24px;box-shadow:5px 5px 0 var(--fd-shadow)}.fd-practical-sprint h2{margin:5px 0;font:900 24px var(--fd-display);letter-spacing:-.035em;color:var(--fd-green)}.fd-practical-sprint p{margin:0;max-width:760px;color:#66736d;font-size:11.5px;line-height:1.55}
.fd-brief-card{display:grid;grid-template-columns:1.15fr .85fr;border:1px solid var(--fd-line);background:#fff;border-radius:16px;overflow:hidden;box-shadow:7px 7px 0 var(--fd-shadow)}.fd-brief-main{padding:28px}.fd-brief-main h3,.fd-brief-side h3{font:900 29px/1.08 var(--fd-display);letter-spacing:-.035em;color:var(--fd-green);margin:8px 0 18px}.fd-brief-line{display:grid;grid-template-columns:160px 1fr;gap:14px;border-top:1px solid var(--fd-line);padding:13px 0}.fd-brief-line span{font:700 8.5px var(--fd-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--fd-terr)}.fd-brief-line b{color:var(--fd-green)}.fd-brief-side{padding:28px;background:#f8f4eb;border-left:1px solid var(--fd-line)}.fd-brief-side p{font-size:12px;line-height:1.65;color:#68756e}
@media(max-width:760px){.fd-practical-sprint{display:block}.fd-practical-sprint .fd-btn{margin-top:14px}.fd-brief-card{grid-template-columns:1fr}.fd-brief-side{border-left:0;border-top:1px solid var(--fd-line)}.fd-brief-line{grid-template-columns:1fr;gap:4px}}

.fd-inspect-board{display:grid;grid-template-columns:minmax(260px,.9fr) minmax(260px,1.1fr);gap:14px;margin:18px 0;border:1px solid var(--fd-line);background:#f8f4eb;border-radius:13px;padding:14px}.fd-inspect-art{position:relative;min-height:220px;background:#fff;border:1px solid var(--fd-line);border-radius:10px;overflow:hidden}.fd-inspect-art>.fd-thumb{height:220px}.fd-inspect-hotspots{position:absolute;inset:0}.fd-inspect-hotspots button{position:absolute;width:34px;height:34px;border-radius:50%;border:3px solid #fff;background:var(--fd-terr);color:#fff;font-weight:900;box-shadow:0 4px 14px rgba(0,0,0,.2)}.fd-inspect-hotspots button:nth-child(1){left:16%;top:18%}.fd-inspect-hotspots button:nth-child(2){right:20%;top:37%}.fd-inspect-hotspots button:nth-child(3){left:43%;bottom:14%}.fd-inspect-hotspots button.on{background:var(--fd-green);transform:scale(1.08)}.fd-inspect-copy{padding:18px}.fd-inspect-copy h3{margin:7px 0;font:900 23px var(--fd-display);color:var(--fd-green)}.fd-inspect-copy p{font-size:12px;line-height:1.6}.fd-inspect-copy small{color:#7a8580;line-height:1.5}
@media(max-width:760px){.fd-inspect-board{grid-template-columns:1fr}.fd-inspect-art>.fd-thumb{height:190px}}

/* Teachers library (matches the main hub: filter chips, grouped cards, preview strips) */
.fd-rl{display:block}.fd-rl-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}.fd-chip{border:1px solid var(--fd-line);background:#fff;border-radius:999px;padding:8px 14px;font:800 12px var(--fd-display);cursor:pointer;color:var(--fd-green)}.fd-chip small{opacity:.6;margin-left:4px}.fd-chip.on{background:var(--fd-green);color:#fff;border-color:var(--fd-green)}
.fd-rl-group{margin:0 0 26px}.fd-rl-head h3{margin:0 0 4px;font:900 20px var(--fd-display);color:var(--fd-green)}.fd-rl-head p{margin:0 0 12px;opacity:.75;font-size:14px;max-width:70ch}
.fd-rl-list{display:grid;gap:12px}.fd-rl-card{display:grid;grid-template-columns:260px 1fr;background:#fff;border:1px solid var(--fd-line);border-radius:14px;overflow:hidden;box-shadow:6px 6px 0 var(--fd-shadow)}
.fd-rl-cover{display:block;background:#e9e4da;overflow:hidden;min-height:150px}.fd-rl-cover img{width:100%;height:100%;object-fit:cover;display:block}.fd-rl-body{padding:16px 18px}.fd-rl-body h3{margin:4px 0 6px;font:900 20px var(--fd-display);color:var(--fd-green)}.fd-rl-body p{margin:0 0 10px;font-size:14px;line-height:1.5}
.fd-rl-meta{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}.fd-rl-meta span{font:800 10.5px var(--fd-display);background:#f1ede4;border-radius:999px;padding:4px 9px}
.fd-rl-prev{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 12px}.fd-rl-prev img{width:100%;border:1px solid var(--fd-line);border-radius:6px;display:block}
.fd-rl .fd-resource-actions .fd-btn{padding:9px 12px;font-size:11px}
@media(max-width:760px){.fd-rl-card{grid-template-columns:1fr}.fd-rl-cover{height:170px}.fd-rl-prev{grid-template-columns:repeat(3,1fr)}}
