@import"https://fonts.googleapis.com/css2?family=VT323&display=swap";@import"https://fonts.googleapis.com/css2?family=Space+Mono:wght@400;700&display=swap";:root{--terminal-black: #121212;--terminal-dark-blue: #1a1a2e;--terminal-blue: #16213e;--terminal-green: #50fa7b;--terminal-bright-green: #5fff87;--terminal-cyan: #8be9fd;--terminal-amber: #ffb86c;--terminal-magenta: #ff79c6;--terminal-red: #ff5555;--terminal-gray: #6272a4;--terminal-light-gray: #f8f8f2;--bg-primary: var(--terminal-dark-blue);--bg-secondary: var(--terminal-black);--bg-tertiary: var(--terminal-blue);--text-primary: var(--terminal-light-gray);--text-secondary: var(--terminal-gray);--accent-primary: var(--terminal-green);--accent-secondary: var(--terminal-cyan);--accent-tertiary: var(--terminal-amber);--border-color: var(--terminal-green);--hover-color: var(--terminal-bright-green)}.light-theme{--bg-primary: #f0f0f0;--bg-secondary: #ffffff;--bg-tertiary: #e0e0e0;--text-primary: #121212;--text-secondary: #4a4a4a;--accent-primary: #2a9d8f;--accent-secondary: #264653;--accent-tertiary: #e76f51;--border-color: #2a9d8f;--hover-color: #38b2a3}body{margin:0;padding:0;background-color:var(--bg-primary);color:var(--text-primary);font-family:Space Mono,monospace;transition:background-color .3s ease,color .3s ease}.container{max-width:1200px;margin:0 auto;padding:20px}.nav-column{position:sticky;top:20px;align-self:start;height:calc(100vh - 40px)}.terminal-window{background-color:var(--bg-secondary);border:2px solid var(--border-color);border-radius:5px;margin-bottom:20px;overflow:hidden;transition:background-color .3s ease,border-color .3s ease}.terminal-header{background-color:var(--bg-tertiary);padding:10px 15px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-color);transition:background-color .3s ease,border-color .3s ease}.terminal-title{color:var(--accent-primary);font-family:VT323,monospace;font-size:20px;margin:0;transition:color .3s ease}.terminal-buttons{display:flex;gap:6px}.terminal-button{width:12px;height:12px;border-radius:50%}.button-red{background-color:var(--terminal-red)}.button-amber{background-color:var(--terminal-amber)}.button-green{background-color:var(--terminal-green)}.terminal-body{padding:20px;font-family:Space Mono,monospace;font-size:16px;line-height:1.5;color:var(--text-primary);transition:color .3s ease}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.cursor{display:inline-block;width:10px;height:18px;background-color:var(--accent-primary);animation:blink 1s step-end infinite;margin-left:5px;vertical-align:middle;transition:background-color .3s ease}.nav-items{margin-bottom:20px}.nav-item{padding:8px 0;cursor:pointer;transition:color .2s}.nav-item:hover{color:var(--hover-color)}.nav-prefix{color:var(--accent-tertiary);margin-right:10px;transition:color .3s ease}.terminal-cmd{margin-top:30px;border-top:1px solid var(--text-secondary);padding-top:15px;transition:border-color .3s ease}.cmd-history{color:var(--text-secondary);font-size:14px;margin-bottom:10px;transition:color .3s ease}.cmd-input{display:flex;align-items:center}.cmd-input span{color:var(--accent-primary);margin-right:8px;transition:color .3s ease}.cmd-input input{background:transparent;border:none;color:var(--accent-primary);font-family:VT323,monospace;font-size:16px;width:100%;outline:none;transition:color .3s ease}.syllabus-layout{display:grid;grid-template-columns:1fr 3fr;gap:20px}@media (max-width: 768px){.syllabus-layout{grid-template-columns:1fr}}.section{margin-bottom:30px}.section-title{color:var(--hover-color);font-size:22px;margin-bottom:15px;position:relative;padding-left:20px;font-family:VT323,monospace;transition:color .3s ease}.section-title:before{content:">";position:absolute;left:0;color:var(--accent-secondary);transition:color .3s ease}.terminal-list{list-style-type:none;padding-left:20px}.terminal-list li{margin-bottom:10px;position:relative;padding-left:15px}.terminal-list li:before{content:"•";position:absolute;left:0;color:var(--accent-tertiary);transition:color .3s ease}.course-meta{display:flex;flex-wrap:wrap;gap:10px;margin-top:15px}.meta-tag{background-color:var(--bg-tertiary);border:1px solid var(--text-secondary);color:var(--accent-secondary);padding:4px 8px;font-family:VT323,monospace;font-size:18px;transition:all .3s ease}.weeks-container{display:flex;flex-direction:column;gap:25px}.week-item{border-left:2px solid var(--accent-primary);padding-left:15px;transition:border-color .2s}.week-item:hover{border-left-color:var(--hover-color)}.week-header{margin-bottom:10px}.week-number{color:var(--accent-tertiary);font-family:VT323,monospace;font-size:20px;margin-right:10px;transition:color .3s ease}.week-title{color:var(--accent-secondary);font-weight:700;transition:color .3s ease}.week-content{padding-left:10px}.content-item{margin-bottom:5px}.due-section h4,.homework-section h4{color:var(--terminal-magenta);font-family:VT323,monospace;font-size:18px;margin-bottom:8px;margin-top:15px;transition:color .3s ease}.path-options{display:flex;flex-direction:column;gap:30px;margin-top:20px}.assignment-toggle{display:flex;margin:20px 0;gap:15px}.toggle-btn{background-color:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:5px;color:var(--text-primary);cursor:pointer;font-family:Space Mono,monospace;padding:8px 15px;display:flex;align-items:center;gap:8px;transition:all .2s ease}.toggle-btn:hover{background-color:var(--bg-primary);border-color:var(--accent-primary)}.toggle-btn.active{background-color:var(--accent-primary);color:var(--bg-secondary)}.toggle-icon{font-family:VT323,monospace;font-size:20px}.path{border:1px solid var(--border-color);border-radius:5px;padding:15px;background-color:var(--bg-tertiary);margin-bottom:25px;transition:all .3s ease}.path h4{color:var(--accent-tertiary);font-family:VT323,monospace;font-size:20px;margin-top:5px;margin-bottom:15px;transition:color .3s ease}.light-theme .path{background-color:#e0e0e04d}.path-title{color:var(--accent-secondary);font-family:VT323,monospace;font-size:22px;margin-top:0;margin-bottom:15px;border-bottom:1px solid var(--text-secondary);padding-bottom:8px;transition:color .3s ease,border-color .3s ease}.assignment{margin-bottom:20px}.assignment h5{color:var(--accent-tertiary);font-family:VT323,monospace;font-size:18px;margin-bottom:10px;transition:color .3s ease}.assignment-details{padding-left:15px}.assignment-description{color:var(--text-primary);margin-bottom:5px;margin-top:15px;transition:color .3s ease}.assessment-table{display:flex;gap:30px;margin-top:15px}.assessment-column{flex:1}.assessment-column h4{color:var(--accent-secondary);font-family:VT323,monospace;font-size:18px;margin-bottom:10px;transition:color .3s ease}.grading-note{color:var(--accent-tertiary);font-weight:700;margin-top:15px;text-align:center;transition:color .3s ease}.shared-requirements{margin-bottom:30px}.requirement-group{margin-bottom:15px}.requirement-group h4{color:var(--accent-tertiary);font-family:VT323,monospace;font-size:18px;margin-bottom:10px;transition:color .3s ease}.resources-section{margin-top:20px}.resource-list li{margin-bottom:15px}.resource-list a{color:var(--accent-secondary);text-decoration:none;transition:color .2s}.resource-list a:hover{color:var(--hover-color);text-decoration:underline}.games-section{margin-top:20px}.game-category{margin-bottom:20px}.game-category h4{color:var(--accent-tertiary);font-family:VT323,monospace;font-size:18px;margin-bottom:10px;transition:color .3s ease}.cost-notes,.access-notes{margin-top:20px}.cost-notes h4{color:var(--terminal-magenta);font-family:VT323,monospace;font-size:18px;margin-bottom:10px;transition:color .3s ease}.policy{margin-bottom:20px}.policy h3{color:var(--accent-tertiary);font-family:VT323,monospace;font-size:20px;margin-bottom:10px;transition:color .3s ease}a{color:var(--accent-secondary);text-decoration:none;transition:color .2s}a:hover{color:var(--hover-color);text-decoration:underline}.info-content{max-width:800px;line-height:1.7}.info-content p{margin-bottom:18px}h1{font-family:VT323,monospace;font-size:32px;font-weight:400;margin-top:0;color:var(--text-primary);transition:color .3s ease}h2{font-family:VT323,monospace;font-size:24px;font-weight:400;color:var(--text-primary);transition:color .3s ease}h3{font-family:VT323,monospace;font-size:22px;font-weight:400;color:var(--hover-color);margin-bottom:15px;margin-top:25px;transition:color .3s ease}p{margin-bottom:15px;line-height:1.6}.nav-item.active{color:var(--hover-color);position:relative}.nav-item.active:after{content:"<";position:absolute;right:10px;color:var(--accent-primary);transition:color .3s ease}.theme-toggle-container{position:absolute;top:15px;right:15px;z-index:100}.theme-toggle-btn{background:transparent;border:none;cursor:pointer;padding:0;color:var(--accent-primary);font-family:VT323,monospace;transition:color .2s ease,transform .2s ease;outline:none}.theme-toggle-btn:hover{color:var(--hover-color);transform:scale(1.1)}.theme-toggle-btn:active{transform:scale(.95)}.toggle-icon{font-size:22px;line-height:1;display:block}.view-mode-controls{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;border-bottom:1px dashed var(--text-secondary);padding-bottom:10px}.view-toggle-button{background-color:transparent;border:none;color:var(--accent-primary);font-family:VT323,monospace;font-size:20px;cursor:pointer;transition:color .2s;padding:0;margin-right:15px}.view-toggle-button:hover{color:var(--hover-color)}.carousel-view{display:flex;flex-direction:column;gap:20px}.carousel-content{min-height:350px;position:relative}.carousel-navigation{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;font-family:VT323,monospace}.carousel-nav-btn{background-color:transparent;border:none;color:var(--accent-primary);cursor:pointer;transition:color .2s;font-family:VT323,monospace;font-size:20px;padding:0 5px}.carousel-nav-btn:hover{color:var(--hover-color)}.carousel-progress{display:flex;flex-direction:column;align-items:center;gap:5px}.terminal-progress{color:var(--accent-tertiary);font-family:VT323,monospace;font-size:18px}.week-quick-nav{display:flex;gap:8px;align-items:center}.week-nav-item{color:var(--text-secondary);cursor:pointer;transition:color .2s;font-family:VT323,monospace;font-size:16px;position:relative}.week-nav-item:hover{color:var(--accent-secondary)}.week-nav-item.active{color:var(--accent-primary)}.week-nav-item.active:after{content:"";position:absolute;width:100%;height:2px;background-color:var(--accent-primary);bottom:-3px;left:0}.carousel-week{border:1px solid var(--border-color);border-radius:5px;padding:20px;background-color:var(--bg-tertiary);opacity:0;animation:fadeIn .3s forwards}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width: 768px){.carousel-content{min-height:450px}.carousel-week{padding:15px}.view-toggle-button{font-size:22px}}.retro-toggle-container{display:flex;justify-content:center;margin:20px 0}.retro-toggle{display:flex;justify-content:center;font-family:VT323,monospace;font-size:20px;color:var(--text-secondary)}.toggle-option{cursor:pointer;padding:0 10px;transition:color .2s ease}.toggle-option:hover{color:var(--accent-primary)}.toggle-option.active{color:var(--accent-tertiary)}.toggle-separator{color:var(--text-secondary);padding:0 5px}.assignment-content{margin-top:20px;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.copyright{font-family:Space Mono,monospace;font-size:14px;color:var(--text-secondary);text-align:center;margin-top:20px;opacity:.8;transition:color .3s ease}.meta-link{background-color:var(--bg-tertiary);border:1px solid var(--accent-secondary);color:var(--accent-secondary);padding:4px 8px;font-family:VT323,monospace;font-size:18px;transition:all .3s ease;cursor:pointer;text-decoration:none}.meta-link:hover{background-color:var(--accent-secondary);color:var(--bg-secondary);text-decoration:none}.more-resources-section h4{color:var(--accent-secondary);font-family:VT323,monospace;font-size:18px;margin-bottom:8px;margin-top:15px;transition:color .3s ease}.more-resources-section .resource-list li{margin-bottom:8px;position:relative;padding-left:15px}.more-resources-section .resource-list li:before{content:">";position:absolute;left:0;color:var(--accent-secondary);transition:color .3s ease}.resource-link{color:var(--text-primary);text-decoration:none;transition:color .2s ease}.resource-link:hover{color:var(--hover-color);text-decoration:none}.nested-list{margin-top:8px;margin-bottom:0}.nested-list li{margin-bottom:6px}.nested-list li:last-child{margin-bottom:0}
