:root{color-scheme:light;--ink:#26363c;--muted:#69767a;--line:#d9dfda;--paper:#f4f5ef;--white:#fffefa;--green:#30735a;--blue:#38667c;--amber:#95601c;--red:#a45643;--mono:ui-monospace,SFMono-Regular,Consolas,monospace;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,input,a{-webkit-tap-highlight-color:transparent}button,input{font:inherit}button,a{touch-action:manipulation}button{color:inherit;cursor:pointer}button{border:0;background:none}a{color:inherit;text-decoration:none}button:disabled{cursor:default;opacity:.4}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:2px solid #ba782b;outline-offset:4px}button:hover:not(:disabled),a:hover{color:#9a6020}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.skip-link{position:fixed;top:-50px;left:10px;background:var(--white);padding:12px;z-index:30}.skip-link:focus{top:8px}
.masthead{height:84px;padding:0 32px;display:flex;align-items:center;border-bottom:1px solid var(--line);gap:30px;background:var(--white)}.brand{display:flex;align-items:center;gap:12px;font-weight:750;font-size:17px;letter-spacing:2px}.brand-mark{width:36px;height:40px;background:var(--ink);color:#efc282;display:grid;place-items:center;font:25px Georgia,serif;clip-path:polygon(0 0,100% 0,100% 82%,78% 100%,0 100%)}.brand-sub{display:block;font-size:10px;font-weight:450;letter-spacing:2px;margin-top:4px;color:var(--muted)}.document-label{font-size:12px;color:var(--muted);border-left:1px solid var(--line);padding-left:26px}.header-actions{margin-left:auto;display:flex;gap:22px;align-items:center}.text-button{font-size:12px;padding:5px 0;color:var(--muted)}.download{display:flex;gap:22px;padding:11px 14px;border:1px solid var(--line);font-size:12px;background:#f8f8f3}.download span{font-size:16px}
.workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(335px,365px);height:calc(100dvh - 84px);max-width:1800px;margin:auto}.explorer{min-width:0;display:flex;flex-direction:column}.view-nav{display:flex;align-items:center;min-height:62px;border-bottom:1px solid var(--line);padding:0 30px;gap:25px}.view-nav button{font-size:13px;height:62px;padding:0;position:relative;white-space:nowrap;color:var(--muted)}.view-nav button.active{color:var(--ink);font-weight:650}.view-nav button.active:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:2px;background:var(--ink)}.version-label{margin-left:auto;font:10px var(--mono);color:var(--muted);white-space:nowrap}.scene{padding:34px clamp(24px,3.3vw,58px) 32px;overflow:auto;flex:1;scrollbar-width:thin;min-height:0}.scene-stage{position:relative;max-width:1060px;margin:auto;isolation:isolate}.eyebrow{font-size:10px;font-weight:650;letter-spacing:1.8px;color:var(--muted)}.hero-kicker{display:flex;align-items:center;gap:10px;font:11px var(--mono);letter-spacing:1px}.tiny-square{height:7px;width:7px;background:#be8540}.hero h1{font-weight:600;font-size:clamp(29px,3.15vw,48px);letter-spacing:-1.3px;line-height:1.43;margin:22px 0 15px}.hero h1 span{display:block}.hero-intro{font-size:13px;color:var(--muted);line-height:1.95;max-width:600px;margin:0}.hero-note{font-size:11px;color:var(--muted);margin:21px 0 25px;padding-top:15px;border-top:1px solid var(--line)}.overview-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.group-card{text-align:left;display:flex;flex-direction:column;min-height:178px;padding:20px;background:var(--white);border:1px solid var(--line);border-top:3px solid var(--accent);transition:transform .18s,box-shadow .18s;position:relative}.group-card:hover{transform:translateY(-3px);box-shadow:0 8px 22px #273a3810;color:inherit!important}.green{--accent:var(--green)}.blue{--accent:var(--blue)}.amber{--accent:var(--amber)}.red{--accent:var(--red)}.card-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.category-title{font-size:17px;font-weight:600}.card-count{font:32px var(--mono);letter-spacing:-2px;color:var(--accent)}.card-count small{font:10px sans-serif;letter-spacing:0;margin-left:7px;color:var(--muted)}.group-card .kicker{font-size:11px;color:var(--accent);margin:8px 0 11px}.card-description{font-size:12px;color:var(--muted);line-height:1.8;margin:0;padding-right:18px}.card-arrow{position:absolute;right:18px;bottom:17px;font-size:19px;color:var(--accent)}.footnote{font-size:11px;line-height:1.8;color:var(--muted);margin-top:19px}.scene-footer{padding:12px 30px;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);font-size:10px;color:var(--muted);gap:10px}.status-dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--green);margin-right:7px}
.breadcrumbs{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:11px;margin-bottom:26px;flex-wrap:wrap}.breadcrumbs button{font-size:11px;padding:0}.breadcrumbs .back-button{margin-left:auto}.section-heading{display:flex;align-items:start;justify-content:space-between;gap:16px}.section-heading h1{font-size:30px;line-height:1.4;font-weight:600;letter-spacing:-.6px;margin:8px 0 10px}.section-subtitle{color:var(--muted);line-height:1.85;font-size:13px;max-width:640px;margin:0 0 24px}.count-label{font:12px var(--mono);padding:10px;border:1px solid var(--line);white-space:nowrap;margin-top:10px}.requirement-list{display:grid;grid-template-columns:1fr 1fr;gap:9px}.requirement-card{display:flex;text-align:left;gap:12px;align-items:start;border:1px solid var(--line);background:var(--white);padding:16px;min-height:96px}.requirement-card:hover{background:#f8f5e9}.requirement-code{font:11px var(--mono);color:var(--accent);padding-top:3px}.requirement-card strong{font-size:13px;font-weight:600;line-height:1.65;display:block}.requirement-card small{font-size:10px;color:var(--muted);display:block;margin-top:6px}.mini-arrow{margin-left:auto;font-size:14px;color:var(--muted)}.detail-tag{display:inline-block;font-size:10px;letter-spacing:.5px;padding:6px 9px;border:1px solid color-mix(in srgb,var(--accent) 30%,white);color:var(--accent);background:color-mix(in srgb,var(--accent) 5%,white)}.detail-title{font-size:31px;font-weight:600;line-height:1.4;margin:18px 0}.detail-requirement{font-size:14px;line-height:1.95;max-width:720px;margin:0 0 26px}.detail-columns{display:grid;grid-template-columns:1fr 1fr;gap:26px;border-top:1px solid var(--line);padding-top:22px}.detail-block h2,.dependencies h2,.downstream summary{font-size:12px;margin:0 0 10px;font-weight:650}.detail-block p{font-size:13px;line-height:1.85;margin:0;color:var(--muted)}.boundary{margin:24px 0;padding:15px 18px;border-left:3px solid #b78642;background:#eee9d944}.boundary h2{font-size:11px;letter-spacing:1px;margin:0 0 8px;color:var(--amber)}.boundary p{font-size:13px;line-height:1.9;margin:0}.dependencies{border-top:1px solid var(--line);padding-top:22px;margin-top:24px}.dependency-label{font-size:10px;color:var(--muted);margin-bottom:12px}.dependency-flow{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.dependency-chip{font-size:11px;line-height:1.6;text-align:left;background:var(--white);border:1px solid var(--line);padding:9px 11px;max-width:100%}.dependency-chip span{color:var(--muted);font:10px var(--mono);margin-right:7px}.flow-target{font-size:12px;font-weight:650;padding:12px 0}.dependency-empty{font-size:12px;color:var(--muted);line-height:1.9}.downstream{margin-top:24px;padding-top:20px;border-top:1px dashed var(--line)}.downstream summary{cursor:pointer;color:var(--muted)}.detail-source{display:block;margin-top:24px;font-size:11px;color:var(--accent)}.phase-tabs{display:flex;gap:8px;margin:22px 0}.phase-tabs button{flex:1;padding:12px 6px;border:1px solid var(--line);font-size:12px}.phase-tabs button.active{background:var(--ink);color:var(--white);border-color:var(--ink)}.phase-copy{font-size:15px;line-height:2.15;margin:25px 0}.phase-requirements{display:flex;gap:8px;flex-wrap:wrap}.list-search{display:block;width:100%;border:1px solid var(--line);background:var(--white);padding:13px 15px;font-size:13px;margin:10px 0 20px}.empty{font-size:13px;color:var(--muted);padding:25px 0}.base-card{background:var(--white);border:1px solid var(--line);border-left:3px solid var(--green);padding:22px;margin:12px 0}.base-card h2{font-size:16px;font-weight:600;margin:0 0 12px}.base-card p{font-size:13px;line-height:1.9;color:var(--muted);margin:0 0 12px}
.companion{border-left:1px solid var(--line);background:var(--white);padding:0 25px;display:flex;flex-direction:column;min-height:0}.companion-heading{height:62px;flex-shrink:0;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.offline-tag{font-size:9px;padding:4px 7px;border:1px solid #dce4db;color:var(--green);border-radius:3px}.companion-scroll{overflow:auto;flex:1;min-height:0;scrollbar-width:thin;padding-bottom:15px}#explanation{padding:26px 0 23px}#explanation .context-label{font:10px var(--mono);color:var(--muted);line-height:1.7}#explanation h2{font-size:20px;font-weight:600;line-height:1.65;letter-spacing:-.3px;margin:11px 0 14px}#explanation p{font-size:12px;line-height:2;color:var(--muted);margin:0 0 11px}.source-link{display:inline-flex;font-size:10px;gap:7px;padding:5px 0;color:var(--blue)}.tour{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0}.tour-top{display:flex;justify-content:space-between;align-items:center;gap:8px}#tour-status{font-size:10px;color:var(--muted)}.tour-controls{display:flex;align-items:center;gap:10px;margin:14px 0 10px}.primary-small{font-size:11px;background:var(--ink);color:var(--white);padding:10px 12px;white-space:nowrap}.primary-small:hover{color:#f3d29b!important}.icon-button{width:28px;height:28px;border:1px solid var(--line);display:inline-grid;place-items:center;font-size:15px;padding:0;flex-shrink:0}.tour-controls .text-button{font-size:10px;margin-left:auto}.tour input{width:100%;accent-color:#a57940;cursor:pointer;display:block;margin:8px 0}.progress-label{display:flex;justify-content:space-between;font-size:9px;color:var(--muted);gap:8px;line-height:1.8}.progress-label span:last-child{white-space:nowrap}.tour-directory{font-size:10px;color:var(--muted);margin-top:12px}.tour-directory summary{cursor:pointer}#tour-directory{display:flex;flex-direction:column;gap:6px;margin-top:10px}#tour-directory button{text-align:left;padding:5px;font-size:11px}.tour-script{font-size:12px;line-height:2;color:var(--ink);margin:12px 0 0}.search-heading{display:flex;justify-content:space-between;align-items:center;margin-top:22px}.search-heading h2{font-size:13px;font-weight:650;margin:0}.search-heading span{font-size:9px;color:var(--muted)}.search-hint{font-size:10px;line-height:1.85;color:var(--muted);margin:10px 0}.suggestions{display:flex;flex-wrap:wrap;gap:6px}.suggestions button{border:1px solid var(--line);padding:5px 7px;font-size:10px}.composer{display:flex;border:1px solid var(--line);margin:14px 0 19px;background:#f8f9f5;flex-shrink:0;padding:5px}.composer input{width:100%;min-width:0;border:0;background:transparent;font-size:11px;color:var(--ink);padding:10px 6px}.composer button{width:34px;background:var(--ink);color:#fff;font-size:18px;flex-shrink:0}.message{margin-top:18px;border-top:1px solid var(--line);padding-top:14px}.message-question{font-size:12px;line-height:1.8;font-weight:600;margin:0 0 5px;overflow-wrap:anywhere}.message-context{font-size:9px;color:var(--muted);margin-bottom:10px}.message-result{font-size:11px;line-height:1.85;color:var(--muted);white-space:pre-line;overflow-wrap:anywhere}.result-card{padding:11px;margin-top:9px;background:#f4f5ef;border:1px solid var(--line)}.result-card h3{font-size:11px;margin:0 0 8px;line-height:1.7}.result-card p{font-size:11px;line-height:1.9;margin:6px 0;color:var(--muted)}.result-actions{display:flex;gap:15px}.result-actions button{font-size:10px;padding:4px 0;color:var(--blue)}
dialog{width:min(820px,calc(100vw - 32px));max-height:85dvh;padding:26px;border:1px solid var(--line);background:var(--white);color:var(--ink);box-shadow:0 24px 80px #17292933}dialog::backdrop{background:#14272677;backdrop-filter:blur(3px)}.dialog-heading{display:flex;justify-content:space-between;align-items:start;gap:20px}.dialog-heading h2{font-size:20px;margin:10px 0}.dialog-heading .icon-button{width:34px;height:34px;font-size:24px}#source-meta{font-size:11px;color:var(--muted);line-height:1.9;overflow-wrap:anywhere}#source-text{white-space:pre-wrap;overflow-wrap:anywhere;font:12px/2 var(--mono);background:var(--paper);padding:20px;max-height:52dvh;overflow:auto;border:1px solid var(--line)}.dialog-footer{display:flex;justify-content:space-between;font-size:10px;color:var(--muted);gap:15px;margin-top:17px}.guided:after{content:"";position:absolute;inset:-10px;z-index:-1;border-radius:3px;border:2px solid transparent;background:linear-gradient(var(--paper),var(--paper)) padding-box,linear-gradient(120deg,#bb893f88,#618b8588,#bb893f11) border-box;pointer-events:none}
@media(min-width:1550px){.workspace{grid-template-columns:minmax(0,1fr) 410px}.companion{padding-inline:32px}.scene{padding-top:42px}.hero h1{font-size:50px}.group-card{min-height:190px}.card-description{font-size:13px}}
@media(max-width:1100px){.workspace{grid-template-columns:minmax(0,1fr) 335px}.masthead{padding:0 22px;gap:20px}.document-label{display:none}.version-label{display:none}.view-nav{padding:0 24px;gap:24px}.scene{padding:26px 24px}.group-card{padding:17px;min-height:188px}.category-title{font-size:15px}.card-count{font-size:27px}.hero h1{font-size:33px}.companion{padding:0 20px}.requirement-list{grid-template-columns:1fr}.detail-columns{grid-template-columns:1fr;gap:20px}}
@media(max-width:760px){.masthead{height:72px;padding:0 18px;gap:10px}.brand{font-size:14px;gap:9px}.brand-sub{font-size:8px}.brand-mark{width:29px;height:34px}.header-actions{gap:12px}.header-actions>.text-button{display:none}.download{padding:9px 10px;font-size:10px;gap:10px}.workspace{display:block;height:auto}.view-nav{min-height:55px;padding:0 20px;gap:24px}.view-nav button{height:55px;font-size:12px}.scene{overflow:visible;padding:27px 21px;min-height:440px}.hero h1{font-size:31px;letter-spacing:-1px}.hero-intro{font-size:12px}.overview-grid{gap:10px}.group-card{min-height:196px;padding:15px}.card-top{flex-wrap:wrap;gap:10px}.card-count{font-size:27px}.card-count small{font-size:9px}.group-card .kicker{line-height:1.7}.card-description{font-size:11px;line-height:1.85;padding-right:0}.card-arrow{bottom:9px;right:10px}.scene-footer{padding:10px 20px}.companion{border-left:0;border-top:1px solid var(--line);padding:0 22px}.companion-scroll{overflow:visible}.companion-heading{height:52px}.composer{position:sticky;bottom:10px;box-shadow:0 4px 22px #26363c12;background:var(--white);z-index:4}.composer input{font-size:13px}.composer button{height:36px}.requirement-list{grid-template-columns:1fr}.section-heading h1,.detail-title{font-size:27px}.phase-tabs button{font-size:11px}.dialog-footer{flex-direction:column}.detail-columns{grid-template-columns:1fr}dialog{padding:19px}.progress-label{font-size:10px}}
.mobile-tour-control{display:none}.mobile-tour-control[hidden]{display:none!important}
@media(max-width:760px){.mobile-tour-control{display:block;position:fixed;bottom:18px;right:18px;z-index:8;background:var(--ink);color:var(--white);padding:12px 16px;border:1px solid #69767a;font-size:12px;box-shadow:0 5px 20px #26363c33}.composer:focus-within{z-index:9}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
