:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0c0e12;--panel:#141820;--panel-2:#1a1f28;--text:#eef0f3;--muted:#8b929c;--line:#2a303a;--accent:#5b8def;--warn:#f0c674;--danger:#e5484d;font-family:IBM Plex Sans,Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(1200px 500px at 10% -10%, #5b8def24, transparent 55%), radial-gradient(900px 420px at 90% 0%, #81c99514, transparent 50%), var(--bg);min-height:100vh;color:var(--text);margin:0}.page{max-width:1480px;margin:0 auto;padding:32px 24px 72px}.hero{margin-bottom:22px}.hero-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.eyebrow{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin:0 0 6px;font-size:.75rem;font-weight:650}.hero h1{letter-spacing:-.03em;margin:0 0 8px;font-size:clamp(1.6rem,2.4vw,2rem);font-weight:700}.sub{color:var(--muted);margin:0;font-size:.92rem;line-height:1.45}.sub a,.table a,.project-detail a{color:#8ab4f8;text-decoration:none}.sub a:hover,.project-detail a:hover{text-decoration:underline}.hero-meta{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.pill{border:1px solid var(--line);background:#ffffff08;border-radius:999px;align-items:center;padding:6px 11px;font-size:.8rem;font-weight:600;display:inline-flex}.muted-pill{color:var(--muted);font-weight:500}.summary-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:20px;display:grid}@media (width<=720px){.summary-row{grid-template-columns:1fr}}.summary-card{background:linear-gradient(180deg, var(--panel-2), var(--panel));border:1px solid var(--line);border-radius:14px;padding:16px 18px}.summary-card.warn{background:linear-gradient(180deg, #f0c67414, var(--panel));border-color:#f0c67459}.summary-n{letter-spacing:-.03em;font-size:1.65rem;font-weight:700;line-height:1}.summary-card.warn .summary-n{color:var(--warn)}.summary-l{color:var(--muted);margin-top:6px;font-size:.8rem}.owners-section,.gantt-card{background:var(--panel);border:1px solid var(--line);border-radius:16px;margin-bottom:16px;padding:18px 18px 20px}.section-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.section-head h2{margin:0;font-size:.95rem;font-weight:650}.key-row{color:var(--muted);flex-wrap:wrap;gap:12px;font-size:.78rem;display:flex}.key{align-items:center;gap:6px;display:inline-flex}.dot{border-radius:50%;width:8px;height:8px;display:inline-block}.dot.rel{background:var(--danger)}.dot.real{background:#ff9f43}.dot.delay{background:var(--warn)}.owner-grid{flex-wrap:nowrap;gap:8px;width:100%;display:flex}.owner-card{border:1px solid var(--line);background:#ffffff05;border-radius:10px;flex:1 1 0;min-width:0;position:relative;overflow:hidden}.owner-card-bar{background:var(--oc);width:3px;position:absolute;inset:0 auto 0 0}.owner-card-body{padding:10px 8px 10px 12px}.owner-card-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:6px;font-size:.72rem;font-weight:600;line-height:1.25;display:-webkit-box;overflow:hidden}.owner-card-count{align-items:baseline;gap:4px;display:flex}.owner-card-count strong{letter-spacing:-.02em;color:var(--oc);font-size:1.15rem;font-weight:700}.owner-card-count span{color:var(--muted);font-size:.68rem}.tight{margin:0}.swatch{vertical-align:-1px;border-radius:3px;width:12px;height:12px;margin-right:6px;display:inline-block}.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;margin-bottom:18px;padding:18px 18px 20px}.card h2{margin:0 0 12px;font-size:1rem;font-weight:600}.table{border-collapse:collapse;width:100%;font-size:.86rem}.table th,.table td{text-align:left;border-bottom:1px solid var(--line);vertical-align:top;padding:12px 10px}.table th{color:var(--muted);font-weight:500}.table a{color:#8ab4f8}.muted{color:var(--muted);font-size:.8rem}.types{max-width:280px}.delay-title{color:#f0c674;font-weight:600}.delay-cell{max-width:320px}.foot{margin-top:12px}.gantt-scroll{padding-top:4px;overflow-x:auto}.gantt-stack{flex-direction:column;display:flex}.gantt-svg{display:block}.gantt-row-wrap{border-top:1px solid var(--line)}.gantt-row-wrap.is-open{background:#5b8def0f}.gantt-row-btn{cursor:pointer;text-align:left;width:100%;color:inherit;background:0 0;border:0;margin:0;padding:0;display:block}.gantt-row-btn:hover{background:#ffffff08}.gantt-hint{margin:10px 0 0}.project-detail{border-top:1px dashed var(--line);background:#0000002e;padding:14px 16px 18px}.detail-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px 18px;display:grid}.detail-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;font-size:.75rem}.accept-inline{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.accept-track-html{background:#2a2f3a;border-radius:5px;width:120px;height:10px;overflow:hidden}.accept-fill-html{border-radius:5px;height:100%}.delay-panel{background:#f0c67414;border:1px solid #f0c67459;border-radius:8px;margin-top:14px;padding:12px 14px}.delay-body{color:var(--text);margin:6px 0 0;font-size:.9rem;line-height:1.45}.gantt-svg .grid{stroke:var(--line)}.gantt-svg .axis{fill:var(--muted);font-size:11px}.gantt-svg .today-line{stroke:var(--accent);stroke-width:2px}.gantt-svg .today-label{fill:var(--accent);font-size:11px;font-weight:650}.gantt-svg .row-title{fill:var(--text);font-size:13px;font-weight:650}.gantt-svg .row-sub{fill:var(--muted);font-size:11px}.gantt-svg .bar-text{fill:#0f1115;font-size:11px;font-weight:650}.gantt-svg .bar-side-label{fill:var(--muted);font-size:10px}.gantt-svg .buffer-label{fill:#e8eaed;font-size:10px;font-weight:650}.gantt-svg .buffer-label-side{fill:#c5c8ce;font-size:10px;font-weight:650}.gantt-svg .rel-dot{fill:#e5484d;stroke:#e5484d;stroke-width:0}.gantt-svg .rel-label{fill:#e5484d;font-size:11px;font-weight:650}.gantt-svg .real-line{stroke:#ff9f43;stroke-width:2px;stroke-dasharray:4 3;opacity:.85}.gantt-svg .real-dot{fill:#ff9f43;stroke:#0c0e12;stroke-width:1px}.gantt-svg .real-label{fill:#ffb36a;font-size:12px;font-weight:700}.gantt-svg .delay-dot{fill:#f0c674}.gantt-svg .meta-strong{fill:var(--text);font-size:14px;font-weight:650}.gantt-svg .meta{fill:var(--muted);font-size:11px}.gantt-svg .accept-track{fill:#2a2f3a}html,body,#root{min-height:100%}
