:root{--text:#6b6375;--text-h:#08060d;--bg:#fff;--border:#e5e4e7;--code-bg:#f4f3ec;--accent:#aa3bff;--accent-bg:#aa3bff1a;--accent-border:#aa3bff80;--social-bg:#f4f3ec80;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:18px/145% var(--sans);letter-spacing:.18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:16px}}@media (prefers-color-scheme:dark){:root{--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}#social .button-icon{filter:invert()brightness(2)}}body{margin:0}#root{box-sizing:border-box;flex-direction:column;width:100%;min-height:100vh;display:flex}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:500}h1{letter-spacing:-1.68px;margin:32px 0;font-size:56px}@media (width<=1024px){h1{margin:20px 0;font-size:36px}}h2{letter-spacing:-.24px;margin:0 0 8px;font-size:24px;line-height:118%}@media (width<=1024px){h2{font-size:20px}}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:15px;line-height:135%}@font-face{font-family:Computer Modern Sans;src:url(/fonts/cmunss.ttf)format("truetype");font-weight:400;font-style:normal}@font-face{font-family:Computer Modern Sans;src:url(/fonts/cmunsi.ttf)format("truetype");font-weight:400;font-style:italic}@font-face{font-family:Computer Modern Sans;src:url(/fonts/cmunsx.ttf)format("truetype");font-weight:700;font-style:normal}@font-face{font-family:Computer Modern Sans;src:url(/fonts/cmunso.ttf)format("truetype");font-weight:700;font-style:italic}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--primary:#00205b;--primary-light:#1a3a7a;--primary-dark:#001540;--bg-primary:#001a47;--bg-secondary:#002858;--bg-tertiary:#036;--text-primary:#fff;--text-secondary:#e8e8e8;--text-tertiary:#d0d0d0;--border:#1a4a7a;--success:#10b981;--error:#ef4444;--warning:#f59e0b}html,body{width:100%;overflow-x:hidden}body{background:var(--bg-primary);color:var(--text-primary);font-family:Computer Modern Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.app{background:linear-gradient(135deg, var(--bg-primary) 0%, #1a2f4e 100%);max-width:100%;min-height:100vh;padding:10px 16px;overflow-x:hidden}.header{z-index:3;border-bottom:1px solid #ffffff14;width:100%;margin-bottom:14px;padding:10px 20px;position:relative}.header-top{justify-content:space-between;align-items:center;gap:20px;width:100%;display:flex}.header-copy{text-align:left;flex-wrap:wrap;align-items:baseline;gap:16px;display:flex}.header h1{color:#3b82f6;word-wrap:break-word;overflow-wrap:break-word;white-space:normal;margin:0;font-family:inherit;font-size:1.8rem;font-weight:700;line-height:1.2}.header .tagline{color:var(--text-secondary);margin:0;font-size:.92rem;font-weight:400}@media (width<=760px){.header-top{text-align:center;flex-direction:column;align-items:center;gap:12px}.header-copy{text-align:center;flex-direction:column;align-items:center;gap:4px}}.container{max-width:100%;margin:0 auto;padding:0 24px}.search-section{background:var(--bg-secondary);border:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:1;border-radius:12px;margin-bottom:16px;padding:18px 24px;position:relative;box-shadow:0 8px 32px #0000004d}.search-inputs{grid-template-columns:1fr 1fr;align-items:flex-end;gap:16px;display:grid}.input-group{flex-direction:column;gap:4px;display:flex}.term-range{grid-template-columns:1fr 1fr;gap:12px;display:grid}.term-range.term-range-single{grid-template-columns:1fr}.distribution-filters-container{border-top:1px solid #ffffff14;width:100%;margin-top:14px;padding-top:12px}.distribution-filter-row{flex-wrap:wrap;align-items:flex-end;gap:16px;width:100%;display:flex}.distribution-group-select-wrap{flex-direction:column;flex:280px;gap:6px;min-width:0;display:flex}.distribution-ad-wrap{flex-direction:column;flex:220px;gap:6px;min-width:0;display:flex}.distribution-filters-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.5px;font-size:.75rem;font-weight:700}.distribution-chips-group{box-sizing:border-box;background:#00000040;border:1px solid #ffffff1f;border-radius:20px;gap:2px;width:100%;max-width:100%;padding:3px;display:flex}.distribution-chip-btn{min-width:0;color:var(--text-secondary);cursor:pointer;white-space:nowrap;text-align:center;text-overflow:ellipsis;background:0 0;border:none;border-radius:16px;flex:1;padding:6px 8px;font-family:inherit;font-size:.8rem;font-weight:600;transition:all .2s;overflow:hidden}.distribution-chip-btn:hover{color:var(--text-primary);background:#ffffff14}.distribution-chip-btn.active{color:#fff;background:#2563eb;box-shadow:0 2px 8px #2563eb66}.distribution-checkbox-chip{color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;box-sizing:border-box;background:#ffffff0d;border:1px solid #ffffff29;border-radius:20px;align-items:center;gap:8px;max-width:100%;height:auto;min-height:34px;padding:6px 14px;font-size:.84rem;font-weight:500;transition:all .2s;display:inline-flex;position:relative}.distribution-checkbox-chip input[type=checkbox]{opacity:0;cursor:pointer;width:0;height:0;position:absolute}.distribution-checkbox-chip .checkbox-custom{border:1.5px solid #fff6;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:15px;height:15px;transition:all .2s;display:flex}.distribution-checkbox-chip:hover{color:var(--text-primary);background:#ffffff1a;border-color:#ffffff52}.distribution-checkbox-chip.active{color:#fff;background:#2563eb40;border-color:#3b82f6;box-shadow:0 2px 8px #2563eb40}.distribution-checkbox-chip.active .checkbox-custom{background:#2563eb;border-color:#2563eb}.distribution-checkbox-chip.active .checkbox-custom:after{content:"✓";color:#fff;font-size:10px;font-weight:700}.term-range-field{flex-direction:column;gap:6px;display:flex}.term-range-label{color:var(--text-tertiary);text-transform:uppercase;letter-spacing:.4px;font-size:.75rem;font-weight:600}.input-group label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;font-size:.9rem;font-weight:600}.label-with-tooltip{align-items:center;gap:8px;display:flex}.tooltip-wrap{align-items:center;display:inline-flex;position:relative}.tooltip-wrap:after{content:"";width:100%;height:10px;position:absolute;top:100%;left:0}.tooltip-wrap:before{display:none}.tooltip-trigger{border:1px solid var(--border);background:var(--bg-tertiary);width:18px;height:18px;color:var(--text-secondary);cursor:help;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:.72rem;font-weight:700;line-height:1;display:inline-flex}.tooltip-trigger:focus-visible{outline:2px solid var(--primary-light);outline-offset:2px}.tooltip-text{border:1px solid var(--border);background:var(--bg-secondary);width:280px;max-width:min(280px,80vw);color:var(--text-primary);text-transform:none;letter-spacing:normal;opacity:0;visibility:hidden;pointer-events:none;z-index:50;border-radius:8px;padding:8px 10px;font-size:.78rem;font-weight:500;line-height:1.35;transition:opacity .16s,transform .16s;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%)translateY(4px)}.tooltip-wrap:hover .tooltip-text,.tooltip-wrap:focus-within .tooltip-text{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%)translateY(0)}.input-group input,.input-group select{border:2px solid var(--border);background:var(--bg-tertiary);color:var(--text-primary);border-radius:8px;padding:8px 12px;font-family:Computer Modern Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto;font-size:1rem;transition:all .2s}.input-group input{border-color:var(--success);background:linear-gradient(135deg,#10b9810a 0%,#10b98105 100%)}.input-group input:hover:not(:focus){background:linear-gradient(135deg,#10b98114 0%,#10b9810a 100%)}.input-group input::placeholder{color:var(--text-tertiary)}.input-group input:focus,.input-group select:focus{border-color:var(--primary-light);background:var(--bg-primary);outline:none;box-shadow:0 0 0 3px #14b8a61a}.input-group select{cursor:pointer;border:2px solid var(--success);background:linear-gradient(135deg,#10b98114 0%,#10b9810a 100%)}.input-group select:hover:not(:focus){background:linear-gradient(135deg,#10b9811f 0%,#10b98114 100%)}.input-group select option{background:var(--bg-secondary);color:var(--text-primary)}.term-select-container{width:100%;position:relative}.term-select-input-wrap{align-items:center;display:flex;position:relative}.term-select-input{border:2px solid var(--success);width:100%;color:var(--text-primary);background:linear-gradient(135deg,#10b98114 0%,#10b9810a 100%);border-radius:8px;padding:8px 32px 8px 12px;font-family:inherit;font-size:.92rem;transition:all .2s}.term-select-input:hover:not(:focus){background:linear-gradient(135deg,#10b98124 0%,#10b98114 100%)}.term-select-input:focus{border-color:var(--primary-light);background:var(--bg-primary);outline:none;box-shadow:0 0 0 3px #14b8a626}.term-select-arrow{pointer-events:none;color:var(--success);font-size:.9rem;transition:transform .2s;position:absolute;right:12px}.term-select-arrow.open{transform:rotate(180deg)}.term-select-dropdown{background:var(--bg-secondary);border:1px solid var(--border);z-index:100;border-radius:10px;max-height:240px;padding:4px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 10px 25px #0006}.term-select-dropdown.open-upward{top:auto;bottom:calc(100% + 4px)}.term-select-option{cursor:pointer;color:var(--text-primary);border-radius:6px;justify-content:space-between;align-items:center;padding:9px 12px;font-size:.88rem;transition:background .15s,color .15s;display:flex}.term-select-option:hover,.term-select-option.highlighted:not(.selected){color:#fff;background:#14b8a638}.term-select-option.selected{color:#fff;background:#0f766e;font-weight:700;box-shadow:inset 0 0 0 1px #fff3}.term-code-badge{color:var(--text-tertiary);font-family:monospace;font-size:.75rem}.term-select-option:hover .term-code-badge,.term-select-option.highlighted:not(.selected) .term-code-badge{color:#cbd5e1}.term-select-option.selected .term-code-badge{color:#5eead4;font-weight:600}.term-select-no-results{text-align:center;color:var(--text-tertiary);padding:12px;font-size:.85rem}.checkbox-group{align-items:center;padding:0 12px;display:flex}.checkbox-label{cursor:pointer;color:var(--text-secondary);-webkit-user-select:none;user-select:none;align-items:center;gap:8px;font-size:.9rem;transition:color .2s;display:flex}.checkbox-label:hover{color:var(--text-primary)}.checkbox-label input[type=checkbox]{cursor:pointer;accent-color:#a855f7;width:18px;height:18px}.search-btn{background:linear-gradient(135deg, var(--primary) 0%, var(--primary-light) 100%);color:#fff;cursor:pointer;text-transform:uppercase;letter-spacing:.5px;border:none;border-radius:8px;padding:12px 28px;font-size:1rem;font-weight:600;transition:all .2s}.search-btn:hover{transform:translateY(-2px);box-shadow:0 8px 16px #14b8a633}.search-btn:active{transform:translateY(0)}.status{border-radius:8px;margin-top:16px;padding:12px 16px;font-size:.95rem}.status.loading{color:var(--primary-light);text-align:center;background:#14b8a61a}.status.empty{color:var(--text-tertiary);text-align:center;background:#94a3b81a}.status.error{color:var(--error);background:#ef44441a}.results-section{padding:20px 0}.courses-grid{gap:16px;display:grid}.course-group{background:var(--bg-secondary);border:1px solid var(--border);border-radius:12px;transition:all .2s;overflow:hidden}.course-group:hover{border-color:var(--primary-light);box-shadow:0 4px 12px #14b8a61a}.course-header{border-bottom:1px solid var(--border);color:inherit;background:linear-gradient(135deg,#0f766e14 0%,#0f766e0a 100%);justify-content:center;align-items:center;min-height:54px;display:flex;position:relative}.header-left{text-align:center;flex-direction:column;justify-content:center;align-items:center;width:100%;padding:8px 90px 8px 16px;display:flex}.header-left h3{color:var(--text-primary);margin:0;font-size:1.15rem;font-weight:700;line-height:1.2}.course-title{color:var(--text-secondary);margin:2px 0 0;font-size:.88rem;font-weight:400;line-height:1.3}.expand-indicator{border-left:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;background:#0f766e2e;justify-content:center;align-items:center;gap:8px;padding:0 16px;transition:all .2s;display:flex;position:absolute;top:0;bottom:0;right:0}.expand-indicator:hover{background:#0f766e59}.expand-indicator .badge{background:var(--success);color:#001a47;border-radius:6px;justify-content:center;align-items:center;min-width:28px;padding:4px 10px;font-size:.9rem;font-weight:800;line-height:1;display:inline-flex;box-shadow:0 2px 8px #10b98140}.expand-indicator .chevron{color:var(--success);justify-content:center;align-items:center;font-size:1.8rem;font-weight:700;line-height:1;transition:transform .2s;display:inline-flex}.expand-indicator .chevron.open{transform:rotate(90deg)}.course-instances{flex-direction:column;gap:8px;padding:10px;display:flex}.course-card{background:var(--bg-primary);border:1px solid var(--border);color:inherit;border-radius:6px;padding:12px;text-decoration:none;transition:all .2s;display:block}.course-card:hover{border-color:var(--primary-light);transform:translateY(-2px);box-shadow:0 4px 12px #14b8a614}.card-meta{flex-wrap:wrap;gap:8px;margin-bottom:6px;display:flex}.card-meta>span{background:var(--bg-tertiary);color:var(--text-secondary);border-radius:6px;justify-content:center;align-items:center;height:24px;padding:2px 8px;font-size:.75rem;display:inline-flex}.card-meta .term{color:#fff;background:#1a3a7a4d;font-weight:600}.card-meta .crn{color:var(--text-tertiary);font-weight:600}.card-meta .distribution-badge{color:#93c5fd;background:#2563eb33;border:1px solid #3b82f666;font-weight:600}.card-meta .credits{color:var(--success);font-weight:700}.course-details{margin-bottom:4px}.detail-row{align-items:flex-start;gap:12px;margin-bottom:6px;font-size:.88rem;line-height:1.3;display:flex}.detail-row strong{color:var(--text-secondary);text-align:right;flex-shrink:0;width:90px;font-weight:600}.detail-row>span{color:var(--text-primary);text-align:left;flex:1}.detail-items{color:var(--text-primary);flex-direction:column;flex:1;gap:2px;display:flex}.detail-item{text-align:left}.previous-search-row{margin-bottom:16px}.previous-search-btn{color:#5eead4;cursor:pointer;background:#0f766e26;border:1px solid #14b8a659;border-radius:8px;align-items:center;gap:8px;padding:8px 16px;font-size:.85rem;font-weight:600;transition:all .2s;display:inline-flex}.previous-search-btn:hover{border-color:var(--primary-light);color:#fff;background:#0f766e4d;transform:translateY(-1px);box-shadow:0 4px 12px #14b8a626}.previous-search-icon{font-size:1rem;line-height:1}.instructor-btn{font:inherit;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:6px;margin:0;padding:0;font-weight:500;text-decoration:none;transition:color .2s,opacity .2s;display:inline-flex}.instructor-search-icon{opacity:.75;flex:none;font-size:.75rem;transition:opacity .2s,transform .2s}.instructor-btn:hover{color:var(--primary-light)}.instructor-btn:hover .instructor-search-icon{opacity:1;transform:scale(1.15)}.instructor-btn:focus-visible{outline:2px solid var(--primary-light);outline-offset:2px;border-radius:4px}.instructor-text.muted{color:var(--text-tertiary);font-weight:500}.card-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:10px;display:flex}.course-page-link{color:#fff;cursor:pointer;background:#3b82f61f;border:1px solid #3b82f666;border-radius:6px;justify-content:center;align-items:center;height:32px;padding:0 12px;font-size:.82rem;font-weight:700;line-height:1;text-decoration:none;transition:all .2s;display:inline-flex}.course-page-link:hover{background:#3b82f638;border-color:#3b82f6}.syllabus-btn{color:#fff;cursor:pointer;background:#3b82f61f;border:1px solid #3b82f666;border-radius:6px;justify-content:center;align-items:center;height:32px;padding:0 12px;font-size:.82rem;font-weight:700;line-height:1;transition:all .2s;display:inline-flex}.syllabus-btn:hover:not(:disabled){background:#3b82f638;border-color:#3b82f6}.syllabus-btn:disabled{opacity:.65;cursor:not-allowed}.evaluation-btn{color:#fff;cursor:pointer;background:#a855f71f;border:1px solid #a855f766;border-radius:6px;justify-content:center;align-items:center;height:32px;padding:0 12px;font-size:.82rem;font-weight:700;line-height:1;transition:all .2s;display:inline-flex}.evaluation-btn:hover:not(:disabled){background:#a855f733;border-color:#a855f7}.evaluation-btn:disabled{opacity:.65;cursor:not-allowed}.collapse-eval-btn{color:var(--text-secondary);cursor:pointer;text-align:left;background:#a855f714;border:1px solid #a855f766;border-radius:4px;width:100%;margin-top:8px;padding:8px 12px;font-size:.85rem;font-weight:600;transition:all .2s}.collapse-eval-btn:hover{color:var(--text-primary);background:#a855f726;border-color:#a855f799}.evaluation-results{background:#a855f714;border:1px solid #a855f74d;border-radius:6px;max-height:750px;margin-top:12px;padding:12px;overflow-y:auto}.evaluation-status{margin-top:6px;font-size:.78rem;line-height:1.3}.evaluation-status.neutral{color:var(--text-tertiary)}.evaluation-status.error{color:var(--error)}.instructor-eval-btn{color:#fff;cursor:pointer;background:#f59e0b1f;border:1px solid #f59e0b66;border-radius:6px;justify-content:center;align-items:center;height:32px;padding:0 12px;font-size:.82rem;font-weight:700;line-height:1;transition:all .2s;display:inline-flex}.instructor-eval-btn:hover:not(:disabled){background:#f59e0b33;border-color:#f59e0b}.instructor-eval-btn:disabled{opacity:.65;cursor:not-allowed}.collapse-instructor-eval-btn{color:var(--text-secondary);cursor:pointer;text-align:left;background:#f59e0b14;border:1px solid #f59e0b66;border-radius:4px;width:100%;margin-top:8px;padding:8px 12px;font-size:.85rem;font-weight:600;transition:all .2s}.collapse-instructor-eval-btn:hover{color:var(--text-primary);background:#f59e0b26;border-color:#f59e0b99}.instructor-eval-results{background:#f59e0b0f;border:1px solid #f59e0b4d;border-radius:6px;max-height:750px;margin-top:12px;padding:12px;overflow-y:auto}.instructor-eval-card{margin-bottom:8px}.collapse-instructor-btn{color:var(--text-secondary);cursor:pointer;text-align:left;background:#f59e0b14;border:1px solid #f59e0b38;border-radius:6px;width:100%;padding:8px 10px;font-size:.85rem;font-weight:600;transition:all .2s}.collapse-instructor-btn:hover{color:var(--text-primary);background:#f59e0b29;border-color:#f59e0b99}.single-instructor-header{color:#f59e0b;background:#f59e0b14;border:1px solid #f59e0b40;border-radius:6px;margin-bottom:10px;padding:8px 12px;font-size:.95rem;font-weight:700}.instructor-eval-sections{flex-direction:column;gap:10px;margin-top:10px;display:flex}.instructor-eval-section{padding:2px 0 0}.instructor-eval-header{flex-direction:column;gap:4px;margin-bottom:8px;display:flex}.instructor-eval-header .eval-course{color:var(--text-primary);font-size:.95rem;font-weight:700}.instructor-eval-header .eval-meta{color:var(--text-tertiary);flex-wrap:wrap;gap:8px;font-size:.78rem;display:flex}.instructor-eval-header .eval-meta span{background:#f59e0b26;border-radius:999px;padding:2px 8px}.syllabus-status{margin-top:6px;font-size:.78rem;line-height:1.3}.syllabus-status.success a{color:var(--success);text-decoration:underline}.syllabus-link{color:#fff;margin-top:4px;font-size:.88rem;text-decoration:underline;display:inline-block}.syllabus-link:hover{opacity:.8}.syllabus-status.neutral{color:var(--text-tertiary)}.syllabus-status.error{color:var(--error)}.syllabus-viewer{border:1px solid var(--border);background:#1a1a1a;border-radius:6px;margin-top:12px;overflow:hidden}.toggle-syllabus-btn{background:var(--secondary-bg);color:var(--text-primary);border:1px solid var(--border);cursor:pointer;border-radius:4px;margin-top:8px;padding:6px 12px;font-size:.9rem;transition:all .2s;display:inline-block}.toggle-syllabus-btn:hover{background:var(--hover-bg);border-color:var(--accent)}.syllabus-iframe{background:#fff;border:none;width:100%;height:600px;display:block}.syllabus-text-viewer{background:#0006;max-height:500px;padding:16px;font-family:inherit;overflow-y:auto}.syllabus-text-viewer pre{white-space:pre-wrap;word-break:break-word;font-family:var(--font-mono,monospace);color:var(--text-primary);margin:0;font-size:.88rem;line-height:1.5}.syllabus-doc-viewer{text-align:center;background:#ffffff08;padding:24px 16px}.syllabus-doc-info{color:var(--text-secondary);margin:0 0 16px;font-size:.95rem}.syllabus-download-btn{color:#fff;background:#3b82f6;border-radius:6px;align-items:center;gap:8px;padding:8px 18px;font-size:.9rem;font-weight:500;text-decoration:none;transition:background .2s,transform .1s;display:inline-flex}.syllabus-download-btn:hover{background:#2563eb;transform:translateY(-1px)}.course-link{color:inherit;font-size:inherit;font-weight:inherit;cursor:pointer;background:0 0;border:none;border-radius:0;padding:0;text-decoration:none;transition:none;display:block}.course-link:hover{background:0 0;transform:none}.subjects-info-btn{font-size:1rem;font-weight:700}.subjects-tooltip{width:min(320px,90vw);max-width:90vw;max-height:200px;padding:12px 10px;overflow-y:auto}.subject-codes-list{flex-direction:column;gap:6px;margin-top:8px;display:flex}.subject-code-item{cursor:pointer;border-radius:4px;align-items:center;gap:8px;padding:6px 8px;transition:all .15s;display:flex}.subject-code-item:hover{background:var(--bg-tertiary);padding-left:12px}.subject-code-item .code{color:var(--success);text-transform:uppercase;letter-spacing:.5px;min-width:45px;font-weight:700}.subject-code-item .meaning{color:var(--text-secondary);flex:1;font-size:.85rem}.load-more-container{justify-content:center;margin-top:24px;padding:20px 0;display:flex}.load-more-btn{border:2px solid var(--success);color:var(--success);cursor:pointer;background:#10b9811f;border-radius:6px;padding:10px 24px;font-size:.95rem;font-weight:700;transition:all .2s}.load-more-btn:hover:not(:disabled){background:#10b98133;transform:scale(1.02)}.load-more-btn:disabled{opacity:.7;cursor:not-allowed}.app-footer{text-align:center;color:var(--text-tertiary);border-top:1px solid var(--border);margin-top:10px;padding:5px;font-size:.85rem}.app-footer p{margin:0}.charts-section{border-bottom:2px solid #a855f74d;margin-bottom:12px;padding-bottom:12px}.charts-title{color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px;font-size:.95rem;font-weight:700}.charts-grid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.charts-grid.charts-grid-3x3{grid-template-columns:repeat(3,1fr);gap:12px}@media (width<=1280px){.charts-grid{grid-template-columns:repeat(3,1fr)}}@media (width<=1024px){.charts-grid,.charts-grid.charts-grid-3x3{grid-template-columns:repeat(2,1fr)}}.chart-container{background:#1a3a7a4d;border:1px solid #a855f733;border-radius:6px;padding:8px 10px}.chart-title{color:var(--text-primary);margin-bottom:3px;font-size:.84rem;font-weight:600;line-height:1.25}.chart-meta{color:var(--text-secondary);margin-bottom:4px;font-size:.72rem;font-weight:500}.chart-wrapper{background:#010a1e66;border-radius:4px;padding:4px 2px}.custom-chart-tooltip{color:#fff;pointer-events:none;background:#001a47f2;border:1px solid #a855f766;border-radius:4px;padding:3px 8px;font-size:.82rem;font-weight:700;box-shadow:0 4px 12px #0006}.comments-section,.comments-container{margin-top:16px}.comments-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.comments-title{color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px;margin:0;font-size:.95rem;font-weight:700}.comments-count{color:var(--text-tertiary);font-size:.8rem;font-weight:500}.comments-list{flex-direction:column;gap:8px;display:flex}.comment-card{background:#ffffff08;border:1px solid #ffffff12;border-radius:6px;justify-content:space-between;align-items:flex-start;gap:16px;padding:10px 14px;display:flex}.comment-text{color:var(--text-primary);white-space:pre-wrap;word-break:break-word;flex:1;font-size:.88rem;line-height:1.45}.comment-date{white-space:nowrap;color:var(--text-tertiary);margin-left:auto;font-size:.76rem;font-weight:500}@media (width<=768px){.header h1{font-size:1.6rem}.search-inputs{grid-template-columns:1fr;gap:12px}.term-range{grid-template-columns:1fr}.search-btn{width:100%}.tooltip-text{width:230px;max-width:85vw;left:0;transform:translateY(4px)}.tooltip-wrap:hover .tooltip-text,.tooltip-wrap:focus-within .tooltip-text{transform:translateY(0)}.course-header{flex-direction:column;align-items:flex-start}.card-actions{grid-template-columns:1fr 1fr;gap:8px;width:100%;display:grid}.card-actions button,.card-actions a{width:100%}.course-header{min-height:48px}.header-left{padding:8px 75px 8px 12px}.expand-indicator{gap:6px;padding:0 12px}.course-group{border-radius:8px}.search-section{padding:14px}.charts-grid,.charts-grid.charts-grid-3x3{gap:10px;grid-template-columns:1fr!important}.evaluation-results,.instructor-eval-results{max-height:520px;padding:8px}.chart-container{padding:6px 8px}.comment-card{flex-direction:column;gap:6px;padding:8px 10px}.comment-text{font-size:.84rem}.comment-date{align-self:flex-end;margin-left:0;font-size:.72rem}.distribution-filter-row{flex-direction:column;align-items:stretch;gap:12px}.distribution-group-select-wrap,.distribution-ad-wrap{flex:100%;width:100%}.distribution-chip-btn{padding:6px 4px;font-size:.76rem}.distribution-checkbox-chip{justify-content:flex-start;width:100%}}@media (width<=480px){.app{padding:6px 8px}.container{padding:0 8px}.search-section{padding:12px 10px}.distribution-chips-group{border-radius:14px;padding:2px}.distribution-chip-btn{padding:5px 2px;font-size:.72rem}.distribution-checkbox-chip{padding:6px 10px;font-size:.78rem}}
