/* Shared by the photographic workstation and the spatial preview. */
.sidebar:not(:has(#editor-panel:not([hidden]))){
 border:1px solid #dedfd7;border-radius:18px;background:#fafaf6;padding:0;
 scrollbar-color:#c7cebf transparent;scrollbar-width:thin;overscroll-behavior:contain;
}
.photo-mode .sidebar:not(:has(#editor-panel:not([hidden]))){padding-top:0}
.index-title{position:sticky;top:0;z-index:2;background:#fafaf6;padding:21px 20px 16px;border-bottom:1px dashed #dce0d5}
.index-title h2{font-size:18px;letter-spacing:1px;font-weight:600;margin:0 0 7px;color:#536359}
.index-title p{margin:0;font-size:10px;line-height:1.6;color:#8a9488}
#navigation{display:block;padding:9px 12px 20px}
.index-group{margin:0 0 9px}
.index-group:last-child{margin-bottom:0}
.index-group-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:15px 8px 7px}
.index-group-heading h3{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:600;color:#64715f;margin:0}
.index-dot{width:10px;height:10px;flex:none;border-radius:50%;background:#c6d2bb;border:1px solid #aab99b}
[data-group="education"] .index-dot{background:#e1d9ba;border-color:#c7bd96}
[data-group="experience"] .index-dot{background:#bfcfc4;border-color:#9fb5a8}
[data-group="projects"] .index-dot{background:#cbd5b4;border-color:#b2bf97}
[data-group="honors"] .index-dot{background:#e1d0b8;border-color:#c8b497}
[data-group="skills"] .index-dot{background:#c3ced0;border-color:#a2b5b8}
[data-group="contact"] .index-dot{background:#d2cdc0;border-color:#b9b2a1}
.index-group-count{font-size:10px;font-variant-numeric:tabular-nums;color:#8c9785;letter-spacing:.5px}
.index-item.nav-item{border:1px solid transparent;border-radius:12px;padding:11px 9px;margin:3px 0;gap:9px;align-items:flex-start;background:transparent}
.index-item.nav-item:hover,.index-item.nav-item.highlight{background:#f0f3e9;border-color:#dce3d2}
.index-item.nav-item.is-current{background:#f3f5ed;border-color:#bccbb0;box-shadow:0 2px 5px #53635908}
.index-status{width:16px;height:16px;flex:none;border:1px solid #d5dccf;border-radius:50%;margin-top:1px;font-size:10px;display:grid;place-items:center;color:#fff;background:#fafaf6}
.is-visited .index-status{background:#90a58c;border-color:#90a58c}
.index-item.nav-item strong{font-size:11px;font-weight:500;line-height:1.65;overflow-wrap:anywhere;color:#4e5a51}
.index-item.nav-item small{font-size:9px;font-weight:400;line-height:1.75;margin-top:3px;color:#90988a;overflow-wrap:anywhere}
.index-arrow{font-size:11px;flex:none;margin-top:3px;color:#a9b59e;opacity:0}
.index-item:hover .index-arrow,.index-item:focus-visible .index-arrow,.index-item.is-current .index-arrow{opacity:1}
.index-item:focus-visible{outline-offset:-2px}
@media(min-width:801px) and (max-width:1100px){.photo-mode .sidebar:not(:has(#editor-panel:not([hidden]))){max-height:calc((100vw - 310px)*.5625)}.index-title{padding-left:17px;padding-right:17px}#navigation{padding-left:9px;padding-right:9px}}
@media(max-width:800px){
 .sidebar:not(:has(#editor-panel:not([hidden]))){margin:14px 0 20px;border-radius:14px;overflow:visible}
 .index-title{position:static;padding:20px 20px 15px;border-radius:14px 14px 0 0}
 .index-title h2{font-size:17px}
 #navigation{display:block;padding:5px 12px 18px}
 .index-group-heading{padding-top:17px}
 .index-group-heading h3{font-size:13px}
 .index-item.nav-item{padding:12px 10px;gap:11px}
 .index-item.nav-item strong{font-size:12px}
 .index-item.nav-item small{font-size:10px}
 .index-status{width:18px;height:18px;font-size:11px}
 .index-arrow{opacity:1}
}
