/* Hallmark · pre-emit critique: P5 H5 E4 S5 R4 V5
   A readable course field guide; existing Motion X palette and typography. */
.mx-curriculum{padding:88px 0 56px;border-top:1px solid var(--color-rule);scroll-margin-top:90px;color:var(--color-ink)}
.mx-curriculum *{min-width:0}.mx-curriculum [hidden]{display:none!important}
.mx-curriculum-heading{display:flex;justify-content:space-between;align-items:end;gap:28px;margin-bottom:46px}
.mx-book-kicker{font:600 10px/1.5 var(--font-mono);letter-spacing:.15em;color:var(--color-muted)}
.mx-curriculum h2{font:600 clamp(36px,4.5vw,60px)/1.05 var(--font-display);letter-spacing:-.045em;margin-top:18px;overflow-wrap:anywhere}
.mx-curriculum h2 em,.mx-book-inside h3 em{font-family:var(--font-outlier);color:var(--color-accent-text);font-weight:600}
.mx-curriculum-heading>div>p:not(.mx-book-kicker){font-size:14px;line-height:1.7;color:var(--color-ink-2)}
.mx-book-view{display:block;margin-top:18px;border-bottom:1px solid var(--color-rule);min-height:44px;color:var(--color-accent-text);font-size:13px;white-space:nowrap;cursor:pointer}
.mx-open-book{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);position:relative;border:1px solid var(--color-rule);border-radius:5px 20px 20px 5px;box-shadow:4px 5px 0 var(--color-paper),5px 6px 0 var(--color-rule),8px 9px 0 var(--color-paper),9px 10px 0 var(--color-rule);background:var(--color-surface);isolation:isolate}
.mx-book-inside{position:relative;padding:30px 38px;background:var(--color-accent-soft);border-radius:4px 0 0 4px;box-shadow:inset -9px 0 20px var(--color-media-shade)}
.mx-book-imprint-row{display:flex;justify-content:space-between;gap:20px;font:600 10px/1.25 var(--font-mono);letter-spacing:.08em;color:var(--color-accent-text)}
.mx-book-imprint-row>span:last-child{text-align:right;font-size:9px;color:var(--color-muted)}
.mx-book-inside h3{font:600 clamp(26px,3.2vw,43px)/1.03 var(--font-display);letter-spacing:-.035em;margin-top:30px;overflow-wrap:anywhere}
.mx-book-inside h3 em{font-size:1.25em;line-height:1.15}
.mx-book-line-art{height:112px;position:relative;margin-block:15px;overflow:hidden;color:var(--color-accent-text)}
.mx-book-line-art i{position:absolute;left:25%;top:10px;width:50%;height:80px;border:1px solid var(--color-rule);border-radius:50%;transform:rotate(-23deg)}
.mx-book-line-art i:nth-child(2){transform:rotate(-23deg) scaleX(.7)}.mx-book-line-art i:nth-child(3){transform:rotate(-23deg) scaleX(.35)}
.mx-book-line-art>span{position:absolute;right:0;bottom:6px;font:24px var(--font-outlier);transform:rotate(-6deg)}
.mx-book-inside nav{display:flex;flex-direction:column;margin-top:12px}
.mx-book-inside nav a{display:flex;align-items:center;gap:15px;min-height:45px;border-top:1px solid var(--color-rule);font-size:13px;color:var(--color-ink-2);transition:color .2s,background .2s,padding .2s}
.mx-book-inside nav a>span:first-child{font:10px var(--font-mono);color:var(--color-muted)}.mx-book-inside nav a>span:last-child{margin-left:auto}.mx-book-inside nav strong{font-weight:500}
.mx-book-inside nav a[aria-current="step"]{color:var(--color-accent-text);padding-inline:8px;background:var(--color-pass-gloss)}
.mx-book-inside nav a:hover{color:var(--color-ink);background:var(--color-pass-gloss)}
.mx-book-scroll-hint{font-size:11px;color:var(--color-muted);line-height:1.6;margin-top:22px}
.mx-book-leaves{perspective:4000px;perspective-origin:0 50%;position:relative;border-left:1px solid var(--color-rule)}
.mx-module-page{position:relative;background:var(--color-surface);padding:32px 36px 22px 42px;border-radius:0 20px 20px 0;transform-origin:left center;backface-visibility:hidden;box-shadow:inset 10px 0 18px var(--color-media-shade);scroll-margin-top:100px}
.mx-module-page+.mx-module-page{border-top:1px solid var(--color-rule)}
.mx-module-page header{padding-bottom:18px;border-bottom:1px solid var(--color-rule)}
.mx-module-page .mx-book-kicker{display:flex;justify-content:space-between;gap:16px;color:var(--color-accent-text)}
.mx-module-page h3{font:600 clamp(23px,2.4vw,31px)/1.12 var(--font-display);letter-spacing:-.035em;overflow-wrap:anywhere;margin:18px 0 10px}
.mx-module-page header>p:last-child{color:var(--color-muted);font-size:12px;line-height:1.6;max-width:370px}
.mx-book-lesson-scroll{scrollbar-width:thin;scrollbar-color:var(--color-rule) transparent;overscroll-behavior-y:auto}
.mx-book-lesson-scroll ol{padding:0;margin:0;list-style:none;background:transparent!important}
.mx-book-lesson-scroll li{display:flex;align-items:center;gap:12px;padding:12px 4px;border-bottom:1px solid var(--color-rule-soft);font-size:13px;line-height:1.5;background:transparent!important}
.mx-lesson-index{font:10px var(--font-mono);flex:none;color:var(--color-muted);width:20px}
.mx-lesson-title{flex:1;color:var(--color-ink-2)}.mx-lesson-lock{width:13px;height:13px;flex:none;color:var(--color-muted)}
.mx-book-lesson-scroll button{display:flex;align-items:center;justify-content:space-between;gap:10px;flex:1;text-align:left;min-height:44px;color:var(--color-ink);font-size:13px;cursor:pointer}
.mx-lesson-preview{font-size:10px;color:var(--color-accent-text);white-space:nowrap}.mx-book-lesson-scroll button:hover{color:var(--color-accent-text)}
.mx-book-page-note{color:var(--color-muted);font-size:10px;line-height:1.6;margin-top:14px;padding-top:8px}
.mx-page-folio{display:block;font:9px var(--font-mono);letter-spacing:.12em;color:var(--color-muted);margin-top:14px;text-align:right}
.mx-book-controls{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-top:28px}
.mx-book-controls button{display:flex;align-items:center;gap:12px;min-height:44px;padding:8px 15px;border:1px solid var(--color-rule);border-radius:30px;color:var(--color-ink);font-size:12px;white-space:nowrap;cursor:pointer;transition:background .2s,transform .2s}
.mx-book-controls button:hover{background:var(--color-accent-soft)}.mx-book-controls button:active{transform:translateY(2px)}.mx-book-controls button:disabled{opacity:.3;cursor:default}
.mx-book-controls p{font:11px var(--font-mono);color:var(--color-muted)}
.mx-book-track{height:2px;background:var(--color-rule-soft);margin-top:16px;overflow:hidden}.mx-book-track span{display:block;width:100%;height:100%;background:var(--color-accent-text);transform:scaleX(var(--book-progress,.25));transform-origin:left;transition:transform .4s}
.mx-book-endnote{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;color:var(--color-muted);font-size:12px;margin-top:48px;line-height:1.7}.mx-book-endnote a{color:var(--color-accent-text);white-space:nowrap}
.mx-curriculum :is(button,a,[tabindex]):focus-visible{outline:2px solid var(--color-focus);outline-offset:4px}
.mx-curriculum[data-enhanced="true"]:not([data-view="list"]) .mx-module-page{display:flex;flex-direction:column;height:100%;min-height:0;border-top:0}
.mx-curriculum[data-enhanced="true"]:not([data-view="list"]) .mx-book-lesson-scroll{overflow-y:auto;flex:1;min-height:110px;margin-top:4px;padding-right:10px}
.mx-curriculum[data-enhanced="true"]:not([data-view="list"]) .mx-open-book{height:640px}
.mx-curriculum[data-pinned="true"] .mx-book-scroll{height:calc(100vh + 240vh)}
.mx-curriculum[data-pinned="true"] .mx-book-sticky{position:sticky;top:88px}
.mx-curriculum[data-pinned="true"]:not([data-view="list"]) .mx-open-book{height:min(620px,calc(100vh - 210px))}
.mx-curriculum[data-view="list"] .mx-book-scroll{height:auto}.mx-curriculum[data-view="list"] .mx-book-sticky{position:static}.mx-curriculum[data-view="list"] .mx-open-book{display:block}.mx-curriculum[data-view="list"] .mx-book-inside{display:none}.mx-curriculum[data-view="list"] .mx-module-page{border-radius:0;box-shadow:none}.mx-curriculum[data-view="list"] .mx-book-leaves{border:0}
@media(max-width:900px){.mx-book-inside{padding:26px 24px}.mx-module-page{padding:28px 22px}.mx-book-line-art{height:90px}.mx-book-controls p{font-size:10px}}
@media(max-width:700px){.mx-curriculum{padding:50px 0}.mx-curriculum-heading{display:block;margin-bottom:30px}.mx-curriculum-heading>div:last-child{margin-top:20px;display:flex;justify-content:space-between;gap:15px;align-items:end}.mx-book-view{margin-top:0;font-size:12px}.mx-curriculum-heading>div>p:not(.mx-book-kicker){font-size:12px}.mx-open-book{display:block;border-radius:5px 14px 14px 5px}.mx-book-inside{padding:24px}.mx-book-inside h3{margin-top:20px;font-size:32px}.mx-book-line-art{display:none}.mx-book-inside>.mx-book-kicker{margin-top:24px}.mx-book-inside nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 12px}.mx-book-inside nav a{font-size:11px;gap:7px;min-height:44px}.mx-book-inside nav a>span:last-child{display:none}.mx-book-inside nav a[aria-current="step"]{padding-inline:4px}.mx-book-scroll-hint{margin-top:12px}.mx-book-leaves{border-left:0;border-top:1px solid var(--color-rule)}.mx-module-page{border-radius:0 0 14px 5px;padding:25px 22px;box-shadow:inset 6px 0 10px var(--color-media-shade)}.mx-curriculum[data-enhanced="true"]:not([data-view="list"]) .mx-open-book{height:auto}.mx-curriculum[data-enhanced="true"]:not([data-view="list"]) .mx-module-page{height:570px}.mx-book-controls{gap:8px;margin-top:22px}.mx-book-controls button{font-size:11px;padding-inline:10px;gap:7px}.mx-book-controls p{font-size:9px}.mx-book-controls [data-book-next] span{font-size:0}.mx-book-controls [data-book-next] span::after{content:'Next';font-size:11px}.mx-module-page h3{font-size:26px}.mx-book-endnote{margin-top:30px;display:block}.mx-book-endnote a{display:block;margin-top:10px}}
@media(prefers-reduced-motion:reduce){.mx-curriculum *{transition:none!important;scroll-behavior:auto!important}}
@media print{.mx-curriculum .mx-book-scroll{height:auto!important}.mx-curriculum .mx-book-sticky{position:static!important}.mx-curriculum .mx-open-book{display:block!important;height:auto!important}.mx-curriculum .mx-book-inside,.mx-book-controls,.mx-book-view{display:none!important}.mx-curriculum .mx-module-page[hidden],.mx-curriculum .mx-module-page{display:block!important;height:auto!important;break-inside:avoid}.mx-book-lesson-scroll{overflow:visible!important}}
/* Double-sided sheet lives above the binding; text is never mirrored. */
.mx-book-leaves{transform-style:preserve-3d;z-index:2;min-height:0}
.mx-curriculum[data-enhanced="true"]:not([data-view="list"]) .mx-open-book{grid-template-rows:minmax(0,1fr);grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.mx-curriculum[data-pinned="true"] .mx-book-inside{padding:24px 30px}
.mx-curriculum[data-pinned="true"] .mx-book-inside h3{font-size:34px;margin-top:24px}
.mx-curriculum[data-pinned="true"] .mx-book-line-art{height:80px;margin-block:10px}
.mx-curriculum[data-pinned="true"] .mx-book-line-art i{height:55px}
.mx-curriculum[data-pinned="true"] .mx-book-inside nav a{min-height:42px}
.mx-curriculum[data-pinned="true"] .mx-book-scroll-hint{margin-top:15px}
.mx-turn-sheet{position:absolute;inset:0;z-index:5;transform-origin:0 50%;transform-style:preserve-3d;pointer-events:none;will-change:transform}
.mx-turn-front,.mx-turn-back{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:0 20px 20px 0;background:var(--color-surface);overflow:hidden;box-shadow:0 8px 30px var(--color-media-shade)}
.mx-turn-front::after{content:'';position:absolute;inset:0;background:var(--color-paper);opacity:var(--turn-shade,0);pointer-events:none}
.mx-turn-front .mx-module-page{height:100%!important;border:0!important}
.mx-turn-back{transform:rotateY(180deg);background:var(--color-accent-soft);padding:40px;display:flex;flex-direction:column;justify-content:space-between;color:var(--color-accent-text);border:1px solid var(--color-rule)}
.mx-turn-back>span,.mx-turn-back small{font:10px var(--font-mono);letter-spacing:.14em}.mx-turn-back strong{font:600 clamp(32px,4vw,55px)/1 var(--font-outlier)}.mx-turn-back i{width:70%;height:180px;border:1px solid var(--color-accent-text);border-radius:50%;transform:rotate(-25deg);align-self:center}
@media(max-width:700px){.mx-turn-sheet{transform-origin:20% 50%}.mx-turn-back{padding:25px}.mx-turn-back i{height:120px}}
@media print{.mx-turn-sheet{display:none!important}}
body:has(.mx-curriculum[data-book-active="true"]) .mx-course-dock{visibility:hidden;pointer-events:none}
