:root{--bg:#f6f5f0;--ink:#233b34;--muted:#6a766e;--line:#dce1d9;--green:#44695a;--orange:#bd743e;--blue:#668497;--buffer:#899378}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.65 -apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible,[tabindex]:focus-visible{outline:3px solid #bd743e;outline-offset:4px}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.top{max-width:1400px;margin:auto;padding:26px 48px;display:flex;align-items:center;border-bottom:1px solid var(--line);gap:22px}.brand{display:flex;align-items:center;gap:12px;font-weight:650;line-height:1.3}.brand-mark{display:grid;place-items:center;width:45px;height:45px;border:1px solid var(--ink);border-radius:50%;font-family:Georgia,serif;font-size:17px}.brand-sub{display:block;font-size:11px;font-weight:400;color:var(--muted);letter-spacing:1px;margin-top:4px}.snapshot{margin-left:auto;font-size:12px;color:var(--muted)}.download{border:1px solid #bac5b8;padding:9px 15px;border-radius:7px;font-size:13px;white-space:nowrap}.download:hover{background:#e9ede3}main{max-width:1304px;padding:0 48px;margin:auto}.hero{display:grid;grid-template-columns:1fr 420px;gap:50px;align-items:center;padding:64px 0 43px}.eyebrow{font-size:11px;letter-spacing:2px;font-weight:650;color:var(--muted)}h1{font-size:57px;line-height:1.18;letter-spacing:-2px;margin:15px 0 21px;font-weight:580}.intro{font-size:17px;line-height:1.8;color:var(--muted);margin:0}.intro strong{font-weight:550;color:var(--ink)}.hero-note{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--muted);margin-top:21px}.dot{background:var(--orange);width:7px;height:7px;border-radius:50%}.date-card{background:#213e34;color:#fafbf5;border-radius:14px;padding:31px 34px 22px;position:relative;box-shadow:0 18px 40px #203a3310}.date-card:after{content:'';position:absolute;right:22px;top:22px;width:55px;height:55px;border:1px solid #ffffff18;border-radius:50%;pointer-events:none}.label{font-size:12px;color:#b9c8bc;display:block}.big-date{font-size:74px;font-family:Georgia,"Times New Roman",serif;line-height:1.3;margin:12px 0 20px;letter-spacing:-2px}.big-date span{font-family:inherit;font-size:19px;margin:0 8px;letter-spacing:0}.date-bottom{display:flex;align-items:center;gap:30px;padding-top:20px;border-top:1px solid #ffffff23}.date-bottom strong{display:block;font-size:22px;font-weight:450;margin-top:4px}.date-bottom strong span{font-size:12px;margin-left:6px}.divider{height:38px;background:#ffffff23;width:1px}.date-foot{font-size:11px;color:#a7b9ab;margin-top:23px}.attention{border:1px solid #e0d7c8;background:#f2eee4;border-radius:9px;padding:20px 24px;display:grid;grid-template-columns:100px 1fr 1fr;gap:26px}.attention-label{font-size:12px;letter-spacing:2px;color:#947345;padding-top:3px}.attention strong{font-size:14px;font-weight:600}.attention p{font-size:12px;color:var(--muted);margin:5px 0 0}.work{margin-top:55px}.section-top{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:22px}h2{font-size:27px;letter-spacing:-.6px;font-weight:550;margin:8px 0 0}.view-switch{display:flex;border:1px solid #d9e0d5;border-radius:7px;padding:3px;background:#eeefe9}.view-switch button{padding:7px 14px;font-size:12px;color:var(--muted);background:none;border:0;border-radius:4px}.view-switch button.active{color:var(--ink);background:#fff;box-shadow:0 1px 4px #233b3412}.tools{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:12px}.filter{display:flex;gap:6px;flex-wrap:wrap}.filter button{border:1px solid transparent;background:transparent;padding:6px 10px;border-radius:20px;font-size:12px;color:var(--muted)}.filter button.active{background:#e6ece1;color:#294638;border-color:#d8e2d1}.filter button span{margin-left:5px;opacity:.6}.tools p{font-size:11px;color:var(--muted);margin:0}.timeline-scroll{border:1px solid var(--line);border-radius:10px;overflow:auto;background:#fffdf8}.timeline{min-width:900px}.timeline-head{display:grid;grid-template-columns:218px 1fr;background:#edf0e8;border-bottom:1px solid var(--line)}.row-title{padding:19px 20px;display:flex;align-items:center;font-size:12px;font-weight:600}.date-axis{position:relative;height:72px;border-left:1px solid var(--line)}.month{position:absolute;top:10px;font-size:12px;letter-spacing:1px}.nov{left:2%}.dec{left:59.5%}.weekmarks{position:absolute;bottom:9px;left:0;right:0;height:18px}.weekmarks span{position:absolute;font-size:10px;color:var(--muted);transform:translateX(-50%)}.task-row{display:grid;grid-template-columns:218px 1fr;min-height:67px;border-bottom:1px solid #e8ebe3}.task-row:last-child{border:0}.task-name{border:0;background:none;text-align:left;display:flex;align-items:center;gap:11px;padding:12px 16px;width:100%;color:var(--ink)}.task-name:hover,.task-row.selected .task-name{background:#edf2e8}.index{font-size:11px;color:#93a093;width:19px;flex-shrink:0;font-variant-numeric:tabular-nums}.task-name strong{font-size:12px;font-weight:550;display:block}.task-name small{font-size:10px;color:var(--muted);display:block;margin-top:3px}.task-name small.pending{color:#a66b37}.track{border-left:1px solid var(--line);position:relative;display:flex;align-items:center;background-image:linear-gradient(to right,transparent calc(100% - 1px),#e8ebe380 calc(100% - 1px));background-size:15.55556% 100%;padding:0}.bar{position:absolute;height:29px;min-width:18px;display:flex;align-items:center;justify-content:center;border:0;border-radius:5px;color:white;font-size:10px;font-weight:500;letter-spacing:.2px;transition:filter .15s,box-shadow .15s}.bar:hover{filter:brightness(1.08);box-shadow:0 3px 7px #263c3420}.task-row.selected .bar{box-shadow:0 0 0 3px #243b342a}.prepare,.civil{background:var(--green)}.supply{background:var(--orange)}.finish{background:var(--blue)}.buffer{background:repeating-linear-gradient(135deg,#899378 0,#899378 5px,#98a088 5px,#98a088 8px)}.bar.short{font-size:9px}.legend{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:15px;color:var(--muted);font-size:11px}.legend span{display:flex;align-items:center;gap:6px}.legend i{width:9px;height:9px;border-radius:2px}.legend small{margin-left:auto;font-size:10px}.detail{display:grid;grid-template-columns:220px 1fr 1.2fr;gap:28px;padding:28px;border:1px solid #cbd9c4;background:#eef2e9;border-radius:10px;margin-top:24px}.detail h3{font-size:20px;margin:8px 0}.detail h4{font-size:12px;margin:3px 0 10px;color:#60705e}.detail p{font-size:13px;white-space:pre-line;margin:0}.detail-summary p{color:var(--muted);font-size:12px}.status{display:inline-block;font-size:11px;margin-top:10px;color:#876335;background:#eee3ca;border-radius:4px;padding:2px 7px}.gate{border-left:1px solid #cfdbc9;padding-left:26px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.task-card{padding:22px;border:1px solid var(--line);background:#fffdf8;border-radius:8px;text-align:left;cursor:pointer;color:var(--ink)}.task-card:hover,.task-card.selected{border-color:#829c76;background:#f0f4eb}.task-card-top{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:var(--muted)}.task-card h3{font-size:16px;margin:15px 0 9px}.task-card p{font-size:12px;color:var(--muted);white-space:pre-line;margin:0}.task-card .status{margin:0}.card-link{display:block;margin-top:16px;color:#3e6950;font-size:11px}.milestones{margin-top:53px}.milestone-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid #bdc9b7;padding-top:22px}.milestone-grid article{padding:0 23px;border-right:1px solid var(--line)}.milestone-grid article:first-child{padding-left:0}.milestone-grid article:last-child{border:0;padding-right:0}.milestone-date{font-family:Georgia,serif;font-size:33px;display:block;margin-bottom:8px}.pill{font-size:10px;color:var(--muted);background:#e9ede2;padding:3px 7px;border-radius:3px;display:inline-block}.pill.orange{background:#f2e3cf;color:#956132}.milestone-grid h3{font-size:14px;margin:13px 0 8px}.milestone-grid p{font-size:12px;color:var(--muted);margin:0;line-height:1.85}.boundary{margin-top:43px;padding:26px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1.7fr;gap:30px}.boundary h3{font-size:17px;font-weight:500;margin:0}.boundary p{font-size:12px;color:var(--muted);margin:0}footer{display:flex;justify-content:space-between;gap:20px;padding:23px 0 36px;color:#869080;font-size:10px}#loadError{padding:30px;background:#f6e7d6}
@media(min-width:1500px){main{max-width:1360px}.top{max-width:1456px}.hero{padding-top:76px}}
@media(max-width:900px){main{padding:0 24px}.top{padding:20px 24px}.hero{grid-template-columns:1fr 330px;gap:25px;padding:40px 0 30px}h1{font-size:45px}.date-card{padding:26px}.big-date{font-size:58px}.attention{grid-template-columns:1fr 1fr;gap:15px}.attention-label{grid-column:1/-1}.detail{grid-template-columns:1fr 1fr}.detail-summary{grid-column:1/-1}.gate{padding-left:20px}.cards{grid-template-columns:1fr 1fr}.legend small{margin-left:0}.snapshot{display:none}.milestone-grid article{padding:0 14px}.boundary{grid-template-columns:1fr;gap:12px}}
@media(max-width:600px){.top{padding:16px 20px;gap:12px}.brand-mark{width:36px;height:36px;font-size:14px}.brand{font-size:13px}.brand-sub{font-size:9px}.download{font-size:11px;padding:7px 10px;margin-left:auto}main{padding:0 20px}.hero{grid-template-columns:1fr;gap:25px;padding-top:30px}.eyebrow{font-size:10px}h1{font-size:44px;line-height:1.2;margin:13px 0 16px}h1 br{display:none}.intro{font-size:14px}.hero-note{margin-top:14px;font-size:11px}.date-card{padding:23px 26px}.big-date{font-size:58px;margin:7px 0 13px}.date-bottom{padding-top:14px}.date-foot{margin-top:17px}.attention{grid-template-columns:1fr;padding:20px;gap:17px}.attention-label{padding:0}.attention p{line-height:1.75}.work{margin-top:35px}.section-top{align-items:center;gap:10px}h2{font-size:22px}.view-switch button{padding:6px 9px;font-size:11px}.tools{align-items:start;flex-direction:column;gap:10px}.filter button{padding:6px 9px}.cards{grid-template-columns:1fr}.task-card{padding:18px}.detail{grid-template-columns:1fr;padding:20px;gap:20px}.detail-summary{grid-column:auto}.gate{border-left:0;border-top:1px solid #cfdbc9;padding:17px 0 0}.milestone-grid{grid-template-columns:1fr 1fr;row-gap:26px}.milestone-grid article{padding:0 16px}.milestone-grid article:nth-child(odd){padding-left:0}.milestone-grid article:nth-child(even){border:0;padding-right:0}.milestone-date{font-size:29px}.milestones{margin-top:35px}.boundary{margin-top:30px}.boundary h3{font-size:16px}footer{flex-direction:column;gap:8px}.legend{gap:12px}.legend small{width:100%}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
.hero{padding:30px 0 26px;grid-template-columns:1fr 370px}h1{font-size:42px;letter-spacing:-1px;margin:12px 0 16px}.date-card{padding:20px 28px 17px}.big-date{font-size:54px;margin:5px 0 12px}.date-bottom{padding-top:12px}.date-foot{margin-top:13px}.work{margin-top:32px}@media(max-width:600px){.hero{grid-template-columns:1fr;gap:20px;padding:26px 0}h1{font-size:34px}.date-card{padding:20px 25px}.big-date{font-size:52px}}
