html:has(.night),body.night{background:#0d111d;color:#eef0f8}.night{position:relative;isolation:isolate}.sky-scene{position:absolute;inset:76px 0 auto;height:1100px;overflow:hidden;z-index:-1;pointer-events:none}.sky-art{position:absolute;inset:-24px;background:#051c2d url('assets/night-sky.png') center top/cover no-repeat;animation:sky-breathe 30s cubic-bezier(.45,0,.55,1) infinite alternate}.night-stars{width:100%;height:100%;position:absolute;inset:0}.night-stars circle{fill:#e8eaff;animation:starlight 6s cubic-bezier(.45,0,.55,1) infinite alternate}.night header{margin:0 auto!important;background:#11121f!important;border:0!important;border-radius:0!important;padding:12px 32px;max-width:1440px;min-height:76px;color:#f6f4fa}.night .brand img{width:42px;height:48px;mix-blend-mode:normal;border-radius:6px}.night .brand>span{font-size:16px;letter-spacing:.3px}.night .brand small{font-size:8px;color:#b1b5c8;letter-spacing:1.5px}.night nav{font-size:12px;color:#c6c9d6;gap:28px}.night nav a:hover{color:#fff}.night .preview-badge{font-size:10px;color:#c5c8d7;border-color:#3f4256}.night .preview-badge i{background:#c3a2ee}.night main{padding:0 48px}.night-hero{text-align:center;display:flex;flex-direction:column;align-items:center;padding:72px 16px 64px;min-height:490px}.night-term{font-size:12px;color:#d4c9e4;letter-spacing:2px;margin-bottom:20px}.night-hero h1{font-size:52px;font-weight:500;line-height:1.32;letter-spacing:-1.5px;color:#fffaf4;max-width:800px;animation:night-arrive 1s cubic-bezier(.16,1,.3,1) both}.night-intro{font-size:14px;line-height:1.9;color:#c1cbdc;margin-top:20px;animation:night-arrive 1.2s cubic-bezier(.16,1,.3,1) both}.night-cta{display:flex;align-items:center;gap:24px;padding:14px 24px;background:#724f9c;color:#fff;border-radius:6px;font-size:13px;margin-top:28px;box-shadow:0 8px 24px #05091640;transition:background .3s cubic-bezier(.16,1,.3,1),transform .5s cubic-bezier(.16,1,.3,1)}.night-cta:hover{background:#8963b7;transform:translateY(-2px)}.night-cta svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.5}.night-scroll{font-size:10px;color:#aebbd0;margin-top:24px}.night .planner{padding:0 0 40px;margin:auto;background:#11131e;border:1px solid #414154;border-radius:14px;box-shadow:0 24px 64px #02061166;overflow:hidden;max-width:1220px}.night .section-heading{position:relative;padding:76px 28px 0;margin-bottom:24px;align-items:end}.night .section-heading h2{font-size:28px;color:#f0eff8;letter-spacing:-.5px}.night .section-heading p:not(.eyebrow){font-size:11px;color:#b1b8c9;max-width:none}.panel-top{position:absolute;left:0;right:0;top:0;padding:14px 24px;border-bottom:1px solid #2a2d3c;display:flex;justify-content:space-between;font-size:10px;color:#aeb3c6}.panel-top i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#c5a7ee;margin-right:8px}.night .grade{font-size:36px;color:#d5baf9}.night .grade span{color:#b5b9cb}.night .workspace{padding:0 24px;grid-template-columns:minmax(0,1fr) 224px;gap:20px}.night .schedule-panel{box-shadow:none;border:1px solid #d9d8da;border-radius:8px;background:#fffdf7;color:#252722}.night .table-toolbar{padding:12px 16px}.night .summary{background:#1e2030;color:#f0edf9;box-shadow:none;border-radius:8px;padding:20px}.night .summary-stat strong{color:#d5baf9}.night .summary h3{font-size:18px}.night .summary-heading,.night .summary-stat>span,.night .summary-bottom p,.night .summary-bottom>span,.night .empty-selection,.night .empty-selection small,.night .selected-item small,.night .selected-item div>span{color:#b7bdd0}.night .summary-bottom,.night .selected-item{border-color:#3e4257}.night .summary-bottom .primary{background:#724f9c;color:#fff;border-radius:6px}.night .status{margin:0 24px;color:#e5c1dc;padding-top:20px;font-size:11px}.night .details{padding:64px 28px;max-width:1220px;margin:48px auto 0;background:#141824;border:1px solid #303748;border-radius:12px;gap:64px}.night .details h2{font-size:36px;color:#f5effd}.night .details .eyebrow{font-size:12px;color:#c8b7df;letter-spacing:0}.night .details-intro>p:not(.eyebrow){color:#b5bfd0;font-size:13px}.night .detail-decor{color:#292e41}.night .detail-decor span{color:#a3aec4}.night form{box-shadow:none;border:0;border-radius:8px;color:#252722}.night .closing{display:none}.night footer{max-width:1220px;border:0;color:#a5adc2;margin:0 auto;padding:32px 16px;font-size:10px}.night .reveal{opacity:1;transform:none;transition:none}.night input{caret-color:#724f9c}.night ::selection{background:#724f9c;color:white}.night a:focus-visible,.night button:focus-visible{outline-color:#b696df}.night .primary{border-radius:6px}.night dialog{color:#252722}.night .swipe-hint{color:#6b665d;background:#f0ece1}
@keyframes night-arrive{from{opacity:.3;transform:translateY(18px);filter:blur(4px)}to{opacity:1;transform:none;filter:blur(0)}}@keyframes sky-breathe{from{transform:scale(1.02) translateX(-8px)}to{transform:scale(1.06) translateX(8px)}}@keyframes starlight{from{opacity:.1}to{opacity:.8}}
@media(max-width:1100px) and (min-width:761px){.night .workspace{grid-template-columns:1fr}.night .summary{position:static}.night .original-table{min-width:700px}}
@media(max-width:760px){.night header{padding:12px 16px;min-height:72px}.night .brand>span{font-size:13px}.night .brand img{width:36px;height:42px}.night .brand small{font-size:7px;letter-spacing:1px}.night nav{display:none}.night main{padding:0 12px}.sky-scene{top:72px;height:1100px}.sky-art{background-position:center top;background-size:auto 1100px}.night-hero{padding:52px 12px 40px;min-height:410px}.night-hero h1{font-size:32px;line-height:1.4;letter-spacing:-.8px}.night-term{font-size:10px;margin-bottom:16px}.night-intro{font-size:12px;line-height:1.9;margin-top:16px}.night-cta{font-size:12px;padding:12px 20px;margin-top:24px}.night-scroll{font-size:9px;margin-top:20px}.night .planner{margin:0 -4px;padding:0 0 20px;border-radius:10px}.night .section-heading{padding:64px 12px 0;margin-bottom:20px;gap:8px}.panel-top{padding:12px;font-size:8px}.night .section-heading h2{font-size:20px}.night .section-heading p:not(.eyebrow){font-size:9px;max-width:230px;line-height:1.7}.night .grade{font-size:28px}.night .grade span{font-size:8px}.night .workspace{padding:0 6px;gap:20px}.night .schedule-panel{border-radius:4px;width:100%}.night .table-toolbar{padding:8px 6px}.night .summary{margin:0 6px;width:calc(100% - 12px);padding:20px}.night .status{margin:0 12px;font-size:10px}.night .details{padding:28px 16px;gap:28px;margin-top:32px;border-radius:10px}.night .details h2{font-size:28px}.night form{padding:20px 12px}.night .details-intro>p:not(.eyebrow){font-size:12px}.night footer{flex-direction:column;gap:8px;font-size:9px;padding:24px 4px}.night .original-table thead th{font-size:8px}.night .original-table th:first-child{width:44px}.night .original-table .course-code{font-size:9px}.night .original-table .check{width:11px;height:11px}.night .original-table .course{gap:2px}.night .original-table .course-code>span{font-size:8px}}
@media(prefers-reduced-motion:reduce){.night *{animation:none!important;transition:none!important}}
@media(max-width:760px){.night .sky-art{background-size:100% 760px;background-position:center top}}
