/* Follow a question: one graphic ontology world, six chapters. */
:root{--bg:#faf9f5;--ink:#222722;--muted:#62665e;--red:#bc3a28;--tomato:#d94b36;--blush:#f3c9c0;--green:#496d46;--sage:#e5eddf;--line:#dedfd6;--gutter:clamp(24px,6.4vw,116px)}
html{scroll-padding-top:105px}body{background:var(--bg)}
.ontology-world{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}.ontology-world canvas{display:block;width:100%;height:100%}
.site-shell{position:relative;overflow:clip}.site-header{background:transparent;border-bottom-color:transparent;gap:30px;transition:background-color .2s ease,border-color .2s ease}.site-header.is-scrolled{background:var(--bg);border-bottom-color:var(--line)}
.brand-wordmark{align-items:flex-start;text-align:left}.brand-company{font-size:9px;letter-spacing:.04em;text-align:left}.nav-cta{background:transparent;border:1px solid var(--line);color:var(--ink);border-radius:30px}.nav-cta:hover{background:var(--ink);color:var(--bg)}
.nav-links a{font-size:12px}.reading-progress{position:fixed;top:0;left:0;right:0;height:2px;z-index:60;pointer-events:none}.reading-progress i{display:block;width:100%;height:100%;background:var(--tomato);transform-origin:left;transform:scaleX(0)}
.world-targets{position:fixed;inset:0;pointer-events:none;z-index:2}.world-target{position:absolute;top:0;left:0;padding:0;border:0;border-radius:50%;background:transparent;pointer-events:auto;outline-offset:7px}.world-target:hover{box-shadow:0 0 0 1px var(--red)}
.world-target-caption{position:absolute;left:50%;bottom:calc(100% + 15px);transform:translateX(-50%) translateY(4px);background:var(--ink);color:var(--bg);padding:7px 11px;border-radius:4px;font-size:10px;white-space:nowrap;opacity:0;transition:opacity .15s,transform .15s;pointer-events:none}.world-target:is(:hover,:focus-visible) .world-target-caption{opacity:1;transform:translateX(-50%)}
.hero.journey-chapter{min-height:920px;height:114svh;display:block;padding:44px var(--gutter) 0;scroll-margin-top:var(--header);background:transparent}
.hero-copy{max-width:1050px;margin:0 auto;text-align:center;transform:none;animation:none;position:relative;z-index:4}.hero-kicker{font-size:11px;line-height:1.5;font-weight:600;color:var(--muted);margin-bottom:20px;letter-spacing:.02em}
h1{font-size:clamp(52px,5.7vw,82px);font-weight:800;line-height:1.045;letter-spacing:-.04em}.hero-lede{font-size:16px;line-height:1.65;max-width:760px;margin:24px auto 25px}.hero-lede br{display:none}.hero-actions{justify-content:center;flex-direction:row;align-items:center;gap:29px}.button{border-radius:28px;gap:24px;min-height:49px;padding:14px 25px;font-size:12px}.button-quiet{padding-inline:0}.button-primary{background:var(--red);color:#fff;font-weight:800}.button-primary:hover{background:var(--accent-hover)}
.hero-bottom{z-index:4;bottom:50px;font-size:10px}.hero-scroll{background:var(--bg);padding:6px 0}.hero-scroll>span:first-child{font-size:22px}.hero-bottom>p{font-size:9px}.static-world{width:min(100%,800px);margin:55px auto 0;text-align:center;color:var(--muted);font-size:12px}.static-world img{margin:0 auto 26px}.world-ready .static-world{visibility:hidden}
.journey-chapter{position:relative}.chapter-layout{position:relative;min-height:max(820px,116svh);display:flex;align-items:center;margin:0 var(--gutter);padding:100px 0}
.chapter-copy{position:relative;z-index:4;width:43%;max-width:510px}.chapter-label{font-size:11px;line-height:1.5;font-weight:600;color:var(--red);margin-bottom:26px}.chapter-copy h2,.inspection-heading h2{font-size:clamp(43px,4.85vw,70px);line-height:1.08;font-weight:800;letter-spacing:-.04em}.chapter-copy>p:not(.chapter-label){font-size:15px;line-height:1.85;max-width:440px;margin-top:29px}.chapter-copy>p.quiet-copy{font-size:13px;color:var(--muted);margin-top:21px;max-width:405px}.text-link{min-height:39px;align-items:center;font-size:12px;margin-top:27px;padding-bottom:0}.chapter-copy .text-link{margin-top:24px}

.relationships-chapter .chapter-layout{min-height:max(940px,125svh)}.relationships-chapter .chapter-copy{width:43%;max-width:500px}.question-line{margin-top:28px;padding-left:17px;border-left:2px solid var(--tomato)}.question-line>span{color:var(--muted);font-size:10px}.question-line p{font-size:15px;line-height:1.7;margin-top:9px;max-width:385px;font-weight:600}.route-select{display:flex;flex-wrap:wrap;column-gap:19px;row-gap:0;margin-top:23px}.route-select button{min-height:44px;padding:8px 0;border:0;border-bottom:2px solid transparent;background:none;font-size:11px;color:var(--muted)}.route-select button[aria-pressed=true]{color:var(--red);border-color:var(--tomato);font-weight:800}.route-select button:hover{color:var(--red)}.route-explanation{margin-top:21px;min-height:132px;max-width:410px}.route-explanation strong{display:block;font-size:14px;line-height:1.6;font-weight:600}.route-explanation p{font-size:12px;color:var(--muted);line-height:1.85;margin-top:8px}
.rules-chapter .chapter-layout{min-height:max(920px,123svh)}.rules-chapter .chapter-copy{width:46%;max-width:540px}.rules-chapter h2{font-size:clamp(40px,4.4vw,65px)}.rules-chapter .chapter-copy>p:not(.chapter-label){margin-top:25px;max-width:420px}.definition-control{margin-top:25px;max-width:385px}.definition-control label{font-size:11px;margin-bottom:9px}.definition-control select{background:var(--bg);border-color:#abafa2;min-height:50px;font-size:13px;border-radius:4px;padding-inline:14px}.definition-control>p{font-size:11px;min-height:40px;max-width:365px;line-height:1.7;margin-top:10px}.chapter-copy>p.definition-invite{margin-top:11px!important;font-size:10px!important;max-width:none!important;color:var(--green)}.rule-result{display:flex;gap:17px;align-items:baseline;margin-top:25px;flex-wrap:wrap}.rule-result strong{font-size:37px;font-weight:600;letter-spacing:-.04em;line-height:1.2;font-variant-numeric:tabular-nums}.rule-result span{font-size:10px;color:var(--green)}.chapter-copy>p.rule-scope{font-size:9px;line-height:1.75;color:var(--muted);margin-top:11px!important;max-width:340px}
.inspection{background:transparent;padding-block:150px 120px;position:relative;z-index:4}.inspection-heading{grid-template-columns:1.25fr 1fr;gap:100px}.inspection-heading>p{font-size:14px;max-width:360px}.answer-workspace{margin-top:55px;border-radius:5px;background:color-mix(in srgb,var(--bg) 97%,transparent);grid-template-columns:minmax(240px,.72fr) minmax(0,1.5fr)}.answer-context{background:var(--surface);padding:36px 30px}.answer-question{font-size:23px;line-height:1.5}.answer-context .text-link{font-size:10px;gap:12px;align-items:flex-start;margin-top:35px;max-width:240px;line-height:1.8}.answer-panel{min-height:425px}.answer-summary strong{font-size:42px}.answer-summary>p{font-size:10px}.answer-output{padding-inline:35px}.answer-tabs button{font-size:12px}.answer-table{font-size:14px}.answer-table th,.answer-footnote{font-size:11px}.answer-table small{font-size:10px}.execution-plan p{font-size:12px}.evidence-record summary{font-size:13px}.evidence-facts{font-size:11px}
.document-preview{display:block;margin-top:38px;padding:24px 0 0;max-width:800px}.document-preview summary{cursor:pointer;font-size:15px;line-height:1.6;font-weight:600}.document-preview summary:hover{color:var(--red)}.document-preview>p{font-size:13px;margin-top:20px;color:var(--muted);max-width:650px}.document-preview>.document-question{font-size:17px;color:var(--ink)}.document-preview>small{font-size:10px;color:var(--muted);display:block;margin-top:19px}
.open-core{background:transparent;padding-top:160px;padding-bottom:140px;position:relative;z-index:4}.open-core-grid{gap:100px;align-items:center}.open-core h2{font-weight:800;font-size:clamp(47px,5vw,72px);line-height:1.1;letter-spacing:-.04em}.open-core h2 span{color:var(--red)}.open-lede{font-size:14px;line-height:1.85}.open-list{background:color-mix(in srgb,var(--bg) 94%,transparent);padding:25px 0}.open-row{font-size:14px;padding-block:23px}.open-list-head{font-size:10px}.stack-tags span{font-size:11px}.section-index{font-size:11px}
.start{position:relative;z-index:4;padding-block:85px 130px}.start-wrap{border-top:1px solid var(--line);padding-top:55px}.start h2{font-size:clamp(39px,4vw,58px);line-height:1.12;font-weight:800}.start-copy>p{font-size:14px}.terminal{background:color-mix(in srgb,var(--bg) 95%,transparent);border-radius:5px}.terminal-bar{background:var(--surface)}.site-footer{position:relative;z-index:4;background:var(--bg);border-top:1px solid var(--line)}
.journey-location{position:fixed;bottom:28px;left:var(--gutter);z-index:15;display:flex;align-items:center;gap:15px;background:var(--bg);padding:7px 14px 7px 0;font-size:10px;line-height:1.3;transition:opacity .2s}.journey-location>span{font-variant-numeric:tabular-nums;color:var(--muted);font-size:9px}.journey-location a{display:flex;gap:26px;align-items:center;min-height:30px}.journey-location a>span:last-child{color:var(--red)}html[data-chapter=world] .journey-location{opacity:0;pointer-events:none}.motion-toggle{right:var(--gutter);bottom:27px;width:39px;height:39px;background:var(--bg)}
.reveal.is-visible,.hero-copy{animation:none}.world-ready .chapter-copy,.world-ready .inspection-heading{isolation:isolate}html[data-motion=still]{scroll-behavior:auto}
html[lang=zh-CN] h1{font-size:clamp(48px,5.2vw,76px);line-height:1.2;letter-spacing:-.04em}html[lang=zh-CN] .chapter-copy h2{font-size:clamp(43px,4.4vw,64px);line-height:1.25;letter-spacing:-.04em}html[lang=zh-CN] .hero-lede{line-height:1.65}
@media(min-width:1700px){.hero.journey-chapter{padding-top:62px}.chapter-copy{max-width:540px}.hero-lede{font-size:18px}}
@media(min-width:761px) and (max-height:820px){.hero.journey-chapter{padding-top:32px;min-height:850px}.hero-kicker{margin-bottom:16px}h1{font-size:clamp(50px,5.6vw,72px)}.hero-lede{margin:20px auto 23px;font-size:14px}.chapter-copy h2{font-size:clamp(43px,4.5vw,62px)}.chapter-copy>p:not(.chapter-label){font-size:14px}}
@media(max-width:1180px){.site-header{gap:22px}.nav-links{gap:22px}.hero.journey-chapter{padding-top:43px}.nav-cta{display:none}.chapter-copy{width:45%}.chapter-copy h2,.inspection-heading h2{font-size:clamp(41px,5.2vw,58px)}.chapter-copy>p:not(.chapter-label){font-size:14px}.chapter-copy>p.quiet-copy{font-size:12px}.relationships-chapter .chapter-copy{width:46%}.rules-chapter .chapter-copy{width:48%}.rules-chapter h2{font-size:clamp(37px,4.5vw,53px)}.inspection-heading,.open-core-grid{gap:60px}.answer-workspace{grid-template-columns:minmax(220px,.78fr) minmax(0,1.5fr)}.answer-context{padding:28px 25px}.answer-question{font-size:21px}.answer-output{padding-inline:25px}.answer-summary strong{font-size:36px}.answer-tabs{gap:20px}.answer-tabs button{font-size:11px}}
@media(max-width:900px) and (min-width:761px){.hero-lede{font-size:14px}.hero.journey-chapter{min-height:900px}.chapter-layout{min-height:900px}.chapter-copy h2{font-size:43px}.chapter-copy>p:not(.chapter-label){font-size:13px}.question-line p{font-size:13px}.route-select{column-gap:13px}.rules-chapter h2{font-size:40px}.rule-result strong{font-size:31px}.inspection-heading,.open-core-grid{gap:40px}.answer-workspace{grid-template-columns:1fr 1.6fr}.answer-tabs{gap:12px}.answer-tabs button{font-size:10px}.answer-summary{gap:12px}.answer-summary strong{font-size:31px}.answer-summary>p{font-size:8px}.answer-question{font-size:19px}.open-core h2{font-size:52px}}
@media(max-width:760px){
  :root{--gutter:24px;--header:76px}html{scroll-padding-top:95px}.site-header{gap:12px}.nav-links{display:none}.brand-wordmark>span:first-child{font-size:24px}.brand-company{font-size:8px}.mobile-nav{z-index:30;background:var(--bg)}
  .hero.journey-chapter{height:calc(110svh - var(--header));min-height:780px;padding:37px var(--gutter) 0}.hero-copy{max-width:590px}.hero-kicker{font-size:9px;margin-bottom:21px;letter-spacing:0}h1{font-size:clamp(40px,8vw,60px);line-height:1.09;letter-spacing:-.04em}.hero-lede{font-size:13px;line-height:1.8;margin:21px auto 22px;max-width:360px}.hero-lede br{display:block}.hero-actions{gap:20px;flex-wrap:nowrap;justify-content:center;align-items:center;flex-direction:row}.button{font-size:10px;min-height:46px;padding:12px 18px;gap:14px}.button-quiet{padding-inline:0}.hero-bottom{bottom:28px;justify-content:center;font-size:9px}.hero-bottom>p{display:none}.hero-scroll>span:first-child{font-size:20px}.static-world{margin-top:65px}.static-world p{font-size:10px;line-height:1.8}.static-world img{width:110px;height:110px}
  .chapter-layout{min-height:1060px;display:block;margin:0 var(--gutter);padding:95px 0 370px}.chapter-copy,.relationships-chapter .chapter-copy,.rules-chapter .chapter-copy{width:100%;max-width:560px}.chapter-label{font-size:10px;margin-bottom:22px}.chapter-copy h2,.inspection-heading h2{font-size:clamp(40px,9vw,59px);line-height:1.1;letter-spacing:-.04em}.chapter-copy>p:not(.chapter-label){font-size:14px;line-height:1.85;margin-top:23px;max-width:470px}.chapter-copy>p.quiet-copy{font-size:12px;max-width:430px;margin-top:18px}.text-link{font-size:11px}
  .relationships-chapter .chapter-layout{min-height:1230px;padding-bottom:390px}.question-line{margin-top:24px}.question-line p{font-size:14px}.question-line>span{font-size:9px}.route-select{column-gap:18px;margin-top:18px}.route-select button{font-size:11px}.route-explanation{margin-top:17px;min-height:130px;max-width:445px}.route-explanation strong{font-size:13px}.route-explanation p{font-size:12px}
  .rules-chapter .chapter-layout{min-height:1290px;padding-bottom:420px}.rules-chapter h2{font-size:clamp(38px,8.5vw,54px)}.rules-chapter .chapter-copy>p:not(.chapter-label){margin-top:22px;font-size:13px}.definition-control{max-width:420px;margin-top:23px}.definition-control select{font-size:13px}.definition-control>p{font-size:11px;max-width:400px}.definition-invite{font-size:10px}.rule-result{margin-top:25px;gap:15px}.rule-result strong{font-size:34px}.chapter-copy>p.rule-scope{font-size:9px;max-width:330px}
  .inspection{padding:95px var(--gutter) 65px}.inspection-heading{display:block}.inspection-heading>p{font-size:13px;margin-top:25px;max-width:450px}.answer-workspace{display:block;margin-top:33px}.answer-context{padding:25px 22px}.answer-question{font-size:21px;max-width:460px;margin-top:20px}.answer-context .text-link{margin-top:20px}.answer-output{padding-inline:20px}.answer-tabs{gap:12px;justify-content:space-between}.answer-tabs button{font-size:10px;min-height:58px;padding-block:18px}.answer-panel{min-height:0;padding-block:26px}.answer-summary{gap:12px;align-items:center}.answer-summary strong{font-size:clamp(29px,8vw,38px)}.answer-summary span{font-size:10px}.answer-summary>p{font-size:8px;max-width:92px}.answer-table{font-size:12px}.answer-table th,.answer-footnote{font-size:10px}.answer-table small{font-size:9px}.plan-intro{font-size:11px}.execution-plan p{font-size:11px}.execution-plan li{gap:13px}.evidence-record summary{font-size:11px}.evidence-record summary small{font-size:9px;float:none;display:block;margin-left:13px}.evidence-facts{font-size:10px}.evidence-content blockquote{font-size:11px}.document-preview{margin-top:28px}.document-preview summary{font-size:14px}.document-preview>p{font-size:12px}.document-preview>.document-question{font-size:15px}
  .open-core{padding-block:100px 70px}.open-core-grid{grid-template-columns:1fr;gap:27px}.open-core h2{font-size:clamp(42px,9vw,60px)}.open-lede{font-size:13px;max-width:460px}.open-list{padding:17px 0}.open-list-head{font-size:9px}.open-row{font-size:13px;padding-block:21px}.stack-tags span{font-size:10px}.start{padding-block:35px 85px}.start-wrap{padding-top:35px}.start-grid{grid-template-columns:1fr;gap:30px}.start h2{font-size:clamp(37px,8vw,51px)}.start-copy>p{font-size:13px}.site-footer{padding-bottom:80px}.footer-main{gap:25px}.journey-location{bottom:16px;font-size:9px;gap:12px;padding-block:4px}.journey-location a{gap:19px}.motion-toggle{right:var(--gutter);bottom:18px;width:35px;height:35px}.world-target-caption{font-size:9px}
  html[lang=zh-CN] h1{font-size:clamp(38px,8vw,58px);line-height:1.2;letter-spacing:-.04em}html[lang=zh-CN] .chapter-copy h2{font-size:clamp(37px,8.8vw,55px);line-height:1.25}
}
@media(max-width:380px){:root{--gutter:20px}.hero.journey-chapter{padding-top:30px}h1{font-size:38px}.hero-actions{gap:15px}.button{font-size:9px;padding-inline:16px;gap:12px}.button-quiet{padding-inline:0}.hero-lede{font-size:12px}.chapter-copy h2{font-size:39px}.rules-chapter h2{font-size:36px}.answer-output{padding-inline:16px}.answer-tabs{gap:8px}.answer-tabs button{font-size:9px}.answer-summary strong{font-size:28px}.rule-result strong{font-size:32px}.hero-kicker{font-size:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.site-header,.world-target-caption,.journey-location{transition:none}}

body.menu-open .world-targets{visibility:hidden}

/* Details are projected beside the selected object, never positioned in a chapter. */
.node-tether{position:fixed;inset:0;width:100vw;height:100vh;z-index:8;pointer-events:none;overflow:visible}
.node-tether path{fill:none;stroke:var(--red);stroke-width:1.2;stroke-linecap:round}.node-tether circle{fill:var(--bg);stroke:var(--red);stroke-width:1.2}
.node-inspector{position:fixed;left:0;top:0;width:248px;z-index:10;background:var(--bg);border:1px solid var(--accent-border);border-radius:5px;padding:15px 17px 17px;line-height:1.6;pointer-events:auto}
.node-inspector-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:3px}.node-inspector-head>span{font-size:9px;color:var(--red)}
.node-inspector-head button{border:0;background:none;font-size:22px;line-height:1;width:36px;height:36px;display:grid;place-items:center;margin:-10px -11px -4px 0;color:var(--muted)}.node-inspector-head button:hover{color:var(--red)}
.node-inspector h3{font-size:17px;line-height:1.3;font-weight:800;letter-spacing:-.025em;padding-right:20px}.node-inspector>p{font-size:11px;line-height:1.7;color:var(--muted);margin-top:11px}
.node-inspector dl{margin:13px 0 0;padding-top:9px;border-top:1px solid var(--line);font-size:10px;line-height:1.7}.node-inspector dl>div{display:grid;grid-template-columns:68px minmax(0,1fr);gap:9px;padding-block:3px}.node-inspector dt{color:var(--muted)}.node-inspector dd{margin:0;overflow-wrap:anywhere}
.rule-branch-note{margin-top:15px;max-width:350px;font-size:10px;color:var(--muted)}.rule-branch-note strong{font-weight:600;color:var(--red)}.rule-branch-note p{margin-top:4px;line-height:1.7}
.hero-bottom>p{max-width:400px;font-size:10px;text-align:right;line-height:1.7;background:var(--bg);padding-left:12px}.world-target[aria-expanded=true]{outline:0}.world-target[aria-expanded=true]:focus-visible{outline:3px solid var(--green)}
body.menu-open .node-inspector,body.menu-open .node-tether{visibility:hidden}
@media(max-width:760px){.node-inspector{width:232px;padding:13px 15px 15px}.node-inspector h3{font-size:15px}.node-inspector>p{font-size:10px;line-height:1.6;margin-top:9px}.node-inspector dl{font-size:9px;margin-top:10px}.node-inspector dl>div{grid-template-columns:62px minmax(0,1fr)}.node-inspector-head button{width:44px;height:44px;margin-top:-12px}.hero-bottom{display:flex;flex-direction:column;gap:5px;bottom:22px}.hero-bottom>p{display:block;max-width:280px;text-align:center;padding:0;font-size:9px}.rule-branch-note{max-width:350px}}
.node-inspector{overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
/* Let the moving map surround the actual text instead of clearing half a page. */
.hero-copy h1,.hero-kicker{width:fit-content;max-width:100%;margin-inline:auto}.hero-lede{width:fit-content}.hero-actions{width:fit-content;max-width:100%;margin-inline:auto}
