@media (prefers-color-scheme:dark){:root{--ink:#f4f6f8;--muted:#aeb8c2;--line:#2d3742;--surface:#11161b;--hero-start:#18232f;--hero-end:#11161b}.card:hover,.list a:hover{box-shadow:0 8px 24px #0008}.course aside a.active{background:#253750}.login{border-color:#526170}.login-page button{color:#cbd4dc;background:#27313a}}@media (max-width:900px){.links{gap:1rem}.links a{font-size:.9rem}.grid{grid-template-columns:repeat(3,1fr)}.course{grid-template-columns:220px minmax(0,1fr)}}@media (max-width:680px){nav{min-height:64px}.links{display:none}.login,.user{margin-left:auto}.grid{grid-template-columns:1fr 1fr}.groups section{grid-template-columns:1fr;gap:1.5rem}.course{display:block}.course aside{display:none}.course article{padding-top:2.25rem}.mobile{display:inline-block}}@media (max-width:680px){.curriculum thead{display:none}.curriculum,.curriculum tbody,.curriculum tr,.curriculum th,.curriculum td{width:100%;display:block}.curriculum tr{border:1px solid var(--line);border-radius:.7rem;margin-bottom:.9rem;overflow:hidden}.curriculum tbody th{border:0;border-bottom:1px solid var(--line)}.curriculum td{border:0;border-top:1px solid var(--line)}}:root{--ink:#17212b;--muted:#5f6b76;--blue:#2e5aa8;--line:#e5e9ed;--surface:#fff;--hero-start:#f5f8fc;--hero-end:#fff}*{box-sizing:border-box}body{background:var(--surface);color:var(--ink);margin:0;font-family:Arial,Apple SD Gothic Neo,sans-serif;line-height:1.65}a{color:inherit;text-decoration:none}header{background:var(--surface);border-bottom:1px solid var(--line);z-index:3;position:sticky;top:0}nav{align-items:center;gap:2rem;max-width:1200px;min-height:76px;margin:auto;padding:.7rem 1.25rem;display:flex}.brand{align-items:center;gap:.65rem;display:flex}.brand img{object-fit:contain;width:108px;height:52px}.brand strong{color:var(--ink);letter-spacing:.02em;text-transform:uppercase;flex-direction:column;justify-content:center;font-size:.98rem;font-weight:800;line-height:1.08;display:flex}.brand strong span:last-child{letter-spacing:.01em;margin-top:.2rem;font-size:.82em}.links{flex:1;justify-content:center;align-items:center;gap:clamp(1rem,2.5vw,2.5rem);display:flex}.links a{white-space:nowrap;font-weight:650}.links a:hover,.login:hover{color:var(--blue)}.login{border:1px solid #cbd5df;border-radius:99px;padding:.42rem .9rem;font-size:.9rem}.hero{background:linear-gradient(135deg,var(--hero-start),var(--hero-end));text-align:center;padding:clamp(5rem,11vw,8.5rem) 1.25rem}.hero>p,.label{color:var(--blue);letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.76rem;font-weight:800}.hero h1{letter-spacing:-.065em;margin:.25rem 0 1.2rem;font-size:clamp(2.4rem,6vw,4.7rem);line-height:1.13}.hero span{color:var(--muted);max-width:550px;margin:0 auto 2rem;display:block}.button{background:var(--blue);color:#fff;border-radius:.55rem;padding:.75rem 1.25rem;font-weight:700;display:inline-block}.section{text-align:center;max-width:1120px;margin:auto;padding:4.5rem 1.25rem}.section h2{letter-spacing:-.04em;margin:.3rem 0 2rem;font-size:2rem}.grid{text-align:left;grid-template-columns:repeat(3,1fr);gap:1rem;display:grid}.card{border:1px solid var(--line);border-radius:.9rem;min-height:215px;padding:1.35rem}.card:hover,.list a:hover{border-color:var(--blue);box-shadow:0 8px 24px #17212b14}.card b,.groups b{margin-bottom:1rem;font-size:2rem;display:block}.card h3{margin:.2rem 0;font-size:1.08rem}.card p,.intro,.groups p{color:var(--muted);margin:0;font-size:.92rem}.card small{color:var(--blue);margin-top:1.25rem;font-weight:700;display:block}.content{text-align:left;max-width:960px;min-height:calc(100vh - 140px)}.content h1{letter-spacing:-.06em;margin:.35rem 0 .5rem;font-size:clamp(2.2rem,5vw,3.4rem)}.groups{margin-top:3rem}.groups section{border-top:1px solid var(--line);grid-template-columns:minmax(180px,.8fr) 2fr;gap:3rem;padding:2rem 0;display:grid}.groups h2{margin:.2rem 0}.list{gap:.65rem;display:grid}.list a{border:1px solid var(--line);border-radius:.6rem;justify-content:space-between;align-items:center;padding:.8rem 1rem;font-weight:650;display:flex}.large{max-width:740px;margin-top:2.75rem}.back{color:var(--muted);margin-bottom:1.5rem;font-size:.88rem;display:inline-block}.course{grid-template-columns:260px minmax(0,760px);max-width:1120px;min-height:calc(100vh - 140px);margin:auto;display:grid}.course aside{border-right:1px solid var(--line);padding:3rem 1.5rem}.course aside p{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:.75rem;font-weight:800}.course aside>a:not(.back){border-radius:.4rem;padding:.5rem .6rem;font-size:.92rem;line-height:1.35;display:block}.course aside a.active{color:var(--blue);background:#edf3fc;font-weight:700}.course article{padding:3rem clamp(1.5rem,5vw,5rem) 5rem}.course article h1{letter-spacing:-.06em;font-size:clamp(2rem,4.5vw,3.25rem);line-height:1.18}.mobile{display:none}.login-page button{background:var(--surface);color:var(--ink);cursor:pointer;font:inherit;border:1px solid #cbd5df;border-radius:.55rem;width:100%;margin:1.5rem 0 .7rem;padding:.8rem 1.25rem;font-weight:700;display:block}.login-page small{color:var(--muted)}footer{color:#d8e0e7;text-align:center;background:#17212b;padding:2rem;font-size:.85rem}.user{align-items:center;gap:.6rem;display:flex}.user span:first-child{white-space:nowrap;font-size:.9rem;font-weight:650}.user form{margin:0}.user button{color:inherit;cursor:pointer;background:0 0;border:1px solid #cbd5df;border-radius:99px;padding:.35rem .8rem;font-size:.82rem}.user button:hover{color:var(--blue);border-color:#526170}@media (prefers-color-scheme:dark){:root{--ink:#f4f6f8;--muted:#aeb8c2;--line:#2d3742;--surface:#11161b;--hero-start:#18232f;--hero-end:#11161b}.card:hover,.list a:hover{box-shadow:0 8px 24px #0008}.course aside a.active{background:#253750}.login{border-color:#526170}.login-page button{color:#cbd4dc;background:#27313a}}@media (max-width:900px){.links{gap:1rem}.links a{font-size:.9rem}.grid{grid-template-columns:repeat(3,1fr)}.course{grid-template-columns:220px minmax(0,1fr)}}@media (max-width:680px){nav{min-height:64px}.links{display:none}.login,.user{margin-left:auto}.grid{grid-template-columns:1fr 1fr}.groups section{grid-template-columns:1fr;gap:1.5rem}.course{display:block}.course aside{display:none}.course article{padding-top:2.25rem}.mobile{display:inline-block}}.curriculum{border-collapse:collapse;text-align:left;width:100%;margin-top:.5rem}.curriculum th,.curriculum td{border:1px solid var(--line);vertical-align:top;padding:.85rem 1rem}.curriculum thead th{background:var(--hero-start);letter-spacing:-.01em;font-size:.95rem}.curriculum tbody th{background:var(--hero-start);white-space:nowrap;font-size:.95rem}.chip{border-radius:99px;margin:0 .3rem .45rem 0;padding:.28rem .7rem;font-size:.8rem;font-weight:650;line-height:1.4;display:inline-block}.chip.current{color:#b3540e;background:#fff1e0;border:1px solid #f2c9a0}.chip.planned{color:#086a7d;background:#e0f6fa;border:1px solid #a3dde9}.chip.revising{color:#5c6873;background:#f1f3f5;border:1px solid #d8dee4}.curriculum .none{color:var(--muted)}.legend{margin-top:1.25rem}.curriculum-footnote{color:var(--muted);margin-top:.9rem;font-size:.82rem;display:block}@media (max-width:680px){.curriculum thead{display:none}.curriculum,.curriculum tbody,.curriculum tr,.curriculum th,.curriculum td{width:100%;display:block}.curriculum tr{border:1px solid var(--line);border-radius:.7rem;margin-bottom:.9rem;overflow:hidden}.curriculum tbody th{border:0;border-bottom:1px solid var(--line)}.curriculum td{border:0;border-top:1px solid var(--line)}}.hero{padding:clamp(3.5rem,7vw,5.5rem) 1.25rem}.section{padding:3rem 1.25rem}.section h2{margin-bottom:1.35rem}.course-unavailable{border:1px solid var(--line);color:var(--muted);border-radius:.6rem;justify-content:space-between;align-items:center;padding:.8rem 1rem;font-weight:650;display:flex}.content.section{padding-top:2.5rem;padding-bottom:4rem}.content.section>.back{margin-bottom:.9rem}.content.section>h1{margin:.1rem 0 .55rem}.content.section>.intro{margin-bottom:0}.course-groups{gap:2rem;margin-top:2rem;display:grid}.course-groups section{margin:0}.course-groups h2{margin:0 0 .8rem;font-size:1.65rem}.course-groups .list{gap:.55rem}.course-item.current{color:#b3540e;background:#fff1e0;border-color:#f2c9a0}.course-item.planned{color:#086a7d;background:#e0f6fa;border-color:#a3dde9}.course-item.revising{color:#5c6873;background:#f1f3f5;border-color:#d8dee4}.course aside .course-unavailable{background:var(--hero-start);cursor:not-allowed;border:1px dashed #cfd8e1;border-radius:.45rem;justify-content:space-between;align-items:center;gap:.75rem;margin:.15rem 0;padding:.55rem .6rem;font-size:.92rem;font-weight:600;line-height:1.35;display:flex}.course aside .course-unavailable>span{min-width:0}.course aside .course-unavailable small{color:#8793a0;letter-spacing:-.02em;white-space:nowrap;font-size:.68rem;font-weight:700}.course aside .course-unavailable:hover{box-shadow:none;border-color:#cfd8e1}.course aside .course-item.current:not(.active){color:var(--ink);background:0 0;font-weight:500}.course aside .course-item.current:not(.active):hover{background:var(--hero-start);color:var(--blue)}.course-unavailable,.course-item.planned,.course-item.revising{color:var(--muted)!important;background:0 0!important;border:0 #0000!important}.course-name{align-items:center;gap:.65rem;min-width:0;display:flex}.track-pill{letter-spacing:-.02em;border:1px solid;border-radius:99px;flex-shrink:0;padding:.18rem .48rem;font-size:.68rem;font-weight:800;line-height:1.35;display:inline-block}.track-pill.required{color:#7e22ce;background:#f3e8ff;border-color:#d8b4fe}.track-pill.elective{color:#4338ca;background:#e0e7ff;border-color:#a5b4fc}.course-unavailable .track-pill{opacity:.72}.course aside .course-name{gap:.5rem}.course aside .track-pill{padding:.14rem .4rem;font-size:.62rem}.chip.offline{color:#77419a;background:#f4eafd;border:1px solid #d9baf3}.course-media{border-top:1px solid var(--line);margin-top:3rem;padding-top:2.5rem}.media-heading{justify-content:space-between;align-items:flex-end;gap:1.5rem;display:flex}.media-heading h2{letter-spacing:-.04em;margin:.2rem 0 .35rem;font-size:1.8rem}.media-description{color:var(--muted);margin:0}.handout-button{flex-shrink:0;font-size:.9rem}.video-section{margin-top:2.5rem}.video-section h3{margin:0 0 .8rem;font-size:1.15rem}.video-list{border-top:1px solid var(--line)}.video-item{border-bottom:1px solid var(--line)}.video-item>button{color:inherit;cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:.75rem;width:100%;padding:1rem .25rem;display:flex}.video-item>button:hover{color:var(--blue)}.video-item>a{color:inherit;align-items:center;gap:.75rem;width:100%;padding:1rem .25rem;text-decoration:none;display:flex}.video-item>a:hover{color:var(--blue)}.reflection-item>a{color:var(--blue);font-weight:700}.video-play{color:var(--blue);background:#f3f6fa;border-radius:50%;justify-content:center;align-items:center;width:1.8rem;height:1.8rem;font-size:.65rem;display:flex}.video-item.selected>button{color:var(--blue);font-weight:700}.video-action{color:var(--muted);white-space:nowrap;margin-left:auto;font-size:.82rem}.video-player{background:var(--hero-start);padding:1rem}.video-player iframe{aspect-ratio:16/9;border:0;width:100%;display:block}.video-player a{color:var(--blue);margin-top:.65rem;font-size:.82rem;font-weight:650;display:inline-block}.video-player a:hover{text-decoration:underline}@media (max-width:680px){.media-heading{align-items:flex-start;display:block}.handout-button{margin-top:1.25rem}.video-item>button,.video-item>a{padding:.9rem 0}.video-action{font-size:.75rem}.video-player{padding:.5rem}}.login-page{max-width:720px}.login-page h1{margin-bottom:1.25rem;font-size:clamp(3rem,8vw,5.5rem)}.login-page>p:not(.label){color:var(--muted);max-width:620px;font-size:1.08rem}.login-page .button{text-align:center;width:min(100%,360px);margin:1.75rem 0 .9rem;display:block}.login-page small{color:var(--muted);display:block}@font-face{font-family:Paperozi;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-1Thin.woff2)format("woff2");font-weight:100;font-display:swap}@font-face{font-family:Paperozi;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-2ExtraLight.woff2)format("woff2");font-weight:200;font-display:swap}@font-face{font-family:Paperozi;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-3Light.woff2)format("woff2");font-weight:300;font-display:swap}@font-face{font-family:Paperozi;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-4Regular.woff2)format("woff2");font-weight:400;font-display:swap}@font-face{font-family:Paperozi;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-5Medium.woff2)format("woff2");font-weight:500;font-display:swap}@font-face{font-family:Paperozi;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-6SemiBold.woff2)format("woff2");font-weight:600;font-display:swap}@font-face{font-family:Paperozi;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-7Bold.woff2)format("woff2");font-weight:700;font-display:swap}@font-face{font-family:Paperozi;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-8ExtraBold.woff2)format("woff2");font-weight:800;font-display:swap}@font-face{font-family:Paperozi;src:url(https://cdn.jsdelivr.net/gh/projectnoonnu/2408-3@1.0/Paperlogy-9Black.woff2)format("woff2");font-weight:900;font-display:swap}body{letter-spacing:-.015em;font-family:Paperozi,Apple SD Gothic Neo,sans-serif}nav{gap:clamp(1rem,3vw,2.5rem)}.brand strong{letter-spacing:.04em;letter-spacing:.01em;font-size:1.14rem;font-weight:400;line-height:.92}.brand strong span:first-child{color:#ff654d;font-family:Felipa,Georgia,Times New Roman,serif}.brand strong span:last-child{color:var(--ink);letter-spacing:.08em;text-transform:uppercase;margin-top:.28rem;font-family:Avenir Next,Helvetica Neue,Arial,sans-serif;font-size:.72em;font-weight:700}.links a{letter-spacing:-.025em;font-weight:600;transition:color .2s;position:relative}.links a:after{background:var(--blue);content:"";transform-origin:50%;border-radius:99px;width:100%;height:2px;transition:transform .2s;position:absolute;bottom:-.55rem;left:0;transform:scaleX(0)}.links a:hover,.links a.active{color:var(--blue)}.links a:hover:after,.links a.active:after{transform:scaleX(1)}.login,.user button{font-weight:600}.hero{padding-top:clamp(4.5rem,10vw,7.5rem);padding-bottom:clamp(4.5rem,10vw,7.5rem)}.hero>p,.label{letter-spacing:.08em;font-weight:700}.hero h1{letter-spacing:-.075em;font-weight:800}.hero span{letter-spacing:-.025em;font-weight:400}.button{letter-spacing:-.025em;font-weight:700}.section h2{letter-spacing:-.065em;font-weight:700}.card b,.groups b{font-weight:500}.card h3{letter-spacing:-.045em;font-weight:700}.card p,.intro,.groups p{letter-spacing:-.025em}.content h1,.course article h1,.login-page h1{font-weight:800}.list a,.course aside>a:not(.back){letter-spacing:-.03em;font-weight:600}.curriculum th,.curriculum thead th{font-weight:700}.chip{letter-spacing:-.035em;font-weight:600}.user{align-items:center;gap:.85rem}.user-profile{background:#f5f8fb;border:1px solid #dbe3ea;border-radius:999px;align-items:center;gap:.5rem;padding:.3rem .75rem .3rem .35rem;line-height:1.05;display:flex}.user-avatar{color:#fff;background:#17212b;border-radius:50%;justify-content:center;align-items:center;width:1.55rem;height:1.55rem;font-family:Paperozi,Apple SD Gothic Neo,sans-serif;font-size:.72rem;font-weight:700;display:flex}.user-name{color:var(--muted);letter-spacing:-.035em;text-overflow:ellipsis;white-space:nowrap;max-width:150px;font-family:Courier New,Courier,monospace;font-size:.76rem;font-weight:600;overflow:hidden}.user button{font-family:Paperozi,Apple SD Gothic Neo,sans-serif}@media (prefers-color-scheme:dark){.user-profile{background:#1b252e;border-color:#3c4b58}.user-avatar{color:#17212b;background:#ff654d}}.course article>div p{color:var(--muted);font-weight:300}.course article>div h1{font-weight:800}.links a,.login,.user button{font-weight:400}.hero>p,.label,.button,.card h3{font-weight:500}.card small{font-weight:400}.list a,.course-groups .list a,.course-item,.course-item .course-name,.course aside>a:not(.back),.course aside .course-unavailable{font-weight:300}.course aside .course-unavailable small{font-weight:400}.course aside .course-item.current:not(.active){font-weight:300}.course aside p,.track-pill{font-weight:500}.chip{font-weight:400}.curriculum tbody th,.curriculum td{font-weight:300}.curriculum thead th{font-weight:500}.user-name,.course-groups .course-item>span:last-child{font-weight:400}.course-groups .course-item{align-items:flex-start;gap:1.5rem}.course-groups .course-name{word-break:keep-all;flex:1;min-width:0;line-height:1.45}.course-groups .course-status{background:var(--hero-start);border-left:1px solid var(--line);color:var(--muted);white-space:nowrap;border-radius:.35rem;flex:none;padding:.35rem .6rem;font-size:.86em;line-height:1.35}.media-description{font-weight:300}.video-section h3{font-weight:600}.video-item>button{font-weight:300}.video-item.selected>button{font-weight:500}.video-action{font-weight:400}.nav-toggle{background:var(--surface);border:1px solid var(--line);color:var(--ink);cursor:pointer;font:inherit;white-space:nowrap;border-radius:999px;padding:.55rem .7rem;font-size:.78rem;line-height:1;display:none}@media (max-width:1100px) and (min-width:841px){nav{gap:1.15rem;padding-left:1rem;padding-right:1rem}.brand{gap:.45rem}.brand img{width:92px;height:46px}.brand strong{font-size:clamp(.8rem,1.8vw,1rem)}.links{gap:clamp(.65rem,1.6vw,1.25rem)}.links a{font-size:.86rem}.login{padding:.38rem .7rem;font-size:.82rem}.user{gap:.45rem}.user-profile{padding-right:.55rem}.user-name{max-width:96px}.user button{padding:.3rem .55rem;font-size:.75rem}}@media (max-width:840px){nav{gap:.65rem;min-height:68px;padding:.6rem 1rem;position:relative}.nav-toggle{justify-content:center;justify-self:end;align-items:center;padding:.4rem .7rem;font-size:.82rem;line-height:1;display:inline-flex}.links{background:var(--surface);border-bottom:1px solid var(--line);z-index:4;flex-direction:column;gap:0;padding:.45rem 1rem .7rem;display:none;position:absolute;top:100%;left:0;right:0;box-shadow:0 10px 20px #17212b12}.nav-open .links{display:flex}.links a{padding:.65rem .35rem;font-size:.95rem}.links a:after{width:calc(100% - .7rem);bottom:.25rem;left:.35rem}.login{padding:.4rem .7rem;font-size:.82rem;line-height:1}.user{gap:.4rem}.user-name{max-width:100px}}@media (max-width:600px){body{overflow-x:hidden}nav{grid-template-columns:minmax(0,1fr) auto 5.25rem;gap:.35rem;width:100%;min-width:0;min-height:64px;padding:.45rem .5rem;display:grid;overflow:visible}.brand{gap:.3rem;min-width:0;display:flex;overflow:hidden}.brand img{flex:0 0 52px;width:52px;height:32px}.brand strong{min-width:0;font-size:.7rem;overflow:hidden}.brand strong span{white-space:nowrap}.brand strong span:last-child{font-size:.58em}.user{justify-self:end;align-items:center;gap:.25rem;width:5.25rem;min-width:5.25rem;margin-left:0;display:flex}.user-profile{background:0 0;border:0;flex:0 0 1.45rem;min-width:1.45rem;padding:0;display:flex}.user-name{display:none}.user-avatar{width:1.45rem;height:1.45rem}.user form{flex:auto;min-width:0;display:block}.user button{white-space:nowrap;width:100%;padding:.22rem .2rem;font-size:.62rem;display:block}.links{padding-left:.5rem;padding-right:.5rem}.hero span{overflow-wrap:anywhere;width:100%;max-width:100%}}.brand strong span:first-child,.brand strong span:last-child{letter-spacing:.01em;text-transform:uppercase;font-family:Paperozi,Apple SD Gothic Neo,sans-serif;font-size:1em;font-weight:700;line-height:1}.brand strong span:first-child{color:#ff654d}.brand strong span:last-child{color:var(--ink);margin-top:.18rem}.brand strong{font-size:clamp(.55rem,1.35vw,.86rem)}.member-request{gap:.5rem;max-width:34rem;margin-top:2rem;display:grid}.member-request label{margin-top:.65rem;font-size:.88rem;font-weight:500}.member-request input{background:var(--surface);color:var(--ink);font:inherit;border:1px solid #cbd5df;border-radius:.45rem;padding:.7rem .8rem}.member-request input[readonly]{color:var(--muted);cursor:not-allowed}.member-request .button{cursor:pointer;font:inherit;border:0;margin-top:1rem}.member-request .button:disabled{cursor:wait;opacity:.65}.member-request-error{color:#b42318;margin:.35rem 0;font-size:.9rem}.member-request-success{border:1px solid #b8ddc5;border-radius:.6rem;max-width:34rem;margin-top:2rem;padding:1rem 1.1rem}.member-request-success p{color:var(--muted);margin:.25rem 0 0}.nav-external{text-align:center;line-height:1.15}
