:root { --void: #0b0c10; --ink: #111319; --panel: #151820; --panel-2: #1b1f28; --white: #f5f5f7; --silver: #a6abb3; --muted: #747b85; --gold: #e6c687; --gold-deep: #b89652; --line: rgba(197, 198, 199, .14); --operation: #85a9a3; --capital: #e6c687; --policy: #ce7c70; --market: #8198bd; --evolution: #9a88b8; } * { box-sizing: border-box; } html { scroll-behavior: smooth; } body { margin: 0; font-size: 16px; color: var(--white); background: var(--void); font-family: Inter, "PingFang SC", "Microsoft YaHei", sans-serif; -webkit-font-smoothing: antialiased; } button, a { font: inherit; } a { color: inherit; text-decoration: none; } button { color: inherit; } ::selection { color: var(--void); background: var(--gold); } .topbar { position: fixed; z-index: 20; inset: 0 0 auto; height: 88px; display: flex; align-items: center; justify-content: space-between; padding: 0 clamp(20px, 4vw, 64px); border-bottom: 1px solid var(--line); background: rgba(11, 12, 16, .82); backdrop-filter: blur(18px); } .brand { width: auto; height: 64px; display: flex; align-items: center; gap: 18px; } .brand-mark { width: 86px; height: auto; display: block; } .brand-copy { display: grid; gap: 6px; white-space: nowrap; } .brand-copy strong { color: var(--white); font-family: "PingFang SC", "Microsoft YaHei", sans-serif; font-size: 27px; font-weight: 300; letter-spacing: .22em; line-height: 1; } .brand-copy em { color: var(--silver); font-size: 11px; font-style: normal; font-weight: 300; letter-spacing: .28em; } } .topbar-actions { display: flex; align-items: center; gap: 20px; } .episode { color: var(--muted); font-size: 13px; letter-spacing: .13em; } .icon-button { width: 38px; min-width: 38px; height: 38px; border: 1px solid var(--line); border-radius: 2px; background: transparent; display: inline-grid; place-items: center; cursor: pointer; } .icon-glyph { font-size: 20px; line-height: 1; font-weight: 300; } .icon-button:hover { border-color: rgba(230, 198, 135, .55); color: var(--gold); } .edit-button { border-color: rgba(230, 198, 135, .38); color: var(--gold); } .icon-button.is-copied { color: #5fa77d; border-color: rgba(95,167,125,.55); } .editbar { position: fixed; z-index: 19; top: 88px; left: 0; right: 0; min-height: 46px; padding: 0 clamp(20px,4vw,64px); display: flex; align-items: center; justify-content: space-between; gap: 20px; background: var(--gold); color: var(--void); font-size: 14px; transform: translateY(-110%); transition: transform .22s ease; } .editbar span { display: flex; align-items: center; gap: 9px; } .editbar i { width: 6px; height: 6px; border-radius: 50%; background: #17834b; box-shadow: 0 0 0 4px rgba(23,131,75,.14); } .editbar button { border: 0; border-bottom: 1px solid currentColor; padding: 3px 0; background: none; cursor: pointer; } .is-editing .editbar { transform: translateY(0); } .is-editing [data-edit] { outline: 1px dashed rgba(230,198,135,.7); outline-offset: 4px; cursor: text; } .is-editing [data-edit]:focus { outline-style: solid; background: rgba(230,198,135,.09); } .hero { position: relative; min-height: 100svh; overflow: hidden; padding: 144px clamp(24px, 8vw, 128px) 70px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, 440px); align-content: center; gap: 72px; background: radial-gradient(circle at 76% 44%, rgba(230, 198, 135, .10), transparent 23%), linear-gradient(180deg, #0b0c10, #0e1015); } .hero::before { content: ""; position: absolute; inset: 0; opacity: .25; pointer-events: none; background-image: radial-gradient(rgba(245,245,247,.75) .55px, transparent .55px); background-size: 43px 43px; mask-image: linear-gradient(to bottom, black, transparent 84%); } .leverage-word { position: absolute; left: 4vw; top: 15%; color: transparent; -webkit-text-stroke: 1px rgba(230,198,135,.1); font-size: clamp(90px, 17vw, 260px); font-weight: 700; letter-spacing: -.08em; line-height: .8; white-space: nowrap; } .hero-orbit { position: absolute; width: min(56vw, 760px); aspect-ratio: 1; right: -13vw; top: 5vh; border: 1px solid rgba(230, 198, 135, .18); border-radius: 50%; } .hero-orbit::after { content: ""; position: absolute; width: 8px; height: 8px; left: 9%; top: 24%; border-radius: 50%; background: var(--gold); box-shadow: 0 0 24px var(--gold); } .hero-copy, .hero-metrics { position: relative; z-index: 1; } .case-slug { margin: 0 0 42px; color: var(--muted); font-size: 13px; letter-spacing: .22em; } .eyebrow, .section-kicker { margin: 0 0 24px; color: var(--gold); font-size: 14px; letter-spacing: .28em; text-transform: uppercase; } .hero h1 { max-width: 860px; margin: 0; font-size: clamp(42px, 6.2vw, 92px); line-height: 1.08; letter-spacing: -.055em; font-weight: 600; } .hero h1::first-line { color: var(--gold); } .hero h1 span { color: #b9bdc4; font-weight: 300; } .hero-deck { max-width: 700px; margin: 34px 0 0; color: #aeb2b9; font-size: clamp(16px, 1.5vw, 20px); line-height: 1.9; font-weight: 300; } .hero-metrics { align-self: end; display: grid; grid-template-columns: repeat(2, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); } .metric { min-height: 130px; padding: 26px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); } .metric strong { display: block; color: var(--gold); font-size: clamp(23px, 2.5vw, 34px); font-weight: 400; letter-spacing: -.03em; } .metric span { display: block; margin-top: 12px; color: var(--muted); font-size: 14px; letter-spacing: .06em; } .scroll-cue { position: absolute; z-index: 2; left: clamp(24px, 8vw, 128px); bottom: 30px; color: var(--muted); font-size: 14px; letter-spacing: .1em; } .scroll-cue span { display: inline-block; margin-left: 10px; color: var(--gold); animation: bob 1.7s ease-in-out infinite; } .story { display: grid; grid-template-columns: 260px minmax(0, 1fr); width: min(1320px, calc(100% - 48px)); margin: 0 auto; padding: 110px 0 150px; gap: 74px; } .rail-sticky { position: sticky; top: 100px; } .rail-label { color: var(--muted); margin: 0 0 16px; font-size: 14px; letter-spacing: .14em; } .filters { display: grid; gap: 3px; } .filter { width: 100%; height: 40px; padding: 0 12px; display: flex; align-items: center; gap: 10px; border: 0; background: transparent; color: var(--muted); text-align: left; font-size: 15px; cursor: pointer; } .filter i { width: 5px; height: 5px; border-radius: 50%; background: currentColor; } .filter:hover { color: var(--white); } .filter.active { color: var(--gold); background: rgba(230, 198, 135, .07); } .progress-block { margin: 34px 0; padding-top: 24px; border-top: 1px solid var(--line); } .progress-meta { display: flex; justify-content: space-between; color: var(--muted); font-size: 14px; } .progress-meta strong { color: var(--gold); font-weight: 400; } .progress-track { height: 2px; margin-top: 12px; background: var(--line); } .progress-track span { display: block; width: 0; height: 100%; background: var(--gold); transition: width .12s linear; } .chapter-nav { display: grid; gap: 14px; } .chapter-nav a { color: var(--muted); font-size: 14px; transition: color .2s; } .chapter-nav a:hover { color: var(--white); } .chapter-nav span { display: inline-block; width: 34px; color: var(--gold-deep); font-size: 13px; } .participants { margin-top: 110px; padding-top: 80px; border-top: 1px solid var(--line); } .participants-head { display: flex; align-items: end; justify-content: space-between; margin-bottom: 26px; } .participants-head h2 { margin: 0; font-size: clamp(28px, 3vw, 42px); font-weight: 400; letter-spacing: -.04em; } .participants-head > p { margin: 0; color: var(--muted); font-size: 14px; letter-spacing: .08em; } .participants-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); } .participant-card { min-height: 210px; padding: 23px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: rgba(21,24,32,.38); } .participant-title { display: flex; align-items: center; gap: 13px; } .participant-title > span { flex: 0 0 35px; height: 35px; display: grid; place-items: center; border: 1px solid rgba(230,198,135,.35); border-radius: 50%; color: var(--gold); font-family: Georgia, serif; font-size: 14px; } .participant-title h3 { margin: 0 0 4px; font-size: 16px; font-weight: 400; } .participant-title p { margin: 0; color: var(--muted); font-size: 13px; } .participant-card > p { margin: 23px 0 16px; color: #9da2aa; font-size: 15px; line-height: 1.75; } .participant-card > strong { color: var(--gold-deep); font-size: 13px; font-weight: 500; letter-spacing: .02em; } .timeline-head { display: flex; align-items: end; justify-content: space-between; margin-bottom: 66px; } .timeline-head h2, .model h2 { margin: 0; font-size: clamp(34px, 4vw, 58px); letter-spacing: -.04em; font-weight: 400; } .timeline-tools { display: flex; align-items: center; gap: 16px; } .timeline-tools > span { color: var(--muted); font-size: 14px; } .view-switch { display: flex; padding: 3px; border: 1px solid var(--line); background: rgba(21,24,32,.6); } .view-switch button { min-width: 58px; height: 34px; padding: 0 12px; border: 0; background: transparent; color: var(--muted); font-size: 14px; cursor: pointer; } .view-switch button.active { color: var(--void); background: var(--gold); } .timeline { position: relative; } .timeline::before { content: ""; position: absolute; left: 154px; top: 0; bottom: 0; width: 1px; background: linear-gradient(var(--gold), var(--line) 12%, var(--line) 90%, transparent); } .event { position: relative; display: grid; grid-template-columns: 128px minmax(0, 1fr); gap: 52px; padding-bottom: 28px; animation: reveal .45s both; animation-delay: var(--delay); } .event::before { content: ""; position: absolute; left: 150px; top: 30px; width: 9px; height: 9px; border: 2px solid var(--void); border-radius: 50%; background: var(--muted); } .event[data-category="operation"]::before { background: var(--operation); } .event[data-category="capital"]::before { background: var(--capital); } .event[data-category="policy"]::before { background: var(--policy); } .event[data-category="market"]::before { background: var(--market); } .event[data-category="evolution"]::before { background: var(--evolution); } .event-date { padding-top: 21px; text-align: right; } .event-date span { display: block; color: #aeb2b9; font-size: 15px; line-height: 1.5; } .event-date small { display: block; margin-top: 7px; color: #5c626b; font-size: 13px; letter-spacing: .08em; } .event-card { width: 100%; padding: 25px 28px 26px; border: 1px solid var(--line); border-radius: 2px; background: rgba(21, 24, 32, .58); text-align: left; cursor: pointer; transition: background .25s, border-color .25s, transform .25s; } .event-card:hover { transform: translateY(-2px); border-color: rgba(230, 198, 135, .32); background: var(--panel); } .featured .event-card { background: linear-gradient(115deg, rgba(230,198,135,.08), rgba(21,24,32,.8) 52%); } .event-card-top { display: flex; justify-content: space-between; align-items: center; } .tag { color: var(--gold-deep); font-size: 13px; letter-spacing: .1em; } .expand-icon { color: var(--muted); font-size: 18px; font-weight: 200; transition: transform .25s; } .event.open .expand-icon { transform: rotate(45deg); } .event h3 { margin: 19px 0 10px; font-size: clamp(20px, 2.2vw, 28px); font-weight: 400; letter-spacing: -.02em; } .event-card > p { max-width: 750px; margin: 0; color: #989da6; font-size: 16px; line-height: 1.8; } .event-stat { display: block; margin-top: 22px; color: var(--gold); font-size: 14px; font-weight: 500; letter-spacing: .05em; } .event-detail { display: grid; grid-template-rows: 0fr; opacity: 0; transition: grid-template-rows .35s ease, opacity .25s ease, margin .35s; } .event-detail > div { overflow: hidden; } .event-detail > div:first-child { grid-row: 1; } .event-detail > div:last-child { grid-row: 1; visibility: hidden; } .event.open .event-detail { grid-template-rows: 1fr; opacity: 1; margin-top: 25px; border-top: 1px solid var(--line); padding-top: 22px; gap: 20px; } .event.open .event-detail { display: grid; grid-template-columns: 1fr 1fr; } .event.open .event-detail > div:last-child { grid-row: auto; visibility: visible; } .event-detail span { color: var(--muted); font-size: 13px; letter-spacing: .1em; } .event-detail p { margin: 8px 0 0; color: #b6bac1; font-size: 15px; line-height: 1.8; } .timeline.compact .event { padding-bottom: 10px; } .timeline.compact .event::before { top: 20px; } .timeline.compact .event-date { padding-top: 12px; } .timeline.compact .event-card { padding: 15px 20px 16px; } .timeline.compact .event-card-top { float: right; margin-left: 12px; } .timeline.compact .tag { display: none; } .timeline.compact .event h3 { margin: 0 0 8px; font-size: 21px; } .timeline.compact .event-card > p { display: none; } .timeline.compact .event-stat { margin-top: 0; font-size: 14px; } .timeline.compact .event.open .event-detail { margin-top: 15px; } .model { padding: 130px max(24px, calc((100vw - 1180px) / 2)); background: #f0f0f1; color: var(--ink); } .model .section-kicker { color: var(--gold-deep); } .model-intro { max-width: 670px; margin: 25px 0 55px; color: #676c74; line-height: 1.8; } .model-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid #d1d3d7; border-left: 1px solid #d1d3d7; } .model-card { min-height: 310px; padding: 34px; border-right: 1px solid #d1d3d7; border-bottom: 1px solid #d1d3d7; } .model-card > span { color: var(--gold-deep); font-size: 14px; letter-spacing: .1em; } .model-card h3 { margin: 54px 0 8px; font-size: 29px; font-weight: 400; } .model-card strong { color: #777c84; font-size: 15px; font-weight: 400; } .model-card p { margin: 25px 0 0; color: #5e636a; font-size: 16px; line-height: 1.8; } .model blockquote { max-width: 900px; margin: 85px auto 0; font-family: Georgia, "Songti SC", serif; font-size: clamp(22px, 2.8vw, 37px); line-height: 1.6; text-align: center; } .ending { min-height: 72vh; display: grid; place-content: center; padding: 90px 24px; text-align: center; background: radial-gradient(circle at 50% 50%, rgba(230,198,135,.08), transparent 35%); } .ending p { color: var(--gold); font-size: 14px; letter-spacing: .2em; } .ending h2 { margin: 26px 0; font-size: clamp(30px, 4vw, 58px); line-height: 1.45; font-weight: 300; letter-spacing: -.04em; } .ending span { color: var(--muted); font-family: Georgia, "Songti SC", serif; font-size: 17px; } footer { min-height: 220px; padding: 55px max(24px, calc((100vw - 1180px) / 2)); display: flex; align-items: end; justify-content: space-between; gap: 30px; border-top: 1px solid var(--line); } footer img { width: 350px; max-width: 100%; } footer p { color: var(--muted); font-size: 14px; letter-spacing: .05em; } html[data-theme="light"] { --void: #f5f5f7; --ink: #0b0c10; --panel: #ffffff; --panel-2: #eceef1; --white: #0b0c10; --silver: #59616a; --muted: #6f7780; --gold: #76591f; --gold-deep: #654916; --line: #d8dadf; color-scheme: light; } html[data-theme="light"] body { background: var(--void); } html[data-theme="light"] .topbar { background: rgba(245,245,247,.9); } html[data-theme="light"] .hero { background: radial-gradient(circle at 76% 44%, rgba(184,150,82,.11), transparent 23%), linear-gradient(180deg,#f5f5f7,#f1f2f4); } html[data-theme="light"] .hero::before { opacity: .16; background-image: radial-gradient(rgba(78,88,98,.7) .55px, transparent .55px); } html[data-theme="light"] .hero-orbit { border-color: rgba(78,88,98,.22); } html[data-theme="light"] .leverage-word { -webkit-text-stroke-color: rgba(78,88,98,.11); } html[data-theme="light"] .hero-orbit::after { background: #b89652; box-shadow: 0 0 20px rgba(184,150,82,.55); } html[data-theme="light"] .hero h1 span, html[data-theme="light"] .hero-deck { color: #59616a; } html[data-theme="light"] .case-slug, html[data-theme="light"] .episode { color: #737b84; } html[data-theme="light"] .participant-card, html[data-theme="light"] .event-card { background: rgba(255,255,255,.72); } html[data-theme="light"] .featured .event-card { background: linear-gradient(115deg,rgba(184,150,82,.12),rgba(255,255,255,.84) 52%); } html[data-theme="light"] .event-card:hover { background: #fff; border-color: rgba(184,150,82,.5); } html[data-theme="light"] .event-card > p, html[data-theme="light"] .event-detail p, html[data-theme="light"] .participant-card > p { color: #59616a; } html[data-theme="light"] .event-date span { color: #4e5862; } html[data-theme="light"] .event-date small { color: #9298a0; } html[data-theme="light"] .event::before { border-color: var(--void); } html[data-theme="light"] .view-switch { background: #eceef1; } html[data-theme="light"] .view-switch button.active { color: #f5f5f7; } html[data-theme="light"] .editbar { background: #76591f; color: #fff; } html[data-theme="light"] .model { background: #eceef1; color: #0b0c10; border-block: 1px solid #d8dadf; } html[data-theme="light"] .model-intro, html[data-theme="light"] .model-card p { color: #59616a; } html[data-theme="light"] .model-card strong { color: #737b84; } html[data-theme="light"] .model-grid, html[data-theme="light"] .model-card { border-color: #cfd2d7; } html[data-theme="light"] .ending { background: radial-gradient(circle at 50% 50%,rgba(184,150,82,.1),transparent 36%); } html[data-theme="light"] .story-rail { background-color: rgba(245,245,247,.92); } @keyframes bob { 50% { transform: translateY(5px); } } @keyframes reveal { from { opacity: 0; transform: translateY(10px); } } @media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; animation: none !important; transition: none !important; } } @media (max-width: 900px) { .hero { grid-template-columns: 1fr; gap: 48px; padding-top: 120px; } .hero-metrics { width: 100%; } .story { grid-template-columns: 1fr; gap: 50px; } .rail-sticky { position: static; } .filters { display: flex; overflow-x: auto; padding-bottom: 6px; } .filter { width: auto; min-width: max-content; padding: 0 14px; border: 1px solid var(--line); } .progress-block, .chapter-nav { display: none; } .participants-grid { grid-template-columns: repeat(2, 1fr); } .model-grid { grid-template-columns: 1fr; } } @media (max-width: 620px) { .topbar { height: 74px; } .brand { height: 52px; gap: 10px; } .brand-mark { width: 58px; } .brand-copy { gap: 4px; } .brand-copy strong { font-size: 20px; letter-spacing: .15em; } .brand-copy em { font-size: 9px; letter-spacing: .18em; } .episode { display: none; } .topbar-actions { gap: 7px; } .icon-button { width: 38px; min-width: 38px; padding: 0; } .editbar { top: 74px; padding: 10px 14px; } .editbar span { line-height: 1.5; } .hero { min-height: auto; padding: 104px 20px 54px; gap: 28px; } .hero h1 { font-size: 42px; } .case-slug { margin-bottom: 25px; } .leverage-word { top: 17%; font-size: 24vw; } .hero-deck { margin-top: 22px; font-size: 14px; line-height: 1.7; } .hero-metrics { grid-template-columns: repeat(4, minmax(108px, 1fr)); overflow-x: auto; border-left: 0; border-top: 1px solid var(--line); scrollbar-width: none; } .metric { min-height: 82px; padding: 14px 12px; border-left: 1px solid var(--line); } .metric strong { font-size: 19px; white-space: nowrap; } .metric span { margin-top: 7px; font-size: 13px; } .scroll-cue { display: none; } .story { width: calc(100% - 24px); padding-top: 34px; gap: 28px; } .story-rail { position: sticky; z-index: 9; top: 74px; margin-inline: -12px; padding: 9px 12px; background: rgba(11,12,16,.92); backdrop-filter: blur(14px); border-bottom: 1px solid var(--line); } .rail-label { display: none; } .filters { padding-bottom: 0; } .filter { height: 40px; font-size: 14px; } .participants { margin-top: 62px; padding-top: 54px; } .participants-head { margin-bottom: 18px; } .participants-head > p { display: none; } .participants-grid { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; border: 0; margin-right: -12px; padding-right: 12px; scrollbar-width: none; } .participant-card { flex: 0 0 78vw; min-height: 176px; scroll-snap-align: start; border: 1px solid var(--line); border-right: 0; } .participant-card:last-child { border-right: 1px solid var(--line); } .timeline-head { display: block; margin-bottom: 40px; } .timeline-tools { margin-top: 17px; justify-content: space-between; } .timeline-tools > span { font-size: 13px; } .timeline::before { left: 5px; } .event { grid-template-columns: 1fr; gap: 10px; padding-left: 24px; } .event::before { left: 1px; top: 8px; } .event-date { padding: 0; text-align: left; display: flex; gap: 10px; align-items: center; } .event-date small { margin: 0; } .event-card { padding: 18px 16px; } .event.open .event-detail { grid-template-columns: 1fr; } .timeline.compact .event-card { padding: 12px 14px 13px; } .timeline.compact .event h3 { font-size: 18px; line-height: 1.45; } .timeline.compact .event-date { padding: 0; } .timeline.compact .event::before { top: 8px; } .model { padding-block: 90px; } footer { align-items: flex-start; flex-direction: column; } }