:root{--green:#155644;--green-deep:#103e33;--ink:#172e29;--body:#52635c;--white:#fff;--canvas:#f4f7f3;--lime:#d5ef9e;--line:#dce4dc;--ease-out:cubic-bezier(.22, 1, .36, 1);--z-header:10;--z-navigation:20;--z-skip:30;color:var(--ink);background:var(--white);font-synthesis:none;font-family:Microsoft YaHei,PingFang SC,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.8}a{color:inherit;text-decoration:none}button,select{font:inherit;color:inherit}button{cursor:pointer;border:0}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button:disabled{cursor:default;opacity:.45}img{max-width:100%;height:auto;display:block}p,h1,h2,h3,figure,ul{margin:0}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}[hidden]{display:none!important}:focus-visible{outline-offset:5px;outline:3px solid #56792f}.wrap{width:min(1200px,100% - 64px);margin-inline:auto}.section{padding-block:clamp(60px,7vw,96px)}.section-heading{margin-bottom:36px}.section-label{color:var(--green);margin-bottom:12px;font-size:14px;font-weight:600}h2{letter-spacing:-.025em;font-size:clamp(28px,3vw,38px);font-weight:600;line-height:1.45}.skip-link{z-index:var(--z-skip);background:var(--green);color:#fff;padding:12px 20px;position:fixed;top:-90px;left:20px}.skip-link:focus{top:12px}.site-header{z-index:var(--z-header);border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0}.nav{justify-content:space-between;align-items:center;gap:24px;height:80px;display:flex}.brand{flex-shrink:0;align-items:center;gap:10px;display:inline-flex}.brand img{width:44px;height:40px}.brand span{letter-spacing:.04em;font-size:27px;font-weight:700}.nav-links{align-items:center;gap:30px;font-size:14px;display:flex}.nav-links>a{padding-block:12px}.nav-links a:hover{text-underline-offset:7px;text-decoration:underline}.nav-links .nav-contact{background:var(--green);color:#fff;border-radius:8px;gap:24px;padding:9px 18px;display:inline-flex}.menu-toggle{background:0 0;min-height:44px;padding:10px;display:none}.button,.quiet-button{border-radius:8px;justify-content:center;align-items:center;gap:22px;min-height:48px;padding:11px 22px;font-size:15px;font-weight:600;display:inline-flex}.button{background:var(--green);color:#fff;transition:background .2s ease, transform .2s var(--ease-out)}.button:active{transform:translateY(1px)}.button>span,.text-link>span{transition:transform .25s var(--ease-out);display:inline-block}.button:is(:hover,:focus-visible)>span,.text-link:is(:hover,:focus-visible)>span{transform:translate(2px,-2px)}.vision-action:is(:hover,:focus-visible)>span{transform:translateY(3px)}.button:hover{background:var(--green-deep)}.quiet-button{background:var(--canvas);font-weight:400}.quiet-button:hover:not(:disabled){background:#e3eadf}.button.light{background:var(--lime);color:var(--green-deep)}.button.light:hover{background:#c7e992}.button.outline{color:var(--green-deep);background:0 0;border:1px solid #73886a}.button.outline:hover{background:#cddfb7}.text-link{color:var(--green);background:0 0;align-items:center;gap:12px;min-height:44px;padding:7px 0;font-size:15px;font-weight:600;display:inline-flex}.text-link:hover{text-underline-offset:6px;text-decoration:underline}.vision-hero{isolation:isolate;background:var(--canvas);align-items:center;min-height:640px;padding:104px 0 112px;display:grid;position:relative}.vision-content{text-align:center;position:relative}.hero-backdrop{pointer-events:none;contain:paint;position:absolute;inset:0;overflow:hidden}.hero-light{background:radial-gradient(#bfdfb789,#d8ebd945 40%,#0000 68%);border-radius:50%;width:660px;height:660px;animation:18s ease-in-out infinite alternate light-drift;position:absolute}.hero-light-left{bottom:-270px;left:-260px}.hero-light-right{background:radial-gradient(#c7eaa780,#d4eada45 40%,#0000 68%);animation-direction:alternate-reverse;animation-delay:-8s;top:-240px;right:-220px}.hero-trajectories{fill:none;width:100%;height:100%;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#0009,#000 18%,#0000 36% 65%,#000 82%,#0009);mask-image:linear-gradient(90deg,#0009,#000 18%,#0000 36% 65%,#000 82%,#0009)}.hero-track{stroke:#44856e;stroke-opacity:.16;stroke-width:1px}.hero-trace{stroke:#42896e;stroke-opacity:.62;stroke-width:2px;stroke-linecap:round;stroke-dasharray:48 952;animation:trace-travel var(--trace-duration) linear var(--trace-delay) infinite}.hero-nodes{fill:#76a28a;opacity:.5;animation:7s ease-in-out infinite alternate node-breathe}.hero-backdrop[data-running=false] *{animation-play-state:paused}.motion-toggle{min-height:44px;color:var(--body);background:0 0;border-radius:8px;align-items:center;gap:8px;padding:8px 12px;font-size:14px;display:inline-flex;position:absolute;bottom:20px;right:max(24px,50% - 600px)}.motion-toggle:hover{color:var(--green-deep);background:#e1ebdd}@keyframes light-drift{0%{opacity:.65;transform:translate(0)scale(1)}to{opacity:1;transform:translate(70px,-34px)scale(1.12)}}@keyframes trace-travel{to{stroke-dashoffset:-1000px}}@keyframes node-breathe{to{opacity:.85}}.vision-hero h1{color:var(--green-deep);letter-spacing:-.035em;font-size:clamp(48px,7vw,96px);line-height:1.3}.vision-hero h1 span{animation:hero-arrive .8s var(--ease-out) both;display:inline-block}.vision-hero h1 span+span{animation-delay:90ms}.vision-statement{animation:hero-arrive .75s .15s var(--ease-out) both}.vision-action{animation:hero-arrive .7s .23s var(--ease-out) both}@keyframes hero-arrive{0%{opacity:.6;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.vision-statement{margin-top:32px;font-size:clamp(21px,2.1vw,28px);line-height:1.85}.vision-statement span{display:block}.vision-action{min-height:54px;margin-top:42px;font-size:16px}.feature-tabs{background:var(--canvas);border-bottom:1px solid var(--line);border-radius:12px 12px 0 0;grid-template-columns:repeat(3,1fr);display:grid;position:relative}.feature-tab-indicator{border-bottom:3px solid var(--green);width:33.3333%;transition:transform .4s var(--ease-out);pointer-events:none;background:#e6f0db;border-radius:12px 12px 0 0;position:absolute;inset:0 auto 0 0}.feature-tabs button{background:0 0;border-bottom:3px solid #0000;min-height:82px;padding:20px 12px;font-size:clamp(16px,2vw,22px);font-weight:600;transition:color .2s,background .2s;position:relative}.feature-tabs button:first-of-type{border-top-left-radius:12px}.feature-tabs button:last-of-type{border-top-right-radius:12px}.feature-tabs button[aria-selected=true]{color:var(--green)}.feature-tabs button:hover:not([aria-selected=true]){background:#e9eee470}.feature-panel{grid-template-columns:.9fr 1.25fr;align-items:center;gap:clamp(32px,5vw,70px);padding-top:44px;display:grid}.feature-panel .feature-copy{animation:feature-copy-in .4s var(--ease-out)}.feature-panel .feature-visual{animation:feature-visual-in .55s var(--ease-out)}.feature-panel>*{min-width:0}.audience{color:var(--green);margin-bottom:14px;font-size:14px}.feature-copy h3{letter-spacing:-.02em;margin-bottom:20px;font-size:clamp(26px,2.65vw,34px);font-weight:600;line-height:1.5}.feature-copy h3 span{display:block}.feature-copy>p:not(.audience){color:var(--body);max-width:30em;line-height:1.9}.feature-copy ul{margin-block:22px 18px;padding:0;font-size:15px;list-style:none}.feature-copy li{gap:10px;margin-block:8px;display:flex}.feature-copy li:before{content:"✓";color:var(--green);font-weight:700}.feature-visual{background:var(--canvas);border-radius:16px;padding:24px 20px 16px}.image-button{cursor:zoom-in;background:0 0;padding:0;display:block;position:relative}.phone-pair{justify-content:center;align-items:flex-start;gap:20px;display:flex}.phone-pair .image-button{width:calc(50% - 10px);max-width:235px}.phone-pair img{width:100%;height:auto}.zoom-label{background:var(--green);color:#fff;border-radius:6px;padding:6px 12px;font-size:14px;position:absolute;bottom:16px;right:12px}.phone-pair .zoom-label{opacity:0;transition:opacity .15s}.phone-pair .image-button:is(:hover,:focus-visible) .zoom-label{opacity:1}.report-presentation .image-button{width:100%}.report-presentation img{border-radius:5px;width:100%}figcaption{color:var(--body);margin-top:16px;font-size:14px;line-height:1.75}.feature-visual figcaption{text-align:center}@keyframes feature-copy-in{0%{opacity:.55;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes feature-visual-in{0%{opacity:.6;transform:translate(18px)}to{opacity:1;transform:translate(0)}}.roles{background:var(--canvas)}.role-grid{grid-template-columns:1fr 1fr;gap:24px;display:grid}.role{border-radius:16px;min-height:330px;padding:38px 36px;position:relative;overflow:hidden}.role>:not(.role-motif){z-index:1;position:relative}.teacher-role{color:#fff;background:var(--green-deep)}.student-role{background:#e0eccd}.role-label{font-size:14px}.role h3{margin-top:14px;margin-bottom:26px;font-size:clamp(26px,2.5vw,32px);font-weight:600;line-height:1.55}.role-motif{pointer-events:none;font-size:180px;font-weight:700;line-height:1.2;position:absolute;bottom:-40px;right:-10px}.teacher-role .role-motif{color:#285347}.student-role .role-motif{color:#c5d9ae}.manual-note{text-align:center;color:var(--body);margin-top:20px;font-size:14px}.steps{grid-template-columns:repeat(4,1fr);gap:32px;margin:48px 0 0;padding:0;list-style:none;display:grid}.steps li{border-top:1px solid var(--line);padding-top:22px;position:relative}.steps[data-entered=true] li{animation:step-arrive .6s var(--ease-out) var(--step-delay) both}.steps[data-entered=true] li:before{content:"";background:var(--green);transform-origin:0;height:1px;animation:step-connect .8s var(--ease-out) var(--step-delay) both;position:absolute;top:-1px;left:0;right:0}@keyframes step-arrive{0%{opacity:.65;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes step-connect{0%{transform:scaleX(.05)}to{transform:scaleX(1)}}.step-number{color:var(--green);font-size:16px}.steps li:not(:last-child):after{content:"→";color:var(--green);position:absolute;top:22px;right:0}.steps h3{margin-top:20px;font-size:18px;font-weight:600}.faq{border-top:1px solid var(--line);grid-template-columns:.85fr 1.4fr;gap:80px;display:grid}.faq-list details{border-bottom:1px solid var(--line)}.faq-list details:first-child{border-top:1px solid var(--line)}summary{cursor:pointer;justify-content:space-between;align-items:center;gap:24px;padding:22px 0;list-style:none;display:flex}summary::-webkit-details-marker{display:none}summary>span{color:var(--green);transition:transform .25s var(--ease-out);font-size:24px}details[open]>p{animation:feature-copy-in .3s var(--ease-out)}details[open] summary>span{transform:rotate(45deg)}details p{color:var(--body);max-width:70ch;padding-bottom:24px;font-size:15px}.contact{background:var(--green-deep);color:#fff;padding-block:64px}.contact-grid{grid-template-columns:1.2fr 1fr;align-items:center;gap:50px;display:grid}.contact .section-label{color:var(--lime)}.contact h2{font-size:clamp(30px,3vw,38px);line-height:1.5}.contact p:not(.section-label){color:#ccded4;margin-top:17px;font-size:15px}.contact-details{border-left:1px solid #3b6052;min-width:0;padding:20px 0 20px 48px}.contact-details h3{margin-bottom:16px;font-size:22px;font-weight:600}.email-link{overflow-wrap:anywhere;flex-wrap:wrap;column-gap:12px;font-size:clamp(16px,1.55vw,20px);display:inline-flex}.email-link:hover{text-underline-offset:5px;text-decoration:underline}.contact-details .text-link{color:var(--lime);margin-top:18px;display:flex}.footer{justify-content:space-between;align-items:center;gap:24px;padding-block:30px;display:flex}.footer .brand span{font-size:22px}.footer .brand img{width:32px;height:auto}.footer p,.footer>a:last-child{color:var(--body);font-size:14px}.image-dialog{background:#fff;border:0;border-radius:12px;width:min(94vw,1440px);max-width:none;max-height:94dvh;padding:0}.image-dialog::backdrop{background:#10251fe6}.dialog-bar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;padding:12px 20px;display:flex}.dialog-bar h2{letter-spacing:0;font-size:16px}.dialog-actions{flex-shrink:0;gap:8px;display:flex}.dialog-actions button{min-height:44px;padding:8px 14px;font-size:14px}.dialog-actions [aria-pressed=true]{background:var(--green);color:#fff}.image-viewport{overscroll-behavior:contain;max-height:calc(94dvh - 90px);padding:20px;overflow:auto}.viewer-image{width:fit-content;max-width:100%;margin-inline:auto}.viewer-image>img{object-fit:contain;width:auto;max-height:calc(94dvh - 130px)}.viewer-image.cropped{width:min(430px,45.4668dvh - 62.8796px)}.image-viewport.actual .viewer-image{max-width:none}.image-viewport.actual .viewer-image>img{width:100%;max-width:none;max-height:none}.phone-crop{background:0 0;width:100%;display:block;position:relative;overflow:hidden}.phone-crop img{max-width:none;height:auto;max-height:none;position:absolute}.manual-app{grid-template-rows:auto minmax(0,1fr);height:100dvh;min-height:600px;display:grid}.manual-nav{height:64px;padding-inline:32px}.manual-layout{grid-template-columns:260px minmax(0,1fr);width:100%;max-width:1680px;min-height:0;margin:0 auto;display:grid}.manual-sidebar{border-right:1px solid var(--line);min-height:0;padding:24px 16px 16px;overflow:auto}.manual-sidebar h1{max-width:11em;margin-bottom:16px;font-size:22px;line-height:1.5}.manual-sidebar nav{flex-direction:column;gap:2px;display:flex}.manual-sidebar nav a{min-height:44px;color:var(--body);border-radius:8px;align-items:center;gap:10px;padding:8px 10px;font-size:14px;display:flex}.manual-sidebar nav a>span{flex:0 0 24px;place-items:center;width:24px;font-size:13px;display:grid}.manual-sidebar nav a:hover{background:var(--canvas)}.manual-sidebar nav a[aria-current=step]{color:var(--green-deep);background:#e6f0db;font-weight:600}.other-manual{margin:18px 10px 0}.manual-main{grid-template-rows:auto auto minmax(0,1fr) auto;grid-template-areas:"intro""selector""step""controls";min-width:0;min-height:0;padding:16px clamp(20px,3vw,48px) 0;display:grid}.manual-intro{border-bottom:1px solid var(--line);color:var(--body);grid-area:intro;padding-bottom:12px;font-size:14px}.manual-intro>p{max-width:none}.manual-facts{flex-wrap:wrap;gap:4px 20px;margin:8px 0 0;display:flex}.manual-facts>div{flex-direction:row-reverse;align-items:baseline;gap:6px;display:flex}.manual-facts dt{font-size:14px}.manual-facts dd{color:var(--ink);margin:0;font-size:15px;font-weight:600}.mobile-step-select{grid-area:selector;display:none}.manual-step{grid-area:step;grid-template-rows:auto minmax(0,1fr);min-height:0;padding-top:12px;display:grid}.step-position{color:var(--green);font-size:14px}.manual-step-heading h2{margin-top:4px;font-size:clamp(23px,2.2vw,28px)}.manual-step-heading>p:last-child{color:var(--body);max-width:74ch;margin-top:6px;font-size:15px}.manual-shot{grid-template-rows:minmax(0,1fr) auto;gap:8px;min-height:0;margin-top:12px;display:grid}.manual-image-stage{place-items:center;min-width:0;min-height:0;display:grid;container-type:size}.manual-image-stage .image-button{width:min(100cqw, calc(100cqh * var(--image-aspect)))}.manual-shot.desktop img{border:1px solid var(--line);border-radius:8px;width:100%}.manual-shot-caption{justify-content:space-between;align-items:center;gap:16px;display:flex}.manual-shot figcaption{text-align:left;margin:0;font-size:13px;line-height:1.6}.manual-shot .text-link{flex-shrink:0;min-height:44px;font-size:14px}.step-controls{border-top:1px solid var(--line);background:#fff;grid-area:controls;justify-content:space-between;align-items:center;gap:16px;margin-top:8px;padding:12px 0;display:flex}.step-controls>span{color:var(--body);font-size:14px}.page-message{flex-direction:column;justify-content:center;align-items:center;gap:24px;min-height:80vh;padding:32px;display:flex}.page-message h1{font-size:28px}@media (width>=1001px){.manual-main{grid-template:"heading shot""intro shot"".shot"minmax(0,1fr)"controls controls"/minmax(200px,.7fr) minmax(0,1.3fr);column-gap:24px}.manual-step{display:contents}.manual-step-heading{grid-area:heading;padding-top:12px}.manual-intro{border-top:1px solid var(--line);border-bottom:0;margin-top:24px;padding-top:16px}.manual-shot{grid-area:shot;margin-top:0}}@media (width<=1000px){.nav-links{gap:18px}.feature-panel{grid-template-columns:1fr 1.2fr;gap:28px}.feature-copy ul{font-size:14px}.feature-visual{padding:20px 16px 16px}.phone-pair{gap:14px}.phone-pair .image-button{width:calc(50% - 7px)}.role{padding:30px 26px}.faq{gap:40px}.manual-layout{grid-template-columns:250px minmax(0,1fr)}.manual-sidebar{padding-inline:12px}}@media (width<=760px){html{scroll-padding-top:86px}.wrap{width:calc(100% - 40px)}.nav{height:68px}.brand img{width:36px;height:auto}.brand span{font-size:24px}.menu-toggle{align-items:center;gap:12px;display:flex}.nav-links{z-index:var(--z-navigation);border-bottom:1px solid var(--line);background:#fff;padding:16px 20px;display:none;position:absolute;top:68px;left:0;right:0}.nav-links.open{flex-direction:column;align-items:stretch;gap:0;display:flex}.nav-links a{padding:12px}.nav-links .nav-contact{justify-content:space-between;margin-top:8px}.vision-hero{min-height:530px;padding-block:68px 76px}.hero-light{width:460px;height:460px}.hero-light-left{bottom:-120px;left:-290px}.hero-light-right{top:-130px;right:-270px}.hero-trajectories{opacity:.8;width:760px;max-width:none;left:calc(50% - 380px)}.hero-track-left{transform:translate(240px)}.hero-track-right{transform:translate(-210px)}.motion-toggle{bottom:8px;right:12px}.vision-hero h1{letter-spacing:-.025em;font-size:clamp(41px,10.8vw,66px);line-height:1.35}.vision-hero h1 span{display:block}.vision-statement{margin-top:26px;font-size:clamp(16px,4.5vw,21px)}.vision-action{margin-top:34px}.feature-tabs button{min-height:66px;padding:16px 5px;font-size:clamp(14px,3.8vw,18px)}.feature-panel{grid-template-columns:1fr;gap:30px;padding-top:30px}.feature-copy h3{font-size:30px}.feature-copy>p:not(.audience){max-width:none}.phone-pair{gap:18px}.phone-pair .image-button{width:calc(50% - 9px)}.phone-pair .zoom-label{display:none}.role-grid{grid-template-columns:1fr;gap:20px}.role{min-height:290px;padding:32px}.role h3{font-size:28px}.steps{grid-template-columns:1fr 1fr;gap:28px 20px;margin-top:28px}.steps li:after{display:none}.steps h3{font-size:17px}.faq{grid-template-columns:1fr;gap:28px}.contact-grid{grid-template-columns:1fr;gap:30px}.contact-details{border-top:1px solid #3b6052;border-left:0;padding:28px 0 0}.footer{flex-wrap:wrap;gap:18px}.footer p{order:3;width:100%}.image-dialog{width:96vw}.dialog-bar{flex-wrap:wrap;gap:10px;padding:10px 12px}.dialog-bar h2{font-size:14px}.dialog-actions{margin-left:auto}.dialog-actions button{padding-inline:10px}.image-viewport{max-height:calc(94dvh - 140px);padding:12px}.viewer-image>img{max-height:calc(94dvh - 170px)}.viewer-image.cropped{width:min(430px,45.4668dvh - 82.2272px)}.manual-nav{gap:12px;padding-inline:20px}.manual-nav .text-link{font-size:14px}.manual-layout{grid-template-columns:minmax(0,1fr)}.manual-sidebar{display:none}.manual-main{padding:8px 16px 0}.manual-intro{padding-bottom:8px;font-size:13px}.manual-facts{gap:2px 12px;margin-top:4px}.manual-facts dt,.manual-facts dd{font-size:13px}.mobile-step-select{align-items:center;gap:10px;margin-top:8px;display:flex}.mobile-step-select label{color:var(--green);flex-shrink:0;font-size:13px}.mobile-step-select select{border:1px solid var(--line);background:#fff;border-radius:8px;width:100%;min-width:0;max-width:100%;min-height:44px;padding:8px;font-size:14px}.manual-step{padding-top:8px}.manual-step-heading h2{font-size:22px}.manual-step-heading>p:last-child{margin-top:4px;font-size:14px}.manual-shot{margin-top:8px}.manual-shot-caption{gap:10px}.step-controls{padding-block:8px max(8px, env(safe-area-inset-bottom));gap:10px}.step-controls .button,.step-controls .quiet-button{padding-inline:14px;font-size:14px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.motion-toggle{display:none}*,:before,:after{transition:none!important;animation:none!important}}
