:root{color:#24272c;font-synthesis:none;background:#f8f9fb;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer;color:#47515f;background:#fff;border:1px solid #d8dce5;border-radius:7px;padding:9px 13px}button:hover{color:#005fc7;background:#eef3fa}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:3px;outline:2px solid #0668cc}input,textarea,select{color:inherit;background:#fff;border:1px solid #d1d6e1;border-radius:6px;padding:10px}input[type=checkbox]{accent-color:#0668cc;width:auto!important}h1,h2,h3,p{margin-top:0}h2{font-size:22px}h3{font-size:18px}.app-header{border-bottom:1px solid #d3d7e0;justify-content:space-between;align-items:center;height:82px;padding:16px 28px;display:flex;position:relative}.brand h1{color:#0063c9;letter-spacing:-.5px;margin:0 0 3px;font-size:23px;font-weight:700}.brand p{color:#696f77;margin:0;font-size:13px}.current-page{color:#0067ce;letter-spacing:.6px;border-bottom:2px solid #0067ce;padding:13px 0 8px;font-size:15px;font-weight:600;position:absolute;left:50%;transform:translate(-50%)}.app-header nav{align-items:center;gap:12px;display:flex}.app-header nav button{background:0 0;border:0;font-weight:600}.app-header nav .primary{color:#fff;background:#0062c7;padding:11px 19px}.board-caption{color:#858b95;justify-content:space-between;align-items:center;padding:18px 28px 4px;font-size:12px;display:flex}.board-caption .editable-title{color:#68717e;background:0 0;border:0;width:min(60%,500px);padding:5px 0;font-size:13px}.main-content{align-items:flex-start;gap:26px;min-height:calc(100vh - 130px);padding:20px 24px 40px;display:flex;overflow-x:auto}.semester-container{flex:0 0 clamp(285px,28vw,380px);min-width:0}.semester-column{min-height:65vh}.semester-header{padding:0 7px 20px;position:relative}.semester-header .semester-name-input{letter-spacing:-.5px;background:0 0;border:0;border-radius:3px;width:calc(100% - 35px);height:31px;padding:0;font-size:23px;font-weight:500}.credit-total{color:#6d737c;letter-spacing:.6px;margin:3px 0 0;font-size:12px;font-weight:600}.credit-total.overload{color:#b16a18}.semester-menu{z-index:5;position:absolute;top:16px;right:2px}.semester-menu-trigger{cursor:pointer;color:#626b76;background:0 0;border:0;padding:0 8px;font-size:25px;line-height:20px}.menu-panel{background:#fff;border:1px solid #dce0e7;border-radius:9px;width:220px;padding:7px;position:absolute;top:30px;right:0;box-shadow:0 8px 25px #2439521a}.menu-panel button{text-align:left;border:0;width:100%;font-size:13px;display:block}.course-token{background:#fff;border:1px solid #cbd2e0;border-left:4px solid #e0e4eb;border-radius:9px;min-height:116px;margin-bottom:10px;padding:16px 15px;transition:box-shadow .15s}.course-token:hover{box-shadow:0 2px 10px #263b5710}.course-token.is-dragging{box-shadow:0 10px 30px #263b572a}.course-token.completed{border-left-color:#2ac568}.course-token.substituted{border-left-color:#9671c9}.course-token.retake{border-left-color:#dfaa39}.course-top{align-items:center;gap:6px;margin-bottom:10px;display:flex}.course-top strong{letter-spacing:.25px;color:#0064cc;overflow-wrap:anywhere;flex:1;min-width:0;font-size:14px}.status-badge{text-transform:uppercase;color:#686d74;white-space:nowrap;background:#eef0f2;border-radius:20px;padding:4px 8px;font-size:10px;font-weight:700}.status-badge.completed{color:#238747;background:#dcfce8}.status-badge.substituted{color:#8153aa;background:#f0e9fa}.status-badge.retake{color:#956600;background:#fff2d6}.course-menu-button{color:#858e9b;background:0 0;border:0;padding:0;font-size:19px;line-height:20px}.course-name{margin-bottom:5px;font-size:16px;line-height:1.4}.course-meta,.prerequisite-text{color:#727882;font-size:12px;line-height:1.5}.prerequisite-text:empty{display:none}.note-indicator{color:#0063c9;border:0;padding:5px 0 0;font-size:11px}.course-note-textbox{width:100%;min-height:90px;margin-top:10px;font-size:13px}.course-token.has-conflict{border-color:#f4baba;border-left-color:#d72d36!important}.course-conflict{color:#c22f35;margin-top:8px;font-size:12px;line-height:1.5}.course-conflict button{color:inherit;border:0;padding:0 5px}.add-course-button{color:#87919e;text-align:left;background:0 0;border:1px dashed #0000;width:100%;padding-left:18px;font-size:12px}.add-course-button:hover{border-color:#cbd2e0}.empty-semester{text-align:center;border:2px dashed #cbd2e0;justify-content:center;align-items:center;height:65vh;padding:25px;font-size:15px;display:flex}.add-semester-button{background:0 0;border-radius:50%;flex:0 0 46px;height:46px;margin-top:61px;padding:0;font-size:29px;font-weight:300}.context-menu{z-index:50;background:#fff;border:1px solid #d5dce6;border-radius:9px;width:220px;margin:0;padding:7px;list-style:none;position:fixed;box-shadow:0 8px 30px #263b5726}.context-menu li>button{text-align:left;border:0;width:100%;font-size:13px}.context-menu hr{border:0;border-top:1px solid #e8ebef}.color-picker{gap:12px;padding:8px;display:flex}.color-circle{cursor:pointer;border:1px solid #cbd2e0;border-radius:50%;width:22px;height:22px}.red{background:#e9848c}.blue{background:#82bce1}.yellow{background:#efa8f7}.default{background:#fff}.tools-overlay,.modal-overlay{z-index:100;background:#23334a45;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.right-sidebar{background:#fff;border-radius:14px;width:min(760px,100%);max-height:90vh;padding:26px;overflow:auto;box-shadow:0 20px 80px #162c4b26}.tools-heading{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}.tools-heading h2{margin:0}.tools-heading button{border:0;padding:0 8px;font-size:24px}.transfer-action{color:#0063c9;margin-bottom:18px;font-size:13px}.tabs{border-bottom:1px solid #e2e6ed;flex-wrap:wrap;gap:6px;padding-bottom:14px;display:flex}.tab-button{background:#f5f7fa;border:0;font-size:12px}.tab-button.active{color:#0063c9;background:#eaf2ff}.tab-content{padding:20px 0 0}.add-course-tab,.download-upload-tab,.general-notes-tab{flex-direction:column;gap:14px;display:flex}.tab-content input:not([type=checkbox]),.tab-content select,.tab-content textarea{width:100%;font-size:14px}.tab-content textarea{resize:vertical;min-height:250px}.tab-content h3,.tab-content h2{margin-bottom:0}.tab-content button{color:#0063c9}.download-upload-tab h3{margin-top:12px}.gen-ed-table-container.hidden{display:none}.gen-ed-table-container.visible{display:block}.gen-ed-table th{color:#365676!important;background:#edf3fb!important}.filled-cell{background:#f0f5f9!important}.modal-overlay{z-index:120}.modal-content{background:#fff;border-radius:14px;width:min(560px,100%);max-height:90vh;padding:30px;line-height:1.6;position:relative;overflow:auto;box-shadow:0 20px 80px #162c4b26}.modal-content button{color:#0063c9;margin:10px 8px 0 0}.modal-content input:not([type=checkbox]),.modal-content select{width:100%;margin-bottom:12px}.acknowledge-checkbox{align-items:center;gap:10px;margin:16px 0;display:flex}.tutorial-modal{width:95vw;height:90vh;padding:50px 20px 20px}.close-button{z-index:1;position:absolute;top:0;right:12px}.notification{color:#fff;z-index:150;background:#253c58;border-radius:10px;max-width:90vw;padding:12px 16px;font-size:14px;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 5px 30px #23334a30}.notification button{color:#fff;background:0 0;border:0;margin-left:12px;padding:0}.footnote{font-size:12px}@media (width<=760px){.app-header{gap:12px;height:auto;min-height:85px;padding:14px 16px}.brand h1{font-size:19px}.brand p{max-width:190px;font-size:11px}.current-page{display:none}.app-header nav{gap:0}.app-header nav button{padding:8px;font-size:12px}.app-header nav .primary{padding:8px}.board-caption{padding:15px 16px 0}.board-caption span{font-size:10px}.main-content{scroll-snap-type:x proximity;gap:16px;padding:20px 16px}.semester-container{scroll-snap-align:start;flex-basis:85vw}.tools-overlay,.modal-overlay{padding:12px}.right-sidebar,.modal-content{padding:20px}.gen-ed-table-container{overflow:auto}.gen-ed-table{min-width:480px}}@media print{.app-header nav,.current-page,.board-caption span,.tools-overlay,.modal-overlay,.notification,.context-menu,.semester-menu,.add-course-button,.add-semester-button,.course-menu-button,.note-indicator,textarea{display:none!important}.main-content{flex-wrap:wrap;gap:16px;min-height:0;padding:10px;display:flex;overflow:visible}.semester-container{break-inside:avoid;flex:0 0 30%}.semester-column{min-height:0}.course-token{break-inside:avoid;min-height:0;padding:8px}.course-name{font-size:12px}.app-header{height:65px}.course-token{-webkit-print-color-adjust:exact;print-color-adjust:exact}.board-caption{padding:10px}}.app-header nav button{white-space:nowrap}.color-circle{padding:0}.gen-ed-table{border-collapse:collapse;width:100%;font-size:13px}.gen-ed-table td,.gen-ed-table th{vertical-align:top;border:1px solid #e0e5ed;padding:10px}.gen-ed-table input[type=text]{margin-top:7px}.gen-ed-table input[type=checkbox]{accent-color:#0063c9}.tutorial-guide{text-align:left;line-height:1.6}.tutorial-guide h3{margin-top:1.5rem}.tutorial-guide li{margin-bottom:.7rem}.degree-modal{width:min(720px,100%)}.degree-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:12px 0 24px;display:grid}.modal-content .degree-card{text-align:left;white-space:normal;color:#29415f;background:#f8fafc;border:1px solid #d6dfeb;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin:0;padding:18px;display:flex}.modal-content .degree-card[aria-pressed=true]{color:#0055ae;background:#eaf3ff;border-color:#0063c9}.degree-check{flex-shrink:0;width:18px;font-weight:700}.degree-card:focus-visible{outline-offset:3px;outline:3px solid #0063c9}.degree-actions{border-top:1px solid #e0e6ef;justify-content:space-between;align-items:flex-start;gap:16px;padding-top:12px;display:flex}.degree-actions small{color:#64748b;margin-top:8px;display:block}@media (width<=600px){.degree-grid{grid-template-columns:1fr}.degree-actions{flex-direction:column}}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
