.sidebar-panel{background:#ffffff0f;border-radius:12px;flex-shrink:0;padding:.75rem}.sidebar-panel-header{color:#e5e7eb;justify-content:space-between;align-items:center;padding:.25rem .25rem .5rem;display:flex}.sidebar-panel-title{letter-spacing:.01em;font-size:.95rem;font-weight:700}.sidebar-panel-subtitle{color:#9ca3af;margin-top:.15rem;font-size:.8rem}.sidebar-panel-count{color:#e5e7eb;background:#ffffff1a;border:1px solid #ffffff14;border-radius:10px;justify-content:center;align-items:center;min-width:32px;height:28px;font-size:.85rem;font-weight:700;display:inline-flex;box-shadow:inset 0 1px #ffffff0d}.sidebar-search{margin-bottom:.75rem}.sidebar-search-input{color:#e5e7eb;box-sizing:border-box;background:#ffffff0a;border:1px solid #ffffff14;border-radius:10px;outline:none;width:100%;padding:.65rem .75rem;font-size:.9rem;transition:all .2s}.sidebar-search-input:focus{border-color:#fff3;box-shadow:0 0 0 3px #ffffff14}.sidebar-divider{background:#ffffff1a;flex-shrink:0;height:1px;margin:1.5rem 0}.sidebar-contributions{border-top:1px solid #ffffff1a;margin-top:1rem;padding-top:1rem}.sidebar-contributions .contributions-graph{background:#ffffff0a;border:1px solid #ffffff1a;flex-direction:column;align-items:flex-start;gap:.5rem;width:100%;padding:.5rem}.sidebar-contributions .contributions-label{margin-bottom:.25rem;font-size:.8rem;font-weight:600}.sidebar-contributions .contributions-container{width:100%}.sidebar-contributions .contributions-grid{justify-content:flex-start;gap:.2rem;width:100%}.sidebar-contributions .contributions-day{width:8px;height:8px}.sidebar-contributions .contributions-legend{justify-content:center;width:100%;margin-top:.25rem;font-size:.65rem}.sidebar-contributions .contributions-tooltip{z-index:1000;position:fixed}
.course-tree{font-size:.875rem}.course-tree-node{margin:.125rem 0}.course-tree-header{color:#a1a1aa;border-radius:8px;align-items:center;gap:.75rem;padding:.625rem .875rem;transition:all .2s;display:flex}.course-tree-header:hover{color:#fff;background-color:#ffffff0d}.course-tree-header.active{color:#111827;background:#fff;box-shadow:0 8px 20px #00000040}.course-tree-toggle{cursor:pointer;width:1rem;height:1rem;color:inherit;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:transform .2s;display:flex}.course-tree-toggle:hover{transform:scale(1.1)}.course-tree-toggle-spacer{width:1rem}.course-tree-icon{color:inherit;flex-shrink:0}.course-tree-link{color:inherit;flex:1;min-width:0;font-size:.875rem;font-weight:500;text-decoration:none;transition:color .2s}.course-tree-count{color:#71717a;margin-left:auto;font-size:.75rem;font-weight:500}.course-tree-header.active .course-tree-count{color:#ffffffb3}.course-tree-children{margin-left:0}.course-tree-lesson{color:#a1a1aa;border-radius:8px;align-items:center;gap:.75rem;padding:.625rem .875rem;transition:all .2s;display:flex}.course-tree-lesson:hover{color:#fff;background-color:#ffffff0d}.course-tree-lesson.active{color:#111827;background:#fff;box-shadow:0 8px 20px #00000040}.course-tree-lesson .course-tree-link{font-size:.875rem}@media (prefers-color-scheme:dark){.course-tree-header.active,.course-tree-lesson.active{box-shadow:0 2px 8px #581c8759}}
.wiki-search{margin-bottom:2rem;position:relative}.wiki-search-input{background:var(--background);width:100%;color:var(--foreground);border:1px solid #e5e7eb;border-radius:.5rem;padding:.75rem 1rem;font-size:1rem}.wiki-search-input:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 3px #3b82f61a}.wiki-search-results{background:var(--background);z-index:50;border:1px solid #e5e7eb;border-radius:.5rem;max-height:400px;margin-top:.5rem;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 4px 6px -1px #0000001a}.wiki-search-list{margin:0;padding:0;list-style:none}.wiki-search-item{border-bottom:1px solid #e5e7eb}.wiki-search-item:last-child{border-bottom:none}.wiki-search-link{color:var(--foreground);padding:.75rem 1rem;text-decoration:none;transition:background-color .2s;display:block}.wiki-search-link:hover{background-color:#0000000d}.wiki-search-title{margin-bottom:.25rem;font-weight:500;display:block}.wiki-search-slug{color:#6b7280;font-size:.875rem;display:block}.wiki-search-empty{text-align:center;color:#6b7280;padding:2rem}.wiki-page{padding:2rem 0}@media (prefers-color-scheme:dark){.wiki-search-input{border-color:#374151}.wiki-search-results{border-color:#374151;box-shadow:0 4px 6px -1px #0000004d}.wiki-search-item{border-bottom-color:#374151}.wiki-search-link:hover{background-color:#ffffff0d}}
.tree-view{font-family:monospace;line-height:1.8}.tree-node{margin:.25rem 0}.tree-node-header{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:.5rem;padding:.25rem 0;display:flex}.tree-toggle{cursor:pointer;width:1rem;height:1rem;color:var(--foreground);background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex}.tree-toggle-icon{font-size:.75rem;line-height:1}.tree-toggle-spacer{width:1rem}.tree-folder-icon,.tree-file-icon{font-size:1rem}.tree-node-name{font-weight:500}.tree-count{color:#6b7280;margin-left:.5rem;font-size:.875rem}.tree-node-children{margin-left:0}.tree-post{align-items:center;gap:.5rem;padding:.25rem 0;display:flex}.tree-node-header.active,.tree-post.active{color:#111827;background:#fff;box-shadow:0 8px 20px #00000040}.tree-post-link{color:var(--foreground);text-decoration:none;transition:color .2s}.tree-post-link:hover{color:#3b82f6;text-decoration:underline}.tree-empty{text-align:center;color:#6b7280;padding:2rem}
.contributions-modal-overlay{z-index:1000;background:#000000b3;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.contributions-modal{background:#1a1a1a;border:1px solid #fff3;border-radius:16px;flex-direction:column;width:100%;max-width:600px;max-height:80vh;display:flex;box-shadow:0 20px 40px #00000080}.contributions-modal-header{border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;padding:1.25rem 1.5rem;display:flex}.contributions-modal-title{color:#fff;margin:0;font-size:1.1rem;font-weight:600}.contributions-modal-close{color:#ffffffb3;cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;padding:.25rem;transition:all .2s;display:flex}.contributions-modal-close:hover{color:#fff;background:#ffffff1a}.contributions-modal-content{flex:1;padding:1.5rem;overflow-y:auto}.contributions-modal-loading,.contributions-modal-empty{text-align:center;color:#fff9;padding:2rem 0;font-size:.9rem}.contributions-modal-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.contributions-modal-item{margin:0}.contributions-modal-link{color:#fff;cursor:pointer;background:#ffffff0d;border:1px solid #ffffff1a;border-radius:10px;align-items:center;gap:.75rem;padding:.75rem 1rem;text-decoration:none;transition:all .2s;display:flex}.contributions-modal-link:hover{background:#ffffff1a;border-color:#fff3;transform:translate(4px)}.contributions-modal-icon{color:#ffffffb3;flex-shrink:0}.contributions-modal-file-title{flex:1;min-width:0;font-weight:500}.contributions-modal-file-path{color:#ffffff80;text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-family:monospace;font-size:.8rem;overflow:hidden}@media (max-width:768px){.contributions-modal{max-width:100%;max-height:90vh}.contributions-modal-header{padding:1rem 1.25rem}.contributions-modal-content{padding:1rem}.contributions-modal-file-path{display:none}}
.contributions-graph{color:#fff;background:#ffffff14;border:1px solid #ffffff29;border-radius:12px;align-items:center;gap:.75rem;padding:.45rem .75rem;font-size:.875rem;display:inline-flex;position:relative}.contributions-label{opacity:.8;white-space:nowrap}.contributions-container{flex-direction:column;align-items:flex-start;gap:.5rem;display:flex}.contributions-months{align-items:flex-start;gap:.25rem;height:16px;margin-left:20px;display:flex}.contributions-month-label{color:#fff9;text-align:left;min-width:11px;font-size:.7rem;line-height:1}.contributions-grid-wrapper{align-items:flex-start;gap:.5rem;display:flex}.contributions-days-labels{flex-direction:column;justify-content:flex-start;align-items:flex-end;gap:.25rem;margin-top:0;padding-top:0;display:flex}.contributions-day-label{color:#ffffff80;text-align:right;box-sizing:border-box;min-width:18px;height:10px;min-height:10px;margin:0;padding:0;font-size:.7rem;line-height:10px;display:block}.contributions-grid{align-items:flex-start;gap:.25rem;margin-top:0;padding-top:0;display:flex}.contributions-week{flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:.25rem;margin-top:0;padding-top:0;display:flex}.contributions-day{cursor:pointer;box-sizing:border-box;border-radius:2px;flex-shrink:0;width:10px;height:10px;min-height:10px;transition:all .2s;position:relative}.contributions-day.level-0{background:#ffffff1a;border:1px solid #ffffff26}.contributions-day.level-1{background:#2ea04399;border:1px solid #2ea043cc}.contributions-day.level-2{background:#2ea043bf;border:1px solid #2ea043e6}.contributions-day.level-3{background:#2ea043e6;border:1px solid #2ea043}.contributions-day.level-4{background:#2ea043;border:1px solid #2ea043}.contributions-day.clickable{cursor:pointer}.contributions-day:hover,.contributions-day.hovered{z-index:10;transform:scale(1.3);box-shadow:0 0 8px #2ea04399}.contributions-day.clickable:hover{cursor:pointer}.contributions-grid-loading{color:#ffffff80;font-size:.75rem}.contributions-tooltip{white-space:nowrap;pointer-events:none;z-index:100;background:#000000e6;border:1px solid #fff3;border-radius:6px;margin-bottom:.5rem;padding:.5rem .75rem;font-size:.75rem;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.contributions-legend{opacity:.7;align-items:center;gap:.5rem;font-size:.7rem;display:flex}.contributions-legend-text{font-size:.7rem}.contributions-legend-items{gap:.2rem;display:flex}.contributions-legend-item{border-radius:2px;width:8px;height:8px}.contributions-legend-item.level-0{background:#ffffff1a;border:1px solid #ffffff26}.contributions-legend-item.level-1{background:#2ea04399}.contributions-legend-item.level-2{background:#2ea043bf}.contributions-legend-item.level-3{background:#2ea043e6}.contributions-legend-item.level-4{background:#2ea007}@media (min-width:769px){.contributions-grid-wrapper{align-items:flex-start}.contributions-days-labels{align-items:flex-end;gap:.25rem}.contributions-day-label{box-sizing:border-box;height:10px;min-height:10px;line-height:10px;display:block}.contributions-week{align-items:flex-start;gap:.25rem}.contributions-day{box-sizing:border-box;height:10px;min-height:10px;display:block}}@media (max-width:768px){.contributions-graph{flex-direction:column;align-items:flex-start;gap:.5rem;padding:.35rem .6rem}.contributions-container{width:100%}.contributions-months{gap:.15rem;margin-left:16px}.contributions-month-label{min-width:9px;font-size:.65rem}.contributions-day-label{min-width:14px;height:8px;font-size:.65rem;line-height:8px}.contributions-grid-wrapper{gap:.35rem}.contributions-grid{gap:.15rem;padding-bottom:.25rem;overflow-x:auto}.contributions-day{width:8px;height:8px}.contributions-legend{flex-wrap:wrap;font-size:.65rem}.contributions-label{font-size:.8rem}}@media (max-width:480px){.contributions-graph{padding:.3rem .5rem}.contributions-day{width:7px;height:7px}.contributions-legend{display:none}}
.tree-node-header{color:#a1a1aa;cursor:pointer;border-radius:10px;align-items:start;gap:.5rem;padding:.5rem .75rem;transition:all .2s;display:flex}.tree-node-header:hover{color:#fff;background-color:#ffffff14}.tree-node-header.active{color:#111827;background:#fff;box-shadow:0 8px 20px #00000040}.tree-toggle{cursor:pointer;width:1rem;height:1rem;color:inherit;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:transform .2s;display:flex}.tree-toggle:hover{transform:scale(1.1)}.tree-toggle-spacer{width:1rem}.tree-folder-icon,.tree-file-icon{color:inherit;flex-shrink:0}.tree-node-name{min-width:0;color:inherit;flex:1}.tree-count{color:#71717a;margin-left:auto}.tree-node-children{margin-left:0}.tree-post{color:#a1a1aa;border-radius:10px;align-items:center;gap:.5rem;padding:.5rem .75rem;transition:all .2s;display:flex}.tree-post:hover{color:#fff;background-color:#ffffff14}.tree-post.active{color:#111827;background:#fff;box-shadow:0 8px 20px #00000040}.tree-post-link{color:inherit;text-decoration:none;transition:color .2s}.tree-empty{text-align:center;color:#71717a;font-size:.875rem}
.header{z-index:120;color:#fff;background:#0a0a0a;border:1px solid #ffffff1f;border-radius:30px;width:90%;min-height:64px;margin:.5rem auto 1rem;display:none;position:sticky;top:0;box-shadow:0 8px 20px #00000059}.header-container{justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1.25rem;display:flex}.header-actions{align-items:center;gap:.75rem;display:flex}.header-toggle{color:#fff;cursor:pointer;background:#ffffff14;border:1px solid #ffffff29;border-radius:12px;align-items:center;gap:.5rem;padding:.45rem .75rem;transition:background .2s,border-color .2s,transform .1s;display:inline-flex}.header-toggle:hover{background:#ffffff29;border-color:#ffffff3d}.header-toggle:active{transform:translateY(1px)}.header-logo{color:#fff;align-items:center;gap:.5rem;font-size:1.1rem;font-weight:700;text-decoration:none;display:inline-flex}.header-stats{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}@media (max-width:900px){.header{display:block}}@media (min-width:901px){.header{display:none}}
.visit-counter{color:#fff;background:#ffffff14;border:1px solid #ffffff29;border-radius:12px;align-items:center;gap:.5rem;padding:.45rem .75rem;font-size:.875rem;display:inline-flex}.visit-counter-label{opacity:.8}.visit-counter-value{color:#fff;font-weight:600}
