.timeline-shell{display:grid;grid-template-columns:minmax(0,1fr) 330px;margin:0 2%;background:#031321;color:#e9f1ff;border:1px solid #214968;border-radius:6px;min-height:calc(100vh - 180px)}.timeline-main{min-width:0;padding:20px 16px}.timeline-kicker{margin:0 0 5px;color:#91b8ed;font-size:10px;letter-spacing:.2em;text-transform:uppercase}.timeline-hero{display:flex;justify-content:space-between;align-items:end;gap:15px;margin-bottom:18px}.timeline-hero h1{margin:0;font-size:38px;line-height:1.1;font-weight:600;letter-spacing:-.04em;color:#bed0ff}.timeline-hero p:last-child{margin:5px 0 0;font-size:13px;color:#b6c8e9}
.timeline-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px;border:1px solid #1c4e71;border-radius:5px;background:#061b2e;margin-bottom:10px}.timeline-toolbar label{display:flex;align-items:center;gap:7px;font-size:10px;text-transform:uppercase;color:#a8bdd7}.timeline-toolbar select,.timeline-window input{background:#08243d;color:#d7ebff;border:1px solid #3774a2;border-radius:4px;padding:6px 8px;font:inherit}.timeline-toolbar select{min-width:112px}.timeline-toolbar nav{display:flex;gap:3px}.timeline-toolbar nav a,.timeline-window button{padding:7px 8px;border:1px solid #345b7d;border-radius:4px;background:#091f34;color:#c0d5ec;font-size:10px;white-space:nowrap}.timeline-toolbar nav a[aria-current=page]{background:linear-gradient(#20548a,#0a2d5c);border-color:#66b2ff;color:#fff;box-shadow:0 0 12px #338cff55}.timeline-window{display:flex;align-items:center;gap:5px;margin-left:auto}.timeline-window input{width:108px;font-size:10px;padding:5px}.timeline-window button{cursor:pointer}
.timeline-axis,.timeline-lane{display:grid;grid-template-columns:160px minmax(0,1fr)}.timeline-axis{height:36px;border:1px solid #1d4765;border-bottom:0;background:#061b2d}.timeline-axis>span{padding:10px 8px;color:#bbcfeb;font-size:10px}.timeline-axis>div{position:relative;overflow:hidden}.timeline-axis i{position:absolute;bottom:6px;transform:translateX(-50%);font:normal 9px/1 "Segoe UI",Arial,sans-serif;color:#9eb4ce}.timeline-axis i.major{font-size:10px;color:#e0ebfa}.timeline-lanes{border:1px solid #1d4765}.timeline-lane{border-top:1px solid #19405c;background:#041724}.timeline-lane:nth-child(even){background:#061b2a}.timeline-lane.has-selection{background:#0b2940}.timeline-lane header{display:grid;grid-template-columns:minmax(0,1fr) auto;align-content:center;gap:2px 4px;padding:5px 8px;border-right:1px solid #225373}.timeline-lane header strong{font-size:11px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeline-lane header small{grid-row:2;color:#85a3bc;font-size:9px}.timeline-lane header a{grid-column:2;grid-row:1/3;align-self:center;font-size:9px;color:#83c3f5}.timeline-track{position:relative;height:51px}.timeline-lane.is-expanded .timeline-track{height:97px}.timeline-gridline{position:absolute;top:0;bottom:0;border-left:1px solid #16405c;pointer-events:none}.timeline-gridline.major{border-color:#27536f}
.timeline-project{position:absolute;top:var(--top);left:var(--left);width:var(--duration);height:12px;z-index:2;color:#f2f7ff}.timeline-project:after{content:"";position:absolute;left:50%;top:50%;width:max(20px,100%);height:26px;transform:translate(-50%,-50%)}.timeline-project:hover,.timeline-project:focus-visible{z-index:5}.timeline-mark{position:absolute;inset:0;border:1px solid #3c80b5;border-radius:3px;background:linear-gradient(90deg,#184569,#28618c);box-shadow:0 1px 3px #0008}.timeline-project.is-selected{z-index:4}.timeline-project.is-selected .timeline-mark{border-color:#ffe196;background:linear-gradient(90deg,#6d4b17,#bd8d2a);box-shadow:0 0 0 2px #e5bb6270,0 0 16px #e4ae4770}.timeline-lane.has-selection .timeline-project:not(.is-selected){opacity:.64}.timeline-project.is-open-end .timeline-mark{border-right:2px dotted #b0e5ff}.timeline-project.is-open-start .timeline-mark{border-left:2px dotted #b0e5ff}.timeline-project-label{position:absolute;z-index:1;top:0;left:5px;right:3px;font-size:9px;line-height:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none}
.timeline-concurrent{position:absolute;right:4px;bottom:3px;z-index:6;color:#e1edff;font-size:9px}.timeline-concurrent summary{cursor:pointer;list-style:none;padding:2px 5px;background:#0c2e48;border:1px dashed #5ba6db;border-radius:4px}.timeline-concurrent-list{position:absolute;right:0;top:100%;width:270px;max-height:250px;overflow:auto;padding:10px;border:1px solid #5185ad;border-radius:5px;background:#071d30;box-shadow:0 12px 25px #000c}.timeline-concurrent-list strong{display:block;margin-bottom:5px;color:#e8c472;font-size:10px}.timeline-concurrent-list a{display:block;padding:6px 0;border-top:1px solid #234862;font-size:10px}.timeline-concurrent-list small{display:block;color:#9db6ca;font-size:9px}
.timeline-undated{margin-top:10px;border:1px dashed #3973a0;border-radius:4px;background:#061a2a}.timeline-undated summary{display:flex;align-items:center;gap:15px;padding:9px 11px;cursor:pointer;list-style:none;text-transform:uppercase;letter-spacing:.04em;font-size:11px}.timeline-undated summary strong{color:#e4c476;font-weight:500;text-transform:none;letter-spacing:0}.timeline-undated summary span{margin-left:auto;color:#e4c476;font-size:17px}.timeline-undated>div{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:5px;padding:0 9px 9px}.timeline-undated a{display:flex;flex-direction:column;gap:3px;padding:7px 9px;border:1px solid #285578;background:#0a253e}.timeline-undated a[aria-current=page]{border-color:#e4b756}.timeline-undated a strong{font-size:10px}.timeline-undated a small{font-size:9px;color:#87a8c1}.timeline-future{display:flex;gap:12px;align-items:center;margin-top:12px;padding:10px 2px;border-top:1px solid #214761;color:#dfbe6e;font-size:10px}.timeline-future p{margin:0;color:#91acc2;font-size:10px}.timeline-lens-note{border-left:2px solid #d4ac5e;padding:5px 9px;color:#e0cfaa;font-size:10px}
.timeline-dossier{position:sticky;top:0;align-self:start;max-height:calc(100vh - 15px);overflow:auto;border-left:1px solid #285476;background:#061a2a}.timeline-dossier-head{position:relative;padding:21px 19px 16px;background:linear-gradient(135deg,#695027,#302b20 75%,#0b1d2f);border-bottom:1px solid #b78b40}.timeline-dossier-head h2{margin:2px 20px 5px 0;font-size:19px;font-weight:600;line-height:1.25}.timeline-dossier-head .timeline-period{margin:0;color:#efd18d;font-size:11px}.timeline-close{position:absolute;right:14px;top:13px;font-size:20px}.timeline-dossier-body{padding:14px 19px 25px}.timeline-dossier-body>p{color:#b7c8dd;font-size:11px;line-height:1.5}.timeline-dossier section{border-top:1px solid #285471;padding-top:10px;margin-top:11px}.timeline-dossier h3{margin:0 0 7px;color:#d4e5fa;font-size:10px;font-weight:600}.timeline-dossier section p{margin:0;color:#bacfe1;font-size:10px}.timeline-tags{display:flex;flex-wrap:wrap;gap:4px}.timeline-tags span{padding:4px 7px;border:1px solid #386e97;border-radius:13px;color:#c5e1f7;background:#0c2b46;font-size:10px}.timeline-qualification{border-left:2px solid #bd9349;padding-left:9px}.timeline-dossier:not(:has(.timeline-dossier-head)){padding:22px}.timeline-dossier:not(:has(.timeline-dossier-head)) h2{font-size:18px}.timeline-dossier:not(:has(.timeline-dossier-head)) p{color:#a9bfd3;font-size:11px}
.timeline-axis,.timeline-lane{grid-template-columns:185px minmax(0,1fr)}.timeline-dossier{min-height:calc(100vh - 180px)}
@media(max-width:1150px){.timeline-shell{grid-template-columns:minmax(0,1fr) 300px;margin:0 1%}.timeline-main{padding:17px 10px}.timeline-axis,.timeline-lane{grid-template-columns:145px minmax(0,1fr)}}@media(max-width:900px){.timeline-shell{display:block}.timeline-dossier{position:relative;max-height:none;min-height:0;border-left:0;border-top:1px solid #285476}.timeline-window{margin-left:0}}@media(max-width:620px){.timeline-hero{display:block}.timeline-axis,.timeline-lane{grid-template-columns:112px minmax(0,1fr)}.timeline-axis i:not(.major){display:none}.timeline-toolbar nav{width:100%;overflow:auto}}

/* Timeline-only shell rhythm and Pass 1 visual hierarchy. */
body:has(.timeline-shell) .masthead{min-height:70px;padding-top:9px;padding-bottom:9px}
body:has(.timeline-shell) .history{padding-top:3px;padding-bottom:6px}
body:has(.timeline-shell) .history button{min-height:29px;font-size:18px}
.timeline-shell{grid-template-columns:minmax(0,1fr) 300px;border-color:#2c4b62;box-shadow:0 14px 40px #0004}
.timeline-main{padding-top:16px}
.timeline-hero{margin-bottom:13px}
.timeline-hero h1{font-size:35px;color:#c4d4f7}
.timeline-toolbar{gap:7px;border-color:#31506a;background:linear-gradient(90deg,#071b2c,#091e30);padding:7px 9px}
.timeline-toolbar nav a{border-color:#2a4b67}
.timeline-toolbar nav a[aria-current=page]{border-color:#d6a949;background:#59431b;color:#fff5d7;box-shadow:inset 0 0 10px #d2a64633}
.timeline-zoom-control{display:flex;align-items:center;gap:4px;border-left:1px solid #31506a;padding-left:8px}
.timeline-zoom-control a{display:grid;place-items:center;width:23px;height:23px;border:1px solid #31506a;border-radius:3px;background:#0b2438;color:#c1d9ee;font-size:16px;line-height:18px}
.timeline-zoom-control input{width:76px;height:15px;accent-color:#e0b756;cursor:pointer}
.timeline-custom-range{position:relative;margin-left:auto;color:#95b1c8;font-size:10px}
.timeline-custom-range summary{cursor:pointer;list-style:none;padding:6px 7px;border:1px solid transparent;border-radius:3px;white-space:nowrap}
.timeline-custom-range summary:after{content:" ▾";color:#d6b05d}
.timeline-custom-range[open] summary{border-color:#386786;background:#0b2b43;color:#e7f3ff}
.timeline-custom-range .timeline-window{position:absolute;right:0;top:100%;z-index:20;margin-top:5px;padding:9px;border:1px solid #3e6784;border-radius:4px;background:#0a2338;box-shadow:0 12px 22px #000a}
.timeline-axis{background:#071b2b;border-color:#2a4962}
.timeline-axis>span{color:#d9c18f;font-size:11px;font-weight:600;letter-spacing:.03em}
.timeline-axis>div i:first-child{transform:translateX(0)}
.timeline-gridline{border-color:#153449}
.timeline-gridline.major{border-color:#264559}
.timeline-lane{border-color:#1a384d}
.timeline-lane:nth-child(even){background:#061926}
.timeline-lane header{grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:6px;padding:4px 7px;border-color:#23465e}
.timeline-org-mark{display:grid;place-items:center;width:27px;height:27px;border:1px solid #3b6380;border-radius:5px;background:linear-gradient(135deg,#16334a,#0a2335);color:#bdd7e9;font-size:8px;font-weight:650;letter-spacing:-.04em}
.timeline-org-copy{display:flex;flex-direction:column;min-width:0;gap:2px}
.timeline-lane header strong{font-size:11px;color:#ebf2fa}
.timeline-lane header small{font-size:9px;color:#829eb2}
.timeline-lane header a{grid-column:3;grid-row:1;opacity:.8}
.timeline-lane.is-expanded{background:#0b2234;box-shadow:inset 2px 0 #c7a357}
.timeline-lane.is-expanded header a{color:#e3c47a;opacity:1}
.timeline-lane.is-expanded .timeline-track{background:#0d2a3b}
.timeline-mark{background:linear-gradient(90deg,#173b5b,#275b7e);border-color:#3e7397;box-shadow:none}
.timeline-project.is-year-start.is-year-end .timeline-mark{mask-image:linear-gradient(90deg,transparent,#000 12px,#000 calc(100% - 12px),transparent)}
.timeline-project.is-year-start:not(.is-year-end) .timeline-mark{mask-image:linear-gradient(90deg,transparent,#000 12px)}
.timeline-project.is-year-end:not(.is-year-start) .timeline-mark{mask-image:linear-gradient(90deg,#000 calc(100% - 12px),transparent)}
.timeline-project.is-open-end .timeline-mark{border-right:2px dotted #a7c6d4}
.timeline-project.is-open-start .timeline-mark{border-left:2px dotted #a7c6d4}
.timeline-project.is-selected .timeline-mark{mask-image:none;border-color:#ffe19a;background:linear-gradient(90deg,#79551c,#c3963d);box-shadow:0 0 0 1px #ffe19a,0 0 10px #dfac4e80}
.timeline-lane.has-selection .timeline-project:not(.is-selected){opacity:.72}
.timeline-concurrent{z-index:12}
.timeline-cluster{position:absolute;top:29px;left:var(--point);z-index:7;transform:translateX(-50%);font-size:9px}
.timeline-cluster summary{display:grid;place-items:center;min-width:23px;height:18px;padding:0 3px;border:1px solid #5a85a4;border-radius:10px;background:#173e56;color:#e7f2f8;cursor:pointer;list-style:none;font-size:9px}
.timeline-cluster[open] summary{border-color:#d6b35c;color:#ffe4a1}
.timeline-cluster-list{position:absolute;left:0;top:22px;width:260px;max-height:250px;overflow:auto;padding:9px;border:1px solid #5b819b;border-radius:4px;background:#071e30;box-shadow:0 12px 24px #000b}
.timeline-cluster-list strong{display:block;margin-bottom:5px;color:#e8c981;font-size:10px}
.timeline-cluster-list a{display:block;border-top:1px solid #284b61;padding:6px 0;color:#e5f1f8;font-size:10px}
.timeline-cluster-list small{display:block;color:#9db5c6;font-size:9px}
.timeline-legend{display:flex;flex-wrap:wrap;gap:16px;padding:8px 2px 0;color:#8da7ba;font-size:9px}
.timeline-legend span{display:flex;align-items:center;gap:5px}
.timeline-legend i{display:inline-block;width:17px;height:7px;border:1px solid #4781a6;border-radius:2px;background:#245677}
.timeline-legend .legend-approx{mask-image:linear-gradient(90deg,transparent,#000 5px,#000 calc(100% - 5px),transparent)}
.timeline-legend .legend-open{border-right-style:dotted}
.timeline-legend .legend-cluster{width:15px;height:15px;border-radius:50%;background:#173e56}
.timeline-undated{margin-top:9px;border-color:#30556c;background:#061724}
.timeline-undated summary{padding:7px 10px;color:#c9d9e3;font-size:10px}
.timeline-future{margin-top:8px;padding-top:8px}
.timeline-dossier{min-height:calc(100vh - 130px);border-color:#31546b;background:#071a27}
.timeline-dossier-head{padding:14px 16px 12px;background:linear-gradient(120deg,#4b3d27,#1b2932 78%);border-color:#926e34}
.timeline-dossier-head h2{font-size:17px}
.timeline-dossier-body{padding:10px 16px 18px}
.timeline-dossier section{padding-top:8px;margin-top:9px}
.timeline-dossier-body>p{margin:7px 0}
.timeline-tags span{padding:3px 6px;border-color:#355d78;background:#0c273b}
.timeline-view-line,.timeline-zoom-line{display:flex;align-items:center;gap:8px;min-width:0}
.timeline-view-line{width:100%;flex-wrap:wrap}.timeline-view-line>.timeline-control-block{flex:0 0 auto}.timeline-zoom-line{width:100%;flex-wrap:wrap;padding-top:6px;border-top:1px solid #203b50}
.timeline-toolbar{display:block}.timeline-group-label select{min-width:124px}
.timeline-control-block{display:grid;gap:3px;min-width:0}.timeline-control-block>span{font-size:9px;letter-spacing:.11em;text-transform:uppercase;color:#7895a9}.timeline-follow-control>.timeline-picker>summary{border-color:#35566b;color:#9eb3c0;background:#0a2234}.timeline-follow-control.is-active>.timeline-picker>summary{border-color:#58aeb9;color:#e2fbfc;background:#0b303f;box-shadow:inset 2px 0 #67c7cf}.timeline-follow-control>.timeline-picker>summary:focus-visible{outline:2px solid #77d5db;outline-offset:2px}
.timeline-sort{margin-left:auto}.timeline-sort select{min-width:164px}
.timeline-picker{position:relative;min-width:205px;font-size:11px}
.timeline-picker>summary{display:flex;justify-content:space-between;align-items:center;gap:10px;max-width:275px;min-height:29px;padding:5px 9px;border:1px solid #44799c;border-radius:4px;background:#102f47;color:#e4edf5;cursor:pointer;list-style:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.timeline-picker>summary span{color:#dbbd70}
.timeline-picker[open]>summary{border-color:#d1ac5f;background:#243b48}
.timeline-picker-panel{position:absolute;top:calc(100% + 5px);left:0;z-index:25;width:285px;max-height:370px;overflow:auto;padding:8px;border:1px solid #5982a0;border-radius:5px;background:#081f31;box-shadow:0 18px 30px #000c}
.timeline-picker-panel input{width:100%;padding:7px 9px;margin-bottom:7px;border:1px solid #477491;border-radius:4px;background:#0d2c43;color:#e9f3f8;font-size:11px}
.timeline-picker-all,.timeline-filter-category a{display:block;padding:7px 9px;color:#d5e8f3;font-size:11px}
.timeline-picker-all{border-bottom:1px solid #2b4e65;color:#efce82}
.timeline-filter-category{border-bottom:1px solid #1e4056}.timeline-filter-category summary{display:flex;justify-content:space-between;cursor:pointer;padding:7px 9px;color:#b6d5e6;font-size:11px;font-weight:600}.timeline-filter-category summary small{font-size:9px;color:#83a5bb}.timeline-filter-category a{padding-left:17px}.timeline-filter-category a:hover,.timeline-filter-category a:focus-visible,.timeline-filter-category a[aria-current=true]{background:#214663;color:#fff0cb}
.timeline-filter-category [hidden],.timeline-filter-category[hidden]{display:none}
.timeline-zoom-line .timeline-custom-range{margin-left:auto}
.timeline-lane-summary{display:flex;align-items:center;gap:8px;padding:2px 2px 8px;color:#b0c5d6;font-size:10px}.timeline-lane-summary a{color:#e2c17b}.timeline-lane-summary small{margin-left:auto;color:#7798ad;font-size:9px}
.timeline-empty{padding:15px;color:#aac1d1;font-size:11px}
.timeline-lane header strong{font-size:12px}.timeline-lane header small{font-size:9.5px}
.timeline-axis i{font-size:10px}.timeline-axis i.major{font-size:11px}
.timeline-project{height:16px}.timeline-project:after{height:19px}.timeline-project-label{top:1px;font-size:10px;line-height:14px}
.timeline-mark{border-color:#70a9c8;border-right:2px solid #a0d0e5;background:linear-gradient(180deg,#3b83ac,#276284 70%,#1b506f);box-shadow:inset 0 1px #b3def14d,0 1px 3px #0007}
.timeline-project.is-point .timeline-mark{width:7px;border-radius:50%;background:linear-gradient(135deg,#8ac8df,#367fa8)}
.timeline-project.is-selected .timeline-mark{background:linear-gradient(180deg,#d8ae58,#ad7629);box-shadow:inset 0 1px #ffe4ad9c,0 0 0 1px #f4ce7b,0 0 11px #d8a24880}
.timeline-project.is-selected.is-point .timeline-mark{background:#efc361}
.timeline-tags .is-filter-match{border-color:#d7ad5a;background:#514021;color:#fff0c9}
.timeline-concurrent summary{background:#163949;border-color:#68acb8}.timeline-cluster summary{border-color:#4e7890;background:#153347}
.timeline-concurrent-list,.timeline-cluster-list{font-size:11px}.timeline-concurrent-list a,.timeline-cluster-list a{font-size:11px}.timeline-concurrent-list small,.timeline-cluster-list small{font-size:10px}
.timeline-dossier-body>p,.timeline-dossier section p,.timeline-dossier h3,.timeline-tags span{font-size:11px}
.timeline-track,.timeline-axis>div{cursor:grab;touch-action:pan-y}.is-drag-zoom .timeline-track,.is-drag-pan .timeline-track,.is-drag-zoom .timeline-axis>div,.is-drag-pan .timeline-axis>div{cursor:grabbing;user-select:none}
@media(max-width:900px){.timeline-view-line,.timeline-zoom-line{flex-wrap:wrap}.timeline-sort{margin-left:0}.timeline-lane-summary small{display:none}}
@media(max-width:1150px){.timeline-shell{grid-template-columns:minmax(0,1fr) 285px}}
@media(max-width:900px){.timeline-shell{display:block}.timeline-dossier{min-height:0}.timeline-custom-range{margin-left:0}}

/* Base canvas correction: Project emphasis, readable compact lanes, and dossier scroll. */
.timeline-lane.has-selection{background:inherit}
.timeline-lane.has-selection .timeline-project:not(.is-selected){opacity:1}
.timeline-lane header strong{font-size:13px}
.timeline-org-mark.has-logo{background:#e9f0f5;border-color:#63869c;overflow:hidden}
.timeline-org-mark img{width:100%;height:100%;object-fit:contain;padding:2px;box-sizing:border-box}
.timeline-org-mark img.deck-preserve-colors{filter:none}
.timeline-project{height:21px}
.timeline-project:after{height:22px}
.timeline-project-label{top:2px;font-size:11px;line-height:17px}
.timeline-project.variant-1 .timeline-mark{background:linear-gradient(180deg,#4a8cab,#326d8b 70%,#255772);border-color:#82b4cb}
.timeline-project.variant-2 .timeline-mark{background:linear-gradient(180deg,#387b9b,#235b7a 70%,#174664);border-color:#6098b8}
.timeline-project.is-point .timeline-mark{width:8px;height:15px;top:3px;border-radius:3px}
.timeline-project.is-selected .timeline-mark{background:linear-gradient(180deg,#d8ae58,#ad7629);border-color:#ffe19a}
.timeline-dossier-head{position:sticky;top:0;z-index:10}
.timeline-dossier-body>p,.timeline-dossier section p,.timeline-dossier h3,.timeline-tags span{font-size:12px}
.timeline-dossier-head .timeline-period{font-size:12px}
.timeline-picker-panel input,.timeline-picker-all,.timeline-filter-category summary,.timeline-filter-category a{font-size:12px}
.timeline-axis i{font-size:10px;color:#b7cade}

/* V3.1 visual grammar */
.timeline-shell{background:#041522;border-color:#29455a}
.timeline-hero{margin-bottom:15px}
.timeline-hero h1{font-size:37px}
.timeline-toolbar{padding:4px 0 9px;background:transparent;border:0;border-bottom:1px solid #29445a;border-radius:0}
.timeline-view-line,.timeline-zoom-line{gap:10px}
.timeline-zoom-line{border-color:#1a3448}
.timeline-toolbar select,.timeline-picker>summary{background:#0a253a;border-color:#385d79}
.timeline-toolbar nav a{background:#071d30;border-color:#264761}
.timeline-axis{border-color:#26455a}
.timeline-gridline{border-color:#102d40}
.timeline-gridline.major{border-color:#1c3c50}
.timeline-lane{border-color:#173548}
.timeline-lane:nth-child(even){background:#051a29}
.timeline-org-mark.has-logo{border:0;background:transparent;overflow:visible}
.timeline-org-mark.has-logo img{padding:0;object-fit:contain}
.timeline-context-identity{display:flex;align-items:center;gap:11px;margin:5px 0 4px}
.timeline-context-identity .timeline-org-mark{width:35px;height:35px;font-size:11px;flex:none}
.timeline-context-identity strong{display:block;color:#eef5fa;font-size:12px}
.timeline-context-identity small{display:block;margin-top:2px;color:#a6c1d1;font-size:11px}
.timeline-project{height:27px}
.timeline-project:after{height:29px}
.timeline-mark{border-radius:3px;background:linear-gradient(180deg,#4b84a5,#1e5373);border-color:#71a3bc;border-right:1px solid #9bd0e4;box-shadow:inset 0 1px #c2e7f355,0 2px 4px #0008}
.timeline-project.tone-1 .timeline-mark{background:linear-gradient(180deg,#418ecc,#1968a6);border-color:#84c4ef}
.timeline-project.tone-2 .timeline-mark{background:linear-gradient(180deg,#53b9dc,#1684ae);border-color:#9bdcf0}
.timeline-project.tone-3 .timeline-mark{background:linear-gradient(180deg,#35aab7,#116f85);border-color:#78d4d9}
.timeline-project.tone-4 .timeline-mark{background:linear-gradient(180deg,#557faa,#294e81);border-color:#89b1db}
.timeline-project-label{top:4px;left:8px;font-size:11px;line-height:19px;text-shadow:0 1px 2px #001d2b}
.timeline-project.is-selected .timeline-mark{border-color:#ffe09a;background:linear-gradient(180deg,#f1ca74,#ad7926);box-shadow:inset 0 1px #fff1c5,0 0 0 1px #f4cc78,0 0 13px #d8a24877}
.timeline-project.is-year-start.is-year-end .timeline-mark{mask-image:linear-gradient(90deg,transparent,#000 14px,#000 calc(100% - 14px),transparent)}
.timeline-project.is-year-start:not(.is-year-end) .timeline-mark{mask-image:linear-gradient(90deg,transparent,#000 14px)}
.timeline-project.is-year-end:not(.is-year-start) .timeline-mark{mask-image:linear-gradient(90deg,#000 calc(100% - 14px),transparent)}
.timeline-project.is-open-end .timeline-mark{border-right:0;mask-image:linear-gradient(90deg,#000 55%,#0009 73%,transparent 100%)}
.timeline-project.is-open-end.is-point .timeline-mark{width:31px;height:18px;top:4px;border-radius:3px;mask-image:linear-gradient(90deg,#000 18%,#000b 57%,transparent)}
.timeline-project.is-point:not(.is-open-end) .timeline-mark{width:7px;height:19px;top:4px;border-radius:3px}
.timeline-legend{display:block;padding:3px 2px 0;color:#7f9cb0}
.timeline-legend>summary{width:max-content;cursor:pointer;list-style:none;font-size:10px;color:#a7bbc9;padding:5px 2px}
.timeline-legend>div{display:flex;flex-wrap:wrap;gap:14px;padding:3px 0 4px}
.timeline-legend>div span{font-size:10px}
.timeline-dossier{background:#071b2a}
.timeline-dossier-head{background:linear-gradient(120deg,#4b3c25,#182a37 76%)}
.timeline-dossier h3{font-size:12px}
.timeline-tags a{display:inline-block;padding:4px 8px;border:1px solid #386b89;border-radius:15px;color:#d1e8f5;background:#0b2b42;font-size:12px;text-decoration:none}
.timeline-tags a:hover,.timeline-tags a:focus-visible{border-color:#9ecded;background:#1c4a65;color:#fff;outline:0}
.timeline-tags a.is-filter-match{border-color:#d8ad58;background:#574522;color:#fff0c9}
.timeline-evidence-preview{position:fixed;z-index:50;width:270px;box-sizing:border-box;padding:13px 14px;border:1px solid #609abd;border-radius:6px;background:#071d2d;box-shadow:0 16px 38px #000c;color:#e8f2f8;pointer-events:auto}
.timeline-evidence-preview[hidden]{display:none}
.timeline-evidence-preview>strong{display:block;font-size:13px}
.timeline-evidence-preview>p{margin:4px 0 9px;color:#b8d5e5;font-size:11px}
.timeline-preview-logos{display:flex;gap:6px;margin-bottom:7px}
.timeline-preview-logos .timeline-org-mark{width:23px;height:23px;flex:none}
.timeline-evidence-preview>small{display:block;color:#b5cbd9;font-size:10px;line-height:1.5}
.timeline-evidence-preview>em{display:block;margin-top:8px;color:#e2c17b;font-size:10px;font-style:normal}
.timeline-custom-range>summary{font-size:11px;color:#bed0dd}
.timeline-custom-range>summary span{margin-right:5px;color:#d0b267}
.timeline-custom-range .timeline-window{gap:8px;padding:12px;border-color:#456e89;background:#092336}
.timeline-window button[data-timeline-window-cancel]{border-color:transparent;background:transparent;color:#b9cbd9}

/* V3.2: shared optical identity, brand-informed ribbons, and quiet portrait. */
.timeline-gridline{border-color:#0b2635}
.timeline-gridline.major{border-color:#173448}
.timeline-lane{border-color:#102e3e}
.timeline-lane:nth-child(even){background:#061927}
.timeline-lane header{grid-template-columns:45px minmax(0,1fr) 16px}
.timeline-logo-trigger{position:relative;grid-column:1;grid-row:1;width:42px;height:31px;margin:0;padding:0;border:0;background:transparent;cursor:pointer;opacity:1}
.timeline-logo-trigger:hover,.timeline-logo-trigger:focus-visible{outline:1px solid #91cce6;outline-offset:3px;border-radius:3px}
.timeline-logo-trigger:hover:after,.timeline-logo-trigger:focus-visible:after{content:'✎';position:absolute;margin-left:-4px;margin-top:-7px;color:#e2c27a;font-size:10px}
.timeline-lane header .timeline-expand{grid-column:3;grid-row:1;display:grid;place-items:center;width:17px;height:20px;font-size:17px;color:#84afc6;opacity:.7;text-decoration:none}
.timeline-lane header .timeline-expand:hover,.timeline-lane header .timeline-expand:focus-visible{opacity:1;color:#d7e9f2}
.timeline-org-mark.kp-org-logo,.timeline-context-identity .timeline-org-mark.kp-org-logo{border:0;background:transparent;overflow:visible}
.timeline-lane .timeline-org-mark.kp-org-logo{width:42px;height:30px}
.timeline-org-mark.kp-org-logo img{width:100%;height:100%;padding:0;object-fit:contain;transform:scale(var(--logo-scale,1));transform-origin:center}
.timeline-org-mark.kp-org-logo img.deck-dark-logo:not(.deck-preserve-colors){filter:url(#deck-remove-white) invert(1) hue-rotate(180deg)}
.timeline-org-mark.kp-org-logo img.deck-icon-source{filter:url(#deck-remove-white)}
.timeline-org-mark.kp-org-logo img[hidden],.timeline-org-mark.kp-org-logo>span[hidden]{display:none}
.timeline-project{height:33px}
.timeline-project:after{height:35px}
.timeline-project-label{top:7px}
.timeline-project.is-point:not(.is-open-end) .timeline-mark{top:7px}
.timeline-project.is-open-end.is-point .timeline-mark{top:7px}
.timeline-project .timeline-mark{background:linear-gradient(180deg,var(--tone-0-top),var(--tone-0-bottom));border-color:var(--tone-0-edge);box-shadow:inset 0 1px #ffffff57,0 2px 5px #0009}
.timeline-project.tone-1 .timeline-mark{background:linear-gradient(180deg,var(--tone-1-top),var(--tone-1-bottom));border-color:var(--tone-1-edge)}
.timeline-project.tone-2 .timeline-mark{background:linear-gradient(180deg,var(--tone-2-top),var(--tone-2-bottom));border-color:var(--tone-2-edge)}
.timeline-project.tone-3 .timeline-mark{background:linear-gradient(180deg,var(--tone-3-top),var(--tone-3-bottom));border-color:var(--tone-3-edge)}
.timeline-project.tone-4 .timeline-mark{background:linear-gradient(180deg,var(--tone-4-top),var(--tone-4-bottom));border-color:var(--tone-4-edge)}
.timeline-project.is-selected .timeline-mark{background:linear-gradient(180deg,#f1ca74,#ad7926);border-color:#ffe09a}
.timeline-project{--mark-top:var(--tone-0-top);--mark-edge:var(--tone-0-edge)}
.timeline-project.tone-1{--mark-top:var(--tone-1-top);--mark-edge:var(--tone-1-edge)}
.timeline-project.tone-2{--mark-top:var(--tone-2-top);--mark-edge:var(--tone-2-edge)}
.timeline-project.tone-3{--mark-top:var(--tone-3-top);--mark-edge:var(--tone-3-edge)}
.timeline-project.tone-4{--mark-top:var(--tone-4-top);--mark-edge:var(--tone-4-edge)}
.timeline-project.is-point:not(.is-selected) .timeline-mark{background:var(--mark-top);border-color:var(--mark-edge)}
.timeline-dossier-category{--category-accent:#71a8d8;--category-soft:#183248}
.timeline-dossier-category[data-category=role]{--category-accent:#9baff2;--category-soft:#222d4c}
.timeline-dossier-category[data-category=skill]{--category-accent:#73cce8;--category-soft:#123848}
.timeline-dossier-category[data-category=technology]{--category-accent:#70cabb;--category-soft:#123a3b}
.timeline-dossier-category[data-category=product]{--category-accent:#baa6e7;--category-soft:#302a49}
.timeline-dossier-category[data-category=outcome]{--category-accent:#e4c17e;--category-soft:#443923}
.timeline-dossier-category[data-category=contribution]{--category-accent:#c0d3e2;--category-soft:#263844}
.timeline-dossier-category h3{color:var(--category-accent);border-left:2px solid var(--category-accent);padding-left:8px;letter-spacing:.02em}
.timeline-dossier-category .timeline-tags a{background:color-mix(in srgb,var(--category-soft) 35%,#071b2a);border-color:color-mix(in srgb,var(--category-accent) 30%,#28455d);color:#e4edf3;box-shadow:none;transition:background .15s,transform .15s,border-color .15s}
.timeline-dossier-category .timeline-tags a:hover,.timeline-dossier-category .timeline-tags a:focus-visible{background:var(--category-soft);border-color:var(--category-accent);transform:translateY(-1px);box-shadow:0 2px 8px #0006}
.timeline-dossier-category .timeline-tags a.is-filter-match{border-color:#e2be72;background:#4b3b22;color:#fff1cb}

/* V3.3 bounded base-canvas polish: preserve horizontal time geometry. */
.timeline-main{padding-top:18px}
.timeline-image-filters{position:absolute;width:0;height:0;overflow:hidden}
.timeline-track{height:41px}
.timeline-lane.is-expanded .timeline-track{height:var(--lane-height)}
.timeline-project{height:26px}
.timeline-project:after{height:28px}
.timeline-project-label{top:4px}
.timeline-project.is-point:not(.is-open-end) .timeline-mark,.timeline-project.is-open-end.is-point .timeline-mark{top:4px}
.timeline-cluster{top:22px}
.timeline-dossier{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
.timeline-dossier::-webkit-scrollbar{display:none;width:0;height:0}

/* Following Through Career summary and Project emphasis. */
.timeline-thread-summary{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 12px;padding:10px 13px;border:1px solid #326572;border-left:3px solid #65c4cc;border-radius:5px;background:linear-gradient(90deg,#102d3a,#0a1e2b)}
.timeline-thread-summary h2{margin:1px 0 2px;font-size:18px;color:#e8fbfc}.timeline-thread-summary p{margin:0;color:#d8e4ed;font-size:11px}.timeline-thread-summary .timeline-thread-count{color:#cde8eb;font-size:12px}.timeline-thread-summary small{display:block;margin-top:3px;color:#9fb7c8;font-size:10px}.timeline-thread-summary em{display:block;margin-top:4px;color:#a9c6cc;font-size:10px;font-style:normal}.timeline-thread-metrics{display:block;margin-top:4px;color:#6f929e;font-size:9px}.timeline-follow-exit,.timeline-view-all{flex:0 0 auto;padding:7px 10px;border:1px solid #4f8991;border-radius:4px;color:#bcecf0;font-size:10px;text-transform:uppercase;letter-spacing:.08em}.timeline-view-all{display:inline-block;margin-top:6px}.timeline-thread-empty{display:grid;gap:1px}.timeline-thread-empty strong{color:#e1f4f5;font-size:12px}.timeline-thread-empty span{color:#9db9c1;font-size:10px}.timeline-thread-summary.is-empty{border-style:solid;background:linear-gradient(90deg,#122c38,#0b202c)}
.timeline-thread-membership{font-size:10px!important;letter-spacing:.03em}.timeline-thread-membership.is-inside{color:#82cfd5}.timeline-thread-membership.is-outside{color:#a9b5bc}
body:has(.timeline-thread-summary) .timeline-project.is-thread-outside:not(.is-selected){opacity:.28}
body:has(.timeline-thread-summary) .timeline-project.is-thread-match:not(.is-selected) .timeline-mark{outline:1px solid #8ed9e5;outline-offset:2px;box-shadow:inset 0 1px #ffffff57,0 0 8px #72cbd05c}
body:has(.timeline-thread-summary) .timeline-project.is-thread-match:not(.is-selected):hover .timeline-mark,body:has(.timeline-thread-summary) .timeline-project.is-thread-match:not(.is-selected):focus-visible .timeline-mark{outline-color:#dffaff;box-shadow:inset 0 1px #fff8,0 0 13px #8ce7ec8c}
.timeline-evidence-actions{display:inline-flex;align-items:center;gap:3px}.timeline-follow-chip{padding:4px 6px;border:1px solid #7c704f;border-radius:11px;color:#e7c779;background:#2b2b25;font-size:9px;text-transform:uppercase;letter-spacing:.04em}.timeline-follow-chip:hover,.timeline-follow-chip:focus-visible{border-color:#e7c779;background:#403720}
.timeline-outside-thread{margin:7px 0 0!important;color:#b6c4ce!important;font-size:10px!important;text-transform:uppercase;letter-spacing:.1em}
@media(max-width:620px){.timeline-thread-summary{align-items:flex-start}.timeline-thread-summary small{line-height:1.5}}

/* V0.2 focus-only local chronology: no network exists until a ribbon is active. */
.timeline-thread-focus-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.has-thread-focus .timeline-project.is-thread-match:not(.is-focus-origin):not(.is-focus-predecessor):not(.is-focus-successor):not(.is-focus-parallel):not(.is-selected){opacity:.48}.timeline-project.is-focus-origin:not(.is-selected){z-index:9}.timeline-project.is-focus-origin:not(.is-selected) .timeline-mark{outline:2px solid #d7fbff;outline-offset:2px;box-shadow:0 0 15px #8be7eea6}.timeline-project.is-focus-predecessor:not(.is-selected) .timeline-mark,.timeline-project.is-focus-successor:not(.is-selected) .timeline-mark{outline-color:#9fdee4;box-shadow:0 0 9px #75cbd36b}.timeline-project.is-focus-parallel:not(.is-selected) .timeline-mark{outline:1px dotted #c5b8ee;outline-offset:3px;box-shadow:0 0 8px #a493d363}

/* Following Through Career final presentation pass. */
.timeline-hero:has(+ .timeline-thread-summary){margin-bottom:9px}
.timeline-thread-summary{min-height:50px;gap:12px;margin-bottom:9px;padding:6px 11px}
.timeline-thread-copy{display:flex;flex:1;flex-direction:column;min-width:0;gap:3px}
.timeline-thread-primary,.timeline-thread-secondary{display:flex;align-items:baseline;gap:11px;min-width:0}
.timeline-thread-primary .timeline-kicker{flex:0 0 auto;margin:0;font-size:9px;letter-spacing:.11em;color:#86b9c1}
.timeline-thread-primary h2{flex:0 0 auto;margin:0;font-size:15px;line-height:18px}
.timeline-thread-summary .timeline-thread-count{font-size:11px;color:#d2e5e8}
.timeline-thread-secondary{gap:10px;color:#8faeba;font-size:9px;line-height:12px}
.timeline-thread-secondary small,.timeline-thread-secondary em,.timeline-thread-secondary .timeline-thread-metrics,.timeline-thread-note{display:inline;margin:0;color:#8faeba;font-size:9px;line-height:12px;font-style:normal}
.timeline-thread-secondary .timeline-thread-metrics{color:#719ba9}
.timeline-thread-note{color:#719ba9}
.timeline-follow-exit{align-self:center;white-space:nowrap;padding:7px 10px;border-color:#62aab3;color:#d2f5f7}
.timeline-thread-summary.is-empty{min-height:68px}
.timeline-thread-empty{display:flex;align-items:baseline;gap:8px}
.timeline-thread-empty strong,.timeline-thread-empty span{font-size:11px}
.timeline-thread-summary.is-empty .timeline-thread-secondary{order:1}
.timeline-thread-summary.is-empty .timeline-view-all{order:2;align-self:flex-start;margin:0;padding:3px 7px;font-size:9px}
.timeline-toolbar .timeline-control-block{display:flex;flex-direction:column;align-items:stretch;gap:4px;min-width:max-content;flex-shrink:0}
.timeline-toolbar .timeline-control-block>span{font-size:9px;line-height:11px;font-weight:650;letter-spacing:.12em;color:#9db8cb}
.timeline-toolbar .timeline-show-control>span{color:#b7cce0}
.timeline-toolbar .timeline-follow-control{padding-left:10px;border-left:1px solid #31566a}
.timeline-toolbar .timeline-follow-control>span{color:#91cbd0}
.timeline-toolbar .timeline-group-label select,.timeline-toolbar .timeline-sort select{height:29px}
@media(max-width:900px){.timeline-thread-primary,.timeline-thread-secondary{flex-wrap:wrap;gap:3px 9px}.timeline-thread-summary{align-items:center}.timeline-toolbar .timeline-follow-control{padding-left:0;border-left:0}}
@media(max-width:620px){.timeline-thread-summary{align-items:flex-start}.timeline-thread-primary h2{font-size:13px}.timeline-thread-empty{flex-wrap:wrap;gap:2px 6px}}

/* Final Follow micro-polish: quiet controls and bounded recurrence cues. */
.timeline-toolbar .timeline-picker>summary{text-transform:none}
.timeline-toolbar .timeline-picker-panel{text-transform:none}
.timeline-thread-primary h2{font-size:16px;font-weight:650}
.timeline-thread-summary .timeline-thread-count{font-size:12px;font-weight:600;color:#e0f4f5}
.timeline-thread-count:before{content:'·';margin-right:9px;color:#78b9c1}
.timeline-evidence-actions{gap:2px}
.timeline-follow-chip{position:relative;display:inline-grid;place-items:center;align-self:center;flex:0 0 19px;width:19px;height:19px;padding:0;border:1px solid #426676;border-radius:50%;background:#12313e;color:#a6cbd0;font-size:13px;line-height:1;letter-spacing:0;text-transform:none;opacity:.58;transition:opacity .15s,border-color .15s,background .15s}
.timeline-follow-chip:hover,.timeline-follow-chip:focus-visible,.timeline-evidence-actions:hover .timeline-follow-chip{opacity:1;border-color:#79bec5;background:#1a4651;color:#e3fafb}
.timeline-follow-chip:focus-visible{outline:2px solid #c1e8ec;outline-offset:2px}
.timeline-follow-chip:after{content:'Follow thread';position:absolute;z-index:20;left:50%;bottom:calc(100% + 6px);transform:translateX(-50%);padding:4px 6px;border:1px solid #4e8990;border-radius:3px;background:#0a2835;color:#e1f6f6;font-size:10px;line-height:1.2;white-space:nowrap;opacity:0;pointer-events:none}
.timeline-follow-chip:hover:after,.timeline-follow-chip:focus-visible:after{opacity:1}
@media(max-width:620px){.timeline-thread-primary h2{font-size:14px}}

/* Follow simplification: Project ribbons are the occurrences. */
.timeline-thread-primary .timeline-kicker{display:inline-flex;align-items:center;gap:4px}
.timeline-thread-glyph{display:block;width:13px;height:13px;flex:0 0 13px;color:currentColor}
.timeline-follow-chip .timeline-thread-glyph{width:14px;height:14px;flex-basis:14px}
.timeline-project.is-selected.is-selected-outside-thread .timeline-mark{border-color:#a69278;background:linear-gradient(180deg,#64717a,#3d5360);box-shadow:inset 0 1px #d5e0e566,0 0 0 1px #ad9471,0 0 7px #906e4f55}
.timeline-project.is-selected.is-selected-outside-thread.is-point .timeline-mark{background:#77858b;border-color:#b7a485}
.timeline-lanes{position:relative}
.timeline-thread-overlay{position:absolute;inset:0;z-index:1;overflow:hidden;pointer-events:none}
.timeline-project-link{position:absolute;height:0;transform-origin:0 0;border-top:1px dashed #8ccbd1a6;opacity:.7;pointer-events:none;filter:drop-shadow(0 0 2px #5eb9c280)}
.timeline-project-link.is-predecessor:after,.timeline-project-link.is-successor:after{content:'';position:absolute;right:0;top:-3px;width:5px;height:5px;border-top:1px solid #b0e1e5;border-right:1px solid #b0e1e5;transform:rotate(45deg)}
.timeline-project-link.is-parallel{border-top:1px dotted #b5a6d1b8;opacity:.6;filter:drop-shadow(0 0 2px #a492c180)}
.timeline-lane-summary .timeline-thread-offscreen{position:static;z-index:auto;margin-left:auto;color:#9dc5cf;font-size:9px;line-height:1.3;text-align:right;pointer-events:none}
.timeline-lanes>.timeline-thread-focus-status{top:0}

/* Final bounded Timeline presentation cleanup. */
.timeline-hero .timeline-scope-count{margin-top:6px;color:#b9cce2;font-size:12px;line-height:1.35}
.timeline-follow-control .timeline-picker{min-width:255px}
.timeline-follow-control .timeline-picker>summary{justify-content:flex-start;gap:6px}
.timeline-follow-control .timeline-picker>summary .timeline-thread-glyph{width:13px;height:13px;flex:0 0 13px;color:#84adb3}
.timeline-follow-control .timeline-picker-value{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;color:#adc4cb}
.timeline-follow-control .timeline-picker-chevron{flex:0 0 auto;color:#9eb7be}
.timeline-follow-control.is-active .timeline-picker>summary .timeline-thread-glyph{color:#81d3d8}
.timeline-follow-control.is-active .timeline-picker-value{color:#e1f3f3}
.timeline-project-label{color:#f5fbff;text-shadow:0 1px 2px #001421,0 0 4px #001421}

/* Threads: one warm visual language for the selector and existing connectors. */
.timeline-toolbar .timeline-follow-control>span{color:#c6ad73}
.timeline-follow-control>.timeline-picker>summary{border-color:#695d43;color:#c7b995;background:#211f20}
.timeline-follow-control.is-active>.timeline-picker>summary{border-color:#a58a50;color:#f3e8cf;background:#302b23;box-shadow:inset 2px 0 #c6a867}
.timeline-follow-control .timeline-picker>summary .timeline-thread-glyph{color:#aa966a}
.timeline-follow-control.is-active .timeline-picker>summary .timeline-thread-glyph{color:#d6b970}
.timeline-follow-control .timeline-picker-value{color:#c8bfa9}
.timeline-follow-control.is-active .timeline-picker-value{color:#f2e9d4}
.timeline-show-threads{display:inline-flex;align-items:center;align-self:flex-end;gap:6px;height:29px;color:#c4ad79;font-size:10px;white-space:nowrap;cursor:pointer}
.timeline-toolbar .timeline-show-threads label{display:inline;color:inherit;font-size:inherit;text-transform:none;cursor:inherit}
.timeline-show-threads input{width:13px;height:13px;margin:0;accent-color:#cfad64;cursor:pointer}
.timeline-show-threads.is-disabled{color:#81909a;opacity:.48;cursor:default}
.timeline-show-threads.is-disabled input{cursor:default}
.timeline-follow-exit{border-color:#a28750;color:#ecd3a0}
.timeline-thread-summary{border-left-color:#ab9059}
.timeline-thread-primary .timeline-kicker{color:#bda776}
.timeline-project-link{border-top-color:#d5b46ca6;filter:drop-shadow(0 0 2px #c19b5780)}
.timeline-project-link.is-predecessor:after,.timeline-project-link.is-successor:after{border-color:#e0c684}
.timeline-project-link.is-parallel{border-top-color:#cbb377b8;filter:drop-shadow(0 0 2px #b4945880)}
.timeline-thread-overlay.is-persistent .timeline-project-link{opacity:.42}
.timeline-thread-overlay.is-persistent .timeline-project-link.is-parallel{opacity:.36}
.has-thread-focus .timeline-thread-overlay.is-persistent .timeline-project-link{opacity:.24}
.timeline-project-label{top:0;bottom:auto;left:0;right:0;box-sizing:border-box;height:100%;padding:0 3px 0 8px;line-height:26px}
.timeline-project.is-year-start .timeline-project-label{padding-left:18px}

/* Canonical Work views: each filled span is the union of contributing Project intervals. */
.timeline-work-row{display:grid;grid-template-columns:var(--timeline-label-width,260px) minmax(0,1fr);min-height:41px;border-bottom:1px solid #183342;background:#09202d}
.timeline-work-row:nth-child(even){background:#0b2532}
.timeline-work-name{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:5px 12px;color:#dfedf3;text-decoration:none}
.timeline-work-name strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}
.timeline-work-name small{color:#8cabb9;font-size:10px}
.timeline-work-row .timeline-track{position:relative;height:40px}
.timeline-work-segment{position:absolute;top:11px;height:18px;min-width:4px;border:1px solid color-mix(in srgb,var(--work-color) 74%,white);border-radius:3px;background:linear-gradient(180deg,color-mix(in srgb,var(--work-color) 86%,white),color-mix(in srgb,var(--work-color) 78%,#071827));box-shadow:0 1px 5px #0008;z-index:2}
.timeline-work-segment:hover,.timeline-work-segment:focus-visible{outline:2px solid #c8f4f7;outline-offset:2px}
.timeline-work-row.is-selected{background:#24343a}
.timeline-work-row.is-selected .timeline-work-name strong{color:#ffe6a6}
.timeline-work-row.is-selected .timeline-work-segment{border-color:#ffe09a;background:linear-gradient(180deg,color-mix(in srgb,var(--work-color) 88%,white),var(--work-color));box-shadow:0 0 0 2px #e5bb6270,0 0 16px #e4ae4770}
.timeline-work-row.is-subdued{opacity:.28}
.timeline-work-row.is-subdued:hover,.timeline-work-row.is-subdued:focus-within{opacity:.8}
.timeline-work-family-header{padding:10px 12px 5px;border-bottom:1px solid color-mix(in srgb,var(--family-color) 50%,#345267);background:#112d3d;color:var(--family-color);font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.timeline-work-detail{width:300px;max-width:35vw;padding:20px 16px;border-left:1px solid #315065;background:#0b1d29;color:#dcecf3}
.timeline-work-detail h2{margin:0 0 8px;font-size:18px}
.timeline-work-detail p{font-size:12px;color:#a9c2cf}
.timeline-work-projects{display:grid;gap:3px;max-height:70vh;overflow:auto}
.timeline-work-projects a{display:flex;flex-direction:column;padding:7px;border:1px solid #29495a;border-radius:3px;color:#e0edf3;text-decoration:none;font-size:11px}
.timeline-work-projects a:hover,.timeline-work-projects a:focus-visible{border-color:#99cedb;background:#193748}
.timeline-work-projects small{color:#98adba}
@media(max-width:800px){.timeline-work-detail{width:230px;max-width:35vw}.timeline-work-row{grid-template-columns:150px minmax(0,1fr)}}
.timeline-work-shell .timeline-axis{grid-template-columns:var(--timeline-label-width,260px) minmax(0,1fr)}
@media(max-width:900px){.timeline-work-detail{width:auto;max-width:none;border-left:0;border-top:1px solid #315065}}
@media(max-width:800px){.timeline-work-shell .timeline-axis{grid-template-columns:150px minmax(0,1fr)}}

/* Semantic Work-level selector, independent of the arrangement lens. */
.timeline-toolbar .timeline-work-view>span{color:#e7cb83}.timeline-toolbar .timeline-work-view select{min-width:152px;border-color:#8a7347;background:linear-gradient(180deg,#203346,#12283a);color:#f4e8c8;font-weight:650}.timeline-toolbar .timeline-group-label>span{color:#9db8cb}

.timeline-toolbar .timeline-work-view{flex:0 0 390px;width:390px;max-width:100%}.timeline-toolbar .timeline-work-view>nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;width:100%;min-width:0}.timeline-toolbar .timeline-work-view>nav a{min-width:0;text-align:center;padding:8px 10px;border:1px solid #53687a;background:#0a253a;color:#c5d5df;font-size:11px;font-weight:650;text-decoration:none;white-space:nowrap}.timeline-toolbar .timeline-work-view>nav a:first-child{border-radius:4px 0 0 4px}.timeline-toolbar .timeline-work-view>nav a:last-child{border-radius:0 4px 4px 0}.timeline-toolbar .timeline-work-view>nav a+a{border-left:0}.timeline-toolbar .timeline-work-view>nav a[aria-current=page]{position:relative;border-color:#d4b46d;background:linear-gradient(180deg,#45391f,#30291d);color:#fff0c4;box-shadow:inset 0 0 0 1px #d4b46d44}.timeline-toolbar .timeline-work-view>nav a:hover{color:#fff;border-color:#d4b46d}

/* Keep controls and dossier stationary while the chart rows scroll. */
.timeline-shell{height:calc(100dvh - 180px);min-height:560px}
.timeline-main{display:flex;flex-direction:column;min-height:0}
.timeline-lanes{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior-y:contain}
.timeline-dossier,.timeline-work-detail{position:relative;top:auto;align-self:stretch;height:100%;min-height:0;max-height:none;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:none;-ms-overflow-style:none}
.timeline-dossier::-webkit-scrollbar,.timeline-work-detail::-webkit-scrollbar{display:none;width:0;height:0}
.timeline-work-projects{max-height:none;overflow:visible}
@media(max-width:900px){.timeline-shell{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,70%) minmax(0,30%);height:max(1000px,calc(100dvh - 170px));min-height:0}.timeline-work-detail{width:auto;max-width:none;border-left:0;border-top:1px solid #315065}}
@media(max-width:520px){.timeline-shell{grid-template-rows:minmax(0,75%) minmax(0,25%);height:max(1120px,calc(100dvh - 170px))}}

/* The full chart belongs to document scrolling; only the inspection panel scrolls. */
.timeline-shell{height:auto;min-height:calc(100vh - 180px);align-items:start}
.timeline-main{display:block;min-height:0}
.timeline-lanes{min-height:0;overflow:visible;overscroll-behavior-y:auto}
.timeline-dossier,.timeline-work-detail{position:sticky;top:12px;align-self:start;height:auto;min-height:0;max-height:calc(100dvh - 24px);overflow-y:auto;scrollbar-width:thin}
.timeline-dossier::-webkit-scrollbar,.timeline-work-detail::-webkit-scrollbar{display:initial;width:6px}
.timeline-clear-filters{align-self:end;display:inline-flex;align-items:center;min-height:29px;padding:4px 8px;border:1px solid #637887;border-radius:4px;color:#d6e4eb;font-size:10px;white-space:nowrap}
.timeline-clear-filters:hover,.timeline-clear-filters:focus-visible{border-color:#deb968;color:#ffe8b0}
@media(max-width:900px){.timeline-shell{display:block;height:auto;min-height:0}.timeline-dossier,.timeline-work-detail{position:relative;top:auto;max-height:none;overflow:visible}.timeline-work-detail{width:auto;max-width:none}}
