/* 教师备课夹：纸面、屏幕展架、黑板和课堂便签使用不同的空间组织。 */
:root {
  --blue: #355dba; --blue-dark: #274ca0; --blue-light: #edf2fd;
  --ink: #223d36; --muted: #6b776f; --line: #dcded5;
  --paper: #f8f7f1; --soft: #f1f2ed; --green: #285b49; --red: #b95442;
  --display-hand: "STXingkai", "华文行楷", "STKaiti", "KaiTi", serif;
  --display-lesson: "Source Han Serif SC Heavy", "Source Han Serif SC", "Noto Serif SC", "STZhongsong", "Songti SC", serif; /* 实验标题使用厚实的宋体字形。 */
  --display-note: "HYYeYXSJ", "汉仪叶叶相思体简", "YouYuan", "Yuanti SC", sans-serif; /* 联系短句使用轻巧的手写字形。 */
}
body { background: var(--paper); }
.section-shell { max-width: 1272px; padding-inline: 48px; }
.site-header { height: 76px; background: #f8f7f1ed; border-color: #203b3210; backdrop-filter: blur(12px); }
.nav-shell { max-width: 1320px; padding-inline: 48px; }
.brand-icon { color: var(--green); }
/* 旧版入口也复用正式标志，功能书本图标仍保留原样。 */
.brand-image { display: block; object-fit: contain; flex: none; }
.brand-icon .brand-image { width: 100%; height: auto; aspect-ratio: 1; }
.workspace-brand .brand-image { width: 1.6em; height: 1.6em; }
.main-nav { gap: 30px; font-size: 14px; }
.main-nav .nav-download { background: none; color: var(--ink); border: 1px solid #bcc6be; border-radius: 4px; }
.main-nav .nav-download:hover { background: var(--ink); }
.eyebrow { font: 12px/1.5 var(--sans); letter-spacing: .1em; color: var(--green); }
.button { border-radius: 4px; transition: background .2s, color .2s; box-shadow: none; }
.button:hover { transform: none; box-shadow: none; }
.button-primary { background: var(--ink); box-shadow: none; }
.button-primary:hover { background: var(--green); }
.hero { text-align: left; display: grid; grid-template-columns: 1.05fr 1fr; gap: 72px; align-items: center; padding-top: 85px; padding-bottom: 105px; }
.hero-kicker { font-size: 13px; color: var(--green); margin-bottom: 25px; }
.tiny-mark { width: 16px; height: 2px; transform: none; background: var(--green); }
.hero h1 { font: 600 clamp(45px,5vw,70px)/1.38 var(--serif); letter-spacing: -.06em; }
.editorial-underline { position: relative; }
.editorial-underline::after { content: ''; position: absolute; left: 2px; right: 2px; bottom: -4px; height: 2px; background: var(--red); transform: rotate(-2deg); transform-origin: left; animation: ink-line 1s .6s both cubic-bezier(.2,.7,.3,1); }
.hero-description { font-size: 16px; color: var(--muted); line-height: 1.95; margin-top: 27px; }
.hero-actions { justify-content: flex-start; gap: 27px; margin-top: 30px; }
.hero-actions .button { font-size: 14px; padding: 14px 22px; gap: 27px; }
.hero-download { font-size: 13px; color: #637460; border-bottom: 1px solid #bac5b3; padding-block: 7px; }
.hero-download span { margin-left: 9px; }
.hero-note { font-size: 12px; color: #89907f; margin-top: 21px; }
.hero-copy>* { animation: hero-reveal .85s both cubic-bezier(.2,.75,.25,1); }
.hero-copy>h1 { animation-delay: .08s; }.hero-description { animation-delay: .18s; }.hero-actions { animation-delay: .28s; }.hero-note { animation-delay: .36s; }
/* 首屏备课材料保持内容明确；翻页随进入视口与滚动展开。 */
.hero-folder { height: 454px; position: relative; perspective: 1200px; isolation: isolate; }
.folder-back { position: absolute; background: #d2dfdc; left: 18px; right: 8px; top: 116px; bottom: 19px; border-radius: 6px; transform: rotate(3deg); border: 1px solid #b9ceca; }
.folder-back>span { position: absolute; top: -28px; left: 0; padding: 7px 15px; background: #d2dfdc; border: 1px solid #b9ceca; border-bottom: 0; border-radius: 7px 7px 0 0; font: 9px Georgia,serif; letter-spacing: .1em; color: #74968f; }
.hero-page { position: absolute; width: 65%; height: 316px; left: 19%; top: 47px; border: 1px solid #d5dbcf; border-radius: 3px; background: #fffef8; padding: 25px 24px; box-shadow: 0 6px 16px #243d3d08; transition: transform .75s cubic-bezier(.2,.8,.2,1); }
.hero-page>span,.hero-page>div:first-child>span { color: #80917b; font-size: 10px; }
.hero-page>p { font: 500 22px/1.7 var(--serif); margin-top: 21px; }
.hero-page-back { transform: translate(52px,-21px) rotate(13deg); background: #edeaf2; }
.hero-page-middle { transform: translate(1px,-20px) rotate(-9deg); background: #f5f0dd; }
.hero-page-front { transform: translate(-31px,14px) rotate(-3deg); }
.hero-page-front>div:first-child { display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid #e1e5d9; padding-bottom: 15px; }
.hero-page-front .icon { width: 18px; height: 18px; color: #93a48c; }
.hero-page-front h2 { font: 500 30px/1.5 var(--serif); letter-spacing: -.045em; margin-top: 20px; }
.hero-page-front>p { font: 11px/1.7 var(--sans); color: #87957b; margin-top: 15px; }
.hero-paper-formula { font: italic 25px Georgia,serif; color: #526949; margin-top: 26px; }
.hero-red-note { position: absolute; bottom: 24px; right: 24px; color: var(--red)!important; font: 13px var(--serif)!important; }
.hero-paper-lines { height: 70px; margin-top: 17px; background: repeating-linear-gradient(transparent 0,transparent 16px,#c7cbb976 17px,transparent 18px); }
.folder-front { position: absolute; z-index: 5; left: 18px; right: 8px; bottom: 15px; height: 94px; padding: 28px 29px; display: flex; justify-content: space-between; align-items: center; color: #416b62; background: #d0dddadc; border: 1px solid #b9ceca; border-radius: 4px 4px 9px 9px; transform: rotate(3deg); font-size: 13px; backdrop-filter: blur(4px); }

/* 工作台从备课夹口跳出，越过展示位置后下落停稳；旧页留在原位。 */
.binder-section { height: 260svh; min-height: 2200px; background: #e9eef7; position: relative; border-block: 1px solid #dbe2ee; }
.binder-sticky { position: sticky; top: 76px; padding-top: 30px; padding-bottom: 24px; overflow: hidden; }
.binder-heading { display: flex; justify-content: space-between; align-items: flex-end; }
.binder-heading .eyebrow { color: #6980b0; margin-bottom: 12px; }
.binder-heading h2 { font: 500 38px/1.3 var(--serif); color: #283e66; letter-spacing: -.03em; }
.binder-heading>p { color: #7c8a9e; font-size: 13px; line-height: 1.9; }
.binder-layout { display: grid; grid-template-columns: 247px minmax(0,1fr); gap: 43px; align-items: center; margin-top: 27px; }
.binder-counter { display: flex; align-items: baseline; gap: 11px; color: #91a0b9; font: 13px Georgia,serif; }
#scene-number { color: #4b69a7; font-size: 27px; }
.binder-story h3 { font: 500 25px/1.5 var(--serif); color: #31466b; letter-spacing: -.03em; margin-top: 17px; }
.binder-story>p { font-size: 14px; line-height: 1.95; color: #5b6e8c; min-height: 90px; margin-top: 13px; }
.index-leaves { position: relative; height: 180px; margin-top: 48px; }
.index-leaf { position: absolute; width: 111px; height: 139px; border: 1px solid #cbd5e5; border-radius: 3px; background: #f7f8fc; padding: 15px 13px; text-align: left; top: calc(var(--leaf)*3px); left: calc(var(--leaf)*39px); transform: rotate(calc((var(--leaf) - 1.5)*8deg)); transform-origin: bottom center; color: #6f83a8; transition: transform .45s cubic-bezier(.2,.8,.2,1),background .25s,color .25s,box-shadow .25s; box-shadow: 0 6px 15px #213b6707; }
.index-leaf>span { display: block; font: 11px Georgia,serif; opacity: .55; }
.index-leaf strong { display: block; font: 500 23px var(--serif); margin-top: 21px; }
.index-leaf small { display: block; font-size: 8px; margin-top: 12px; white-space: nowrap; }
.index-leaf[aria-current] { z-index: 8; background: #4567a6; border-color: #4567a6; color: #f3f5fc; transform: translateY(-15px) rotate(calc((var(--leaf) - 1.5)*4deg)); box-shadow: 0 16px 25px #34538916; }
.index-leaf:hover { z-index: 9; transform: translateY(-27px) rotate(0deg); }
.binder-stage { min-width: 0; height: 558px; position: relative; isolation: isolate; touch-action: pan-y; cursor: grab; outline-offset: 8px; }
.binder-papers { position: absolute; inset: 0; overflow: hidden; clip-path: inset(0 0 max(0px,calc(100% - var(--pocket-top,490px) - 4px)) 0); }
.binder-pocket { position: absolute; z-index: 100; left: 10px; right: 5px; top: var(--pocket-top,490px); height: 31px; pointer-events: none; }
.binder-pocket::before { content: ''; position: absolute; left: 0; right: 0; top: 1px; height: 12px; border-radius: 50% / 5px; background: linear-gradient(#3a4b69,#637796 60%,#a3b3ce); box-shadow: inset 0 4px 5px #1d2e4b80,0 -2px 0 #b4c1d94d; }
.binder-pocket::after { content: ''; position: absolute; inset: 8px -5px 0; border-top: 1px solid #edf3fd; border-radius: 3px 3px 7px 7px; background: linear-gradient(#d5dfee,#e4eaf5); box-shadow: 0 13px 16px -11px #304d7e99,0 2px 3px #6680a62b; }
.pocket-shadow { position: absolute; left: 3%; right: 3%; top: 9px; height: 24px; background: #5c729f36; border-radius: 50%; filter: blur(10px); }
.binder-stage.is-dragging { cursor: grabbing; }.binder-stage.is-dragging * { user-select: none; }
.workspace-card { position: absolute; top: 50px; left: 28px; right: 22px; transform-origin: 50% 80%; will-change: transform; pointer-events: none; }
.workspace-card.is-active { pointer-events: auto; }
.binder-papers .workspace-card { transform-origin: center bottom; }
.workspace-card[data-paper-state='landed'] { will-change: auto; }
.workspace-card:is([data-paper-state='launching'],[data-paper-state='falling']) .workspace-window { box-shadow: 0 29px 46px #233f771d,0 8px 16px #32487708; }
.workspace-card:not(.is-active) .workspace-window { box-shadow: none; }
@media(max-width:720px) { .binder-pocket { left: 2px; right: 2px; height: 25px; }.binder-pocket::after { bottom: 1px; } }
@media(max-height:480px) { .binder-papers { display: contents; position: static; clip-path: none; overflow: visible; }.binder-pocket { display: none; } }
.workspace-window { margin: 0; border-radius: 9px; border-color: #cdd7e6; box-shadow: 0 23px 45px #233f7716,0 3px 10px #32487705; }
.window-chrome { height: 31px; background: #f7f8fc; }
.demo-label { background: none; border: 0; color: #8f9bb0; font-size: 9px; }
.workspace-nav { height: 52px; }
.workspace-nav-items { gap: 15px; }
.workspace-avatar { display: none; }
.scene-panel { height: 345px; animation: none; }
.basket-item,.typed-query { animation: none; }.typed-query { width: 210px; }
.scan-line,.search-caret { display: none; }
.preview-paper { transform: none; }
.binder-stage .orbit-arm { animation-play-state: paused; }
.workspace-card.is-active .orbit-arm { animation-play-state: running; }
.leaf-tab { position: absolute; left: 22px; top: -27px; padding: 4px 19px 5px; color: #6d83a4; font-size: 10px; background: #dce6f7; border: 1px solid #c8d5ea; border-bottom: 0; border-radius: 5px 5px 0 0; }
[data-card='1'] .leaf-tab { background: #e5e9d6; color: #7d8b59; border-color: #d5ddc1; }
[data-card='2'] .leaf-tab { background: #f1e4db; color: #a58770; border-color: #e6d4c4; }
[data-card='3'] .leaf-tab { background: #e7def1; color: #9280a7; border-color: #dacee6; }



.binder-footer { display: flex; align-items: center; gap: 26px; color: #8191ab; font-size: 10px; }
.binder-footer>span:last-child { min-width: 86px; text-align: right; }
.binder-footer>span:first-child { color: #6e82a6; min-width: 95px; }
.binder-footer>span:first-child>span { margin-left: 10px; }
.binder-progress { height: 2px; flex: 1; background: #ccd7e8; overflow: hidden; }
.binder-progress i { display: block; height: 100%; width: 100%; background: #6583b7; transform: scaleX(var(--binder-progress,.01)); transform-origin: left; }

/* 第二种视觉区域：课堂上真实可操作的参数关系。 */
.classroom-section { display: grid; grid-template-columns: .9fr 1.1fr; align-items: center; gap: 86px; padding-top: 115px; padding-bottom: 111px; }
.classroom-copy h2 { font: 500 44px/1.42 var(--serif); letter-spacing: -.045em; }
.classroom-copy>p:not(.eyebrow) { font-size: 15px; line-height: 1.95; color: #73816c; margin-top: 25px; }
.classroom-question { margin-top: 34px; padding: 22px 25px; background: #f1ead8; border-left: 2px solid #c9b983; transform: rotate(-1deg); max-width: 345px; }
.classroom-question>span { font-size: 10px; color: #9e987f; letter-spacing: .1em; }
.classroom-question>p { font: 500 19px/1.5 var(--serif); color: #786f53; margin-top: 9px; }
.classroom-question small { color: #786d51; font-size: 11px; line-height: 1.9; display: block; margin-top: 11px; }
.classroom-copy .classroom-subjects { color: #8b9684!important; font-size: 11px!important; margin-top: 24px!important; }
.classroom-subjects span { margin-inline: 10px; color: #b6beab; }
.classroom-live { min-width: 0; position: relative; }
.classroom-board { position: relative; background: #254d42; border-radius: 11px 11px 3px 11px; color: #f6f4e8; padding: 25px 30px 26px; box-shadow: 14px 15px 0 #e3e9dc; overflow: hidden; }
.board-heading { display: flex; align-items: center; justify-content: space-between; gap: 15px; color: #acc5b5; font-size: 11px; }
.board-heading button { background: none; color: #bfd0c2; border: 1px solid #b8d4bc32; border-radius: 3px; padding: 4px 10px; font-size: 10px; }
.physics-layout { display: grid; grid-template-columns: minmax(0,1.6fr) minmax(100px,1fr); align-items: center; gap: 15px; margin-top: 30px; }
.physics-diagram { width: 100%; height: 240px; overflow: visible; }
.motion-track { stroke: #c7d7c966; stroke-width: 1; fill: none; stroke-dasharray: 3 4; }
.motion-axes { stroke: #a6c5ae1f; stroke-width: .7; fill: none; }
.radius-line { fill: none; stroke: #d5dfd945; stroke-width: .9; stroke-dasharray: 3 3; }
.center-label { fill: #b3c9b4; font: italic 11px Georgia,serif; }
.physics-reading>span:first-child { font: italic 18px Georgia,serif; color: #c8d8c8; white-space: nowrap; }
.physics-reading>div { display: flex; align-items: baseline; gap: 8px; margin-top: 22px; }
#force-output { font: 500 62px/1 Georgia,serif; color: #e9cf91; }
.physics-reading small { font: italic 16px Georgia,serif; color: #b4c7b5; }
.physics-reading p { color: #b9cbb9; font-size: 11px; margin-top: 8px; }
.physics-fixed { display: block; color: #94b3a0; font: italic 12px/1.8 Georgia,serif; margin-top: 20px; }
.physics-control { margin-top: 28px; }
.physics-control label { display: flex; align-items: center; justify-content: space-between; color: #bdd2bf; font-size: 12px; }
.physics-control label>span { color: #d7e3d2; font-family: Georgia,var(--sans); }
.physics-control input { width: 100%; height: 24px; margin: 14px 0 0; accent-color: #a6ccf9; cursor: pointer; }
.physics-control input:focus-visible { outline: 2px solid #c3d8f7; outline-offset: 3px; }
.speed-scale { display: flex; justify-content: space-between; color: #92b19c; font: 10px Georgia,serif; }
.board-bottom { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 15px; border-top: 1px solid #aac8b42b; margin-top: 25px; padding-top: 19px; }
.board-bottom>span { display: flex; align-items: center; gap: 7px; color: #9dbba7; font-size: 10px; }
.force-dot,.speed-dot { width: 4px; height: 4px; border-radius: 50%; background: #efd18e; }.speed-dot { background: #a6ccf9; margin-left: 11px; }
.board-bottom button { color: #dfe4c2; font-size: 11px; padding: 0 0 3px; background: none; border-bottom: 1px solid #dfe4c24d; }
.classroom-discovery { font-size: 12px; color: #7b8d6e; margin-top: 28px; padding-left: 8px; }

/* 第三种版式：日常教学的三张错位便签。 */
.scenarios-section { background: #f2f0e8; border-block: 1px solid #e6e5dc; padding-top: 76px; padding-bottom: 96px; }
.scenario-heading { align-items: center; }
.scenario-heading h2 { font: 500 40px/1.4 var(--serif); }
.scenario-heading>p { color: #89907f; font-size: 14px; }
.scenario-list { border: 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 23px; margin-top: 55px; }
.scenario-row { display: block; border: 1px solid #dddacb; padding: 28px 28px 30px; background: #faf8ec; position: relative; border-radius: 3px; }
.scenario-row:nth-child(2) { --note-offset: 30px; background: #edf0e7; transform: translateY(30px); border-color: #d5dfd0; }
.scenario-row:nth-child(3) { --note-offset: 8px; background: #eaeaf2; transform: translateY(8px); border-color: #d9d8e5; }
.scenario-number { font: 13px Georgia,serif; color: #a7a28c; display: block; margin-bottom: 26px; }
.scenario-title>span { font-size: 10px; color: #90937e; }
.scenario-title h3 { font: 500 24px/1.55 var(--serif); margin-top: 12px; letter-spacing: -.035em; }
.scenario-row>p { font-size: 14px; line-height: 1.95; color: #66715f; margin-top: 18px; }
.scenario-tokens { flex-direction: row; align-items: center; gap: 9px; margin-top: 31px; }
.scenario-tokens>span { border: 0; border-bottom: 1px solid #cfd4c2; background: none; border-radius: 0; padding: 0 0 3px; color: #939880; font-size: 10px; }
.teacher-section { grid-template-columns: 65px 1fr 1fr; gap: 32px; padding-top: 95px; padding-bottom: 90px; }
.teacher-mark { font: 20px var(--serif); color: var(--red); border: 1px solid #b9544280; border-radius: 50%; height: 54px; width: 54px; display: grid; place-items: center; letter-spacing: 0; transform: rotate(-9deg); }
.teacher-section h2 { font: 500 37px/1.45 var(--serif); }
.teacher-section>p { color: #62745d; font-size: 16px!important; line-height: 1.9; margin: 0!important; }
.teacher-section .eyebrow { color: #a47b66; }
.faq-section { gap: 70px; padding-top: 68px; padding-bottom: 90px; }
.faq-heading h2 { font: 500 32px/1.5 var(--serif); }
.faq-list summary { font-size: 15px; }.faq-plus { color: #9da78e; }
.faq-list details>p { color: #65775e; font-size: 14px; }
.download-section { background: #263f37; }
.download-section:before { display: none; }
.download-copy .eyebrow { color: #a4b99d; }.download-copy h2 { font: 500 39px/1.5 var(--serif); }
.download-copy>p:not(.eyebrow) { color: #b0c0a7; }.release-note,.download-device-note { color: #9fb393; }
.button-light { color: #3b5845; background: #f2f3e6; border-color: #f2f3e6; }.button-light:hover { color: #3b5845; background: #e2e9d4; }
.contact-card { background: none; border: 0; border-left: 1px solid #aabc9647; border-radius: 0; padding-left: 45px; }
.contact-kicker { color: #aebf9b; font-family: var(--sans); letter-spacing: .1em; }
.contact-card h3 { font-weight: 500; }.contact-card>p { color: #b2c0a6; font-size: 14px; }
.contact-line { color: #dce6d1; }.contact-line .icon { color: #aabb91; }.contact-bottom { border-color: #b3c5963d; }.contact-bottom>span { color: #a5b897; }.contact-bottom>button { border-color: #bfcea455; background: #a1ba871a; border-radius: 3px; }
.site-footer>span,.site-footer>p { color: #89977c; }.info-dialog { border-radius: 6px; background: #fffef8; }

/* 进入视口的动效回归：依次显现，与活页的连续滚动互补。 */
.motion-ready .reveal { opacity: 0; transform: translateY(28px); transition: opacity .85s cubic-bezier(.2,.65,.2,1),transform .85s cubic-bezier(.2,.75,.2,1); }
.motion-ready .reveal.in-view { opacity: 1; transform: none; }
.motion-ready .scenario-row { opacity: 0; translate: 0 28px; transition: opacity .8s,translate .8s; }
.motion-ready .scenario-row.in-view { opacity: 1; translate: 0 0; }
.motion-ready .scenario-row.reveal { transform: translateY(var(--note-offset,0px)); }
.scenario-row:nth-child(2) { transition-delay: .12s; }.scenario-row:nth-child(3) { transition-delay: .22s; }
@keyframes hero-reveal { from { opacity: 0; transform: translateY(23px); } to { opacity: 1; transform: translateY(0); } }
@keyframes ink-line { from { scale: 0 1; } to { scale: 1 1; } }

@media(max-width:1100px) {
 .section-shell,.nav-shell { padding-inline: 32px; }.hero { gap: 35px; }.hero h1 { font-size: 56px; }.hero-folder { height: 430px; }.hero-page-front h2 { font-size: 27px; }
 .binder-layout { grid-template-columns: 214px minmax(0,1fr); gap: 27px; }.binder-story h3 { font-size: 23px; }.index-leaf { width: 99px; left: calc(var(--leaf)*32px); padding-inline: 11px; }
 .binder-stage { height: 533px; }.workspace-card { left: 18px; right: 15px; }.scene-panel { height: 335px; }
 .classroom-section { gap: 49px; }.classroom-copy h2 { font-size: 39px; }.classroom-board { padding: 24px; }.physics-layout { gap: 8px; }.physics-diagram { height: 215px; }.physics-reading>span:first-child { font-size: 16px; }#force-output { font-size: 50px; }
 .scenario-row { padding-inline: 23px; }.scenario-title h3 { font-size: 21px; }.scenario-list { gap: 18px; }.teacher-section { grid-template-columns: 55px 1fr 1fr; gap: 25px; }.teacher-section h2 { font-size: 32px; }
}
@media(max-width:900px) {
 .hero h1 { font-size: 47px; }.hero-description br { display: none; }.hero-folder { height: 415px; }.hero-page { width: 72%; left: 12%; padding-inline: 21px; }.hero-page-front h2 { font-size: 25px; }.hero-page-back { transform: translate(30px,-21px) rotate(12deg); }.hero-page-front { transform: translate(-10px,14px) rotate(-3deg); }.folder-back,.folder-front { left: 4px; right: 1px; }
 .binder-sticky { padding-top: 26px; }.binder-layout { grid-template-columns: 185px minmax(0,1fr); gap: 18px; }.binder-heading h2 { font-size: 34px; }.binder-stage { height: 513px; }.binder-story h3 { font-size: 22px; }.binder-story>p { font-size: 13px; }.index-leaves { margin-top: 34px; }.index-leaf { width: 86px; left: calc(var(--leaf)*28px); padding: 13px 10px; height: 129px; }.index-leaf strong { font-size: 22px; }.index-leaf small { font-size: 7px; }
 .collect-scene { grid-template-columns: 1fr 1.2fr; }.collect-scene>.mini-sidebar { display: none; }.search-scene { grid-template-columns: 1.3fr 1fr; }.search-scene>.mini-sidebar { display: none; }.workspace-nav { padding-inline: 13px; }.workspace-nav-items { gap: 2px; }.workspace-brand { font-size: 10px; }.workspace-brand .icon { width: 16px; height: 16px; }.scene-panel { height: 329px; }.tutor-pane,.simulation-pane { padding-inline: 17px; }.tutor-question { font-size: 10px; }.tutor-response { font-size: 9px; }.orbit-path { width: 115px; height: 115px; left: calc(50% - 57px); }.orbit-stage { height: 195px; }.formula-note { font-size: 18px; }.assembly-controls { padding-inline: 17px; }.paper-preview-pane { padding-inline: 14px; }.preview-paper { padding-inline: 15px; }
 .classroom-section { gap: 33px; }.classroom-copy h2 { font-size: 35px; }.classroom-copy>p:not(.eyebrow) { font-size: 14px; }.classroom-board { padding: 21px; }.physics-layout { grid-template-columns: minmax(0,1.15fr) minmax(93px,1fr); }.physics-diagram { height: 205px; }#force-output { font-size: 44px; }.physics-reading>span:first-child { font-size: 15px; }.physics-fixed { font-size: 11px; }
 .scenario-heading h2 { font-size: 35px; }.scenario-title h3 { font-size: 19px; }.scenario-row { padding: 23px 19px; }.scenario-row>p { font-size: 13px; }.scenario-tokens { gap: 7px; }.scenario-tokens>span { font-size: 9px; }.teacher-section>p { font-size: 14px!important; }.teacher-section h2 { font-size: 30px; }.contact-card { padding-left: 26px; }.download-grid { gap: 28px; }.download-copy h2 { font-size: 33px; }
}
@media(max-width:720px) {
 .section-shell,.nav-shell { padding-inline: 22px; }.site-header { height: 66px; }.main-nav { background: var(--paper); }.main-nav .nav-download { margin-top: 7px; }
 .hero { display: block; padding-top: 45px; padding-bottom: 56px; }.hero h1 { font-size: clamp(41px,10.5vw,58px); }.hero-kicker { font-size: 12px; }.hero-description { font-size: 16px; padding: 0; margin-top: 23px; }.hero-actions { margin-top: 26px; gap: 23px; }.hero-actions .button { font-size: 13px; padding: 13px 18px; gap: 24px; }.hero-download { font-size: 12px; }.hero-note { font-size: 10px; }
 .hero-folder { height: 395px; width: 94%; max-width: 420px; margin: 48px auto 0; }.hero-page { height: 282px; width: 66%; left: 18%; top: 31px; padding: 20px; }.hero-page-front h2 { font-size: 27px; }.hero-page-front>p { margin-top: 11px; }.hero-paper-formula { margin-top: 19px; font-size: 23px; }.hero-page-front>div:first-child { padding-bottom: 12px; }.hero-red-note { font-size: 12px!important; bottom: 20px; right: 20px; }.folder-back { top: 95px; }.folder-front { height: 80px; padding-inline: 26px; bottom: 17px; }.hero-page-back { transform: translate(32px,-22px) rotate(12deg); }.hero-page-middle { transform: translate(-9px,-13px) rotate(-10deg); }.hero-page-front { transform: translate(-12px,13px) rotate(-3deg); }
 .binder-section { height: 280svh; min-height: 1850px; }.binder-sticky { top: 66px; padding-top: 23px; padding-bottom: 17px; }.binder-heading h2 { font-size: 30px; }.binder-heading h2 br { display: none; }.binder-heading .eyebrow { margin-bottom: 8px; font-size: 10px; }.binder-heading>p { display: none; }
 .binder-layout { display: flex; flex-direction: column; gap: 0; align-items: stretch; margin-top: 17px; }.binder-story { position: relative; }.binder-counter { position: absolute; right: 0; top: 0; font-size: 10px; gap: 6px; }#scene-number { font-size: 18px; }.binder-story h3 { margin-top: 0; font-size: 21px; padding-right: 57px; }.binder-story>p { font-size: 12px; line-height: 1.8; min-height: 45px; margin-top: 6px; max-width: 86%; }.index-leaves { display: none; }
 .binder-stage { height: 438px; margin-top: 15px; }.workspace-card { top: 25px; left: 10px; right: 10px; }.workspace-window { border-radius: 6px; }.scene-panel { height: 308px; }.window-chrome { height: 25px; padding-left: 40px; font-size: 7px; }.window-dots { left: 9px; }.demo-label { font-size: 7px; }.workspace-nav { height: 38px; padding-inline: 11px; }.workspace-brand { font-size: 9px; }.workspace-nav-items>span { padding: 3px; font-size: 7px; }.workspace-nav-items { gap: 2px; }.workspace-brand .icon { width: 14px; height: 14px; }.leaf-tab { font-size: 8px; left: 15px; padding: 3px 13px; top: -21px; }.binder-footer { gap: 16px; font-size: 9px; }.binder-footer>span:first-child { min-width: 75px; }.binder-footer>span:last-child { min-width: 70px; }
 .collect-scene { grid-template-columns: 1fr; }.collect-scene>.import-pane { display: none; }.review-pane { padding: 18px 20px; }.mock-form-bottom { bottom: 18px; left: 20px; right: 20px; }.mini-pane-heading { margin-bottom: 13px; }.question-stem { font-size: 12px; line-height: 1.85; }.field-label { margin-top: 13px; font-size: 10px; }.mock-options { font-size: 11px; gap: 8px; margin-top: 13px; }.mini-tags>span { font-size: 9px; }.mock-form-bottom>span:first-child { font-size: 7px; }.mock-button { font-size: 10px; padding: 7px 10px; }.search-scene { grid-template-columns: 1fr; }.search-scene>.basket-pane { display: none; }.search-pane { padding: 16px; }.mock-result { padding: 11px; }.mock-result h3 { font-size: 11px; }.mock-result p { font-size: 9px; }.mock-filters { padding-block: 10px; font-size: 9px; }.mock-search { height: 31px; }.third-result { display: none; }.assemble-scene { grid-template-columns: 1fr; }.assembly-controls { display: none; }.paper-preview-pane { padding: 12px 20px; }.preview-paper { padding: 16px 22px; max-width: 320px; }.preview-paper h3 { font-size: 16px; }.preview-paper h4 { font-size: 10px; }.preview-paper p { font-size: 9px; }.paper-options { font-size: 8px; }.paper-student { font-size: 8px; }.export-stamp { font-size: 8px; bottom: 10px; }.explain-scene { grid-template-columns: 1fr; }.tutor-pane { display: none; }.simulation-pane { padding: 18px; }.orbit-stage { height: 181px; }.orbit-path { height: 125px; width: 125px; left: calc(50% - 62px); top: 21px; }.formula-note { font-size: 19px; }.force-legend { font-size: 9px; }.mock-sliders { padding-top: 8px; gap: 11px; }.mock-sliders>div,.mock-sliders b { font-size: 9px; }.workspace-image { height: 308px; object-fit: contain; width: 100%; background: white; }
 .classroom-section { display: block; padding-top: 58px; padding-bottom: 62px; }.classroom-copy h2 { font-size: 35px; }.classroom-copy>p:not(.eyebrow) { font-size: 15px; margin-top: 20px; }.classroom-question { margin-top: 24px; padding: 19px 23px; max-width: none; }.classroom-copy .classroom-subjects { font-size: 10px!important; margin-top: 21px!important; }.classroom-live { margin-top: 38px; padding-right: 10px; }.classroom-board { padding: 22px 21px; box-shadow: 10px 11px 0 #e3e9dc; }.physics-layout { grid-template-columns: minmax(0,1.5fr) minmax(101px,1fr); margin-top: 24px; gap: 10px; }.physics-diagram { height: 215px; }.physics-reading>span:first-child { font-size: 16px; }#force-output { font-size: 46px; }.physics-reading>div { margin-top: 19px; }.physics-fixed { font-size: 11px; margin-top: 17px; }.board-heading { font-size: 10px; }.board-heading button { font-size: 9px; }.physics-control { margin-top: 23px; }.physics-control label { font-size: 11px; }.board-bottom { padding-top: 16px; margin-top: 21px; }.board-bottom>span { font-size: 9px; }.board-bottom button { font-size: 10px; }.classroom-discovery { font-size: 11px; margin-top: 25px; }
 .scenarios-section { padding-top: 52px; padding-bottom: 63px; }.scenario-heading h2 { font-size: 34px; }.scenario-heading>p { font-size: 14px; }.scenario-list { display: block; margin-top: 31px; }.scenario-row { margin-top: 17px; padding: 24px 25px; }.scenario-row:nth-child(2),.scenario-row:nth-child(3) { transform: none; }.scenario-number { position: absolute; right: 24px; top: 25px; font-size: 16px; }.scenario-title h3 { font-size: 23px; margin-top: 10px; }.scenario-row>p { font-size: 15px; margin-top: 13px; }.scenario-tokens { margin-top: 20px; }.scenario-tokens>span { font-size: 10px; }
 .scenario-row:nth-child(2),.scenario-row:nth-child(3) { --note-offset: 0px; }
 .teacher-section { grid-template-columns: 1fr; padding-block: 56px; gap: 22px; }.teacher-mark { display: none; }.teacher-section h2 { font-size: 33px; }.teacher-section>p { font-size: 15px!important; }.faq-section { padding-top: 45px; padding-bottom: 58px; gap: 25px; }.faq-heading h2 { font-size: 30px; }.faq-list summary { font-size: 15px; }.faq-list details>p { font-size: 15px; }
 .download-grid { padding-block: 50px; gap: 34px; }.download-copy h2 { font-size: 33px; }.download-copy>p:not(.eyebrow) { font-size: 13px; }.contact-card { padding: 32px 0 0; border-left: 0; border-top: 1px solid #aabc9647; }.contact-card h3 { font-size: 24px; }.contact-card>p { font-size: 15px; }.contact-bottom>button { font-size: 12px; }
}
@media(max-width:360px) {
 .section-shell,.nav-shell { padding-inline: 17px; }.hero-actions { gap: 17px; }.hero-actions .button { padding-inline: 15px; font-size: 12px; gap: 20px; }.hero-download { font-size: 11px; }.hero-folder { width: 95%; height: 371px; }.hero-page { width: 70%; left: 15%; padding-inline: 17px; }.hero-page-front h2 { font-size: 25px; }.hero-page-back { transform: translate(22px,-21px) rotate(10deg); }.hero-page-middle { transform: translate(-5px,-13px) rotate(-9deg); }.folder-front { height: 79px; }
 .binder-heading h2 { font-size: 28px; }.binder-story h3 { font-size: 19px; }.binder-story>p { max-width: 95%; min-height: 65px; }.binder-stage { height: 421px; }.scene-panel { height: 306px; }.workspace-brand { font-size: 8px; }.workspace-nav-items>span { font-size: 6px; }.question-stem { font-size: 11px; }.mock-form-bottom>span:first-child { max-width: 119px; }.mock-button { font-size: 9px; }.mock-form-bottom { left: 17px; right: 17px; }
 .classroom-board { padding-inline: 17px; }.physics-layout { grid-template-columns: minmax(0,1.2fr) minmax(91px,1fr); gap: 8px; }.physics-diagram { height: 200px; }.physics-reading>span:first-child { font-size: 14px; }#force-output { font-size: 37px; }.board-bottom { gap: 10px; }.board-bottom button { font-size: 9px; }.classroom-subjects span { margin-inline: 6px; }
}
@media(max-height:820px) and (min-width:721px) {
 .binder-sticky { padding-top: 20px; padding-bottom: 17px; }.binder-heading h2 { font-size: 29px; }.binder-heading h2 br { display: none; }.binder-heading .eyebrow { margin-bottom: 8px; }.binder-layout { margin-top: 15px; }.binder-stage { height: 481px; }.workspace-card { top: 32px; }.scene-panel { height: 306px; }.index-leaves { margin-top: 25px; }.binder-story h3 { font-size: 22px; }
}
@media(max-height:760px) and (max-width:720px) {
 .binder-sticky { padding-top: 16px; }.binder-heading h2 { font-size: 26px; }.binder-heading .eyebrow { margin-bottom: 6px; }.binder-layout { margin-top: 13px; }.binder-story>p { font-size: 11px; min-height: 39px; margin-top: 5px; }.binder-stage { height: 403px; margin-top: 10px; }.scene-panel { height: 292px; }.workspace-card { top: 24px; }.binder-footer { font-size: 8px; }
}
/* 短视口先收紧展架；横屏的极矮视口改为顺序展览。 */
@media(max-height:680px) and (min-width:721px) {
 .binder-heading { display: none; }.binder-layout { margin-top: 0; }.binder-stage { height: calc(100svh - 165px); }.scene-panel { height: min(306px,calc(100svh - 290px)); }
}
@media(max-height:560px) and (min-width:721px) { .index-leaves { display: none; } }
@media(max-height:680px) and (max-width:720px) {
 .binder-heading { display: none; }.binder-layout { margin-top: 0; }.binder-stage { height: calc(100svh - 216px); }.scene-panel { height: min(292px,calc(100svh - 311px)); }
}
@media(max-height:480px) {
 .binder-layout { display: block; }
 .binder-section { --binder-static: 1; height: auto; min-height: 0; }.binder-sticky { position: relative; top: auto; padding-block: 35px 50px; }.binder-heading { display: flex; }.binder-story { display: none; }.binder-stage { display: grid; gap: 42px; height: auto; margin-top: 38px; clip-path: none; cursor: default; }.workspace-card { position: relative; top: auto; left: auto; right: auto; transform: none!important; opacity: 1!important; z-index: auto!important; pointer-events: auto; will-change: auto; }.scene-panel { height: 329px; }.binder-footer { display: none; }
}
.binder-stage .workspace-image { display: block; width: 100%; height: 100%; object-fit: contain; background: white; }
@media(prefers-reduced-motion:reduce) {
 html { scroll-behavior: auto; }*,*::before,*::after { animation: none!important; transition: none!important; }.motion-ready .reveal,.motion-ready .scenario-row { opacity: 1; transform: none; translate: none; }
}

/* 白纸铅字的真题；资料夹整体展开时保留三页的固定顺序。 */
.hero-page { background: #fff!important; transition: transform .65s cubic-bezier(.2,.8,.2,1),box-shadow .4s; }
.hero-page-back { z-index: 1; transform: translate(68px,-44px) rotate(11deg); }
.hero-page-middle { z-index: 2; transform: translate(-30px,-30px) rotate(-10deg); }
.hero-page-front { z-index: 3; }
.hero-page:focus-visible { outline: 2px solid var(--blue); outline-offset: 5px; }
.hero-page>span.paper-chapter { color: #626763; font: 12px/1.6 var(--sans); letter-spacing: .015em; }
.hero-page .paper-solution { margin-top: 28px; font: 17px/1.8 Georgia,"SimSun",serif; color: #373b39; }
.hero-page-front>p.exam-subject { margin-top: 26px; font: 12px/1.5 var(--sans); color: #747a73; }
.exam-question { display: flex; flex-direction: column; gap: 20px; margin-top: 23px; color: #303330; font: 18px/1.9 "SimSun","Songti SC",serif; }
.exam-expression { display: flex; align-items: center; gap: 9px; white-space: nowrap; font: 17px/1.6 Georgia,"SimSun",serif; }
.fraction { display: inline-flex; flex-direction: column; vertical-align: middle; align-items: stretch; text-align: center; line-height: 1.45; font-family: Georgia,"SimSun",serif; white-space: nowrap; }
.fraction>span { padding: 0 3px; }.fraction>span:first-child { border-bottom: 1px solid currentColor; }
.hero-page .hero-red-note { font-size: 12px!important; }
.binder-story h3 { margin-top: 0; padding-right: 0; }.binder-story>p { max-width: 100%; }
.binder-stage>.leaf-tab { z-index: 120; left: calc(22px + var(--card-index)*88px); top: 7px; width: 83px; padding: 6px 4px 7px; font: 11px/1.4 var(--sans); pointer-events: auto; transition: translate .25s,background .25s; background: #f3f5fa; border-color: #becde2; color: #566d94; }
.binder-stage>.leaf-tab:nth-of-type(2) { background: #e5e9d6; color: #657448; }.binder-stage>.leaf-tab:nth-of-type(3) { background: #f1e4db; color: #96735a; }.binder-stage>.leaf-tab:nth-of-type(4) { background: #e7def1; color: #7f6998; }
.binder-stage>.leaf-tab:is(:hover,:focus-visible) { translate: 0 -7px; outline-offset: 4px; }
.printed-question { color: #303330; font-family: "SimSun","Songti SC",serif; line-height: 2!important; }.source-sheet.exam-source { background: #fff; }.exam-source .printed-question { font-size: 14px; margin-top: 24px; }.exam-source .fraction { margin-block: 8px; }
.question-answer { display: flex; gap: 20px; align-items: center; margin-block: 16px 10px; font-size: 10px; color: #7d899b; }.question-answer strong { font: 21px/1 Georgia,serif; color: #3a614d; }
.solution-pane { background: #fff; }.worked-solution { padding-top: 22px; font: 13px/2 "SimSun",serif; color: #343a43; }.solution-equality { display: flex; flex-direction: column; align-items: flex-start; gap: 17px; margin: 22px 0 20px 15px; font: 20px/1.5 Georgia,serif; }.solution-equality strong { font-weight: 400; }.solution-annotation { color: #9a6052; font: 13px/1.8 "KaiTi",serif; }

/* 黑板不框定文本；滚动控制三幕板书，先擦后写。无脚本时全部顺序可读。 */
.chalkboard-section { --chalk: #f0f1e5; --chalk-muted: #c1d0c4; --chalk-yellow: #e9d79d; --chalk-blue: #a8cde0; --chalk-font: "KaiTi","STKaiti","Kaiti SC",var(--serif); color: var(--chalk); background: #20473e; position: relative; isolation: isolate; background-image: radial-gradient(ellipse at 18% 20%,#8ba68b0b,transparent 55%),linear-gradient(165deg,#ffffff03,transparent 40%,#0000000b); }
.chalkboard-section::before { content: ''; position: absolute; inset: 0; pointer-events: none; z-index: -1; opacity: .065; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.74' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"); }
.chalk-topline { display: flex; justify-content: space-between; padding-block: 24px; color: #acc6b7; font-size: 11px; letter-spacing: .08em; }
.chalk-canvas { position: relative; }.chalk-scene { position: relative; padding: 56px 0 74px; }
.chalkboard-section h2 { color: var(--chalk); font: 400 clamp(36px,4.1vw,53px)/1.38 var(--chalk-font); letter-spacing: .03em; margin-top: 20px; }.chalkboard-section h3 { color: var(--chalk); font: 400 27px/1.6 var(--chalk-font); margin-top: 16px; }
.chalk-kicker { font: 13px/1.6 var(--chalk-font); color: #b5ccb9; letter-spacing: .05em; }
.chalk-body { margin-top: 25px; color: var(--chalk-muted); font: 17px/1.9 var(--chalk-font); }.chalk-small { font-size: 15px; }.chalk-note { color: var(--chalk-yellow); font: 21px/1.7 var(--chalk-font); margin-top: 32px; transform: rotate(-3deg); }
.geometry-scene { display: grid; grid-template-columns: .95fr 1.05fr; align-items: center; gap: 78px; }.chalk-geometry { text-align: center; }.chalk-cube { display: block; width: 100%; max-width: 460px; margin: 0 auto; overflow: visible; color: #e4e9dc; }.cube-hidden { stroke: #adc2b166; }.cube-blue { stroke: var(--chalk-blue); stroke-width: 4; }.cube-yellow { stroke: var(--chalk-yellow); stroke-width: 4; }.cube-translation { stroke: #bbd1c299; stroke-width: 1.4; }.cube-angle { stroke: var(--chalk-yellow); stroke-width: 2; }.cube-labels { fill: #dae3d6; font: 19px Georgia,serif; }.cube-angle-label { fill: var(--chalk-yellow); font: 22px Georgia,serif; }
.geometry-relation { color: var(--chalk-blue); font: 23px/1.7 var(--chalk-font); margin-top: 16px; }.geometry-answer { color: var(--chalk-yellow); font: 21px/1.7 var(--chalk-font); margin-top: 13px; }
.routine-scene>h2 { margin-top: 20px; }.chalk-color-blue { color: var(--chalk-blue); }.chalk-color-yellow { color: var(--chalk-yellow); }.chalk-route { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 50px; margin-top: 50px; }.chalk-route .chalk-note { font-size: 19px; margin: 0; }.chalk-route .chalk-body { font-size: 16px; margin-top: 18px; }.chalk-route-mark { color: #cdd6b6; font: 17px/1.7 var(--chalk-font); margin-top: 25px; }
.teacher-scene { display: grid; grid-template-columns: 1fr 1fr; gap: 115px; align-items: center; }.chalk-teacher-notes { padding-top: 35px; }.chalk-teacher-notes>p { font: 26px/1.6 var(--chalk-font); margin-top: 24px; }.chalk-teacher-notes>p>span:not(.chalk-letter):not(.chalk-accessible) { color: var(--chalk-blue); margin-right: 12px; }.chalk-signature { width: 90%; height: 52px; margin-top: 12px; overflow: visible; fill: none; stroke: #e9d79da6; stroke-width: 1.6; stroke-linecap: round; }.chalk-teacher-notes>p.chalk-last-note { color: var(--chalk-yellow); font-size: 19px; margin-top: 8px; transform: rotate(-3deg); }
.board-ledge { position: relative; height: 9px; background: #18372f; border-top: 1px solid #7c9b7745; }.chalk-stick { position: absolute; right: 15%; bottom: 6px; width: 36px; height: 6px; background: #e3e6d8; border-radius: 1px; transform: rotate(-3deg); }.chalk-stick.yellow { right: calc(15% + 49px); width: 30px; background: #d7c890; transform: rotate(2deg); }
.chalk-eraser,.chalk-tip { display: none; }.chalk-accessible { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.chalk-letter { display: inline; }
.chalk-story.is-animated { height: calc(240svh + min(920px,100svh - 76px)); }
.is-animated .chalk-sticky { position: sticky; top: 76px; height: min(920px,calc(100svh - 76px)); display: flex; flex-direction: column; overflow: hidden; }
.is-animated .chalk-topline { width: 100%; flex: 0 0 68px; align-items: center; padding-block: 0; }.is-animated .chalk-canvas { flex: 1; width: 100%; padding: 0; }
.is-animated .chalk-scene { position: absolute; inset: 0; padding: 36px 48px 55px; opacity: 0; pointer-events: none; mask-repeat: no-repeat; mask-size: 100% 12.6%; }.is-animated .chalk-scene.is-current { opacity: 1; }
.is-animated .chalk-letter { display: inline-block; mask-image: linear-gradient(135deg,#000 calc(var(--stroke,0)*125% - 25%),transparent calc(var(--stroke,0)*125%)); text-shadow: .5px .3px 0 #f0f1e533,-.4px .4px 0 #f0f1e522; }
.is-animated .chalk-draw { stroke-dasharray: 1; stroke-dashoffset: calc(1 - var(--draw,0)); }
.is-animated .chalk-piece { clip-path: inset(0 calc((1 - var(--draw,0))*100%) 0 0); }
.is-animated .geometry-answer::after { opacity: var(--piece-progress,0); }
.has-script .chalk-pending .chalk-scene { visibility: hidden; }
.chalk-dust-layer { display: none; }
.is-animated .chalk-dust-layer { display: block; position: absolute; inset: 0; overflow: hidden; pointer-events: none; z-index: 3; }
.chalk-dust-layer>canvas { position: absolute; inset: 0; width: 100%; height: 100%; opacity: .58; mix-blend-mode: screen; }
.chalk-dust-layer>i { position: absolute; width: var(--dust-size); height: var(--dust-size); border-radius: 50%; background: #e5e8d6; animation: chalk-dust-fall var(--dust-life) cubic-bezier(.2,.4,.45,1) both; }
@keyframes chalk-dust-fall { 0% { opacity: 0; transform: translate(0,0); } 14% { opacity: .36; } 60% { opacity: .15; } 100% { opacity: 0; transform: translate(var(--dust-x),var(--dust-y)) scale(.45); } }
.is-animated .chalk-eraser { display: block; position: absolute; width: 69px; height: 27px; margin: -13px 0 0 -34px; border-radius: 2px; background: #ab9473; box-shadow: 0 4px 0 #d0cabc; pointer-events: none; z-index: 4; opacity: 0; transform: rotate(-5deg); }.chalk-eraser>i { position: absolute; inset: 5px 9px; background: #86775c; border-radius: 1px; }.chalk-eraser::after { content: ''; position: absolute; inset: -16px -29px; background: radial-gradient(ellipse,#e6ead721,transparent 70%); }
.is-animated .chalk-tip { display: block; position: absolute; width: 5px; height: 19px; margin: -6px 0 0 5px; border-radius: 1px; background: #f0f1e5; pointer-events: none; opacity: 0; transform: rotate(-28deg); box-shadow: 0 0 13px #e6ead72b; }
@media(max-width:1100px) { .geometry-scene { gap: 40px; }.chalk-route { gap: 28px; }.chalkboard-section h3 { font-size: 23px; }.chalk-route .chalk-body { font-size: 15px; }.teacher-scene { gap: 60px; } }
@media(max-width:720px) {
 .hero-folder .hero-page-back { transform: translate(39px,-35px) rotate(10deg); }.hero-folder .hero-page-middle { transform: translate(-22px,-22px) rotate(-10deg); }.hero-page-front>p.exam-subject { font-size: 11px; margin-top: 19px; }.exam-question { font-size: 16px; margin-top: 18px; gap: 14px; }.exam-expression { font-size: 15px; gap: 5px; }.hero-page>span.paper-chapter { font-size: 11px; }.hero-page .paper-solution { font-size: 15px; }
 .binder-stage>.leaf-tab { left: calc(10px + var(--card-index)*74px); top: -3px; width: 69px; font-size: 9px; padding-block: 5px; }.binder-story h3 { padding-right: 0; }.binder-story>p { max-width: 100%; }.exam-source .printed-question { font-size: 12px; }.worked-solution { font-size: 12px; padding-top: 18px; }.solution-equality { font-size: 19px; gap: 15px; margin-top: 18px; }.solution-annotation { font-size: 12px; }
 .chalk-topline { font-size: 9px; padding-block: 20px; letter-spacing: .02em; }.chalk-scene { padding: 28px 0 50px; }.chalkboard-section h2 { font-size: 35px; line-height: 1.35; margin-top: 12px; }.chalk-kicker { font-size: 11px; }.geometry-scene { display: block; }.chalk-body { font-size: 15px; line-height: 1.8; margin-top: 14px; }.chalk-note { font-size: 19px; margin-top: 18px; }.chalk-small { display: none; }.chalk-cube { max-width: 320px; height: 232px; margin-top: 20px; }.geometry-relation { font-size: 19px; margin-top: 0; }.geometry-answer { font-size: 18px; margin-top: 5px; }
 .chalk-route { display: block; margin-top: 27px; }.chalk-route>div+div { margin-top: 25px; }.chalkboard-section h3 { font-size: 23px; margin-top: 4px; }.chalk-route .chalk-note { font-size: 16px; }.chalk-route .chalk-body { font-size: 14px; margin-top: 8px; }.chalk-route-mark { font-size: 14px; margin-top: 7px; }.routine-scene>h2 { font-size: 29px; margin-top: 14px; letter-spacing: 0; }
 .teacher-scene { display: block; }.chalk-teacher-notes { padding-top: 22px; }.chalk-teacher-notes>p { font-size: 24px; margin-top: 20px; }.chalk-teacher-notes>p.chalk-last-note { font-size: 19px; }
 .chalk-story.is-animated { height: calc(240svh + 100svh - 66px); }.is-animated .chalk-sticky { top: 66px; height: calc(100svh - 66px); }.is-animated .chalk-topline { flex-basis: 48px; }.is-animated .chalk-scene { padding: 25px 24px 30px; }.is-animated .chalk-eraser { width: 46px; height: 22px; margin-left: -23px; }
}
@media(max-width:360px) {
 .binder-stage>.leaf-tab { left: calc(7px + var(--card-index)*66px); width: 62px; font-size: 8px; }.exam-question { font-size: 14px; }.exam-expression { font-size: 13px; }.hero-page .paper-solution { font-size: 13px; }.hero-page .hero-red-note { font-size: 10px!important; }
 .chalkboard-section h2 { font-size: 31px; }.routine-scene>h2 { font-size: 25px; }.chalk-cube { height: 200px; margin-top: 12px; }.chalkboard-section h3 { font-size: 21px; }.chalk-route>div+div { margin-top: 12px; }.chalk-route .chalk-body { font-size: 13.5px; line-height: 1.7; }.is-animated .chalk-scene { padding: 20px 17px 24px; }.chalk-body { font-size: 14px; }.geometry-relation { font-size: 18px; }.geometry-answer { font-size: 16px; }
}
@media(max-height:780px) and (min-width:721px) { .is-animated .chalk-scene { padding-block: 22px 35px; }.chalkboard-section h2 { font-size: 40px; }.chalk-cube { max-width: 360px; }.chalk-route { margin-top: 32px; }.chalk-note { margin-top: 23px; }.chalk-body { font-size: 16px; }.chalk-small { display: none; } }
@media(max-height:580px) { .chalk-story { --chalk-static: 1; }.binder-stage>.leaf-tab { display: none; } }
@media(prefers-reduced-motion:reduce) { .chalk-story { --chalk-static: 1; }.hero-folder .hero-page:is(:hover,:focus) { transition: none; } }

/* 首屏的三页一起弹出，前后顺序固定，不逐张翻阅。 */
.hero-folder { height: 480px; }.hero-page { width: 61%; height: 324px; transition: transform .65s cubic-bezier(.2,.82,.24,1.12),box-shadow .4s; }
.hero-folder .hero-page-back { z-index: 1; transform: translate(55px,-30px) rotate(10deg); }.hero-folder .hero-page-middle { z-index: 2; transform: translate(-5px,-22px) rotate(-8deg); }.hero-folder .hero-page-front { z-index: 3; transform: translate(-25px,15px) rotate(-3deg); }
.hero-page-back>.paper-chapter { display: block; text-align: right; }
.hero-folder.is-fanned .hero-page-back { transform: translate3d(96px,-88px,-35px) rotate(9deg); box-shadow: 0 18px 30px #223d3614; }.hero-folder.is-fanned .hero-page-middle { transform: translate3d(-28px,-113px,5px) rotate(-9deg); box-shadow: 0 22px 34px #223d3618; }.hero-folder.is-fanned .hero-page-front { transform: translate3d(-100px,-20px,38px) rotate(-6deg); box-shadow: 0 26px 40px #223d3621; }
.folder-front { padding: 0; }.folder-toggle { display: flex; align-items: center; justify-content: space-between; gap: 25px; width: 100%; height: 100%; padding: 28px 29px; color: inherit; background: none; border: 0; font: inherit; text-align: left; cursor: pointer; }.folder-toggle:focus-visible { outline: 2px solid var(--blue); outline-offset: -6px; }

/* 板材边缘、擦痕和粉笔线让整面黑板更有实体感，内容仍直接落在板上。 */
.chalk-sticky { position: relative; background-image: radial-gradient(ellipse at 70% 68%,#b6c5a806,transparent 51%),linear-gradient(0deg,#0000000c,transparent 60%); box-shadow: inset 0 2px #66807038,inset 0 -2px #122d2670; }.chalk-topline { border-bottom: 1px solid #b7c3a719; }.board-caption-divider { margin-inline: 14px; color: #8dad92; }.chalk-canvas::before { content: ''; position: absolute; inset: 4% 3%; pointer-events: none; background: radial-gradient(ellipse at 20% 44%,#e5e9cc06,transparent 45%),radial-gradient(ellipse at 90% 70%,#e5e9cc04,transparent 30%); }
.chalk-title-rule { width: 270px; height: 18px; margin-top: 9px; display: block; fill: none; stroke: var(--chalk-yellow); stroke-width: 1.8; stroke-linecap: round; }.chalk-copy>.chalk-body { margin-top: 22px; }.chalk-cube { filter: url(#chalk-grain); }.cube-plane { opacity: .7; }.cube-blue,.cube-yellow { stroke-width: 3.4; }.geometry-relation { letter-spacing: .025em; }.geometry-answer { position: relative; display: inline-block; padding-bottom: 7px; }.geometry-answer::after { content: ''; position: absolute; inset: auto 0 0; height: 3px; border-top: 1.5px solid #e9d79d9c; border-radius: 50%; transform: rotate(-1.2deg); }
.chalk-route>div { position: relative; }.chalk-route>div:not(:last-child)::after { content: '↝'; position: absolute; right: -32px; top: 38px; color: #aacac0; font: 32px/1 var(--chalk-font); transform: rotate(-8deg); }.chalk-route .chalk-note { color: var(--chalk-blue); }.chalk-route-mark { color: var(--chalk-yellow); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 7px; text-decoration-color: #e9d79d5b; }

/* 教师的第一人称视角：台下三排学生，前景是自己面前的讲台台面。 */
.classroom-faq { display: block; padding: 35px 0 32px; background: #f2f0e7; position: relative; overflow: clip; }
.classroom-faq .faq-heading { display: block; }.classroom-faq .faq-heading h2 { font: 500 36px/1.4 var(--serif); margin-top: 12px; color: #29483b; }.classroom-faq .faq-heading .eyebrow { font-size: 11px; color: #7c856e; }
.faq-room { position: relative; margin-top: 16px; isolation: isolate; }
.classroom-audience { position: relative; padding: 25px 22px 14px; max-width: 1060px; margin: 0 auto; isolation: isolate; }
.classroom-audience::before { content: ''; position: absolute; z-index: -2; inset: 0 0 auto; height: 78px; border-top: 1px solid #cdd4c344; background: linear-gradient(#e7ebe154,transparent); }
.classroom-floor { position: absolute; z-index: -1; inset: 61px -3% -55px; opacity: .35; background-image: linear-gradient(#8c9e861d 1px,transparent 1px),linear-gradient(90deg,#8c9e861b 1px,transparent 1px); background-size: 88px 73px; mask-image: linear-gradient(transparent,#000 35%,transparent); transform: perspective(680px) rotateX(23deg); }
.classroom-windows { position: absolute; pointer-events: none; inset: 15px 0 auto; display: flex; justify-content: space-between; }.classroom-windows i { width: 47px; height: 89px; border: 2px solid #c6d1bd66; background: linear-gradient(90deg,transparent 47%,#c6d1bd66 47% 51%,transparent 51%),linear-gradient(transparent 48%,#c6d1bd66 48% 51%,transparent 51%),#e2e9dd3d; transform: skewY(9deg); }.classroom-windows i:last-child { transform: skewY(-9deg); }
.classroom-clock { position: absolute; width: 25px; height: 25px; left: calc(50% - 12.5px); top: 3px; border: 1px solid #9ba9926b; border-radius: 50%; }.classroom-clock::before,.classroom-clock::after { content: ''; position: absolute; background: #9ba9928c; left: 11px; top: 5px; width: 1px; height: 7px; transform-origin: bottom; }.classroom-clock::after { transform: rotate(115deg); height: 5px; top: 7px; }
.audience-row { position: relative; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 48px; margin: 0 auto; }.audience-row+.audience-row { margin-top: 8px; }.audience-bank { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 13px; }
.audience-row-0 { width: 75%; --figure-width: 76px; --figure-height: 102px; --desk-width: 111px; --desk-height: 27px; --seat-height: 106px; }.audience-row-1 { width: 88%; --figure-width: 88px; --figure-height: 116px; --desk-width: 131px; --desk-height: 30px; --seat-height: 120px; }.audience-row-2 { width: 100%; --figure-width: 100px; --figure-height: 132px; --desk-width: 150px; --desk-height: 34px; --seat-height: 134px; }
.classroom-seat { position: relative; height: var(--seat-height); z-index: 1; }.classroom-seat.is-speaking { z-index: 12; }.audience-row:has(.is-speaking) { z-index: 12; }
.faq-student,.seated-student { display: block; position: absolute; width: var(--figure-width); height: var(--figure-height); left: 50%; top: 0; margin-left: calc(var(--figure-width) / -2); padding: 0; background: none; border: 0; color: #486451; z-index: 2; }
.faq-student { cursor: pointer; outline-offset: 4px; }.faq-student:focus-visible { outline: 2px dashed #648570; border-radius: 28px 28px 4px 4px; }.student-figure { display: block; width: 100%; height: 100%; overflow: visible; }
.student-arm { transform-box: view-box; transform-origin: 84px 82px; transition: transform .4s cubic-bezier(.2,.8,.2,1.15); }.is-asking .student-arm { transform: rotate(-125deg); }
.student-marker { position: absolute; top: 8px; right: -7px; display: grid; place-items: center; width: 22px; height: 22px; color: #6c7558; background: #e6e4cf; border: 1px solid #c2c8ae; border-radius: 50%; font: 16px/1 Georgia,serif; box-shadow: 0 3px 8px #6473590b; transition: color .2s,background .2s,translate .25s; }.is-asking .student-marker { color: #355c9d; background: #dde7f4; border-color: #adc3de; translate: 0 -3px; }
.school-desk { position: absolute; bottom: 13px; left: 50%; width: var(--desk-width); height: var(--desk-height); margin-left: calc(var(--desk-width) / -2); background: linear-gradient(170deg,#dbc9a6,#cdb98f); border: 1px solid #bfad87; border-radius: 2px; z-index: 3; pointer-events: none; box-shadow: 0 6px 0 #baa27c; transform: perspective(240px) rotateX(19deg); }
.school-desk::before { content: ''; position: absolute; top: calc(100% + 10px); left: 12px; right: 12px; height: 18px; background: linear-gradient(90deg,#a4987c 0 3px,transparent 3px calc(100% - 3px),#a4987c calc(100% - 3px)); }
.desk-book { position: absolute; width: 32%; height: 72%; top: 1px; left: 29%; background: #fbf9ee; border: 1px solid #e5ddc7; transform: rotate(-3deg); }.desk-book::before { content: ''; position: absolute; inset: 4px 5px; border-top: 1px solid #bdc3b2; border-bottom: 1px solid #cbd0c1; }.desk-book::after { content: ''; position: absolute; top: 0; bottom: 0; left: 49%; width: 1px; background: #e5deca; }
.desk-pencil { position: absolute; width: 19%; height: 2px; top: 65%; right: 14%; background: #798d7d; transform: rotate(15deg); }.student-chair { position: absolute; width: 55%; height: 46%; bottom: 12px; left: 22.5%; border-radius: 3px; background: #91a092; z-index: 1; }
.student-bubble { display: block; position: absolute; z-index: 10; bottom: calc(100% + 3px); left: calc(50% + var(--bubble-shift,0px)); width: 219px; padding: 13px 16px; background: #fffef6; color: #314d40; border: 1px solid #c3cbb9; border-radius: 10px 10px 10px 2px; box-shadow: 0 8px 20px #465a3e10; font: 14px/1.6 var(--sans); text-align: left; opacity: 0; transform: translate(-50%,6px); transition: opacity .2s,transform .25s; pointer-events: none; }
.student-bubble::after { content: ''; position: absolute; bottom: -6px; left: calc(50% - var(--bubble-shift,0px)); width: 10px; height: 10px; background: #fffef6; border-right: 1px solid #c3cbb9; border-bottom: 1px solid #c3cbb9; transform: rotate(45deg); }.is-asking .student-bubble { opacity: 1; transform: translate(-50%,0); pointer-events: auto; }

/* 台面远边较窄、近边较宽，回答写在摊开的备课本上，保持教师看向台下的方位。 */
.lectern-desktop { position: relative; z-index: 5; margin: 16px -18px 0; padding: 25px 52px 30px; isolation: isolate; }
.lectern-desktop::before { content: ''; position: absolute; z-index: -1; inset: 0; background: repeating-linear-gradient(1deg,transparent 0 17px,#ad93651b 18px,transparent 19px 34px),linear-gradient(180deg,#dfcfad,#d3bf97 65%,#cbb58c); clip-path: polygon(4% 0,96% 0,100% 100%,0% 100%); border-top: 1px solid #bba47c; }
.lectern-edge { position: absolute; inset: auto 0 -11px; height: 12px; background: #b79f77; box-shadow: 0 5px 0 #a88e665c; }.lectern-notebook { position: relative; max-width: 820px; margin: 0 auto; padding: 39px 36px 28px; min-height: 175px; color: #344b3d; background: linear-gradient(90deg,#f9f7ee 0 31.7%,#ebe6d7 32%,#f2eee2 32.4%,#fcfaf1 33%,#fbf9f0 99%); box-shadow: 1px 4px 0 #ede7d3,0 7px 15px #705a3017; transform: rotate(-.7deg); }
.lectern-notebook::after { content: ''; position: absolute; top: -1px; left: 22px; width: 20px; height: 30px; background: #a16b59; clip-path: polygon(0 0,100% 0,100% 100%,50% 83%,0 100%); opacity: .8; }
.answer-overline { position: absolute; top: 17px; left: 36px; color: #8c9179; font: 11px/1.5 var(--sans); letter-spacing: .08em; }
.classroom-answer { display: grid; grid-template-columns: 25% minmax(0,1fr); gap: 55px; align-items: start; }.classroom-answer h3 { font: 400 23px/1.5 "KaiTi","STKaiti",var(--serif); color: #385545; margin-top: 4px; }.classroom-answer p { font: 14px/1.9 var(--sans); color: #5d6956; margin: -5px 0 0; }.classroom-answer+.classroom-answer { margin-top: 28px; }.is-interactive .classroom-answer { margin-top: 0; }.classroom-answer[hidden] { display: none!important; }
.lectern-stationery { position: absolute; width: 50px; height: 125px; right: 50px; top: 39px; transform: rotate(8deg); pointer-events: none; }.lectern-pen { position: absolute; width: 6px; height: 97px; left: 12px; top: 10px; background: linear-gradient(#9f6553 0 8%,#ab7664 8% 82%,#dac5a1 82% 97%,#6b6555 97%); border-radius: 3px; transform: rotate(8deg); }.lectern-ruler { position: absolute; width: 21px; height: 119px; right: -16px; background: repeating-linear-gradient(0deg,transparent 0 8px,#9d8d6b85 8px 9px,transparent 9px 10px),#dccba67a; border: 1px solid #bba57b61; transform: rotate(-7deg); opacity: .7; }
@media(max-width:1100px) {
 .hero-folder.is-fanned .hero-page-front { transform: translate3d(-65px,-16px,30px) rotate(-6deg); }.hero-folder.is-fanned .hero-page-back { transform: translate3d(66px,-82px,-30px) rotate(9deg); }.hero-folder.is-fanned .hero-page-middle { transform: translate3d(-21px,-111px,0) rotate(-9deg); }.chalk-route>div:not(:last-child)::after { right: -26px; font-size: 27px; }
 .classroom-audience { padding-inline: 4px; }.audience-row { column-gap: 31px; }.audience-bank { gap: 8px; }.audience-row-0 { --desk-width: 96px; }.audience-row-1 { --desk-width: 114px; }.audience-row-2 { --desk-width: 130px; }.lectern-desktop { padding-inline: 40px; }.lectern-notebook { max-width: 730px; }.lectern-stationery { right: 22px; }
}
@media(max-width:900px) {
 .hero-page { width: 68%; }.hero-folder.is-fanned .hero-page-front { transform: translate3d(-40px,-13px,22px) rotate(-5deg); }.hero-folder.is-fanned .hero-page-back { transform: translate3d(45px,-69px,-30px) rotate(8deg); }.hero-folder.is-fanned .hero-page-middle { transform: translate3d(-18px,-99px,0) rotate(-8deg); }
 .audience-row-0 { width: 83%; --figure-width: 64px; --figure-height: 87px; --desk-width: 80px; --seat-height: 92px; }.audience-row-1 { width: 94%; --figure-width: 73px; --figure-height: 98px; --desk-width: 95px; --seat-height: 103px; }.audience-row-2 { --figure-width: 82px; --figure-height: 111px; --desk-width: 104px; --seat-height: 115px; }.audience-row { column-gap: 24px; }.classroom-answer { gap: 30px; }.lectern-notebook { padding-inline: 25px; }.answer-overline { left: 25px; }.classroom-answer h3 { font-size: 21px; }.classroom-answer p { font-size: 13px; }.lectern-stationery { display: none; }
}
@media(max-width:720px) {
 .hero-folder { height: 410px; margin-top: 94px; }.hero-page { width: 66%; height: 282px; }.hero-folder .hero-page-back { transform: translate(33px,-21px) rotate(9deg); }.hero-folder .hero-page-middle { transform: translate(-8px,-13px) rotate(-8deg); }.hero-folder .hero-page-front { transform: translate(-12px,13px) rotate(-3deg); }.hero-folder.is-fanned .hero-page-back { transform: translate3d(42px,-64px,-25px) rotate(9deg); }.hero-folder.is-fanned .hero-page-middle { transform: translate3d(-16px,-105px,0) rotate(-8deg); }.hero-folder.is-fanned .hero-page-front { transform: translate3d(-38px,-7px,18px) rotate(-5deg); }.hero-page-back>.paper-chapter { max-width: 52px; margin-left: auto; font-size: 10px; line-height: 1.5; }.exam-question { font-size: 14px; }.exam-expression { font-size: 14px; }.folder-toggle { padding-inline: 25px; }.chalk-title-rule { width: 191px; height: 14px; margin-top: 4px; }.chalk-copy>.chalk-body { margin-top: 12px; }.chalk-route>div:not(:last-child)::after { display: none; }.geometry-answer { padding-bottom: 5px; }
 .classroom-faq { padding-block: 35px 28px; }.classroom-faq .faq-heading h2 { font-size: 30px; }.faq-room { margin-top: 21px; }.classroom-audience { padding: 28px 0 14px; }.classroom-windows i { width: 26px; height: 65px; }.classroom-clock { width: 21px; height: 21px; top: 2px; }.classroom-clock::before,.classroom-clock::after { left: 9px; top: 4px; }.classroom-clock::after { top: 6px; }
 .audience-bank { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }.seat-decor.is-distant { display: none; }.audience-row { column-gap: 20px; }.audience-row-0 { width: 84%; --figure-width: 44px; --figure-height: 61px; --desk-width: 62px; --desk-height: 20px; --seat-height: 72px; }.audience-row-1 { width: 94%; --figure-width: 52px; --figure-height: 72px; --desk-width: 73px; --desk-height: 23px; --seat-height: 83px; }.audience-row-2 { --figure-width: 60px; --figure-height: 84px; --desk-width: 81px; --desk-height: 25px; --seat-height: 94px; }
 .school-desk { bottom: 11px; box-shadow: 0 4px 0 #baa27c; }.school-desk::before { top: calc(100% + 7px); height: 12px; left: 7px; right: 7px; }.desk-book::before { inset: 3px; }.student-chair { bottom: 16px; }.student-marker { top: 1px; right: -13px; width: 21px; height: 21px; font-size: 15px; }.student-bubble { width: min(220px,calc(100vw - 48px)); font-size: 13px; padding: 12px 14px; }
 .lectern-desktop { margin: 16px -15px 0; padding: 20px 20px 22px; }.is-interactive .lectern-desktop { position: sticky; bottom: 0; }.lectern-notebook { padding: 33px 20px 20px; min-height: 199px; background: linear-gradient(90deg,#f7f4e9,#fcfaf2 35%,#fbf9ef); transform: rotate(-.5deg); }.answer-overline { top: 11px; left: 20px; font-size: 10px; }.classroom-answer { display: block; }.classroom-answer h3 { font-size: 20px; margin-top: 0; }.classroom-answer p { font-size: 12.5px; line-height: 1.85; margin-top: 10px; }.lectern-notebook::after { width: 14px; height: 22px; left: auto; right: 20px; }.lectern-edge { height: 9px; bottom: -8px; }.classroom-floor { inset: 42px 0 -35px; background-size: 45px 44px; }
}
@media(max-width:360px) {
 .hero-page { width: 70%; }.hero-folder.is-fanned .hero-page-front { transform: translate3d(-29px,-6px,12px) rotate(-4deg); }.hero-folder.is-fanned .hero-page-back { transform: translate3d(27px,-61px,-23px) rotate(8deg); }.hero-folder.is-fanned .hero-page-middle { transform: translate3d(-11px,-98px,0) rotate(-7deg); }.exam-expression { font-size: 12.5px; }.exam-question { font-size: 13.5px; }.chalk-title-rule { width: 171px; height: 12px; }
 .classroom-faq .faq-heading h2 { font-size: 28px; }.audience-bank { gap: 5px; }.audience-row { column-gap: 14px; }.audience-row-0 { width: 86%; --desk-width: 55px; }.audience-row-1 { width: 94%; --desk-width: 64px; }.audience-row-2 { --desk-width: 72px; --figure-width: 57px; --figure-height: 81px; }.student-marker { right: -10px; }.lectern-desktop { padding-inline: 17px; }.lectern-notebook { padding-inline: 16px; min-height: 212px; }.answer-overline { left: 16px; }.classroom-answer h3 { font-size: 19px; }.classroom-answer p { font-size: 12px; }
}
@media(prefers-reduced-motion:reduce) { .student-arm,.student-marker,.student-bubble,.hero-page { transition: none!important; }.hero-folder.is-fanned .hero-page { box-shadow: none; } }

/* 理科实验页：留在记录纸上的图、读数和批注，避免又做成一块黑板卡片。 */
.force-lesson { background: #eef1ed; padding-block: 92px 96px; overflow: hidden; }
.force-layout { display: grid; grid-template-columns: .8fr 1.2fr; align-items: center; gap: 64px; }
.force-copy h2 { font: 900 clamp(37px,3.6vw,52px)/1.4 var(--display-lesson); letter-spacing: .015em; }
.force-copy h2>span { color: var(--blue); }
.force-copy>p:not(.eyebrow) { font-size: 15px; color: var(--muted); line-height: 1.95; margin-top: 25px; }
.force-teaching-note { margin-top: 48px; padding-left: 19px; border-left: 2px solid #b9544266; }
.force-teaching-note>span { font-size: 11px; letter-spacing: .1em; color: var(--red); }
.force-teaching-note p { font: 400 23px/1.65 "STKaiti","KaiTi",serif; margin-top: 11px; }
.force-teaching-note svg { width: 167px; height: 22px; fill: none; stroke: var(--red); stroke-width: 1; margin-left: 35px; }
.force-experiment { min-width: 0; background: #fffef9; padding: 24px 29px 20px; box-shadow: 9px 12px 0 #dce3dd; position: relative; }
.force-experiment::before { content: ''; position: absolute; inset: 60px 0 0; pointer-events: none; background: repeating-linear-gradient(0deg,transparent 0,transparent 27px,#355dba06 28px); }
.force-experiment>* { position: relative; }
.force-sheet-top { display: flex; align-items: center; justify-content: space-between; gap: 15px; font-size: 11px; color: #738777; padding-bottom: 17px; border-bottom: 1px solid var(--line); }
.force-sheet-top button { display: flex; align-items: center; gap: 6px; border: 0; background: none; color: var(--blue); padding: 8px 0 8px 8px; font-size: 11px; cursor: pointer; }
.force-sheet-top button:focus-visible { outline: 2px solid var(--blue); outline-offset: 4px; }
.force-sheet-top button:disabled { opacity: .55; cursor: default; }
.force-sheet-top .icon { width: 12px; height: 12px; }
.force-observation { display: grid; grid-template-columns: minmax(0,1fr) 137px; gap: 9px; align-items: center; }
.force-orbit { display: block; width: 100%; height: auto; overflow: visible; }
.force-guides { stroke: #9dada521; stroke-width: 1; fill: none; }
.force-track { stroke: #94a697; stroke-width: 1.4; stroke-dasharray: 4 5; fill: none; }
.force-radius { stroke: #b2bbb1; stroke-width: 1.2; stroke-dasharray: 3 5; }
.force-center { fill: #607b6b; }.force-center-name { font: italic 20px Georgia,serif; fill: #607b6b; }
.force-radius-label { font: italic 17px Georgia,serif; fill: #7f8d7e; }
.force-vector { stroke: var(--red); stroke-width: 2.7; }.velocity-vector { stroke: var(--blue); stroke-width: 2.5; }
.force-ball { fill: var(--ink); stroke: #fffef9; stroke-width: 2; }
.force-direction-note { font: 20px "STKaiti","KaiTi",serif; fill: #687b72; }
.force-equation { font: italic 23px/1.4 Georgia,serif; color: var(--ink); white-space: nowrap; }
.force-equation .fraction { font-size: 21px; }.force-equation .fraction>span { padding-inline: 4px; }
.force-result { display: flex; align-items: baseline; gap: 7px; margin-top: 16px; color: var(--red); }
.force-result output { font: 400 60px/1.1 Georgia,serif; letter-spacing: -.04em; }
.force-result>span { font: italic 17px Georgia,serif; }
.force-mass { display: block; font: italic 11px Georgia,serif; margin-top: 14px; color: #819081; white-space: nowrap; }
.force-comparison { margin-top: 25px; color: #758576; font-size: 12px; line-height: 1.9; }
.force-comparison output { color: var(--red); font: 400 23px Georgia,serif; margin-inline: 3px; }
.force-speed-control { margin-top: 10px; }
.force-speed-control label { display: flex; align-items: center; justify-content: space-between; color: #5e7366; font-size: 12px; }
.force-speed-control label>span { font: italic 16px Georgia,serif; color: var(--blue); }
.force-speed-control input { display: block; width: 100%; height: 34px; margin-top: 9px; accent-color: var(--blue); cursor: pointer; }
.force-speed-control input:focus-visible { outline: 2px solid var(--blue); outline-offset: 3px; }
.force-scale { display: flex; justify-content: space-between; color: #8b988a; font: 11px Georgia,serif; }
.force-sheet-bottom { display: flex; align-items: center; justify-content: space-between; gap: 15px; padding-top: 18px; margin-top: 18px; border-top: 1px solid var(--line); color: #879482; font-size: 10px; }
.force-legend { display: flex; gap: 14px; }.force-legend span { display: flex; align-items: center; gap: 6px; }
.force-legend i { width: 16px; height: 2px; background: var(--blue); }.force-legend span:last-child i { background: var(--red); }

/* 下载占一整块公式板面，中央留给标题与描边按钮；联系内容在下一块纸面上。 */
.science-download { isolation: isolate; background: #172f3d; min-height: calc(100svh - 76px); display: grid; align-items: center; scroll-margin-top: -20px; }
.science-download::before { display: block; z-index: -2; background: url("assets/science-formulas.svg") center / cover no-repeat; }
.science-download::after { content: ''; position: absolute; inset: 0; z-index: -1; pointer-events: none; background: radial-gradient(ellipse at center,#172f3df0 0,#172f3dae 26%,#172f3d00 62%); }
.science-download .download-grid { display: grid; grid-template-columns: 1fr; gap: 0; place-items: center; width: 100%; text-align: center; padding-block: 80px; min-height: calc(100svh - 76px); }
.science-download .download-copy { max-width: 620px; margin-inline: auto; }
.science-download .download-copy .eyebrow { color: #b4c9ce; margin-bottom: 27px; letter-spacing: .18em; font-weight: 600; }
.science-download .download-copy h2 { font: 400 clamp(50px,5vw,72px)/1.24 var(--display-hand); letter-spacing: .08em; color: #f1f3e7; }
.science-download .download-copy h2>span { display: inline-block; color: #d9e5cf; }
.science-download .download-copy>p:not(.eyebrow) { color: #b5c7c8; font-size: 13px; margin-top: 21px; }
.science-download .download-action { margin-top: 28px; }
.science-download .download-outline { background: transparent; color: #edf2e8; border: 1px solid #cfddd4a6; border-radius: 18px; padding: 15px 24px; gap: 24px; font-size: 14px; }
.science-download .download-outline:hover { background: #c7ddd310; border-color: #ecf0dd; color: white; }
.science-download .download-outline:focus-visible { outline: 2px solid #e2edce; outline-offset: 5px; }
.science-download .release-note { color: #a0b6b8; font-size: 11px; margin-top: 17px; }
.main-nav .nav-download { border-radius: 13px; }.main-nav .nav-download:hover { color: #fffef8; }
.contact-section { background: #f6f4e9; padding-block: 64px 61px; }
.contact-layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: 90px; align-items: center; }
.contact-intro { position: relative; }.contact-kicker { color: #8e977f; font-size: 11px; }
.contact-intro h2 { font: 400 31px/1.5 var(--serif); margin-top: 15px; color: var(--ink); }
.contact-intro h2>span { font: 400 40px/1.45 var(--display-note); letter-spacing: .04em; color: var(--green); }
.contact-details>p { color: #7c8978; line-height: 1.95; font-size: 14px; }
.contact-section .contact-line { color: var(--ink); margin-top: 23px; padding-bottom: 15px; font-size: 14px; }
.contact-section .contact-line .icon { color: #6e876f; }
.contact-section .contact-bottom { border-color: #bdc7b766; padding-top: 14px; }
.contact-section .contact-bottom>span { color: #929b87; font-size: 11px; }
.contact-section .contact-bottom>button { background: none; border: 0; border-bottom: 1px solid #9ead98; padding: 8px 0; border-radius: 0; color: var(--green); font-size: 13px; cursor: pointer; }
.contact-section .contact-bottom>button>span { margin-left: 15px; }
.contact-section .contact-bottom>button:focus-visible { outline: 2px solid var(--green); outline-offset: 4px; }
.contact-section .contact-qr { color: #708269; flex-wrap: wrap; gap: 12px 16px; }
.contact-section .contact-qr-code { display: block; position: relative; flex: none; width: 200px; max-width: 100%; aspect-ratio: 1; overflow: hidden; border-radius: 14px; border: .5px solid #bdc7b766; background: #262626; }
/* 与首页相同，仅显示原图 (150, 610) 起的 780 × 780 码区及留白，不改动码点。 */
.contact-section .contact-qr-code img { position: absolute; display: block; width: 138.461539%; max-width: none; height: auto; left: -19.230769%; top: -78.205128%; object-fit: fill; border-radius: 0; background: none; padding: 0; }
.contact-section .contact-qr-code:focus-visible { outline: 2px solid var(--green); outline-offset: 4px; }
.contact-section .contact-qr small { display: block; margin-top: 2px; font-size: 12px; }

@media(max-width:1020px) {
 .force-layout { gap: 32px; grid-template-columns: .8fr 1.2fr; }.force-copy h2 { font-size: 38px; }.force-experiment { padding: 20px; }.force-observation { grid-template-columns: minmax(0,1fr) 112px; gap: 0; }.force-equation { font-size: 21px; }.force-equation .fraction { font-size: 19px; }.force-result output { font-size: 49px; }.force-mass { white-space: normal; line-height: 1.8; }.force-teaching-note p { font-size: 21px; }
 .contact-layout { gap: 45px; }
}
@media(max-width:720px) {
 .force-lesson { padding-block: 54px 65px; }.force-layout { display: block; }.force-copy h2 { font-size: 39px; }.force-copy>p:not(.eyebrow) { font-size: 14px; margin-top: 17px; }.force-teaching-note { margin-top: 25px; padding-left: 15px; }.force-teaching-note p { font-size: 20px; margin-top: 8px; }.force-teaching-note svg { width: 146px; height: 16px; }
 .force-experiment { margin-top: 27px; margin-right: 8px; padding: 18px 19px; box-shadow: 7px 8px 0 #dce3dd; }.force-sheet-top { font-size: 10px; padding-bottom: 11px; }.force-sheet-top button { font-size: 10px; padding-block: 10px; }
 .force-observation { display: block; }.force-orbit { max-width: 410px; margin-inline: auto; }.force-reading { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 15px; align-items: center; padding: 8px 0 17px; border-bottom: 1px solid #dcded580; }
 .force-equation { font-size: 23px; }.force-equation .fraction { font-size: 20px; }.force-result { justify-content: flex-end; margin: 0; }.force-result output { font-size: 45px; }.force-mass { margin: 0; font-size: 10px; }.force-comparison { margin: 0; font-size: 10px; text-align: right; line-height: 1.5; }.force-comparison br { display: none; }.force-comparison output { font-size: 20px; }.force-speed-control { margin-top: 18px; }.force-sheet-bottom { font-size: 9px; gap: 8px; }.force-legend { gap: 10px; }
 .science-download::before { background-size: auto 560px; background-position: 18% 50%; }.science-download::after { background: linear-gradient(90deg,#172f3d40,#172f3d96 40%,#172f3d50); }.science-download { min-height: calc(100svh - 66px); scroll-margin-top: -18px; }.science-download .download-grid { padding-block: 66px; min-height: calc(100svh - 66px); }.science-download .download-copy h2 { font-size: 57px; }.science-download .download-copy .eyebrow { font-size: 10px; letter-spacing: .14em; }.science-download .download-copy>p:not(.eyebrow) { font-size: 12px; }.science-download .download-outline { font-size: 13px; padding: 15px 21px; }.science-download .release-note { font-size: 10px; }
 .contact-section { padding-block: 44px 40px; }.contact-layout { display: block; }.contact-intro h2 { font-size: 25px; margin-top: 11px; }.contact-intro h2>span { font-size: 34px; }.contact-details { margin-top: 21px; }.contact-details>p { font-size: 13px; }.contact-section .contact-line { margin-top: 21px; }.contact-section .contact-bottom>span { font-size: 10px; }
}
@media(max-width:360px) { .force-copy h2 { font-size: 34px; }.force-teaching-note p { font-size: 18px; }.force-experiment { padding-inline: 15px; }.force-sheet-bottom { font-size: 8.5px; }.force-legend { gap: 8px; }.force-legend i { width: 12px; }.science-download .download-copy h2 { font-size: 50px; } }
