*{box-sizing:border-box}body{margin:0;background:#f4f6f8;color:#213848;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;font-size:14px}button,input{font:inherit}button{border:0;cursor:pointer}.top{height:88px;background:#fff;border-bottom:1px solid #e8edf0;display:flex;align-items:center;padding:0 44px;gap:38px}.logo{width:208px;height:70px;object-fit:contain}.search{display:flex;width:670px;margin-left:12px;gap:8px}.search input{border:1px solid #d8e3e9;border-radius:12px;padding:14px 18px;background:#f8fafb;flex:1;min-width:0}.primary{background:#148da9;color:white;border-radius:12px;padding:14px 22px;font-weight:600}.account{margin-left:auto;display:flex;align-items:center;gap:12px;font-weight:500}.face{position:relative;display:inline-flex;align-items:center;justify-content:center;width:var(--size);height:var(--size);flex:0 0 var(--size);overflow:hidden;border-radius:50%;background:#e4f0f5;color:#557888;font-weight:600;border:3px solid #fff;box-shadow:0 3px 12px #19394617}.face img{width:100%;height:100%;object-fit:cover}.nav{height:50px;background:white;display:flex;padding:0 44px;align-items:center;gap:30px;border-bottom:1px solid #edf0f3;color:#71818d;font-size:13px}.nav b{color:#167e9a}.nav .right{margin-left:auto}.page{padding:24px 36px 0}.heading{display:flex;align-items:center;justify-content:space-between;margin:0 8px 20px;height:66px}.heading h1{font-size:30px;font-weight:650;letter-spacing:-1px;margin:0 0 8px}.muted{color:#738490}.heading p{margin:0;color:#738490}.segments{display:flex;background:#e5ebef;padding:4px;border-radius:14px;gap:3px}.segments button{padding:11px 18px;border-radius:10px;background:transparent;color:#6e7f8b;font-size:13px}.segments .active{background:#fff;color:#224252;box-shadow:0 2px 6px #263c4911}.workspace{height:780px;border-radius:28px;position:relative;overflow:hidden;border:1px solid #dae5eb;box-shadow:0 18px 45px #18394409}.canvas{background:radial-gradient(ellipse at 45% 80%,#3c9cb5,#1e658b 70%,#215777);color:white}.graph{position:absolute;left:0;right:334px;top:0;bottom:0}.graph svg{position:absolute;width:100%;height:100%;inset:0}.node{position:absolute;transform:translateX(-50%);display:flex;align-items:center;flex-direction:column;text-align:center;gap:7px;min-width:125px;z-index:3}.node strong{font-size:13px;letter-spacing:-.2px;white-space:nowrap;font-weight:600}.node small{font-size:10px;opacity:.75}.node.family .face{border-color:#c8e4f3}.node.selected .face{border-color:#fff;box-shadow:0 0 0 4px #59d6e4,0 7px 24px #0a294940}.node.selected strong{padding:6px 14px;background:#f5fdff;color:#147c96;border-radius:10px}.eyebrow{text-transform:uppercase;font-size:10px;letter-spacing:1.6px;color:#71909f;font-weight:600}.glass{background:#ffffffee;color:#243e4e;border:1px solid #ffffff99;border-radius:24px;box-shadow:0 10px 30px #17364816;backdrop-filter:blur(18px)}.inspector{position:absolute;right:22px;top:22px;width:292px;padding:22px}.inspector h2{font-size:23px;letter-spacing:-.5px;margin:12px 0 6px}.inspector p{font-size:13px;color:#718490;line-height:1.5;margin:4px 0}.inspector hr{border:0;border-top:1px solid #dce6ec;margin:20px 0}.inspector .person-top{display:flex;align-items:center;gap:14px}.tag{font-size:10px;background:#ecf4f8;color:#547080;border-radius:8px;padding:4px 8px;display:inline-flex}.list-row{display:flex;align-items:center;gap:10px;padding:11px 0}.list-row strong{font-size:13px;display:block}.list-row small{font-size:11px;color:#7a8d99}.link{display:block;color:#137f9d;font-size:13px;font-weight:600;margin-top:18px}.legend{position:absolute;bottom:82px;right:32px;display:flex;flex-direction:column;gap:11px;font-size:11px;color:#e3f5fc}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:7px;background:#72d8e4}.pink{background:#e9a4cd}.gold{background:#e8d29a}.toolbar{position:absolute;bottom:22px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:5px;padding:7px;border-radius:16px;background:#fafdffef;color:#396274;box-shadow:0 8px 20px #112d4b22;z-index:5;white-space:nowrap}.toolbar button{background:transparent;color:inherit;border-radius:11px;padding:11px 15px;font-size:12px}.toolbar .active{background:#e4f4fa;color:#0b819f}.toolbar .divider{height:20px;width:1px;background:#dce6ed}.footer{height:70px;padding:24px 46px;color:#69808e;display:flex;align-items:center;gap:16px;font-size:12px}.footer b{font-size:14px;color:#314e5e}.key{font-size:11px;padding:5px 8px;border:1px solid #dce5ea;border-radius:6px;background:white}.calendarhint{position:absolute;left:28px;bottom:28px;color:#dcf3fa;font-size:11px}.rankview{background:#fff}.rankview .graph{left:20px;right:332px;top:10px;bottom:10px}.rankview .node{color:#2d4959;min-width:148px}.rankview .node.family strong{color:#275f83}.rankview .node small{color:#78909e}.rankview .node .face{box-shadow:0 2px 10px #2a597514;border:3px solid white}.rankview .node.selected strong{background:#e9f8fc}.rankview .inspector{background:#f5f8fa;border-color:#e7edf1;box-shadow:none}.rankview .legend{color:#6d8390}.ranktitle{font-size:12px;font-weight:600;fill:#7892a2}.rankview .toolbar{box-shadow:0 5px 20px #173b5010;border:1px solid #e0e9ef}.guided{background:#f8fafc;padding:24px}.stephead{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.stephead h2{margin:0;font-size:20px;letter-spacing:-.5px}.stephead span{font-size:12px;color:#7a8d99}.columns{display:grid;grid-template-columns:320px 550px 1fr;gap:28px}.column{background:#fff;border:1px solid #e5ecf1;border-radius:24px;padding:24px;min-height:532px}.column h3{font-size:18px;margin:12px 0 4px;letter-spacing:-.4px}.column>p{font-size:12px;color:#7f929e;margin:0 0 20px}.number{display:inline-flex;width:26px;height:26px;align-items:center;justify-content:center;border-radius:50%;background:#eaf3f9;color:#36749a;font-size:11px;font-weight:600}.rootrow{display:flex;align-items:center;gap:12px;border-top:1px solid #edf2f6;padding:16px 0}.rootrow strong{font-size:13px;display:block}.rootrow small{font-size:11px;color:#738d9e}.rootrow .face{border-color:#dfeaf5}.teacherrow{display:flex;align-items:center;gap:12px;padding:12px 14px;background:#f5f8fa;border:1px solid #edf1f4;border-radius:16px;margin-bottom:9px}.teacherrow strong{display:block;font-size:14px}.teacherrow small{font-size:11px;color:#6d8594}.teacherrow .relation{margin-left:auto;color:#187e99;font-size:10px;padding:5px 9px;background:white;border-radius:8px}.practice{display:flex;gap:8px}.practice .mini{flex:1;display:flex;align-items:center;gap:7px;font-size:11px;white-space:nowrap;border:1px solid #e6edf2;border-radius:12px;padding:8px 4px;background:white}.practice .mini .face{border:2px solid white}.profilecenter{text-align:center;padding:20px 5px}.profilecenter h2{font-size:25px;letter-spacing:-.6px;margin:18px 0 5px}.profilecenter p{font-size:13px;color:#728a97;margin:6px 0}.profilecenter .face{box-shadow:0 0 0 5px #d7eff7}.profilecenter .primary{margin-top:15px;padding:12px 20px;font-size:12px}.profilecenter .count{display:flex;justify-content:center;gap:24px;margin:27px 0 0;border-top:1px solid #e7eef3;padding-top:22px}.count b{font-size:21px;display:block}.count small{font-size:10px;color:#7d929e}.events{display:flex;align-items:center;gap:16px;margin-top:24px}.eventintro{width:250px}.eventintro h3{font-size:18px;margin:0 0 8px}.eventintro p{font-size:12px;color:#7f929e;line-height:1.5;margin:0}.event{display:flex;gap:12px;align-items:center;background:linear-gradient(140deg,#f1faff,#cfe9f6);border:1px solid #d2e6f0;border-radius:20px;padding:18px 22px;flex:1;min-height:118px}.event h4{font-size:14px;margin:6px 0;color:#25495e}.event p{font-size:11px;color:#658194;margin:6px 0}.event small{font-size:10px;color:#256b8d}.guided .bottomhint{text-align:center;color:#8397a5;font-size:11px;margin-top:26px}.minilabel{font-size:10px;color:#8196a4;text-transform:uppercase;letter-spacing:.9px;margin:17px 0 10px}.connection-note{position:absolute;left:30px;top:27px;color:#d8edf8;font-size:11px}.help{font-size:11px;color:#718b99}.captionline{height:1px;background:#e5edf2}.badgeblue{background:#e5f2fa;color:#326c90;font-size:10px;border-radius:8px;padding:5px 8px}
 .inspector hr{margin:16px 0}.inspector .list-row{padding:7px 0}.teacherrow{padding:8px 14px;margin-bottom:7px}
.canvas{background:radial-gradient(ellipse at 43% 78%,#368fa8 0%,#216d92 48%,#205473 100%)}.node.back{opacity:.92}.node.near .face{box-shadow:0 9px 22px #0b354e33}.node.selected .face{box-shadow:0 0 0 4px #6de5ec,0 0 0 10px #70deec14,0 14px 26px #09324940}.node.selected strong{font-size:14px}.node.selected small{color:#e2f6fa}.node strong{text-shadow:0 1px 4px #183a4d55}.node.selected strong{text-shadow:none}.graph{right:334px}.depth-hint{position:absolute;left:28px;top:27px;display:flex;align-items:center;gap:12px;font-size:11px;color:#cce6f1}.depth-hint .pill{background:#ffffff12;border:1px solid #ffffff26;border-radius:9px;padding:6px 10px;color:#f0faff}.orbit-hint{position:absolute;left:31px;bottom:22px;color:#d9f0f7;font-size:11px}.toolbar{left:49%;bottom:22px}.toolbar button{padding:11px 14px}.toolbar .active{background:#e2f3f9}.legend{bottom:83px}.inspector{top:22px}.footer{font-size:12px} .workspace{height:1000px}.graph{height:780px;bottom:auto}.background-portrait{position:absolute;z-index:1;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:4px;pointer-events:none;min-width:90px;color:#d7edf7}.background-portrait .face{box-shadow:none;border-width:1px}.background-portrait>span{font-size:8px;text-align:center;white-space:nowrap}.node{z-index:3}.toolbar{top:718px;bottom:auto}.orbit-hint{top:738px;bottom:auto}.legend{bottom:auto;top:643px}.mini-calendar{position:absolute;left:24px;right:24px;top:790px;height:188px;padding:17px 20px;border-radius:22px;border:1px solid #e0f7ff35;background:linear-gradient(130deg,#ffffff13,#ffffff09);color:#e9f7fc;box-shadow:inset 0 1px 0 #ffffff0b}.calendar-heading{display:flex;justify-content:space-between;align-items:center;font-size:12px;margin-bottom:10px}.calendar-heading>div{display:flex;align-items:center;gap:16px}.calendar-heading strong{font-size:15px}.calendar-heading span{font-size:10px;color:#d0e9f5}.calendar-heading a{font-size:11px;color:#f0fbff}.calendar-body{display:grid;grid-template-columns:108px 1fr;align-items:center;gap:0}.monthnames{display:flex;align-items:center;justify-content:space-between;font-size:9px;letter-spacing:.8px;color:#c5e1ef;padding:0 8px 5px}.monthnames span:last-child{width:36.67%;border-left:1px solid #d7eff72b;padding-left:8px}.calendar-days{display:grid;grid-template-columns:repeat(30,1fr);font-size:10px;text-align:center;padding-bottom:6px;border-bottom:1px solid #d7eff744}.calendar-days span{position:relative}.calendar-days span:after{content:'';position:absolute;bottom:-6px;left:50%;width:1px;height:4px;background:#d6f0f767}.track-label{font-size:10px;color:#c8e4ef}.calendar-track{position:relative}.calendar-bar{position:absolute;height:9px;border-radius:5px;border:1px solid #ffffff0a}.calendar-bar.highlight{height:11px;border:1px solid #f5ffff;box-shadow:0 0 0 2px #87fff23c,0 0 12px #9ffff559}.nov-divider{position:absolute;height:100%;left:63.33%;top:0;border-left:1px solid #dcf5ff22}.calendar-selected{display:flex;align-items:center;gap:9px;font-size:10px;border-top:1px solid #dcf5ff20;padding-top:8px;color:#cfe9f4}.calendar-selected i{width:7px;height:7px;background:#75dbc4;border-radius:50%}.calendar-selected strong{font-weight:500;color:#eafaff}.calendar-selected a{margin-left:auto;color:#effcff}.footer{height:70px}/* Interaction and responsive overrides for the standalone prototype. */
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible,#graph:focus-visible{outline:3px solid #51c7de;outline-offset:4px}.brand-button{background:none;padding:0}.account{background:none;color:#213848;padding:10px}.nav button{background:none;color:#71818d;padding:8px 0;white-space:nowrap}.nav .key{padding:7px 12px}.search-wrapper{position:relative;width:670px;max-width:100%}.search{width:100%;margin-left:0}.search-wrapper input{width:100%}#search-suggestions{position:absolute;z-index:500;top:58px;left:0;right:0;background:#fff;border:1px solid #dae5ec;border-radius:18px;box-shadow:0 14px 35px #294d6433;max-height:370px;overflow:auto;padding:8px}#search-suggestions[hidden]{display:none}#search-suggestions button{display:flex;align-items:center;gap:12px;padding:10px 12px;width:100%;text-align:left;border-radius:12px;background:white;color:#294655}#search-suggestions button[aria-selected=true],#search-suggestions button:hover{background:#edf7fb}#search-suggestions strong{display:block;font-size:13px}#search-suggestions small{display:block;font-size:11px;color:#7b909e;margin-top:4px}#search-suggestions p{padding:10px;font-size:13px}.graph{overflow:hidden;touch-action:none;user-select:none;cursor:grab}.graph:active{cursor:grabbing}#network-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.node{left:0;top:0;margin:0;background:none;border:0;padding:0;color:white;cursor:pointer;min-width:115px;will-change:transform}.node .face{pointer-events:none}.node strong{font-family:inherit}.node small{pointer-events:none}.node.background{z-index:1!important;min-width:85px;transition:opacity .15s}.node.background .name{font-size:8px;opacity:.65}.node.background .face{box-shadow:none;border:1px solid #cfe8f3}.node.background.entering{opacity:0!important}.node.background:focus-visible,.node.background:hover{opacity:.75!important}.node.muted-node{opacity:.24!important}.node.selected{z-index:100!important}.conceal-label:not(:hover):not(:focus-visible)>.name,.conceal-label:not(:hover):not(:focus-visible)>small{visibility:hidden}.node.mobile-node{min-width:70px;max-width:85px}.node.mobile-node strong{font-size:10px;white-space:normal;line-height:1.12}.node.mobile-node small{font-size:8px}.node.mobile-node.selected strong{font-size:11px;white-space:normal;padding:5px 9px}.node.mobile-node.background strong{font-size:7px}.inspector{max-height:600px;overflow:auto;scrollbar-width:thin}.inspector .list-row{width:100%;background:none;text-align:left;color:#294655}.inspector .list-row:hover{background:#e8f3f7;border-radius:10px}.row-arrow{margin-left:auto;color:#94aeba}.connection-check{display:flex;align-items:center;gap:8px;margin-top:14px;color:#277a93;font-size:11px;line-height:1.4;cursor:pointer}.connection-check input{accent-color:#1d91ae}.legend button{background:none;color:inherit;font-size:inherit;text-align:left;padding:0}.legend button[aria-pressed=false]{opacity:.45}.link{border:0;background:none;text-align:left;padding:0;cursor:pointer}.sheet-close,#selected-summary{display:none}.toolbar button:hover{background:#e2f4fa}.flat-view .node{opacity:1!important}.calendar-heading button,.calendar-selected button{background:none;color:#effcff;font-size:11px;padding:2px 5px}.calendar-heading>div:last-child{display:flex;gap:10px}.calendar-days button{position:relative;background:none;color:#d9edf5;font-size:10px;border-radius:6px;padding:3px 0}.calendar-days button:hover,.calendar-days button.active-day{background:#ffffff35;color:white}.calendar-days button:after{content:'';position:absolute;bottom:-3px;left:50%;width:1px;height:4px;background:#d6f0f767}.calendar-bar{border:0;cursor:pointer;transition:filter .15s}.calendar-bar:before{content:'';position:absolute;inset:-4px 0}.calendar-bar:hover{filter:brightness(1.3);outline:1px solid #fff}.calendar-selected{min-height:22px}.calendar-selected>strong{max-width:40%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.calendar-selected>span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.calendar-selected>button{margin-left:auto;flex-shrink:0}.footer>button{margin-left:auto;background:none;color:#177f9b;font-size:12px}.footer>span{font-size:11px}
dialog{width:min(700px,calc(100vw - 32px));max-height:min(82dvh,850px);padding:0;border:1px solid #dbe7ee;border-radius:26px;color:#274454;box-shadow:0 24px 90px #112c4966;background:#f9fcfe}dialog::backdrop{background:#12314a77;backdrop-filter:blur(5px)}.dialog-heading{position:sticky;top:0;z-index:1;display:flex;gap:16px;align-items:center;justify-content:space-between;padding:20px 24px;background:#f9fcfeeF;border-bottom:1px solid #e5edf2}.dialog-heading h2{font-size:24px;letter-spacing:-.5px;margin:0}.dialog-heading button{font-size:27px;min-width:40px;height:40px;border-radius:50%;background:#eaf2f6;color:#508096}.dialog-body{padding:24px;line-height:1.6}.dialog-body h3{font-size:18px}.dialog-body p{font-size:13px}.profile-modal-head{display:flex;align-items:center;gap:20px}.biography{white-space:pre-line}.profile-edge{border-bottom:1px solid #e2ecf2;padding-bottom:12px}.profile-edge>.list-row,.dialog-body>.list-row,.dojo-list .list-row{width:100%;background:none;text-align:left;color:#294b5e;border-radius:12px;padding:12px}.profile-edge>.list-row:hover,.dialog-body>.list-row:hover{background:#edf5fa}.profile-edge>small{font-size:11px;color:#7c919e}.profile-edge>p{margin:4px 0;color:#738b9a;font-size:11px}.dialog-body .external-link{display:inline-block;text-decoration:none;font-size:13px;margin-top:20px}.event-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.demo-event-card{text-align:left;display:flex;flex-direction:column;gap:10px;padding:18px;background:linear-gradient(145deg,#f1faff,#cfe9f6);border:1px solid #cde4f0;border-radius:18px;color:#345c72}.demo-event-card strong{font-size:14px}.demo-event-card small{font-size:11px}.demo-event-card>span:last-child{font-size:11px;color:#16819e}.modal-note{color:#7a919f}.dojo-list details{padding:12px 0;border-bottom:1px solid #e1ecf2}.dojo-list summary{cursor:pointer;font-weight:600;font-size:14px}.dojo-list summary small{display:block;font-size:11px;font-weight:400;color:#7d95a3}.empty-note{font-size:11px!important;padding:10px 0}.inspector .face{flex-shrink:0}#toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%,20px);padding:12px 20px;border-radius:12px;background:#163e54ee;color:white;box-shadow:0 5px 20px #12334444;z-index:700;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;font-size:13px;text-align:center;max-width:90%}#toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:1199px) and (min-width:701px){.top{padding:0 24px;gap:24px}.logo{width:165px}.search-wrapper{flex:1;min-width:0}.account{font-size:12px}.page{padding:20px}.heading h1{font-size:25px}.graph{right:286px}.inspector{right:16px;width:255px;padding:18px}.workspace{border-radius:24px}.legend{right:30px}.node strong{font-size:11px}.toolbar{left:43%;font-size:11px}.toolbar button{padding:10px}.heading .segments button{padding:10px 12px}}
@media(max-width:700px){.top{height:auto;padding:14px 16px 16px;gap:10px;flex-wrap:wrap}.logo{width:150px;height:52px}.account{margin-left:auto;font-size:11px}.search-wrapper{order:2;width:100%;flex-basis:100%}.search{gap:8px}.search input{padding:12px;font-size:12px}.search .primary{padding:12px 18px;min-width:88px;font-size:12px}.nav{padding:0 16px;gap:20px;height:44px;overflow-x:auto}.nav button{font-size:12px;flex-shrink:0}.nav b{font-size:12px}.nav .key{display:none}.page{padding:16px 12px 0}.heading{height:auto;min-height:112px;align-items:flex-start;flex-direction:column;gap:16px;margin:0 4px 16px}.heading h1{font-size:23px;letter-spacing:-.6px;line-height:1.18}.heading p{font-size:11px;line-height:1.5;max-width:310px}.segments{align-self:flex-start}.segments button{padding:9px 14px;font-size:12px}.workspace{height:910px;border-radius:22px}.graph{left:0;right:0;height:600px}.depth-hint{top:18px;left:18px;font-size:9px;gap:8px;max-width:calc(100% - 35px)}.depth-hint>span:last-child{max-width:220px}.inspector{display:none;position:fixed;z-index:400;left:12px;right:12px;top:auto;bottom:12px;width:auto;max-height:75dvh;padding:24px;box-shadow:0 10px 60px #0b294f77;background:#f4fbff;backdrop-filter:blur(20px)}.inspector.sheet-open{display:block}.sheet-close{display:block;position:absolute;right:14px;top:12px;width:36px;height:36px;font-size:25px;background:#e4eff6;color:#42748d;border-radius:50%}.legend{top:550px;left:16px;right:16px;bottom:auto;flex-direction:row;justify-content:center;flex-wrap:wrap;gap:12px;font-size:9px}.toolbar{top:584px;left:50%;bottom:auto;gap:0;padding:5px;width:calc(100% - 24px);justify-content:space-around;border-radius:14px}.toolbar button{padding:10px 7px;font-size:10px}.toolbar [data-action=rotate],.toolbar [data-action=share],.toolbar .divider{display:none}.orbit-hint{display:none}#selected-summary{position:absolute;left:12px;right:12px;top:636px;height:49px;border:1px solid #c9e9f2;background:#f7fcffeb;border-radius:14px;display:flex;align-items:center;gap:10px;color:#246177;text-align:left;padding:9px 13px;font-size:12px}#selected-summary>span:nth-child(2){flex:1}#selected-summary small{font-size:9px;margin-left:8px;color:#83a0af}.mini-calendar{left:12px;right:12px;top:701px;height:193px;padding:14px 12px;border-radius:18px}.calendar-heading strong{font-size:12px}.calendar-heading span{font-size:9px}.calendar-heading>div{gap:8px}.calendar-heading button{font-size:9px}.calendar-scroll{overflow-x:auto;padding-bottom:4px}.calendar-body{min-width:650px;grid-template-columns:90px 1fr}.calendar-selected{font-size:9px;flex-wrap:wrap;gap:4px}.calendar-selected>strong{max-width:80%;font-size:9px}.calendar-selected>span{font-size:8px;max-width:66%}.calendar-selected>button{font-size:9px;margin-left:auto}.footer{height:auto;padding:18px 16px;flex-wrap:wrap;gap:8px;font-size:10px}.footer b{font-size:11px}.footer>span{font-size:9px}.footer>button{font-size:10px}.event-grid{grid-template-columns:1fr}.dialog-heading{padding:16px 18px}.dialog-heading h2{font-size:21px}.dialog-body{padding:18px}.dialog-body .face{flex-shrink:0}.dialog-body>.list-row strong,.profile-edge strong{font-size:13px}.node:focus-visible{outline-offset:2px}.node.background strong{font-size:7px}}
@media(prefers-reduced-motion:reduce){.node.background,#toast{transition:none}}
@media(max-width:700px){.search .primary,.search input{min-height:44px}.toolbar button{min-height:38px}#center-label{max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
/* The selected practitioner is anchored at the center; event cards orbit around them. */
.focus-seminar-panel{border-top:1px solid #dce7ee;padding-top:16px;margin-top:16px}.focus-seminar-panel .eyebrow{display:flex;justify-content:space-between;align-items:center}.focus-seminar-panel .eyebrow>span{font-size:10px;border-radius:20px;background:#e6f3f9;padding:4px 7px;color:#3a7a96}.focus-seminar-card{display:flex;flex-direction:column;gap:6px;width:100%;text-align:left;background:linear-gradient(140deg,#f1faff,#cfe9f6);border:1px solid #bddcec;border-radius:16px;color:#23475d;padding:13px;margin-top:10px}.focus-seminar-card small{font-size:10px;color:#267895}.focus-seminar-card strong{font-size:13px;line-height:1.4}.focus-seminar-card>span{font-size:10px;color:#608499}.focus-seminar-card .seminar-open{color:#177d9b;font-weight:600}.focus-seminar-card.is-selected{border-color:#53b5d5;box-shadow:0 0 0 2px #67c9e820}.seminar-hide{background:none;color:#63889a;font-size:10px;padding:10px 0 0}.seminar-orbit-node{position:absolute;left:0;top:0;z-index:55;background:linear-gradient(140deg,#f1faffee,#cfe9f6ee);border:1px solid #cceaf4;border-radius:14px;color:#23475d;padding:9px 11px;text-align:left;display:flex;flex-direction:column;gap:5px;box-shadow:0 6px 18px #143b4f2b;cursor:pointer;touch-action:none}.seminar-orbit-node small{font-size:9px;color:#267b99;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.seminar-orbit-node strong{font-size:11px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.seminar-orbit-node>span{font-size:9px;color:#177d9b}.seminar-orbit-node.is-selected{border-color:#fbffff;box-shadow:0 0 0 2px #a4eff769,0 6px 18px #143b4f2b}.calendar-heading>div:last-child{gap:4px}.calendar-heading button{white-space:nowrap}.calendar-heading [data-action^=calendar-]{padding:4px 6px}.node.selected:hover .face{box-shadow:0 0 0 4px #96f3f5,0 0 0 10px #70deec24,0 8px 25px #09324940}
@media(max-width:700px){.seminar-orbit-node{padding:7px 8px;border-radius:11px}.seminar-orbit-node strong{font-size:9px}.seminar-orbit-node small,.seminar-orbit-node>span{font-size:8px}.calendar-heading{flex-wrap:wrap;gap:5px;margin-bottom:6px}.calendar-heading>div:last-child{margin-left:auto}.calendar-heading button{font-size:9px}.mini-calendar{height:204px}.workspace{height:925px}.focus-seminar-panel .focus-seminar-card{padding:13px}.inspector.sheet-open .focus-seminar-panel{scroll-margin-top:20px}}
/* Calendar connectors use the original animation's teacher-to-bar model. */
#calendar-connectors{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2;overflow:hidden}.graph{z-index:1}.inspector,.toolbar,#selected-summary,.legend,.depth-hint,.mini-calendar{z-index:3}.workspace{height:1062px}.mini-calendar{height:246px}.calendar-bar{height:14px;border-radius:7px}.calendar-bar.highlight{height:14px;outline:2px solid #fff;outline-offset:3px;box-shadow:0 0 10px #c8ffff77}.calendar-event-label{position:absolute;top:22px;left:50%;transform:translateX(-50%);font-size:9px;font-weight:400;white-space:nowrap;color:#edfbff;max-width:145px;overflow:hidden;text-overflow:ellipsis;pointer-events:none}.calendar-track{overflow:visible}.selected-event-details{margin-top:12px}.selected-event-details h3{font-size:16px;line-height:1.4;margin:10px 0}.selected-event-details .list-row{padding:7px 0!important}.own-seminar-heading{margin-top:20px}.node.event-instructor strong{font-size:11px}.node.event-instructor small{font-size:9px;color:#dbd1f2}.node.event-instructor .face{border-color:#cfbbeb}#cloud-hover{position:absolute;z-index:110;max-width:180px;padding:6px 10px;background:#f1fbfff2;color:#28647c;border:1px solid #cee5f0;border-radius:9px;font-size:11px;pointer-events:none;box-shadow:0 3px 15px #123a4f22}#cloud-hover[hidden]{display:none}.cloud-search-label{display:flex;flex-direction:column;gap:10px;font-size:13px;font-weight:600}.cloud-search-label input{padding:12px;border:1px solid #ccdde8;border-radius:12px;font-weight:400;font-size:13px;width:100%}#cloud-results .list-row{width:100%;text-align:left;border-radius:12px;color:#345c70;background:none}#cloud-results .list-row:hover{background:#eaf5fa}#cloud-results .list-row strong{display:block;font-size:13px}#cloud-results .list-row small{font-size:11px;color:#7e98a8}.footer .show{pointer-events:none}
@media(max-width:700px){.workspace{height:993px}.mini-calendar{height:272px}.toolbar [data-action=cloud]{font-size:9px;max-width:63px;white-space:normal;line-height:1.2;padding:7px 4px}.toolbar #center-label{max-width:95px}.calendar-event-label{font-size:8px;max-width:120px}.node.event-instructor strong{font-size:9px}.node.event-instructor small{font-size:8px}.selected-event-details h3{font-size:16px}}
@media(max-width:700px){.depth-hint .pill{flex-shrink:0;white-space:nowrap}.node.event-instructor{min-width:36px;max-width:52px}.node.event-instructor:not(:hover):not(:focus-visible)>.name,.node.event-instructor:not(:hover):not(:focus-visible)>small,.node.background:not(:hover):not(:focus-visible)>.name{visibility:hidden}}
/* Desktop rank lanes use the same blue canvas as the globe. */
#calendar-connectors{z-index:0}.view-toggle{position:relative;display:flex;align-items:center;flex-shrink:0;width:92px;height:38px;padding:4px;border:1px solid #b9e6f44d;border-radius:12px;background:#ffffff10;color:#edfaff;gap:0;isolation:isolate}.view-toggle>span:not(.view-thumb){position:relative;width:42px;text-align:center;font-size:12px;font-weight:650;z-index:1}.view-thumb{position:absolute;left:4px;top:4px;width:40px;height:28px;border-radius:8px;background:#ffffff25;box-shadow:0 2px 6px #123d4d16;transition:transform .22s}.view-toggle[aria-checked=true] .view-thumb{transform:translateX(42px)}#rank-lanes{display:none;position:absolute;inset:0;pointer-events:none;z-index:0}.flat-view #rank-lanes{display:block}#network-canvas{z-index:1}.rank-lane{position:absolute;border-radius:22px;border:1px solid #ccecf326;background:linear-gradient(110deg,#c7edff12,#dff3ff0a);box-shadow:inset 0 1px 0 #ffffff05}.rank-lane.focus-lane{background:linear-gradient(110deg,#78def323,#b6eff512);border-color:#a5eaf33b}.rank-lane>span{position:absolute;right:calc(100% + 14px);top:46%;transform:translateY(-50%);width:70px;text-align:right;color:#c6e5f1;font-size:10px;line-height:1.45}.flat-view{cursor:default}.flat-view .node:not(.background){min-width:125px;max-width:180px}.flat-view .node strong{white-space:normal;line-height:1.2;max-width:175px}.flat-view .node small{color:#d2eaf3}.flat-view .node.selected .face{box-shadow:0 0 0 4px #79e2eb,0 6px 24px #103a4d33}.inspector-actions{margin:-3px 0 22px}.buy-print{width:100%;padding:12px 16px;font-size:12px;border-radius:12px}.go-seminar{display:block;width:100%;margin:15px 0 10px;padding:12px 16px;font-size:12px}.organizer-link{display:block;color:#1c809e;font-size:11px;text-decoration:none;margin-bottom:18px}.organizer-link:hover{text-decoration:underline}
.lineage-print{width:min(860px,calc(100vw - 32px))}.print-intro{color:#708c9c;margin:0 0 18px}.print-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.print-tabs{display:flex;padding:4px;gap:3px;background:#e8f0f5;border-radius:12px}.print-tabs button{background:none;color:#658193;border-radius:9px;padding:9px 12px;font-size:12px}.print-tabs [aria-pressed=true]{background:white;color:#25607d;box-shadow:0 2px 8px #143d5012}.print-choices{display:grid;grid-template-columns:1fr 1fr;gap:16px}.print-choice{border:1px solid #d9e7f0;border-radius:20px;background:#f2f7fa;padding:16px;text-align:center;color:#2c5268}.print-choice[aria-pressed=true]{border-color:#6dbeD9;box-shadow:0 0 0 3px #64c9e51a}.print-choice h3{margin:0 0 12px;font-size:15px}.print-shirt{position:relative;max-width:290px;margin:auto;aspect-ratio:440/470}.print-shirt>svg{display:block;width:100%;height:100%}.print-art{position:absolute;left:26%;top:28%;width:48%;height:auto;border:1px solid #8a9ead22}.lineage-print[data-color=black] .shirt-body{fill:#25313b;stroke:#19242b}.lineage-print[data-target=paper] .print-shirt>svg{visibility:hidden}.lineage-print[data-target=paper] .print-shirt{aspect-ratio:4/3;background:white;border:1px solid #d7e4eb;border-radius:8px;box-shadow:0 5px 18px #183b5112;display:flex;align-items:center;padding:12px}.lineage-print[data-target=paper] .print-art{position:absolute;left:5%;top:15%;width:90%}.print-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:22px}.print-footer label{display:flex;align-items:center;gap:8px;font-size:12px;color:#628093}.print-footer select{border:1px solid #d5e4ed;background:#fff;padding:9px;border-radius:10px;color:#315b70}.print-footer button{font-size:12px}.print-footer>div{display:flex;gap:10px}.print-status{font-size:11px!important;color:#718d9d}.print-note{font-size:11px!important;color:#8198a6}.print-art[hidden]{display:none}
@media(prefers-reduced-motion:reduce){.view-thumb{transition:none}}
/* Translucent portraits drift freely at the rear of the graph. */
.graph:not(.flat-view) .node.family .name{position:absolute;left:50%;bottom:calc(100% + 16px);transform:translateX(-50%);font-size:11px;white-space:nowrap;line-height:1.2}
.graph:not(.flat-view) .node.family small{position:absolute;left:50%;bottom:calc(100% + 2px);transform:translateX(-50%);font-size:9px;white-space:nowrap}
.node.background{z-index:0!important;min-width:100px;max-width:150px}.node.background .face{filter:grayscale(.35);border-color:#c0e6f2}.node.background .name{font-size:9px;white-space:normal;max-width:140px;line-height:1.25;opacity:.85}
/* The legend sits beneath the view switch; the rounded panel clips its scroll area. */
.dot.family-blue{background:#163d68;box-shadow:0 0 0 1px #a9cee64a}.depth-hint{display:grid;grid-template-columns:92px minmax(0,1fr);gap:12px;align-items:center;max-width:calc(100% - 380px)}.depth-hint .legend{position:static;grid-column:1/-1;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;gap:8px 16px;font-size:10px;max-width:550px;line-height:1.5}.legend>span,.legend>button{white-space:nowrap}.inspector{display:flex;flex-direction:column;padding:0;overflow:hidden;isolation:isolate}.inspector-header{position:relative;flex:none;padding:22px 22px 18px;border-bottom:1px solid #dce7ee;z-index:2;background:#f5fbfef2}.teacher-find-form{position:relative;margin:10px 0 12px}.teacher-find-row{display:flex;gap:7px}.teacher-find-row input{width:100%;min-width:0;flex:1;border:1px solid #c8dee9;border-radius:10px;background:white;padding:10px;font-size:12px;color:#2c5367}.teacher-find-row .primary{font-size:11px;padding:10px 12px;border-radius:10px}.panel-suggestions{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:10;border:1px solid #d7e5ed;border-radius:14px;padding:5px;background:#fff;box-shadow:0 9px 24px #254b6524;max-height:320px;overflow:auto}.panel-suggestions[hidden]{display:none}.panel-suggestions button{display:flex;align-items:center;gap:8px;width:100%;padding:9px 8px;border-radius:9px;background:none;text-align:left;color:#2c4c60}.panel-suggestions button[aria-selected=true],.panel-suggestions button:hover{background:#eaf6fb}.panel-suggestions strong{font-size:12px;display:block;line-height:1.3}.panel-suggestions small{font-size:10px;display:block;color:#79909e;line-height:1.4;margin-top:4px}.panel-suggestions p{font-size:12px;padding:6px}.panel-suggestions .face{flex-shrink:0}.inspector-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:20px 22px;scrollbar-width:thin;scrollbar-color:#adbfcb transparent}.inspector-scroll::-webkit-scrollbar{width:7px}.inspector-scroll::-webkit-scrollbar-track{background:transparent;margin-block:16px;border-radius:12px}.inspector-scroll::-webkit-scrollbar-thumb{background:#adbfcb;border:2px solid transparent;background-clip:padding-box;border-radius:20px}.inspector-scroll::-webkit-scrollbar-button{display:none;width:0;height:0}.inspector-scroll::-webkit-scrollbar-corner{background:transparent}
@supports selector(::-webkit-scrollbar){.inspector-scroll{scrollbar-width:auto;scrollbar-color:auto}}
@media(min-width:701px){.workspace{--toolbar-y:718px;--toolbar-height:54px}.toolbar{top:var(--toolbar-y);height:var(--toolbar-height)}.inspector{top:22px;height:calc(var(--toolbar-y) + var(--toolbar-height) - 22px);max-height:none}}
@media(max-width:1199px) and (min-width:701px){.inspector-header{padding:18px 18px 16px}.inspector-scroll{padding:18px}.depth-hint{max-width:calc(100% - 305px)}}
@media(max-width:700px){.inspector{display:none}.inspector.sheet-open{display:flex;height:75dvh}.depth-hint{max-width:calc(100% - 35px)}.depth-hint .legend{font-size:9px;gap:5px 9px}.inspector-header{padding:18px}.inspector-scroll{padding:18px}}
