main[data-v-cf42229b]{max-width:800px;margin:0 auto;padding:var(--space-8) var(--space-5) var(--space-9)}.page-header[data-v-cf42229b]{margin-bottom:var(--space-7)}.page-header h1[data-v-cf42229b]{font-family:var(--font-serif);font-size:clamp(1.8rem,4vw,2.5rem);font-weight:400;line-height:1.2;letter-spacing:-.01em;margin-bottom:var(--space-3)}.page-header p[data-v-cf42229b]{font-size:var(--text-base);color:var(--color-text-secondary)}.course-table[data-v-cf42229b]{width:100%;border-collapse:collapse;margin-bottom:var(--space-6)}.course-table th[data-v-cf42229b]{font-family:var(--font-sans);font-weight:600;font-size:var(--text-sm);color:var(--color-text-primary);text-align:left;padding:var(--space-2) var(--space-4) var(--space-2) 0;border-bottom:2px solid var(--color-border-strong)}.course-table td[data-v-cf42229b]{padding:var(--space-3) var(--space-4) var(--space-3) 0;border-bottom:1px solid var(--color-border-subtle);font-size:var(--text-sm);color:var(--color-text-secondary)}.course-link[data-v-cf42229b]{font-family:var(--font-mono);font-weight:500;color:var(--color-text-primary);text-decoration:none;transition:color var(--anim-fast)}.course-link[data-v-cf42229b]:hover{color:var(--color-accent)}.course-name[data-v-cf42229b]{font-family:var(--font-serif)}.course-semester[data-v-cf42229b]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.05em}.count-col[data-v-cf42229b]{text-align:center;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-tertiary)}.search-hint[data-v-cf42229b]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-disabled)}.search-hint kbd[data-v-cf42229b]{display:inline-block;padding:1px 5px;font-family:var(--font-mono);font-size:var(--text-xs);background:var(--color-bg-tertiary);border:1px solid var(--color-border-subtle);border-radius:4px;color:var(--color-text-tertiary)}.search-overlay[data-v-cf42229b]{position:fixed;inset:0;z-index:100;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:flex-start;justify-content:center;padding-top:15vh}.search-panel[data-v-cf42229b]{width:min(90vw,560px);background:var(--color-bg-secondary);border:1px solid var(--color-border-subtle);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-lg);max-height:60vh;overflow-y:auto}.search-input[data-v-cf42229b]{width:100%;padding:var(--space-3) var(--space-4);background:var(--color-bg-primary);border:1px solid var(--color-border-subtle);border-radius:var(--radius-md);color:var(--color-text-primary);font-family:var(--font-sans);font-size:var(--text-base);transition:border-color var(--anim-fast)}.search-input[data-v-cf42229b]::placeholder{color:var(--color-text-tertiary)}.search-input[data-v-cf42229b]:focus{outline:none;border-color:var(--color-accent)}.search-status[data-v-cf42229b]{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-text-tertiary);padding:var(--space-4) var(--space-2)}.results-list[data-v-cf42229b]{display:flex;flex-direction:column;margin-top:var(--space-3)}.result-item[data-v-cf42229b]{display:block;padding:var(--space-3);border-radius:var(--radius-sm);text-decoration:none;transition:background var(--anim-fast)}.result-item[data-v-cf42229b]:hover{background:var(--color-bg-tertiary)}.result-meta[data-v-cf42229b]{display:flex;align-items:baseline;gap:var(--space-3)}.result-course[data-v-cf42229b]{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-accent);flex-shrink:0;min-width:5rem}.result-title[data-v-cf42229b]{font-family:var(--font-serif);font-size:var(--text-sm);color:var(--color-text-secondary)}.result-item:hover .result-title[data-v-cf42229b]{color:var(--color-text-primary)}.result-snippet[data-v-cf42229b]{margin-top:var(--space-1);padding-left:calc(5rem + var(--space-3));font-family:var(--font-mono);font-size:var(--text-xs);color:var(--color-text-tertiary);line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fade-enter-active[data-v-cf42229b],.fade-leave-active[data-v-cf42229b]{transition:opacity var(--anim-normal)}.fade-enter-from[data-v-cf42229b],.fade-leave-to[data-v-cf42229b]{opacity:0}
