:root{--navy:#172f4c;--ink:#26364a;--muted:#64748b;--line:#d6e0eb;--paper:#f3f7fc;--white:#fff;--will:#326be8;--going:#119875;--arrange:#ea8a2a;--continuous:#8057dc;--tintwill:#edf3ff;--tintgoing:#eaf8f3;--tintarrange:#fff4e8;--tintcontinuous:#f2edff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);font:16px/1.6 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink)}.fm-shell{min-height:100vh}.fm-sidebar{position:fixed;inset:0 auto 0 0;width:248px;padding:25px 18px;background:var(--navy);color:white;display:flex;flex-direction:column;z-index:3}.fm-brand{text-decoration:none;color:white;font-weight:900;letter-spacing:.08em;font-size:22px}.fm-brand span{display:block;color:#b9cde4;font-size:11px;letter-spacing:.16em;margin-top:2px}.fm-progress{height:5px;background:#ffffff2b;border-radius:8px;margin:22px 0}.fm-progress span{display:block;width:0;height:100%;background:#78dfbd;border-radius:8px;transition:width .2s}.fm-sidebar nav{display:grid;gap:5px;overflow:auto}.fm-sidebar nav a{color:#e7eef8;text-decoration:none;font-size:13px;font-weight:650;line-height:1.25;padding:9px 10px;border-radius:8px}.fm-sidebar nav a:hover,.fm-sidebar nav a.active{background:#ffffff1c;color:#fff}.fm-side-note{margin-top:auto;padding:14px 10px 12px;color:#cfdaea;font-size:12px}.fm-exit{background:transparent;border:1px solid #ffffff4d;color:white;border-radius:8px;padding:10px;font:700 13px inherit;cursor:pointer}.fm-main{margin-left:248px;padding:38px clamp(22px,5vw,76px) 60px;max-width:1500px}.fm-hero{padding:16px 0 26px}.fm-eyebrow,.fm-heading>span{font-size:12px;font-weight:850;letter-spacing:.14em;color:#326be8}.fm-hero h1{font-size:clamp(36px,5vw,58px);line-height:1.08;letter-spacing:-.04em;color:var(--navy);margin:14px 0}.fm-lead{font-size:20px;max-width:820px;color:#52657c}.fm-goals{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.fm-goals span,.fm-requirements span{background:#e7eef8;border-radius:99px;padding:7px 12px;font-size:13px;font-weight:750;color:#314b6c}.fm-safety,.fm-tip{background:#e7eef8;border-left:4px solid #326be8;padding:14px 16px;border-radius:7px;color:#344860}.fm-section{background:white;border:1px solid var(--line);border-radius:18px;padding:clamp(20px,3vw,36px);margin:22px 0;box-shadow:0 8px 28px #233f5b0a;scroll-margin-top:20px}.fm-heading{margin-bottom:22px}.fm-heading h2{margin:5px 0 4px;color:var(--navy);font-size:clamp(24px,3vw,34px);line-height:1.2}.fm-heading p{margin:0;color:var(--muted)}.fm-visual{display:block;width:100%;height:auto;max-height:700px;object-fit:contain;background:#f5f8fc;border-radius:12px;margin:18px 0 24px}.fm-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.fm-form,.fm-meaning-grid>div{border:1px solid var(--line);border-top:5px solid var(--col);border-radius:12px;padding:17px;background:var(--tint)}.will{--col:var(--will);--tint:var(--tintwill)}.going{--col:var(--going);--tint:var(--tintgoing)}.arrange{--col:var(--arrange);--tint:var(--tintarrange)}.continuous{--col:var(--continuous);--tint:var(--tintcontinuous)}.fm-form h3{margin:0 0 12px;color:var(--col);font-size:18px}.fm-form h3 small{display:block;font-size:12px;line-height:1.5;color:#566780;font-weight:650}.formula{background:#ffffffc9;border-radius:7px;padding:9px 11px;font-size:14px;margin:8px 0;color:#53647b}.formula b{color:var(--col)}.formula span{color:#a1adba;padding:0 4px}.example{margin:9px 0 0}.example strong{color:var(--navy)}.fm-reveal{border:1px solid #d6e0eb;border-radius:10px;margin-top:17px;overflow:hidden}.fm-reveal summary{cursor:pointer;list-style:none;padding:13px 16px;background:#f1f5fa;font-weight:800;color:#324a68}.fm-reveal summary::-webkit-details-marker{display:none}.fm-reveal summary:after{content:"＋";float:right;color:#326be8}.fm-reveal[open] summary:after{content:"−"}.fm-answer{padding:14px 16px;background:white;line-height:1.75}.fm-meaning-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.fm-meaning-grid>div{border-top-width:4px}.fm-meaning-grid p{font-size:18px;font-weight:800;margin:7px 0;color:#19334f}.fm-meaning-grid small{color:#627288}.fm-tip{border-left-color:#119875;margin:18px 0}.fm-task{padding:14px;border-radius:8px;background:#fff8e8}.fm-questions{padding-left:28px;display:grid;gap:11px}.fm-questions li{padding-left:4px}.fm-questions i{color:#718097;font-size:.92em}.fm-two-col{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px}.fm-dialogues,.fm-scene-prompts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.fm-dialogues article,.fm-scene-prompts>div,.fm-story-grid article{border:1px solid var(--line);background:#f8fafd;border-radius:10px;padding:14px}.fm-dialogues p,.fm-scene-prompts p{margin:6px 0 0}.fm-dialogues i{color:#718097}.fm-subhead{color:var(--navy);margin:24px 0 8px}.fm-scene-prompts{margin:16px 0}.fm-story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.fm-story-grid h3{margin:0;color:#2864ce;font-size:17px}.fm-story-grid p{margin:6px 0 0;color:#586b82}.fm-requirements{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:14px;background:#f0f5fa;border-radius:10px;margin:16px 0}.fm-requirements b{margin-right:4px}.fm-requirements span{border-radius:7px;background:white;border:1px solid var(--line)}.fm-frame,.fm-homework{border-radius:11px;background:#eff8f5;padding:17px;border-left:4px solid #119875}.fm-frame p{margin:8px 0 0;line-height:1.9}.fm-homework{margin:20px 0}.fm-homework h3{margin:0;color:#087558}.fm-finish{display:block;width:100%;margin-top:18px;border:0;border-radius:9px;background:var(--navy);color:white;padding:14px;font:800 15px inherit;cursor:pointer}.fm-main footer{text-align:center;color:#738198;font-size:12px;padding:20px}@media(max-width:850px){.fm-sidebar{width:205px}.fm-main{margin-left:205px;padding:26px 20px}.fm-story-grid{grid-template-columns:1fr}.fm-two-col{grid-template-columns:1fr}}@media(max-width:640px){.fm-sidebar{position:sticky;inset:0 0 auto;width:auto;height:auto;padding:9px 12px;display:block}.fm-brand{display:inline-block;font-size:15px}.fm-brand span{display:inline;margin-left:7px;font-size:9px}.fm-progress{margin:8px 0}.fm-sidebar nav{display:flex;gap:4px;overflow-x:auto;white-space:nowrap}.fm-sidebar nav a{font-size:11px;padding:7px 9px;flex:0 0 auto}.fm-side-note{display:none}.fm-exit{position:absolute;right:12px;top:9px;padding:7px;font-size:11px}.fm-main{margin-left:0;padding:22px 13px 40px}.fm-form-grid,.fm-meaning-grid,.fm-dialogues,.fm-scene-prompts{grid-template-columns:1fr}.fm-section{padding:18px 15px;margin:14px 0}.fm-lead{font-size:17px}.fm-visual{margin:12px 0 18px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
:root{scroll-padding-top:16px}.fm-screen[hidden]{display:none!important}.fm-guide{max-height:58vh}.fm-screen-camera .fm-visual{max-height:43vh}.fm-pager{position:sticky;bottom:8px;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:24px 0 0;padding:10px 12px;background:#fffffff2;border:1px solid var(--line);border-radius:12px;box-shadow:0 5px 22px #1835501a;backdrop-filter:blur(8px)}.fm-page-button{min-width:116px;border:0;border-radius:8px;background:var(--navy);color:white;padding:11px 15px;font:750 14px inherit;cursor:pointer}.fm-page-button.secondary{background:#edf2f8;color:#2c4563;border:1px solid #d8e1ec}.fm-page-button:disabled{opacity:.45;cursor:default}.fm-page-count{font-size:13px;font-weight:750;color:#62748a}.fm-sidebar nav a[aria-current=step]{outline:2px solid #89a9ce;outline-offset:1px}.fm-form-grid{gap:10px}.fm-form{padding:13px}.fm-form h3{font-size:16px}.fm-form h3 small{font-size:11px}.fm-form .formula{font-size:12px;padding:7px 9px}.fm-form .example{font-size:14px}.fm-screen-camera .fm-heading{margin-bottom:12px}.fm-screen-camera .fm-scene-prompts{margin-top:10px}.fm-screen-camera .fm-scene-prompts>div{padding:10px}.fm-screen-camera .fm-scene-prompts p{font-size:14px;line-height:1.35}@media(max-width:640px){.fm-guide{max-height:52vh}.fm-screen-camera .fm-visual{max-height:38vh}.fm-pager{bottom:4px;margin-top:16px;padding:8px}.fm-page-button{min-width:92px;padding:9px 10px;font-size:12px}.fm-page-count{font-size:11px}}
.fm-screen:not(.fm-screen-camera) .fm-visual:not(.fm-guide){max-height:42vh}.fm-screen-camera .fm-visual{max-height:36vh}.fm-screen-camera .fm-subhead{margin:8px 0}.fm-screen-camera .fm-screen-prompt{font-size:14px}@media(max-width:640px){.fm-screen:not(.fm-screen-camera) .fm-visual:not(.fm-guide){max-height:36vh}.fm-screen-camera .fm-visual{max-height:32vh}}
