:root{--bg:#f7f8fa;--surface:#fff;--text:#1c2330;--muted:#5f6b7c;--border:#dfe3ea;--accent:#0a5cad;--accent-soft:#e6f0fa;--master:#1f77d0;--inService:#2a9d8f;--phd:#d9622b;color-scheme:light}:root[data-theme=dark]{--bg:#12161d;--surface:#1a2029;--text:#e6e9ee;--muted:#9aa5b5;--border:#2c3542;--accent:#6cb0f5;--accent-soft:#1d2c3f;--master:#5aa9f0;--inService:#5fc9ba;--phd:#f0935f;color-scheme:dark}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:system-ui,-apple-system,Segoe UI,Noto Sans TC,PingFang TC,Microsoft JhengHei,sans-serif;line-height:1.65}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{line-height:1.3}h2{margin-top:2.5rem}.container{max-width:1040px;margin:0 auto;padding:0 16px}.muted{color:var(--muted)}.site-header{background:var(--surface);border-bottom:1px solid var(--border)}.site-header .container{justify-content:space-between;align-items:center;height:56px;display:flex}.brand{color:var(--text);font-size:1.15rem;font-weight:700}.site-header nav{align-items:center;gap:20px;display:flex}.theme-toggle{border:1px solid var(--border);width:36px;height:36px;color:var(--text);cursor:pointer;background:0 0;border-radius:8px;place-items:center;padding:0;display:grid}.theme-toggle:hover{background:var(--accent-soft)}.theme-toggle svg{width:18px;height:18px}.theme-toggle .icon-sun,:root[data-theme=dark] .theme-toggle .icon-moon{display:none}:root[data-theme=dark] .theme-toggle .icon-sun{display:block}.site-footer{border-top:1px solid var(--border);color:var(--muted);margin-top:64px;padding:24px 0;font-size:.875rem}main{min-height:70vh;padding-top:32px}.hero{text-align:center;padding:40px 0 16px}.hero h1{margin:0 0 8px;font-size:2.4rem}.search{text-align:left;max-width:560px;margin:28px auto 0;position:relative}.search input{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);border-radius:10px;padding:14px 16px;font-size:1.05rem}.search input:focus{outline:2px solid var(--accent);outline-offset:1px}.search-results{background:var(--surface);border:1px solid var(--border);border-radius:10px;margin:6px 0 0;padding:0;list-style:none;overflow:hidden}.search-results:empty{display:none}.search-results a{color:var(--text);justify-content:space-between;gap:12px;padding:10px 16px;display:flex}.search-results a:hover,.search-results a:focus{background:var(--accent-soft);text-decoration:none}.search-results .empty{color:var(--muted);padding:10px 16px}.tiles{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;margin:24px 0;display:grid}.tile{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:14px 16px}.tile .label{color:var(--muted);font-size:.85rem}.tile .value{font-size:1.7rem;font-weight:700;line-height:1.3}.tile .value small{color:var(--muted);font-size:.9rem;font-weight:400}.tile .note{color:var(--muted);font-size:.8rem}.tile.master .value{color:var(--master)}.tile.inService .value{color:var(--inService)}.tile.phd .value{color:var(--phd)}.notice{background:var(--accent-soft);border-radius:10px;padding:12px 16px;font-size:.92rem}.dept-nav{flex-wrap:wrap;gap:6px 14px;font-size:.92rem;display:flex}.dept h3{margin:20px 0 6px;font-size:1rem}.dept ul{flex-wrap:wrap;gap:4px 16px;margin:0;padding:0;list-style:none;display:flex}.prof-head h1{margin:0;font-size:2rem}.chart-box{background:var(--surface);border:1px solid var(--border);border-radius:10px;height:360px;padding:12px}.chart-box.small{height:240px}.cloud{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-wrap:wrap;align-items:baseline;gap:6px 14px;padding:16px;line-height:1.4;display:flex}.table-wrap{background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.92rem}th,td{text-align:left;vertical-align:top;border-bottom:1px solid var(--border);padding:10px 12px}tr:last-child td{border-bottom:none}th{white-space:nowrap;color:var(--muted);font-weight:600}td.num,th.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}td.nowrap{white-space:nowrap}.thesis-title{font-weight:600}.thesis-sub{color:var(--muted);font-size:.85rem}.badge{color:#fff;background:var(--master);border-radius:999px;padding:0 8px;font-size:.8rem;display:inline-block}.badge.inService{background:var(--inService)}.badge.phd{background:var(--phd)}.faq h3{margin-bottom:4px}.faq p{margin-top:4px}table.rank tbody{counter-reset:rank}table.rank tbody tr:not([hidden]){counter-increment:rank}.rank-number:before{content:counter(rank);color:var(--muted)}th[data-sort]{cursor:pointer;user-select:none}th[data-sort]:hover{color:var(--accent)}th[aria-sort=ascending]:after{content:" ▲"}th[aria-sort=descending]:after{content:" ▼"}td.faint{color:var(--muted);opacity:.6}.search.inline{max-width:360px;margin:16px 0}.search.inline input{padding:10px 14px;font-size:1rem}table.rank.only-recent tbody tr[data-recent="0"]{counter-increment:none;display:none}.toggle{cursor:pointer;align-items:center;gap:8px;margin:4px 0 12px;font-size:.92rem;display:inline-flex}table.rank td:nth-child(2){min-width:9em}
