:root{--bg: #0A0C0F;--header: #050608;--panel: #12161B;--card: #0B0D10;--text: #ECEAE4;--muted: #A9AEB5;--dim: #6E7680;--line: #1F242B;--line2: #2C3138;--accent: #6CC3F7;--cond: "IBM Plex Sans Condensed", sans-serif;--sans: "IBM Plex Sans", sans-serif;--mono: "IBM Plex Mono", monospace;--serif: "IBM Plex Serif", serif}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans)}a{color:var(--text);text-decoration:none}a:hover{color:var(--accent)}input::placeholder{color:var(--dim);opacity:1}button{font-family:var(--sans)}.wrap{max-width:1200px;margin:0 auto;padding-left:24px;padding-right:24px}.label{font-family:var(--mono);font-size:12px;letter-spacing:.08em;color:var(--muted);text-transform:uppercase}.label-sm{font-family:var(--mono);font-size:11px;letter-spacing:.08em;color:var(--muted);text-transform:uppercase}.h1{margin:0;font-family:var(--cond);font-weight:700;line-height:1.02}.muted{color:var(--muted)}.dim{color:var(--dim)}.mono{font-family:var(--mono)}.accent{color:var(--accent)}.sr{position:absolute;left:-9999px}.nm:hover .nn,.nm:hover.nn{color:var(--accent)!important}.site-header{background:var(--header);border-bottom:1px solid var(--line)}.site-header .bar{display:flex;flex-wrap:wrap;align-items:center;gap:12px 40px;padding-top:12px;padding-bottom:12px}.logo{display:flex;align-items:center;gap:10px}.logo-mark{display:flex}.nav{display:flex;flex-wrap:wrap;gap:4px 28px}.nav a{padding:8px 0;font-size:15px;font-weight:500;color:var(--muted);border-bottom:2px solid transparent}.nav a.on{color:var(--accent);border-bottom-color:var(--accent)}.nav a:hover{color:var(--accent)}.hdr-right{margin-left:auto;display:flex;align-items:center;gap:10px}.icon-btn{width:40px;height:40px;border-radius:20px;display:flex;align-items:center;justify-content:center;color:var(--text)}.btn{height:40px;padding:0 18px;border-radius:20px;background:var(--accent);color:#050608;display:inline-flex;align-items:center;font-weight:600;font-size:14px;border:0;cursor:pointer}.btn:hover{color:#050608;filter:brightness(1.08)}.site-footer{border-top:1px solid var(--line)}.site-footer .bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 28px;padding-top:22px;padding-bottom:26px;font-size:14px}.site-footer a{color:var(--muted)}.site-footer a:hover{color:var(--accent)}.search{position:relative;display:flex;align-items:center;width:100%}.search svg{position:absolute;left:16px}.search input{width:100%;height:48px;padding:0 18px 0 48px;border-radius:24px;border:1px solid var(--line2);background:var(--panel);color:var(--text);font:400 15px var(--sans)}.pill-input{height:46px;padding:0 18px;border-radius:23px;border:1px solid var(--line2);background:var(--panel);color:var(--text);font:400 15px var(--sans)}.av{border-radius:999px;background:#1c2128;display:flex;align-items:center;justify-content:center;font-family:var(--cond);font-weight:600;flex-shrink:0;overflow:hidden}.av img{width:100%;height:100%;object-fit:cover}.av.ring{box-shadow:0 0 0 2px var(--accent)}.codot{display:flex;justify-content:center;width:48px;flex-shrink:0}.codot span{display:block;border-radius:999px;background:var(--accent);opacity:.88}.seg{display:flex;gap:2px;padding:3px;border-radius:20px;background:var(--panel);border:1px solid var(--line2)}.seg button,.seg a{padding:7px 16px;border-radius:16px;font-size:13px;font-weight:600;color:var(--muted);background:transparent;border:0;cursor:pointer}.seg .on{background:var(--text);color:#050608}.seg button:not(.on):hover{color:var(--accent)}.today-btn{height:34px;padding:0 14px;border-radius:18px;border:1px solid var(--accent);color:var(--accent);background:transparent;font-size:13px;font-weight:600;cursor:pointer;display:none}.today-btn.show{display:inline-flex;align-items:center}.map{position:relative;height:600px;background:#050608;overflow:hidden;border-bottom:1px solid var(--line);touch-action:none;cursor:grab;user-select:none}.map.dragging{cursor:grabbing}.map svg.land{position:absolute;inset:0;width:100%;height:100%}.map svg.land path{fill:#14181d;stroke:#2f5e80;stroke-width:1.2px;vector-effect:non-scaling-stroke}.map .place{position:absolute;font-family:var(--mono);font-size:10px;letter-spacing:.16em;color:#3c444e;pointer-events:none;white-space:nowrap;transform:translate(-50%,-50%)}.pin{position:absolute;z-index:2}.pin:hover,.pin.hov{z-index:6}.pin>a{display:flex;align-items:center;gap:8px}.pin .dot{display:block;border-radius:999px;background:var(--accent);opacity:.88;border:1px solid #050608;flex-shrink:0}.pin:hover .dot,.pin.hov .dot{background:#9ad8ff;opacity:1;border:3px solid #FFFFFF}.pin .pname{font-family:var(--mono);font-size:11px;letter-spacing:.04em;color:#9aa1a9;white-space:nowrap;text-transform:uppercase}.pin:hover .pname,.pin.hov .pname{color:#fff}.pop{display:none;position:absolute;bottom:100%;padding-bottom:12px;left:-14px;z-index:6;cursor:default}.pin.below .pop{bottom:auto;top:100%;padding-bottom:0;padding-top:12px}.pin.flip .pop{left:auto;right:-14px}.pin:hover .pop,.pin.hov .pop{display:block}.pop .card{position:relative;width:320px;padding:16px 18px 12px;border-radius:14px;background:var(--card);border:1px solid var(--line2);display:flex;flex-direction:column;gap:10px}.pop .arrow{position:absolute;bottom:-7px;width:12px;height:12px;background:var(--card);border-right:1px solid var(--line2);border-bottom:1px solid var(--line2);transform:rotate(45deg)}.pin.below .pop .arrow{bottom:auto;top:-7px;border:0;border-left:1px solid var(--line2);border-top:1px solid var(--line2)}.pop .cn{display:block;font-family:var(--cond);font-weight:700;font-size:22px;line-height:1.05;color:var(--text)}.pop .sub{display:block;font-size:13px;color:var(--muted);margin-top:4px}.pop .plist a{display:flex;justify-content:space-between;align-items:baseline;gap:16px;padding:7px 0;border-top:1px solid var(--line)}.pop .plist .pn{font-size:14px;font-weight:600;color:var(--text)}.pop a:hover .pn,.pop a:hover .cn{color:var(--accent)}.pop .phead{display:flex;justify-content:space-between;font-family:var(--mono);font-size:10px;letter-spacing:.08em;color:var(--dim);text-transform:uppercase;padding-bottom:4px}.pop .person{display:flex;align-items:center;gap:10px;padding:6px 0}.map .legend{position:absolute;left:24px;bottom:22px;display:flex;align-items:center;gap:10px;font-size:13px;color:var(--muted);pointer-events:none}.map .legend span.c{display:block;border-radius:999px;background:var(--accent);opacity:.88}.map .zoom{position:absolute;right:24px;bottom:22px;display:flex;flex-direction:column;z-index:7}.map .zoom button{width:40px;height:40px;font-size:20px;color:var(--text);background:#12161bf2;border:1px solid var(--line2);cursor:pointer}.map .zoom button:first-child{border-radius:12px 12px 0 0}.map .zoom button:last-child{border-top:0;border-radius:0 0 12px 12px}.map .zoom button:hover{color:var(--accent)}.map .msearch{position:absolute;right:24px;top:24px;width:380px;max-width:calc(100% - 48px);z-index:7}.map .msearch input{background:#12161bf2}.lhead{display:grid;align-items:end}.lhead .title{display:flex;align-items:baseline;gap:14px}.lhead .count{font-family:var(--mono);font-size:13px;color:var(--accent)}.lhead .note{font-size:14px;color:var(--muted);margin-top:8px}.ctrls{align-self:end;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:12px}.ctrls .zoomseg{justify-self:end;display:flex;gap:10px}.colhead{font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.ruler{position:relative;height:46px;cursor:grab;touch-action:none;font-family:var(--mono);font-size:12px;letter-spacing:.04em}.ruler.dragging{cursor:grabbing}.ruler .bar{position:absolute;left:0;right:0;top:0;height:28px;border-radius:14px;background:var(--panel);border:1px solid var(--line)}.ruler .chev{position:absolute;top:6px;color:#3a414b;font-size:12px}.ruler .ticks{position:absolute;left:30px;right:30px;top:0;height:46px}.ruler .tick{position:absolute;top:7px;transform:translate(-50%);color:var(--dim);white-space:nowrap}.ruler .today{position:absolute;top:30px;transform:translate(-50%);color:var(--accent)}.steps-view .ruler-row,.steps-view .zoomseg{display:none!important}.track{position:relative;display:block;height:14px;margin:0 7px}.timeline-view .track{margin:0 30px}.track .base,.track .fill{position:absolute;top:6px;height:2px}.track .base{background:var(--line2)}.track .fill{background:var(--accent)}.track .now{position:absolute;top:-12px;height:38px;width:1px;background:#6cc3f759;display:none}.timeline-view .track .now.in{display:block}.track .edge{position:absolute;top:-3px;padding:1px 4px;border-radius:6px;font-family:var(--mono);font-size:11px;color:var(--muted);white-space:nowrap;cursor:pointer;display:none}.timeline-view .track .edge.has{display:block}.track .edge.l{left:-28px}.track .edge.r{right:-28px}.track .edge:hover{color:var(--accent);background:var(--panel)}.tk{position:absolute;top:0;width:22px;height:14px;margin-left:-11px;display:flex;justify-content:center;align-items:center;z-index:2}.tk.out{display:none}.tk .d{display:block;border-radius:999px;transition:transform .12s}.tk .d.done{width:10px;height:10px;background:var(--accent)}.tk .d.cur{width:14px;height:14px;background:var(--bg);border:3px solid #FFFFFF}.tk .d.fut{width:8px;height:8px;background:var(--bg);border:2px solid #3A414B}.tk.cur{z-index:3}.tk:hover .d,.tk.on .d{transform:scale(1.35)}.tk .tip{display:none;position:absolute;top:24px;left:50%;transform:translate(-50%);z-index:10;padding:6px 9px;border-radius:8px;background:#050608;border:1px solid var(--line2);text-align:center;white-space:nowrap;pointer-events:none}.tk.cur .tip{border-color:#4a5562}.tk:hover .tip,.tk.on .tip{display:block}.tk .tip:before{content:"";position:absolute;top:-5px;left:50%;width:8px;height:8px;margin-left:-5px;background:#050608;border-left:1px solid var(--line2);border-top:1px solid var(--line2);transform:rotate(45deg)}.tk.cur .tip:before{border-color:#4a5562}.tk .tip b{display:block;font-size:11px;line-height:1.3;font-weight:500;color:#c4c8ce}.tk.cur .tip b{font-weight:600;color:#fff}.tk.fut .tip b{color:var(--dim)}.tk .tip i{display:block;margin-top:2px;font-style:normal;font-family:var(--mono);font-size:10px;color:var(--dim)}.tk.cur .tip i{color:var(--accent)}.ltrack{position:relative}.ltrack .base,.ltrack .fill{position:absolute;top:8px;height:2px}.ltrack .base{background:var(--line2)}.ltrack .fill{background:var(--accent)}.ltrack .cols{position:relative;display:grid;gap:4px}.ltrack .col{display:flex;flex-direction:column;align-items:center;min-width:0;text-align:center}.ltrack .dw{height:18px;display:flex;align-items:center}.ltrack .d{display:block;border-radius:999px}.ltrack .d.done{width:14px;height:14px;background:var(--accent)}.ltrack .d.cur{width:18px;height:18px;background:var(--bg);border:3px solid #FFFFFF}.ltrack .d.fut{width:12px;height:12px;background:var(--bg);border:2px solid #3A414B}.ltrack .n{display:block;margin-top:10px;font-size:14px;line-height:1.3;font-weight:500;color:#c4c8ce}.ltrack .cur .n{font-weight:600;color:#fff}.ltrack .fut .n{color:var(--dim)}.ltrack .t{display:block;margin-top:3px;font-family:var(--mono);font-size:11px;color:var(--dim)}.ltrack .cur .t{color:var(--accent)}.tree{overflow-x:auto}.tree .inner{min-width:860px}.tn{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:4px}.tn .nm2{display:block;font-weight:600;font-size:14px}.tn.top .nm2{font-size:16px}.tn .role{display:block;font-size:12px;color:var(--muted);margin-top:2px}.tn:hover .av,.tn.hov .av{box-shadow:0 0 0 2px var(--accent)}.tn:hover .nm2,.tn.hov .nm2,.tn.me .nm2{color:var(--accent)}.vl{width:2px;background:var(--line2);margin:0 auto}.row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;border-bottom:1px solid var(--line)}.scrolly{overflow-y:auto;padding-right:10px;scrollbar-width:thin;scrollbar-color:var(--line2) transparent}.scrolly::-webkit-scrollbar{width:6px}.scrolly::-webkit-scrollbar-thumb{background:var(--line2);border-radius:3px}.fade{position:absolute;left:0;right:10px;bottom:0;height:48px;background:linear-gradient(to bottom,rgba(10,12,15,0),var(--bg));pointer-events:none}.media{border-radius:14px;background:var(--panel);position:relative;display:flex;align-items:center;justify-content:center}.media .cap{position:absolute;left:16px;top:14px;font-family:var(--mono);font-size:12px;color:var(--dim)}.media .play{border-radius:999px;border:1px solid var(--text);display:flex;align-items:center;justify-content:center}[hidden]{display:none!important}@media(max-width:760px){.map{height:460px}.ctrls{grid-template-columns:1fr;justify-items:start}.ctrls .zoomseg{justify-self:start}}.tl-name{padding-left:30px}.steps-view .tl-name{padding-left:7px}
