:root{--eco-ink:#09151b;--eco-ink-2:#102832;--eco-gold:#c59a4a;--eco-gold-soft:#ead7af;--eco-paper:#f5f1e8;--eco-line:#d9d1c4;--eco-muted:#5e696e}
.platform-shell{width:min(1180px,92vw);margin-inline:auto}
.platform-hero{position:relative;overflow:hidden;padding:86px 0 64px;color:#f8f3e9;background:radial-gradient(circle at 82% 18%,rgba(197,154,74,.22),transparent 27%),linear-gradient(135deg,var(--eco-ink),#15343f)}
.platform-hero:after{content:"";position:absolute;right:-8vw;bottom:-22vw;width:44vw;aspect-ratio:1;border:1px solid rgba(234,215,175,.2);border-radius:50%;box-shadow:0 0 0 5vw rgba(234,215,175,.035),0 0 0 10vw rgba(234,215,175,.025);pointer-events:none}
.platform-hero .platform-shell{position:relative;z-index:1}
.platform-kicker{display:flex;align-items:center;gap:12px;color:var(--eco-gold-soft);font-size:12px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}
.platform-kicker:before{content:"";width:38px;height:1px;background:var(--eco-gold)}
.platform-hero h1{max-width:880px;margin:18px 0 20px;font-family:"Songti SC","STSong",serif;font-size:clamp(46px,7vw,82px);font-weight:600;line-height:1.03;letter-spacing:-.04em}
.platform-hero p{max-width:760px;margin:0;color:#c7d3d6;font-size:18px;line-height:1.85}
.platform-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.platform-section{padding:72px 0}.platform-section.warm{background:var(--eco-paper)}.platform-section.dark{color:#f8f3e9;background:var(--eco-ink)}
.platform-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.62fr);gap:40px;align-items:end;margin-bottom:34px}
.platform-heading h2{margin:10px 0 0;font-family:"Songti SC","STSong",serif;font-size:clamp(34px,5vw,54px);line-height:1.08}.platform-heading p{margin:0;color:var(--eco-muted);line-height:1.8}.dark .platform-heading p{color:#aebdc1}
.role-grid,.module-grid{display:grid;gap:16px}.role-grid{grid-template-columns:repeat(3,1fr)}.module-grid{grid-template-columns:repeat(3,1fr)}
.module-card{position:relative;display:flex;min-height:230px;flex-direction:column;padding:26px;border:1px solid var(--eco-line);color:var(--eco-ink);text-decoration:none;background:#fff;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.module-card:hover{transform:translateY(-3px);border-color:#b48a42;box-shadow:0 18px 40px rgba(18,34,40,.08)}.module-card small{color:#9a6d20;font-weight:800;letter-spacing:.12em}.module-card h3{margin:26px 0 10px;font-size:25px}.module-card p{margin:0;color:var(--eco-muted);line-height:1.7}.module-card .module-link{margin-top:auto;padding-top:24px;color:#8b5f18;font-weight:800}
.module-card.featured{color:#f8f3e9;border-color:#253d46;background:linear-gradient(145deg,#10252e,#09151b)}.module-card.featured p{color:#b8c5c8}.module-card.featured .module-link{color:var(--eco-gold-soft)}
.status-rail{display:grid;grid-template-columns:repeat(4,1fr);margin:26px 0 0;border:1px solid var(--eco-line);background:#fff}.status-step{position:relative;min-height:150px;padding:24px;border-right:1px solid var(--eco-line)}.status-step:last-child{border-right:0}.status-step b{display:block;margin-bottom:14px;color:#9a6d20;font-size:12px;letter-spacing:.12em}.status-step h3{margin:0 0 8px;font-size:19px}.status-step p{margin:0;color:var(--eco-muted);font-size:14px;line-height:1.65}
.access-levels{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--eco-line);background:#fff}.access-level{padding:26px;border-right:1px solid var(--eco-line)}.access-level:last-child{border-right:0}.access-level b{display:inline-grid;width:34px;height:34px;place-items:center;margin-bottom:20px;border-radius:50%;color:#fff;background:var(--eco-ink)}.access-level:nth-child(2) b{background:#8f6829}.access-level:nth-child(3) b{background:#5a4930}.access-level h3{margin:0 0 9px;font-size:21px}.access-level p{margin:0;color:var(--eco-muted);line-height:1.7}
.locked-preview{position:relative;overflow:hidden;padding:28px;border:1px solid var(--eco-line);background:#fff}.locked-preview:after{content:"受控内容";position:absolute;right:18px;top:18px;padding:6px 9px;color:#76531c;border:1px solid #d7bd88;background:#fff8e8;font-size:11px;font-weight:800;letter-spacing:.08em}.preview-lines{display:grid;gap:10px;margin:22px 0}.preview-lines i{display:block;height:10px;border-radius:20px;background:#e7e1d7}.preview-lines i:nth-child(2){width:84%}.preview-lines i:nth-child(3){width:68%}.preview-lines i:nth-child(n+4){filter:blur(5px);opacity:.55}
.empty-state{padding:32px;border:1px dashed #b8ad9b;color:var(--eco-muted);background:rgba(255,255,255,.62);line-height:1.8}.platform-note{padding:20px 22px;border-left:3px solid var(--eco-gold);color:#4e5b60;background:#f7f1e5;line-height:1.75}.platform-quick{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.platform-quick a{padding:10px 14px;border:1px solid var(--eco-line);color:var(--eco-ink);text-decoration:none;background:#fff}.platform-quick a:hover{border-color:#a5792d;color:#855a15}.nav-links .nav-ecosystem{color:#8b5f18;font-weight:900}
.member-session-note{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:20px;align-items:center;margin:0 0 22px;padding:18px 20px;border:1px solid #d7bd88;border-left:4px solid var(--eco-gold);background:#fff8e8}.member-session-note[hidden]{display:none}.member-session-note span{color:#314047;line-height:1.75}.member-session-note .btn{margin:0;white-space:nowrap}
@media(max-width:900px){.platform-heading{grid-template-columns:1fr}.role-grid,.module-grid{grid-template-columns:repeat(2,1fr)}.status-rail{grid-template-columns:repeat(2,1fr)}.status-step:nth-child(2){border-right:0}.status-step:nth-child(-n+2){border-bottom:1px solid var(--eco-line)}}
@media(max-width:680px){.platform-hero{padding:58px 0 44px}.platform-hero p{font-size:16px}.platform-section{padding:50px 0}.role-grid,.module-grid,.access-levels,.status-rail,.member-session-note{grid-template-columns:1fr}.module-card{min-height:200px}.access-level,.status-step{border-right:0;border-bottom:1px solid var(--eco-line)}.access-level:last-child,.status-step:last-child{border-bottom:0}.status-step:nth-child(2){border-bottom:1px solid var(--eco-line)}.member-session-note .btn{width:100%;white-space:normal}}
