:root{--bg:#f7f5ef;--surface:#fff;--surface-2:#ebe7dc;--ink:#20211f;--muted:#656861;--line:#d8d2c3;--accent:#0f6f72;--accent-2:#b4532a;--blue:#2f5f98;--green:#3c6f43;--amber:#9a6a1e;--shadow:0 20px 45px #221e1414}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);margin:0;font-family:Arial,Microsoft YaHei,PingFang SC,sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}button,input{font:inherit}.site-header{z-index:10;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f7f5efe6;border-bottom:1px solid #d8d2c3cc;justify-content:space-between;align-items:center;gap:24px;min-height:72px;padding:14px clamp(20px,5vw,64px);display:flex;position:sticky;top:0}.brand{align-items:center;gap:12px;display:inline-flex}.brand-mark{background:var(--ink);width:38px;height:38px;color:var(--bg);letter-spacing:0;border-radius:8px;place-items:center;font-weight:800;display:grid}.brand strong,.brand small{display:block}.brand small{color:var(--muted);font-size:12px;line-height:1.2}.site-header nav{align-items:center;gap:8px;display:flex}.site-header nav a{color:var(--muted);border-radius:8px;padding:8px 12px;transition:background .16s,color .16s}.site-header nav a:hover{background:var(--surface-2);color:var(--ink)}main{min-height:calc(100vh - 72px)}.hero{grid-template-columns:minmax(0,1.3fr) minmax(320px,.7fr);align-items:end;gap:clamp(28px,5vw,64px);padding:clamp(48px,8vw,98px) clamp(20px,5vw,64px) 32px;display:grid}.hero-copy{max-width:840px}.eyebrow{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin:0 0 10px;font-size:12px;font-weight:800}h1,h2,h3,p{margin-top:0}h1{letter-spacing:0;max-width:920px;margin-bottom:20px;font-size:clamp(38px,6vw,78px);line-height:1.05}h2{letter-spacing:0;margin-bottom:14px;font-size:clamp(26px,3vw,40px);line-height:1.15}h3{margin-bottom:8px;font-size:18px;line-height:1.25}.hero-text{max-width:760px;color:var(--muted);font-size:18px}.hero-actions{flex-wrap:wrap;gap:12px;margin-top:30px;display:flex}.button{border:1px solid var(--line);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:10px 16px;transition:transform .16s,background .16s,border-color .16s;display:inline-flex}.button:hover{transform:translateY(-1px)}.button.primary{border-color:var(--ink);background:var(--ink);color:#fff}.button.secondary{background:#ffffff8c}.button.danger{color:#8a3d18;background:#fff5ec;border-color:#b4532a73}.button.full{width:100%}.hero-panel,.role-box,.feature-card,.project-row,.module-card,.module-detail,.password-card{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:8px}.hero-panel{padding:24px}.panel-topline{color:var(--accent);align-items:center;gap:8px;margin-bottom:22px;font-weight:800;display:inline-flex}.hero-panel h2{font-size:26px}.hero-panel p{color:var(--muted)}.keyword-list{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.keyword-list span,.tag,.status-pill{border-radius:8px;align-items:center;min-height:28px;padding:4px 9px;font-size:13px;font-weight:700;display:inline-flex}.keyword-list span{background:var(--surface-2);color:var(--ink)}.keyword-list.compact{margin-top:14px}code{border:1px solid var(--line);background:var(--surface-2);color:var(--accent-2);border-radius:6px;padding:2px 6px;font-family:Consolas,Courier New,monospace;font-size:.92em}.section,.page-shell{padding:54px clamp(20px,5vw,64px)}.section.no-pad{padding-left:0;padding-right:0}.section-heading{max-width:760px;margin-bottom:24px}.section-heading.inline{justify-content:space-between;align-items:end;gap:20px;max-width:none;display:flex}.card-grid{gap:16px;display:grid}.card-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.card-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.feature-card{padding:22px}.feature-card svg,.workflow svg,.detail-columns h3 svg,.prompt-grid svg{color:var(--accent)}.feature-card p,.workflow p,.project-row p,.module-card p,.module-detail p,.role-box p,.page-title p,.private-shell p{color:var(--muted)}.band{background:var(--surface-2)}.workflow{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;display:grid}.workflow article{border-left:1px solid #20211f33;padding:10px 14px}.workflow h3{margin-top:14px;font-size:16px}.workflow p{margin-bottom:0;font-size:14px}.page-title{max-width:860px;margin-bottom:34px}.page-title h1,.project-hero h1{font-size:clamp(36px,5vw,62px)}.project-list{gap:18px;display:grid}.project-row{justify-content:space-between;align-items:center;gap:24px;padding:28px;display:flex}.project-row:hover,.module-card:hover{border-color:#0f6f7273}.status-pill{color:var(--green);background:#e4efe9;margin-bottom:12px}.project-hero{grid-template-columns:minmax(0,1fr) minmax(280px,390px);gap:24px;margin-bottom:54px;display:grid}.role-box{align-self:start;padding:22px}.role-box span{color:var(--accent);margin-bottom:10px;font-weight:800;display:block}.timeline{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;display:grid}.overview-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.overview-card{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:8px;padding:22px}.overview-card.wide{grid-column:span 3}.overview-card ul{color:var(--muted);margin:0;padding-left:18px}.overview-card li{margin-bottom:8px}.timeline article{border-top:2px solid var(--ink);padding-top:18px}.timeline span{color:var(--accent-2);margin:8px 0;font-weight:800;display:block}.module-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.module-card{min-height:210px;padding:22px;display:block}.module-card-head,.module-detail-head{justify-content:space-between;align-items:start;gap:18px;margin-bottom:18px;display:flex}.tag-row{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.tag-solid{background:var(--ink);color:#fff}.tag-blue{color:var(--blue);background:#e5eef8}.tag-amber{color:var(--amber);background:#f3e7cf}.tag-green{color:var(--green);background:#e4efe2}.tag-muted{background:var(--surface-2);color:var(--muted)}.split-band{background:var(--ink);color:#fff;grid-template-columns:1fr 1fr;gap:28px;display:grid}.split-band .eyebrow,.split-band svg{color:#8ad0c8}.split-band p,.split-band li{color:#ffffffc7}.check-list{margin:0;padding:0;list-style:none}.check-list li{gap:10px;margin-bottom:12px;display:flex}.check-list svg{flex:none;margin-top:4px}.back-link{color:var(--muted);align-items:center;gap:8px;margin-bottom:20px;display:inline-flex}.module-stack{gap:18px;display:grid}.module-detail{padding:28px;scroll-margin-top:96px}.detail-columns{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.detail-columns>div{border-top:1px solid var(--line);padding-top:16px}.detail-columns h3{align-items:center;gap:8px;display:flex}.detail-columns ul{color:var(--muted);margin-bottom:0;padding-left:18px}.detail-columns li{margin-bottom:8px}.prompt-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.prompt-grid div{background:#ffffff80;border:1px solid #20211f1f;border-radius:8px;align-items:center;gap:10px;min-height:58px;padding:12px;font-weight:700;display:flex}.private-shell{grid-template-columns:minmax(0,1fr) minmax(320px,430px);align-items:start;gap:32px;display:grid}.warning-box{color:#8a3d18;background:#fff5ec;border:1px solid #b4532a59;border-radius:8px;gap:12px;max-width:760px;padding:14px;display:flex}.password-card{padding:24px}.password-card label{color:var(--muted);gap:8px;margin:18px 0 14px;font-weight:700;display:grid}.password-input{border:1px solid var(--line);background:#fff;border-radius:8px;align-items:center;display:flex;overflow:hidden}.password-input input{border:0;outline:0;width:100%;min-width:0;padding:12px}.password-input button{border:0;border-left:1px solid var(--line);cursor:pointer;background:0 0;place-items:center;width:44px;height:44px;display:grid}.unlocked{color:var(--green);background:#e4efe9;border-radius:8px;margin-top:16px;padding:14px}.unlocked p,.form-hint{color:var(--green);margin:6px 0 0}.form-hint{color:var(--accent-2)}.notice-box{color:var(--accent);background:#e8f4f1;border:1px solid #0f6f7247;border-radius:8px;padding:12px 14px}.ipd-shell{grid-template-columns:330px minmax(0,1fr);gap:24px;padding:28px clamp(20px,5vw,64px) 54px;display:grid}.ipd-sidebar{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:8px;align-self:start;padding:18px;position:sticky;top:96px}.sidebar-title h1{font-size:34px}.ipd-project-list{gap:10px;display:grid}.ipd-project{border:1px solid var(--line);width:100%;color:var(--ink);cursor:pointer;text-align:left;background:#fff;border-radius:8px;gap:5px;padding:12px;display:grid}.ipd-project.active,.ipd-project:hover{background:#eef5f2;border-color:#0f6f7273}.ipd-project span,.ipd-project small{color:var(--muted)}.ipd-content{min-width:0}.ipd-hero{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:8px;grid-template-columns:minmax(0,1fr) 330px;gap:18px;margin-bottom:18px;padding:28px;display:grid}.ipd-hero h1{font-size:clamp(34px,4vw,56px)}.ipd-meta{gap:10px;display:grid}.ipd-meta div{border:1px solid var(--line);background:var(--bg);color:var(--muted);border-radius:8px;align-items:center;gap:8px;padding:10px;display:flex}.ipd-node-list{gap:12px;display:grid}.ipd-node{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:8px;grid-template-columns:74px minmax(0,1fr);gap:18px;padding:22px;display:grid}.ipd-node-index{color:var(--accent);align-content:start;justify-items:center;gap:8px;font-weight:800;display:grid}.ipd-node-index span{background:var(--surface-2);border-radius:8px;place-items:center;width:48px;height:48px;display:grid}.ipd-node h2{font-size:clamp(22px,2.4vw,34px)}.node-time-row{flex-wrap:wrap;gap:8px;margin:8px 0 12px;display:flex}.node-time-row span{border:1px solid var(--line);background:var(--bg);color:var(--muted);border-radius:8px;align-items:center;gap:6px;padding:6px 9px;font-size:14px;font-weight:700;display:inline-flex}.ipd-node p{color:var(--muted);white-space:pre-wrap}.meta-line{margin-bottom:0;font-size:14px}.section-layout{grid-template-columns:250px minmax(0,1fr);align-items:start;gap:22px;display:grid}.section-index{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:8px;gap:8px;padding:14px;display:grid;position:sticky;top:96px}.section-index a{color:var(--muted);border-radius:6px;padding:7px 8px}.section-index a:hover{background:var(--surface-2);color:var(--ink)}.section-content p{white-space:pre-wrap}.empty-text{border:1px dashed var(--line);background:var(--bg);border-radius:8px;padding:14px}.check-content,.note-links{color:var(--muted);margin:0;padding-left:20px}.check-content li,.note-links li{margin-bottom:8px}.section-timeline{gap:12px;display:grid}.section-timeline div{border-left:2px solid var(--line);grid-template-columns:48px minmax(0,1fr);gap:12px;padding-left:12px;display:grid}.section-timeline span{color:var(--accent-2);font-weight:800}.code-block{border:1px solid var(--line);color:#f7f5ef;white-space:pre-wrap;background:#201f1b;border-radius:8px;padding:16px;overflow:auto}.content-image{margin:14px 0}.content-image img{border:1px solid var(--line);background:var(--surface-2);object-fit:contain;border-radius:8px;max-width:100%;max-height:680px;display:block}.content-image figcaption{color:var(--muted);margin-top:8px;font-size:14px}blockquote{border-left:4px solid var(--accent);background:var(--surface-2);color:var(--muted);margin:0;padding:14px 18px}.admin-layout{grid-template-columns:310px minmax(0,1fr);align-items:start;gap:22px;display:grid}.admin-sidebar,.admin-editor,.section-editor-card{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow);border-radius:8px}.admin-sidebar{padding:16px;position:sticky;top:96px}.admin-actions,.admin-project-list,.section-editor-list{gap:10px;display:grid}.admin-project{width:100%;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;gap:4px;padding:10px;display:grid}.admin-project small{color:var(--muted)}.admin-project.active,.admin-project:hover{border-color:var(--line);background:var(--surface-2)}.admin-editor,.section-editor-card{padding:22px}.admin-toolbar,.section-editor-heading,.section-editor-top{justify-content:space-between;align-items:center;gap:16px;display:flex}.toolbar-buttons,.mini-actions{flex-wrap:wrap;gap:8px;display:flex}.mini-actions button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:6px;justify-content:center;align-items:center;min-height:32px;padding:5px 8px;display:inline-flex}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:18px 0 28px;display:grid}.form-grid label{color:var(--muted);gap:7px;font-weight:700;display:grid}.form-grid input,.form-grid select,.form-grid textarea{border:1px solid var(--line);width:100%;color:var(--ink);background:#fff;border-radius:8px;padding:10px 12px}.form-grid textarea{resize:vertical;min-height:118px}.form-grid .span-2{grid-column:span 2}.compact-form{margin-bottom:0}@media (max-width:1080px){.hero,.project-hero,.ipd-shell,.ipd-hero,.private-shell,.split-band{grid-template-columns:1fr}.card-grid.four,.card-grid.three,.timeline,.overview-grid,.module-grid,.workflow{grid-template-columns:repeat(2,minmax(0,1fr))}.overview-card.wide{grid-column:span 2}.detail-columns,.prompt-grid,.section-layout,.admin-layout{grid-template-columns:1fr}.admin-sidebar,.ipd-sidebar,.section-index{position:static}}@media (max-width:680px){.site-header{flex-direction:column;align-items:flex-start;gap:12px}.site-header nav{justify-content:space-between;width:100%}.hero,.section,.page-shell{padding-left:18px;padding-right:18px}h1{font-size:36px}.hero-actions,.section-heading.inline,.project-row,.ipd-node{flex-direction:column;align-items:stretch}.ipd-node{grid-template-columns:1fr}.button{width:100%}.card-grid.four,.card-grid.three,.timeline,.overview-grid,.module-grid,.workflow{grid-template-columns:1fr}.overview-card.wide{grid-column:span 1}.admin-toolbar,.section-editor-heading,.section-editor-top{flex-direction:column;align-items:stretch}.form-grid{grid-template-columns:1fr}.form-grid .span-2{grid-column:span 1}}
