/* ALDB design, P1 "Slate & Ochre" (Documentation 2026-11-12). System fonts only, no framework, no webfonts.
   One accent (ochre). Light and dark follow prefers-color-scheme. */
:root{
  --ink:#1C2430;--ink-2:#434C58;--muted:#7A7F87;--line:#E7E3DD;--surface:#F6F4F0;--bg:#FCFBF9;--accent:#9A6A2F;--accent-soft:#F4E9D6;--logo-base:#434C58;--logo-mid:#434C58;
  --font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Apple SD Gothic Neo","Noto Sans KR",sans-serif;
  --mono:ui-monospace,SFMono-Regular,Menlo,monospace;
  --fs-hero:44px;--fs-xl:28px;--fs-l:18px;--fs-m:15px;--fs-s:13px;
  --r:6px;--max:880px;
}
@media (prefers-color-scheme:dark){:root{--ink:#EEEAE4;--ink-2:#C7C2BA;--muted:#958F86;--line:#2E3138;--surface:#22262D;--bg:#181B20;--accent:#D4A867;--accent-soft:#4A3D2A;--logo-base:#D4A867;--logo-mid:#7A7F87;}}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--ink);font:400 var(--fs-m)/1.5 var(--font);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
button{font:inherit}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}
main.wrap{min-height:60vh}
header.top{border-bottom:1px solid var(--line)}
header.top .wrap{display:flex;align-items:center;justify-content:space-between;height:60px}
.brand{display:flex;align-items:center;gap:9px;font-weight:700;font-size:21px;letter-spacing:-.5px}
.mark{height:36px;width:auto;aspect-ratio:292/68;display:block;font-family:"Archivo",system-ui,-apple-system,"Segoe UI",Arial,sans-serif}
nav a{margin-left:22px;font-size:var(--fs-s);color:var(--ink-2)} nav a:hover{color:var(--accent)}
.hb-caption{margin:6px 0 0;font-size:var(--fs-s);color:var(--muted)}
/* hero search */
.hero{padding:72px 0 18px;text-align:center}
body.q .hero{padding:24px 0 8px}
.hero h1{margin:0 0 8px;font-size:var(--fs-hero);line-height:1.1;letter-spacing:-1.2px;font-weight:700}
.hero p{margin:0 0 28px;color:var(--muted)}
body.q .hero h1,body.q .hero p{display:none}
.sbox{position:relative}
.sbox input{width:100%;height:60px;padding:0 54px 0 54px;font:500 19px var(--font);color:var(--ink);background:var(--bg);border:1.5px solid var(--line);border-radius:var(--r);outline:none;box-shadow:0 1px 2px rgba(11,27,43,.04);-webkit-appearance:none;appearance:none}
.sbox input:focus{border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}
.sbox svg{position:absolute;left:19px;top:19px;width:22px;height:22px;stroke:var(--muted)}
.sbox kbd{position:absolute;right:16px;top:19px;font:12px var(--mono);color:var(--muted);border:1px solid var(--line);border-radius:4px;padding:1px 6px}
.stats{display:flex;justify-content:center;gap:28px;margin-top:20px;font-size:var(--fs-s);color:var(--muted)}
.stats b{color:var(--ink);font-weight:600}
body.q .stats,body.q .hint{display:none}
.hint{margin-top:14px;font-size:var(--fs-s);color:var(--muted)} .hint a{border-bottom:1px dotted var(--muted);margin:0 4px;cursor:pointer}
.note{margin:36px 0 0;font-size:var(--fs-s);color:var(--muted);text-align:center}
body.q .note{display:none}
/* results */
.meta{display:flex;justify-content:space-between;font-size:var(--fs-s);color:var(--muted);padding:6px 2px}
.meta .ms{font-family:var(--mono)}
ol.res{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
ol.res li a{display:grid;grid-template-columns:1fr auto;gap:2px 16px;padding:12px 10px;border-bottom:1px solid var(--line)}
ol.res li a:hover,ol.res li.on a{background:var(--surface)}
.nm{font-weight:600;font-size:16px}
.af{grid-column:1;color:var(--ink-2);font-size:var(--fs-s)}
.np{grid-row:1/3;grid-column:2;align-self:center;text-align:right;font-size:var(--fs-s);color:var(--muted)}
.np b{display:block;font-size:18px;color:var(--ink);font-weight:600;line-height:1.1}
.empty{padding:30px;text-align:center;color:var(--muted)}
.moreRow{padding:14px 0;text-align:center}
.btn,.hb-btn{display:inline-flex;align-items:center;min-height:42px;padding:0 16px;border:1px solid var(--line);border-radius:var(--r);background:var(--bg);color:var(--ink);cursor:pointer;font-size:var(--fs-m)}
.btn:hover,.hb-btn:hover{border-color:var(--accent);color:var(--accent)}
.hb-btn--primary{background:var(--accent);border-color:var(--accent);color:var(--bg)}
.hb-btn--primary:hover{background:var(--accent);color:var(--bg);opacity:.9}
.aldb-more{margin-top:16px}
/* page head (browse) */
.pagehead{padding:36px 0 6px}
.pagehead .eyebrow{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600}
.pagehead h1{margin:6px 0 8px;font-size:var(--fs-xl);letter-spacing:-.6px}
.pagehead .lead{margin:0;max-width:62ch;color:var(--ink-2)}
.aldb-search{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0 8px}
.aldb-input,.aldb-select{font:inherit;font-size:var(--fs-m);color:var(--ink);background:var(--bg);border:1.5px solid var(--line);border-radius:var(--r);min-height:44px;padding:0 12px}
.aldb-input{flex:1 1 220px}
.aldb-input:focus,.aldb-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}
.hb-table-scroll{overflow-x:auto}
.hb-table{width:100%;border-collapse:collapse;min-width:560px}
.hb-table th{text-align:left;padding:10px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600;border-bottom:1.5px solid var(--line);white-space:nowrap}
.hb-table td{padding:10px;border-bottom:1px solid var(--line);font-size:var(--fs-m)}
.hb-tnum{font-variant-numeric:tabular-nums}
.aldb-row-link{font-weight:600} .aldb-row-link:hover{color:var(--accent)}
/* profile */
.crumb{font-size:var(--fs-s);color:var(--muted);margin:26px 0 10px} .crumb a:hover,.hb-link-more:hover{color:var(--accent)}
.hb-link-more{display:inline-block;margin-top:24px;font-size:var(--fs-s);color:var(--muted)}
.ph h1{margin:0;font-size:var(--fs-xl);letter-spacing:-.6px}
.ph .af{font-size:var(--fs-m);margin-top:4px}
.chips{margin-top:12px;display:flex;flex-wrap:wrap;gap:6px}
.chip{font-size:12px;padding:2px 9px;border:1px solid var(--line);border-radius:20px;color:var(--ink-2)}
.kpi{display:grid;grid-template-columns:repeat(3,1fr);margin:22px 0;border:1px solid var(--line);border-radius:var(--r)}
.kpi div{padding:12px 16px;border-left:1px solid var(--line)} .kpi div:first-child{border-left:0}
.kpi b{display:block;font-size:22px;font-weight:700} .kpi span{font-size:12px;color:var(--muted)}
h3{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:30px 0 10px;font-weight:600}
h4{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:22px 0 8px;font-weight:600}
.aldb-facts{margin:0 0 6px;border-left:2px solid var(--accent);padding-left:14px}
.aldb-fact{display:flex;flex-wrap:wrap;gap:2px 14px;padding:2px 0}
.aldb-fact .k{min-width:10.5rem;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);align-self:center}
.aldb-pubs{list-style:none;padding:0;margin:0}
.aldb-pubs li{padding:10px 0;border-bottom:1px solid var(--line)}
.aldb-pubs .t{font-weight:500}.aldb-pubs .m{font-size:var(--fs-s);color:var(--muted)}.aldb-pubs .m a{color:var(--accent)}
.aldb-box{margin-top:44px;border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--r);padding:18px 20px;background:var(--surface)}
.aldb-box h3{margin:0 0 6px}.aldb-box p{margin:0 0 12px}
/* academic tree */
.aldb-treebox{margin-top:8px}
.aldb-treebox__sub{margin-top:22px}
.aldb-tree-scroll{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r);background:var(--bg)}
.aldb-tree-svg{display:block;margin-inline:auto;font-family:var(--font)}
.aldb-map-svg{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:var(--r)}
.aldb-cands{margin-top:10px;padding:12px 14px;background:var(--surface);border-left:3px solid var(--line);border-radius:var(--r)}
.aldb-cands ul{margin:6px 0 0 18px}
.aldb-career{list-style:none;padding:0;margin:14px 0 0 6px;border-left:2px solid var(--line)}
.aldb-career li{position:relative;padding:4px 0 14px 20px;display:block;border:0}
.aldb-career li::before{content:"";position:absolute;left:-7px;top:9px;width:12px;height:12px;border-radius:50%;background:var(--bg);border:2px solid var(--muted)}
.aldb-career li.now::before{background:var(--accent);border-color:var(--accent)}
.aldb-career b{display:block;font-weight:600;color:var(--ink)} .aldb-career span{color:var(--ink-2);font-size:var(--fs-s)}
.aldb-treebox .hb-btn{margin-top:10px}
footer{margin-top:64px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}
footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:18px 20px 28px}
footer a:hover{color:var(--accent)}
[hidden]{display:none!important}
@media (max-width:600px){
  :root{--fs-hero:32px}
  .hero{padding:44px 0 12px}
  .sbox input{height:54px;font-size:17px;padding-right:16px}.sbox kbd{display:none}.sbox svg{top:16px}
  .stats{gap:14px}.kpi b{font-size:19px}.kpi div{padding:10px 10px}
  .aldb-fact .k{min-width:100%}
}
.aldb-treebox .hb-caption a,.aldb-pubs .m a{color:var(--accent)}
.aldb-treebox .hb-caption a{border-bottom:1px dotted var(--accent)}

.brand-sub{font-weight:500;font-size:13px;letter-spacing:0;color:var(--muted);margin-left:12px;padding-left:12px;border-left:1px solid var(--line);white-space:nowrap}
@media (max-width:640px){.brand-sub{display:none}}
