*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #161310;--surface: #1f1a14;--surface-2: #221d18;--border: #3a342c;--ink: #e0d8c8;--muted: #9c9382;--gold: #c9a24b;--gold-deep: #a8842f;--crit: #c0392b;--crit-bd: #e74c3c;--done: #2f7d4f;--warn: #d49426;--serif: Georgia, "Times New Roman", "Noto Serif SC", serif;--sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans SC", sans-serif}html{font-size:16px;background:var(--bg)}body{font-family:var(--sans);color:var(--ink);background:var(--bg);line-height:1.6;max-width:1100px;margin:0 auto;padding:1rem}header{text-align:center;padding:1.5rem 0 1rem;border-bottom:1px solid var(--border);margin-bottom:1.25rem}header h1{color:var(--gold);font-family:var(--serif);font-size:1.6rem;font-weight:600;letter-spacing:.04em}header .tagline{color:var(--muted);font-size:.85rem;margin-top:.3rem}.dash-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:.85rem}.dash-nav a{color:var(--gold);text-decoration:none;font-size:.82rem;padding:.3rem .7rem;border:1px solid var(--border);border-radius:6px}.dash-nav a:hover{background:var(--surface-2);border-color:var(--gold-deep)}main{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:1.25rem}section{margin-bottom:1.75rem}section:last-child{margin-bottom:0}h2{color:var(--gold);font-family:var(--serif);font-size:1.15rem;font-weight:600;margin-bottom:.65rem;padding-bottom:.3rem;border-bottom:1px solid var(--border)}h3{color:var(--gold);font-family:var(--serif);font-size:1rem;margin-bottom:.4rem}p{margin-bottom:.65rem}.status-badge{display:inline-block;font-size:.68rem;padding:.15rem .5rem;border-radius:4px;font-weight:600;white-space:nowrap}.status-badge.status-done{background:rgba(47,125,79,.18);color:#5cc47f;border:1px solid var(--done)}.status-badge.status-partial{background:rgba(212,148,38,.15);color:var(--warn);border:1px solid var(--warn)}.status-badge.status-not-started{background:rgba(156,147,130,.1);color:var(--muted);border:1px solid var(--border)}.badge{display:inline-block;font-size:.72rem;padding:.2rem .5rem;border-radius:4px;font-weight:500}.badge.badge-info{background:var(--surface-2);color:var(--ink);border:1px solid var(--border)}.badge.badge-warn{background:rgba(212,148,38,.15);color:var(--warn);border:1px solid var(--warn)}code{font-family:"Fira Code","SF Mono",monospace;font-size:.8em;background:var(--surface-2);padding:.1rem .3rem;border-radius:3px;color:var(--gold)}.dash-intro{margin-bottom:1.25rem}.dash-intro .as-of{font-size:.8rem;color:var(--muted);margin-bottom:.5rem}.dash-intro .verdict{font-size:.92rem;line-height:1.7;color:var(--ink);background:var(--surface-2);border-left:3px solid var(--gold);border-radius:6px;padding:.8rem 1rem}.dash-intro .verdict strong{color:var(--gold)}.legend{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:.8rem 1rem;margin-bottom:1.5rem}.legend h3{margin-bottom:.5rem}.legend .legend-row{display:flex;align-items:baseline;gap:.6rem;margin-bottom:.35rem;font-size:.8rem}.legend .legend-term{flex:0 0 3.5rem;font-weight:700;color:var(--gold)}.legend .legend-note{color:var(--muted);line-height:1.5}.kpi-strip{display:grid;grid-template-columns:repeat(auto-fit, minmax(170px, 1fr));gap:.75rem;margin-bottom:1.75rem}.kpi-strip .kpi-card{background:var(--surface-2);border:1px solid var(--border);border-radius:8px;padding:.85rem 1rem}.kpi-strip .kpi-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}.kpi-strip .kpi-value{font-size:1.4rem;font-weight:700;color:var(--gold);font-family:var(--serif);margin:.2rem 0 .1rem}.kpi-strip .kpi-unit{font-size:.78rem;font-weight:400;color:var(--muted)}.kpi-strip .kpi-sub{font-size:.74rem;color:var(--muted);display:flex;flex-wrap:wrap;gap:.4rem .75rem}.kpi-strip .kpi-sub strong{color:var(--ink)}.kpi-strip .kpi-progress .progress-bar{display:flex;height:.55rem;border-radius:4px;overflow:hidden;margin:.45rem 0 .35rem;background:var(--bg)}.kpi-strip .kpi-progress .progress-bar .seg{display:block;height:100%}.kpi-strip .kpi-progress .progress-bar .seg-done{background:var(--done)}.kpi-strip .kpi-progress .progress-bar .seg-partial{background:var(--warn)}.kpi-strip .kpi-progress .progress-bar .seg-none{background:var(--muted);opacity:.4}.progress-grid .progress-cards{display:grid;grid-template-columns:repeat(auto-fill, minmax(270px, 1fr));gap:.7rem}.progress-grid .progress-cards .progress-card{background:var(--surface-2);border:1px solid var(--border);border-left:3px solid var(--muted);border-radius:8px;padding:.7rem .85rem}.progress-grid .progress-cards .progress-card.status-done{border-left-color:var(--done)}.progress-grid .progress-cards .progress-card.status-partial{border-left-color:var(--warn)}.progress-grid .progress-cards .progress-card.status-not-started{border-left-color:var(--muted)}.progress-grid .progress-cards .progress-card .progress-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.3rem}.progress-grid .progress-cards .progress-card .progress-title{font-size:.83rem;font-weight:600;color:var(--ink)}.progress-grid .progress-cards .progress-card p{font-size:.78rem;color:var(--muted);margin:0}.gantt-section-note{font-size:.8rem;color:var(--muted);margin-bottom:.75rem}.gantt-section-note a{color:var(--gold)}.gantt{overflow-x:auto;max-width:100%;padding-bottom:.5rem;font-size:.78rem}.gantt .gantt-head,.gantt .gantt-task{display:flex;align-items:center}.gantt .gantt-col-head{flex:0 0 220px;width:220px;color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;padding-right:.75rem}.gantt .gantt-axis{display:flex;flex:0 0 auto}.gantt .gantt-week{width:var(--week-w);flex:0 0 var(--week-w);border-left:1px solid var(--border);padding:.1rem .3rem;display:flex;flex-direction:column}.gantt .gantt-week .gantt-week-num{color:var(--gold);font-weight:600}.gantt .gantt-week .gantt-week-date{color:var(--muted);font-size:.62rem}.gantt .gantt-section{border-top:1px solid var(--border)}.gantt .gantt-section-name{padding:.35rem .5rem .35rem 220px;background:var(--surface-2);color:var(--ink);font-weight:600;font-size:.78rem}.gantt .gantt-task{min-height:22px}.gantt .gantt-task-label{flex:0 0 220px;width:220px;padding-right:.75rem;color:var(--ink);font-size:.72rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gantt .gantt-track{position:relative;flex:0 0 auto;width:var(--total-w);height:22px;background-image:repeating-linear-gradient(to right, rgba(0,0,0,0), rgba(0,0,0,0) calc(var(--week-w) - 1px), var(--border) calc(var(--week-w) - 1px), var(--border) var(--week-w))}.gantt .gantt-bar{position:absolute;top:5px;height:12px;border-radius:3px;background:var(--gold-deep);border:1px solid var(--gold)}.gantt .gantt-bar.crit{background:var(--crit);border-color:var(--crit-bd)}.gantt .gantt-bar.milestone{width:12px;height:12px;background:var(--gold);border:1px solid var(--gold-deep);transform:translateX(-50%) rotate(45deg)}.gantt .gantt-bar.milestone.crit{background:var(--crit-bd);border-color:var(--crit)}.critical-path p{font-size:.88rem}.critical-path strong{color:var(--gold)}.critical-path .ws-key{list-style:none;padding:0;margin-top:.6rem;display:grid;grid-template-columns:repeat(auto-fill, minmax(210px, 1fr));gap:.3rem 1rem}.critical-path .ws-key li{font-size:.8rem;color:var(--ink)}.critical-path .ws-key li strong{color:var(--gold)}.risks ol,.next-steps ol{padding-left:1.4rem;margin-top:.4rem}.risks li,.next-steps li{font-size:.84rem;line-height:1.7;margin-bottom:.4rem;color:var(--ink)}.risks li strong,.next-steps li strong{color:var(--gold)}.detail-links{margin-top:1.25rem;font-size:.84rem;color:var(--muted)}.detail-links a{color:var(--gold);text-decoration:none}.detail-links a:hover{text-decoration:underline}.content-page .content-body h1,.content-page .content-body h2,.content-page .content-body h3,.content-page .content-body h4{color:var(--gold);font-family:var(--serif);margin-top:1.3rem;margin-bottom:.45rem}.content-page .content-body h1{font-size:1.4rem}.content-page .content-body h2{font-size:1.15rem}.content-page .content-body h3{font-size:1rem}.content-page .content-body h4{font-size:.9rem}.content-page .content-body p,.content-page .content-body li{font-size:.85rem;line-height:1.7;margin-bottom:.5rem;color:var(--ink)}.content-page .content-body ul,.content-page .content-body ol{padding-left:1.4rem;margin-bottom:.9rem}.content-page .content-body a{color:var(--gold);text-decoration:underline}.content-page .content-body strong{font-weight:600;color:var(--gold)}.content-page .content-body em{color:var(--muted)}.content-page .content-body blockquote{border-left:3px solid var(--gold-deep);padding-left:1rem;margin:.9rem 0;color:var(--muted);font-style:italic}.content-page .content-body pre{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:.9rem;overflow-x:auto;margin:.9rem 0}.content-page .content-body pre code{background:none;padding:0;color:var(--ink);font-size:.78rem}.content-page .content-body table{width:100%;border-collapse:collapse;margin:.9rem 0;font-size:.8rem}.content-page .content-body table th{text-align:left;padding:.45rem .6rem;color:var(--gold);border-bottom:2px solid var(--gold-deep)}.content-page .content-body table td{padding:.4rem .6rem;border-bottom:1px solid var(--border);color:var(--ink)}.area-summary{margin:.9rem 0 1.3rem}.area-summary td:first-child{white-space:nowrap;width:1%}footer{text-align:center;margin-top:1.25rem;padding:.9rem 0;font-size:.74rem;color:var(--muted)}*:focus-visible{outline:2px solid var(--gold);outline-offset:2px}@media (max-width: 768px){body{padding:.5rem}main{padding:.9rem}.gantt-col-head,.gantt-task-label{flex-basis:150px;width:150px}.gantt-section-name{padding-left:150px}.dash-nav a{font-size:.75rem;padding:.25rem .5rem}}