@import url("https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:ital,wght@0,300;0,400;0,500;1,300;1,400&display=swap");:root{--black:#0a0a0a;--border:#232323;--green:#5ddb85;--green-dim:#1e5c35;--green-glow:rgba(93,219,133,.06);--amber:#d4a057;--blue:#6ab0d4;--white:#ebebeb;--mid:#bbb;--dim:#777;--font:"IBM Plex Mono","Courier New",monospace}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:15px}body{background-color:var(--black);color:var(--white);font-family:var(--font);font-weight:300;line-height:1.6;min-height:100vh}body:after{content:"";position:fixed;inset:0;pointer-events:none;z-index:999;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.025) 0,rgba(0,0,0,.025) 4px)}a{color:var(--green)}a,a:hover{text-decoration:none}.terminal{max-width:820px;margin:0 auto;padding:2.5rem 1.5rem 5rem}.prompt{display:flex;align-items:baseline;gap:0;margin-bottom:1rem;flex-wrap:wrap}.prompt-user{color:var(--green);font-weight:500}.prompt-at{color:var(--dim)}.prompt-host{color:var(--blue);font-weight:400}.prompt-path{color:var(--dim)}.prompt-sym{color:var(--green);margin:0 .5rem}.prompt-cmd{color:var(--white);font-weight:400}.output-header{margin-bottom:2.8rem}.output-title{font-size:1.1rem;font-weight:500;color:var(--white);margin-bottom:.25rem;letter-spacing:.02em}.output-sub{font-size:.76rem;color:var(--dim)}.hi-green{color:var(--green)}.semester-group{margin-top:2.2rem}.semester-label{font-size:.7rem;color:var(--dim);letter-spacing:.12em;text-transform:uppercase;padding-bottom:.5rem;margin-bottom:.2rem}.course-row,.semester-label{border-bottom:1px solid var(--border)}.course-row{display:grid;grid-template-columns:1.4rem 1fr 4.5rem;grid-gap:0 1rem;gap:0 1rem;align-items:start;padding:.7rem .4rem;text-decoration:none;color:inherit;transition:background-color .12s ease;cursor:default}a.course-row{cursor:pointer}a.course-row:hover{background-color:var(--green-glow)}.status-dot{display:block;width:7px;height:7px;border-radius:50%;margin-top:.45rem;flex-shrink:0}.dot-active{background-color:var(--green);box-shadow:0 0 6px var(--green)}.dot-wip{background-color:var(--amber);opacity:.7}.dot-archived{background-color:var(--border)}.course-main{min-width:0}.course-name-row{display:flex;align-items:baseline;gap:.5rem}.course-name{font-size:.9rem;font-weight:500;color:var(--white);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.status-archived .course-name,.status-wip .course-name{color:var(--dim)}.course-arrow{color:var(--green);font-size:.85rem;opacity:0;transform:translateX(-4px);transition:opacity .15s ease,transform .15s ease;flex-shrink:0}a.course-row:hover .course-arrow{opacity:1;transform:translateX(0)}.course-desc{display:block;font-size:.72rem;color:var(--dim);margin-top:.15rem;font-style:italic;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}a.course-row:hover .course-desc{color:var(--mid)}.course-wip-note{display:block;font-size:.68rem;color:var(--border);margin-top:.15rem;font-style:italic;letter-spacing:.04em}.course-right{text-align:right;padding-top:.1rem}.course-lec-count{font-size:.68rem;color:var(--dim)}.cursor{display:inline-block;width:.5em;height:1em;background-color:var(--green);vertical-align:text-bottom;margin-left:.1em;animation:blink 1.1s step-end infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.term-footer{margin-top:4rem;padding-top:1rem;border-top:1px solid var(--border);font-size:.68rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:.5rem}.term-footer,.term-footer a{color:var(--dim)}.term-footer a:hover{color:var(--green)}@keyframes fadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.fi{opacity:0;animation:fadeIn .25s ease forwards}.fi-1{animation-delay:.05s}.fi-2{animation-delay:.12s}.fi-3{animation-delay:.2s}.fi-4{animation-delay:.28s}.fi-5{animation-delay:.36s}.fi-6{animation-delay:.44s}.fi-7{animation-delay:.52s}.fi-8{animation-delay:.6s}.fi-9{animation-delay:.68s}.fi-10{animation-delay:.76s}@media (max-width:560px){.terminal{padding:1.5rem 1rem 3rem}.course-row{grid-template-columns:1.4rem 1fr}.course-right{display:none}.course-desc,.course-name{white-space:normal}.prompt{font-size:.82rem}}