/* mentor 页面样式。
 * 只在本路由加载（RouteStyles 切换 <link data-css="page"> 的 href）。
 * 不要把它合并进全局样式，也不要给选择器加作用域前缀：
 * 本文件里的 .footer-grid (0,1,0) 现在是被 motion.css 的
 * .site-footer .footer-grid (0,2,0) 压住的。一旦加前缀变成 (0,2,0)
 * 且文档顺序更靠后，本文件反而会赢，footer 会切成 4 栏网格（DOM 里只有 2 个子元素）。
 */
:root{--navy:#083b64;--navy-deep:#052642;--blue:#3e91d4;--blue-light:#eaf6ff;--orange:#f59a27;--orange-light:#fff2df;--text:#173b58;--muted:#627c92;--line:#d9e8f3;--white:#fff;--shadow:0 24px 70px rgba(11,57,91,.14)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--text);background:#fff;font-family:"PingFang SC","Microsoft YaHei",Arial,sans-serif;font-size:16px;line-height:1.6}.wrap{width:min(1180px,calc(100% - 48px));margin:0 auto}img{max-width:100%}a{text-decoration:none;color:inherit}.site-header{position:sticky;top:0;z-index:50;height:72px;border-bottom:1px solid rgba(28,87,128,.1);background:rgba(255,255,255,.96);backdrop-filter:blur(16px)}.nav-wrap{height:72px;display:flex;align-items:center}.brand{width:200px;display:flex;align-items:center}.brand img{display:block;width:190px;height:auto}.main-nav{margin-left:auto;display:flex;align-items:stretch;height:100%;gap:34px}.main-nav a{position:relative;display:flex;align-items:center;color:#4e667a;font-size:14px}.main-nav a::after{content:"";position:absolute;left:50%;right:50%;bottom:0;height:3px;border-radius:3px;background:var(--orange);transition:.25s}.main-nav a:hover,.main-nav a.active{color:var(--navy);font-weight:700}.main-nav a:hover::after,.main-nav a.active::after{left:0;right:0}.phone{margin-left:32px;padding:8px 16px;border-radius:8px;color:#fff;background:linear-gradient(135deg,#3e99dc,#2876b6);display:flex;flex-direction:column;line-height:1.2;box-shadow:0 8px 22px rgba(48,132,197,.22)}.phone span{font-size:12px;opacity:.8}.phone b{margin-top:3px;font-size:14px;letter-spacing:.6px}
.hero{position:relative;overflow:hidden;padding:94px 0 0;background:radial-gradient(circle at 80% 35%,rgba(91,177,235,.2),transparent 25%),linear-gradient(135deg,#f5fbff 0,#fff 58%,#fff7eb 100%)}.hero::before{content:"";position:absolute;width:380px;height:380px;border-radius:50%;left:-210px;bottom:-220px;background:rgba(245,154,39,.12)}.hero-grid,.habit-grid{position:absolute;inset:0;opacity:.32;background-image:linear-gradient(rgba(62,145,212,.11) 1px,transparent 1px),linear-gradient(90deg,rgba(62,145,212,.11) 1px,transparent 1px);background-size:46px 46px;mask-image:linear-gradient(to bottom,#000,transparent 84%)}.hero-layout{position:relative;z-index:2;min-height:570px;display:grid;grid-template-columns:1fr .96fr;align-items:center;gap:75px}.eyebrow,.section-heading>span{display:block;color:var(--blue);font-size:12px;font-weight:800;letter-spacing:2.8px}.hero-copy h1{margin:18px 0 24px;color:var(--navy-deep);font-size:56px;line-height:1.18;letter-spacing:-2px}.hero-copy h1 em{color:var(--orange);font-style:normal}.hero-copy p{max-width:600px;margin:0;color:#5d768b;font-size:17px;line-height:2}.hero-cta{margin-top:30px;display:inline-flex;align-items:center;gap:32px;padding:14px 22px;border-radius:8px;color:#fff;background:linear-gradient(135deg,#ffa63b,#f18c18);font-size:14px;font-weight:700;box-shadow:0 12px 28px rgba(237,139,25,.23)}.hero-cta span{font-size:19px}.companion-orbit{position:relative;height:480px}.orbit{position:absolute;left:50%;top:50%;border:1px solid rgba(63,146,211,.22);border-radius:50%;transform:translate(-50%,-50%)}.orbit-one{width:390px;height:390px}.orbit-two{width:285px;height:285px}.orbit-center{position:absolute;left:50%;top:50%;width:176px;height:176px;border-radius:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;background:radial-gradient(circle at 35% 30%,#65bcf2,#1971b4 55%,#075083);box-shadow:0 0 0 20px rgba(55,149,215,.08),0 25px 65px rgba(15,86,136,.24)}.orbit-center small{font-size:12px;opacity:.72}.orbit-center strong{font-size:64px;line-height:1}.orbit-center span{font-size:12px;letter-spacing:2px;opacity:.75}.orbit-role{position:absolute;width:130px;padding:14px 16px;border:1px solid rgba(75,154,211,.18);border-radius:13px;background:rgba(255,255,255,.87);box-shadow:0 14px 32px rgba(22,81,120,.12);backdrop-filter:blur(12px)}.orbit-role::before{content:"";position:absolute;width:9px;height:9px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 8px rgba(245,154,39,.13)}.orbit-role b,.orbit-role span{display:block}.orbit-role b{color:var(--navy);font-size:17px}.orbit-role span{margin-top:2px;color:#7890a3;font-size:12px}.role-one{left:5%;top:17%}.role-one::before{right:-16px;bottom:12px}.role-two{right:0;top:22%}.role-two::before{left:-15px;bottom:12px}.role-three{left:0;bottom:13%}.role-three::before{right:-16px;top:12px}.role-four{right:6%;bottom:8%}.role-four::before{left:-15px;top:12px}.hero-strip{position:relative;z-index:3;min-height:108px;margin-top:22px;padding:24px 44px;display:flex;align-items:center;justify-content:space-between;border:1px solid rgba(52,134,194,.15);border-bottom:0;border-radius:18px 18px 0 0;background:rgba(255,255,255,.9);box-shadow:0 -15px 45px rgba(15,76,115,.06)}.hero-strip>div{display:flex;align-items:baseline;gap:10px}.hero-strip b{color:var(--navy);font-size:24px}.hero-strip span{color:#748ba0;font-size:13px}.hero-strip i{width:1px;height:36px;background:#deebf4}
.section-heading{text-align:center}.section-heading h2{margin:10px 0 12px;color:var(--navy-deep);font-size:40px;line-height:1.3}.section-heading p{max-width:720px;margin:0 auto;color:#6f879a;font-size:15px}.left-heading{text-align:left}.left-heading p{margin-left:0}.team-section{padding:110px 0 125px}.team-layout{margin-top:48px;display:grid;grid-template-columns:1.12fr .88fr;gap:64px;align-items:center}.team-photo{position:relative;margin:0;min-height:510px;overflow:hidden;border-radius:22px;background:#e9f4fb;box-shadow:var(--shadow)}.team-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:76% center}.team-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(3,39,66,.82),transparent 42%)}.team-photo figcaption{position:absolute;z-index:2;left:30px;bottom:26px;color:#fff}.team-photo figcaption b,.team-photo figcaption span{display:block}.team-photo figcaption b{font-size:20px}.team-photo figcaption span{margin-top:4px;font-size:13px;opacity:.75}.role-list{display:grid;gap:14px}.role-list article{min-height:104px;padding:20px 22px;display:flex;gap:18px;border:1px solid #e1edf5;border-radius:14px;background:#fff;transition:.25s}.role-list article:hover{border-color:#a9d4ef;transform:translateX(8px);box-shadow:0 14px 36px rgba(22,82,124,.09)}.role-list article>span{width:42px;height:42px;flex:none;display:grid;place-items:center;border-radius:10px;color:#2c81c0;background:#eaf6ff;font-size:12px;font-weight:800}.role-list article:nth-child(even)>span{color:#b96813;background:#fff0da}.role-list h3{margin:0;color:var(--navy);font-size:18px}.role-list p{margin:5px 0 0;color:#6c8396;font-size:14px;line-height:1.7}
.principles-section{position:relative;overflow:hidden;padding:110px 0 122px;background:linear-gradient(135deg,#07385e,#052642 58%,#0a4772)}.principles-section::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at center,rgba(255,255,255,.08) 1px,transparent 1px);background-size:24px 24px;opacity:.35}.principle-glow{position:absolute;width:500px;height:500px;border-radius:50%;right:-180px;top:-230px;background:rgba(65,163,226,.16);filter:blur(10px)}.light-heading{position:relative;z-index:2}.light-heading h2{color:#fff}.light-heading p{color:rgba(255,255,255,.57)}.principles-grid{position:relative;z-index:2;margin-top:54px;display:grid;grid-template-columns:repeat(6,1fr);gap:15px}.principles-grid article{position:relative;min-height:205px;padding:25px 18px;display:flex;flex-direction:column;justify-content:flex-end;border:1px solid rgba(255,255,255,.13);border-radius:16px;color:#fff;background:rgba(255,255,255,.055);backdrop-filter:blur(10px);transition:.3s}.principles-grid article:hover{border-color:rgba(255,176,74,.62);background:rgba(255,255,255,.1);transform:translateY(-8px)}.principles-grid i{position:absolute;top:18px;right:18px;color:rgba(255,255,255,.16);font-size:32px;font-weight:800;font-style:normal}.principles-grid b{font-size:21px}.principles-grid span{margin-top:6px;color:rgba(255,255,255,.56);font-size:12px}
.methods-section{padding:120px 0 130px;background:linear-gradient(180deg,#f7fbfe,#fff)}.method-map{position:relative;height:740px;margin-top:56px;overflow:hidden;border-radius:24px;color:#fff;background:radial-gradient(circle at 31% 43%,rgba(41,135,198,.28),transparent 28%),linear-gradient(135deg,#062b4b,#073b62 58%,#082c4a);box-shadow:0 34px 90px rgba(5,50,83,.23)}.method-map::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(112,189,239,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(112,189,239,.06) 1px,transparent 1px);background-size:44px 44px}.map-topbar{position:absolute;z-index:6;left:0;right:0;top:0;height:68px;padding:0 30px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.09);background:rgba(3,28,49,.45);font-size:12px;letter-spacing:1.5px}.map-topbar span{color:#8ac7ef;font-weight:700}.map-topbar span i{display:inline-block;width:7px;height:7px;margin-right:8px;border-radius:50%;background:#5fc3ff;box-shadow:0 0 12px #5fc3ff}.map-topbar b{color:rgba(255,255,255,.47);font-weight:500}.map-visual{position:absolute;left:0;top:68px;width:61%;height:calc(100% - 68px)}.map-visual svg{width:100%;height:100%}.route-shadow,.route-line,.contour{fill:none;stroke-linecap:round}.route-shadow{stroke:rgba(67,174,239,.09);stroke-width:28}.route-line{stroke:url(#routeGradient);stroke-width:4;stroke-dasharray:5 12}.contour{stroke:rgba(105,184,235,.13);stroke-width:1.5}.contour.two{stroke:rgba(245,154,39,.09)}.map-label{position:absolute;z-index:3;color:rgba(255,255,255,.32);font-size:12px;letter-spacing:1px}.map-label-start{left:34px;top:105px}.map-label-end{left:335px;bottom:36px}.map-node{position:absolute;z-index:8;padding:0;display:flex;align-items:center;gap:15px;border:0;color:#fff;background:none;cursor:pointer;text-align:left}.map-node>i{position:relative;width:20px;height:20px;border:3px solid #92d8ff;border-radius:50%;background:#fff;box-shadow:0 0 0 9px rgba(84,185,245,.12),0 0 28px #4eb7f6;transition:.25s}.map-node>i::after{content:"";position:absolute;inset:-12px;border:1px solid rgba(123,205,255,.2);border-radius:50%;animation:pulse 2.4s infinite}.map-node span{padding:9px 12px;border:1px solid rgba(255,255,255,.12);border-radius:9px;background:rgba(4,41,69,.78);backdrop-filter:blur(8px);transition:.25s}.map-node b,.map-node small{display:block}.map-node b{font-size:14px}.map-node small{color:#77b6de;font-size:12px}.map-node:hover span,.map-node:focus-visible span,.map-node.active span{border-color:rgba(255,174,67,.7);background:rgba(12,61,95,.95);transform:translateY(-3px)}.map-node:hover>i,.map-node:focus-visible>i,.map-node.active>i{border-color:#ffd499;background:var(--orange);box-shadow:0 0 0 10px rgba(245,154,39,.14),0 0 34px #ffae4d}.node-one{left:8.3%;top:21%}.node-two{left:24.4%;top:36%}.node-three{left:10.2%;top:60%}.node-four{left:37.7%;top:74%}.method-panel{position:absolute;z-index:7;right:34px;top:98px;width:430px;height:606px;padding:28px 30px 22px;border:1px solid rgba(255,255,255,.13);border-radius:18px;background:linear-gradient(155deg,rgba(19,76,115,.94),rgba(4,35,59,.96));box-shadow:0 20px 55px rgba(0,17,30,.32);backdrop-filter:blur(18px)}.panel-head{height:76px;display:flex;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.1)}.panel-head span{color:#79bdea;font-size:12px;font-weight:700;letter-spacing:1.5px}.panel-head h3{margin:4px 0 0;font-size:23px}.panel-head>b{color:rgba(255,255,255,.08);font-size:52px;line-height:.9}.method-panel ol{height:438px;margin:17px 0 0;padding:0 0 0 29px;display:grid;grid-template-columns:1fr;grid-auto-rows:minmax(0,1fr)}.method-panel li{padding-left:4px;color:rgba(255,255,255,.76);font-size:13px;line-height:1.28}.method-panel li::marker{color:#59b8f1;font-size:12px}.method-panel>p{margin:9px 0 0;color:rgba(255,255,255,.35);font-size:12px;text-align:right}.method-panel.flash{animation:panelFlash .35s ease}
.habits-section{position:relative;overflow:hidden;padding:118px 0 85px;background:radial-gradient(circle at 50% 72%,rgba(56,149,215,.28),transparent 29%),linear-gradient(150deg,#062f50,#063c64 62%,#0a2a44)}.habit-grid{opacity:.2;mask-image:linear-gradient(to bottom,#000 20%,transparent)}.habit-universe{position:relative;height:770px;margin-top:38px}.book-glow{position:absolute;left:50%;bottom:55px;width:640px;height:250px;border-radius:50%;transform:translateX(-50%);background:rgba(52,161,226,.23);filter:blur(50px)}.open-book{position:absolute;z-index:2;left:50%;bottom:15px;width:650px;transform:translateX(-50%);filter:drop-shadow(0 35px 35px rgba(0,15,28,.45))}.book-title{position:absolute;z-index:4;left:50%;top:405px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;color:#fff;text-align:center;text-shadow:0 3px 12px rgba(0,30,54,.55)}.book-title small{font-size:12px;letter-spacing:2px;color:#83c8f1}.book-title strong{font-size:68px;line-height:1}.book-title span{font-size:15px}.habit-cloud{position:absolute;z-index:5;inset:0}.habit-cloud span{position:absolute;left:var(--x);top:var(--y);padding:9px 15px;border:1px solid rgba(130,204,247,.22);border-radius:999px;color:#d7efff;background:rgba(18,80,121,.68);box-shadow:0 12px 25px rgba(0,21,38,.16);font-size:13px;white-space:nowrap;backdrop-filter:blur(10px);animation:floatHabit 4.6s ease-in-out infinite alternate;animation-delay:var(--d);transition:.25s}.habit-cloud span:nth-child(4n+2),.habit-cloud span:nth-child(5n){border-color:rgba(255,174,72,.33);color:#ffe2bc;background:rgba(120,75,23,.35)}.habit-cloud span:hover{z-index:8;border-color:#ffba5f;color:#fff;background:#b66c17;transform:translateY(-5px) scale(1.05);animation-play-state:paused}
.summary-section{padding:92px 0;background:#f5faff}.summary-card{min-height:245px;padding:54px 60px;display:flex;align-items:center;justify-content:space-between;gap:60px;border:1px solid #d9eaf5;border-radius:22px;background:radial-gradient(circle at 92% 20%,rgba(245,154,39,.13),transparent 23%),#fff;box-shadow:0 22px 65px rgba(15,76,116,.08)}.summary-card small{color:var(--blue);font-size:12px;font-weight:800;letter-spacing:2px}.summary-card h2{margin:10px 0;color:var(--navy-deep);font-size:34px}.summary-card p{max-width:600px;margin:0;color:#6a8195;font-size:14px}.summary-stats{display:flex;gap:32px}.summary-stats span{min-width:92px;color:#6c8397;font-size:12px;text-align:center}.summary-stats b{display:block;color:var(--orange);font-size:42px;line-height:1.1}
footer{padding-top:60px;color:rgba(255,255,255,.53);background:#052642}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr .7fr;gap:50px;padding-bottom:40px}.footer-brand>img{display:block;width:221px;height:56px;object-fit:contain}.footer-brand p{margin:18px 0 0;font-size:12px;line-height:1.8}.footer-grid h4{margin:0 0 17px;color:#fff;font-size:12px}.footer-grid>div>span{display:block;margin-top:11px;font-size:12px}.footer-qr{display:flex;flex-direction:column;align-items:center}.footer-qr img{display:block;width:94px;height:94px;border:6px solid #fff;object-fit:cover;background:#fff}.copyright{height:58px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid rgba(255,255,255,.08);font-size:12px}
@keyframes pulse{0%,100%{transform:scale(.85);opacity:.8}50%{transform:scale(1.25);opacity:.15}}@keyframes panelFlash{0%{opacity:.55;transform:translateX(7px)}100%{opacity:1;transform:none}}@keyframes floatHabit{from{translate:0 -3px}to{translate:0 8px}}
@media(max-width:1000px){.main-nav{gap:18px}.phone{display:none}.hero-layout{grid-template-columns:1fr;gap:22px}.hero-copy{padding-top:20px}.companion-orbit{height:440px}.team-layout{grid-template-columns:1fr}.principles-grid{grid-template-columns:repeat(3,1fr)}.method-map{height:auto;padding:86px 22px 24px}.map-visual,.map-label{display:none}.map-nodes{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:12px}.map-node{position:static}.map-node span{width:100%}.method-panel{position:relative;right:auto;top:auto;width:100%;height:610px;margin-top:24px}.habit-universe{height:840px}.open-book{width:560px}.summary-card{align-items:flex-start;flex-direction:column}}
@media(max-width:700px){.wrap{width:min(100% - 28px,1180px)}.site-header,.nav-wrap{height:64px}.brand{width:170px}.brand img{width:164px}.main-nav{display:none}.hero{padding-top:62px}.hero-layout{min-height:auto}.hero-copy h1{font-size:39px;letter-spacing:-1px}.hero-copy p{font-size:15px;line-height:1.85}.companion-orbit{height:380px;transform:scale(.88)}.orbit-role{width:116px}.hero-strip{display:grid;grid-template-columns:1fr 1fr;gap:18px;padding:22px}.hero-strip i{display:none}.hero-strip>div{display:block}.hero-strip b,.hero-strip span{display:block}.team-section,.methods-section{padding:82px 0}.section-heading h2{font-size:31px}.team-photo{min-height:380px}.role-list article:hover{transform:none}.principles-section{padding:82px 0}.principles-grid{grid-template-columns:1fr 1fr}.principles-grid article{min-height:155px}.method-map{margin-top:36px;padding-left:14px;padding-right:14px;border-radius:18px}.map-topbar{padding:0 16px}.map-topbar b{display:none}.map-nodes{grid-template-columns:1fr}.map-node{width:100%}.method-panel{height:auto;min-height:650px;padding:24px 20px}.method-panel ol{height:auto;min-height:480px;gap:8px}.habit-universe{height:auto;margin-top:32px;padding:300px 0 30px}.open-book{top:82px;bottom:auto;width:390px}.book-glow{top:160px;bottom:auto;width:360px}.book-title{top:154px}.book-title strong{font-size:48px}.habit-cloud{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:9px}.habit-cloud span{position:static;white-space:normal;text-align:center;animation:none}.summary-card{padding:36px 28px}.summary-stats{width:100%;gap:10px}.summary-stats span{min-width:0;flex:1}.summary-stats b{font-size:34px}.footer-grid{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}.copyright{height:auto;padding:18px 0;gap:10px;flex-direction:column;align-items:flex-start}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.map-node>i::after,.habit-cloud span{animation:none!important}}

/* 52 learning methods · globe interaction */
.method-map{height:740px;background:#041d35;isolation:isolate}
.method-map::before{z-index:1;background:linear-gradient(90deg,rgba(2,20,38,.58) 0,rgba(2,21,39,.12) 34%,rgba(2,20,38,.08) 70%,rgba(2,18,34,.3) 100%)}
.method-city-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0}
.method-image-shade{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(1,14,29,.18),transparent 38%,rgba(1,15,29,.3)),radial-gradient(circle at 51% 50%,transparent 0 24%,rgba(1,18,34,.1) 36%,rgba(1,18,34,.32) 100%)}
.map-topbar{z-index:12;background:rgba(2,22,41,.56);backdrop-filter:blur(12px)}
.earth-orbits{position:absolute;inset:0;z-index:2;pointer-events:none}
.earth-orbit{position:absolute;left:51%;top:51%;border:1px solid rgba(86,190,255,.34);border-radius:50%;transform:translate(-50%,-50%) rotate(-9deg);box-shadow:0 0 24px rgba(47,166,244,.08)}
.earth-orbit::after{content:"";position:absolute;left:8%;top:14%;width:7px;height:7px;border-radius:50%;background:#7bd8ff;box-shadow:0 0 8px #71d3ff,0 0 22px #2ca9ff}
.earth-orbit.orbit-one{width:47%;height:35%;animation:earthOrbitA 21s linear infinite}
.earth-orbit.orbit-two{width:37%;height:27%;border-style:dashed;border-color:rgba(80,174,238,.22);animation:earthOrbitB 28s linear infinite reverse}
.earth-orbit.orbit-two::after{left:auto;right:12%;top:73%;width:5px;height:5px;background:#ffb45a;box-shadow:0 0 8px #ffb45a,0 0 20px #ff8d24}
.method-particles{position:absolute;inset:68px 0 0;z-index:3;pointer-events:none}
.method-particles i{position:absolute;width:3px;height:3px;border-radius:50%;background:#7dd9ff;box-shadow:0 0 8px #5cc8ff;animation:methodParticle 3.2s ease-in-out infinite}
.method-particles i:nth-child(1){left:35%;top:15%;animation-delay:-.3s}.method-particles i:nth-child(2){left:45%;top:10%;animation-delay:-1.1s}.method-particles i:nth-child(3){left:61%;top:15%;animation-delay:-2.3s}.method-particles i:nth-child(4){left:70%;top:27%;animation-delay:-.8s}.method-particles i:nth-child(5){left:75%;top:43%;animation-delay:-1.7s}.method-particles i:nth-child(6){left:69%;top:61%;animation-delay:-2.8s}.method-particles i:nth-child(7){left:57%;top:70%;animation-delay:-1.4s}.method-particles i:nth-child(8){left:43%;top:69%;animation-delay:-.5s}.method-particles i:nth-child(9){left:31%;top:55%;animation-delay:-2s}.method-particles i:nth-child(10){left:29%;top:35%;animation-delay:-1s}.method-particles i:nth-child(11){left:82%;top:18%;animation-delay:-2.5s}.method-particles i:nth-child(12){left:84%;top:67%;animation-delay:-1.8s}
.map-node{z-index:10;gap:10px;filter:drop-shadow(0 4px 14px rgba(0,22,40,.36))}
.map-node>i{width:15px;height:15px;border:2px solid #b9ebff;background:#69ceff;box-shadow:0 0 0 7px rgba(74,188,255,.11),0 0 20px #32afff;animation:methodNodeBlink 2.8s ease-in-out infinite}
.map-node>i::after{inset:-9px;border-color:rgba(134,218,255,.32);animation:pulse 2.8s ease-out infinite}
.map-node span{min-width:75px;padding:7px 10px;border-color:rgba(137,214,255,.25);background:rgba(2,28,51,.66);opacity:0;transform:translateY(4px) scale(.96);pointer-events:none;backdrop-filter:blur(12px);box-shadow:0 8px 22px rgba(0,20,37,.24)}
.map-node b{font-size:12px}.map-node small{font-size:10px}
.map-node:hover span,.map-node:focus-visible span,.map-node.active span{opacity:1;transform:none;border-color:rgba(255,182,84,.72);background:rgba(3,38,66,.86)}
.map-node:hover>i,.map-node:focus-visible>i,.map-node.active>i{border-color:#ffe1b8;background:#ffa63b;box-shadow:0 0 0 8px rgba(245,154,39,.14),0 0 30px #ff9b2d;animation-play-state:paused}
.map-node:nth-child(2)>i{animation-delay:-.35s}.map-node:nth-child(3)>i{animation-delay:-.7s}.map-node:nth-child(4)>i{animation-delay:-1.05s}.map-node:nth-child(5)>i{animation-delay:-1.4s}.map-node:nth-child(6)>i{animation-delay:-1.75s}.map-node:nth-child(7)>i{animation-delay:-2.1s}.map-node:nth-child(8)>i{animation-delay:-2.45s}
.node-one{left:38%;top:31%}.node-two{left:47%;top:25%}.node-three{left:58%;top:27%}.node-four{left:67%;top:36%;flex-direction:row-reverse}.node-five{left:70%;top:49%;flex-direction:row-reverse}.node-six{left:63%;top:61%;flex-direction:row-reverse}.node-seven{left:50%;top:66%}.node-eight{left:38%;top:57%}
.method-panel{z-index:9;left:28px;right:auto;top:101px;width:315px;height:405px;min-height:405px;padding:23px 24px 18px;border-color:rgba(139,214,255,.28);background:linear-gradient(155deg,rgba(8,54,88,.76),rgba(2,27,50,.83));box-shadow:0 22px 55px rgba(0,15,29,.3);backdrop-filter:blur(16px)}
.panel-head{height:70px}.panel-head span{font-size:10px}.panel-head h3{font-size:20px}.panel-head>b{font-size:43px}
.method-panel ol{height:auto;min-height:245px;margin-top:15px;gap:7px;grid-auto-rows:auto;align-content:start}
.method-panel li{font-size:12px;line-height:1.45}.method-panel>p{margin-top:5px}
@keyframes earthOrbitA{from{transform:translate(-50%,-50%) rotate(-9deg)}to{transform:translate(-50%,-50%) rotate(351deg)}}
@keyframes earthOrbitB{from{transform:translate(-50%,-50%) rotate(17deg)}to{transform:translate(-50%,-50%) rotate(377deg)}}
@keyframes methodParticle{0%,100%{opacity:.18;transform:scale(.7)}45%{opacity:1;transform:scale(1.7)}}
@keyframes methodNodeBlink{0%,100%{opacity:.68;filter:brightness(.9)}50%{opacity:1;filter:brightness(1.45)}}

@media(max-width:1000px){
  .method-map{height:auto;min-height:0;padding:455px 18px 24px;background:#041d35}
  .method-city-bg,.method-image-shade{bottom:auto;height:430px}
  .earth-orbits{height:430px}.method-particles{height:362px}
  .map-nodes{position:relative;z-index:10;display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .map-node,.node-one,.node-two,.node-three,.node-four,.node-five,.node-six,.node-seven,.node-eight{position:relative;inset:auto;flex-direction:row;width:100%;padding:11px 13px;border:1px solid rgba(137,214,255,.18);border-radius:10px;background:rgba(3,39,66,.72)}
  .map-node span{width:auto;min-width:0;padding:0;border:0;background:none!important;opacity:1;transform:none;box-shadow:none;backdrop-filter:none}
  .method-panel{position:relative;left:auto;right:auto;top:auto;width:100%;height:auto;min-height:405px;margin-top:16px}
}
@media(max-width:700px){
  .method-map{padding:330px 14px 18px}.method-city-bg,.method-image-shade,.earth-orbits{height:310px}.method-particles{height:242px}.map-nodes{grid-template-columns:1fr}.method-panel{min-height:420px;padding:22px 20px}.method-panel ol{min-height:260px}
}
@media(prefers-reduced-motion:reduce){.earth-orbit,.method-particles i,.map-node>i{animation:none!important}}

@media(max-width:700px){
  .map-nodes>.method-panel{grid-column:1/-1;margin:0 0 4px;animation:mobileMethodOpen .34s ease both}
  .map-nodes>.method-panel .panel-head{height:68px}
  .map-nodes>.method-panel ol{min-height:0;margin-bottom:18px}
  .map-nodes>.method-panel>p{margin-top:auto}
  .map-node.active{border-color:rgba(255,181,79,.6);background:linear-gradient(135deg,rgba(87,59,26,.55),rgba(3,39,66,.82));box-shadow:0 10px 28px rgba(0,22,40,.2)}
}
@keyframes mobileMethodOpen{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}

/* 手机端学习习惯标签统一为品牌蓝，去掉交替的橙色干扰。 */
@media(max-width:700px){
  .habit-cloud span,
  .habit-cloud span:nth-child(4n+2),
  .habit-cloud span:nth-child(5n),
  .habit-cloud span:hover{
    border-color:rgba(108,194,245,.3);
    color:#dff3ff;
    background:linear-gradient(135deg,rgba(24,101,150,.9),rgba(15,77,123,.86));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 8px 20px rgba(0,21,38,.1);
    transform:none;
  }

  /* 六原则在手机端作为静态信息卡展示，不再触发 hover 反馈。 */
  .principles-grid article,
  .principles-grid article:hover{
    pointer-events:none;
    border-color:rgba(255,255,255,.13);
    background:rgba(255,255,255,.055);
    transform:none;
    transition:none;
  }
}
