@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}}:root{--ink:#111;--paper:#f1efe8;--blue:#1747ff;--red:#e1261c;--line:#11111152}*{box-sizing:border-box}html{background:var(--paper)}body{color:var(--ink);background:var(--paper);margin:0;font-family:Arial,Microsoft YaHei,sans-serif}.paper-noise{pointer-events:none;z-index:20;opacity:.14;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.28'/%3E%3C/svg%3E");position:fixed;inset:0}button,input,select{font:inherit;color:inherit}button{cursor:pointer}.screen{max-width:1480px;margin:auto;padding:18px 26px 50px}.masthead{border:1px solid var(--ink);height:270px;color:var(--paper);background:#0d0d0d;position:relative;overflow:hidden}.edition{letter-spacing:.18em;font:700 11px/1 monospace;position:absolute;top:14px;left:16px}.masthead h1{letter-spacing:-.085em;margin:0;font:900 clamp(72px,13vw,190px)/.67 Arial,sans-serif;position:absolute;bottom:-35px;left:-8px}.masthead h1 span{display:block}.masthead h1 span:last-child{margin-left:20vw}.mast-meta{text-align:right;font:11px/1.4 monospace;position:absolute;top:14px;right:16px}.mast-meta b{color:#8fa5ff;font-size:15px;display:block}.control-line{border:1px solid var(--ink);border-top:0;justify-content:space-between;display:flex}.term-switch,.actions{display:flex}.control-line button{border:0;border-right:1px solid var(--ink);background:0 0;padding:12px 18px;font-weight:700}.actions button{border-right:0;border-left:1px solid var(--ink)}.control-line button.on,.control-line button.print{color:#fff;background:var(--blue)}.metrics{border-left:1px solid var(--ink);grid-template-columns:repeat(4,1fr);display:grid}.metrics>div{border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);align-items:baseline;gap:8px;padding:15px;display:flex}.metrics b{font:900 36px/1 Arial}.metrics span{text-transform:uppercase;font:700 11px/1 monospace}.metrics .alert{color:#fff;background:var(--red)}.conflict-strip{color:#fff;background:var(--red);padding:10px 14px;font-weight:700}.workspace{border-left:1px solid var(--ink);grid-template-columns:minmax(0,1.5fr) minmax(340px,.5fr);display:grid}.catalogue,.schedule{border-right:1px solid var(--ink)}.catalogue-tools{border-bottom:1px solid var(--ink);display:flex}.catalogue-tools input{border:0;border-right:1px solid var(--ink);background:0 0;outline:0;flex:1;min-width:0;padding:14px}.filters{display:flex}.filters button{border:0;border-left:1px solid var(--ink);background:0 0;padding:0 13px}.filters button.on{background:var(--ink);color:#fff}.course-head,.course{grid-template-columns:minmax(260px,1.15fr) minmax(210px,.85fr) 150px;display:grid}.course-head{border-bottom:1px solid var(--ink);text-transform:uppercase;padding:7px 12px 7px 54px;font:700 10px/1 monospace}.course-head span:first-child{grid-column:1}.course{border-bottom:1px solid var(--ink);align-items:stretch;min-height:96px;position:relative}.course.selected{background:#fff}.selector{border:0;border-right:1px solid var(--ink);background:0 0;width:42px;font:300 28px/1 Arial;position:absolute;top:0;bottom:0;left:0}.selected .selector{color:#fff;background:var(--blue)}.course-name{padding:13px 12px 12px 54px}.course-name>div{align-items:center;gap:8px;display:flex}.course-name b{font:900 18px/1 Arial}.course-name i{border:1px solid;padding:3px 5px;font:700 9px/1 monospace}.course-name i[data-cat=foundation]{color:#fff;background:var(--blue);border-color:var(--blue)}.course-name i[data-cat=required]{color:#fff;background:var(--ink)}.course-name strong{margin-top:8px;font-size:14px;display:block}.course-name small{color:#555;margin-top:2px;font-size:10px;display:block}.course select{border:0;border-left:1px solid var(--ink);background:0 0;border-radius:0;align-self:stretch;width:100%;padding:12px}.teacher{border-left:1px solid var(--ink);padding:13px 10px;font:11px/1.4 monospace}.section-label{border-bottom:1px solid var(--ink);padding:13px;font:900 12px/1 monospace}.day-row{border-bottom:1px solid var(--ink);grid-template-columns:54px 1fr;min-height:78px;display:grid}.day-row>b{border-right:1px solid var(--ink);padding:10px;font:900 11px/1 monospace}.day-row>div{padding:8px}.slot{border:1px solid var(--ink);background:#fff;margin-bottom:6px;padding:8px}.slot.foundation{border-left:7px solid var(--blue)}.slot.required{border-left:7px solid var(--ink)}.slot.elective{border-left:7px solid #777}.slot strong,.slot span,.slot small{display:block}.slot strong{font:800 12px/1 monospace}.slot span{margin:5px 0 2px;font-weight:800}.slot small{color:#555;font:10px/1.3 monospace}.dash{color:#777}.tba-note{color:#fff;background:var(--blue);padding:12px;font:700 11px/1.3 monospace}.print-sheet{display:none}.site-note{border:1px solid var(--ink);border-top:0;flex-wrap:wrap;gap:0;font:700 10px/1.2 monospace;display:flex}.site-note>*{border-right:1px solid var(--ink);padding:10px 13px}.site-note b{color:#fff;background:var(--ink)}@media (max-width:900px){.masthead{height:220px}.workspace{grid-template-columns:1fr}.schedule{border-top:1px solid var(--ink)}.course-head{display:none}.course{grid-template-columns:1fr}.course select,.teacher{border-left:1px solid var(--ink);border-top:1px solid var(--ink);width:calc(100% - 42px);margin-left:42px}.teacher{min-height:40px}.metrics b{font-size:28px}}@media (max-width:600px){.screen{padding:10px}.masthead{height:185px}.control-line{flex-direction:column;align-items:stretch}.actions{border-top:1px solid var(--ink)}.actions button:first-child{border-left:0}.metrics>div{padding:10px;display:block}.metrics b{font-size:23px}.metrics span{margin-top:4px;display:block}.catalogue-tools{display:block}.catalogue-tools input{border-right:0;border-bottom:1px solid var(--ink);width:100%}.filters button{flex:1;padding:10px}.course-name small{font-size:9px}}@page{size:A4 portrait;margin:14mm}@media print{html,body{background:#fff}.paper-noise,.screen{display:none!important}.print-sheet{color:#000;font:9.5pt/1.35 Arial,Microsoft YaHei,sans-serif;display:block}.print-sheet header{border-top:5px solid #000;border-bottom:1px solid #000;justify-content:space-between;align-items:flex-start;padding:7mm 0 4mm;display:flex}.print-sheet header b{letter-spacing:.09em;font:700 8pt/1 monospace}.print-sheet h2{margin:2mm 0 0;font-size:24pt}.print-term{text-align:right;font:700 9pt/1.5 monospace}.print-summary{border:1px solid #000;border-top:0;grid-template-columns:repeat(4,1fr);display:grid}.print-summary span{border-right:1px solid #000;padding:3mm}.print-summary span:last-child{border:0}.print-summary b{float:right;font-size:15pt}.print-sheet h3{text-transform:uppercase;margin:7mm 0 2mm;font-size:11pt}.print-sheet table{border-collapse:collapse;page-break-inside:auto;width:100%}.print-sheet th,.print-sheet td{text-align:left;vertical-align:top;border:1px solid #000;padding:2.2mm}.print-sheet th{background:#e8e8e8;font:700 8pt/1 monospace}.print-sheet tr{page-break-inside:avoid}.print-warning{border:2px solid #000;margin-top:5mm;padding:3mm}.print-sheet footer{border-top:1px solid #000;padding-top:2mm;font-size:7.5pt;position:fixed;bottom:5mm;left:14mm;right:14mm}}
