:root{color-scheme:light;--bg:#FAFAF7;--text:#263442;--muted:#869098;--master:#149E93;--master-bg:#E0F3EC;--doctor:#796AE0;--doctor-bg:#ECE9FA;--border:#34435A14;--ease:cubic-bezier(.22,1,.36,1)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.55 -apple-system,BlinkMacSystemFont,'PingFang SC','Microsoft YaHei',sans-serif;overflow:hidden}button,input{font:inherit}button{color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible{outline:2px solid var(--master);outline-offset:4px}button{transition:color .25s,background .25s,transform .35s var(--ease)}button:active{transform:scale(.95)}[hidden]{display:none!important}.ambient{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:-1;background:#FAFAF7}.ambient i{position:absolute;width:62vw;height:65vh;filter:blur(75px);border-radius:50%;opacity:.46;animation:drift 23s ease-in-out infinite alternate;will-change:transform}.ambient i:nth-child(1){background:radial-gradient(ellipse,#DBF0E9,transparent 67%);top:5%;left:-15%}.ambient i:nth-child(2){background:radial-gradient(ellipse,#E4E0FA,transparent 64%);right:-14%;top:17%;animation-delay:-9s}.ambient i:nth-child(3){background:radial-gradient(ellipse,#F9EDE0,transparent 65%);bottom:-35%;left:24%;animation-delay:-17s}header{position:relative;z-index:5;height:114px;padding:30px 42px;display:flex;align-items:center;justify-content:space-between}.brand p{font-size:10px;letter-spacing:3px;color:#929AA2;margin:0 0 5px}.brand h1{font:500 29px/1.2 -apple-system,'PingFang SC',sans-serif;letter-spacing:4px;margin:0}.brand h1 span{font-size:13px;color:#8A929B;font-weight:400;letter-spacing:1px;margin-left:22px}.header-tools{display:flex;align-items:center;gap:24px}.search-wrap{position:relative}.search-icon{position:absolute;left:15px;top:4px;font-size:25px;color:#8C99A4}.search-wrap input{width:225px;border:1px solid #65768814;border-radius:30px;background:#FFFFFF82;padding:10px 17px 10px 42px;font-size:14px;color:var(--text);box-shadow:0 2px 7px #3B466403;transition:width .4s var(--ease),box-shadow .3s}.search-wrap input:focus{width:265px;box-shadow:0 4px 20px #6A7B8210}.search-wrap input::placeholder{color:#A3A9AF}.plain{background:none;border:0;font-size:13px;color:#87909A;padding:8px 0}.plain:hover{color:var(--text)}#results{position:absolute;top:52px;width:100%;max-height:350px;overflow:auto;background:#FFFFFFF5;backdrop-filter:blur(18px);box-shadow:0 16px 50px #50617918;border:1px solid #FFFFFF;border-radius:18px;padding:7px;z-index:15}#results button{width:100%;border:0;background:none;border-radius:12px;text-align:left;padding:11px 12px;font-size:15px}#results button:hover{background:#F1F4F6}#results small{display:block;color:#929AA4;font-size:12px;margin-top:3px}#results p{font-size:14px;padding:10px}main{position:relative;height:calc(100dvh - 114px)}.toolbar{position:absolute;left:164px;right:40px;top:5px;z-index:3;display:flex;gap:16px;justify-content:space-between;align-items:center}.toolbar-right{display:flex;gap:18px;align-items:center}.tabs{position:relative;display:flex;align-items:center;padding:5px;border:1px solid #FFFFFFC9;border-radius:30px;background:#E9EEF252;box-shadow:inset 0 1px 0 #FFFFFF99;isolation:isolate;backdrop-filter:blur(16px)}.tab-indicator{position:absolute;left:5px;top:5px;bottom:5px;background:#FFF;box-shadow:0 2px 7px #45627E0D;border:1px solid #EEEFF1;border-radius:24px;z-index:-1;transition:transform .5s var(--ease),width .5s var(--ease);pointer-events:none}.tabs button{padding:8px 17px;border:0;background:none;border-radius:24px;font-size:14px;white-space:nowrap;color:#8A939B}.tabs button.active{color:#344655}.degrees button{padding:8px 14px}.degrees button[data-degree=master].active{color:var(--master)}.degrees button[data-degree=doctor].active{color:var(--doctor)}.outline{border:0;background:none;font-size:13px;padding:10px 0;color:#6D7B88;white-space:nowrap}.outline:hover{color:var(--master)}.generations{position:absolute;top:120px;left:40px;width:105px;z-index:2}.rail-title{font-size:9px;letter-spacing:2px;color:#A9B0B5;display:block;margin-bottom:25px}.generations button{display:flex;gap:12px;border:0;background:none;text-align:left;align-items:center;padding:0;color:#ADB4BA;transition:color .4s,transform .4s var(--ease)}.generations button:hover{transform:translateX(3px)}.generations button.active{color:#4C686D}.generations b{font-size:20px;font-weight:300;font-variant-numeric:tabular-nums;letter-spacing:-1px}.generations span{font-size:12px}.generations small{display:block;font-size:10px;color:#ABB1B6;margin-top:2px}.generations i{display:block;height:57px;border-left:1px solid #CCD5D94D;margin:14px 0 14px 12px}.generations i.pending{border-left-style:dashed}.graph-stage{position:absolute;inset:75px 28px 135px 150px;overflow:hidden;touch-action:none;cursor:grab}.graph-stage.dragging{cursor:grabbing}#graph{width:100%;height:100%;display:block;user-select:none;overflow:visible}.connection{transition:opacity .45s}.edge{fill:none;stroke:#94B2B9;stroke-width:1;opacity:.29;vector-effect:non-scaling-stroke}.edge.doctor{stroke:#ADA3D3}.edge.uncertain{stroke:#AAA7B5;stroke-dasharray:3 6;opacity:.48}.beam{fill:none;stroke:var(--master);stroke-linecap:round;stroke-width:2.3;stroke-dasharray:45 955;animation:flow var(--duration,5s) linear infinite;animation-delay:var(--delay,0s);vector-effect:non-scaling-stroke;opacity:.68}.beam.doctor{stroke:var(--doctor)}.beam-soft{stroke-width:6;opacity:.1;filter:url(#beam-glow)}.connection.focused .edge{stroke-width:1.8;opacity:.57}.connection.focused .beam{opacity:1;stroke-width:2.9}.connection.muted{opacity:.06}.node{cursor:pointer;outline:none;transition:opacity .45s}.node .orb{fill:url(#orb-fill);stroke:url(#orb-rim);stroke-width:1.3;filter:url(#orb-shadow);transition:stroke .3s}.node .orb-visual{transform-box:fill-box;transform-origin:center;transition:transform .65s cubic-bezier(.2,1.7,.35,1)}.node:hover .orb-visual,.node:focus-visible .orb-visual{transform:scale(1.11)}.node.selected .orb{stroke:#899CCF;stroke-width:1.8}.node .orbit{fill:none;stroke:#A8B8CF;stroke-width:.75;opacity:.33;transform-box:fill-box;transform-origin:center}.node .orbit-accent{fill:none;stroke:#77B9B2;stroke-width:1.3;stroke-dasharray:24 180;opacity:.5;transform-box:fill-box;transform-origin:center;animation:orbit 22s linear infinite}.node.related .orbit-accent{stroke:#8C9CC4}.node.selected .orbit-accent{stroke:var(--doctor);stroke-dasharray:40 160;opacity:.8}.node text{pointer-events:none;fill:var(--text)}.node .initial{font-size:20px;font-weight:400;fill:#6B8492}.node.root .initial,.node.related .initial{font-size:27px;fill:#455B6A;font-weight:400}.node .name{font-size:22px;font-weight:500;letter-spacing:.5px;paint-order:stroke;stroke:#FAFAF7;stroke-opacity:.85;stroke-width:4;stroke-linejoin:round}.node .role-label{font-size:13px;fill:#A1A9AE;letter-spacing:2px}.node .stage-label{font-size:13px;letter-spacing:1px;fill:#86969E}.node .stage-master{fill:var(--master)}.node .stage-doctor{fill:var(--doctor)}.node .uncertain-dot{fill:#B4A3A2}.node.muted{opacity:.16}.node.hovered .name{fill:var(--master)}.node-reveal{animation:node-reveal .8s var(--ease) backwards;animation-delay:var(--reveal-delay,0s);transform-box:fill-box;transform-origin:center}.edge-label{pointer-events:none;animation:label-in .4s var(--ease)}.edge-label rect{fill:#FFFFFFEF;stroke:#D6DEEA;stroke-width:.7}.edge-label text{font-size:13px;fill:#687C89}.canvas-note{position:absolute;left:170px;right:42px;top:62px;display:flex;justify-content:space-between;pointer-events:none;font-size:11px;letter-spacing:.3px;color:#9BA5AC}.gesture-hint{color:#ABB3B9}.legend{position:absolute;left:170px;bottom:114px;display:flex;gap:22px;font-size:12px;color:#929EA5}.legend span:before{content:'';display:inline-block;border-radius:50%;width:6px;height:6px;margin-right:7px;background:var(--master);vertical-align:middle}.legend .doctor:before{background:var(--doctor)}.legend .uncertain:before{border:1px solid #A4A4B0;background:none}.map-controls{position:absolute;right:42px;bottom:107px;display:flex;gap:2px;background:#FFFFFF99;border:1px solid #FFFFFFE5;border-radius:22px;padding:4px;box-shadow:0 5px 18px #5973820A;backdrop-filter:blur(15px)}.map-controls button{background:none;border:0;border-radius:50%;width:33px;height:33px;font-size:19px;color:#85959E}.map-controls button:hover{background:#EDF3F5;color:#526E7C}.map-controls button[aria-pressed=true]{background:#EEEAFB;color:var(--doctor)}footer{position:absolute;bottom:23px;left:164px;right:40px;display:flex;align-items:center;gap:24px;border:1px solid #FFFFFF;border-radius:27px;background:#FFFFFF99;box-shadow:0 14px 44px #5773820B,inset 0 1px 0 #FFFFFF;backdrop-filter:blur(22px);padding:14px 22px}#play{background:#DFEEE9;border:0;color:#48867A;border-radius:20px;padding:12px 19px;font-size:13px;white-space:nowrap;box-shadow:inset 0 1px 0 #FFF8;transition:transform .45s cubic-bezier(.2,1.7,.35,1),background .3s}#play:hover{transform:translateY(-2px);background:#D5EAE4}#play-icon{display:inline-block;font-size:12px;margin-right:5px}.timeline{flex:1;min-width:70px}.timeline>div{display:flex;align-items:center;gap:12px;font-size:11px;color:#A0ABB2}.timeline strong{font-weight:500;color:#647984;transition:color .3s}.timeline small{margin-left:auto;font-size:11px}.timeline input{appearance:none;width:100%;height:3px;background:linear-gradient(to right,#6EABA0 var(--progress,100%),#DAE2E3 var(--progress,100%));border-radius:3px;margin:10px 0 7px;cursor:pointer;display:block}.timeline input::-webkit-slider-thumb{appearance:none;width:12px;height:12px;border:3px solid #FFF;border-radius:50%;background:#7EAFA6;box-shadow:0 1px 6px #5A9F9438;transition:transform .25s}.timeline input:hover::-webkit-slider-thumb{transform:scale(1.3)}.timeline .ticks{justify-content:space-between;font-size:10px;color:#ABB4BA}.stats{display:grid;grid-template-columns:auto auto;gap:0 7px;align-items:center;white-space:nowrap}.stats b{font-size:17px;color:#798B94;font-weight:300}.stats span{font-size:10px;color:#A5AFB5}#panel{position:absolute;right:30px;top:79px;bottom:146px;width:308px;background:#FFFFFFCF;backdrop-filter:blur(28px);border:1px solid #FFF;border-radius:25px;box-shadow:0 16px 55px #566F8912;z-index:5;overflow:auto;padding:25px;animation:sheet-in .65s var(--ease)}.panel-heading{position:sticky;top:-25px;background:#FCFDFCEA;backdrop-filter:blur(20px);z-index:2;padding:22px 0 1px;margin-top:-22px}.close{position:absolute;right:12px;top:12px;background:#EEF1F38C;border:0;border-radius:50%;width:28px;height:28px;font-size:20px;color:#95A1AA;display:grid;place-items:center}.panel-heading .close{right:-9px;top:12px}#panel h2{font-size:28px;font-weight:500;margin:0 0 11px;letter-spacing:2px}.eyebrow{font-size:10px;color:#A2ADB3;letter-spacing:2px;margin:0 0 13px}.panel-summary{font-size:12px;color:#9DA8AE;line-height:1.8;margin:0 0 16px}#panel h3{font-size:13px;font-weight:500;color:#7C8F98;letter-spacing:1px;margin:23px 0 19px}.record{position:relative;border-left:1px solid #DDE7E9;padding:0 0 22px 17px;margin-left:4px;animation:record-in .5s var(--ease) both;animation-delay:calc(var(--i,0)*.1s)}.record:before{content:'';position:absolute;left:-4px;top:7px;border-radius:50%;width:7px;height:7px;background:var(--master);box-shadow:0 0 0 4px #149E9310}.record.doctor:before{background:var(--doctor);box-shadow:0 0 0 4px #796AE010}.record:last-child{padding-bottom:4px}.record-year{font-size:19px;font-weight:400;color:#4C6471;letter-spacing:.5px}.record .stage-title{font-size:13px;margin-top:4px;color:#929FA7}.record .mentor{font-size:14px;margin:8px 0;color:#607684}.record p{font-size:12px;color:#9AA6AD;line-height:1.9;margin:5px 0}.record details{font-size:11px;color:#ABB3B9;line-height:1.8;margin-top:8px;overflow-wrap:anywhere}.record summary{cursor:pointer;color:#8D9BA6}.record.uncertain{border-left-style:dashed}.chip{display:inline-block;font-size:11px;line-height:1.7;padding:1px 7px;border-radius:6px;margin-left:6px;vertical-align:middle}.chip.master{background:var(--master-bg);color:var(--master)}.chip.doctor{background:var(--doctor-bg);color:var(--doctor)}.warning{color:#9D8B6F!important;background:#F7F2E9;border-radius:8px;padding:6px 9px}.panel-action{width:100%;border:0;background:#E5F0EE;color:#5C8C85;border-radius:12px;padding:11px;font-size:13px;margin-top:9px}.panel-action.alt{background:#F1F3F6;color:#83949F}.panel-foot{font-size:11px;color:#A5AFB6;border-top:1px solid #EDF1F3;padding-top:15px;margin-top:23px;line-height:1.9}.notice{position:absolute;left:53%;top:45%;transform:translate(-50%,-50%);width:min(470px,65%);background:#FFFFFFDC;backdrop-filter:blur(20px);border:1px solid #FFF;border-radius:24px;padding:26px;z-index:4;font-size:15px;box-shadow:0 20px 60px #546F8610;animation:label-in .5s var(--ease)}.notice b{font-weight:500;color:#718492}.notice p{color:#97A3AD;font-size:14px;line-height:1.9;margin:10px 0 0}.notice button{border:0;background:#E7EEEF;border-radius:12px;padding:9px 14px;margin-top:15px;font-size:13px}dialog{position:relative;width:min(570px,90vw);max-height:85dvh;overflow:auto;background:#FCFCF9EE;backdrop-filter:blur(25px);color:var(--text);border:1px solid #FFF;border-radius:28px;padding:36px;box-shadow:0 20px 90px #52617A15}dialog::backdrop{background:#8797A038;backdrop-filter:blur(8px)}dialog h2{font-size:28px;font-weight:400;line-height:1.6}dialog p{font-size:14px;line-height:1.95;color:#8696A0}dialog a{font-size:13px;color:var(--master)}.no-motion *{animation:none!important;transition:none!important}.no-motion .beam{display:none}.no-motion .orbit-accent{stroke-dasharray:none;opacity:.3}@keyframes flow{from{stroke-dashoffset:1000}to{stroke-dashoffset:0}}@keyframes orbit{to{transform:rotate(360deg)}}@keyframes drift{from{transform:translate(-3%,0) scale(1)}to{transform:translate(5%,-4%) scale(1.09)}}@keyframes node-reveal{from{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}@keyframes sheet-in{from{opacity:0;transform:translateX(28px) scale(.96)}to{opacity:1;transform:translateX(0) scale(1)}}@keyframes record-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes label-in{from{opacity:0}to{opacity:1}}@media(min-width:901px){body.has-panel .graph-stage{right:355px}body.has-panel .canvas-note{right:357px}body.has-panel .gesture-hint{display:none}}@media(max-width:1150px){.stats{display:none}.toolbar{gap:8px}.toolbar-right{gap:12px}.tabs button{padding:7px 12px}.timeline small{display:none}.gesture-hint{display:none}}@media(max-width:900px){header{height:93px;padding:22px 23px}.brand h1{font-size:27px}.brand h1 span{display:none}.brand p{font-size:9px;letter-spacing:2px}.search-wrap input{width:182px;font-size:13px}.search-wrap input:focus{width:196px}.header-tools{gap:14px}.plain{font-size:12px}main{height:calc(100dvh - 93px)}.toolbar{left:23px;right:23px;top:6px;gap:10px}.toolbar-right{gap:10px}.tabs button{font-size:13px;padding:7px 10px}.outline{font-size:12px}.generations{left:23px;top:123px;width:85px}.generations .rail-title{font-size:8px;letter-spacing:1px}.generations span{font-size:11px}.generations b{font-size:19px}.generations i{height:46px}.graph-stage{inset:95px 12px 146px 113px}.canvas-note{left:126px;top:76px;font-size:10px}.legend{left:125px;bottom:126px;gap:17px;font-size:11px}.map-controls{right:25px;bottom:124px}footer{left:24px;right:24px;bottom:23px;gap:18px;padding:15px 18px}.timeline .ticks{font-size:9px}#panel{top:auto;bottom:0;left:0;right:0;width:auto;height:47dvh;border-radius:28px 28px 0 0;padding:25px 27px;z-index:8;box-shadow:0 -10px 50px #54677A14}.panel-heading .close{right:0}.notice{width:calc(100% - 130px);left:calc(50% + 40px);padding:22px;font-size:14px}}@media(max-width:620px){header{height:90px;padding:21px 20px}.brand h1{font-size:25px}.brand p{font-size:8px;letter-spacing:1.7px}.search-wrap input{width:166px}.search-wrap input:focus{width:166px}.plain{max-width:47px;font-size:11px}.header-tools{gap:12px}main{height:calc(100dvh - 90px)}.toolbar{left:17px;right:17px;top:4px;flex-wrap:wrap;gap:10px}.tabs{padding:4px}.tabs button{padding:7px 14px;font-size:12px}.toolbar-right{width:100%;justify-content:space-between}.degrees button{padding:6px 15px}.outline{margin-right:7px}.generations{left:20px;top:151px;width:39px}.generations span,.generations .rail-title{display:none}.generations b{font-size:16px;font-weight:400;letter-spacing:0}.generations i{height:55px;margin:15px 0 15px 9px}.graph-stage{inset:136px 5px 159px 54px}.canvas-note{left:68px;top:117px;font-size:10px}.legend{left:68px;bottom:135px;font-size:10px;gap:15px}.legend span:before{width:5px;height:5px}.map-controls{right:17px;bottom:170px;padding:3px}.map-controls button{width:30px;height:30px;font-size:18px}footer{left:16px;right:16px;bottom:24px;padding:17px 15px;gap:14px;border-radius:25px}#play{font-size:11px;padding:13px 12px}.timeline>div{font-size:10px;gap:8px}.timeline .ticks{font-size:9px}.notice{width:calc(100% - 87px);left:calc(50% + 18px)}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.beam{display:none}}

.ambient{transform:translate(var(--dx,0px),var(--dy,0px));transition:transform 1.5s cubic-bezier(.2,.8,.2,1)}

.generation-guide{pointer-events:none}.generation-guide text{fill:#A2AFB5;font-size:12px;letter-spacing:1px}.generation-guide path{fill:none;stroke:#BCCAD5;stroke-width:1;stroke-dasharray:2 10;opacity:.26;vector-effect:non-scaling-stroke}.generations{bottom:146px}.generations button[data-gen="3"]{position:absolute;bottom:0}.generations i.pending{display:none}.generations i:not(.pending){height:108px}@media(max-width:620px){.generations button[data-gen="3"]{bottom:12px}.generations i:not(.pending){height:70px}}
@keyframes sheet-rise{from{opacity:0;transform:translateY(32px)}to{opacity:1;transform:translateY(0)}}@media(max-width:900px){#panel{animation:sheet-rise .6s var(--ease)}}html{overflow-x:hidden}

/* Cohort explorer: quiet at rest; motion only follows a deliberate interaction. */
.ambient{transform:none;transition:none;background:radial-gradient(ellipse at 12% 35%,#e9f4ed85,transparent 53%),radial-gradient(ellipse at 85% 48%,#eeeafa88,transparent 52%),#FAFAF7}.ambient i{display:none}.node .orbit-accent{animation:none}.node .orb{filter:none}.node .orb-visual{transition:transform .25s ease-out}.node:hover .orb-visual,.node:focus-visible .orb-visual,.node.cohort-match .orb-visual{transform:scale(1.06)}.node.cohort-match .orb{stroke:#8CAAA9;stroke-width:2}.node.cohort-match .name{fill:#314F58;font-weight:600}.node-reveal{animation:label-in .28s ease-out backwards;animation-delay:var(--reveal-delay,0s)}.node,.connection{transition:opacity .25s ease-out}.node.muted{opacity:.13}.connection.muted{opacity:.035}.beam{display:none;animation:none;stroke-width:1.7;stroke-dasharray:22 978}.connection.flowing .beam{display:block;animation:flow 9s linear infinite;animation-delay:var(--delay,0s);opacity:.55;stroke-width:1.7}.connection.focused .edge{opacity:.7;stroke-width:1.4}.connection.focused .edge.master{stroke:var(--master)}.connection.focused .edge.doctor{stroke:var(--doctor)}.connection.focused .edge.uncertain{stroke:#AAA7B5}.no-motion .connection.flowing .beam{display:none}.tab-indicator{transition:transform .25s var(--ease),width .25s var(--ease)}#panel{bottom:65px;animation-duration:.3s}.record{animation-duration:.25s;animation-delay:0s}
.toolbar{left:218px}.graph-stage{inset:86px 28px 64px 205px}.canvas-note{left:225px;top:66px}.legend{left:225px;bottom:25px}.map-controls{bottom:18px}.cohort-rail{position:absolute;left:38px;top:14px;bottom:23px;width:153px;display:flex;flex-direction:column;z-index:3}.cohort-heading>span{font-size:9px;letter-spacing:2.5px;color:#97A5AD}.cohort-heading h2{font-size:19px;font-weight:450;letter-spacing:1.5px;margin:6px 0}.cohort-heading p{font-size:10px;color:#8E9DA5;margin:0 0 17px}.cohort-all{border:1px solid transparent;border-radius:12px;padding:9px 12px;display:flex;justify-content:space-between;background:transparent;color:#8B999E;font-size:12px;text-align:left;margin-bottom:10px}.cohort-all.active{background:#fff9;border-color:#d9e7e5;color:#4F7974}.cohort-all span{color:#87A29E}#cohort-list{position:relative;flex:1;min-height:100px;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#D4DFDD transparent;padding:1px 6px 8px 0}.cohort-year{position:relative;width:100%;height:37px;border:0;display:flex;align-items:center;gap:14px;background:transparent;color:#87969D;border-radius:11px;text-align:left;padding:0 10px;flex-shrink:0;transition:background .2s,color .2s}.cohort-year:before{content:'';position:absolute;left:14px;top:0;bottom:0;width:1px;background:#CAD9D580}.cohort-year:first-child:before{top:50%}.cohort-year:last-child:before{bottom:50%}.cohort-year i{z-index:1;width:9px;height:9px;border:1px solid #B6CAC6;border-radius:50%;background:#FAFAF7;flex-shrink:0;transition:background .2s,box-shadow .2s}.cohort-year>span{font-size:15px;font-weight:400;font-variant-numeric:tabular-nums;letter-spacing:.5px}.cohort-year small{font-size:9px;margin-left:4px;opacity:.7}.cohort-year em{margin-left:auto;font:10px/1 monospace;color:#9DADB3}.cohort-year.active{background:#E4EFEBB8;color:#355F59}.cohort-year.active i{background:#6E9C90;border-color:#6E9C90;box-shadow:0 0 0 4px #739F9218}.cohort-year.active em{color:#5D8379}.cohort-year:hover:not(:disabled){background:#FFFFFF9C}.cohort-year:disabled{opacity:.34;cursor:default}#cohort-status{font-size:10px;line-height:1.8;color:#819A96;padding:12px 2px;min-height:42px}.generation-switch{display:flex;gap:3px;padding-top:11px;border-top:1px solid #BDCCC92E}.generation-switch button{border:0;border-radius:8px;background:none;padding:6px 8px;font-size:10px;color:#98A5AA;white-space:nowrap}.generation-switch button.active{background:#FFF9;color:#55737C}
@media(max-width:1150px) and (min-width:901px){.toolbar{left:195px}.cohort-rail{left:25px;width:146px}.graph-stage{left:185px}.canvas-note,.legend{left:204px}.toolbar-right{gap:8px}.tabs button{padding:7px 10px}}
@media(max-width:900px){.toolbar{left:23px}.cohort-rail{left:22px;top:90px;bottom:20px;width:132px}.cohort-heading h2{font-size:17px}.cohort-heading p{font-size:9px;margin-bottom:12px}.graph-stage{inset:98px 10px 63px 163px}.canvas-note{left:174px;top:76px}.legend{left:175px;bottom:24px}.map-controls{bottom:17px;right:23px}#panel{bottom:0}.cohort-year{height:35px}}
@media(max-width:620px){.toolbar{left:17px}.cohort-rail{left:17px;top:132px;bottom:18px;width:91px}.cohort-heading>span{font-size:8px;letter-spacing:1.6px}.cohort-heading h2{font-size:14px;letter-spacing:1px;margin:5px 0 10px}.cohort-heading p{display:none}.cohort-all{font-size:10px;padding:8px 7px;margin-bottom:8px;border-radius:10px}.cohort-all span{display:none}#cohort-list{padding-right:2px}.cohort-year{height:35px;padding:0 5px;gap:9px;border-radius:9px}.cohort-year:before{left:8px}.cohort-year i{width:7px;height:7px}.cohort-year>span{font-size:13px;letter-spacing:0}.cohort-year small{font-size:8px;margin-left:2px}.cohort-year em{font-size:9px}.cohort-year.active i{box-shadow:0 0 0 3px #739F9218}#cohort-status{font-size:9px;padding:9px 0;min-height:44px}.generation-switch{gap:0;flex-wrap:wrap;padding-top:7px}.generation-switch button{font-size:9px;padding:5px 7px}.graph-stage{inset:140px 4px 71px 113px}.canvas-note{left:119px;right:9px;top:119px;font-size:9px;white-space:nowrap;letter-spacing:0}.legend{left:123px;bottom:53px;font-size:9px;gap:10px}.map-controls{right:18px;bottom:13px}.map-controls button{width:29px;height:29px}.notice{width:calc(100% - 140px);left:calc(50% + 50px)}#panel{animation-duration:.3s}}
@media(prefers-reduced-motion:reduce){.connection.flowing .beam{display:none}}
.cohort-year>span{white-space:nowrap}.cohort-year em{flex-shrink:0}
@media(max-width:620px){.cohort-year small{display:none}.cohort-year{gap:8px}.cohort-year>span{font-size:13px}.cohort-year em{margin-left:auto}.generation-switch button{padding:5px 5px}}

/* v5: information-only cards and a quieter canvas. */
.sr-only,#cohort-status.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;min-height:0}
.cohort-heading{margin-bottom:18px}.panel-heading{padding-top:22px;padding-bottom:4px}.panel-heading h2{padding-right:25px}.student-number{display:flex;align-items:baseline;gap:12px;margin:9px 0 6px;color:#738993;font-size:12px}.student-number strong{font:500 14px/1.6 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.5px;color:#425E6B}.record .stage-title{color:#81919B}.record details{margin-top:12px}.record .mentor{margin-bottom:7px}#panel h3{margin-top:17px}
@media(max-width:620px){.cohort-heading{margin-bottom:10px}.cohort-heading h2{margin-bottom:0}}

.node .portrait{pointer-events:none}

/* Member introduction and current appointments extend the same timeline. */
#panel .profile-intro{font-size:13px;font-weight:500;line-height:1.85;color:var(--text);margin:6px 0 13px;white-space:pre-wrap;letter-spacing:0}
.profile-timeline .record{padding-bottom:25px}.profile-timeline .record:last-child{padding-bottom:4px;border-left-color:transparent}.profile-timeline .record.current:before{background:#607F8B;box-shadow:0 0 0 4px #607F8B10}.current-label{font-size:11px;font-weight:400;letter-spacing:1px;margin-left:9px;color:#82969E}.appointment-list{list-style:none;margin:13px 0 0;padding:0;font-size:13px;line-height:1.85;color:var(--text)}.appointment-list li+li{margin-top:10px}.appointment-list li{overflow-wrap:anywhere}
